python编程实现录音机
时间: 2023-10-18 20:04:48 浏览: 112
实现录音机需要使用Python中的音频库。在这里我使用PyAudio这个库来实现录音机。首先需要安装PyAudio库,可以通过pip安装:
```python
pip install pyaudio
```
接下来是代码实现:
```python
import pyaudio
import wave
# 设置音频参数
CHUNK = 1024 # 每次录音的块大小
FORMAT = pyaudio.paInt16 # 音频格式
CHANNELS = 1 # 单声道
RATE = 44100 # 采样率
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()
# 将录音结果保存为WAV文件
wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(audio.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()
```
以上代码实现了5秒钟的录音,录音结果保存为WAV文件。在运行代码时,需要先输入以下命令查看电脑上的麦克风设备编号:
```python
python -m sounddevice
```
然后在代码中修改以下行,将设备编号改为自己电脑的麦克风设备编号:
```python
stream = audio.open(format=FORMAT, channels=CHANNELS,
rate=RATE, input=True, input_device_index=设备编号,
frames_per_buffer=CHUNK)
```
在运行代码时,需要注意将Python的执行权限赋予该文件:
```python
chmod +x filename.py
```
运行代码:
```python
./filename.py
```
录音结束后,会在当前目录下生成一个名为"output.wav"的WAV文件,可以使用音频播放器进行播放。
阅读全文