Python常用音频库

本文介绍了Python中几个常用的音频处理库,如sounddevice、PyAudio、librosa和pyAudioAnalysis,涉及安装、设备管理、音频I/O、特征提取及数据可视化等方面,特别提到了mfcc和numpy数组在音频处理中的作用。
摘要由CSDN通过智能技术生成

之前做一个Python项目,跟音频有关,具体包括录音、绘制波形以及特征分析等。为此接触到几个音频库,简单总结一下。

sounddevice与soundfile

Python sounddevice库提供了音频设备的查询、设置接口,以及音频流的输入(录音)和输出(播放功能)。函数接口简单易用,详细文档可参考https://python-sounddevice.readthedocs.io/。sounddevice库底层使用PortAudio库的接口,而PortAudio本身就支持多个平台的音频接口,如Linux的ALSA,macOS的Core Audio,以及Windows的多种API。详见http://portaudio.com/

sounddevice在播放和录音时,用到了numpy数组。sounddevice中的音频流其实就是numpy数组流。如果要操作存储在磁盘上的音频文件,就涉及到numpy数组(流)和存储格式之间的转换。这时就要用到另一个工具库,即soundfile。利用soundfile库,可以方便地将numpy数组存储到音频文件或者将音频文件加载到numpy数组中。关于soundfile库,详细文档可参考http://pysoundfile.readthedocs.org/。因此soundfile库常常和soundfile库一起配合使用。

安装

安装sounddevice:

pip install sounddevice

安装soundfile:

pip install soundfile

设备管理

安装好sounddevice后,直接运行该模块就会列出系统中可用的音频设备。这也可以用来测试sounddevice库是否工作正常。比如在本人的macOS上,其结果如下。

 python3 -m sounddevice
> 0 Built-in Microphone, Core Audio (2 in, 0 out)
< 1 Built-in Output, Core Audio (0 in, 2 out)

当然也可以在代码里列举音频设备,只需要调用query_devices():

#!/usr/bin/env python3
import sounddevice as sd
print(sd.query_devices())
python3 sd_list.py
> 0 Built-in Microphone, Core Audio (2 in, 0 out)
< 1 Built-in Output, Core Audio (0 in, 2 
  • 7
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值