https://github.com/fostroll/voice2speech
https://github.com/fostroll/voice2speech
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/fostroll/voice2speech
- Owner: fostroll
- License: cc0-1.0
- Created: 2020-08-13T10:36:43.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-08-14T19:58:16.000Z (almost 5 years ago)
- Last Synced: 2025-02-14T06:35:59.734Z (3 months ago)
- Language: Python
- Size: 19.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# voice2speech
Набор утилит для распознавания речи. Для работы нужны *ffmpeg* и доступ к
*Yandex SpeechKit* (облачный или боксовый)## Использование
```sh
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`.```sh
python check_chunks_log.py
```
Проверяет лог-файл скрипта `make_chunks.py` на наличие ошибок извлечения.```sh
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
sh decode_chunks.sh
```
Просто запускает `decode_chunks.py` в фоновом режиме.## Важно!
В скриптах отсутствует обработка ошибок вызываемых программ (*ffmpeg*, *curl*
и т.д.). Придётся либо контролировать это вручную, либо добавить обработчики.## License
***voice2speech*** is released under the Creative Commons License. See the
[LICENSE](https://github.com/fostroll/voice2speech/blob/master/LICENSE) file
for more details.