Русский TTS
Скрипт в аттаче. Положить в какую-нибудь папочку и не забыть поставить ему права на исполнение.
Использовать, например, так:
| Code: |
| Set(text=Формальный текст на русском языке); System(/home/braams/katerina ${URIENCODE(${text })} /home/braams/temp.wav); Playback(/home/braams/temp); |
Голос - "Катерина", слегка истерична и с ударениями не всегда хорошо, но имхо лучшее, что есть из русских TTS.
Генерится файл около 3х секунд.
Скрипт написан за на скорую руку, поэтому никаких проверок аргументов и т.д. нет, на выбор curl или wget, кому что больше нравится. У меня все в UTF-8, будет ли работать с другой локалью - не уверен.
В мыслях сделать из этого AGI скрипт, добавить кэширование сгенерированных звуковых файлов (по md5 отпечатку фразы, где-то на voipinfo или еще где подобное видел)
UPD. Что-то форум придирается к расширению моего скрипта, пришлось переименовать в .txt
_________________
Everything over IP & IP over Everything

_________________
Успехов!
_________________
Успехов!
_________________
Успехов!
к слову сказать его необязательно в астериск сувать - прямо в консоли и запускайте, только два параметра указывайте как в примере. русскую фразу в кавычки.
./katerina.sh "мама мыла раму, маша ела кашу" /tmp/temp.wav
play /tmp/temp.wav
Added after 7 minutes:
Braams, а где бы еще правила составления слогов нарыть? может у них сайт есть какой?
заметил прикол:
фраза "Спасибо. Дождитесь ответа секретаря..." читает нормально, но делает длинную паузу после слова Спасибо. можно было бы ее сократить вдвое. если же поставить запятую вместо точки то читает уже как "СпасЕбо". если же совсем знак препинания не ставить то читает слитно без паузы, что тоже не приемлимо.
есть гдето правила создания этих звуков?
_________________
Успехов!
По поводу скрипта - я и пытаюсь из консоли запустить вот может кто подскажет
/bin/bash /home/siper/katerina.sh привет /home/siper/temp.wav
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 419 0 2787 --:--:-- --:--:-- --:--:-- 0
ngrep выдает такое
filter: (ip or ip6) and ( host 212.8.184.250 )
####
T 2010/10/27 16:39:40.680961 X.X.X.X:56716 -> 212.8.184.250:80 [AP]
POST /tts/go. HTTP/1.1.
User-Agent: curl/7.19.7 (i486-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15.
Host: 212.8.184.250.
Accept: */*.
Content-Length: 419.
Content-Type: application/x-www-form-urlencoded.
.
_engine=1&_language=6&_voice=7&_frequency=1&text=.............&remLen=5&File=&engine=RS+Host&_text=null&engine_type=HOST+API&library=%25SSFTTTSSDK%25%5Cspeech%5Ccomponents%5Ccommon%5Clhstts.dll&language=Russian&voice=Katerina&frequency=8+kHz&reduction=5&flag=true&user_name=braams%40yandex.ru&user_ip=79.171.9.37&user_id=&dict_name=&rules_name=&engine_id=1&language_id=6&voice_id=7&frequency_id=1&reduction_id=5&elv_id=
#
T 2010/10/27 16:39:40.749274 212.8.184.250:80 -> X.X.X.X:56716 [AP]
HTTP/1.1 400 Bad Request.
Server: Apache-Coyote/1.1.
Date: Wed, 27 Oct 2010 12:32:13 GMT.
Connection: close.
Added after 1 minutes:
| siper wrote: |
| На сайте у них |
а что за сайт то?
_________________
Успехов!
1. Зависимость от внешнего сервиса - вдруг что-то у них или по дороге падает, и мы приплыли.
2. 3 сек - долговато будет. Ох долговато. У меня абоненты звонящие за долгом уже положить успевают за такое время, заказчики рвут и мечут.
Если сильны в C то советую написать TTS-демон , к которому через AGI отправлять запросы на озвучку(шаблоны текста ложить в файл, через запрос предавать только подстановки, настройки голоса и место куда ложить аудио). Сам TTS построить по словарному принципу: слово - аудиофайл(надеюсь "Войну и Мир" или "Большую Советскую Энциклопедию" читать не придется?)
_________________
Slackware 13.1 - Asterisk 1.8