python
有多个音频处理库,适合不同场景。1. pydub适合剪辑拼接等简单编辑,依赖ffmpeg,支持mp3、wav等格式;2. librosa用于音乐分析,如节奏检测、频谱分析,常用于机器学习特征提取;3. soundfile和pyaudio支持文件读写及实时录音播放,适合底层操作;4. numpy、scipy用于信号运算,matplotlib用于可视化,speechrecognition实现语音识别,torchaudio/tensorflow audio用于深度学习,各库组合使用能满足多样化需求。
Python在音频处理方面有不少实用的库,能满足从基础播放到复杂分析的各种需求。如果你是做音乐分析、语音识别或者简单的剪辑拼接,都能找到合适的工具。
1.
PyDub:适合入门和简单编辑
PyDub 是一个非常容易上手的音频处理库,底层依赖于 FFmpeg,但封装得很友好。它特别适合做一些常见的操作,比如裁剪、拼接、格式转换等。
安装时需要先安装 FFmpeg(可以通过系统包管理器或官网下载)
支持多种格式导入导出,如 MP3、WAV、OGG 等
示例:加载一个文件并切掉前5秒
注意点
:虽然功能强大,但它不是为实时音频处理设计的。
立即学习
“
Python免费学习笔记(深入)
”;
2.
LibROSA:专注于音乐和音频分析
如果你想做频谱分析、节奏检测、音高识别之类的任务,LibROSA 是首选。它是学术圈常用的工具,尤其适合机器学习中音频特征提取。
Python 3.14.3
微软官方的 Python 扩展,是 VS Code 安装量最高的扩展(209M+)。集成 IntelliSense(通过 Pylance)、调试(通过 Python Debugger)、代码检查、格式化、重构和单元测试等功能。支持 Jupyter Notebook、虚拟环境管理和多 Python 版本切换。
下载
支持 WAV、MP3、OGG 等格式(需配合 FFmpeg)
提供 STFT、梅尔频谱、节拍追踪等功能
可以结合 NumPy 和 Matplotlib 做可视化
建议
:初学者可以先从读取音频、绘制波形图开始练手。
3.
SoundFile & PyAudio:更底层的操作支持
如果你需要直接读写音频文件或进行实时录音/播放,这两个库会更适合。
SoundFile
:基于 libsndfile,擅长读写各种常见音频格式,接口简洁。
PyAudio
:用于访问 PortAudio,能实现麦克风录音、扬声器播放等功能。
注意事项
:
PyAudio 在某些平台上可能需要手动编译安装
实时播放录音适合做交互类项目,比如语音
聊天软件
原型
4.
其他相关库(按需选用)
根据具体需求,还有一些辅助库可以考虑:
NumPy + SciPy
:用于音频信号的数学运算和滤波
matplotlib
:画频谱图、波形图
SpeechRecognition
:语音转文字,支持 Google、Sphinx 等引擎
TorchAudio / TensorFlow Audio
:深度学习框架中的音频模块
基本上就这些常用库了。不同项目需求不一样,选对工具能省不少力气。比如剪辑用 PyDub,分析用 LibROSA,录音用 PyAudio,数据处理用 NumPy,组合起来就很灵活。
from pydub import AudioSegment
audio = AudioSegment.from_mp3("music.mp3")
cut_audio = audio[5000:] # 切掉前5秒
cut_audio.export("cut_music.mp3", format="mp3")import librosa
y, sr = librosa.load("music.mp3") # 加载音频
tempo, _ = librosa.beat.beat_track(y=y, sr=sr) # 检测节奏
print(tempo)import soundfile as sf
data, samplerate = sf.read('music.wav') # 读取wav文件
sf.write('output.wav', data, samplerate) # 写入新文件