Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2021, 13:48   #1
Leonid.76
Новичок
Джуниор
 
Регистрация: 28.09.2020
Сообщений: 2
По умолчанию Как сгенерировать текст в речь в формате WAV

Здравствуйте! Подскажите как можно подключить API сервиса на свой сайт
используюя пример из документации сайта Yandex SpeechKit:
Превратить текст в речь в формате WAV
В этом примере переданный текст синтезируется в формате LPCM с частотой дискретизации 48 кГц и сохраняется в файле speech.raw. Затем этот файл конвертируется в формат WAV с помощью утилиты SoX.

Синтезируйте файл в формате LCPM:

<?

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}&sampleRateH ertz=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);
Cконвертируйте полученный файл в формат WAV с помощью утилиты SoX.

$ sox -r 48000 -b 16 -e signed-integer -c 1 speech.raw speech.wav
Leonid.76 вне форума Ответить с цитированием
Старый 13.04.2021, 15:57   #2
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Так в оф. доках яндекса описан метод синтеза речи.
Описание метода API (Генерирует речь по переданному тексту)
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Старый 13.04.2021, 16:42   #3
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

и главное - сами тут прописали решение - все из доки.... в чем вопрос то?
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать в JasperReports чтобы текст отображался в самом низу страницы при выгрузке из системы отчета в формате HTML? RustemZF Общие вопросы по Java, Java SE, Kotlin 0 22.06.2018 11:22
у меня есть книга в формате .exe и мне нужен текст с картинками в формате .pdf александер2024 Общие вопросы по программированию, компьютерный форум 1 23.03.2018 16:19
Речь в текст Smail95 Общие вопросы C/C++ 0 23.12.2015 16:23
Как отсоеденится от процесса? (речь про DLL) TwiX Общие вопросы Delphi 1 12.06.2013 03:32
текст в речь AnnaD. Visual C++ 0 07.07.2011 23:02