asterisk-dialogs
Набор приложений и 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
Metadata
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 | Provenance | |
|---|---|---|---|---|
| astersay-0.24.2.tar.gz | 96.7 kB | Without provenance | 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
|
Security for astersay 0.24.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.