Дата публикации
ai_products

Microsoft обновила Speech SDK: готовые примеры для распознавания речи, перевода и голосовых ассистентов

Что нового

Microsoft обновила репозиторий с примерами для Microsoft Cognitive Services Speech SDK. Это не новая модель, а набор готовых проектов, на которых можно быстро собрать голосовые функции в своих приложениях.

Ключевые изменения и возможности:

  • Актуальные примеры для последней версии Speech SDK.
  • Поддержка нескольких языков разработки: C++, C#, Java, JavaScript, Node.js, Objective‑C, Python, Swift, Go.
  • Готовые сценарии:
    • распознавание речи (one-shot, через микрофон);
    • перевод речи в другие языки;
    • синтез речи (Text‑to‑Speech) в динамик;
    • быстрый старт по созданию голосового ассистента, который общается с ботом через DialogServiceConnector и Direct Line Speech;
    • batch‑транскрибация и batch‑синтез через REST API без установки SDK.
  • Обновлённый список поддерживаемых платформ:
    • Windows 11;
    • Linux (поддерживаемые дистрибутивы и архитектуры);
    • Android — с API 26 (Android 8.0) и выше;
    • macOS x64 — с версии 10.14 и выше;
    • Mac M1 arm64 — с версии 11.0 и выше;
    • iOS — с версии 11.4 и выше.

В репозитории есть также утилиты для работы со звуком, например, вывод списка подключённых микрофонов и колонок и их Device ID под Windows.

Как это работает

Speech SDK — это клиентская библиотека к облачному сервису Microsoft Azure Cognitive Services Speech. Примеры в репозитории показывают, как из кода обращаться к этому сервису.

Под капотом у вас всегда одна и та же схема:

  1. Вы получаете ключ подписки и регион в Azure.
  2. В коде создаёте объект конфигурации Speech SDK с этим ключом.
  3. Подключаете источник аудио:
    • микрофон по умолчанию;
    • конкретное устройство по его Device ID;
    • аудиофайл.
  4. Отправляете аудиопоток в облако Azure.
  5. Получаете результат:
    • текст транскрибации;
    • перевод на другой язык;
    • аудио‑ответ с синтезированной речью;
    • активности от бота через DialogServiceConnector.

Дополнительно можно работать вообще без клиентской библиотеки, только через REST API. Для этого в репозитории есть отдельные примеры batch‑транскрибации и batch‑синтеза. В них вы отправляете файлы и параметры HTTP‑запросами и получаете результат асинхронно.

Примеры разбиты по сценариям:

  • Speech recognition quickstarts — разовое распознавание речи с микрофона.
  • Speech translation quickstarts — разовый перевод речи.
  • Speech synthesis quickstarts — генерация речи в динамик.
  • Voice Assistant quickstarts — клиент для голосового ассистента, который общается с ботом в Bot Framework через Direct Line Speech.

Есть отдельные репозитории, связанные с этим набором примеров:

  • Azure-Samples/Cognitive-Services-Voice-Assistant — расширенные примеры и инструменты для голосового ассистента на базе DialogServiceConnector.
  • microsoft/cognitive-services-speech-sdk-js — реализация Speech SDK на JavaScript.
  • Microsoft/cognitive-services-speech-sdk-go — реализация Speech SDK на Go.
  • Azure-Samples/Speech-Service-Actions-Template — шаблон репозитория для разработки моделей Azure Custom Speech с DevOps‑практиками.

Что это значит для вас

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

Когда это полезно

  1. Быстрый прототип голосового интерфейса

    Вам не нужно разбираться с API с нуля. Берёте пример для своего языка (например, C# или JavaScript), подставляете ключ и регион — и получаете работающий прототип:

    • голосовой поиск;
    • голосовое управление интерфейсом;
    • голосовой чат с ботом.
  2. Транскрибация и перевод аудио

    Примеры one‑shot распознавания и перевода подойдут, если вы:

    • расшифровываете короткие голосовые заметки;
    • добавляете субтитры к видео;
    • переводите голосовые сообщения между языками.
  3. Синтез речи для интерфейса

    Speech synthesis quickstarts показывают, как быстро добавить Text‑to‑Speech:

    • озвучка уведомлений;
    • голосовые подсказки в приложении;
    • голосовые ответы чат‑бота.
  4. Свой голосовой ассистент поверх Bot Framework

    Voice Assistant quickstarts подключаются к уже созданному боту, настроенному на Direct Line Speech. Примеры на Java (JRE) и C# UWP для Windows демонстрируют:

    • как отправить голосовой запрос боту через DialogServiceConnector;
    • как получить и озвучить голосовой ответ.
  5. Batch‑обработка больших объёмов аудио

    Если у вас много записей (подкасты, колл‑центр, архив звонков), примеры batch‑транскрибации и batch‑синтеза через REST API помогут:

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

Когда это не подойдёт

  • Если вы не готовы использовать облако Azure и хранить/обрабатывать аудио вне своей инфраструктуры.
  • Если вам нужна офлайн‑транскрибация без выхода в интернет — этот набор примеров ориентирован на облачный сервис.
  • Если продукт должен работать без доступа к сервисам Microsoft (например, при жёстких ограничениях на внешние соединения).

Доступность из России

Speech SDK и связанные с ним сервисы работают через Microsoft Azure. Для доступа к Azure из России обычно используют VPN или зарубежные аккаунты. Если ваша инфраструктура и юридическая модель не предполагают работу с Azure, придётся рассматривать альтернативы.

Место на рынке

Репозиторий с примерами — это надстройка над Azure Cognitive Services Speech. По сравнению с конкурентами он даёт несколько практических плюсов:

  • Широкий стек языков: от C++ и C# до JavaScript, Python, Swift и Go.
  • Официальные примеры для голосовых ассистентов на базе Bot Framework и Direct Line Speech, чего нет у многих других поставщиков в таком виде.
  • Поддержка Windows 11, Linux, Android 8.0+, macOS (x64 и M1) и iOS 11.4+ в одном наборе примеров.

При выборе между Speech SDK и другими сервисами распознавания и синтеза речи вы, по сути, сравниваете:

  • насколько глубоко вы уже завязаны на Azure;
  • какие языки и платформы вам нужны в продакшене;
  • удобство готовых примеров под ваш стек.

Чем больше у вас сервисов в Azure и чем важнее Bot Framework, тем логичнее смотреть в сторону Speech SDK и этого репозитория.

Установка

Репозиторий рассчитан на разработчиков, которые уже готовы подключить Speech SDK.

1. Получите подписку и ключи

SDK требует subscription keys для работы. Microsoft предлагает подробные инструкции в документации по Speech SDK:

  1. Создайте ресурс Speech в Azure Portal.
  2. Скопируйте ключ и регион.
  3. Сохраните их — они понадобятся в примерах.

Без этих ключей примеры на вашей машине не запустятся.

2. Скачайте примеры

Есть два варианта:

  1. ZIP‑архив без Git

    • Перейдите на репозиторий с примерами Speech SDK на GitHub.
    • Скачайте текущую версию как ZIP.
    • В Windows перед распаковкой:
      • кликните правой кнопкой по архиву;
      • откройте Свойства;
      • нажмите Разблокировать (Unblock);
      • примените изменения.
    • Распакуйте весь архив, а не отдельные папки.
  2. Клонирование через Git

git clone <URL_репозитория_Speech_SDK_samples>
cd <папка_репозитория>

3. Установите Speech SDK

Примеры используют Microsoft Cognitive Services Speech SDK. При скачивании SDK вы принимаете условия лицензии:

Speech SDK license agreement

Способ установки зависит от языка и платформы (NuGet, npm, pip, CocoaPods и т.д.). Конкретные команды приведены в документации SDK и в README для каждого примера.

Как запустить

Каждый пример в репозитории сопровождается описанием сборки и запуска. Общая схема примерно такая:

  1. Откройте папку нужного примера (например, quickstart/java/jre/from-microphone или quickstart/csharp/uwp).
  2. Откройте README в этой папке.
  3. Установите зависимости (через Maven, NuGet, npm, pip и т.п.).
  4. Вставьте свой ключ и регион в код или конфигурационный файл.
  5. Соберите и запустите проект стандартной командой для вашего стека.

Примеры Voice Assistant показывают, как:

  • настроить DialogServiceConnector;
  • подключиться к боту, использующему Direct Line Speech;
  • отправить голосовой запрос и обработать activity response от бота.

Инструменты из репозитория

В репозитории есть вспомогательные утилиты, например:

  • Enumerate audio devices (C++, Windows) — утилита, которая выводит Device ID всех подключённых микрофонов и колонок. Это нужно, если вы хотите:

    • использовать не микрофон по умолчанию для распознавания речи;
    • выводить синтезированную речь не в стандартные колонки.
  • Enumerate audio devices (C#, .NET Framework, Windows) — аналогичная утилита на C#.

Примеры REST API

Для работы без установки SDK есть два ключевых примера:

  • Batch transcription — демонстрирует batch‑транскрибацию из разных языков программирования.
  • Batch synthesis — демонстрирует batch‑синтез из разных языков программирования.

Они используют HTTP‑запросы к REST API Speech Service, что удобно, если вы не хотите тянуть клиентскую библиотеку в проект.


Если вы уже живёте в экосистеме Azure и вам нужен голос в продукте — этот репозиторий закрывает весь цикл: от простого распознавания до полноценного голосового ассистента на базе Bot Framework.


Читайте также