Skip to main content

This is a Python library for Asterisk to work with Yandex voice models.

Project description

Набор приложений и Python-библиотека для работы Asterisk с различными голосовыми моделями. Пакет устанавливает в систему 4 запускаемых приложения:

  1. astersay - скрипт инициализации рабочего каталога.

  2. astersay-cgi - CGI(AGI) для прямого указания в диалплане астериска.

  3. astersay-dev - эмулятор AGI для разработки диалогов в интерактивном режиме без участия Asterisk.

  4. astersay-t2v - консольная команда для конвертации “text-to-voice”, возвращает на stdout путь к файлу голоса без его расширения.

Поддерживаемые бэкэнды

Распознавание:

  1. astersay.backends.yandex.YandexRecognizer

  2. astersay.backends.vosk.VoskRecognizer

  3. astersay.backends.tinkoff.TinkoffRecognizer

Синтез речи:

  1. astersay.backends.yandex.YandexSynthesizer

  2. 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 необязательных параметра:

  1. Название модели далога.

  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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

astersay-0.24.2.tar.gz (96.7 kB view details)

Uploaded Source

Built Distribution

astersay-0.24.2-py3-none-any.whl (117.7 kB view details)

Uploaded Python 3

File details

Details for the file astersay-0.24.2.tar.gz.

File metadata

  • Download URL: astersay-0.24.2.tar.gz
  • Upload date:
  • Size: 96.7 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for astersay-0.24.2.tar.gz
Algorithm Hash digest
SHA256 6f11104644358df6e373abd79ece95e7d77905c129cc2572504120cd1ae31033
MD5 ced55ee97cd1f9a85cebe03a295a1898
BLAKE2b-256 1d98c98e340fed0c269189ecf400aa337ee94aebc2dc848c01c5caeeb9f8fbff

See more details on using hashes here.

File details

Details for the file astersay-0.24.2-py3-none-any.whl.

File metadata

  • Download URL: astersay-0.24.2-py3-none-any.whl
  • Upload date:
  • Size: 117.7 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for astersay-0.24.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bbc94a78aa40efaa0d50035b102a42af95ae58f3bc746a1122689ca914ee7dcd
MD5 41ba54a57d7a84cbd71ad5a7108a046b
BLAKE2b-256 2fb8105def9067090bc6d949ceafbcd9345a8538955139fbf015666834589b82

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page