Настройка голоса и звука с помощью SSML

Вы можете использовать язык разметки синтеза речи (SSML), чтобы указать параметры озвучивания, такие как голос, язык, имя, стиль и роль, для вашего выходного речевого потока. Вы также можете использовать несколько голосов в одном документе SSML и настроить акцент, скорость речи, шаг и громкость. Кроме того, SSML позволяет вставлять предварительно подготовленный звук, например звуковые эффекты или музыкальные заметки.

В статье показано, как использовать элементы SSML для указания голоса и звука. Дополнительные сведения о синтаксисе SSML см. в статье о структуре и событиях документов SSML.

Использование элементов голосовой связи

В каждом SSML элементе voice должно быть указано по крайней мере один элемент. Этот элемент определяет голос, используемый для преобразования текста в речь.

Можно включить несколько voice элементов в один документ SSML. Каждый voice элемент может указать другой голос. Вы также можете использовать один и тот же голос несколько раз с разными параметрами, например при изменении длительности молчания между предложениями.

В следующей voice таблице описывается использование атрибутов элемента:

Атрибут Описание Обязательный или необязательный
name Голос, используемый для преобразования текста в речь. Полный список поддерживаемых стандартных голосов см. в разделе "Поддержка языков". Обязательно
effect Обработчик звуковых эффектов, используемый для оптимизации качества синтезированных выходных данных речи для определенных сценариев на устройствах.

Для некоторых сценариев в рабочих средах зрительный опыт может быть понижен из-за искажения воспроизведения на определенных устройствах. Например, синтезированная речь из автомобильного динамика может звучать скучно и приглушенно из-за факторов окружающей среды, таких как отклик динамиков, реверберация в салоне и фоновый шум. Пассажиру, возможно, придется включить громкость, чтобы услышать более четко. Чтобы избежать ручных операций в таком сценарии, обработчик звуковых эффектов может сделать звук более понятным, компенсируя искажение воспроизведения.

Поддерживаются следующие значения:
  • eq_car — Оптимизируйте зрительный опыт при обеспечении высокой точности речи в автомобилях, автобусах и других закрытых автомобилях.
  • eq_telecomhp8k — Оптимизируйте слуховой опыт для узкополосной речи в сценариях телекоммуникаций или телефонии. Следует использовать частоту выборки 8 кГц. Если частота выборки не составляет 8 кГц, качество вывода речи не оптимизировано.

Если значение отсутствует или недопустимо, этот атрибут игнорируется и эффект не применяется.
Необязательный

Примеры голосовой связи

Сведения о поддерживаемых значениях атрибутов voice элемента см. в разделе "Использование голосовых элементов".

Пример единого голоса

В данном примере используется голос en-US-Ava:DragonHDLatestNeural.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-Ava:DragonHDLatestNeural">
        This is the text that is spoken.
    </voice>
</speak>

Пример нескольких голосов

В элементе speak можно указать несколько голосов для вывода текста в речь. Эти голоса могут быть на разных языках. Для каждого голоса текст должен быть упакован в voice элемент.

Этот пример чередуется между голосами en-US-Ava:DragonHDLatestNeural и en-US-Andrew:DragonHDLatestNeural. Нейронные многоязычные голоса могут говорить на разных языках на основе входного текста.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-Ava:DragonHDLatestNeural">
        Good morning!
    </voice>
    <voice name="en-US-Andrew:DragonHDLatestNeural">
        Good morning to you too Ava!
    </voice>
</speak>

Пример пользовательской голосовой связи

Чтобы использовать пользовательский голос, укажите имя модели в качестве имени голоса в SSML.

В этом примере используется пользовательский голос с именем my-custom-voice.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="my-custom-voice">
        This is the text that is spoken.
    </voice>
</speak>

Пример звуковых эффектов

Используйте атрибут effect для оптимизации аудио опыта в таких сценариях, как автомобили и телекоммуникации. В следующем примере SSML используется атрибут effect вместе с конфигурацией в автомобильных сценариях.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural" effect="eq_car">
        This is the text that is spoken.
    </voice>
</speak>

Пример голосовой модели с несколькими говорящими

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

Используйте эту возможность для создания привлекательной речи в подкастовом стиле или обмена беседами с плавными переходами между докладчиками. В отличие от моделей с одним говорящим, которые синтезируют каждый ход в изоляции, многоговорящие голоса поддерживают согласованность между спикерами, обеспечивая более аутентичный и захватывающий опыт прослушивания.

en-US-MultiTalker-Ava-Andrew:DragonHDLatestNeural Для элемента <mstts:dialog> можно указать каждую реплику для вывода текста в речь в следующем формате, чтобы чередовать между динамиками ava и andrew для каждой реплики.

<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xmlns:mstts='https://www.w3.org/2001/mstts' xml:lang='en-US'>
    <voice name='en-US-MultiTalker-Ava-Andrew:DragonHDLatestNeural'>
        <mstts:dialog>
            <mstts:turn speaker="ava">Hello, Andrew! How's your day going?</mstts:turn>
            <mstts:turn speaker="andrew">Hey Ava! It's been great, just exploring some AI advancements in communication.</mstts:turn>
            <mstts:turn speaker="ava">That sounds interesting! What kind of projects are you working on?</mstts:turn>
            <mstts:turn speaker="andrew">Well, we've been experimenting with text-to-speech applications, including turning emails into podcasts.</mstts:turn>
            <mstts:turn speaker="ava">Wow, that could really improve content accessibility! Are you looking for collaborators?</mstts:turn>
            <mstts:turn speaker="andrew">Absolutely! We're open to testing new ideas and seeing how AI can enhance communication.</mstts:turn>
        </mstts:dialog>
    </voice>
