Установка и использование Kaldi сервера вместе с Астериск
Иногда встречаются задачи, когда необходимо использовать различные сервисы распознавания речи. Поскольку web сервисы используют плату за оказание таких услуг, то в данной статье рассмотрим бесплатный способ без внешних сервисов. В рамках этой статьи опишем процесс установки докера и запуск контейнера с сервером распознавания речи. Немного опишем про сервис Kaldi, который будет распознавать речь в текст, […]
Иногда встречаются задачи, когда необходимо использовать различные сервисы распознавания речи. Поскольку web сервисы используют плату за оказание таких услуг, то в данной статье рассмотрим бесплатный способ без внешних сервисов. В рамках этой статьи опишем процесс установки докера и запуск контейнера с сервером распознавания речи. Немного опишем про сервис Kaldi, который будет распознавать речь в текст, а также приведем пример как это можно использовать в Asterisk.
Вся установка докера разделяется на два способа:
- Установка из репозиториев
- Установка из исходников
Для начала разберем установку из репозиториев. Она начинается с подключения дополнительных репозиториев, откуда будет производиться скачивание исходников. Чтобы добавить нужные репы скачаем пакет yum-utils. А с помощью yum-config-manager добавим нужный репозиторий.
# yum install -y yum-utils
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# yum-config-manager --enable docker-ce-nightly
# yum-config-manager --enable docker-ce-test
Теперь начнём с установку докера. Она выполняется с помощью менеджера пакетов yum.
# yum install docker-ce docker-ce-cli containerd.io
Осталось запустить службу докера и добавить его в автозагрузку.
# systemctl start docker
# systemctl enable docker
Теперь будет описана установка из rpm пакета.
Как и в прошлом варианте, нам необходимо установить несколько пакетов:
- docker-ce
- docker-ce-cli
- containerd.ioэ
Для этого скачиваем с помощью wget rpm пакеты по этой ссылке.
Теперь с помощью yum их устанавливаем.
# yum install /path/to/rpm/file/containerd.io-1.2.0-3.el7.x86_64.rpm
# yum install /path/to/rpm/file/docker-ce-19.03.9-3.el7.x86_64.rpm
# yum install /path/to/rpm/file/docker-ce-cli-19.03.9-3.el7.x86_64.rpm
И как в примере выше запускаем службу и добавляем в автозагрузку
# systemctl start docker
# systemctl enable docker
Сервер Kaldi
Kaldi — инструмент для распознавания речи с открытым исходным кодом. Особенность проекта состоит в современном и гибком коде, написанном на C ++. Код легко модифицировать и дополнять.
Немного описав, что такое Kaldi, можно приступать к его установке.
Установку из исходников, в этой статье рассматривать не будем, с ней вы можете ознакомиться на страничке в github перейдя по этой ссылке.
Сейчас будем запускать докер-контейнер, в котором работает утилита. Команда взята с git странички разработчика alphacep
# docker run -d -p 2700:2700 alphacep/kaldi-ru:latest
Контейнер используется для распознавания русской речи. Если нужны другие языки измените регион в команде, На данный момент поддерживается несколько языков:
● en — английский
● ru — русский
● cn — китайский
● de — немецкий
Дополнительно скачаем сервер распознавания речи, который будет обращаться к Kaldi для распознавания.
# cd /usr/src/
# git clone https://github.com/alphacep/vosk-server
# cd vosk-server/websocket
При запуске этого сервиса используется Python скрипт версии 3. Но для его работы необходимо установить модуль websockets. Поэтому выполним его установку: # pip3.6 install websockets
Проверяем установленный сервис, запустив проверочный скрипт
# ./test.py test.wav
Остались вопросы?
Я - Кондрашин Игорь, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
10 доводов в пользу Asterisk
Распространяется бесплатно.
Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.
Безопасен в использовании.
Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.
Надежен в эксплуатации.
Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.
Гибкий в настройке.
Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.
Имеет огромный функционал.
Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.
Интегрируется с любыми системами.
То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.
Позволяет телефонизировать офис за считанные часы.
В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.
Отличная масштабируемость.
Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.
Повышает управляемость бизнеса.
Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.
Снижает расходы на связь.
Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.
Хочу заметить, что alphacep позаботился об asterisk отдельно через eagi:
https://github.com/alphacep/vosk-server/tree/master/client-samples/asterisk.