Не могу разобраться, как правильно использовать запрос --- Добавлено --- $folderId = "b1gvmob95yysaplct532"; # Идентификатор каталога - его я получил на своём аккаунте Yandex Cloud а вот $token = 'CggaATEVAgA...'; # IAM-токен - ни как не пойму откуда его получить? Код (Text): <? const FORMAT_PCM = "lpcm"; const FORMAT_OPUS = "oggopus"; $token = 'CggaATEVAgA...'; # IAM-токен $folderId = "b1gvmob95yysaplct532"; # Идентификатор каталога $url = "https://tts.api.cloud.yandex.net/speech/v1/tts:synthesize"; $post = "text=" . urlencode("Hello World") . "&lang=en-US&folderId=${folderId}&sampleRateHertz=48000&format=" . FORMAT_PCM; $headers = ['Authorization: Bearer ' . $token]; $ch = curl_init(); curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); curl_setopt($ch, CURLOPT_HEADER, false); if ($post !== false) { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); } curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $response = curl_exec($ch); if (curl_errno($ch)) { print "Error: " . curl_error($ch); } if (curl_getinfo($ch, CURLINFO_HTTP_CODE) != 200) { $decodedResponse = json_decode($response, true); echo "Error code: " . $decodedResponse["error_code"] . "\r\n"; echo "Error message: " . $decodedResponse["error_message"] . "\r\n"; } else { file_put_contents("speech.raw", $response); } curl_close($ch);
Мы все учились понемногу чему-нибудь и как-нибудь. Тащусь от обывателей сайта, которым лишь бы поржать. Только нах сервис, когда это на уровне js элементарно (но не во всех браузерах) решается: Код (Javascript): function voice(txt) { var msg = new SpeechSynthesisUtterance(txt); window.speechSynthesis.speak(msg); } --- Добавлено --- А по теме вопрошающего: таки да, гугл в помощь. А запрос использовать по пониманию, что в нём происходит. Я вижу ответ от яндекса в виде *.raw