Русский модуль 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.

Комментировать

Comments

2.02.2009 5:47 Андерй Бородулин

при установке готового можудя по приведенной инструкции и запуске 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

Пересобирать из исходников не пробовалю

2.02.2009 12:35 anonymous

А какая версия ОС и FreeSWITCH? Наиболее вероятно у Вас старая версия FreeSWITCH.

Предпочтительней собирать из исходников тогда точно работать будет. Я собирал на Linux Fedora 8 и freeswitch trunk 11572

Comment form for «Русский модуль say»

Required. 30 chars of fewer.

Required.

captcha image Please, enter symbols, which you see on the image

6.02.2009 16:25 Андерй Бородулин

Версия FreeSWITCH 1.0.2 Собиралась из исходников, взятых на сайте в январе 2009 г. CentOS 5.2

6.02.2009 16:28 Андерй Бородулин

Версия FreeSWITCH 1.0.2 + CentOS 5.2 Брал все с ихсодников в январе 2009 года.

2.02.2009 9:38 deepwalker

Предлагаю использовать для проектов связанных с FS использовать git-hub, если кто то захочет поучаствовать в кодинге чего либо он легко сможет подключиться.

2.02.2009 12:07 anonymous

Поддерживаю но Я предпочитаю Mercurial и посей причине открыл акаунт на bitbucket.org

hg clone http://bitbucket.org/jbo/freeswith/

3.04.2009 12:20 litnimax

jbo, отличная работа! Есть возможность выполнить профессиональный перевод в студии, и добавить пакет в FS. Приглашаю обсудить вопросы перевода на форуме FreeSWITCH.ru — http://freeswitch.ru/discussion/3/5 С меня перевод, с вас тестирование и подготовка mod_say_ru и конфигов.

3.07.2009 6:44 claimid

mod_say_ru уже давно в транке, непонятно только почему не захотел вместе делать …