网易首页 > 网易号 > 正文 申请入驻

Python 处理音频,两个重要的库

0
分享至

pyaudiosounddevice都是用于Python中音频处理和流的库,允许用户通过他们的API录制、播放和处理音频数据。 下面是对这两个库的简要介绍:


PyAudio

PyAudio 提供了 Python 绑定到 PortAudio,这是一个跨平台的音频I/O库。它允许你很容易地使用Python语言进行音频录制和播放。

特点:

  • 跨平台(工作在Unix/Linux、MacOS和Windows上)

  • 允许你直接访问声卡或其他音频接口,例如通过麦克风录制声音或者向扬声器输出声音

  • 支持阻塞和非阻塞流

  • 提供了详细的错误信息和音频流状态

典型用途:

  • 音频录制和播放

  • 音频信号处理

  • 实现音频应用,如语音识别和合成

示例代码:

import pyaudio
import wave

# 打开WAV文件
wf = wave.open('file.wav', 'rb')

# 初始化PyAudio
p = pyaudio.PyAudio()

# 打开流
stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
channels=wf.getnchannels(),
rate=wf.getframerate(),
output=True)

# 读取数据
data = wf.readframes(1024)

# 播放流
while len(data) > 0:
stream.write(data)
data = wf.readframes(1024)

# 停止流
stream.stop_stream()
stream.close()

# 关闭PyAudio
p.terminate()
SoundDevice

sounddevice库是基于PortAudio的,提供了一个简洁的Pythonic接口,用于录制和播放音频。

特点:

  • 跨平台(与PortAudio一样)

  • 提供了同步和异步的音频流接口

  • 支持NumPy,方便进行科学计算

  • 相对于PyAudio,API更加简洁和Pythonic

典型用途:

  • 实时音频处理

  • 实验心理学中的音频刺激

  • 用于科学研究的音频数据采集

示例代码:

import sounddevice as sd
import numpy as np

duration = 5.5 # seconds
frequency = 440 # Hz

# 生成一个音频信号
t = np.linspace(0, duration, int(duration * 44100), False)
audio = np.sin(2 * np.pi * frequency * t)

# 播放音频
sd.play(audio, samplerate=44100)
sd.wait() # 等待音频播放完毕
总结

两个库都能够处理音频流,但在API设计上有所不同。PyAudio 更接近底层PortAudio接口,提供了很多配置选项和详细的控制。而SoundDevice 提供了更加简化和易于使用的接口,对于需要快速上手的项目而言可能更适合。如果需要进行复杂的音频处理,或者与其他底层音频库(如Librosa或SciPy)结合使用,SoundDevice可能更合适,尤其是因为它支持NumPy数组。选择哪一个库取决于你的项目需求和个人偏好。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
白玉兰风波升级,“一言不发”的刘亦菲,终于不再顾忌所谓的体面

白玉兰风波升级,“一言不发”的刘亦菲,终于不再顾忌所谓的体面

情感大头说说
2026-06-30 00:44:17
3年4500万美元!尚帕尼成功续约马刺 继续辅佐文班亚马冲冠

3年4500万美元!尚帕尼成功续约马刺 继续辅佐文班亚马冲冠

罗说NBA
2026-06-30 05:11:36
曾经红极一时,如今却“沦为笑柄”的5种数码产品,别跟风买了!

曾经红极一时,如今却“沦为笑柄”的5种数码产品,别跟风买了!

家居设计师苏哥
2026-06-28 12:25:28
日本连最后一口气都没等到就倒了,巴西赢得残忍!

日本连最后一口气都没等到就倒了,巴西赢得残忍!

曹老师评球
2026-06-30 05:35:25
日本队1-2失利,两大罪人表现灾难级一言难尽

日本队1-2失利,两大罪人表现灾难级一言难尽

章蠞户外
2026-06-30 05:49:10
鏖战三盘闯过温网首轮!王欣瑜:第一轮抽到小威我会特别开心

鏖战三盘闯过温网首轮!王欣瑜:第一轮抽到小威我会特别开心

全网球APP
2026-06-30 00:28:57
清纯小女神:只是喜欢简单

清纯小女神:只是喜欢简单

疾跑的小蜗牛
2026-06-29 20:31:06
FIFA排名实时更新:韩国暴跌7位,法国反超西班牙升至次席

