Использование API голосовой трансляции

API Voice Live предоставляет более мощный интерфейс WebSocket по сравнению с API Azure OpenAI Realtime.

Если не указано иное, API голосовой трансляции использует те же события , что и API Azure OpenAI Realtime. Этот документ содержит ссылку на свойства сообщения о событии, относящиеся к API голосовой трансляции.

Tip

В большинстве случаев используйте API Голосовой трансляции с WebRTC для потоковой передачи звука в реальном времени в клиентских приложениях, таких как веб-приложение или мобильное приложение. WebRTC предназначен для сценариев потоковой передачи аудио в режиме реального времени с низкой задержкой.

Поддерживаемые модели и регионы

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

Authentication

Ресурс Microsoft Foundry или ресурс Azure Speech in Foundry Tools Services требуется для использования API Live Голоса.

Note

Использование API голосовой трансляции оптимизировано для ресурсов Microsoft Foundry. Мы рекомендуем использовать ресурсы Microsoft Foundry для полной доступности функций и лучшего интерфейса интеграции с Microsoft Foundry.
Ресурсы Служб распознавания речи Azure не поддерживают интеграцию службы Microsoft Foundry Agent и перенос собственной модели (BYOM).

Конечная точка WebSocket

Конечная точка WebSocket для API голосовой трансляции — это wss://<your-ai-foundry-resource-name>.services.ai.azure.com/voice-live/realtime?api-version=2026-04-10, а для старых ресурсов — wss://<your-ai-foundry-resource-name>.cognitiveservices.azure.com/voice-live/realtime?api-version=2026-04-10. Конечная точка одинакова для всех моделей. Единственное различие заключается в обязательном параметре запроса model или, при использовании службы агента, в параметрах agent_id и project_id.

Например, конечная точка ресурса с личным доменом будет wss://<your-ai-foundry-resource-name>.services.ai.azure.com/voice-live/realtime?api-version=2026-04-10&model=gpt-realtime

Credentials

API Голосовой трансляции поддерживает два метода проверки подлинности:

  • Microsoft Entra (рекомендуется): используйте проверку подлинности на основе маркеров для ресурса Microsoft Foundry. Примените полученный маркер проверки подлинности, используя маркер с заголовком Bearer и Authorization.
  • Ключ API: api-key можно предоставить одним из двух способов:
    • Использование заголовка api-key подключения в предварительном установлении соединения. Этот параметр недоступен в среде браузера.
    • api-key Использование параметра строки запроса в URI запроса. Параметры строки запроса шифруются при использовании https/wss.

Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra необходимо:

  • Назначьте роли Cognitive Services User и Foundry User вашей учетной записи пользователя или управляемому удостоверению. Роли можно назначить в портале Azure в разделе Контроль доступа (IAM)>Добавить назначение ролей.

    Это важно

    Недавно были переименованы роли RBAC в Foundry. Foundry User, Foundry Owner, Foundry Account Owner и Foundry Project Manager ранее назывались пользователь Azure AI, владелец Azure AI, владелец учетной записи Azure AI и руководитель проекта Azure AI. Пока новое название внедряется, в некоторых местах вы всё ещё можете видеть прежние названия. Идентификаторы ролей и основные разрешения не меняются из-за переименования.

  • Создайте токен с помощью Azure CLI или пакетов SDK Azure. Маркер должен быть создан с областью https://ai.azure.com/.default, или с устаревшей областью https://cognitiveservices.azure.com/.default.

  • Используйте маркер в Authorization заголовке запроса на подключение WebSocket с форматом Bearer <token>.

Конфигурация сеанса

Часто первое событие, отправленное вызывающим абонентом в только что созданном сеансе голосового API Live, является событием session.update . Это событие управляет широким набором поведения ввода и вывода с характеристиками генерации выходных данных и откликов. Затем эти характеристики могут быть переопределены с помощью события response.create.

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

{
    "instructions": "You are a helpful AI assistant responding in natural, engaging language.",
    "turn_detection": {
        "type": "azure_semantic_vad",
        "silence_duration_ms": 500,
    },
    "input_audio_noise_reduction": {"type": "azure_deep_noise_suppression"},
    "input_audio_echo_cancellation": {"type": "server_echo_cancellation"},
    "voice": {
        "name": "en-US-Ava:DragonHDLatestNeural",
        "type": "azure-standard",
        "temperature": 0.8,
    },
}

Это важно

Свойство "instructions" не поддерживается при использовании пользовательского агента.

