fostroll / voice2speech

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

voice2speech

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

License

voice2speech is released under the Creative Commons License. See the LICENSE file for more details.

About

License:Creative Commons Zero v1.0 Universal


Languages

Language:Python 99.4%Language:Shell 0.6%