Kabooks является рекурсивной аббревиатурой для «Cabooks Audiobooks Creator», который является инструментом для автоматизации процесса создания наборов данных для обучения моделей текста в речь (TTS) и речи к тексту (STT). Он основан на работе Pansori [https://arxiv.org/abs/1812.09798].
Получив аудиофайл и соответствующий текст в качестве ввода, Kabooks очистит текст, разделяя его на предложения, транскрибируйте каждый сегмент и найдет текст истинного языка в полном учебнике.
Используйте свой собственный риск.
Обязательно установил FFMPEG:
$ apt-get update
$ apt install ffmpeg$ conda create -n kabooks python=3.9 pip
$ conda activate kabooksУстановите Pytorch:
pip3 install torch torchvision torchaudioУстановите требования Kabooks:
$ pip install -r requirements.txtЭтот шаг получает файл JSON с предыдущего шага и выполняет сегментацию аудиофайла. Этот скрипт основан на сценарии, предоставленном Кейтом Ито, который любезно предоставил его по электронной почте. На этом этапе сначала создается логический список сегментов, хранящий имя файла, время начала и окончания. Затем пройдите через этот логический список, разделяя исходный звук, сохраняя каждый сегмент на диск.
Эта функциональность предоставляется сценарием с именем «audio_segmation.py» и может использоваться отдельно. Запустите скрипт, используя входной аргумент, путь аудиофайла (mp3), который будет сегментирован.
$ python segment_tools.py Ввод должен быть файл MP3, который должен быть внутри папки ввода. После выполнения сценария аудио сегменты будут генерироваться в папке WAVS, а сегменты будут иметь те же имена, что и исходный файл.
Здесь есть скрипт для использования wav2vec2. Эта функциональность предоставляется сценарием с именем "Transcribe_audios.py" и может использоваться отдельно. Запустите скрипт, используя входной аргумент входного каталога файлов WAVS, выходного файла транскрипции. Например:
$ python transcription_tools.pyВвод по умолчанию сценария - это содержимое папки WAVS. Результатом будет файл .csv (transcription.csv), содержащий транскрипцию каждого из аудиофайлов, присутствующих в папке WAVS.
На этом этапе каждая стенограмма с предыдущего шага будет сравниваться с полным текстом, относящимся к входной аудиокниге. Для каждой стенограммы скрипт возвращает предложение с наибольшим сходством, которое было найдено в полном тексте.
Результатом будет .csv (result.csv), содержащий транскрипт, исходное предложение и значение сходства, для каждого из сегментов аудио, присутствующих в папке WAVS.
$ python search_substring.pyВы также можете использовать ту же версию этого скрипта, но используя потоки:
$ python search_substring_with_threads.py --number_threads=16