По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Технология TTS (text-to-speech) служит для преобразования текстовой информации в голос. Проще говоря, вы пишите – система проговаривает. В системах телефонной связи такая технология может быть полезна, если необходимо произнести баланс клиента или для озвучивания прочих голосовых сообщений. О том, как настроить TTS в FreePBX 13 с помощью командной строки Asterisk расскажем в статье.
Встроенный TTS
В FreePBX предусмотрен встроенный движок для TTS, который носит название filte. Движок хорошо отрабатывает английскую речь, но не умеет работать с русской. Вкратце ознакомимся с его настройкой. Тут все достаточно тривиально, переходим в Applications -> Text to Speech
Name - дайте имя для TTS механизма
Text - укажите произносимый системой набор слов
Choose an Engine - выберите движок для воспроизведения. По умолчанию, единственным доступным является filte
Destination - куда будет отправлен звонок, после проговаривания фразы указанной в поле Text
На этом этапе система произнесет набор слов по-английски. Писать методом транслитерации – плохая идея. Движок конечно произнесет указанные слова, но это вряд ли можно будет отправить в «продакшн». Итак, как же бесплатно настроить русскоговорящий TTS в FreePBX? Легко, с помощью системы синтеза речи festival
Русский язык FreePBX Festival
Установку будем производить на примере последней сборки FreePBX Distro на базе CentOS 6. Переходим к установке. Скачиваем исходные файлы
cd /usr/src
wget http://www.cstr.ed.ac.uk/downloads/festival/2.1/speech_tools-2.1-release.tar.gz
wget http://www.cstr.ed.ac.uk/downloads/festival/2.1/festival-2.1-release.tar.gz
Распаковываем архивы и инсталлируем необходимые файлы
tar zxvf festival-2.1-release.tar.gz
tar zxvf speech_tools-2.1-release.tar.gz
cd speech_tools
./configure
make
make install
cd ..
cd festival
./configure
make
make install
Система может потребовать установить пакет ncurses-devel. Сделайте это с помощью команды yum install ncurses-devel
Создаем переменную PATH, которая описывает путь до исполняемых файлов в директории festival/bin/
export PATH=$PATH:/usr/src/festival/bin/
Создадим директорию для хранения русскоязычных файлов. Для этого, последовательно в директории festival/lib/ создадим папки /voices и /russian:
mkdir /usr/src/festival/lib/voices/
mkdir /usr/src/festival/lib/voices/russian/
Скачиваем русскоязычный бандл:
wget http://sourceforge.net/projects/festlang.berlios/files/msu_ru_nsh_clunits-0.5.tar.bz2
Далее, распаковываем скачанный архив в созданную директорию:
tar xjf msu_ru_nsh_clunits-0.5.tar.bz2 -C ./festival/lib/voices/russian
Открываем через редактор vim файл /usr/src/festival/lib/languages.scm
vim /usr/src/festival/lib/languages.scm
В самом начале файла вставляем следующие строки:
(define (language_russian)
"(language_russian)
Set up language parameters for Russian."
(set! male1 voice_msu_ru_nsh_clunits)
(male1)
(Parameter.set 'Language 'russian)
)
В файле находим строки указанные ниже:
(language_british_english))
((equal? language 'british_english)
После указанных выше строк, добавляем следующее:
(language_russian))
((equal? language 'russian)
Далее открываем файл /usr/src/festival/lib/siteinit.scm и в самый конец добавляем строку ниже:
(set! voice_default 'voice_msu_ru_nsh_clunits)
Создаем кэш – директорию. Для этого, скопируйте команду ниже:
mkdir /var/lib/asterisk/festivalcache/ && chown asterisk:asterisk /var/lib/asterisk/festivalcache/
Открываем файл /etc/asterisk/festival.conf и добавляем следующие строки:
[main]
host=localhost
port=1314
usecache=yes
cachedir=/var/lib/asterisk/festivalcache/ \созданный выше файл
festivalcommand=(tts_textasterisk "%s" 'file)(quit)
Запускаем сервер festival
festival --server
Если все успешно, то вы увидите строки ниже:
[pbx@localhost ~]#festival --server
server Fri Aug 12 13:00:32 2016 : Festival server started on port 1314
Приступаем к тестам. Открываем файл /etc/asterisk/extensions_custom.conf и создаем тестовый диал – план как указано ниже:
[festival]
exten => s,1,Answer
exten => s,n,Festival('Привет. Все. работает.')
exten => s,n,Hangup
Сохраняем изменения. Для того, чтобы настроить воспроизведение из графического интерфейса FreePBX мы воспользуемся модулем Custom Destinations. Для его настройки перейдите во вкладку Admin -> Custom Destinations . Нажимаем на кнопку Add Destination
Разберем каждую из опций:
Target - укажите здесь festival,s,1, согласно созданному ранее диал-плану. Синтаксис заполнения следующий - [имя_контекста],[экстеншен],[приоритет]
Description - описание создаваемого правила
Notes - заметки. Если вы создаете много подобных правил, советуем создавать подробные заметки, чтобы избежать дальнейшей путаницы.
Return - если ваш контекст заканчивается командой Return (команда возвращает вызов в родительский контекст), то в поле Destination укажите назначение для вызова после отработки TTS.
По окончанию настроек нажмите Submit и затем Apply Config.
Теперь необходимо настроить маршрутизацию на кастомный контекст, который мы только что создали в FreePBX. Например, можно настроить маршрутизацию из IVR меню по нажатию цифры 5 на телефоне, как указано ниже:
Звоним на IVR и нажимаем 5 и слышим синтезированный голос. Параллельно смотрим на запущенный через CLI сервер Festival:
client(1) Fri Aug 12 13:00:54 2016 : accepted from localhost
client(1) Fri Aug 12 13:01:04 2016 : disconnected
client(2) Fri Aug 12 13:01:20 2016 : accepted from localhost
client(2) Fri Aug 12 13:01:20 2016 : disconnected
Google TTS в FreePBX
Еще пару лет назад можно было бы легко воспользоваться Google TTS для синтеза речи. Для этого надо было добавить движок во вкладке Settings -> Text To Speech Engines и отредактировать файл /var/lib/asterisk/agi-bin/propolys-tts.agi. Но, к сожалению, Google начал использовать капчу, чем перекрыл автоматизированный и бесплатный доступ к своему сервису.
Дополнительно про настройку TTS от Festival вы можете прочитать здесь.
Усаживайтесь на кушетку поудобнее. Зачем, в первую очередь, вы хотите сменить mac – адрес у вашего сервера на базе Linux? Может хотите блочить его на фаерволе, или попробовать совершить «магию» с лицензиями, которые привязаны к маку?
В целом, дело ваше. Мы покажем способ, как это сделать. Давайте по шагам.
Находим текущий mac – адрес сетевого интерфейса
Сначала давайте посмотрим на текущий mac вашего сервера. Сделать это можно командой:
ip link show
Вывод сервера будет примерно таким. Он будет содержать параметры (mac - адреса всех ваших интерфейсов):
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
link/ether 45:c6:f6:a7:12:30 brd ff:ff:ff:ff:ff:ff
3: enp0s12e2: mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
link/ether 33:23:f8:8b:d7:65 brd ff:ff:ff:ff:ff:ff
Как мы видим, например, у интерфейса enp0s12e2 текущий mac – адрес это 33:23:f8:8b:d7:65 . Давайте поменяем его.
Меняем MAC с помощью Macchanger. Установка
Macchanger - это ну очень простая утилита, чтобы смотреть, менять и управлять MAC – адресами на ваших сетевых интерфейсах. Она доступна на почти всех Linux – подобных системах.
Например, чтобы установить Macchanger на Fedora, CentOS или RHEL используйте команду:/p>
sudo dnf install macchanger
А если у вас Debian, Ubuntu, Linux Mint или даже Kali Linux, то установить ее можно вот так:
sudo apt install macchanger
Как использовать Macchanger
Помните имя интерфейса, которое мы обсудили чуть раньше? Ага, мы про enp0s12e2
Например, чтобы присвоить этому интерфейсу рандомный mac, используйте команду:
sudo macchanger -r enp0s12e2
После смены, проверьте, что мак – адрес поменялся командой:
ip addr
Он стал другим, не так ли? Теперь, чтобы присвоить конкретный (нужный вам) мак интерфейсу, примените команду:
macchanger --mac=XX:XX:XX:XX:XX:XX
Где, как не сложно догадаться, XX:XX:XX:XX:XX:XX - mac, который вам нужен. Кстати, если вы поняли, что сделали что-то не то, то вернуть mac – адрес устройства к его изначальному значению можно вот так:
macchanger -p enp0s12e2
Меняем MAC с помощью iproute
Делать это через macchanger, честно говоря, правильнее. Однако, если не получилось/не хотите, то можно поступить вот так. Первое, выключаем интерфейс:
sudo ip link set dev enp0s12e2 down
Далее, присваиваем новый mac выключенному интерфейсу:
sudo ip link set dev enp0s12e2 address XX:XX:XX:XX:XX:XX
Не забываем включить интерфейс обратно:
sudo ip link set dev enp0s12e2 up
Смотрим статус:
ip link show enp0s12e2
Итоги
В статье мы обсудили два способа смены адреса: через утилиту macchanger и встроенную команду ip. Мы рекомендуем использовать macchanger, как более надежный способ. Однако, решать вам.
В статье покажем, как установить последний на момент написания статьи stable релиз SNG7-PBX-64bit-1910. Установка произведем в среде виртуализации VMware. Погнали!
Скачать последний стабильный релиз FreePBX Distro можно по этой ссылке: https://www.freepbx.org/downloads/
Системные требования к виртуальной машине
Первое, что нужно сделать – создать виртуальную машину, в которой мы развернем IP – АТС Asterisk с помощью FreePBX Distro. Тут нужно воспользоваться нашим калькулятором IP – АТС Asterisk – он доступен по ссылке ниже. Калькулятор подскажет полные требования к серверу согласно ваших входных данных. Переходите по ссылке и возвращайтесь уже с системными требованиями :)
Калькулятор Asterisk
Установка
После того, как виртуальная машина создана, к ней необходимо подцепить .iso, загрузить с него виртуальную машину и следовать нашим инструкциям. Откройте KVM окно (окно управления машиной)
Мы установим FreePBX 15 версии, Linux версии 7.6 и сам Asterisk 16 версии. Поэтому, в первом окне выбираем FreePBX 15 Installation (Asterisk 16) - Recommended и нажимаем Enter:
Далее нужно выбрать, где мы будем получать информацию об установке. Мы выбираем «как бы» на монитор (VGA), но на самом деле, это окно KVM виртуальной машины. Выбирайте опцию Graphical Installation – Output to VGA и нажимаем Enter:
На следующем экране нужно выбрать FreePBX Standard и нажать Enter:
Запускается инсталлятор:
Установим root - пароль. Для этого переходим в соответствующий пункт меню:
И указываем дважды требуемый пароль:
И ждем. Пока на прогрессбаре (индикаторе состояния установки) вы не увидите заветные Complete!:
Дальнейшая настройка
А чтобы настроить установленный и свежий дистрибутив воспользуйтесь статьей по ссылке ниже. Enjoy :)
Настройка FreePBX с нуля