FIFA排名实时更新:韩国暴跌7位,法国反超西班牙升至次席

星耀国际足坛
2026-06-29 16:48:58
最高院:提供 “口交” “肛交”等进入式性服务,是否属卖淫行为?

最高院:提供 “口交” “肛交”等进入式性服务,是否属卖淫行为?

周军律师聊案子
2026-04-21 09:50:16
28岁女子顺产生子后意外大出血重度昏迷,确诊羊水栓塞,丈夫ICU门口打地铺:录了孩子声音一遍遍放,希望她能听到早点醒过来

28岁女子顺产生子后意外大出血重度昏迷,确诊羊水栓塞,丈夫ICU门口打地铺:录了孩子声音一遍遍放,希望她能听到早点醒过来

深圳晚报
2026-06-29 10:27:37
张柏芝私密猛料被曝后,谢霆锋王菲不装了,小儿子承受了“恶意”

张柏芝私密猛料被曝后,谢霆锋王菲不装了,小儿子承受了“恶意”

阿废冷眼观察所
2026-06-30 01:36:11
一场1-0绝杀,诞生世界杯首个16强!要赢巴西再夺冠?日本醒醒吧

一场1-0绝杀,诞生世界杯首个16强!要赢巴西再夺冠?日本醒醒吧

侃球熊弟
2026-06-29 06:07:03
1.5万公里生死线 宣判速成车死刑

1.5万公里生死线 宣判速成车死刑

铁流1988
2026-06-29 04:35:29
恭喜文班亚马!恭喜马刺!快船拒绝1.26亿续约,小卡或重回老东家

恭喜文班亚马!恭喜马刺!快船拒绝1.26亿续约,小卡或重回老东家

鸣哥说体育
2026-06-29 19:31:40
永暑岛长大了,1年建造280万平方米,南沙中心地位不可撼动

永暑岛长大了,1年建造280万平方米,南沙中心地位不可撼动

抽象派大师
2026-06-30 02:25:27
物业不让门口放鞋柜和鞋子?瞧瞧上海人的新招,干净整洁还美观!

物业不让门口放鞋柜和鞋子?瞧瞧上海人的新招,干净整洁还美观!

设计最前沿
2026-06-30 02:15:04
Shams:斯马特拒绝执行540万美元的球员选项,将成为自由球员

Shams:斯马特拒绝执行540万美元的球员选项,将成为自由球员

懂球帝
2026-06-30 02:43:04
苏提达陪同泰王抵达法国第一天,欧拉弄高调亮相,玛哈好心疼小主

苏提达陪同泰王抵达法国第一天,欧拉弄高调亮相,玛哈好心疼小主

夜深爱杂谈
2026-06-29 21:16:28
14岁被送上导演的床,17岁拍全裸写真,被操控半生,如今怎样了

14岁被送上导演的床,17岁拍全裸写真,被操控半生,如今怎样了

乐天闲聊
2026-05-27 05:30:24
女子瞒着情夫去宾馆开房,竟忘关掉手机通话,情夫听到声音崩溃

女子瞒着情夫去宾馆开房,竟忘关掉手机通话,情夫听到声音崩溃

丫头舫
2026-06-28 12:20:50
2026-06-30 07:19:00
Ai学习的老章 incentive-icons
Ai学习的老章
Ai学习的老章
3447文章数 11168关注度
往期回顾 全部

科技要闻

杀疯了!深圳一天出两家200亿具身智能公司

头条要闻

巴西2-1逆转日本 卡塞米罗头槌马丁内利96分钟绝杀

头条要闻

巴西2-1逆转日本 卡塞米罗头槌马丁内利96分钟绝杀

体育要闻

日本众将掩面痛哭 连续3届先破门却被逆转

娱乐要闻

跟风电影《给阿公的牛肉丸》开机

财经要闻

万达广场批量易主 多位投资人正式入局

汽车要闻

全新宝马iX3长轴版将于成都车展预售 四季度交付

态度原创

艺术
教育
旅游
数码
公开课

艺术要闻

16幅 冉茂芹小幅风景油画写生

教育要闻

小时候你管我叫立体图形,可现在呢?

旅游要闻

不止是打卡纪念馆,走进柯渡才读懂红军当年在云南有多不容易!

数码要闻

小米澎湃OS六月迎来功能更新 超级小爱新增赛事服务

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版