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

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

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

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

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

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

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

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

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

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

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

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

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

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

В этом примере используется голос en-US-AvaMultilingualNeural.

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

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

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

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

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural">
        Good morning!
    </voice>
    <voice name="en-US-AndrewMultilingualNeural">
        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>

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

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

Примечание.

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

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

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

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

Стиль Description
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 атрибута:

Роль Description
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 и style degree 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> таблице описывается использование атрибутов элемента:

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

Примечание.

Элемент <lang xml:lang> несовместим с элементами prosody и break. В этом элементе нельзя настраивать паузы и интонацию, например шаг, профиль, скорость или громкость.

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

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

Голосовая связь Поддерживаемый номер языка Поддерживаемые языки Автоматическое обнаружение языкового стандарта по умолчанию для каждого языка
en-US-AndrewMultilingualNeural1 (мужчина)
en-US-AvaMultilingualNeural1 (женщина)
en-US-BrianMultilingualNeural1 (мужчина)
en-US-EmmaMultilingualNeural1 (женщина)
77 Afrikaans, албанский, амхарский, арабский, армянский, азербайджанский, бахаса индонезийский, Бангла, Баск, Бенгали, Босния, Болгар, Бирмес, Каталонский, китайский кантонский, китайский мандарин, китайский тайваньский, хорватский, чешский, датский, голландский, голландский, английский, эстонийский, финский, французский, галицийский, грузинский, немецкий, греческий, иврит, хинди, венгерский, ирландский, ирландский, итальянский, японский, javanese, Каннада, казах, кхмер, корейский, лаосский, латышский, латышский, малайялам, малайялам, мальтийский, непальский, Норвежский Bokmål, Pashto, персидской, польской, португальский, румынский, русский, сербский, синхала, словацкий, сомалийский, испанский, Sundanese, Swahili, Шведский,Тамил, Телугу, Тайский, турецкий, украинский, Урду, Узбекистан, Вьетнамский, Валус, Зулу af-ZAkk-KZ, am-ETar-EGaz-AZbg-BGbn-BDbn-INbs-BAca-EScs-CZcy-GBda-DKde-DEel-GRen-USes-ESet-EEeu-ESfa-IRfi-FIfil-PHfr-FRga-IEgl-EShe-ILhi-INhr-HRhu-HUhy-AMid-IDis-ISit-ITja-JPjv-IDka-GEkm-KHkn-INko-KRlo-LAlt-LTlv-LVmk-MKml-INmn-MNms-MYmt-MTmy-MMnb-NOne-NPnl-NLpl-PLps-AFpt-BRro-ROru-RUsi-LKsk-SKsl-SIso-SOsq-ALsr-RSsu-IDsv-SEsw-KE, ta-IN, te-INuk-UAvi-VNur-PKtr-TRth-THzh-CNzh-HKuz-UZ, . zu-ZAzh-TW

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

Примечание.

Многоязычные голоса не полностью поддерживают некоторые элементы SSML, такие как break, emphasisи silencesub.

Примеры Lang

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

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

В этом фрагменте SSML показано, как использовать <lang xml:lang> для работы de-DE с нейронным голосом en-US-AvaMultilingualNeural .

<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-AvaMultilingualNeural">
        <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-AvaMultilingualNeural">
        <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, p, phoneme, prosody, say-as, sub и s.

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

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

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

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

Первое значение в каждом наборе параметров указывает расположение изменения высоты тона как процентную долю продолжительности текста. Второе значение задает величину повышения или понижения тона с помощью относительного значения или значения перечисления для высоты тона (см pitch).
Необязательно
pitch Задает базовую высоту тона для текста. Изменения высоты тона могут применяться на уровне предложений. Изменения высоты тона должны быть пределах от уменьшения высоты тона исходного звука в два раза до ее увеличения в 1,5 раза. Вы можете выразить высоту тона следующим образом:
  • Абсолютное значение, выраженное в виде числа, за которым следует "Hz" (Hertz). Например, <prosody pitch="600Hz">some text</prosody>.
  • Относительное значение:
    • Как относительное число: выражено в виде числа, начинающегося с "+" или "–" и заканчивающегося на "Hz" или 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
    • Низкий
    • medium
    • high
    • x-high
    • default
Необязательно
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
    • медленный
    • medium
    • быстро
    • x-fast
    • default
Необязательно
volume Указывает уровень громкости речи. Изменения громкости могут применяться на уровне предложений. Громкость можно выразить следующим образом:
  • Абсолютное значение: выражено как число в диапазоне от самых тихих до самых громких 0.0100.0, таких как75. Значение по умолчанию — 100.0.
  • Относительное значение:
    • Как относительное число: выражено в виде числа, начинающегося с "+" или "–", что указывает величину изменения громкости. Например, можно указать +10 или -5.5.
    • Как процент: выражено в виде числа, начинающегося с "+" (необязательно) или "-" и за которым следует "%", указывающее относительное изменение. Пример: <prosody volume="50%">some text</prosody> или <prosody volume="+3%">some text</prosody>.
  • Постоянное значение
    • Молчание
    • x-soft
    • soft
    • medium
    • loud
    • x-loud
    • default
Необязательно

Примеры prosody

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

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

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

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural">
        <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-AvaMultilingualNeural">
        <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, break, emphasis, lang, phoneme, prosody, say-as, sub и voice.

Примечание.

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

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

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

Атрибут Description Обязательно или необязательно
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, p, s, phoneme, prosody, say-as и sub.

Все аудио, входящие в документ SSML, должны соответствовать следующим требованиям.

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

Примечание.

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

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

Атрибут Description Обязательно или необязательно
src Расположение URI звукового файла. Звуковой файл должен быть размещен на доступной в Интернете конечной точке HTTPS. Требуется ПРОТОКОЛ HTTPS. Домен, на котором размещен файл, должен представлять действительный доверенный TLS/SSL-сертификат. Звуковой файл следует поместить в большой двоичный объект служба хранилища в том же регионе 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 таблице описывается использование атрибутов элемента:

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

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

Учитывая запрошенную продолжительность звука вывода, служба "Речь" соответствующим образом корректирует скорость речи. Используйте API голосового списка и проверка WordsPerMinute атрибут, чтобы узнать частоту речи нейронного голоса, который вы используете. Количество слов в входном тексте можно разделить на значение атрибута, чтобы получить приблизительную продолжительность исходного WordsPerMinute выходного звука. Выходной звук звучит наиболее естественно при установке продолжительности звука, ближайшей к предполагаемой длительности.
Обязательное поле

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

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

Атрибут Description Обязательно или необязательно
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 will be spoken over the background audio.
    </voice>
</speak>

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