</speak>

Сведения о поддерживаемых голосах см. в документации по поддержке языка .

Использование стилей речи, паралингвистики и ролей

Стили и паралингвистика в голосах HD

В голосах HD (DragonHD, DragonHD Omni и DragonHD Flash), стили и паралингвистические элементы можно использовать следующими способами:

Тип входных данных Пример
SSML (тег express-as) <Говорить>
<voice name="en-us-Ava:DragonHDLatestNeural">
<mstts:express-as style="whispering">Не говорю никому...</mstts:express-as>
<mstts:express-as style="ecstatic">Это удивительно!</mstts:express-as>
</Голос>
</Говорить>
SSML (маркеры стиля) <Говорить>
<voice name="en-us-Ava:DragonHDLatestNeural">
[шепение] Не говорю никому...
[эксстатический] Это удивительно!
</Голос>
</Говорить>
Обычный текст (после выбора голоса) [шепение] Не говорю никому...
[эксстатический] Это удивительно!

Поддерживаемые стили для Dragon HD

Следующие стили и теги Paralinguistic поддерживаются в голосах HD

Тип Тег
Стили amazed amused angry annoyed anxious appreciative calm cautious concerned confident confused curious defeated defensive defiant determined disappointed disgusted doubtful ecstatic encouraging excited fast fearful frustrated happy hesitant hurt impatient impressed intrigued joking laughing optimistic painful panicked panting pleading proud quiet reassuring reflective relieved remorseful resigned sad sarcastic secretive serious shocked shouting shy skeptical slow struggling surprised suspicious sympathetic terrified upset urgent whispering
Паралингвистики laughter, coughing, throat_clearing, breathing, sighing, yawning

Примечание

Стили доступны на всем английском контенте для всех голосов. Результаты стиля очень важны для входного содержимого: модель адаптирует приложение стиля на основе семантического значения текста. Паралингвистика доступна для всех голосов на всех языках.

Поддерживаемые стили для Dragon HD Omni

Поддерживаются следующие стили и паралингвистические теги в голосах HDOmni.

Тип Тег
Стили amazed, amused, angry, annoyed, anxious, appreciative, calm, cautious, concerned, confident, confused, curious, defeated, defensive, defiant, determined, disappointed, disgusted, doubtful, ecstatic, encouraging, excited, fast, fearful, frustrated, happy, hesitant, hurt, impatient, impressed, intrigued, joking, laughing, optimistic, painful, panicked, panting, pleading, proud, quiet, reassuring, reflective, relieved, remorseful, resigned, sad, sarcastic, secretive, serious, shocked, shouting, shy, skeptical, slow, struggling, surprised, suspicious, sympathetic, terrified, upset, urgent
Паралингвистики laughter, coughing, throat_clearing, breathing, sighing, yawning

Примечание

Стили доступны на всем английском контенте для всех голосов. Результаты стиля очень важны для входного содержимого: модель адаптирует приложение стиля на основе семантического значения текста. Паралингвистика доступна для всех голосов на всех языках.

Стили и роли в нейронных голосах

По умолчанию нейронные голоса имеют нейтральный стиль речи. Вы можете настроить стиль речи, степень стиля и роль на уровне предложения.

Примечание

Служба "Речь" поддерживает стили, степень стиля и роли для подмножества нейронных голосов, как описано в документации по стилям голоса и ролям . Чтобы определить поддерживаемые стили и роли для каждого голоса, можно также использовать API списка голосов и веб-приложение для создания аудиоконтента.

В следующей mstts:express-as таблице описывается использование атрибутов элемента:

Атрибут Описание Обязательный или необязательный
style Стиль речи, характерный для конкретного голоса. Вы можете выразить эмоции, как веселость, сочувствие и спокойствие. Вы также можете оптимизировать голос для различных сценариев, таких как обслуживание клиентов, рассылка новостей и голосовой помощник. Если значение стиля отсутствует или недопустимо, весь mstts:express-as элемент игнорируется, а служба использует нейтральную речь по умолчанию. Для пользовательских стилей голоса см. пример пользовательского стиля голоса. Обязательно
styledegree Интенсивность стиля речи. Вы можете указать более строгий или мягкий стиль, чтобы сделать речь более экспрессивной или сдержанной. Диапазон принятых значений: 0.01 включительно 2 . Значение по умолчанию — 1, что означает предопределенную интенсивность стиля. Минимальная единица — это 0.01, что приводит к легкому предпочтению целевого стиля. Значение 2 приводит к удвоению интенсивности стиля по умолчанию. Если уровень стиля отсутствует или не поддерживается для выбранного голоса, этот атрибут игнорируется. Необязательный
role Ролевая игра с говорением. Голос может имитировать другой возраст и пол, но имя голоса не изменяется. Например, мужской голос может поднять тон и изменить интонацию, чтобы имитировать женский голос, но название голоса не изменяется. Если роль отсутствует или не поддерживается для голоса, этот атрибут игнорируется. Необязательный

В следующей таблице описывается каждый поддерживаемый style атрибут:

