Я использую С# и преобразование текста в речь Azure SDK. Голос очень громкий по сравнению с другими звуками, и это проблема. Я не смогу использовать эту возможность, если не смогу изменить только громкость TTS. Я нашел этот URL: Синтезатор речи.Свойства . Обычно я нахожу новую документацию Microsoft очень полезной, но она бесполезна. Есть свойства, но нет абсолютно никакого способа определить, что это за свойства. Многие голосовые объекты такие. Свойства с API для получения известных свойств и их установки, но нет возможности узнать, что это за свойства.
Я знаю уровень громкости в микшере. Это единственный способ сделать это? Программно получить доступ к элементам управления микшером и изменить их для приложения? Если да, то это создает другие проблемы, поскольку то же самое приложение воспроизводит другой звук, который необходимо сбалансировать с этим.
Вы можете использовать SSML для регулировки громкости и других характеристик речевого вывода.
Атрибут volume
просодического тега похож на то, что вы ищете. Вот пример из по этой ссылке:
<speak version = "1.0" xmlns = "http://www.w3.org/2001/10/synthesis" xml:lang = "en-US">
<voice name = "en-US-AvaMultilingualNeural">
<prosody volume = "+20.00%">
Enjoy using text to speech.
</prosody>
</voice>
</speak>
По этой ссылке приведен пример C#, показывающий, как создать SSML и использовать его для настройки свойств вывода речи. Вам нужно будет прокрутить немного вниз, чтобы увидеть это.
@Vector - будь уверен! Я исправил свой ответ, включив еще один вариант.
Эта ссылка: Learn.microsoft.com/en-us/azure/ai-services/speech-service/… заставляет меня поверить, что единственный способ получить доступ к базовым экземплярам Prosody, используемым преобразованием текста в речь Azure, — это через SSML (вариант 1), опубликованный выше. Я не могу найти способ получить доступ к какому-либо экземпляру Prosody или передать Speech API один из моих собственных экземпляров.
Виноват. Вариант №2 предназначен для другого варианта использования — пропустил его при первом просмотре документа. Я удалю это из своего ответа.
Код немного некрасивый, но это нормально. В течение многих лет я был категорически против Microsoft из-за враждебных настроений в технологическом сообществе и на рынке, особенно когда дело касалось сообщества открытого исходного кода, независимо от того, сколько долларов они пожертвовали на образование. и студенты в попытке манипулятивно «подключить» будущих студентов-компьютерщиков к своим технологиям. MS набрала 180 баллов, и я тоже. Теперь я поддерживаю и продвигаю облачные продукты, услуги и языки Microsoft, где бы я ни был, и я очень влиятельный человек в своей области. Это небольшое неудобство легко не заметить. Спасибо за помощь. С наилучшими пожеланиями, cdub!
Спасибо! Я проверю, сообщу, как все пройдет. Вероятно, принятый ответ. Я надеялся на чистое решение на C# без SSML, но если это единственный способ, я могу с этим жить.