Использование личного голоса в приложении
Вы можете использовать идентификатор профиля говорящего для личного голоса для синтеза речи на любом из 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 в запросе на речь с именем голоса и идентификатором профиля говорящего. В этом примере также показано, как переключаться с языка на 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 можно использовать с помощью пакета SDK службы "Речь" или REST API.
- Синтез речи в режиме реального времени: используйте пакет SDK службы "Речь" или REST API для преобразования текста в речь.
- При использовании пакета SDK службы "Речь" не устанавливайте идентификатор конечной точки, как и для предварительной сборки голоса.
- При использовании REST API используйте предварительно созданную конечную точку нейронных голосов.
Поддерживаемые и неподдерживаемые элементы SSML для личного голоса
Подробные сведения о поддерживаемых и неподдерживаемых элементах SSML для моделей Phoenix и Dragon см. в следующей таблице. Инструкции по использованию элементов SSML см. в структуре и событиях документов SSML.
Элемент | Description | Поддерживается в Phoenix | Поддерживается в Dragon |
---|---|---|---|
<voice> |
Указывает голос и необязательные эффекты (eq_car и eq_telecomhp8k ). |
Да | Да |
<mstts:express-as> |
Задает стили и роли речи. | No | No |
<mstts:ttsembedding> |
Указывает speakerProfileId свойство для личного голоса. |
Да | Да |
<lang xml:lang> |
Задает язык речи. | Да | Да |
<prosody> |
Настраивает шаг, контур, диапазон, скорость и объем. | ||
pitch |
Задает базовую высоту тона для текста. | No | No |
contour |
Представляет изменения в поле. | No | No |
range |
Представляет диапазон поля для текста. | No | No |
rate |
Указывает скорость произнесения текста. | Да | Да |
volume |
Указывает уровень громкости речи. | No | No |
<emphasis> |
Добавляет или удаляет стресс на уровне слова для текста. | No | No |
<audio> |
Внедряет предварительно подготовленный звук в документ SSML. | Да | Нет |
<mstts:audioduration> |
Указывает длительность выходного звука. | No | No |
<mstts:backgroundaudio> |
Добавляет фоновый звук в документы SSML или смешивает звуковой файл с текстом для речи. | Да | Нет |
<phoneme> |
Указывает фонетическое произношение в документах SSML. | ||
ipa |
Один из фонетических алфавитов. | Да | Нет |
sapi |
Один из фонетических алфавитов. | No | No |
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 | Description | Поддерживается в Phoenix | Поддерживается в Dragon |
---|---|---|---|
Граница Word | Сигнализирует о том, что во время синтеза была получена граница слова, обеспечивая точное время слова во время процесса синтеза речи. | Да | Нет |
События Viseme | Предоставляет информацию viseme (губы, челюсть и перемещение языка) во время синтеза, позволяя визуальной синхронизации. | Да | Нет |