Стиль Описание
style="advertisement_upbeat" Выражает взволнованный и высокоэнергетический тон для продвижения продукта или услуги.
style="affectionate" Выражает теплый и ласковый тон, с более высокой высотой звука и энергией в голосе. Докладчик находится в состоянии привлечения внимания прослушивателя. Личность говорящего часто бывает обаятельной по природе.
style="angry" Выражает сердитый и раздраженный тон.
style="assistant" Выражает теплый и расслабленный тон для цифровых помощников.
style="calm" Выражает спокойное, собранное и уравновешенное отношение при разговоре. Тон, высота и просодия являются более однородными по сравнению с другими типами речи.
style="chat" Выражает непринужденный и спокойный тон.
style="cheerful" Выражает положительный и счастливый тон.
style="customerservice" Выражает понятный и полезный тон для поддержки клиентов.
style="depressed" Выражает меланхолический и унылый тон с более низкой тональностью и энергией.
style="disgruntled" Выражает жалобный и презрительный тон. Речь об этих эмоциях отображает неудовольствие и презрение.
style="documentary-narration" Повещает документальные фильмы в расслабленном, интересном и информативном стиле, подходящем для документальных фильмов, экспертных комментариев и аналогичного содержимого.
style="embarrassed" Выражает сомневающийся и неуверенный тон, когда говорящий чувствует себя неудобно.
style="empathetic" Выражает чувство заботы и понимания.
style="envious" Выражает тон восхищения, когда вы хотите что-то, что есть у кого-то другого.
style="excited" Выражает оптимистичный и надеюсь тон. Это звучит как происходит что-то замечательное, и говорящий счастлив об этом.
style="fearful" Выражает испуганный и нервный тон, с более высокой частотой, более высокой вокальной энергией и более быстрым темпом. Докладчик находится в состоянии напряженности и тревоги.
style="friendly" Выражает приятный, приглашающий и теплый тон. Это звучит искренне и заботливо.
style="gentle" Выражает мягкий, вежливый и приятный тон с более низкой высотой тона и вокальной энергией.
style="hopeful" Выражает теплый и тоскующий тон. Ожидается, что с говорящим произойдет что-то хорошее.
style="lyrical" Выражает эмоции в мелодичном и сентиментальном способе.
style="narration-professional" Выражает профессиональный, объективный тон для чтения содержимого.
style="narration-relaxed" Выражает успокаивающий и мелодийный тон для чтения содержимого.
style="newscast" Выражает формальный и профессиональный тон для изложения новостей.
style="newscast-casual" Выражает универсальный и непринужденный тон для общей подачи новостей.
style="newscast-formal" Выражает формальный, уверенный и авторитетный тон для доставки новостей.
style="poetry-reading" Выражает эмоциональный и ритмический тон при чтении стихотворения.
style="sad" Выражает скорбный тон.
style="serious" Выражает строгий и командный тон. Оратор часто звучит более строго и гораздо менее расслабленно с твёрдым ритмом речи.
style="shouting" Выражает тон, который звучит, как будто голос находится далеко или в другом месте и пытается быть четко услышан.
style="sports_commentary" Выражает расслабленный и заинтересованный тон для трансляции спортивного мероприятия.
style="sports_commentary_excited" Выражает интенсивный и энергичный тон для трансляции захватывающих моментов в спортивном мероприятии.
style="whispering" Выражает мягкий тон, который пытается сделать спокойный и нежный звук.
style="terrified" Выражает испуганный тон, с более быстрым темпом и дрожащим голосом. Похоже, оратор находится в неустойчивом и лихорадочном состоянии.
style="unfriendly" Выражает холодный и равнодушный тон.

В следующей таблице приведены описания каждого поддерживаемого role атрибута:

Роль Описание
role="Girl" Голос подражает девушке.
role="Boy" Голос подражает мальчику.
role="YoungAdultFemale" Голос подражает молодой девушке.
role="YoungAdultMale" Голос имитирует молодого взрослого мужчину.
role="OlderAdultFemale" Голос имитирует пожилую женщину.
role="OlderAdultMale" Голос подражает старшему взрослому мужчине.
role="SeniorFemale" Голос подражает старшей женщине.
role="SeniorMale" Голос подражает старшему мужчине.

Примеры использования mstts express-as

Сведения о поддерживаемых значениях атрибутов mstts:express-as элемента см. в разделе "Использование стилей и ролей речи".

Пример стиля и степени

Вы используете mstts:express-as элемент для выражения эмоций, таких как веселость, сочувствие и спокойствие. Вы также можете оптимизировать голос для различных сценариев, таких как обслуживание клиентов, рассылка новостей и голосовой помощник.

В следующем примере SSML используется элемент <mstts:express-as> со степенью стиля sad2.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="zh-CN">
    <voice name="zh-CN-XiaomoNeural">
        <mstts:express-as style="sad" styledegree="2">
            快走吧,路上一定要注意安全,早去早回。
        </mstts:express-as>
    </voice>
</speak>

Пример роли

Помимо настройки стилей речи и степени стиля, можно также настроить role параметр, чтобы голос имитировал другой возраст и пол. Например, мужской голос может поднять тон и изменить интонацию, чтобы имитировать женский голос, но название голоса не изменяется.

В этом фрагменте кода SSML показано, как атрибут role используется для изменения ролевой игры для zh-CN-XiaomoNeural.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="zh-CN">
    <voice name="zh-CN-XiaomoNeural">
        女儿看见父亲走了进来,问道:
        <mstts:express-as role="YoungAdultFemale" style="calm">
            “您来的挺快的,怎么过来的?”
        </mstts:express-as>
        父亲放下手提包,说:
        <mstts:express-as role="OlderAdultMale" style="calm">
            “刚打车过来的,路上还挺顺畅。”
        </mstts:express-as>
    </voice>
</speak>

Пример пользовательского стиля голоса

Вы можете обучить пользовательский голос, чтобы говорить с некоторыми предустановленными стилями, такими как cheerful, sadи whispering. Вы также можете точно настроить профессиональный голос , чтобы говорить в пользовательском стиле, как определено вашими данными обучения. Чтобы использовать пользовательский стиль голоса в SSML, укажите имя стиля, введенное ранее в Speech Studio.

В этом примере используется пользовательский голос с именем my-custom-voice. Пользовательский голос говорит с cheerful предустановленным стилем и степенью 2 стиля, а затем с пользовательским стилем с именем my-custom-style и степенью 0.01 стиля.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
    <voice name="my-custom-voice">
        <mstts:express-as style="cheerful" styledegree="2">
            That'd be just amazing!
        </mstts:express-as>
        <mstts:express-as style="my-custom-style" styledegree="0.01">
            What's next?
        </mstts:express-as>
    </voice>
</speak>

Идентификатор профиля говорящего

Вы используете элемент mstts:ttsembedding, чтобы указать свойство speakerProfileId для личного голоса. Индивидуальный голос — это настроенный голос, созданный на основе вашего собственного голоса или голоса вашего клиента. Дополнительные сведения см. в статье о создании личного голоса.

В следующем примере SSML используется <mstts:ttsembedding> элемент с именем голоса и идентификатором профиля говорящего.

<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 xml:lang='en-US' xml:gender='Male' name='PhoenixV2Neural'> 
    <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. 我很高兴听到你觉得我很了不起,我让你的旅行计划更轻松、更有趣。Je suis heureux d'apprendre que vous me trouvez incroyable et que j'ai rendu la planification de votre voyage plus facile et plus amusante.  
    </mstts:ttsembedding> 
    </voice> 
</speak> 

Настройка языков речи

По умолчанию многоязычные голоса могут автоматически вводить язык входного текста и говорить на языке языкового стандарта по умолчанию входного текста без использования SSML. При необходимости можно использовать <lang xml:lang> элемент для настройки языка речи для этих голосов, чтобы задать предпочтительный акцент, en-GB например для британского английского языка. Вы можете настроить язык речи как на уровне предложения, так и на уровне слова. Сведения о поддерживаемых языках для многоязычного голоса см. в разделе "Многоязычные голоса" с элементом lang для таблицы <lang> с определениями синтаксиса и атрибутов.

В следующей <lang xml:lang> таблице описывается использование атрибутов элемента:

Атрибут Описание Обязательный или необязательный
xml:lang Язык, который вы хотите, чтобы нейронный голос говорил. Требуется настроить язык речи для нейронного голоса. Если вы используете lang xml:lang, необходимо указать локаль.

Примечание

Голоса, не поддерживающие многоязычность, изначально не поддерживают элемент <lang xml:lang>.

Многоязычные голоса с элементом lang

Используйте раздел многоязычных голосов, чтобы определить, какие языки поддерживаются службой синтеза речи для каждого нейронного голоса, как показано в следующей таблице. Если голос не говорит на языке входного текста, служба "Речь" не выводит синтезированный звук.

