Сейчас теги SSML в "Балаболке" не поддерживаются (они будут переданы на сервер как обычный текст). Попробую изменить это в следующей версии программы.
Но должен предупредить, что для русских голосов поддержка транскрипций реализована довольно криво. Иногда голос отказывается читать транскрипцию, возвращая ошибку HTTP 403; иногда русский голос Microsoft Azure произносит транскрипцию неправильно (хотя, например, голоса IVONA читают ее корректно).
Сейчас теги SSML в "Балаболке" не поддерживаются (они будут переданы на сервер как обычный текст). Попробую изменить это в следующей версии программы.
Было бы не плохо, а то после того как голос Филиппа испоганили, этот самый нормальный, но иногда ужасно ставит ударения.. Ещё такой вопрос, сейчас точка делает очень большую паузу между предложениями, можно чем то заменить? из документации вроде следует, что паузу можно так регулировать
Код
<break time="600ms" />
но через программу не получается так, вместо точки несколько запятых тоже не прокатывает. Может есть какой символ для более короткой паузы чем точка?
Дата: Воскресенье, 24.10.2021, 17:52 | Сообщение #6
V.I.P.
Группа: Модераторы
Сообщений: 119
Статус: Offline
Цитатаavgaz ()
он не работает для Microsoft Azure пробовал в место точки и {{Pause=10}}
Всё работает, но надо понимать, как именно текст преобразуется в речь с помощью онлайн-сервисов. В данном случае тег паузы делит текст на две части, например:
Код
первый текст {{Pause=10}} второй текст
Программа сначала преобразует "первый текст" в аудиофайл, добавит к этому звуковому файлу 10 миллисекунд тишины, затем преобразует "второй текст" во второй аудиофайл и объединит звуковые файлы. Проблема здесь в том, что онлайн-сервис сам вставляет небольшую тишину в начало и конец каждого маленького звукового файла. Вот и получается, что, поделив текст на две части, пауза между частями не уменьшилась, а может быть, даже увеличилась.
balabolka, спасибо, что добавили поддержку тегов, можете объяснить как в русских словах ставить ударения где брать эту транскрипцию слов для тега <phoneme alphabet="ipa" ph="təˈmeɪtoʊ"> tomato </phoneme> Может есть какой то сервис преобразования? И ещё вопрос, что дает API ключ? и как его получить, зарегистрировался в Azure но где там этот ключ черт ногу сломит ((
И ещё вопрос, не знаете что с голосом Филиппа у Яндекса он уже недели две как звучит отвратно, что с ключом что без, но в том же сервисе звукограмме его исправили за несколько дней и там с час он по старому звучит. Может есть какое то решение его поправить?
1)транскрипция онлайн (имеет ограничения) 2) с помощью скрипта для программы Демагог Инструкция:
1)Скачиваем программу Демагог 2)В паке с программой Демагог находим папку _Tests_ создаем в ней папку work, в ней создаем папку ОКНО - ТРАНСКРИПЦИЯ IPA и в нее помещаем содержимое архива. Что бы получился вот такой путь: Demagog\_Tests_\work\ОКНО - ТРАНСКРИПЦИЯ IPA\*.* 3)В запущенном Демагоге в меню: Сервис - Статистика - Выполнить скрипт - По умолчанию выбираем любое сочетание горячих клавиш и вставляем путь:
4)в Демагоге активируем любое окно (кроме 0-Статистика), вставляем/вводим сюда слово, выделяем слово (двойной клик) нажимаем ранее выбранное сочетание горячих клавиш и получаем результат. Пример применения скрипта:
замечание! в идущем в комплекте с архивом файле correction.rex присутствуют специфические (для голосового движка ivona) замены регулярными выражениями вносящие корректировку в получаемые транскрипции IPA. Вы можете удалить все правила замен, либо добавить свои правила замены в транскрипции в зависимости от специфики вашего голосового движка.
И ещё вопрос, что дает API ключ? и как его получить, зарегистрировался в Azure но где там этот ключ черт ногу сломит
API-ключ позволяет пользоваться сервисами Microsoft Azure легально, а также получать техническую поддержку. Например, раз Вы уже зарегистрировались в Azure, то задавать вопрос "где там этот ключ" можно не на форуме, а непосредственно службе поддержки Microsoft Azure. (И, кстати, стоит поторопиться с этим, так как бесплатный период пользования сервисом уже начался.)
Чтобы создать API-ключ и начать работу с синтезом речи:
Зайдите на сайт Microsoft Azure.
Выберите пункт Create a resource из меню.
Найдите и добавьте Speech Service.
В разделе Resource Management найдите пункт Keys and Endpoint.
Выберите этот пункт и создайте API-ключ. Скопируйте ключ и сохраните его на диске.
Всё, теперь у Вас есть ключ и регион (endpoint). Можно начать использовать сервис.
Инструкцию с картинками можно посмотреть здесь и здесь.
Цитатаavgaz ()
не знаете что с голосом Филиппа у Яндекса
Не знаю. Может быть, используют другие настройки кодеков. Если скачать файл формата OGG из онлайн-демо Yandex SpeechKit и файл этого же формата из звукограмма, то можно убедиться, что настройки кодеков разные.
Дата: Воскресенье, 31.10.2021, 23:10 | Сообщение #10
Группа: Пользователи
Сообщений: 25
Статус: Offline
Цитатаbalabolka ()
Не знаю. Может быть, используют другие настройки кодеков. Если скачать файл формата OGG из онлайн-демо Yandex SpeechKit и файл этого же формата из звукограмма, то можно убедиться, что настройки кодеков разные.
В балаболку нельзя не как вернуть старого Филиппа, просто попался ещё один сервис озвучки texttospeech.ru там также старая версия, видимо есть какой то выход. Может на яндексе изменили адрес запроса для версии или ещё что то. Просто то что сейчас с ним, это жесть хуже чем обычные голоса.
Сообщение отредактировал avgaz - Воскресенье, 31.10.2021, 23:27
Дата: Понедельник, 01.11.2021, 17:46 | Сообщение #11
V.I.P.
Группа: Модераторы
Сообщений: 119
Статус: Offline
Цитатаavgaz ()
Может на яндексе изменили адрес запроса для версии или ещё что то.
Нет, формат запросов не менялся. Что-то изменилось внутри SpeechKit, они по-другому обрабатывают звуковые файлы перед тем, как отдать их пользователям. Я не знаю, какой именно обработке подвергаются аудиофайлы (не очень разбираюсь в этом). Надо экспериментировать с FFmpeg, или можно поинтересоваться у знакомых звукорежиссеров. "Балаболка" сохраняет файлы без какой-либо обработки. Отправил сообщение в службу поддержки Yandex Cloud (раздел AI API, куда входит SpeechKit): "Несколько недель назад изменилось звучание голоса "Филипп" (filipp), используемого технологией Yandex.SpeechKit. Прилагаю примеры звучания голоса раньше и сейчас. Пожалуйста, верните прежнее звучание голоса." Отправляйте свои сообщения, чтобы добиться какой-либо реакции от разработчиков.
Дата: Понедельник, 01.11.2021, 19:32 | Сообщение #12
Группа: Пользователи
Сообщений: 25
Статус: Offline
Цитатаbalabolka ()
Отправляйте свои сообщения, чтобы добиться какой-либо реакции от разработчиков.
Я уже дважды отправил на speechkit@support.yandex.ru но ответа уже две недели нет (( Когда только изменился голос, в поддержке звукограмма сказали, что ведут переговоры с Яндексом о возвращении старой версии, после у них стало по старому озвучивать
Дата: Понедельник, 08.11.2021, 11:24 | Сообщение #13
Группа: Пользователи
Сообщений: 25
Статус: Offline
Цитатаbalabolka ()
Отправил сообщение в службу поддержки Yandex Cloud
Не каких новостей нет?
Ещё такой вопрос, при озвучке через Microsoft Azure при простое возникает ошибка, то есть озвучил текст, далее пытаешься через час ещё раз озвучить, но выдает ошибку, приходится перезапускать программу. Ещё можно сделать, что бы при Microsoft Azure убирался перенос строки? то есть, что бы сократить паузу при точке я использую <breaktime="430ms"/>, но если идет перенос строки, то появляется такая же пауза как и при точке, приходиться весь текст в одну строку делать, что собственно не удобно и отнимает время. Может можно, что бы программа сама при отправке убирала перенос?
В идеале ещё бы сделать автоматическую замену и точки на настроенный параметр паузы через breaktime="430ms", что бы это не делать самому каждый раз..
Дата: Понедельник, 08.11.2021, 15:22 | Сообщение #14
V.I.P.
Группа: Модераторы
Сообщений: 119
Статус: Offline
Цитатаavgaz ()
Не каких новостей нет?
Нет, обращение в службу поддержки пока осталось без ответа.
Цитатаavgaz ()
Ещё такой вопрос, при озвучке через Microsoft Azure при простое возникает ошибка, то есть озвучил текст, далее пытаешься через час ещё раз озвучить, но выдает ошибку, приходится перезапускать программу.
Спасибо за информацию. Не проверяли, через сколько времени при постое сервис выдает ошибку? Чем точнее удастся узнать минимальную длительность простоя на разных компьютерах, тем лучше.
Цитатаavgaz ()
Ещё можно сделать, что бы при Microsoft Azure убирался перенос строки?
Форматируйте текст в главном окне программы (пункт главного меню "Текст|Форматировать текст", настроить форматирование можно в окне "Общие настройки"). Это всё, что могу предложить.
Цитатаavgaz ()
В идеале ещё бы сделать автоматическую замену и точки на настроенный параметр паузы
Правила для замен в этом окне не применяются. С тегами SSML рекомендую быть осторожнее: программа делит текст на части, чтобы отправить запросы к серверу. Если убрать знаки препинания и разрывы строк, текст будет поделен на части непредсказуемым образом.
Дата: Понедельник, 08.11.2021, 23:34 | Сообщение #15
Группа: Пользователи
Сообщений: 25
Статус: Offline
Цитатаbalabolka ()
Спасибо за информацию. Не проверяли, через сколько времени при постое сервис выдает ошибку? Чем точнее удастся узнать минимальную длительность простоя на разных компьютерах, тем лучше.
минут через 30 уже отдает ошибку 500
Цитатаbalabolka ()
С тегами SSML рекомендую быть осторожнее: программа делит текст на части, чтобы отправить запросы к серверу. Если убрать знаки препинания и разрывы строк, текст будет поделен на части непредсказуемым образом.
ну тут как бы приходится использовать т.к у этого голоса точки и перенос строки очень длинные паузы.. А на какое количество символов разбивается текст на части?