Сервер отвечает на событие session.updated, чтобы подтвердить конфигурацию сеанса.

Свойства сеанса

В следующих разделах описываются свойства session объекта, который можно настроить в сообщении session.update .

Tip

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

Свойства входного звука

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

Property Type Обязательно или необязательно Description
input_audio_sampling_rate integer Optional Частота выборки входного звука.

Поддерживаемые значения: 16000 и 24000. Значение по умолчанию — 24000.
input_audio_echo_cancellation object Optional Улучшает качество звука ввода, удаляя эхо из собственного голоса модели.

type Задайте свойство input_audio_echo_cancellation включения отмены эхо. Поддерживаемое значение для type — это server_echo_cancellation, которое применяется, когда голос модели воспроизводится пользователю через динамик, а микрофон улавливает собственный голос модели.

По умолчанию служба использует собственный внутренний звук в качестве ссылки на эхо, поэтому отмена эхо на стороне клиента не требуется. Чтобы включить Live-Reference AEC и использовать в качестве опорного сигнала звук, который клиент действительно воспроизводит, установите для reference_source значение client, а для channels — значение 2. Дополнительные сведения см. в разделе Live-Reference AEC (подавление акустического эха).
input_audio_noise_reduction object Optional Улучшает качество звука ввода, подавляя или удаляя фоновый шум окружающей среды.

Задайте свойство type для input_audio_noise_reduction включения подавления шума.

Поддерживаемое значение для type — это azure_deep_noise_suppression, которое оптимизирует говорителей, ближайших к микрофону.

Это свойство можно задать равным near_field или far_field, если вы используете API Azure OpenAI Realtime.

Ниже приведен пример входных свойств звука в объекте сеанса:

{
    "input_audio_sampling_rate": 24000,
    "input_audio_noise_reduction": {"type": "azure_deep_noise_suppression"},
    "input_audio_echo_cancellation": {"type": "server_echo_cancellation"},
}

Подавление шума и отмена эхо

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

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

Note

Это предположение о времени применяется к ссылке на сервер по умолчанию (reference_source задано значение server). Служба предполагает, что клиент воспроизводит звук отклика, как только он получает его. Если воспроизведение откладывается более чем на две секунды, это влияет на качество подавления эха. Чтобы избежать этого ограничения, используйте Live-Reference AEC, где клиент предоставляет ссылку на воспроизведение напрямую.

AEC с опорным сигналом в реальном времени (акустическая эхокомпенсация)

По умолчанию для подавления эха на сервере в качестве опорного сигнала используется собственный внутренний аудиосигнал службы. При использовании Live-Reference AEC клиент вместо этого предоставляет в качестве опорного сигнала аудиосигнал, который он фактически воспроизводит. Эхоподавление по-прежнему доступно в сервисе. Используется предоставленный клиентом опорный сигнал, чтобы отражать фактический путь воспроизведения, включая выход устройства, громкость и любое выполняемое на стороне клиента ресемплирование или микширование.

Используйте Live-Reference AEC, когда звук, который пользователь слышит, отличается от выходных данных необработанной модели. Например, используйте это, когда клиент обрабатывает или микширует аудио перед воспроизведением или когда выход устройства создает эхо, которое не захватывается внутренним опорным сигналом. Этот сценарий распространен в путях воспроизведения на стороне клиента, таких как веб-приложение или мобильное приложение.

Чтобы включить Live-Reference AEC, выполните приведенные действия.

  1. Установите input_audio_format на pcm16.
  2. В input_audio_echo_cancellation установите для reference_source значение client, а для channels — значение 2.
  3. Отправка перемеченного стереофонического звука PCM16. Канал 0 содержит аудиосигнал с микрофона, а канал 1 содержит эталонный аудиосигнал воспроизведения. Для каждой пары образцов сначала отправьте образец, записанный с микрофона, а затем соответствующий эталонный образец воспроизведения.

Поддерживаются только следующие сочетания reference_source и channels:

reference_source channels Behavior
server 1 Default. Служба использует свой внутренний аудиосигнал в качестве эталонного сигнала эха.
client 2 Live-Reference AEC. Служба использует эталонную аудиозапись для воспроизведения, отправленную вашим клиентом.

Невозможно изменить reference_source, channelsinput_audio_formatили input_audio_sampling_rate во время сеанса.

Live-Reference AEC доступна начиная с версии 2026-07-15API.

Ниже приведен пример, который включает Live-Reference AEC:

