如何将单个音频文件拆分为多个文件?

Hri*_*ore 3 python audio signal-processing pydub librosa

我想使用python将单个音频文件拆分为多个音频文件并保存它们,文件中的峰值被静音隔开。音频文件包含 5 个 A

波形如下: 波形

我已经尝试了相同的 librosa 库和 pydub 代码我也提到了这个链接:https ://gist.github.com/kylemcdonald/c8e62ef8cb9515d64df4

但它正在将文件切割成 1 秒的相等间隔,我不想要那样。我想在静音的基础上拆分文件

import librosa as l
from scipy.io import wavfile
audio = l.load("D:/Downloads/Voice_a.wav")[0]
x = l.effects.trim(audio, top_db = 50)[0]
Run Code Online (Sandbox Code Playgroud)

预期输出是 5 个不同的文件,每个文件都有一个“A”

Hri*_*ore 7

我做了一些研究,终于得到了答案

def split(filepath):
    sound = AudioSegment.from_wav(filepath)
    dBFS = sound.dBFS
    chunks = split_on_silence(sound, 
        min_silence_len = 500,
        silence_thresh = dBFS-16)
    return chunks
Run Code Online (Sandbox Code Playgroud)