Подключаем google tts к FreePBX (Asterisk)
Как то стала необходимость подключения распознавания голоса на freepbx, но дефолтный flite меня не устроил, так как он не знает русского!
Решил я тогда подвязать goole tts и при этом не переделывать диалплан на кастомный.
Что ж, для начала создадим движок tts в самом freepbx. Идем в «Settings» — «Text to Speech Engines» и добавляем новый, где «Engine name» указываем «google». Потом сохраняем нажавши «Submit».
Дальше нам понадобится научить freepbx работать с гуглом. Но перед этим нужно установить утилиту ffmpeg:
1 |
yum install ffmpeg -y |
Теперь редактируем файл /var/lib/asterisk/agi-bin/propolys-tts.agi
Заменяем:
1 2 3 4 5 6 7 8 9 10 11 12 |
switch ($engine) { case'text2wave': exec($enginebin." -f 8000 -o $wavefile $voice $textfile"); break; case'flite': exec($enginebin." -f $textfile -o $wavefile"); break; case'swift': exec($enginebin." -p audio/channels=1,audio/sampling-rate=8000 -o $wavefile -f $textfile"); break; default: } |
На:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
switch ($engine) { case'text2wave': exec($enginebin." -f 8000 -o $wavefile $voice $textfile"); break; case'flite': exec($enginebin." -f $textfile -o $wavefile"); break; case'swift': exec($enginebin." -p audio/channels=1,audio/sampling-rate=8000 -o $wavefile -f $textfile"); break; case'google': $wget = 'wget -U "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5" '; $wget.= '"http://translate.google.com/translate_tts?q='.$text.'&tl=ru" -O '.$wavefile.'.mp3'; $ffmpeg = 'ffmpeg -i '.$wavefile.'.mp3 -ar 8000 -ac 1 -ab 64 '.$wavefile; $exec = $wget.' && '.$ffmpeg.' && rm -Rf '.$wavefile.'.mp3'; exec($exec); break; default: } |
Все! Теперь можете открывать во freepbx «Applications» — «Text To Speech» и добавлять фразы для воспроизведения на русском, но не забываем при этом выбирать движок распознавания «google»
Если не получается установить утилиту ffрmpeg, воспользуйтесь вот этой мини инструкцией!
Как быстро установить ffmpeg в Centos 7:
1. wget ftp://rpmfind.net/linux/centos/6.5/os/x86_64/Packages/libdc1394-2.1.2-3.4.el6.x86_64.rpm
2. yum -y localinstall libdc1394-2.1.2-3.4.el6.x86_64.rpm
3. rpm -ivh http://dl.atrpms.net/el7-x86_64/atrpms/stable/atrpms-repo-7-7.el7.x86_64.rpm
4. yum -y install ffmpeg