【问题标题】:noise reduction on multiple wav file in pythonpython中多个wav文件的降噪
【发布时间】:2018-12-11 14:35:36
【问题描述】:

我使用的代码来自 https://github.com/davidpraise45/Audio-Signal-Processing

创建一个函数来在包含大约 100 个 wav 文件的整个文件夹上运行它,但无法获得输出无法理解似乎是什么问题。

def noise_reduction(dirName):
    types = ('*.wav', '*.aif',  '*.aiff', '*.mp3', '*.au', '*.ogg')
    wav_file_list = []
    for files in types:
        wav_file_list.extend(glob.glob(os.path.join(dirName, files)))

    wav_file_list = sorted(wav_file_list)    
    wav_file_list2 = []
    for i, wavFile in enumerate(wav_file_list):
        #samples = get_samples(wavFile,)
        (Frequency, samples)=read(wavFile)
        FourierTransformation = sp.fft(samples) # Calculating the fourier transformation of the signal
        scale = sp.linspace(0, Frequency, len(samples))
        b,a = signal.butter(5, 9800/(Frequency/2), btype='highpass') # ButterWorth filter 4350
        filteredSignal = signal.lfilter(b,a,samples)
        c,d = signal.butter(5, 200/(Frequency/4), btype='lowpass') # ButterWorth low-filter
        newFilteredSignal = signal.lfilter(c,d,filteredSignal) # Applying the filter to the signal
        write(New,wavFile, Frequency, newFilteredSignal)


noise_reduction("C:\\Users\\adity\\Desktop\\capstone\\hindi_dia_2\\sad\\sad_1.wav")

【问题讨论】:

  • 变量New是什么?您的意思是要将字符串"New" 添加到您write() 的每个文件的文件名的开头吗?
  • 是的,我希望修改后的文件以 new 开头

标签: python loops wav noise-reduction


【解决方案1】:

scipy.io.wavfile.read 仅支持 WAV 格式。它无法读取aifaiffmp3auogg 文件。

scipy.io.wavfile.write 函数有四个参数,只需要三个参数。 New,wavFile 最有可能是 os.path.join(os.path.dirname(wavFile)"New"+os.path.basename(wavFile))。这将在与原始目录相同的目录中创建一个带有 New 前缀的文件。如果您想在当前目录中创建它们,请改用"New"+os.path.basename(wavFile)

您正在向函数传递文件名,而不是目录名:

noise_reduction("C:\\Users\\adity\\Desktop\\capstone\\hindi_dia_2\\sad\\sad_1.wav")

应该是:

noise_reduction("C:\\Users\\adity\\Desktop\\capstone\\hindi_dia_2\\sad")

这导致glob 模式最终变为:C:\\Users\\adity\\Desktop\\capstone\\hindi_dia_2\\sad\\sad_1.wav\\*.wav。此模式没有匹配项,除非 sad_1.wav 是一个目录并且其中包含以 .wav 结尾的文件。

【讨论】:

  • 感谢您的及时回复,但是当我运行整个目录时它被挂起,我不明白的原因。我会尝试您的解决方案并就 scipy.io 回复您
  • 嘿,我厌倦了你的解决方案,我的内核仍在运行 n 没有输出
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-08
  • 1970-01-01
  • 2013-03-24
相关资源
最近更新 更多