Голос Номер языка автоматического обнаружения Автоматически определяемый язык (локаль) Все числовые параметры локалей Все языки (локали), поддерживаемые SSML
en-US-AndrewMultilingualNeural 1 (мужчина)
en-US-AvaMultilingualNeural 1 (женщина)
en-US-BrianMultilingualNeural 1 (мужчина)
en-US-EmmaMultilingualNeural 1 (женщина)
77 Африкаанс (af-ZA), албанский (sq-AL), амхарский (am-ET), арабский (ar-EG), армянский (hy-AM), азербайджанский (az-AZ), индонезийский (id-ID), бенгали (bn-BD), баскский (eu-ES), бенгали (bn-IN), боснийский (bs-BA), болгарский (bg-BG), бирманский (my-MM), каталонский (ca-ES), кантонский китайский (zh-HK), мандаринский китайский (zh-CN), китайский тайваньский (zh-TW), хорватский (hr-HR), чешский (cs-CZ), датский (da-DK), голландский (nl-NL), английский (en-US), эстонский (et-EE), филиппинский (fil-PH), финский (fi-FI), французский (fr-FR), галисийский (gl-ES), грузинский (ka-GE), немецкий (de-DE), греческий (el-GR), иврит (he-IL), хинди (hi-IN), венгерский (hu-HU), исландский (is-IS), ирландский (ga-IE), итальянский (it-IT), японский (ja-JP), яванский (jv-ID), каннада (kn-IN), казахский (kk-KZ), кхмерский (km-KH), корейский (ko-KR), лаосский (lo-LA), латышский (lv-LV), литовский (lt-LT), македонский (mk-MK), малайский (ms-MY), малаялам (ml-IN), мальтийский (mt-MT), монгольский (mn-MN), непальский (ne-NP), норвежский Bokmål (nb-NO), пушту (ps-AF), персидский (fa-IR), польский (pl-PL), португальский (pt-BR), румынский (ro-RO), русский (ru-RU), сербский (sr-RS), сингальский (si-LK), словацкий (sk-SK), словенский (sl-SI), сомалийский (so-SO), испанский (es-ES), сунданский (su-ID), суахили (sw-KE), шведский (sv-SE), тамильский (ta-IN), телугу (te-IN), тайский (th-TH), турецкий (tr-TR), украинский (uk-UA), урду (ur-PK), узбекский (uz-UZ), вьетнамский (vi-VN), валлийский (cy-GB), зулу (zu-ZA) 91 Африкаанс (Южная Африка) (af-ZA), албанский (Албания) (sq-AL), амхарский (Эфиопия) (am-ET), арабский (Египет) (ar-EG), арабский (Саудовская Аравия) (ar-SA), армянский (Армения) (hy-AM), азербайджанский (Азербайджан) (az-AZ), баскский (Баския) (eu-ES), бенгальский (Индия) (bn-IN), боснийский (Босния и Герцеговина) (bs-BA), болгарский (Болгария) (bg-BG), бирманский (Мьянма) (my-MM), каталонский (Испания) (ca-ES), китайский (кантонский, традиционный) (zh-HK), китайский (мандарин, упрощённый) (zh-CN), китайский (тайваньский мандарин) (zh-TW), хорватский (Хорватия) (hr-HR), чешский (Чехия) (cs-CZ), датский (Дания) (da-DK), голландский (Бельгия) (nl-BE), голландский (Нидерланды) (nl-NL), английский (Австралия) (en-AU), английский (Канада) (en-CA), английский (Гонконг) (en-HK), английский (Индия) (en-IN), английский (Ирландия) (en-IE), английский (Соединенное Королевство) (en-GB), английский (Соединенные Штаты) (en-US), эстонский (Эстония) (et-EE), филиппинский (Филиппины) (fil-PH), финский (Финляндия) (fi-FI), французский (Бельгия) (fr-BE), французский (Канада) (fr-CA), французский (Франция) (fr-FR), французский (Швейцария) (fr-CH), галисийский (Галисия) (gl-ES), грузинский (Грузия) (ka-GE), немецкий (Австрия) (de-AT), немецкий (Германия) (de-DE), немецкий (Швейцария) (de-CH), греческий (Греция) (el-GR), иврит (Израиль) (he-IL), хинди (Индия) (hi-IN), венгерский (Венгрия) (hu-HU), исландский (Исландия) (is-IS), индонезийский (Индонезия) (id-ID), ирландский (Ирландия) (ga-IE), итальянский (Италия) (it-IT), японский (Япония) (ja-JP), яванский (Индонезия) (jv-ID), каннада (Индия) (kn-IN), казахский (Казахстан) (kk-KZ), кхмерский (Камбоджа) (km-KH), корейский (Корея) (ko-KR), лаосский (Лаос) (lo-LA), латвийский (Латвия) (lv-LV), литовский (Литва) (lt-LT), македонский (Северная Македония) (mk-MK), малайский (Малайзия) (ms-MY), малаялам (Индия) (ml-IN), мальтийский (Мальта) (mt-MT), монгольский (Монголия) (mn-MN), непальский (Непал) (ne-NP), норвежский (букмол, Норвегия) (nb-NO), пушту (Афганистан) (ps-AF), персидский (Иран) (fa-IR), польский (Польша) (pl-PL), португальский (Бразилия) (pt-BR), португальский (Португалия) (pt-PT), румынский (Румыния) (ro-RO), русский (Россия) (ru-RU), сербский (кириллица, Сербия) (sr-RS), синхала (Шри-Ланка) (si-LK), словацкий (Словакия) (sk-SK), словенский (Словения) (sl-SI), сомалийский (Сомали) (so-SO), испанский (Мексика) (es-MX), испанский (Испания) (es-ES), сунданский (Индонезия) (su-ID), суахили (Кения) (sw-KE), шведский (Швеция) (sv-SE), тамильский (Индия) (ta-IN), телугу (Индия) (te-IN), тайский (Таиланд) (th-TH), турецкий (Турция) (tr-TR), украинский (Украина) (uk-UA), урду (Пакистан) (ur-PK), узбекский (Узбекистан) (uz-UZ), вьетнамский (Вьетнам) (vi-VN), валлийский (Соединенное Королевство) (cy-GB), зулу (Южная Африка) (zu-ZA)

1 Это нейронные многоязычные голоса в Azure Speech в инструментах Foundry. Все многоязычные голоса могут говорить на языке по умолчанию исходного текста без использования SSML. Тем не менее, вы по-прежнему можете использовать <lang xml:lang> элемент для настройки акцента на каждом языке, чтобы задать предпочтительный акцент, например британский акцент (en-GB) для английского языка. Префикс в каждом имени голоса указывает его основной языковой стандарт; например, основной языковой стандарт для en-US-AndrewMultilingualNeural - это en-US.

Примеры Lang

Сведения о поддерживаемых значениях атрибутов lang элемента см. в разделе "Настройка языка речи".

Необходимо указать en-US язык по умолчанию в элементе speak , независимо от того, корректируется ли язык в другом месте. В этом примере основным языком является en-US-Ava:DragonHDLatestNeuralen-US.

В этом фрагменте SSML показано, как использовать <lang xml:lang> для озвучивания de-DE с помощью нейронного голоса en-US-Ava:DragonHDLatestNeural.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
    <voice name="en-US-Ava:DragonHDLatestNeural">
        <lang xml:lang="de-DE">
            Wir freuen uns auf die Zusammenarbeit mit Ihnen!
        </lang>
    </voice>
</speak>

В элементе speak можно указать несколько языков, включая en-US для преобразования текста в речь. Для каждого измененного языка текст должен соответствовать языку и быть упакован в voice элемент. В этом фрагменте SSML показано, как использовать <lang xml:lang> для изменения языков на es-MX, en-US, и fr-FR.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
    <voice name="en-US-Ava:DragonHDLatestNeural">
        <lang xml:lang="es-MX">
            ¡Esperamos trabajar con usted!
        </lang>
        <lang xml:lang="en-US">
           We look forward to working with you!
        </lang>
        <lang xml:lang="fr-FR">
            Nous avons hâte de travailler avec vous!
        </lang>
    </voice>
</speak>

Настройка просодии

С помощью элемента prosody можно указать изменения в высоте звука, контуре звука, диапазоне, скорости и громкости для вывода речи текста. Элемент prosody может содержать текст и следующие элементы: audio, break, pphoneme, , prosody, say-assubи s.

Так как значения просодических атрибутов могут варьироваться в широком диапазоне, распознаватель речи рассматривает назначенные значения как подсказку для определения фактических просодических характеристик выбранного голоса. Синтез речи ограничивает или заменяет значения, которые не поддерживаются. Примеры неподдерживаемых значений — это частота 1 МГц или громкость 120.

