python录制pcm语音
时间: 2023-06-21 11:13:46 浏览: 104
要在Python中录制PCM语音,可以使用Python的音频处理库PyAudio。以下是一个简单的示例代码:
```python
import pyaudio
import wave
# 设置参数
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 16000
CHUNK = 1024
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "output.pcm"
# 初始化PyAudio
audio = pyaudio.PyAudio()
# 打开音频流
stream = audio.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK)
print("开始录音...")
# 录制音频
frames = []
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(data)
print("录音结束!")
# 关闭音频流和PyAudio
stream.stop_stream()
stream.close()
audio.terminate()
# 保存音频到文件
waveFile = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
waveFile.setnchannels(CHANNELS)
waveFile.setsampwidth(audio.get_sample_size(FORMAT))
waveFile.setframerate(RATE)
waveFile.writeframes(b''.join(frames))
waveFile.close()
```
这将录制5秒的单声道16kHz PCM音频并将其保存到名为`output.pcm`的文件中。如果需要使用其他格式,可以使用`waveFile.setsampwidth()`函数设置样本大小,并相应地更改文件扩展名。