Мне удалось сгенерировать голоса с Майклом или Эллисоном через CURL с IBM Watson, но как только я пытаюсь вставить в текст какой-либо тег ‹›, например или любое ‹преобразование голоса {атрибуты}›, он терпит неудачу, независимо от того, ПОЛУЧИТЬ или ОТПРАВИТЬ. Я нашел здесь несколько ответов (включая Как мне настроить скорость речи в сервисе преобразования текста в речь Watson с помощью curl?), но все, что я пробовал, не удалось. Например, я попробовал такой код прерывания:
curl -X POST -u "apikey:{MYKEY}" --header "Content-Type: application/json" --header "Accept: audio/wav" --data "{\"text\":\"hello <break strength='500ms'></break> hello world\"}" --output hello_world.wav "https://api.us-east.text-to-speech.watson.cloud.ibm.com/{MYINSTANCE}/v1/synthesize?voice=en-US_AllisonVoice"
Я получаю следующую ошибку: ‹было неожиданным в это время. Обратите внимание, что без кода он работает хорошо, и текст создается. и то же самое для:
curl -X GET -u "apikey:{apikey}" --output hello_world.wav "{url}/v1/synthesize?accept=audio%2Fwav&text=<voice-transformation rate="slow">Hello%20world<voice-transformation rate="slow">&voice=en-US_AllisonV3Voice"
... как было предложено одним из респондентов на вышеупомянутой странице.
Я также пробовал всевозможные попытки urlencode тегов ‹›, использовать разные теги преобразования голоса, или ни одного, или просто ломаться, я пробовал использовать одинарные и двойные кавычки, экранированные или нет и т. Д. Обычно он либо возвращает
{ошибка: неверный запрос. (HAP), code: 400, code_description: Bad request}
или: Система не может найти указанный файл, или ‹было неожиданным в это время.
Поэтому я хотел бы использовать все эти изменения SSML, но пока мне не удалось сделать это с помощью curl. Будем надеяться, что кто-то знает, как это сделать.
P.S .: Я попробовал, вставив полный запрос в командную строку в Windows и на Linux-сервере с помощью PuTTy.