Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Свойства пакетного синтеза можно сгруппировать следующим образом: свойства, связанные с аватаром, свойства, касающиеся пакетного задания, и свойства, связанные с преобразованием текста в речь, которые описаны в следующих таблицах.
Некоторые свойства в формате JSON требуются при создании нового задания пакетного синтеза. Другие свойства являются необязательными. Ответ пакетного синтеза содержит другие свойства для предоставления сведений о состоянии синтеза и результатах. Например, outputs.result свойство содержит расположение, из которого можно скачать видеофайл, содержащий видео аватар. В outputs.summaryэтом разделе можно получить доступ к сводке и сведениям об отладке.
Свойства аватара
В следующей таблице описаны свойства аватара.
| Свойство | Описание |
|---|---|
| аватарКонфигурация.говорящийАватарПерсонаж | Имя персонажа говорящего аватара. Для стандартного аватара поддерживаемые символы аватара можно найти здесь. Для пользовательского аватара укажите имя модели аватара. Это обязательное свойство. |
| avatarConfig.talkingAvatarStyle | Имя стиля говорящего аватара. Для стандартного аватара поддерживаемые стили аватара можно найти здесь. Для пользовательского аватара это свойство должно быть опущено. Это свойство требуется для стандартного аватара. |
| Настройка аватара. индивидуализированная | Логическое значение, указывающее на то, является ли используемый аватар настроенным или нет. Значение «true» для аватара с настройками и «false» для стандартного аватара. Это свойство является необязательным, а значение по умолчанию — false. |
| аватарНастройки.видеоформат | Формат выходного видеофайла может быть mp4 или webm. Формат webm необходим для прозрачного фона.Это свойство является необязательным, а значение по умолчанию — mp4. |
| avatarConfig.videoCodec | Кодек для выходного видео может быть h264, hevc, vp9 или av1. Vp9 требуется для прозрачного фона. Скорость синтеза медленнее с кодеком vp9, так как кодировка vp9 медленнее. Это свойство является необязательным, а значение по умолчанию — hevc. |
| avatarConfig.bitrateKbps | Битрейт выходного видео, представляющий собой целочисленное значение, в единицах кбит/с. Это свойство является необязательным, а значение по умолчанию — 2000. |
| аватарConfig.videoCrop | Это свойство позволяет обрезать выходное видео, чтобы вывести прямоугольную область исходного видео. Это свойство содержит два поля, определяющие верхнюю левую вершину и вершину прямоугольника в правом нижнем углу. Это свойство является необязательным, и поведение по умолчанию — вывод полного видео. |
| avatarConfig.videoCrop.topLeft | Верхняя левая вершина прямоугольника для кадрирования видео. Это свойство имеет два поля x и y, чтобы определить горизонтальную и вертикальную позицию вершины. Это свойство требуется, если задано свойство properties.videoCrop. |
| аватарConfig.videoCrop.bottomRight | Точка в правом нижнем углу прямоугольника для обрезки видео. Это свойство имеет два поля x и y, чтобы определить горизонтальную и вертикальную позицию вершины. Это свойство требуется, если задано свойство properties.videoCrop. |
| avatarConfig.типСубтитра | Тип субтитра для видеофайла аватара может быть external_file, soft_embeddedhard_embeddedили none.external_file: субтитры создаются в виде отдельных файлов субтитров (например, SRT или VTT). Они не включены в видео и должны загружаться проигрывателем отдельно.soft_embedded: Субтитры встроены в виде дорожки субтитров в видеофайл. Они могут быть включены или отключены, но отображаются только в проигрывателях, поддерживающих субтитры.hard_embedded: Субтитры встраиваются непосредственно в кадры видео и всегда видны. Их нельзя отключить или удалить.none: субтитры не создаются. Выходное видео содержит только звук без включенных данных субтитров.Примечание: Создание субтитров не поддерживается, если useBuiltInVoice задано значение true. Это свойство игнорируется, и субтитры не создаются.Это свойство является необязательным, а значение по умолчанию — soft_embedded. |
| avatarConfig.backgroundImage | Добавьте фоновое изображение с помощью avatarConfig.backgroundImage свойства. Значение свойства должно быть URL-адресом, указывающим на нужное изображение. Это необязательное свойство. |
| avatarConfig.цвет фона | Цвет фона видео аватара, который является строкой в формате #RRGGBBAA. В этой строке: RR, GG, BB и AA означают красный, зеленый, синий и альфа-каналы с шестнадцатеричным диапазоном значений 00~FF. Альфа-канал управляет прозрачностью со значением 00 для прозрачного, со значением FF для непрозрачного, и со значением от 00 до FF для полупрозрачного. Это свойство является необязательным, а значение по умолчанию — #FFFFFFFF (белый). |
| avatarConfig.useBuiltInVoice // использовать встроенный голос | Логическое значение, указывающее, следует ли использовать голосовую синхронизацию для аватара в качестве голоса синтеза. Это свойство можно использовать только при использовании пользовательского аватара, обученного с помощью голосовой синхронизации для аватара. Если задать значение true, другие голоса, указанные в synthesisConfig или SSML, игнорируются.Примечание: Жесты и субтитры не поддерживаются, если для этого свойства задано значение true. Свойство subtitleType игнорируется, и субтитры не создаются.Это свойство является необязательным, а значение по умолчанию — false. |
| выводы.результат | Расположение итогового файла пакетного синтеза, представляющего собой видеофайл, содержащий синтезированный аватар. Это свойство доступно только для чтения. |
| свойства.ДлительностьВМиллисекундах | Длительность вывода видео в миллисекундах. Это свойство доступно только для чтения. |
Свойства задания пакетного синтеза
В следующей таблице описаны свойства задания пакетного синтеза.
| Свойство | Описание |
|---|---|
| дата и время создания | Дата и время создания задачи пакетного синтеза. Это свойство доступно только для чтения. |
| описание | Описание пакетного синтеза. Это необязательное свойство. |
| Идентификатор | Идентификатор задачи синтеза пакетной обработки. Это свойство доступно только для чтения. |
| дата_и_время_последнего_действия | Последняя дата и время изменения значения свойства состояния. Это свойство доступно только для чтения. |
| свойства | Определенный набор необязательных параметров конфигурации пакетного синтеза. |
| свойства.destinationContainerUrl | Результаты пакетного синтеза можно хранить в контейнере для записи в хранилище BLOB-объектов Azure. Если вы не указываете URI контейнера с токеном подписей общего доступа (SAS), служба синтеза речи сохраняет результаты в контейнере, управляемом корпорацией Майкрософт. SAS с хранимыми политиками доступа не поддерживается. При удалении задания синтеза данные результатов также удаляются. Это свойство необходимо при создании нескольких видео в одном задании. Для одного поколения видео это свойство является необязательным. Это свойство не включается в ответ при получении задания синтеза. |
| properties.destinationPath (свойства.путьНазначения) | Путь с префиксом для хранения результатов пакетного синтеза. Если не указан путь префикса, будет использоваться созданный системой путь. Это свойство является необязательным и может быть задано только при указании destinationContainerUrl свойства. |
| свойства.timeToLiveInHours | Длительность в часах после создания задания синтеза, когда результаты синтеза будут автоматически удалены. Максимальное время жизни — 744 часа. Дата и время автоматического удаления для заданий синтеза с состоянием "Успешно" или "Сбой" вычисляется как сумма свойств lastActionDateTime и timeToLive. В противном случае можно вызвать метод удаления синтеза, чтобы удалить задачу раньше. |
| статус | Состояние обработки пакетного синтеза. Состояние должно прогрессировать от «Не начато» до «В процессе», и, наконец, до состояний «Успешно» или «Сбой». Это свойство доступно только для чтения. |
Свойства преобразования текста в речь
В следующей таблице описаны свойства преобразования текста в речь.
| Свойство | Описание |
|---|---|
| пользовательскиеГолоса | Настраиваемый голос связан с именем и его идентификатором развертывания, например "customVoices": {"your-custom-voice-name": "502ac834-6537-4bc3-9fd6-140114daa66d"} Вы можете использовать имя голоса в вашем synthesisConfig.voice, если inputKind установлено как "PlainText", или в SSML-тексте входных данных, если inputKind установлено как SSML.Это свойство требуется для использования пользовательского голоса. Если вы пытаетесь использовать пользовательский голос, который не определен здесь, служба возвращает ошибку. |
| входные данные | Обычный текст или SSML для синтеза. Если для объекта inputKind задано "PlainText"значение , укажите обычный текст, как показано ниже: "inputs": [{"content": "The rainbow has seven colors."}]. Если для объекта inputKind задано "SSML"значение , укажите текст на языке разметки синтеза речи (SSML), как показано ниже: "inputs": [{"content": "<speak version='1.0' xml:lang='en-US'><voice xml:lang='en-US' xml:gender='Female' name='en-US-AvaMultilingualNeural'>The rainbow has seven colors.</voice></speak>"}]. Включите до 1000 текстовых объектов, если требуется несколько выходных файлов видео. Ниже приведен пример входного текста, который должен быть синтезирован в два выходных файла видео: "inputs": [{"content": "synthesize this to a file"}, {"content": "synthesize this to another file"}] Чтобы создать несколько видео, выходные данные должны храниться в контейнере хранилища BLOB-объектов Azure, указав properties.destinationContainerUrl. Для новых абзацев не требуются отдельные текстовые входные данные. В любом из текстовых входных данных (до 1000) можно указать новые абзацы с помощью строки "\r\n" (newline). Ниже приведен пример входного текста с двумя абзацами, которые должны быть синтезированы в один и тот же звуковой выходной файл: "inputs": [{"content": "synthesize this to a file\r\nsynthesize this to another paragraph in the same file"}]Это свойство необходимо при создании нового задания пакетного синтеза. Это свойство не включается в ответ при запросе задачи синтеза. |
| properties.Детали оплаты | Количество слов, которые были обработаны и выставлены на счет customNeural (настраиваемый голос) по сравнению с neural (стандартный голос).Это свойство доступно только для чтения. |
| Конфигурация синтеза | Параметры конфигурации, используемые для пакетного синтеза обычного текста. Это свойство применимо только в том случае, если inputKind имеет значение "PlainText". |
| synthesisConfig.pitch (настройка высоты звука) | Тональность аудиовыхода. Сведения о принятых значениях см. в таблице корректировки просодии в документации по языку разметки синтеза речи (SSML). Недопустимые значения игнорируются. Это необязательное свойство применимо только в том случае, если inputKind имеет значение "PlainText". |
| synthesisConfig.скорость | Частота аудиовыхода. Для получения информации о допустимых значениях см. таблицу «корректировка просодии» в документации по языку разметки синтеза речи (SSML). Недопустимые значения игнорируются. Это необязательное свойство применимо только в том случае, если inputKind имеет значение "PlainText". |
| synthesisConfig.style | Для некоторых голосов вы можете настроить стиль речи, чтобы выразить различные эмоции, такие как веселость, сочувствие и спокойствие. Можно оптимизировать использование голоса для различных сценариев, таких как обслуживание клиентов, чтение новостей и реализация голосового помощника. Сведения о доступных стилях для каждого голоса см. в разделе "Стили голоса" и роли. Это необязательное свойство применимо только в том случае, если inputKind имеет значение "PlainText". |
| synthesisConfig.voice | Голос, который воспроизводит звуковой выход. Сведения о доступных стандартных голосах см. в статье о поддержке языка и голосовой связи. Чтобы использовать пользовательский голос, необходимо указать допустимое сопоставление идентификаторов пользовательского голоса и развертывания в свойстве customVoices. Это свойство требуется, если inputKind имеет значение "PlainText". |
| synthesisConfig.volume | Громкость звука. См. таблицу поправке просодии в документации по языку разметки синтеза речи (SSML) для получения информации о принятых значениях. Недопустимые значения игнорируются. Это необязательное свойство применимо только в том случае, если inputKind имеет значение "PlainText". |
| тип ввода | Указывает, должно ли входное текстовое свойство быть обычным текстом или SSML. Возможные регистронезависимые значения: "PlainText" и "SSML". Если для inputKind задано значение "PlainText", необходимо также задать свойство synthesisConfig voice. Это обязательное свойство. |
Изменение фона
API пакетного синтеза аватара в настоящее время не поддерживает настройку фоновых видео; он поддерживает только статические фоновые изображения. Но если вы хотите добавить фон для видео во время последующей работы, вы можете создавать видео с прозрачным фоном.
Чтобы задать статическое фоновое изображение, используйте avatarConfig.backgroundImage свойство и укажите URL-адрес, указывающий на нужное изображение. Кроме того, можно задать цвет фона видео аватара с помощью avatarConfig.backgroundColor свойства.
Чтобы создать видео с прозрачным фоном, необходимо задать требуемые значения для следующих свойств в запросе пакетного синтеза.
| Свойство | Обязательные значения для прозрачности фона |
|---|---|
| properties.videoFormat | webm |
| properties.videoCodec | vp9 |
| свойства.цвет_фона | #00000000 (или transparent) |
Clipchamp является одним из примеров средства редактирования видео, поддерживающего прозрачный фоновый видео, созданный API пакетного синтеза.
Некоторые программы для редактирования видео не поддерживают формат webm напрямую и поддерживают только прозрачный фоновый вход формата .mov, например, Adobe Premiere Pro. В таких случаях сначала необходимо преобразовать формат видео из webm в .mov с помощью средства, такого как FFMPEG.
Командная строка FFMPEG:
ffmpeg -vcodec libvpx-vp9 -i <input.webm> -vcodec png -pix_fmt rgba metadata:s:v:0 alpha_mode="1" <output.mov>
FFMPEG можно скачать с ffmpeg.org. Замените <input.webm> на локальный путь и <output.mov> на имя файла в командной строке.