Поиск по этому блогу

18.12.2012

vxml IVR со второй попытки

Появилась потребность усложнить сценарий старого IVR и добавить меню, музыку и пр. Для создания промежуточного решения необходимо было как-то наговорить нечеловеческим голосом весь текст для меню и других информационных сообщений.
В качестве синтезатора речи использовал софт "Elan TTS Николай", который читал текст, набранный в ПО Speaking Notepad. Триальная версия notepad'а позволяет сохранять аудио, но добавляет пару предложений от себя. Полученные файлы необходимо преобразовать согласно требованиям. Здесь используется программа sox, которая все файлы .wav в текущем каталоге переделывает в моно с рейтом 8к и кодирует mu-law кодеком.
for /F %i in ('dir /B *.wav') do "C:\Program Files\sox-14-4-0\sox.exe" %i --rate 8k --encoding mu-law --channels 1 8k_%i
Далее отрезаем в Audacity все лишнее. В частности, сообщение о триале. Полученные файлы вместе со скриптом ivr.vxml пакуются в каталоге ivr3 в архив ivr.tar. Для архивации можно использовать ПО 7z. Далее архив распаковывается на флеш-карту голосового шлюза.
VOIP#archive tar /xtract ftp://ftp@172.0.0.1/ivr3.tar flash:/
Loading ivr3.tar
ivr3/ (directory)!
extracting ivr3/ext_num.wav (76283 bytes)
extracting ivr3/hello.wav (244109 bytes)!
extracting ivr3/ivr.vxml (2382 bytes)
extracting ivr3/moh.wav (809538 bytes)!!!
extracting ivr3/net_nomera.wav (28248 bytes)
extracting ivr3/net_otveta.wav (42660 bytes)
extracting ivr3/spravka.wav (1330417 bytes)!!!!!
extracting ivr3/zanyat.wav (39746 bytes)!
[OK - 2580992/4096 bytes]
На шлюзе уже имеется один рабочий IVR-скрипт. Добавим еще один.
VOIP#sh run | sec application
application
service myivr flash:/ivr/ivr.vxml
!
VOIP2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
VOIP(config)#application
VOIP(config-app)# service valera flash:/ivr3/ivr.vxml
VOIP(config-app-param)#
Новый скрипт будет работать на другом dial-peer'е.
dial-peer voice 111 pots
description IVR test
service valera
incoming called-number 987654322
direct-inward-dial
port 0/0/0:15
Сам скрипт IVR лежит тут. В случае необходимости обращайтесь к документации по vxml, например, сюда. После тестирования, когда всех все устроит, можно приступать к записи аудио человеческим голосом.