{
    "type": "session.update",
    "session": {
        "input_audio_format": "pcm16",
        "input_audio_echo_cancellation": {
            "type": "server_echo_cancellation",
            "reference_source": "client",
            "channels": 2
        }
    }
}

Пример для браузера, который захватывает двухканальный звук (микрофон и опорный сигнал воспроизведения) и передаёт его в потоковом режиме в службу, см. в примере Live-Reference AEC.

Улучшения беседы

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

Параметры обнаружения поворота

Обнаружение начала и конца разговора — это процесс, который определяет, когда конечный пользователь начинает или заканчивает говорить. API Voice Live основан на свойстве API turn_detection Azure OpenAI Realtime для настройки обнаружения поворота. Эти типы azure_semantic_vad и azure_multilingual_semantic_vad являются ключевыми отличиями между API Voice Live и API Azure OpenAI Realtime.

Property Type Обязательно или необязательно Description
type string Optional Тип используемой системы обнаружения поворота. Тип server_vad определяет начало и конец речи на основе громкости звука.

Тип semantic_vad использует семантический классификатор для обнаружения завершения речи пользователя на основе слов, которые они произносили. Этот тип можно использовать только с моделями gpt-realtime и gpt-realtime-mini.

Тип azure_semantic_vad и azure_semantic_vad_multilingual также обнаруживает начало и конец речи на основе семантического значения и может использоваться со всеми моделями. Дальнейшее обнаружение семантических голосовых действий Azure (VAD) также может улучшить обнаружение поворота, удалив слова заполнения, чтобы уменьшить скорость ложной сигнализации баржи.

Значение по умолчанию — server_vad.
threshold плавать Optional Порог активации (0.0–1.0). Для более высокого порогового значения требуется более высокий сигнал достоверности пользователя, пытающегося говорить (по умолчанию: 0,5). Доступно с типами server_vad, azure_semantic_vadи azure_semantic_vad_multilingual.
prefix_padding_ms integer Optional Объем звука, измеряемый в миллисекундах, включаемый до начала сигнала обнаружения речи. Начиная с версии 2026-04-10API, значение по умолчанию — 400 для server_vad и 420 azure_semantic_vadazure_semantic_vad_multilingual. Для более ранних версий API по умолчанию используется значение 300 для всех типов.
speech_duration_ms integer Optional Длительность звука речи пользователя, измеряемая в миллисекундах, необходимая для запуска обнаружения. Значение по умолчанию — 200 мс и server_vad 80 мс для azure_semantic_vad и azure_semantic_vad_multilingual.
silence_duration_ms integer Optional Длительность молчания пользователя, измеряемая в миллисекундах, для обнаружения конца речи (по умолчанию: 500).
remove_filler_words булевый Optional Определяет, следует ли удалять слова-заливщики, чтобы уменьшить уровень ложной тревоги баржа.
Чтобы включить это свойство, необходимо задать значение true. Обнаруженные слова заливки на английском языке.['ah', 'umm', 'mm', 'uh', 'huh', 'oh', 'yeah', 'hmm'] Служба игнорирует эти слова при наличии текущего ответа. Функция удаления слов заливки предполагает, что клиент воспроизводит звук отклика, как только он получает их.
Значение по умолчанию — false.
languages строка[] Optional Язык будет использоваться для повышения remove_filler_words точности, уменьшая примененные языки (по умолчанию: нет). Тип azure_semantic_vad в первую очередь поддерживает английский. Тип azure_semantic_vad_multilingual также доступен для поддержки более широкого спектра языков: английский, испанский, французский, итальянский, немецкий (DE), японский, португальский, китайский, корейский, хинди. Другие языки будут игнорироваться. Доступно с типами azure_semantic_vad и azure_semantic_vad_multilingual.
create_response булевый Optional Включите или отключите, создается ли ответ (по умолчанию: true).
eagerness string Optional Это способ управления тем, как модель стремится прервать пользователя, настроить максимальное время ожидания. Доступно только с типом semantic_vad. В режиме транскрибирования, даже если модель не отвечает, это влияет на то, как звук разделяется на части.
Допустимы следующие значения:
- auto (по умолчанию) эквивалентно medium,
- low позволит пользователю не торопиться, чтобы говорить,
- high разобьёт аудио на части как можно скорее.

