[python] 파이썬으로 오디오 파일의 팝/클릭 소리를 자동으로 제거하는 방법
팝 또는 클릭 소리는 오디오 파일에서 원하는 품질을 얻기 위해 제거해야 할 수 있는 일반적인 문제입니다. 이 문제를 해결하기 위해 파이썬을 사용하여 오디오 파일에서 팝/클릭 소리를 자동으로 제거하는 방법을 알아보겠습니다.
필요한 패키지 설치
이 작업을 수행하기 위해 pydub
패키지와 numpy
패키지가 필요합니다. 다음 명령을 사용하여 설치할 수 있습니다.
pip install pydub numpy
코드 예시
다음은 오디오 파일에서 팝/클릭 소리를 제거하기 위한 간단한 파이썬 코드의 예시입니다.
from pydub import AudioSegment
import numpy as np
def remove_clicks(audio_file):
audio = AudioSegment.from_file(audio_file, format="wav")
samples = np.array(audio.get_array_of_samples())
max_value = np.max(samples) # 최대값을 찾습니다.
threshold = max_value * 0.8 # 임계값을 설정합니다.
# 팝/클릭 소리를 제거합니다.
for i in range(len(samples)):
if abs(samples[i]) > threshold:
samples[i] = 0
# 수정된 샘플로 오디오를 만듭니다.
modified_audio = AudioSegment(samples.tobytes(), frame_rate=audio.frame_rate,
sample_width=audio.sample_width,
channels=audio.channels)
# 수정된 오디오를 파일로 저장합니다.
modified_audio.export("modified_audio.wav", format="wav")
# 팝/클릭 소리를 제거할 오디오 파일을 지정합니다.
audio_file = "audio.wav"
# 팝/클릭 소리 제거 함수를 호출합니다.
remove_clicks(audio_file)
위의 코드는 주어진 오디오 파일에서 샘플 값을 확인하고, 임계값을 기준으로 팝/클릭 소리를 제거합니다. 그런 다음 수정된 샘플로 오디오를 만들고 파일로 저장합니다. 수정된 오디오 파일은 "modified_audio.wav"
로 저장됩니다.
결론
이것은 파이썬을 사용하여 오디오 파일의 팝/클릭 소리를 자동으로 제거하는 간단한 방법입니다. 이 코드를 사용하여 오디오 파일의 품질을 향상시키고 깨끗한 사운드를 얻을 수 있습니다.