Набор приложений и Python-библиотека для работы Asterisk с различными голосовыми моделями. Пакет устанавливает в систему 4 запускаемых приложения:
astersay - скрипт инициализации рабочего каталога.
astersay-cgi - CGI(AGI) для прямого указания в диалплане астериска.
astersay-dev - эмулятор AGI для разработки диалогов в интерактивном режиме без участия Asterisk.
astersay-t2v - консольная команда для конвертации “text-to-voice”, возвращает на stdout путь к файлу голоса без его расширения.
Поддерживаемые бэкэнды
Распознавание:
astersay.backends.yandex.YandexRecognizer
astersay.backends.vosk.VoskRecognizer
astersay.backends.tinkoff.TinkoffRecognizer
Синтез речи:
astersay.backends.yandex.YandexSynthesizer
astersay.backends.tinkoff.TinkoffSynthesizer
По мере развития проекта эти списки будут увеличиваться.
Установка
Для продакшн-серверов с Asterisk:
pip3 install astersay
Для разработки диалогов и работы виртуального сервера DummyAsterisk необходим PyAudio. Для его установки нужно предварительно в системе иметь dev-пакеты.
Для Debian-based:
sudo apt install gcc portaudio19-dev
pip3 install astersay[dev]
Для RedHat-based:
sudo yum install gcc portaudio-devel
pip3 install astersay[dev]
Настройка
Проинициализируйте рабочий каталог от пользователя, запускающего Asterisk на сервере или пользователя, которым будет вестись разработка диалогов. Заметьте, что права на запись в этот каталог у пользователя должны быть. Рабочий каталог по-умолчанию: ~/.config/astersay.
astersay
# или
astersay -w /var/custom-work-directory
Подробное описание настройки бекендов - https://gitlab.com/djbaldey/asterisk-dialogs/-/wikis/Backends-Setup
После конфигурации бекендов проверьте готовность к работе.
astersay --check
Вывод в консоли скажет о готовности.
Использование в диалплане
Для использования в диалплане для AGI получите полный путь к cgi-скрипту для своей системы.
which astersay-cgi
Полученный путь укажите в диалплане как AGI-программу. Для неё есть 2 необязательных параметра:
Название модели далога.
Путь к рабочему каталогу.
Консольная конвертация
Без запуска Asterisk на любом компьютере возможна конвертация текста в WAV-файлы. Для этого передайте команде “Text-To-Voice” текст одним из следующих способов:
astersay-t2v -t "Мой текст с пробелами."
astersay-t2v -f text.txt
astersay-t2v -f text.txt -w /var/custom-work-directory
В выводе будет путь к голосовому файлу без расширения.
Для вывода справки по параметрам запустите:
astersay-t2v --help
Разработка диалогов
Запуск эмуляции Asterisk позволяет разрабатывать диалоги без реального сервера. Для этого запустите интерактивный режим командой:
astersay-dev
Остановите программу клавишами: Ctrl+C.
Для вывода справки по параметрам запустите:
astersay-dev --help
Найдите в рабочем каталоге файл dialogs/default.json, скопируйте его под другим именем в тот же каталог, например в dialogs/first_dialog.json или dialogs/subdir/first_dialog.json, и отредактируйте под свои нужды.
Запустите свой диалог так:
astersay-dev -m first_dialog
# или
astersay-dev -m ~/.config/astersay/dialogs/first_dialog.json
# или
astersay-dev -m first_dialog -w /var/custom-work-directory
# или
astersay-dev -m subdir/first_dialog -w /var/custom-work-directory
Расширение ‘.json’ можно не указывать.
Заметьте, что эмулятор отображает только ход процесса AGI, а не логгирует ошибки и информацию из диалога. Для отображения лог-файлов используйте консольную утилиту tail:
tail -f /var/custom-work-directory/logs/*.log
Release files for astersay 0.24.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| astersay-0.24.2.tar.gz | 96.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| astersay-0.24.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 214.4 kB
Release files / astersay-0.24.2.tar.gz
| Download URL | astersay-0.24.2.tar.gz |
|---|---|
| Size | 96.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6f11104644358df6e373abd79ece95e7d77905c129cc2572504120cd1ae31033
|
|
BLAKE2b-256 checksum How to use checksums |
1d98c98e340fed0c269189ecf400aa337ee94aebc2dc848c01c5caeeb9f8fbff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.2
|
Release files / astersay-0.24.2-py3-none-any.whl
| Download URL | astersay-0.24.2-py3-none-any.whl |
|---|---|
| Size | 117.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bbc94a78aa40efaa0d50035b102a42af95ae58f3bc746a1122689ca914ee7dcd
|
|
BLAKE2b-256 checksum How to use checksums |
2fb8105def9067090bc6d949ceafbcd9345a8538955139fbf015666834589b82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.2
|