theurs
@theurs

Как порезать аудио файл на куски примерно одного размера с разрезами в местах паузы в речи?

Надо транскрибировать большие аудиофайлы нейросеткой у нее ограниченный размер который можно подать на вход. Для этого надо нарезать файл на части но не тупо по секундам а так что бы в разрез попала пауза в речи, любая тишина.

Попробовал использовать для этого pydub но похоже что он не может работать с большими файлами. 3 часовая запись приводит его к ошибке переполнения памяти.
Небольшие записи режутся но медленно очень.

Может есть еще что-нибудь.

from pydub import AudioSegment 
from pydub.silence import split_on_silence 

def silence_based_conversion(path = "1.wav"):
    chink_size = 50
    output_name = "output"

    # тут стабильно умирает на больших файлах, сжатый звук не помогает
    song = AudioSegment.from_wav(path)
    #song = AudioSegment.from_ogg(path)

    # это работает медленно даже на не очень больших записях
    chunks = split_on_silence(song,
        min_silence_len = 500,
        silence_thresh = -16
    )

    i = 0
    for chunk in chunks:
....
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 1
theurs
@theurs Автор вопроса
нашел альтернативный вариант

ffmpeg -i «input.mov» -af silencedetect=noise=-30dB:d=0.5 -f null - 2> vol.txt
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 08:04
1 руб./за проект
22 нояб. 2024, в 06:06
1500 руб./в час
22 нояб. 2024, в 06:04
1 руб./за проект