python如何保存返回的音频为文件
时间: 2023-09-20 16:06:01 浏览: 90
在Python中,保存返回的音频为文件有多种方法,具体取决于你使用的Python库和音频格式。以下是一些常见的方法:
1. 使用PyAudio库:
```python
import pyaudio
import wave
# 设置参数
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 16000
CHUNK = 1024
RECORD_SECONDS = 5
# 初始化PyAudio
audio = pyaudio.PyAudio()
# 开始录音
stream = audio.open(format=FORMAT, channels=CHANNELS,
rate=RATE, input=True,
frames_per_buffer=CHUNK)
frames = []
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(data)
# 停止录音
stream.stop_stream()
stream.close()
audio.terminate()
# 保存音频文件
wf = wave.open("output.wav", 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(audio.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()
```
2. 使用SciPy库:
```python
from scipy.io import wavfile
# 生成音频数据
rate = 16000
data = ...
# 保存音频文件
wavfile.write("output.wav", rate, data)
```
3. 使用pydub库:
```python
from pydub import AudioSegment
# 生成音频数据
data = ...
# 转换为AudioSegment对象
sound = AudioSegment(data=data, sample_width=2, channels=1, frame_rate=16000)
# 保存音频文件
sound.export("output.wav", format="wav")
```
这些方法中,第一个方法使用了PyAudio库来录制音频,并使用wave库将音频数据保存为.wav文件;第二个方法使用了SciPy库来生成音频数据,并使用wavfile库将音频数据保存为.wav文件;第三个方法使用了pydub库将音频数据转换为AudioSegment对象,并将其保存为.wav文件。
阅读全文