В следующей prosody таблице описывается использование атрибутов элемента:

Атрибут Описание Обязательный или необязательный
contour Контур представляет изменения в высоте звука. Эти изменения представлены в виде массива мишеней в указанных временных позициях в выходных данных речи. Наборы пар параметров определяют каждый целевой объект. Например:

<prosody contour="(0%,+20Hz) (10%,-2st) (40%,+10Hz)">

Первое значение в каждом наборе параметров указывает точку изменения высоты в процентах от продолжительности текста. Второе значение указывает величину для повышения или понижения тона с помощью относительного значения или значения перечисления для тона (см. раздел pitch). Контур высоты тона не работает на отдельных словах и коротких фразах. Рекомендуется настроить контур шага по целым предложениям или длинным фразам.
Необязательный
pitch Указывает базовый тон для текста. Изменения высоты тона можно применить на уровне предложения. Изменения шага должны быть в пределах 0,5 до 1,5 раза исходного звука. Вы можете выразить тон следующим образом:
  • Абсолютное значение: выражение в виде числа, за которым следует "Гц" (Герц). Например, <prosody pitch="600Hz">some text</prosody>.
  • Относительное значение:
    • Как относительное число: выражено как число, перед которым стоит "+" или "-", и за которым следует "Гц" или "st", что указывает величину изменения тона. Например: <prosody pitch="+80Hz">some text</prosody> или <prosody pitch="-2st">some text</prosody>. "st" указывает, что единица изменения является полутоном, который составляет половину тона (половина шага) на стандартной диатонической шкале.
    • В процентах: выражено как число, предшествовающее "+" (необязательно) или "-" и за которым следует "%", указывающее относительное изменение. Например: <prosody pitch="50%">some text</prosody> или <prosody pitch="-50%">some text</prosody>.
  • Константное значение:
    • x-low (эквивалентно 0,55,-45%)
    • low (эквивалентно 0,8, -20%)
    • medium (эквивалентно 1, значение по умолчанию)
    • high (эквивалентно 1.2, +20%)
    • x-high (эквивалентно 1,45, +45%)
Необязательный
range Значение, представляющее диапазон высоты для текста. Вы можете выразить range , используя те же абсолютные значения, относительные значения или значения перечисления, используемые для описания pitch. Необязательный
rate Указывает скорость речи текста. Скорость речи может применяться на уровне слова или предложения. Изменения скорости должны находиться в пределах 0.52 времени исходного звука. Вы можете выразить rate следующим образом:
  • Относительное значение:
    • Как относительное число: выражено как число, которое выступает в качестве множителя для значения по умолчанию. Например, значение 1 не изменяет исходную норму. Значение 0.5 приводит к уменьшению исходной скорости вдвое. Значение 2 приводит к удвоению исходной ставки.
    • В процентах: выражено как число, предшествовающее "+" (необязательно) или "-" и за которым следует "%", указывающее относительное изменение. Например: <prosody rate="50%">some text</prosody> или <prosody rate="-50%">some text</prosody>.
  • Константное значение:
    • x-slow (эквивалентно 0,5, -50%)
    • slow (эквивалентно 0,64, -46%)
    • medium (эквивалентно 1, значение по умолчанию)
    • fast (эквивалентно 1,55, +55%)
    • x-fast (эквивалентно 2, +100%)
Необязательный
volume Указывает уровень громкости голосового голоса. Изменения тома можно применять на уровне предложения. Вы можете выразить объем следующим образом:
  • Абсолютное значение: представлено в виде числа в диапазоне от 0.0 до 100.0, от тихого до громкого, такого как 75. Значение по умолчанию — 100.0.
  • Относительное значение:
    • Как относительное число: выражено как число с предшествующим знаком "+" или "-", указывающее сумму для изменения громкости. Примеры: +10 или -5.5.
    • В процентах: выражено как число, предшествовающее "+" (необязательно) или "-" и за которым следует "%", указывающее относительное изменение. Например: <prosody volume="50%">some text</prosody> или <prosody volume="+3%">some text</prosody>.
  • Константное значение:
    • silent (эквивалентно 0)
    • x-soft (эквивалентно 0.2)
    • soft (эквивалентно 0.4)
    • medium (эквивалентно 0.6)
    • loud (эквивалентно 0.8)
    • x-loud (эквивалентно 1, значение по умолчанию)
Необязательный

Примеры просодии

Сведения о поддерживаемых значениях атрибутов prosody элемента см. в разделе "Настройка просодии".

Пример изменения скорости речи

В этом фрагменте кода SSML показано, как rate атрибут используется для изменения скорости речи на 30% больше, чем скорость по умолчанию.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-Ava:DragonHDLatestNeural">
        <prosody rate="+30.00%">
            Enjoy using text to speech.
        </prosody>
    </voice>
</speak>

Пример изменения громкости

В этом фрагменте SSML показано, как атрибут volume используется для изменения громкости на 20% выше громкости по умолчанию.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-Ava:DragonHDLatestNeural">
        <prosody volume="+20.00%">
            Enjoy using text to speech.
        </prosody>
    </voice>
</speak>

Пример изменения шага

В этом фрагменте кода SSML показано, как атрибут pitch используется, чтобы голос говорил на высоком тоне.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural">
        Welcome to <prosody pitch="high">Enjoy using text to speech.</prosody>
    </voice>
</speak>

Пример контура изменения тона

В этом фрагменте SSML показано, как contour атрибут используется для изменения контура.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural">
        <prosody contour="(60%,-60%) (100%,+80%)" >
            Were you the only person in the room?
        </prosody>
    </voice>
</speak>

Настройка выделения

