我有超过一千个音频文件,我想检查他们的采样率是否为16kHz。要手动完成,它将永远需要我。有没有办法使用python检查采样率。或者有没有更好的方法在linux中做到这一点
答案 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")
希望有帮助