python录制声音
时间: 2024-09-08 08:02:01 浏览: 39
在Python中,可以使用第三方库来录制音频。最常用的是`pyaudio`库,它提供了一种简单的方式来捕获麦克风输入并保存为WAV或其他音频文件格式。以下是基本步骤:
1. 安装所需库:
使用pip安装`pyaudio`:
```
pip install pyaudio
```
2. 导入必要的模块:
```python
import pyaudio
import wave
```
3. 初始化录音器:
```python
chunk = 1024 # 每次录制的数据量
fs = 44100 # 音频采样率(常见的CD质量)
duration = 5 # 录音秒数
filename = "recording.wav" # 输出音频文件名
p = pyaudio.PyAudio() # 初始化PyAudio对象
stream = p.open(format=pyaudio.paInt16, # 16位小端格式
channels=1, rate=fs,
input=True, frames_per_buffer=chunk,
stream_callback=lambda x: None) # 空函数防止阻塞
```
4. 开始录音:
```python
frames = [] # 存储音频数据的列表
def callback(in_data, frame_count, time_info, status):
frames.append(in_data)
return (None, pyaudio.paContinue)
stream.start_stream(callback=callback)
time.sleep(duration) # 记录指定时间
stream.stop_stream()
stream.close()
p.terminate()
```
5. 写入到文件:
```python
wave_file = wave.open(filename, 'wb')
wave_file.setnchannels(1)
wave_file.setsampwidth(p.get_sample_size(pyaudio.paInt16))
wave_file.setframerate(fs)
wave_file.writeframes(b''.join(frames))
wave_file.close()
```
阅读全文