- Дата публикации
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. Примеры в репозитории показывают, как из кода обращаться к этому сервису.
Под капотом у вас всегда одна и та же схема:
- Вы получаете ключ подписки и регион в Azure.
- В коде создаёте объект конфигурации Speech SDK с этим ключом.
- Подключаете источник аудио:
- микрофон по умолчанию;
- конкретное устройство по его Device ID;
- аудиофайл.
- Отправляете аудиопоток в облако Azure.
- Получаете результат:
- текст транскрибации;
- перевод на другой язык;
- аудио‑ответ с синтезированной речью;
- активности от бота через 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‑практиками.
Что это значит для вас
Если вы делаете продукт с голосовым интерфейсом, этот репозиторий — готовая стартовая площадка. Он закрывает несколько типичных задач.
Когда это полезно
-
Быстрый прототип голосового интерфейса
Вам не нужно разбираться с API с нуля. Берёте пример для своего языка (например, C# или JavaScript), подставляете ключ и регион — и получаете работающий прототип:
- голосовой поиск;
- голосовое управление интерфейсом;
- голосовой чат с ботом.
-
Транскрибация и перевод аудио
Примеры one‑shot распознавания и перевода подойдут, если вы:
- расшифровываете короткие голосовые заметки;
- добавляете субтитры к видео;
- переводите голосовые сообщения между языками.
-
Синтез речи для интерфейса
Speech synthesis quickstarts показывают, как быстро добавить Text‑to‑Speech:
- озвучка уведомлений;
- голосовые подсказки в приложении;
- голосовые ответы чат‑бота.
-
Свой голосовой ассистент поверх Bot Framework
Voice Assistant quickstarts подключаются к уже созданному боту, настроенному на Direct Line Speech. Примеры на Java (JRE) и C# UWP для Windows демонстрируют:
- как отправить голосовой запрос боту через DialogServiceConnector;
- как получить и озвучить голосовой ответ.
-
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:
- Создайте ресурс Speech в Azure Portal.
- Скопируйте ключ и регион.
- Сохраните их — они понадобятся в примерах.
Без этих ключей примеры на вашей машине не запустятся.
2. Скачайте примеры
Есть два варианта:
-
ZIP‑архив без Git
- Перейдите на репозиторий с примерами Speech SDK на GitHub.
- Скачайте текущую версию как ZIP.
- В Windows перед распаковкой:
- кликните правой кнопкой по архиву;
- откройте Свойства;
- нажмите Разблокировать (Unblock);
- примените изменения.
- Распакуйте весь архив, а не отдельные папки.
-
Клонирование через 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 для каждого примера.
Как запустить
Каждый пример в репозитории сопровождается описанием сборки и запуска. Общая схема примерно такая:
- Откройте папку нужного примера (например,
quickstart/java/jre/from-microphoneилиquickstart/csharp/uwp). - Откройте README в этой папке.
- Установите зависимости (через Maven, NuGet, npm, pip и т.п.).
- Вставьте свой ключ и регион в код или конфигурационный файл.
- Соберите и запустите проект стандартной командой для вашего стека.
Примеры 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.