赞
踩
pyaudio
和sounddevice
都是用于Python中音频处理和流的库,允许用户通过他们的API录制、播放和处理音频数据。下面是对这两个库的简要介绍:
PyAudio 提供了 Python 绑定到 PortAudio,这是一个跨平台的音频I/O库。它允许你很容易地使用Python语言进行音频录制和播放。
特点:
典型用途:
示例代码:
- 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
库是基于PortAudio的,提供了一个简洁的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() # 等待音频播放完毕
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。