如何使用python录音并转换为pcm格式
时间: 2024-04-16 11:29:24 浏览: 126
要使用Python录音并将其转换为PCM格式,您可以使用PyAudio库进行录音,并使用wave库将其转换为PCM格式。以下是一个简单的示例代码:
```python
import pyaudio
import wave
# 录音参数
CHUNK = 1024 # 每次读取的音频帧数
FORMAT = pyaudio.paInt16 # 采样位数
CHANNELS = 1 # 声道数
RATE = 16000 # 采样率
RECORD_SECONDS = 5 # 录音时长
WAVE_OUTPUT_FILENAME = "output.wav" # 输出文件名
# 初始化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("录音结束.")
# 停止录音
stream.stop_stream()
stream.close()
audio.terminate()
# 保存录音文件
wave_file = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
wave_file.setnchannels(CHANNELS)
wave_file.setsampwidth(audio.get_sample_size(FORMAT))
wave_file.setframerate(RATE)
wave_file.writeframes(b''.join(frames))
wave_file.close()
print("已保存为PCM格式的音频文件:", WAVE_OUTPUT_FILENAME)
```
上述代码使用了PyAudio库进行录音,将每次读取的音频数据存储到frames列表中。然后使用wave库创建一个Wave文件,设置相应的参数,并将frames中的数据写入文件中。
请注意,上述代码中设置了采样率为16000,采样位数为16位,声道数为1。您可以根据需要进行相应的修改。
希望对您有帮助!如果您还有其他问题,请随时提问。
阅读全文