Если вы хотите, чтобы модель более часто реагировала в режиме беседы или быстрее возвращала события транскрибирования в режиме транскрибирования, можно задать степень готовности на high.
С другой стороны, если вы хотите разрешить пользователю говорить без прерываний в режиме общения или если вам нужны более крупные фрагменты стенограммы в режиме транскрибирования, можно задать степень готовности low.
interrupt_response булевый Optional Включение или отключение прерывания баржи (по умолчанию: true). Доступно только с типом azure_semantic_vad и azure_semantic_vad_multilingual.
auto_truncate булевый Optional Автообрезка при прерывании (по умолчанию: false).

Транскрибирование входных звуковых данных

API голосовой трансляции поддерживает несколько моделей транскрибирования для входного звука. Задайте поле model в input_audio_transcription, чтобы выбрать один из вариантов. Доступные модели зависят от используемой модели чата:

Модель транскрибирования Совместимые модели чата Description
azure-speech Все немультимодальные модели и агенты Azure: преобразование речи в текст. Автоматически включается с немультимодальными моделями. Поддерживает список фраз и настраиваемую речь.
mai-transcribe Все немультимодальные модели и агенты Модель распознавания речи MAI Transcribe (предварительная версия).
whisper-1 gpt-realtime, gpt-realtime-mini Модель транскрипции OpenAI Whisper.
gpt-4o-transcribe gpt-realtime, gpt-realtime-mini Модель транскрибирования на основе GPT-4o.
gpt-4o-mini-transcribe gpt-realtime, gpt-realtime-mini Модель транскрипции на основе GPT-4o mini.
gpt-4o-transcribe-diarize gpt-realtime, gpt-realtime-mini Транскрипция GPT-4o с диаризацией.

Сведения о поддерживаемых языках для каждой модели см. в разделе Поддерживаемые языки Voice Live API.

Azure: распознавание речи

Преобразование речи в текст Azure автоматически включается при использовании немультимодальной модели. Вы можете явно настроить его, задав model значение azure-speech:

{
    "session": {
        "input_audio_transcription": {
            "model": "azure-speech",
            "language": "en"
        }
    }
}

Параметры настройки ввода речи, такие как список фраз и настраиваемая речь, см. в разделе "Настройка голосовых входных данных и выходных данных".

MAI Transcribe (предварительная версия)

MAI Transcribe — это модель для транскрибирования, которую можно использовать в качестве альтернативы azure-speech с любой текстовой чат-моделью или агентом (например, gpt-4.1). Включите это, установив для input_audio_transcription.model значение mai-transcribe в сообщении session.update:

{
  "type": "session.update",
  "session": {
    "input_audio_transcription": {
      "model": "mai-transcribe"
    },
    "modalities": ["text", "audio"],
    "instructions": "You are a helpful assistant.",
    "turn_detection": {
      "type": "azure_semantic_vad_multilingual"
    }
  }
}

В следующем примере показана та же конфигурация с пакетом SDK voice Live для Python:

from azure.ai.voicelive.aio import connect
from azure.ai.voicelive.models import (
    AudioInputTranscriptionOptions,
    AzureSemanticVadMultilingual,
    AzureStandardVoice,
    Modality,
    RequestSession,
)
from azure.identity.aio import DefaultAzureCredential

async with connect(
    endpoint="https://<your-resource>.services.ai.azure.com/",
    credential=DefaultAzureCredential(),
    model="gpt-4.1",
) as conn:
    await conn.session.update(
        session=RequestSession(
            input_audio_transcription=AudioInputTranscriptionOptions(
                model="mai-transcribe",
            ),
            voice=AzureStandardVoice(name="en-US-AvaNeural"),
            modalities=[Modality.TEXT, Modality.AUDIO],
            instructions="You are a helpful assistant.",
            turn_detection=AzureSemanticVadMultilingual(),
        )
    )

Note

Для рабочих сред используйте DefaultAzureCredential из azure.identity для беспарольной аутентификации. Вы также можете использовать AzureKeyCredential из azure.core.credentials с помощью ключа API. Полные примеры пакета SDK в C#, JavaScript и Java см. в кратком руководстве Voice Live.

Модели транскрибирования OpenAI

При использовании gpt-realtime или gpt-realtime-miniможно использовать модели транскрибирования OpenAI (whisper-1, , gpt-4o-transcribegpt-4o-mini-transcribeили gpt-4o-transcribe-diarize). Эти модели также поддерживают необязательный prompt параметр для руководства транскрибированием:

{
    "session": {
        "input_audio_transcription": {
            "model": "gpt-4o-transcribe",
            "language": "en",
            "prompt": "Expected terminology: Azure, Foundry, WebSocket"
        }
    }
}

