python sounddevice 录制音乐并且保存为文件
时间: 2024-10-06 14:00:35 浏览: 30
`sounddevice`是Python的一个库,用于音频录制、播放和实时处理。如果你想要使用它来录制音乐并保存到文件,可以按照以下步骤操作:
1. 首先,需要安装`sounddevice`库。如果尚未安装,可以通过pip来安装:
```
pip install sounddevice
```
2. 导入必要的库:
```python
import sounddevice as sd
import numpy as np
```
3. 设置录音参数,比如采样率(sampling rate)、帧长度(frames per buffer)和声道数:
```python
fs = 44100 # 一般CD品质,可自定
duration = 5 # 记录时间,单位秒
nchannels = 2 if you_want_stereo else 1
```
4. 开始录制,并将数据存储到numpy数组中:
```python
data = sd.rec(int(duration * fs), samplerate=fs, channels=nchannels)
```
5. 确保录音完成后再停止:
```python
sd.wait()
```
6. 将numpy数组的数据保存为WAV文件:
```python
from scipy.io.wavfile import write
write('recording.wav', fs, data.T) # T用于转换单声道为立体声,若不需要则去掉
```
完整的示例代码:
```python
import sounddevice as sd
import numpy as np
from scipy.io.wavfile import write
# 参数设置
fs = 44100
duration = 5
nchannels = 2 # 可选参数,1 for mono, 2 for stereo
# 开始录音
data = sd.rec(int(duration * fs), samplerate=fs, channels=nchannels)
# 停止录音
sd.wait()
# 保存为wav文件
write('recording.wav', fs, data.T)
```
运行这段代码后,会有一个名为`recording.wav`的文件在当前目录下,记录了所录制的音乐。
阅读全文