Надо транскрибировать большие аудиофайлы нейросеткой у нее ограниченный размер который можно подать на вход. Для этого надо нарезать файл на части но не тупо по секундам а так что бы в разрез попала пауза в речи, любая тишина.
Попробовал использовать для этого 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:
....