Аудиовыход через Azure text-to-speech

Параметр можно использовать voice для указания стандартного или настраиваемого голоса. Голос используется для вывода звука.

Объект voice имеет следующие свойства.

Property Type Обязательно или необязательно Description
name string Required Указывает имя голоса. Например: en-US-AvaMultilingualNeural.
type string Required Настройка типа голосовой связи Azure между azure-standard и azure-custom.
temperature number Optional Указывает температуру, применимую к голосам Azure HD. Более высокие значения обеспечивают более высокие уровни вариативности в интонации, просодии и т. д.

См. Как настроить вход и выход Voice Live, чтобы узнать больше о настройке конфигурации голосового вывода.

Стандартные голоса Azure

MAI-Voice-2-Flash (предварительная версия)

MAI-Voice-2-Flash — это сверхбыстрая выразительная модель синтеза речи с малой задержкой и высоким качеством синтеза, оптимизированная для работы в реальном времени в Voice Live. Ниже приведен пример для голоса MAI-Voice-2-Flash:

{
 "voice": {
   "name": "en-US-Harper:MAI-Voice-2-Flash",
   "type": "azure-standard"
 }
}

Полный список голосов mai-voice-2-flash см. в разделе "Голоса MAI".

нейронный голос Azure

Ниже приведен частичный пример сообщения для стандартной голосовойazure-standard связи:

{
  "voice": {
    "name": "en-US-AvaMultilingualNeural",
    "type": "azure-standard"
  }
}

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

Голоса Azure в высоком разрешении (HD)

Вот пример сообщения session.update для стандартного голоса высокой чёткости (HD):

{
  "voice": {
    "name": "en-US-Ava:DragonHDLatestNeural",
    "type": "azure-standard",
    "temperature": 0.8 // optional
  }
}

Полный список голосов высокой четкости (HD) см. в документации по высокоопределимой (HD) голосовой связи.

Note

Голоса высокого определения в настоящее время поддерживаются только в следующих регионах: юго-восточная часть, центральная индия, швецияcentral, westeurope, eastus, eastus2, westus2

Скорость речи

Используйте строковое rate свойство, чтобы настроить скорость речи для любого стандартного текста Azure на голосовые и пользовательские голоса.

Значение скорости должно варьироваться от 0,5 до 1,5 с более высокими значениями, указывающими на более быстрые скорости.

{
  "voice": {
    "name": "en-US-Ava:DragonHDLatestNeural",
    "type": "azure-standard",
    "temperature": 0.8, // optional
    "rate": "1.2"
  }
}

временные метки аудио

При использовании голосов Azure, и когда output_audio_timestamp_types настроен, служба возвращает response.audio_timestamp.delta в ответе, и response.audio_timestamp.done, когда возвращаются все сообщения с отметками времени.

Чтобы настроить метки времени звука, можно задать output_audio_timestamp_types в сообщении session.update.

{
    "session": {
        "output_audio_timestamp_types": ["word"]
    }
}

Служба возвращает метки времени звука в ответе при создании звука.

{
    "event_id": "<event_id>",
    "type": "response.audio_timestamp.delta",
    "response_id": "<response_id>",
    "item_id": "<item_id>",
    "output_index": 0,
    "content_index": 0,
    "audio_offset_ms": 490,
    "audio_duration_ms": 387,
    "text": "end",
    "timestamp_type": "word"
}

response.audio_timestamp.done И сообщение отправляется, когда возвращаются все метки времени.

{
    "event_id": "<event_id>",
    "type": "response.audio_timestamp.done",
    "response_id": "<response_id>",
    "item_id": "<item_id>",
}

Viseme

Viseme — это визуальное описание фонемы в разговорном языке. Он определяет положение лица и рта в то время как человек говорит.

Вы можете использовать "стандартный голос Azure" или "пользовательский голос Azure" с animation.outputs установленным на {"viseme_id"}. Служба возвращает response.animation_viseme.delta в ответе и response.animation_viseme.done, когда все сообщения viseme возвращены.

Tip

Дополнительные сведения о viseme с помощью языка разметки синтеза речи (SSML) см. в документации по элементу viseme.

Чтобы настроить viseme, задайте animation.outputs в сообщении session.update. Параметр animation.outputs является необязательным. Он настраивает, какие выходные данные анимации должны быть возвращены. В настоящее время она поддерживает только viseme_id.

{
  "type": "session.update",
  "event_id": "your-session-id",
  "session": {
    "voice": {
      "name": "en-US-AvaNeural",
      "type": "azure-standard",
    },
    "modalities": ["text", "audio"],
    "instructions": "You are a helpful AI assistant responding in natural, engaging language.",
    "turn_detection": {
        "type": "server_vad"
    },
    "output_audio_timestamp_types": ["word"], // optional
    "animation": {
        "outputs": ["viseme_id"], // optional
    },
  }
}

Параметр output_audio_timestamp_types является необязательным. Он настраивает, какие метки времени должны быть возвращены для созданного аудио. В настоящее время она поддерживает только word.

Сервис возвращает выравнивание висемы в ответе на запрос при создании аудио.

{
    "event_id": "<event_id>",
    "type": "response.animation_viseme.delta",
    "response_id": "<response_id>",
    "item_id": "<item_id>",
    "output_index": 0,
    "content_index": 0,
    "audio_offset_ms": 455,
    "viseme_id": 20
}

Сообщение response.animation_viseme.done отправляется, когда возвращаются все сообщения viseme.

{
    "event_id": "<event_id>",
    "type": "response.animation_viseme.done",
    "response_id": "<response_id>",
    "item_id": "<item_id>",
}

модель azure-realtime

Модель azure-realtime — это специализированная модель реального времени, которая использует тщательно подобранный набор встроенных голосов, разработанных для естественно звучащего синтеза речи в реальном времени.

Note

Для azure-realtime модели требуется версия 2026-01-01-preview API или более поздняя.

Конфигурация голосовой связи

Укажите голос как структурированный объект, где для type задано значение azure-realtime-native, а для name — одно из поддерживаемых названий голосов:

{
  "type": "session.update",
  "session": {
    "voice": {
      "type": "azure-realtime-native",
      "name": "ava"
    },
    "modalities": ["text", "audio"],
    "instructions": "You are a helpful assistant."
  }
}

Поддерживаемые голоса

Поддерживаются следующие azure-realtime-native имена голосов:

Имя голоса Description Locale Сведения о голосе
aarti Естественный голос Azure Speech en-IN Тёплый, насыщенный женский голос на английском языке с индийским акцентом, с глубоким, манящим тоном. Оптимально подходит для премиальной поддержки, обучения с сопровождением и надежного взаимодействия с брендом.
alvaro Естественный голос Azure Speech es-ES Уверенный, анимированный испанский мужской голос с сильным присутствием. Лучше всего подходит для продаж, акций и уверенной коммуникации в сервисе.
andrew Естественный голос Azure Speech en-US Текстурированный, расслабленный, надежный мужской голос США, предназначенный для чата с низким давлением.
antonio Естественный голос Azure Speech pt-BR Яркий, оптимистичный бразильский португальский мужской голос с сильным энтузиазмом. Лучше всего подходит для кампаний, презентаций продуктов и активного вовлечения клиентов.
ava Встроенный голос Azure Speech (по умолчанию) en-US Яркий, уверенный, высокоэнергетический голос США. Лучше всего подходит для демонстраций продуктов, поддержки клиентов и полированных фирменных интерфейсов.
clara Естественный голос Azure Speech en-CA Четкий, универсальный канадский голос с широкой удобством использования. Лучше всего подходит для помощников общего назначения, образования и поддержки клиентов.
dalia Естественный голос Azure Speech es-MX Яркий, оптимистичный мексиканский испанский голос с теплой энергией. Лучше всего подходит для розничной торговли, вовлечения клиентов и динамичных сценариев взаимодействия с помощником.
denise Естественный голос Azure Speech fr-FR Яркий, увлекательный французский женский голос, который удерживает внимание. Лучше всего подходит для живого взаимодействия с клиентами и их адаптации.
diego Естественный голос Azure Speech it-IT Энергичный, жизнерадостный мужской голос с итальянским акцентом. Лучше всего подходит для динамичного общения, рекламных акций и развлекательных сценариев.
diya Естественный голос Azure Speech Привет Чёткий, ясный женский голос на хинди и английском с индийским акцентом. Лучше всего подходит для устранения неполадок, решения проблем и многоязычной поддержки.
elsa Естественный голос Azure Speech it-IT Уверенный, чёткий итальянский женский голос с ясной подачей. Идеально подходит для инструкций по обслуживанию, разъяснительных материалов и профессиональной поддержки.
emma Естественный голос Azure Speech en-US Тёплый, разговорный американский женский голос со средним тоном и динамичной разговорной манерой. Лучше всего подходит для типовых сервисных запросов, адаптации новых пользователей и быстро развивающихся сценариев поддержки.
florian Естественный голос Azure Speech de-DE Теплый, веселый немецкий мужской голос с сильной ясностью и универсальностью. Лучше всего подходит для объясняющих материалов, образовательного контента и понятной, дружелюбной поддержки.
francisca Естественный голос Azure Speech pt-BR Весёлый, чёткий женский голос на бразильском португальском с позитивной, ясной подачей. Лучше всего подходит для поддержки, онбординга и сервисных сообщений.
hyunsu Естественный голос Azure Speech ko-KR Богатый, резонирующий корейский мужской голос с устойчивым профессионализмом. Лучше всего подходит для формального руководства, объяснителей и доставки надежных сведений.
jorge Естественный голос Azure Speech es-MX Глубокий, уверенный мексиканский испанский мужской голос с авторитетом и уверенностью. Лучше всего подходит для объявлений, логистики и поддержки, ориентированной на доверие.
keita Естественный голос Azure Speech ja-JP Непринуждённый, обаятельный японский мужской голос с расслабленной, но живой подачей. Лучше всего подходит для помощников на основе чата и неформальных взаимодействий со службами.
liam Естественный голос Azure Speech en-CA Молодой канадский мужской голос с воодушевлённой, чёткой и выразительной подачей. Лучше всего подходит для технического содержимого, учебников и образовательных продуктов.
meera Естественный голос Azure Speech Привет Спокойный, тёплый женский голос, двуязычный: хинди и английский с индийским акцентом, с успокаивающим звучанием. Лучше всего подходит для благополучия, заботы, гостеприимства и рефлексивного наставничества.
nanami Естественный голос Azure Speech ja-JP Яркий, веселый женский японский голос с бодрым, воодушевляющим тоном. Лучше всего подходит для приветственных сообщений, ритейла и дружелюбного лайфстайл-контента.
natasha Естественный голос Azure Speech en-AU Чистый, универсальный австралийский женский голос, который легко подходит для разных сценариев использования. Лучше всего подходит для ассистентов общего назначения, службы поддержки и обучающего контента.
niwat Естественный голос Azure Speech th-TH Уверенный тайский мужской голос с гладким, измеренным профессионализмом. Лучше всего подходит для корпоративных презентаций, подкастов и формальных служебных сообщений.
premwadee Естественный голос Azure Speech th-TH Молодой тайский женский голос с формальным, профессиональным тоном. Лучше всего подходит для объявлений, обучения и структурированного взаимодействия.
rayn Естественный голос Azure Speech en-GB Простой британский мужской голос с эффективным, нейтральным стилем. Лучше всего подходит для поддержки транзакций, корпоративных инструментов и обновлений служб.
remy Естественный голос Azure Speech fr-FR Весёлый французский мужской голос с воодушевляющим разговорным тоном. Лучше всего подходит для чатов, розничной торговли и ненавязчивого рассказа о бренде.
seraphina Естественный голос Azure Speech de-DE Случайно очаровательный немецкий женский голос с расслабленным, привлекательным стилем. Лучше всего подходит для аудиокниг, случайных чатов и содержимого образа жизни.
sonia Естественный голос Azure Speech en-GB Нежный, мягкий британский женский голос со спокойной, успокаивающей манерой. Лучший выбор для премиальной поддержки, заботы о здоровье и продуманного онбординга.
sunhi Естественный голос Azure Speech ko-KR Спокойный, успокаивающий корейский женский голос с темной теплотой и измеренным темпом. Идеально подходит для сферы оздоровления, индустрии гостеприимства и рекомендаций, внушающих доверие.
sylvie Естественный голос Azure Speech fr-CA Спокойный, успокаивающий канадский французский женский голос с устойчивым профессионализмом. Лучше всего подходит для объявлений, поддержки и доверенных общедоступных коммуникаций.
thierry Естественный голос Azure Speech fr-CA Спокойный канадский французский мужской голос с темным, теплым тимбром. Идеально подходит для премиального озвучивания, контента о благополучии и продуманного взаимодействия с брендом.
william Естественный голос Azure Speech en-AU Спокойный австралийский мужской голос с теплой глубиной и уверенностью. Лучше всего подходит для подключения, поддержки и премиум-диктора.
xiaoxiao Естественный голос Azure Speech zh-CN Нежный, мягкий, приветливый женский голос на мандаринском китайском с богатым эмоциональным диапазоном. Лучше всего подходит для гостеприимства, премиум-ухода и теплого взаимодействия с клиентами.
ximena Естественный голос Azure Speech es-ES Хрустящий, веселый испанский женский голос с ясной позитивностью. Лучше всего подходит для сферы гостеприимства, поддержки и сопровождения покупок.
yunxi Естественный голос Azure Speech zh-CN Живой мандарин мужской голос с яркими, экспрессивными эмоциями. Лучше всего подходит для повествования, привлечения помощников и интерактивного образования.

