librosa写音频文件
时间: 2023-09-04 08:16:49 浏览: 214
Python实现音频转换为MFCC谱图示例代码 使用librosa
5星 · 资源好评率100%
librosa可以用来读取音频文件,但是不能直接用来写入音频文件。如果你想将一段音频数据写入到一个音频文件中,可以使用Python的标准库`wave`或者第三方库`soundfile`。
下面是使用`wave`库将音频数据写入到.wav文件的示例代码:
```python
import wave
# 音频参数
n_channels = 1 # 声道数
sample_width = 2 # 采样宽度(字节数)
frame_rate = 44100 # 采样率(每秒采样次数)
n_frames = 44100 # 音频帧数
comptype = "NONE" # 压缩类型
compname = "not compressed" # 压缩名称
# 音频数据
audio_data = ...
with wave.open("output.wav", "wb") as wf:
wf.setnchannels(n_channels)
wf.setsampwidth(sample_width)
wf.setframerate(frame_rate)
wf.setnframes(n_frames)
wf.setcomptype(comptype, compname)
wf.writeframes(audio_data)
```
其中,`audio_data`是一个包含音频数据的字节串,可以通过`numpy`库将音频数据转换为字节串。
如果你想写入其他格式的音频文件,比如.mp3或.flac等,可以使用`soundfile`库。这个库支持多种音频格式,并且可以直接读写音频数据。下面是一个使用`soundfile`库写入.flac文件的示例代码:
```python
import soundfile as sf
# 音频参数
samplerate = 44100 # 采样率(每秒采样次数)
# 音频数据
audio_data = ...
sf.write("output.flac", audio_data, samplerate)
```
其中,`audio_data`是一个包含音频数据的一维数组,可以是浮点数或整数。`samplerate`是采样率。
阅读全文