使用 python 检查音频采样率
Check audio's sample rate using python
我有超过一千个音频文件,我想检查它们的采样率是否为 16kHz。手动完成它会花费我永远。有没有办法使用 python 检查采样率?
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 ....
对于 .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
我最终遇到来自 python 的 wave 包的未知文件格式错误。 wave-error
或者 python 中的 sox 包装器对我有用。
pysox
!pip install sox
import sox
sox.file_info.sample_rate("file1.wav")
希望对您有所帮助
!pip 安装 pydub
- 从 pydub.utils 导入媒体信息
- info=mediainfo("abc.wav")
- 打印(信息)
我有超过一千个音频文件,我想检查它们的采样率是否为 16kHz。手动完成它会花费我永远。有没有办法使用 python 检查采样率?
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 ....
对于 .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
我最终遇到来自 python 的 wave 包的未知文件格式错误。 wave-error
或者 python 中的 sox 包装器对我有用。 pysox
!pip install sox
import sox
sox.file_info.sample_rate("file1.wav")
希望对您有所帮助
!pip 安装 pydub
- 从 pydub.utils 导入媒体信息
- info=mediainfo("abc.wav")
- 打印(信息)