Text To Speech от Google в «Умном доме»

24 Ноя
2011

image   Google давно, не официально, открыла доступ к своей системе синтеза речи. Процесс довольно прост: вы отправляете запрос содержащий язык синтеза и саму фразу, представившись Google Chrome`ом или же Andoid`ом, и в ответ получаете готовый mp3 файл.
http://translate.google.com/translate_tts?tl=RU&q=текст для синтеза
  Милая девушка из Google очень быстро и качественно синтезирует фразы любой длины и сложности. Генерация и скачка mp3 файла у меня проходят быстрее чем это делает система festival в линуксе, а так же и качественнее. Ограничений по количеству запросов не наблюдается. Простой пример синтеза можно прослушать открыв в новом окне Google Crome следующую ссылку, прямые ссылки банятся!
http://translate.google.com/translate_tts?tl=RU&q=%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82%20%D0%A5%D0%B0%D0%B1%D1%80!%20%D0%AF%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0%20%D1%81%D0%B8%D0%BD%D1%82%D0%B5%D0%B7%D0%B0%20%D1%80%D0%B5%D1%87%D0%B8%20%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D0%B8%D0%B8%20%D0%B3%D1%83%D0%B3%D0%BB.
  Главными параметрами запроса являются:
  • Кодировка UTF-8
  • Useragent запроса: Cromium, Opera
  В своем «Умном доме» у меня синтез речи от Google пришел на смену Festival и грубому мужскому голосу Festvox-ru. Имеющиеся скрипты от Festival легко переделались под Google. Для этого мной был написан универсальный скрипт на php и curl say_google.php:
#!/usr/bin/php

<?
  $text = $argv[1];
  $uagent = "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.872.0 Safari/535.2";
  $text = urlencode(iconv("UTF-8", "UTF-8", $text));
  $url= "http://translate.google.com/translate_tts?tl=ru&q=$text";
  $ch = curl_init( $url );
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($ch, CURLOPT_ENCODING, "");
  curl_setopt($ch, CURLOPT_USERAGENT, $uagent);
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
  curl_setopt($ch, CURLOPT_TIMEOUT, 120);
  curl_setopt($ch, CURLOPT_MAXREDIRS, 10);

  $content = curl_exec( $ch );
  curl_close( $ch );

  $file = fopen("current.mp3","wt") or die("err");
  fputs($file,$content);
  fclose($file);

?>
  Этот скрипт отправляет в Google запрос с заданной при запуске фразой и сохраняет ответ в файл current.mp3 рядом со скриптом. Пример запуска скрипта:
./say_google.php "Привет Блог!"
  В ответ за считанные секунды будет сохранен mp3 файл с уже с генерированной фразой.
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх