Все статьи
Текстовые инструменты

Speech-to-Text: распознавание речи в браузере

Web Speech Recognition API, диктовка текста, поддержка русского языка, ограничения и возможности.

7 марта 2025
7 мин чтения
ConvertHub
#stt#распознавание речи#диктовка

Введение

Speech-to-Text (STT), или распознавание речи, — технология, превращающая звучащую речь в текст. Долгое время качественное распознавание было доступно только через серверные сервисы с платными API, но сегодня базовое распознавание встроено в браузеры через Web Speech Recognition API. Это позволяет надиктовывать текст в любом веб-приложении без установки дополнительных программ — достаточно микрофона и поддерживающего браузера. Диктовка ускоряет создание черновиков, помогает тем, кто медленно печатает, и открывает доступ к текстовому вводу людям с моторными ограничениями.

В этой статье разберём, как работает распознавание речи в браузере, какие возможности даёт Web Speech Recognition API, насколько хорошо поддерживается русский язык и где STT оказывается полезным. Попробовать диктовку можно в инструменте speech-to-text — он работает прямо в браузере.

Что такое Web Speech Recognition API

Распознавание речи — вторая половина Web Speech API (первая — синтез речи, о котором подробно рассказано в материале про text-to-speech). Главный объект интерфейса — SpeechRecognition (в некоторых браузерах с префиксом webkitSpeechRecognition). Он позволяет запустить слушание микрофона, получать промежуточные и финальные результаты, настраивать язык и режимы распознавания.

Основные свойства и методы:

  • lang — язык распознавания в формате BCP 47 (например, ru-RU).
  • continuous — если true, распознавание продолжается, пока его не остановят; если false — останавливается после паузы.
  • interimResults — если true, выдаёт промежуточные гипотезы до финального результата. Полезно для обратной связи: пользователь видит распознаваемый текст в реальном времени.
  • maxAlternatives — сколько вариантов распознавания возвращать для каждой фразы.
  • start(), stop(), abort() — управление процессом.
  • События onresult, onerror, onend — обработка результатов и ошибок.

Как работает распознавание

Браузерное распознавание речи использует гибридный подход: аудио с микрофона отправляется на серверы (Google, Apple, Microsoft — в зависимости от браузера и ОС), там обрабатывается нейронной моделью, и обратно возвращается текст. То есть «браузерный» STT — на самом деле облачный, просто интегрированный в браузер. Это означает две вещи: для распознавания нужен интернет, а аудио покидает устройство пользователя.

Качество распознавания зависит от серверного движка. Google Chrome использует движок Google, Safari — движок Apple, Edge — Microsoft. Качество у современных движков высокое: они понимают контекст, акценты, специализированные термины. Но для приватных разговоров или конфиденциальных диктовок облачный характер обработки — серьёзное ограничение.

Промежуточные и финальные результаты

При включённом interimResults браузер постоянно выдаёт промежуточные гипотезы, пока вы говорите. Сначала они могут быть неточными, но по мере накопления контекста корректируются. Когда вы делаете паузу, результат становится финальным и больше не меняется. Это даёт плавную обратную связь: пользователь сразу видит, что система «слышит».

Режим continuous

Без continuous распознавание останавливается после первой паузы (обычно несколько секунд тишины). Это удобно для коротких команд. С continuous = true распознавание продолжается, пока пользователь не остановит его вручную, — подходит для диктовки длинных текстов.

Поддержка браузеров и языков

Поддержка Speech Recognition API заметно уже, чем у синтеза речи. Полностью поддерживают его Chrome и Edge (через серверы Google и Microsoft соответственно). Safari поддерживает с префиксом webkit. Firefox не поддерживает по умолчанию — распознавание недоступно без флаг и сторонних расширений.

Русский язык поддерживается всеми основными движками, и качество распознавания высокое. Можно диктовать длинные тексты, использовать специализированную лексику, цитировать числа и даты — система справляется. Тем не менее пунктуация автоматически не расставляется: запятые и точки приходится диктовать явно («запятая», «точка», «новая строка») или расставлять вручную после.

Зачем нужен speech-to-text

Сценариев использования распознавания речи в браузере множество.

  • Быстрое создание черновиков. Средний человек диктует быстрее, чем печатает. Надиктовать черновик статьи за 5 минут, а потом отредактировать — быстрее, чем час набирать текст.
  • Доступность. Для людей с моторными ограничениями, которым трудно печатать, голосовой ввод — основной способ взаимодействия с текстом.
  • Мобильный ввод. На смартфонах диктовать длинный текст удобнее, чем набирать на маленькой экранной клавиатуре.
  • Заметки на ходу. В дороге, за рулём, на прогулке — голосовые заметки превращаются в текст, который потом легко найти и отредактировать.
  • Субтитры и транскрипция. Распознавание аудиозаписей (лекций, интервью, встреч) в текст. Качество браузерного STT ниже, чем у специализированных сервисов, но для черновой транскрипции достаточно.
  • Голосовые команды. Управление веб-приложением: «открыть», «закрыть», «перейти к разделу». Полезно в кухонных и автомобильных сценариях, где руки заняты.

