Русский модуль say
Краткая инструкция по установке и применению модуля 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
Деньги
- currency - валюта
Для проверки есть демо план набора 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.
- тестируем, сообщаем о ошибках, mercurial репозитарий
- обсуждаем

Comments
при установке готового можудя по приведенной инструкции и запуске fs выдается ошибкаЖ
2009-02-02 12:03:17 [CRIT] switch_loadable_module.c:839 switch_loadable_module_load_file() Error Loading module /usr/local/freeswitch/mod/mod_say_ru.so /usr/local/freeswitch/mod/mod_say_ru.so: undefined symbol: switch_epoch_time_now
Пересобирать из исходников не пробовалю
А какая версия ОС и FreeSWITCH? Наиболее вероятно у Вас старая версия FreeSWITCH.
Предпочтительней собирать из исходников тогда точно работать будет. Я собирал на Linux Fedora 8 и freeswitch trunk 11572
Версия FreeSWITCH 1.0.2 Собиралась из исходников, взятых на сайте в январе 2009 г. CentOS 5.2
Версия FreeSWITCH 1.0.2 + CentOS 5.2 Брал все с ихсодников в январе 2009 года.
Предлагаю использовать для проектов связанных с FS использовать git-hub, если кто то захочет поучаствовать в кодинге чего либо он легко сможет подключиться.
Поддерживаю но Я предпочитаю Mercurial и посей причине открыл акаунт на bitbucket.org
hg clone http://bitbucket.org/jbo/freeswith/
jbo, отличная работа! Есть возможность выполнить профессиональный перевод в студии, и добавить пакет в FS. Приглашаю обсудить вопросы перевода на форуме FreeSWITCH.ru — http://freeswitch.ru/discussion/3/5 С меня перевод, с вас тестирование и подготовка mod_say_ru и конфигов.
mod_say_ru уже давно в транке, непонятно только почему не захотел вместе делать …
Comment form for «Русский модуль say»