Краткая инструкция по установке и применению модуля mod_say_ru. Скачайте и разархивировать архив в папку с установленным Freeswitch, или собрать из исходников mod_say_ru. Для проверки можете скачать переведенные фразы и разархивировать файл в папку freeswitch/sounds/, для качественной озвучки скачайте список фраз.
В файле freeswitch/conf/freeswitch.xml заменить en на ru секция Speech Phrase Management
<!-- <X-PRE-PROCESS cmd="include" data="lang/en/*.xml"/> -->
<X-PRE-PROCESS cmd="include" data="lang/ru/*.xml"/>
В файле freeswitch/conf/autoload_configs/modules.conf.xml добавить строку
<load module="mod_say_ru"/>
В файле freeswitch/conf/vars.xml добавить
<X-PRE-PROCESS cmd="set" data="default_language=ru"/>
Произношение фраз в план набора
Приложение phrase использую макросы произносит фразы:
<action application="phrase" data="saymoney,272034725.29"/>
Данная строка произносит 272034725 долларов 29 центов используя макрос saymoney.
<macro name="saymoney">
<input pattern="(.*)">
<match>
<action function="execute" data="sleep(1000)"/>
<action function="say" data="$1" method="pronounced" type="currency"/>
</match>
</input>
</macro>
Макрос saymoney (его имя должно совпадать с именем в плане набора), в нем может быть один или несколько pattern, для фильтрации условий используется Regex. Далее выполняется одно или несколько действий.
Макросы
Все фразы (voicemail, digits и т.д) должны быть определены в разделе lang для русского lang/ru/ru.xml.
<language name="ru" sound-path="$${base_dir}/sounds/ru/example" tts-engine="cepstral" tts-voice="callie">
-
name — имя языка (например “RU”), что приведет к вызову модуля mod_say_ru для построения фраз (например, деньги, дата, время и т.д.)
-
sound_path — путь к голослвым файлам этого языка.
-
*tts_engine — движок текс в голос (The text-to-speech).
-
tts_voice — какой голос будет использоваться для TTS.
В архиве есть демонстрационные макросы freeswitch/conf/lang/ru.
Функии
-
execute — вы можете выполнить любой другой FreeSwitch API’s.
-
play-file — воспроизведение звукового файла.
-
say — произносит фразы определенного типа (type) с использованием методов (method) произношения.
Методы:
-
counted
-
iterated
-
pronounced
Типы:
общие
-
number - номер
-
items
-
persons
-
messages - сообщения
Дата и время
-
time_measurement
-
current_date — текущая дата
-
current_time — текущее время
-
current_date_time — текущая дата и время
IP-адрес
-
ip_address
-
Орфография
-
name_spelled
-
name_phonetic
Деньги
Для проверки есть демо план набора conf/dialplan/default/556_say_demo.xml. Теперь при звонке на номер 556 вы прослушаете произношение валют и ip-адрес двумя способами.
валюты до 999 миллионов
<action function="say" data="$1" method="pronounced" type="currency"/> — минуc ноль долларов 33 цента
ip-адреса
<action function="say" data="$1" method="iterated" type="ip_address"/> — один два пять точка
<action function="say" data="$1" method="pronounced" type="ip_address"/> — сто двадцать пять точка
Сборка из исходников
Скачайте исходники модуля mod_say_ru и разархивируйте в папке с исходниками FreeSWITCH, добавте в файл modules.conf или если еще незапускали ./bootstrap.sh то в файл build/modules.conf.in.
say/mod_say_ru
Далее пересоберите FreeSWITCH.