Помочь в настройке ПО Vosk/Kaldi

Цена договорная
30 января 2021, 20:01 • 1 отклик • 46 просмотров
Реализую
учебный проект по автоматическому распознаванию речи со следующим стеком:

1) ОС Centos
8;

2) сервер
VoIP-телефонии Asterisk v.18;

3) движок
распознавания Kaldi + сервер распознавания Vosk;

4) сервер
Apache Tomcat v.9.

5) софтфон
Zoiper v.5.5



И пытаюсь
настроить обработку голоса по схеме:

1)
аудиопоток поступает в PBX, следует звонок на софтфон;

2)
параллельно тот же поток передаётся на сервер распознавания и в real time
преобразуется в текст с помощью Kaldi;

3)
полученный текст поступает на Apache, где подвергается дальнейшей обработке
(отдельная задача, в данном проекте не учитываем)



Т.е.
Vosk/Kaldi обеспечивают потоковое распознавание по аналогии с ASR-софтом от
Google или Яндекс. Но именно с организацией такого режима у меня и возникают
проблемы. Пробовал установить движок по этому мануалу

https://voxlink.ru/kb/asterisk-configuration/kaldi-server-s-asterisk/, с
уже существующей моделью распознавания - всё удалось при том, что в руководстве
описан процесс настройки системы для перевода в текст готовых файлов. Зато
насчёт потоковой обработки с выводом текста прямо во время диалога всё
достаточно туманно, поскольку на сайте Kaldi никакой внятной инфы об этом
режиме попросту нет (по крайней мере я ничего релевантного на https://kaldi-asr.org/doc/ так
и не обнаружил). В результате возникает потребность в эксперте, который
способен:

1)
воспроизвести состав и схему взаимодействия вышеперечисленного ПО в локальной
системе;

2)
интегрировать Kaldi/Vosk на платформу Asterisk, используя существующие модели
распознавания (никакого обучения сети не требуется, берём готовые решения) для
потокового перевода речи в текст;

3)
обеспечить передачу данных с Vosk на Apache по мере получения результатов от
Kaldi;

4) описать
схему настройки распознавания в виде небольшого мануала (инструкция сугубо для
личного пользования, скрины + текстовые пояснения (при необходимости) с
максимально чётким представлением всех этапов, чтобы те или иные детали не
приходилось угадывать по звёздам или уточнять в каком-нибудь чате);

5)
предоставить файлы конфигураций Asterisk (extensions.conf и др.) в случае, если
их создание необходимо для реализации схемы распознавания (если необходимости в
них нет и обмен данными возможно организовать вне ядра Asterisk, то,
разумеется, ограничиваемся мануалом).



Задание считается выполненным после проверки и
подтверждения корректности инструкций из мануала на ПК заказчика.