使用python检查音频的采样率

时间:2017-04-19 08:52:58

标签: python audio sample-rate

我有超过一千个音频文件,我想检查他们的采样率是否为16kHz。要手动完成,它将永远需要我。有没有办法使用python检查采样率。或者有没有更好的方法在linux中做到这一点

3 个答案:

答案 0 :(得分:4)

Python有一个builtin module dealing with WAV files.

您可以编写一个简单的脚本来迭代某些目录中的所有文件。一般来说:

import os
import wave
for file_name in os.listdir(FOLDER_PATH):
    with wave.open(file_name, "rb") as wave_file:
        frame_rate = wave_file.getframerate()
        .... DO WHATEVER ....

答案 1 :(得分:0)

对于.wav文件,解决方案可能是:

from scipy.io.wavfile import read as read_wav
import os
os.chdir('path') # change to the file directory
sampling_rate, data=read_wav("filename.wav") # enter your filename
print sampling_rate

答案 2 :(得分:0)

我最终从python的wave包中得到了未知的文件格式错误。 wave-error

或者,python中的sox包装器对我有用。 pysox

!pip install sox
import sox
sox.file_info.sample_rate("file1.wav")

希望有帮助