我正在开发一个从用户接收音频的应用程序(带麦克风)并播放它。有没有人有一种方法/模块可以将音频作为对象(而不是.wav / .mp3)存储在麦克风中?
顺便说一下,它在Windows上,如果重要的话。
谢谢大家的帮助!
答案 0 :(得分:2)
pyaudio
可用于将音频存储为流对象。
在Windows上,您可以pyaudio
python -m pip install pyaudio
以下是从pyaudio site获取的示例,该示例从麦克风获取音频持续5秒,然后将音频存储为流对象并立即播放。
您可以修改以存储不同持续时间的流对象,然后进行操作然后再播放。 注意:持续时间的增加会增加内存需求。
"""
PyAudio Example: Make a wire between input and output (i.e., record a
few samples and play them back immediately).
"""
import pyaudio
CHUNK = 1024
WIDTH = 2
CHANNELS = 2
RATE = 44100
RECORD_SECONDS = 5
p = pyaudio.PyAudio()
stream = p.open(format=p.get_format_from_width(WIDTH),
channels=CHANNELS,
rate=RATE,
input=True,
output=True,
frames_per_buffer=CHUNK)
print("* recording")
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK) #read audio stream
stream.write(data, CHUNK) #play back audio stream
print("* done")
stream.stop_stream()
stream.close()
p.terminate()