Необязательный элемент emphasis можно использовать для добавления или удаления ударения на уровне отдельных слов. Этот элемент может содержать только текст и следующие элементы: audio, breakemphasislang, phoneme, prosodysay-assubvoiceи .

Примечание

Настройка выделения на уровне слова доступна только для этих нейронных голосов: en-US-GuyNeural, en-US-DavisNeuralи en-US-JaneNeural.

Для слов, которые имеют низкую высоту и короткую длительность, высота тона может быть недостаточно поднята, чтобы быть замеченной.

В следующей таблице описаны атрибуты элемента emphasis.

Атрибут Описание Обязательный или необязательный
level Указывает степень акцентирования:
  • reduced
  • none
  • moderate
  • strong

level Если атрибут не указан, используется moderateуровень по умолчанию. Дополнительные сведения о каждом атрибуте см. в разделе "Элемент выделения".
Необязательный

Примеры выделения

Сведения о поддерживаемых значениях атрибутов emphasis элемента см. в разделе "Настройка выделения".

В этом фрагменте SSML показано, как использовать элемент emphasis для придания акцента умеренного уровня на слово "собрания".

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
    <voice name="en-US-AndrewMultilingualNeural">
    I can help you join your <emphasis level="moderate">meetings</emphasis> fast.
    </voice>
</speak>

Добавление записанного звука

Элемент audio необязателен. Его можно использовать для вставки предварительно созданного звука в документ SSML. Текст audio элемента может содержать обычный текст или разметку SSML, если звуковой файл недоступен или недоступен для воспроизведения. Элемент audio также может содержать текст и следующие элементы: audio, break, ps, , phoneme, prosodysay-asи sub.

Любой звук, включенный в документ SSML, должен соответствовать следующим требованиям:

  • Звуковой файл должен быть допустимым файлом *.mp3, *.wav, *.opus, *.ogg, *.flac или *.wma.
  • Общее общее время для всех текстовых и звуковых файлов в одном ответе не может превышать 600 секунд.
  • Звук не должен содержать какие-либо сведения, относящиеся к клиенту, или другие конфиденциальные данные.

Примечание

Элемент audio не поддерживается API Long Audio. Вместо этого используйте API пакетного синтеза для преобразования длинных текстов в речь.

В следующей audio таблице описывается использование атрибутов элемента:

Атрибут Описание Обязательный или необязательный
src Расположение URI звукового файла. Звук должен размещаться в конечной точке HTTPS, доступной в Интернете. Требуется ПРОТОКОЛ HTTPS. Домен, на котором размещен файл, должен представлять действительный доверенный TLS/SSL-сертификат. Вы должны поместить звуковой файл в Хранилище BLOB-объектов в том же регионе Azure, что и конечная точка преобразования текста в речь, чтобы свести к минимуму задержку. Обязательно

Примеры звука

Сведения о поддерживаемых значениях атрибутов audio элемента см. в разделе "Добавление записанного звука".

В этом фрагменте SSML показано, как использовать src атрибут для вставки звука из двух файлов .wav.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural">
        <p>
            <audio src="https://contoso.com/opinionprompt.wav"/>
            Thanks for offering your opinion. Please begin speaking after the beep.
            <audio src="https://contoso.com/beep.wav">
                Could not play the beep, please voice your opinion now.
            </audio>
        </p>
    </voice>
</speak>

Настройка длительности звука

mstts:audioduration Используйте элемент, чтобы задать длительность выходного звука. Используйте этот элемент для синхронизации времени завершения вывода звука. Длительность звука может быть уменьшена или увеличена между 0.52 временем частоты исходного звука. Исходный звук — это звук без других параметров скорости. Скорость речи замедляется или увеличивается соответствующим образом на основе заданного значения.

Параметр длительности звука применяется ко всему входному тексту в его заключающем элементе voice. Чтобы снова сбросить или изменить параметр длительности звука, необходимо использовать новый voice элемент с тем же голосом или другим голосом.

В следующей mstts:audioduration таблице описывается использование атрибутов элемента:

Атрибут Описание Обязательный или необязательный
value Запрошенная длительность выходного звука в секундах, например 2sв миллисекундах, например 2000ms.

Максимальное значение для продолжительности выходного звука составляет 300 секунд. Это значение должно находиться в пределах 0.52 времени исходного звука без каких-либо других параметров скорости. Например, если запрошенная продолжительность звука составляет 30s, исходный звук должен быть в противном случае — от 15 до 60 секунд. Если задать значение вне этих границ, длительность устанавливается в соответствии с соответствующим минимальным или максимальным множителем. Для выходного звука, превышающего 300 секунд, сначала создайте исходный звук без других параметров скорости, а затем вычислите частоту для настройки с помощью скорости просодии, чтобы достичь требуемой длительности.
Обязательно

Примеры продолжительности звука mstts

Сведения о поддерживаемых значениях атрибутов mstts:audioduration элемента см. в разделе "Настройка длительности звука".

В этом примере исходный звук составляет около 15 секунд. Элемент mstts:audioduration используется для задания продолжительности звука в 20 секунд или 20s.

<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="en-US-AvaMultilingualNeural">
<mstts:audioduration value="20s"/>
If we're home schooling, the best we can do is roll with what each day brings and try to have fun along the way.
A good place to start is by trying out the slew of educational apps that are helping children stay happy and smash their schooling at the same time.
</voice>
</speak>

Добавление фонового звука

mstts:backgroundaudio элемент можно использовать для добавления фонового звука в документы SSML или смешивания аудиофайла с преобразованием текста в речь. С помощью mstts:backgroundaudio вы можете зацикливать звуковой файл в фоновом режиме, плавно усиливать звук в начале преобразования текста в речь и плавно затухать в конце.

