Набор утилит для распознавания речи. Для работы нужны ffmpeg и доступ к Yandex SpeechKit (облачный или боксовый)
python make_chunks.py [n_procs]
Извлекает звуковые фрагменты, соответствующие отдельным фразам из звуковых файлов при помощи ffmpeg и создаёт map-файл, описывающий временные позиции этих фрагментов.
n_procs: количество одновременно запущенных процессов. По умолчанию
используется 1
процесс. Если n_procs == 0
, то n_procs берётся на 1
больше, чем количество доступных процессоров (ядер).
NB: Может потребоваться редактирование значений переменных в скрипте.
Также надо иметь в виду, что файлы make_chunks.map
и make_chunks.log
открываются в режиме добавления. Если запускается новый цикл обработки, их
нужно предварительно удалить вручную. Кроме того надо удалить файлы результата
из каталога chunks
и временные файлы (если есть) из каталога tmp
.
python check_chunks_log.py
Проверяет лог-файл скрипта make_chunks.py
на наличие ошибок извлечения.
python decode_chunks.py
Переводит голосовые фрагменты, выделенные скриптом make_chunks.py
, в текст
при помощи Yandex SpeechKit.
В случае боксового SpeechKit'а создаётся по одному процессу для каждого
сервера (переменная servers
). Поскольку качество распознавания Яндекса
сильно ухудшается с увеличением этого параметра (видимо, загрузка сервера
растёт, время распознавания фиксировано --> качество падает), увеличивать
число процессов не рекомендуется.
Для облачного SpeechKit'а количество процессов соответствует количеству
директорий в переменной backup_dirs
. Директории, имена которых там
перечислены, должны быть созданы вручную.
Для боксового SpeechKit'а число директорий в backup_dirs
должно быть не
меньше числа серверов в переменной servers
.
NB: В скрипте необходимо отредактировать значения переменных servers
и/или cloud
, а также задать значение переменной USE_CLOUD
(установите
True
, если используете облачный SpeechKit). Возможно, дополнительно нужно
будет изменить список директорий в переменной backup_dirs
.
После завершения скрипт оставляет в каталоге tmp
некоторые служебные файлы.
Иногда это оказывается полезно. Перед следующим запуском скрипта директорию
tmp
следует очистить, иначе скрипт завешится с ошибкой.
sh decode_chunks.sh
Просто запускает decode_chunks.py
в фоновом режиме.
В скриптах отсутствует обработка ошибок вызываемых программ (ffmpeg, curl и т.д.). Придётся либо контролировать это вручную, либо добавить обработчики.
voice2speech is released under the Creative Commons License. See the LICENSE file for more details.