Как разделить один аудиофайл на несколько файлов?

Я хочу разбить один аудиофайл на несколько аудиофайлов с помощью python и сохранить их, пики в файле разделены тишиной. Аудиофайл содержит 5 А

Форма волны приведена ниже: Форма волны

Я пробовал библиотеку 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]

ожидаемый результат - 5 разных файлов, каждый с одной буквой «А»


person Hrishikesh Vichore    schedule 17.07.2019    source источник


Ответы (1)


Я провел небольшое исследование и, наконец, получил ответ

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
person Hrishikesh Vichore    schedule 21.07.2019