使用librosa对音频进行截取然后保存截取音频
时间: 2024-05-15 14:13:14 浏览: 228
可以使用librosa库的load函数加载音频文件,然后使用numpy数组的切片操作来截取需要的部分,最后使用librosa库的output.write_wav函数将截取的音频保存为wav文件。
以下是一个示例代码:
```python
import librosa
import numpy as np
# 加载音频文件
audio_file = 'example.wav'
y, sr = librosa.load(audio_file)
# 设置截取的起始时间和结束时间
start_time = 5 # 单位为秒
end_time = 10 # 单位为秒
# 计算截取的起始和结束样本索引
start_index = int(start_time * sr)
end_index = int(end_time * sr)
# 截取音频
audio_cut = y[start_index:end_index]
# 保存截取的音频为wav文件
output_file = 'example_cut.wav'
librosa.output.write_wav(output_file, audio_cut, sr)
```
在上面的代码中,我们首先使用librosa.load函数加载了一个名为example.wav的音频文件,并将其存储在numpy数组y中。然后,我们设置了截取的起始时间和结束时间,并计算了它们对应的样本索引。接下来,我们使用numpy数组的切片操作y[start_index:end_index]来截取需要的部分,并将其存储在另一个numpy数组audio_cut中。最后,我们使用librosa库的output.write_wav函数将截取的音频保存为名为example_cut.wav的wav文件。
阅读全文