Python - 录制和播放麦克风输入

时间:2017-10-16 10:44:02

标签: python audio

我正在开发一个从用户接收音频的应用程序(带麦克风)并播放它。有没有人有一种方法/模块可以将音频作为对象(而不是.wav / .mp3)存储在麦克风中?

顺便说一下,它在Windows上,如果重要的话。

谢谢大家的帮助!

1 个答案:

答案 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()
相关问题