Возможно я понял в чем проблема, в коде
Код: Выделить всё
protected function TTSToMp3($words,$lang)
{
// Directory
$folder = "audio/".$lang;
// Replace the non-alphanumeric characters
// The spaces in the sentence are replaced with the Plus symbol
$words = urlencode($words);
// Name of the MP3 file generated using the MD5 hash
$file = md5($words);
// If folder doesn't exists, create it
if (!file_exists($folder))
mkdir($folder, 0755, true);
// Save the MP3 file in this folder with the .mp3 extension
$file = $folder."/TTS-".$file.".mp3";
// If the MP3 file exists, do not create a new request
if (!file_exists($file))
{
// Google Translate API cannot handle strings > 100 characters
$words = $this->CutString($words,100);
ini_set('user_agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0');
$mp3 = "";
for ($i = 0; $i < count($words); $i++)
$mp3[$i] = file_get_contents('http://translate.google.com/translate_tts?q='.$words[$i].'&tl='.$lang);
file_put_contents($file, $mp3);
}
return $file;
}
используется движок от Googla, который с недавних пор закрыт(капча). Весь вечер убил на переделку под Yandex, но результата так и не получил. Вставлял вместо
Код: Выделить всё
('http://translate.google.com/translate_tts?q='.$words[$i].'&tl='.$lang);
----->>>>
Код: Выделить всё
('https://tts.voicetech.yandex.net/generate?text='$words[$i]&format=mp3&lang=ru-RU&speaker=zahar&key=<fbb5660d-b86a-4333-b425-343711ec2539>);
менял & на ., убирал <>, да по всякому, но mp3 файл не возвращается, даже на сайте Яндекса нет статистики по использованию ключа, т.е. даже запрос не проходит.
Я вот подумал, не знаете как можно сделать тоже самое, но только локально? На компе установлен движок IVONA-Татьяна, как к ней обратиться из данного кода? Спасибо.