python 保存音频文件
时间: 2024-09-10 17:09:26 浏览: 81
在Python中,你可以使用各种库来保存音频文件,其中最常用的是`pydub`和`wave`库。以下是通过这两个库简单保存WAV格式音频文件的基本步骤:
1. 使用`pydub`:
```python
from pydub import AudioSegment
# 加载音频数据
audio = AudioSegment.from_mp3("input.mp3")
# 保存为WAV文件
audio.export("output.wav", format="wav")
```
2. 使用`wave`:
```python
import wave
# 创建一个WAVE文件
with wave.open("output.wav", "wb") as wav_file:
# 设置参数,如样本位数(8或16位)、采样率、声道数等
wav_file.setparams((1, 2, 44100, len(your_audio_data), "NONE", "not compressed"))
# 将音频数据写入文件
wav_file.writeframes(your_audio_data)
```
这里的`your_audio_data`应该是从其他来源获取的音频数据,比如从流中读取。
相关问题
Python 删除音频文件的偶数秒保存新的音频
可以使用 Python 的音频处理库 pydub,具体实现代码如下:
```python
from pydub import AudioSegment
# 读取音频文件
audio = AudioSegment.from_file("audio.mp3", format="mp3")
# 删除偶数秒
new_audio = audio[::2]
# 保存新的音频文件
new_audio.export("new_audio.mp3", format="mp3")
```
这段代码可以将原始音频文件 "audio.mp3" 中的偶数秒删除,并保存为新的音频文件 "new_audio.mp3"。
python 保存numpy格式音频文件
在Python中,可以使用`numpy`库处理数组数据,而要保存音频文件通常需要`scipy.io.wavfile`模块。以下是如何将`numpy`数组转换为WAV格式并保存到文件:
```python
import numpy as np
from scipy.io import wavfile
# 假设你已经有了一个numpy数组audio_data,它包含了音频样本
# audio_data是一个形状为 (num_samples, num_channels) 的二维数组
# 如果单声道,num_channels 就是1;如果立体声,通常是2
# 音频采样率,比如44100 Hz
sample_rate = 44100
# 将numpy数组转换为WAV所需的格式
audio_data *= 32767 / np.max(np.abs(audio_data)) # 范围调整至 -32767 到 +32767(16位PCM)
# 写入wav文件
wavfile.write('output_audio.wav', sample_rate, audio_data.astype(np.int16))
阅读全文