Использование личного голоса в приложении

Вы можете использовать идентификатор профиля диктора для синтеза речи на любом из 91 поддерживаемых языков в более чем 100 языковых локалях. Не требуется тег локали. Личный голос использует автоматическое обнаружение языка на уровне предложения.

Интеграция личного голоса в приложении

Для использования личного голоса в приложении необходимо использовать язык разметки синтеза речи (SSML ). SSML — это язык разметки на основе XML, который предоставляет стандартный способ разметки текста для создания искусственной речи. Теги SSML используются для управления произношением, громкости, шагом, скоростью и другими атрибутами выходных данных синтеза речи.

  • Свойство speakerProfileId в SSML используется для указания идентификатора профиля говорящего для личного голоса.

  • Имя голоса указывается в свойстве name SSML. Для персонального голоса его имя должно быть одним из поддерживаемых имен в базовой голосовой модели. Чтобы получить список поддерживаемых имен голосовой связи базовой модели, используйте BaseModels_List операцию пользовательского API голосовой связи.

    Примечание.

    Имена голосов, помеченные таким образом, как Latest, DragonLatestNeural или PhoenixLatestNeural, будут обновляться время от времени; их производительность может варьироваться с обновлениями для постоянного улучшения. Если вы хотите использовать фиксированную версию, выберите одну метку с номером версии, например PhoenixV2Neural.

  • DragonLatestNeural — это базовая модель с превосходным сходством в клонировании голоса по сравнению с PhoenixLatestNeural. PhoenixLatestNeural является базовой моделью с более точным произношением и более низкой задержкой, чем DragonLatestNeural.

  • Для личного голоса можно использовать <lang xml:lang> элемент для настройки языка речи. Это то же самое, что и у многоязычных голосов. Узнайте , как использовать элемент lang для говорить на разных языках.

Ниже приведен пример SSML в запросе на text to speech с именем голоса и идентификатором профиля говорящего. В этом примере также показано, как переключаться с языка en-US на zh-HK, используя элемент <lang xml:lang>.

<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xmlns:mstts='http://www.w3.org/2001/mstts' xml:lang='en-US'>
    <voice name='DragonLatestNeural'> 
        <mstts:ttsembedding speakerProfileId='your speaker profile ID here'> 
            I'm happy to hear that you find me amazing and that I have made your trip planning easier and more fun. 
            <lang xml:lang='zh-HK'>我很高興聽到你覺得我很了不起,我讓你的旅行計劃更輕鬆、更有趣。</lang>
        </mstts:ttsembedding> 
    </voice> 
</speak>

SSML можно использовать с помощью Speech SDK или REST API.

  • Синтез речи в реальном времени: используйте Speech SDK или REST API для преобразования текста в речь.
    • При использовании Speech SDK не устанавливайте идентификатор конечной точки, так же как и при использовании заранее настроенных голосов.
    • При использовании REST API используйте стандартную конечную точку голосов.

Поддерживаемые и неподдерживаемые элементы SSML для личного голоса

Подробные сведения о поддерживаемых и неподдерживаемых элементах SSML для моделей Phoenix и Dragon см. в следующей таблице. Инструкции по использованию элементов SSML см. в структуре и событиях документов SSML.

Элемент Описание Поддерживается в Phoenix Поддерживается в Dragon
<voice> Указывает голос и необязательные эффекты (eq_car и eq_telecomhp8k). Да Да
<mstts:express-as> Задает стили и роли речи. нет нет
<mstts:ttsembedding> Указывает speakerProfileId свойство для персонального голоса. Да Да
<lang xml:lang> Задает язык речи. Да Да
<prosody> Настраивает тон, тембр, диапазон, скорость и громкость.
   pitch Задает базовую высоту тона для текста. нет нет
   contour Представляет изменения высоты тона. нет нет
   range Представляет диапазон высоты для текста. нет нет
   rate Указывает скорость произнесения текста. Да Да
   volume Указывает уровень громкости речи. нет нет
<emphasis> Добавляет или убирает акцент на словах в тексте. нет нет
<audio> Внедряет предварительно подготовленный звук в документ SSML. Да нет
<mstts:audioduration> Указывает длительность выходного звука. нет нет
<mstts:backgroundaudio> Добавляет фоновый звук в документы SSML или смешивает звуковой файл с text to speech. Да нет
<phoneme> Указывает фонетическое произношение в документах SSML.
   ipa Один из фонетических алфавитов. Да нет
   sapi Один из фонетических алфавитов. нет нет
   ups Один из фонетических алфавитов. Да нет
   x-sampa Один из фонетических алфавитов. Да нет
<lexicon> Определяет, как считываются несколько сущностей в SSML. Да Да (только псевдоним поддержки)
<say-as> Указывает тип контента, например число или дату текста элемента. Да Да
<sub> Указывает, что текстовое значение атрибута псевдонима должно быть произнесено вместо текста, заключенного в элементе. Да Да
<math> Использует MathML в качестве входного текста для правильного произношения математических нотации в выходном звуке. Да нет
<bookmark> Получает смещение каждого маркера в звуковом потоке. Да нет
<break> Переопределяет поведение разрывов или пауз по умолчанию между словами. Да Да
<mstts:silence> Вставляет паузы до или после текста, или между двумя соседними предложениями. Да нет
<mstts:viseme> Определяет положение лица и рта во время выступления человека. Да нет
<p> Обозначает абзацы в документах SSML. Да Да
<s> Обозначает предложения в документах SSML. Да Да

Поддерживаемые и неподдерживаемые функции пакета SDK для личного голоса

В следующей таблице описаны возможности пакета SDK для моделей Phoenix и Dragon. Дополнительные сведения об использовании этих функций пакета SDK в приложениях см. в статье "Подписка на события синтезатора".

Возможности пакета SDK Описание Поддерживается в Phoenix Поддерживается в Dragon
Граница слова Сигнализирует о получении границы слова в процессе синтеза, обеспечивая точное время произнесения слов во время синтеза речи. Да нет
События Viseme Предоставляет информацию о виземах (движении губ, челюсти и языка) во время синтеза, позволяя визуальную синхронизацию. Да нет

Справочная документация

Следующие шаги

  • Дополнительные сведения о пользовательском голосе см. в обзоре.
  • Дополнительные сведения о Speech Studio см. в обзоре.