python实现浮点数格式保存wav音频
时间: 2024-10-27 19:09:21 浏览: 24
.TXT波形数据转.WAV音频格式python实现-小程序
在Python中,你可以使用`wave`库来操作WAV文件,特别是`numpy`库用于处理数字音频流和浮点数。以下是一个简单的步骤,展示如何将浮点数数组转换成WAV格式:
首先,确保已安装`numpy`和`pydub`库,分别用于数值处理和音频操作:
```bash
pip install numpy pydub
```
然后,你可以按照以下代码片段操作:
```python
import numpy as np
from pydub import AudioSegment
# 创建一个示例浮点数数组,代表音频数据
sample_rate = 44100 # 音频采样率,通常WAV为44.1kHz 或 48kHz
duration_seconds = 5 # 音频时长
audio_data = np.sin(np.linspace(0, 2 * np.pi * 440, sample_rate * duration_seconds)) # 正弦波示例,频率为440Hz
# 将浮点数数组归一化到0-1之间
audio_data = audio_data / np.max(audio_data)
# 转换为16位整型数据,这是常见的WAV音频格式
int_audio_data = (audio_data * 32767).astype(np.int16)
# 创建AudioSegment对象
audio_segment = AudioSegment.from_array(int_audio_data.tobytes(), "S16")
# 写入WAV文件
output_wav_file = "output.wav"
audio_segment.export(output_wav_file, format="wav")
```
这个例子中,我们首先生成了一个正弦波,然后将其转换为16位整型数据,最后保存为WAV文件。
阅读全文