python - 下采样 wav 音频文件

标签 python audio wav wave downsampling

我必须在不使用任何外部 Python 库的情况下将 wav 文件从 44100Hz 下采样到 16000Hz,因此最好使用 wave 和/或 audioop。我尝试使用 setframerate 函数将 wav 文件的帧速率更改为 16000,但这只会减慢整个录制速度。我怎样才能将音频文件下采样到 16kHz 并保持相同的音频长度?

最佳答案

您可以使用 Librosa 的 load() 函数,

import librosa    
y, s = librosa.load('test.wav', sr=8000) # Downsample 44.1kHz to 8kHz

安装 Librosa 的额外努力可能值得安心。

专业提示:在 Anaconda 上安装 Librosa 时,您需要 install ffmpeg同样,所以

pip install librosa
conda install -c conda-forge ffmpeg

这可以避免 NoBackendError() 错误。

关于python - 下采样 wav 音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30619740/

相关文章:

python - 增加/减少 WAV 文件 Python 的播放速度

iphone - 我们可以传输 WAV 音频格式吗

python - gcutil moveinstances 由于 "KeyError: u' CPUS 而失败”

python - Python 中的对数不准确

python - 在 python 中加载音频波形文件。值错误: too many values to unpack

audio - 为 WebM 视频添加静音轨道

C++ 游戏音效

javascript - Python/Flask/HTML - 在新窗口而不是主页中呈现 HTML

python - 在 pymunk 中在动态体和移动静态体之间创建 DampedRotarySpring

audio - 获取YouTube的所有媒体链接,而无需使用flashgot,youtube-dl或任何工具