Если фоновый звук предоставляется короче, чем текст для речи или исчезает, он циклируется. Если длина текста больше времени синтеза речи, оно останавливается, когда затухание завершено.

Для каждого документа SSML допускается только один фоновый звуковой файл. Можно вставлять теги audio в элемент voice, чтобы добавить больше звука в ваш SSML-документ.

Примечание

Элемент mstts:backgroundaudio должен быть помещен перед всеми voice элементами. Если задано, оно должно быть первым дочерним элементом speak элемента.

Элемент mstts:backgroundaudio не поддерживается API Long Audio. В случае длинного текста для синтеза речи вместо этого используйте API пакетного синтеза (Предварительно).

В следующей mstts:backgroundaudio таблице описывается использование атрибутов элемента:

Атрибут Описание Обязательный или необязательный
src Расположение URI фонового звукового файла. Обязательно
volume Том фонового звукового файла. Принятые значения: от 0 до 100 включительно. Значение по умолчанию — 1. Необязательный
fadein Длительность фонового звука исчезает в миллисекундах. Значение по умолчанию — 0, что эквивалентно отсутствию плавного появления. Принятые значения: от 0 до 10000 включительно. Необязательный
fadeout Длительность затухания фонового звука в миллисекундах. Значение по умолчанию — 0, что эквивалентно отсутствию эффекта исчезания. Принятые значения: от 0 до 10000 включительно. Необязательный

Примеры mstss backgroundaudio

Сведения о поддерживаемых значениях атрибутов элемента см. в разделе mstts:backgroundaudi звука".

<speak version="1.0" xml:lang="en-US" xmlns:mstts="http://www.w3.org/2001/mstts">
    <mstts:backgroundaudio src="https://contoso.com/sample.wav" volume="0.7" fadein="3000" fadeout="4000"/>
    <voice name="en-US-AvaMultilingualNeural">
        The text provided in this document are spoken over the background audio.
    </voice>
</speak>

Элемент Viseme

Viseme — это визуальное описание фонемы в устной речи. Он определяет положение лица и рта в то время как человек говорит. Вы можете использовать элемент mstts:viseme в SSML для запроса вывода viseme. Дополнительные сведения см. в разделе Получение позиции лица с использованием viseme.

Параметр viseme применяется ко всем входным текстам в его заключающем элементе voice. Чтобы снова сбросить или изменить параметр viseme, необходимо использовать новый voice элемент с тем же голосом или другим голосом.

viseme Использование атрибутов элемента описано в следующей таблице.

Атрибут Описание Обязательный или необязательный
type Тип выходных данных viseme.
  • redlips_front — синхронизация губ с идентификатором viseme и выходными данными смещения звука
  • FacialExpression — смешивание выходных данных фигур
Обязательно

Примечание

В настоящее время redlips_front поддерживает только нейронные голоса в локали en-US, а FacialExpression поддерживает нейронные голоса в локалях en-US и zh-CN.

Примеры Viseme

viseme поддерживаемые значения атрибутов элемента.

В этом фрагменте SSML показано, как запрашивать фигуры с синтезируемой речью.

<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="en-US-AvaNeural">
    <mstts:viseme type="FacialExpression"/>
    Rainbow has seven colors: Red, orange, yellow, green, blue, indigo, and violet.
  </voice>
</speak>

Элемент преобразования голоса

Преобразование голоса (предварительная версия) — это процесс изменения характеристик голоса заданного аудио в целевой голос. После преобразования голоса полученный аудиофайл сохраняет лингвистическое содержимое и просодию исходного звука, а тембр голоса звучит как голос целевого говорящего. Дополнительные сведения см. в разделе "Преобразование голоса".

<mstts:voiceconversion> Используйте тег с помощью языка разметки синтеза речи (SSML), чтобы указать исходный звуковой URL-адрес и целевой голос для преобразования. Полный список поддерживаемых целевых голосов см. в разделе поддерживаемых голосов для преобразования голоса.

В следующей mstts:voiceconversion таблице описывается использование атрибутов элемента:

Атрибут Описание Обязательный или необязательный
url URL-адрес исходного звукового файла, который предоставляет лингвистическое содержание и просодию для синтезированной речи.

Доступ к url должен быть по URL-адресу HTTPS. Например https://example.com/source.wav

Аудиофайл должен быть не больше 100 МБ.
Обязательно

Вот как работает преобразование голоса:

  • Исходный звук — это предварительно подготовленный аудиофайл, содержащий слова и просодию.
    • Текстовое содержимое: последняя синтезированная речь следует речевым словам в исходном звуке.
    • Просодия и ритм: речь сохраняет темп и интонацию как в источнике.
  • Тег <voice> указывает целевой голос, используемый для выходного звука. Для получения информации о поддерживаемых целевых голосах, см. раздел поддерживаемые голоса для преобразования речи.
  • Выходной звук сохраняет тембр (тон и качество голоса) целевого голоса, но следует тексту и стилю исходного звука.

Примечание

Все элементы SSML, связанные с просодией и произношением, например <prosody> или <mstts:express-as> игнорируются.

Ввод текста необязателен, а любой текст, включенный в SSML, игнорируется во время отрисовки.

Примеры преобразования голоса mstss

В следующем примере показано, как <mstts:voiceconversion> синтезировать речь с помощью целевого нейронного голоса при сопоставлении содержимого и просодии заданного исходного звука:

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
    <voice xml:lang="en-US" xml:gender="Female" name="en-US-AvaMultilingualNeural">
        <mstts:voiceconversion url="https://your.blob.core.windows.net/sourceaudio.wav"/>
    </voice>
</speak>

Дальнейшие действия