Подводные камни браузерного STT

  • Зависимость от интернета. Большинство реализаций отправляют аудио на сервер. Без сети распознавание не работает.
  • Конфиденциальность. Аудио покидает устройство. Для диктовки конфиденциальных документов (договоров, личных писем) это серьёзный риск. Используйте STT только для материалов, которые не страшно отправить на сервер.
  • Разрешение на микрофон. Браузер запросит доступ к микрофону. Если пользователь откажет — распознавание не начнётся.
  • Автоостановка. Браузер может остановить распознавание после паузы или через определённое время. Для длинных диктовок нужно либо периодически перезапускать, либо использовать continuous = true и следить за событием onend.
  • Шум и качество микрофона. Распознавание чувствительно к фоновому шуму и качеству записи. В шумном помещении точность падает.
  • Акцент и говор. Региональные акценты и диалектизмы распознаются хуже, чем литературная речь.
  • Специализированная лексика. Медицинские, юридические, технические термины распознаются с ошибками. После диктовки обязателен ручной прогон.
  • Пунктуация. Большинство движков не расставляют запятые и точки автоматически. Их либо диктуют голосом («запятая», «точка»), либо добавляют вручную.
  • Поддержка Firefox. Без сторонних расширений распознавание в Firefox недоступно. Если ваша аудитория использует Firefox, предложите альтернативу.

Сценарии использования

Диктовка статей и постов

Писать посты в блог или соцсети голосом в дороге — способ использовать время, которое иначе пропадает. Надиктовали черновик, потом отредактировали — готово. Качество современных распознавателей достаточно для черновика, который требует только стилистической правки.

Голосовые заметки

Идея пришла в голову — открыл инструмент, надиктовал, скопировал в заметки. Быстрее, чем печатать, и не забудется. Особенно удобно на смартфоне.

Транскрипция аудио

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

Доступность для людей с ограничениями

Голосовой ввод делает веб-формы доступными для людей, которым трудно или невозможно печатать. Это соответствие WCAG и расширение аудитории сайта.

Голосовое управление интерфейсом

Команды «открыть меню», «прокрутить вниз», «поиск» — экономят время и освобождают руки. Реализуется через распознавание коротких команд с проверкой по списку ключевых слов.

Лучшие практики

  • Проверяйте поддержку API. Перед использованием убедитесь, что SpeechRecognition или webkitSpeechRecognition доступен, и сообщите пользователю, если нет.
  • Запрашивайте микрофон по действию. Не пытайтесь активировать распознавание при загрузке страницы — браузер всё равно заблокирует. Дайте кнопку.
  • Включайте промежуточные результаты. Пользователь видит, что система работает, и может корректировать речь на ходу.
  • Используйте continuous режим для длинных диктовок. И перезапускайте распознавание при событии onend, если пользователь не останавливал.
  • Сохраняйте контекст. Распознанный текст не теряйте при ошибках — сохраняйте в поле ввода, чтобы пользователь ничего не потерял.
  • Предупреждайте о конфиденциальности. Облачный характер обработки скрывать не стоит. Если материал чувствительный, посоветуйте локальные альтернативы.
  • Дайте инструкцию по пунктам. Подскажьте, что запятые и точки надо диктовать явно, — это улучшит результат.

STT против TTS: вместе лучше

Speech-to-text и text-to-speech — взаимодополняющие технологии. Вместе они образуют полноценный голосовой интерфейс: пользователь говорит, система распознаёт и отвечает озвучкой. Например, голосовой ассистент на сайте принимает команду, выполняет действие и сообщает результат. Реализация обоих интерфейсов в браузере через Web Speech API делает такие сценарии доступными без сторонних сервисов.

Заключение

Speech-to-text в браузере через Web Speech Recognition API — доступная технология голосового ввода, не требующая установки программ. Несмотря на ограничения — облачный характер обработки, узкую поддержку браузеров, отсутствие авто-пунктуации — она ускоряет создание черновиков, открывает доступ к текстовому вводу людям с ограничениями и удобна для заметок на ходу. Знание подводных камней помогает строить надёжные интерфейсы. Воспользуйтесь инструментом speech-to-text, чтобы попробовать диктовку — и оценить, насколько быстрее можно создавать тексты голосом.

Попробуйте эти инструменты

Похожие статьи