python实现录音
时间: 2024-10-26 15:03:45 浏览: 26
在 Python 中,你可以使用内置的 `wave` 和 `pyaudio` 库来进行录音。下面是一个简单的例子,展示了如何使用 `pyaudio` 来录制音频并将结果保存为 `.wav` 文件:
首先安装所需的库(如果还没有安装):
```bash
pip install pyaudio wave
```
然后,你可以编写如下的代码来实现录音功能:
```python
import pyaudio
import wave
# 定义音频设置
chunk_size = 1024 # 录音块大小
sample_rate = 44100 # 采样率
seconds_to_record = 5 # 记录秒数
# 创建 PyAudio 对象
p = pyaudio.PyAudio()
# 获取麦克风输入流
stream = p.open(format=pyaudio.paInt16,
channels=1,
rate=sample_rate,
input=True,
frames_per_buffer=chunk_size)
# 创建一个 WaveFile 对象来保存录音
output_file = wave.open("recording.wav", 'wb')
output_file.setnchannels(1)
output_file.setsampwidth(p.get_sample_size(pyaudio.paInt16))
output_file.setframerate(sample_rate)
frames = []
# 开始录音
for i in range(int(seconds_to_record * sample_rate // chunk_size)):
data = stream.read(chunk_size)
frames.append(data)
# 关闭输入流
stream.stop_stream()
stream.close()
# 写入文件
output_file.writeframes(b''.join(frames))
# 关闭 WaveFile
output_file.close()
# 清理
p.terminate()
```
这个脚本将录制指定秒数的音频,并保存到当前目录下名为 "recording.wav" 的文件中。请注意,录音的质量和效果取决于你的麦克风质量和系统的声卡支持。
阅读全文