2016-07-17 8 views
0

음성 녹음에서 노이즈를 필터링하고 정상화하고 싶습니다. 현재 저는 Butterworth 밴드 패스 필터로 고심하고 있습니다.내 코드에 Butterworth 필터를 적용하는 방법은 무엇입니까?

내 코드에 어떻게 적용합니까? (저는 Python을 처음 사용합니다)

from numpy import nditer 
from pydub.audio_segment import AudioSegment 
from scikits.audiolab import wavread 

from scipy import signal 

# Stereo to mono 
stereo_sound = AudioSegment.from_wav('voice.wav') 
mono_sound = stereo_sound.set_channels(1) 
mono_sound.export('voice_mono.wav', format='wav') 

podcast = wavread('voice.wav') 

for frame in podcast: 
    print(frame) 

print("\n") 
print("\n") 


# Read mono file 
podcast = wavread('voice_mono.wav') 
frames = podcast[0] 
max_iter = 2000 
i = 0 
for frame in nditer(frames): 
    i += 1 
    if i < max_iter: 
     print(frame) 


# Apply Butterworth filter 

# Do Butterworth filter and save as new wav 
b, a = signal.butter(4, 100, 'bandpass', analog=True) 

고마워요!

답변

0

먼저 numpy, pydub, scikits 및 scipy가 설치되어 있는지 확인할 수 있습니다. 그런 다음이 코드로 함수를 만들고 오디오 파일을 입력으로 사용할 수 있습니다.