ASR (Automatic Speech Recognition) — это автоматическое распознавание речи: система преобразует spoken audio в текст. Для практики это обычно означает два режима работы: потоковое распознавание для живого звука и пакетную транскрибацию для уже записанных файлов; такие режимы прямо описаны в документации Azure, Google Cloud и AWS.
Английский термин: Automatic Speech Recognition. Сокращение: ASR. В документации сервисов также часто встречается speech-to-text; по-русски употребляют «распознавание речи» и «транскрибация речи», но «транскрибация» нередко означает уже сам процесс или результат, а не весь класс технологий.
Простыми словами
Грубо говоря, ASR можно представить как очень быстрого стенографиста: вы говорите в микрофон, а система пытается тут же записать сказанное текстом. Если аудио идет прямо сейчас, нужен потоковый режим; если у вас уже есть запись звонка, интервью или лекции, подойдет пакетная обработка.
Важная оговорка: это только аналогия. Реальная система не «понимает речь как человек», а сопоставляет аудиосигнал с наиболее вероятной текстовой гипотезой, а затем дополняет результат пунктуацией, таймкодами и иногда оценками уверенности.
Как это работает
Точная внутренняя архитектура зависит от модели и провайдера, но рабочая схема у ASR обычно одна и та же.
- Вход: система получает аудиопоток с микрофона или готовый файл.
- Разбиение: звук делится на удобные для обработки фрагменты.
- Распознавание: модель строит текстовые гипотезы по мере поступления аудио или после анализа всей записи.
- Постобработка: к тексту могут добавляться пунктуация, таймкоды и оценки уверенности. Например, Amazon Transcribe указывает, что транскрипт может включать confidence scores и timestamps для каждого слова или знака пунктуации.
- Выход: вы получаете live transcript для интерфейса или готовую расшифровку для дальнейшего поиска, аналитики и передачи в другие системы.
Микрофон или аудиофайл
↓
Разбиение на фрагменты
↓
ASR-модель → промежуточные гипотезы текста
↓
Постобработка: пунктуация / таймкоды / confidence
↓
Итоговый transcript
↓
Субтитры / поиск / аналитика / LLM-пайплайн
По режимам работы различия между сервисами заметны уже на уровне API. Google Cloud Speech-to-Text описывает синхронное, асинхронное и streaming-распознавание. Amazon Transcribe поддерживает batch jobs и streaming transcription. Azure Speech-to-Text перечисляет real-time transcription, fast transcription, batch transcription и custom speech.
У OpenAI есть отдельные варианты для managed API и для open-source стека. В Audio API для транскрибации перечислены модели gpt-4o-transcribe, gpt-4o-mini-transcribe, gpt-4o-mini-transcribe-2025-12-15, whisper-1 и gpt-4o-transcribe-diarize; при этом whisper-1 не поддерживает streaming. Для Realtime API OpenAI отдельно предупреждает: входная транскрипция делается отдельной ASR-моделью, а сам transcript стоит рассматривать как черновую подсказку, потому что он может расходиться с исходным аудио.
Где применяется
- Живые субтитры и live captions. Здесь важен потоковый режим, потому что текст нужен во время разговора, а не после него.
- Расшифровка записей. Для интервью, подкастов, звонков и лекций обычно удобнее batch или asynchronous режим.
- Голосовые интерфейсы и агенты. ASR превращает речь в текст, после чего его можно передать в приложение через API или дальше в LLM-процесс.
- Поиск и работа со знаниями. Как только речь стала текстом, ее можно индексировать, искать по ней ответы и подключать к RAG-сценариям.
Какие ориентиры по инструментам есть по состоянию на 2026-08-16
- OpenAI Audio API: поддерживает набор управляемых моделей для транскрибации, включая вариант с diarization; ограничения по streaming и политикам endpoint нужно перепроверять в актуальной документации.
- Google Cloud Speech-to-Text: дает synchronous, asynchronous и streaming режимы. Для некоторых сценариев доступны региональные endpoints US и EU; документация отдельно оговаривает, что это удерживает данные at rest и in use внутри соответствующих континентальных границ.
- Amazon Transcribe: поддерживает batch и streaming, может отдавать таймкоды и confidence, а биллинг привязан к секундам обработанного аудио; часть опций тарифицируется отдельно.
- Azure Speech-to-Text: поддерживает real-time, fast, batch и custom speech. В REST API Azure как latest GA version указана версия 2025-10-15, а версии 3.0, 3.2-preview.1 и 3.2-preview.2 отмечены как retired с 2026-03-31.
- openai/whisper: официальный репозиторий OpenAI для open-source ASR-моделей. В статье о Whisper модель описывается как general-purpose speech recognition, обученная на large-scale weak supervision, с поддержкой multilingual speech recognition, speech translation и language identification.
Практический пример
Представим типовой сценарий: у вас есть архив созвонов, и вы хотите получить текст для поиска по разговорам и последующей аналитики.
- Определите режим. Если текст нужен во время разговора, вам нужен streaming. Если записи уже лежат в хранилище и важнее throughput, удобнее batch или asynchronous обработка.
- Решите, какие поля важны. Если потом вы будете подсвечивать спорные места или синхронизировать текст с аудио, нужны таймкоды. Если планируется ручная проверка, полезны confidence scores. В документации Amazon Transcribe такие поля описаны явно.
- Не путайте ASR с аналитикой. Само распознавание речи только превращает звук в текст. Поиск, суммаризация и извлечение фактов — это следующий слой; его можно строить поверх текста через RAG или другой пайплайн.
- Проверяйте критичные команды. Если вы делаете голосового агента, нельзя слепо считать любой transcript окончательной истиной: OpenAI прямо пишет, что transcript в Realtime может быть лишь rough guide.
Упрощенно результат может выглядеть так:
{
"transcript": [
{"text": "Здравствуйте", "start": "00:00:01.20", "end": "00:00:01.80", "confidence": 0.98},
{"text": ",", "start": "00:00:01.80", "end": "00:00:01.80", "confidence": 0.99},
{"text": "чем", "start": "00:00:02.00", "end": "00:00:02.15", "confidence": 0.96},
{"text": "могу", "start": "00:00:02.16", "end": "00:00:02.38", "confidence": 0.95},
{"text": "помочь", "start": "00:00:02.39", "end": "00:00:02.70", "confidence": 0.94}
]
}
Это не образец конкретного API-ответа, а схема того, как практик обычно использует выход ASR: текст, таймкоды и confidence для проверки, интерфейса и дальнейшей автоматизации.
Чем отличается от похожих терминов
| Термин | Что делает | Чем отличается от ASR |
|---|---|---|
| ASR | Преобразует речь в текст | Базовая задача speech-to-text |
| Диаризация | Определяет, кто говорил и когда | Не заменяет ASR, а дополняет его. Текст может быть тем же, но появляется разметка по спикерам |
| Speech translation | Преобразует речь в текст на другом языке | Если вам нужен только текст на языке исходного аудио, это ASR; если нужен перевод речи, это уже другая задача |
| Language identification | Определяет язык аудио | Не расшифровывает содержание само по себе; отвечает на вопрос «на каком языке говорят?» |
Эта граница важна на практике: запрос «сделайте ASR» не гарантирует ни разметку спикеров, ни перевод, ни определение языка, если это не указано отдельно.
Ограничения и заблуждения
- Заблуждение: «ASR дает точную стенограмму, которой можно слепо доверять». На практике даже сам OpenAI для Realtime API предупреждает, что transcript может быть rough guide и расходиться с аудио.
- Заблуждение: «любой сервис умеет и live, и files одинаково хорошо». Нет: Google разделяет synchronous, asynchronous и streaming; AWS — batch и streaming; Azure — real-time, fast, batch и custom speech; у OpenAI
whisper-1не поддерживает streaming. - Заблуждение: «ASR автоматически знает, кто говорит». Базовое распознавание речи решает задачу speech-to-text. Диаризация — отдельная возможность или отдельная модельная конфигурация.
- Заблуждение: «регион и хранение данных везде одинаковы». Нет: у Google есть региональные endpoints US и EU с отдельной оговоркой по границам обработки; у Azure данные обрабатываются и хранятся в регионе Speech resource, причем часть функций доступна не во всех регионах. Для OpenAI региональность и policy-ограничения нужно проверять в актуальных docs на момент внедрения.
- Заблуждение: «цены и версии можно зафиксировать один раз». Это плохая идея. В источниках прямо видно, что версии API могут сниматься с поддержки, а тарификация у провайдеров меняется независимо от режимов и дополнительных функций.
Практический вывод: сначала выберите режим — streaming для живого диалога или batch/async для архива, затем проверьте требования к таймкодам, confidence, регионам и политике хранения. Редакционное ограничение: эта статья не сравнивает точность ASR по языкам, акцентам и шумным условиям и не фиксирует цены, потому что в предоставленных источниках эти параметры либо меняются слишком часто, либо требуют отдельного тестирования.
Связанные термины и инструменты
- API (Application Programming Interface) — как ASR встраивается в приложение, бота или внутренний пайплайн.
- RAG (Retrieval-Augmented Generation) — что делать с расшифровкой дальше, если вы хотите искать знания по аудиоархиву.
- AI Safety (безопасность ИИ) — почему голосовые команды нельзя без проверки исполнять только по черновому transcript.
Источники
- Audio | OpenAI API Reference
- Server events | OpenAI API Reference
- Data controls in the OpenAI platform – OpenAI API
- GPT-4o Transcribe Model | OpenAI API
- GitHub – openai/whisper: Robust Speech Recognition via Large-Scale Weak Supervision · GitHub
- Robust Speech Recognition via Large-Scale Weak Supervision
- Cloud Speech-to-Text overview | Google Cloud Documentation
- Supported regional endpoints | Cloud Speech-to-Text | Google Cloud Documentation
- What is Amazon Transcribe? – Amazon Transcribe
- How Amazon Transcribe works – Amazon Transcribe
- Speech-to-Text Documentation – Tutorials, API Reference – Foundry Tools | Microsoft Learn
- Speech to text REST API – Speech service – Foundry Tools | Microsoft Learn
- Supported regions for Azure Speech – Foundry Tools | Microsoft Learn
Вопросы и ответы
ASR и speech-to-text — это одно и то же?
Почти всегда да. В документации облачных сервисов speech-to-text обычно обозначает тот же класс задач, что и ASR. Но «транскрибация» в разговорной речи иногда означает уже конкретный процесс или готовый текст.
Что выбрать: streaming или batch?
Streaming нужен, когда текст должен появляться во время разговора. Batch или asynchronous обработка удобнее для уже записанных файлов, когда важнее throughput и фоновая обработка.
ASR сам показывает, кто говорит?
Не обязательно. Базовая задача ASR — превратить речь в текст. Разделение по спикерам относится к diarization и должно быть заявлено отдельно.
Можно ли считать transcript юридически точной записью?
Без дополнительной проверки — не стоит. По крайней мере OpenAI для Realtime API отдельно предупреждает, что transcript может быть лишь rough guide и расходиться с аудио.
Можно ли запускать ASR локально, без managed-сервиса?
Да, для этого часто смотрят на официальный open-source репозиторий openai/whisper. Но это уже не managed service: вам нужно самостоятельно поднимать окружение и проверять зависимости и эксплуатационные ограничения.