这段代码使用 Python 中的 Pyaudio 库和 wave 库实现了录音功能。首先,通过引入 Pyaudio 库和 wave 库,设置了一些参数,如缓存区帧数、数据流采样深度、声卡通道和采样率等。然后,创建了一个 Pyaudio 对象,并使用 open 方法打开一个数据流。接着开始录音,并将每次读取的样本数据添加到一个列表中。最后,停止数据流,关闭声卡,终止 Pyaudio 对象。

需要注意的是,这段代码只是实现了录音功能,并没有保存录音文件。如果需要保存录音文件,可以使用 wave 库的相关方法将列表中的样本数据写入到一个 .wav 文件中。

import pyaudio # 导入 Pyaudio 库
import wave # 导入 wave 库

CHUNK = 1024 # 设定缓存区帧数为 1024
FORMAT = pyaudio.paInt16 # 设定数据流采样深度为 16 位
CHANNELS = 2 # 设置声卡通道为 2
RATE = 44100 # 设置采样率
RECORD_SECONDS = 5 # 设置记录秒数

pa = pyaudio.PyAudio() # 实例化一个 Pyaudio 对象
stream = pa.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True, frames_per_buffer=CHUNK)
print('* recording') # 打印开始'录音'标志
frames = [] # 创建一个新列表,用于存储采集到的的数据

# 开启循环采样直至采集到所需的样本数量
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
    data = stream.read(CHUNK) # 从数据流中读取样本
    frames.append(data) # 将该样本记录至列表中

print('* done recording') # 打印'完成录音'标志
stream.stop_stream() # 关闭数据流
stream.close() # 关闭声卡
pa.terminate() # 终止 PyAudio
Python录音代码:使用Pyaudio库实现音频采集

原文地址: https://www.cveoy.top/t/topic/mxt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录