Если вы не указываете голос, ava используется по умолчанию. Значение по умолчанию отображается как в ответе session.created , так и в последующих session.updated ответах.

Аватар Azure для технологии преобразования текста в речь

Текст для аватара речи преобразует текст в цифровое видео фотореалистического человека (стандартного аватара или пользовательского текста для аватара речи), выступающего с естественным звуком голоса.

Параметр можно использовать avatar для указания стандартного или настраиваемого аватара. Аватар синхронизируется с аудиовыходом.

Параметр avatar можно указать, чтобы включить выходные данные аватара, синхронизированные с выходными данными звука:

{
  "session": {
    "avatar": {
      "character": "lisa",
      "style": "casual-sitting",
      "customized": false,
      "ice_servers": [
        {
          "urls": ["REDACTED"],
          "username": "",
          "credential": ""
        }
      ],
      "video": {
        "bitrate": 2000000,
        "codec": "h264",
        "crop": {
          "top_left": [560, 0],
          "bottom_right": [1360, 1080],
        },
        "resolution": {
          "width": 1080,
          "height": 1920,
        },
        "background": {
          "color": "#00FF00FF"
          // "image_url": "https://example.com/example.jpg"
        }
      }
    }
  }
}

Поле ice_servers является необязательным. Если этот параметр не указан, служба возвращает серверы ICE для определённого сервера в session.updated ответ. И вам нужно использовать серверы ICE для конкретного сервера для создания локальных кандидатов ICE.

Отправьте SDP клиенту после того, как будут собраны кандидаты ICE.

{
    "type": "session.avatar.connect",
    "client_sdp": "your-client-sdp"
}

И служба отвечает с помощью SDP сервера.

{
    "type": "session.avatar.connecting",
    "server_sdp": "your-server-sdp"
}

Затем вы можете подключить аватар к SDP сервера.

Подробнее см. в этом примере кода использование аватара в Voice Live API.

Использовать фото в качестве аватара

Фотоаватар создает видео с говорящей головой по одному изображению. Voice Live поддерживает как стандартные аватары фотографий (предоставляемые Microsoft), так и пользовательские аватары фотографий (созданные на основе собственного изображения). Чтобы использовать фотоаватар, установите для type значение photo-avatar, а для model — значение базовой модели, на которой он работает (в настоящее время — vasa-1). Для стандартного фотоаватара задайте для character имя персонажа фотоаватара (список см. в разделе Говорящие головы). Для пользовательского фотоаватара задайте для character имя пользовательского фотоаватара, а для customized — значение true.

Стандартный фотоаватар создает видео с говорящей головой на основе одной фотографии, а ожидаемое разрешение исходной фотографии — 512x512.

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

Используйте необязательный scene объект для настройки масштаба аватара, положения, поворота и амплитуды перемещения. Значение и диапазоны каждого поля сцены см. в разделе "Настройка сцены аватара" для фото аватара.

Ниже приведен пример avatar объекта для стандартного аватара фотографии:

{
  "session": {
    "avatar": {
      "type": "photo-avatar",
      "model": "vasa-1",
      "character": "anika",
      "video": {
        "codec": "h264",
        "resolution": {
          "width": 1920,
          "height": 1080
        }
      },
      "scene": {
        "zoom": 1.0,
        "position_x": 0.0,
        "position_y": 0.0,
        "rotation_x": 0.0,
        "rotation_y": 0.0,
        "rotation_z": 0.0,
        "amplitude": 0.6
      }
    }
  }
}

Чтобы использовать пользовательский фотоаватар, укажите в character имя пользовательского фотоаватара и задайте для customized значение true:

{
  "session": {
    "avatar": {
      "type": "photo-avatar",
      "model": "vasa-1",
      "character": "your-custom-photo-avatar-name",
      "customized": true
    }
  }
}

Note

В настоящее время Azure-аватар текстовой речи поддерживается в ограниченных регионах. Текущий список поддерживаемых регионов см. в таблице регионов службы "Речь".