- База знаний
- Пример файла конфигурации XML для Cisco 8851 phone
- Пример файла конфигурации XML для Cisco 7970 phone
- Пример файла конфигурации XML для Cisco 9971
- Отладка VoIP звонка с Wireshark
- Книги
- Использование поля Diversion в SIP пакете
- Астериск и Н.323
- ISDN release cause codes
- Пример файла конфигурации голосового шлюза Cisco
- Пример конфигурации интерфейса E1 PRI в голосовом шлюзе Cisco
- Аналоговое зло
- Интернациональные телефонные коды стран
- Практикум по интеграции Астериск в комплексе с OpenBSC/Osmocom
- Факс по IP
Команда Festival()
Назначение
Произносит заданный тест абонентуОписание:
Festival(text,intkeys)Команда использует систему синтеза речи Festival (которую Вам необходимо инсталлировать) для синтеза речи по заданному тексту text. Параметр intkeys необязателен. Если он задан, то определяет кнопку, которую пользователь может набрать для останова проигрывания синтезированной речи, и команда Festival вернет значение нажатой кнопки. Если вы определите параметр intkeys в значение "any", тогда функция Festival закончит работу, если будет нажата любая кнопка, вне зависимости какая из них.
Параметр text должен быть заключен в кавычки, если он содержит в себе символы пробела.
Пример
exten => 003,1,Answerexten => 003,2,Festival('Hello asterisk user, how are you today?')
; Обратите внимание, что должны присутствовать кавычки ...
Не забудьте перевести канал в отвеченное состояние, командой Answer, перед использованием функции Festival.
Альтернативное решение
Вы можете достичь лучшего результата, используя функцию System, для вызова команды Festival: text2wave, которая сгенерирует необходимый .WAV файл, который можно воспроизвести абоненту командами Background или Playback, вместо того, чтоб использовать Asterisk команду Festival.%> text2wave -o myfile.ulaw -otype ulaw -
Получает текст из stdin и создает звуковой файл с синтезированным текстом в формате ulaw. Вы можете использовать команду Playback(myfile) для простого воспроизведения этого файла в asterisk.
Если у вас появляются проблемы с командой Festival, когда она пропускает часть Вашего текста, то этот метод может Вам помочь. А также, если у Вас сервер Asterisk сильно загружен, то, таким образом Вы можете разделить процессы, запустив синтез речи в фоне, и, через некоторое время, проиграть сгенерированные инструкции Вашему пользователю. Например:
exten => s, 1, System(do_stuff &) exten => s, 2, Playback(introduction-instructions) exten => s, 3, Playback(my_new_sound) ***** do_stuff ***** #!/usr/bin/php
Что-то вроде этого позволит Вам генерировать большое количество файлов с синтезированной речью, притом не заставляя пользователя много ждать.
Ссылки по теме:
- Festival: систему синтеза речи с открытым исходным кодом
- Установка приложения Festival для Asterisk
- Конфигурация приложения Festival
Asterisk | Файлы конфигурации | План набора: extensions.conf | Список команд