Как изменить громкость преобразования текста в речь для объектов SpeechSynthesizer в Azure CognitiveServices SDK без изменения громкости системы в С#

Я использую С# и преобразование текста в речь Azure SDK. Голос очень громкий по сравнению с другими звуками, и это проблема. Я не смогу использовать эту возможность, если не смогу изменить только громкость TTS. Я нашел этот URL: Синтезатор речи.Свойства . Обычно я нахожу новую документацию Microsoft очень полезной, но она бесполезна. Есть свойства, но нет абсолютно никакого способа определить, что это за свойства. Многие голосовые объекты такие. Свойства с API для получения известных свойств и их установки, но нет возможности узнать, что это за свойства.

Я знаю уровень громкости в микшере. Это единственный способ сделать это? Программно получить доступ к элементам управления микшером и изменить их для приложения? Если да, то это создает другие проблемы, поскольку то же самое приложение воспроизводит другой звук, который необходимо сбалансировать с этим.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
169
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать 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 и использовать его для настройки свойств вывода речи. Вам нужно будет прокрутить немного вниз, чтобы увидеть это.

Спасибо! Я проверю, сообщу, как все пройдет. Вероятно, принятый ответ. Я надеялся на чистое решение на C# без SSML, но если это единственный способ, я могу с этим жить.

Vector 06.05.2024 07:26

@Vector - будь уверен! Я исправил свой ответ, включив еще один вариант.

cdub 06.05.2024 16:22

Эта ссылка: Learn.microsoft.com/en-us/azure/ai-services/speech-service/… заставляет меня поверить, что единственный способ получить доступ к базовым экземплярам Prosody, используемым преобразованием текста в речь Azure, — это через SSML (вариант 1), опубликованный выше. Я не могу найти способ получить доступ к какому-либо экземпляру Prosody или передать Speech API один из моих собственных экземпляров.

Vector 06.05.2024 17:15

Виноват. Вариант №2 предназначен для другого варианта использования — пропустил его при первом просмотре документа. Я удалю это из своего ответа.

cdub 06.05.2024 20:56

Код немного некрасивый, но это нормально. В течение многих лет я был категорически против Microsoft из-за враждебных настроений в технологическом сообществе и на рынке, особенно когда дело касалось сообщества открытого исходного кода, независимо от того, сколько долларов они пожертвовали на образование. и студенты в попытке манипулятивно «подключить» будущих студентов-компьютерщиков к своим технологиям. MS набрала 180 баллов, и я тоже. Теперь я поддерживаю и продвигаю облачные продукты, услуги и языки Microsoft, где бы я ни был, и я очень влиятельный человек в своей области. Это небольшое неудобство легко не заметить. Спасибо за помощь. С наилучшими пожеланиями, cdub!

Vector 07.05.2024 08:28

Другие вопросы по теме

Powershell с Graph API и PSCustomObject
Не удалось добавить настройки приложения с двоеточием с помощью сценария Bicep в службу приложений Azure
Извлечь значение из Key Vault для использования в локальном файле web.config
Azure AI Studio — вызовы API развертывания индекса ML GPT4 не работают из-за ошибки access_token
Роли, назначенные управляемому удостоверению в Azure, отсутствуют в токене
Могу ли я иметь секреты, срок действия которых не истекает в системе единого входа Microsoft через Azure Microsoft Entra ID?
Az Powershell – невозможно прочитать содержимое файла CSV
Бета-версия C# Graph позволяет получить все типы назначений с их правилами обнаружения для всех Win32LobApps за один вызов
Служба связи Azure — ошибка «Приложение пытается получить доступ к службе 1fd5118e-2576-4263-8130-9503064c837a». Тогда известное решение не работает
Распространение самостоятельного расширения Chrome через организацию, управляемую Azure