Перейти к содержанию

Web Speech API

Материал из Википедии — свободной энциклопедии

Web Speech API — прикладной программный интерфейс (API) для веб-браузеров, позволяющий веб-приложениям работать с голосовыми данными: распознавать речь пользователя и синтезировать речь из текста. Состоит из двух независимых частей — распознавания речи (SpeechRecognition) и синтеза речи (SpeechSynthesis, также известного как text-to-speech, TTS)[1]. Спецификация не является формальным стандартом W3C с полным статусом рекомендации — это отчёт (community report), разрабатываемый в рамках Speech API Community Group, а затем — Audio Community Group при W3C[2].

Идея встроенного в браузер API для голосового ввода и вывода была впервые предложена компанией Google в 2010 году[3]. Первый черновик спецификации был опубликован Speech API Community Group в 2012 году[4]. Практическая поддержка в браузерах началась с Google Chrome 25 (2013 год)[3], а функция синтеза речи появилась в Safari уже в версии 7 (октябрь 2013)[5]. В отличие от многих других веб-технологий, Web Speech API так и не прошёл полный путь до статуса рекомендации W3C: работа над спецификацией курируется профильной Community Group, что делает документ менее формально обязывающим для производителей браузеров[2]. В 2020-х годах в спецификацию было добавлено расширение для распознавания речи «на устройстве» (on-device speech recognition), не требующее отправки аудио на сервер[6].

Архитектура API

[править | править код]

SpeechRecognition (распознавание речи)

[править | править код]

Интерфейс SpeechRecognition принимает аудиопоток с микрофона устройства (либо из аудиотрека) и передаёт его сервису распознавания речи; при успешном распознавании слова или фразы сервис возвращает текстовую строку или список альтернативных вариантов с оценкой достоверности[7]. У интерфейса есть набор событийных обработчиков (onresult, onerror, onstart, onend и другие), а вспомогательный интерфейс SpeechGrammar позволяет задать грамматику распознаваемой речи на основе JSGF (JSpeech Grammar Format)[8].

По умолчанию распознавание речи выполняется не в браузере, а на стороне сервера: аудио передаётся во внешний сервис распознавания (в Chrome — сервис Google), поэтому функция не работает офлайн и требует соединения по HTTPS[7]. Начиная с расширения on-device recognition часть браузеров позволяет выполнять распознавание локально, без передачи аудио и транскрипции третьей стороне[6].

SpeechSynthesis (синтез речи)

[править | править код]

Интерфейс SpeechSynthesis — это контроллер речевого сервиса устройства, позволяющий получить список доступных голосов, запускать, ставить на паузу и останавливать воспроизведение[1]. Отдельный запрос на озвучивание текста представлен объектом SpeechSynthesisUtterance, содержащим сам текст и параметры произношения — язык, высоту тона, скорость, громкость и выбранный голос (SpeechSynthesisVoice)[1]. В отличие от распознавания речи, синтез в подавляющем большинстве браузеров и на настольных, и на мобильных платформах выполняется системными средствами устройства и не требует обязательного HTTPS-соединения[3].

Поддержка браузерами

[править | править код]

Поддержка двух частей API существенно различается.

Синтез речи (SpeechSynthesis) поддерживается широко и считается технологией уровня «Baseline: Widely Available» с марта 2021 года[5]:

  • Chrome — с версии 33 (2014)
  • Firefox — с версии 49 (2016)
  • Safari — с версии 7 (2013)
  • Edge — с версии 14 (2016)

Распознавание речи (SpeechRecognition) по состоянию на 2025—2026 годы имеет статус «ограниченная доступность» (limited availability)[9]:

  • Chrome и Chrome для Android — поддерживается (Chrome 139, август 2025)
  • Edge — поддерживается (версия 139, август 2025)
  • Firefox и Firefox для Android — не поддерживается, позиция разработчиков не определена
  • Safari и Safari для iOS — не поддерживается

Причина фрагментарной поддержки распознавания речи в первую очередь техническая и коммерческая: по умолчанию оно опирается на облачный сервис распознавания, принадлежащий Google, лицензия на использование которого другим производителям браузеров не предоставляется[3]. Из-за этого браузеры на основе Chromium, но не связанные с Google (например, Brave), могут не иметь рабочей функции распознавания речи[3].

Область применения

[править | править код]

Web Speech API используется в первую очередь там, где важны:

  • специальные возможности (accessibility) — озвучивание содержимого страниц для незрячих и слабовидящих пользователей, голосовое управление интерфейсом[10];
  • голосовой ввод как альтернатива клавиатуре — голосовые команды, диктовка, голосовое заполнение форм;
  • обучающие и языковые приложения — озвучивание учебных материалов, тренажёры произношения;
  • автоматизация и IVR-подобные веб-сценарии — простые голосовые ассистенты и чат-боты в браузере.

Критика и ограничения

[править | править код]

Основные претензии к Web Speech API, регулярно отмечаемые как разработчиками, так и участниками рабочей группы W3C, касаются приватности, производительности и качества голосов.

Приватность и работа с данными. При серверном распознавании (используемом по умолчанию) аудио пользователя передаётся стороннему сервису без прозрачного контроля над тем, сохраняются ли эти данные и как долго[11]. Сама спецификация признаёт риски: речевой ввод потенциально может использоваться для скрытого прослушивания, если вредоносная страница маскирует активную запись под остановленную[2]. Обсуждение этой проблемы велось и на уровне W3C Machine Learning Workshop, где отмечалось противоречие между удобством серверного распознавания и требованиями регламентов вроде GDPR о праве на удаление данных[12].

Производительность и офлайн-доступность. Пока распознавание выполняется на сервере, приложение не работает без подключения к интернету, а задержка сети ощутимо влияет на отзывчивость[7].

Качество и однородность. Голоса, доступные через SpeechSynthesis, по отзывам разработчиков, звучат менее естественно и выразительно, чем голоса современных нейросетевых сервисов синтеза, особенно для языков, отличных от английского[3]. Кроме того, набор доступных голосов и языков сильно зависит от браузера и операционной системы, из-за чего поведение приложения непредсказуемо меняется от платформы к платформе[3].

Именно эти ограничения — прежде всего качество голоса и облачная зависимость от одного производителя — стали одной из причин, по которой на рынке параллельно с браузерным API выросла отдельная индустрия коммерческих облачных сервисов синтеза речи.

Сравнение с коммерческими облачными сервисами синтеза речи

[править | править код]

Важно различать Web Speech API как встроенный, бесплатный, но ограниченный браузерный интерфейс — и отдельный класс коммерческих облачных API нейросетевого синтеза речи, которые не входят в веб-стандарты и подключаются напрямую к серверам поставщика по REST/WebSocket с использованием API-ключа. К числу наиболее заметных относятся ElevenLabs, Amazon Polly, Microsoft Azure AI Speech и Google Cloud Text-to-Speech.

ElevenLabs Inc. — компания, основанная в 2022 году Матеушем (Мати) Станишевским и Пиотром Домбковским, специализирующаяся на нейросетевом синтезе речи и клонировании голоса[13]. Модели компании обучены учитывать контекст текста и подстраивать интонацию и темп речи, а также распознавать эмоциональную окраску (гнев, грусть, радость, тревогу)[13]. Продуктовая линейка ElevenLabs включает Text-to-Speech, Speech-to-Text (Scribe), клонирование и «дизайн» голоса, автоматический дубляж видео, генерацию музыки и звуковых эффектов, а также платформу голосовых ИИ-агентов[14]. Библиотека голосов насчитывает более 10 тысяч вариантов, поддерживается свыше 30 языков, доступна потоковая генерация для приложений реального времени[15]. Сегодня API ElevenLabs используют многие сайты для озвучки текста голосом, адаптируя возможности базовой технологии под свой регион, добавляя собственные настройки и улучшения. Среди заявленных корпоративных клиентов компании — Disney, Cisco, Meta, NVIDIA, Epic Games и Salesforce[16].

Amazon Polly, Microsoft Azure AI Speech, Google Cloud Text-to-Speech

[править | править код]

Три крупнейших облачных провайдера предлагают собственные API нейросетевого синтеза речи как часть более широких облачных платформ:

  • Amazon Polly — сервис AWS, предоставляющий многоязычный синтез речи с нейросетевыми голосами и настройкой произношения и пауз через SSML; отличается сравнительно низкой ценой и покомандной интеграцией с экосистемой AWS[17].
  • Microsoft Azure AI Speech — по независимым оценкам качества голоса (Mean Opinion Score) нередко превосходит Amazon Polly и предлагает функцию клонирования голоса, отсутствующую у Polly[18].
  • Google Cloud Text-to-Speech — построен на технологии WaveNet и последующих моделях Neural2, поддерживает создание кастомных голосов; по ряду сравнений качество голоса оценивается выше, чем у Amazon Polly[19].

Сводное сравнение

[править | править код]
КритерийWeb Speech API (браузерный)ElevenLabs / Azure / Polly / Google Cloud TTS (коммерческие облачные)
СтоимостьБесплатно, встроено в браузерПлатно, по объёму символов/минут (есть ограниченные бесплатные тарифы)
Качество голосаМеханическое, системные голоса ОСНейросетевое, близкое к естественной речи, с эмоциональной окраской
Клонирование голосаНе поддерживаетсяПоддерживается (ElevenLabs, Azure)
Офлайн-режимОграниченно (on-device recognition в отдельных браузерах)Как правило, недоступен — облачный сервис
ИнтеграцияНативный JavaScript-интерфейс браузераREST/WebSocket API с ключом доступа, отдельная регистрация у поставщика
Единообразие между платформамиНизкое, зависит от браузера и ОСВысокое — поведение одинаково независимо от браузера пользователя

Таким образом, Web Speech API и коммерческие нейросетевые TTS-сервисы решают близкую задачу разными средствами: первый — это бесплатный, но ограниченный по качеству и предсказуемости браузерный примитив, вторые — платная, но значительно более качественная и управляемая инфраструктура, требующая интеграции стороннего API в приложение. На практике веб-разработчики нередко используют Web Speech API для простых сценариев (озвучивание интерфейса, базовая доступность) и подключают коммерческие TTS-провайдеры там, где важны естественность голоса, эмоциональная выразительность или клонирование голоса — например, при производстве подкастов, аудиокниг, дубляжа видео и голосовых ассистентов[20].

Связанные технологии

[править | править код]
  • Web Audio API — обработка и синтез аудиосигналов в браузере.
  • Media Capture and Streams (getUserMedia) — получение аудио- и видеопотока с устройств пользователя, используется совместно с SpeechRecognition.
  • Нативные платформенные API распознавания и синтеза речи (Dictation на macOS, распознавание речи Windows) — используются некоторыми браузерами как локальный движок вместо облачного сервиса.

Примечания

[править | править код]
  1. 1 2 3 Web Speech API. MDN Web Docs. Дата обращения: 15 сентября 2026. Архивировано 15 сентября 2026 года.
  2. 1 2 3 Web Speech API. W3C, Audio Community Group. Дата обращения: 15 сентября 2026. Архивировано 16 сентября 2026 года.
  3. 1 2 3 4 5 6 7 Web Speech API: What Works, What Doesn't, and How to Improve It. Towards Data Science (23 января 2025). Дата обращения: 15 сентября 2026. Архивировано 23 февраля 2026 года.
  4. ↑ Is your browser a polyglot? Chen Hui Jing (15 января 2020). Дата обращения: 15 сентября 2026. Архивировано 16 сентября 2026 года.
  5. 1 2 Speech synthesis. Web Platform DX / web-features. Дата обращения: 15 сентября 2026. Архивировано 16 сентября 2026 года.
  6. 1 2 On-device speech recognition explainer. WebAudio/web-speech-api, GitHub. Дата обращения: 15 сентября 2026. Архивировано 15 сентября 2026 года.
  7. 1 2 3 Using the Web Speech API. MDN Web Docs. Дата обращения: 15 сентября 2026. Архивировано 15 сентября 2026 года.
  8. ↑ Implementing Speech Recognition and Speech Synthesis with Web Speech API. Medium. Дата обращения: 15 сентября 2026. Архивировано 15 сентября 2026 года.
  9. ↑ Speech recognition. Web Platform DX / web-features. Дата обращения: 15 сентября 2026. Архивировано 15 сентября 2026 года.
  10. ↑ Intelligent Conversational Bot for Massive Online Open Courses (MOOCs). Дата обращения: 15 сентября 2026. Архивировано 16 сентября 2026 года.
  11. ↑ Web Speech API: Server-side Data Privacy. Chromium HTML5 Google Group. Дата обращения: 15 сентября 2026. Архивировано 15 сентября 2026 года.
  12. ↑ Speech recognition privacy issues and solutions. W3C machine-learning-workshop, GitHub Issues. Дата обращения: 15 сентября 2026. Архивировано 15 сентября 2026 года.
  13. 1 2 ElevenLabs. Wikipedia (English). Дата обращения: 15 сентября 2026. Архивировано 15 сентября 2026 года.
  14. ↑ ElevenAPI — ElevenLabs the most powerful AI audio APIs. ElevenLabs. Дата обращения: 15 сентября 2026. Архивировано 15 сентября 2026 года.
  15. ↑ Text to Speech (TTS) API. ElevenLabs. Дата обращения: 15 сентября 2026. Архивировано 16 сентября 2026 года.
  16. ↑ ElevenLabs — AI-платформа: синтез речи, музыка, видео, голосовые агенты. Дата обращения: 15 сентября 2026. Архивировано 15 сентября 2026 года.
  17. ↑ Amazon Polly vs Google Cloud Text-to-Speech comparison. PeerSpot. Дата обращения: 15 сентября 2026. Архивировано 15 сентября 2026 года.
  18. ↑ Microsoft Azure AI Speech vs. Amazon Polly. Unreal Speech. Дата обращения: 15 сентября 2026. Архивировано 15 сентября 2026 года.
  19. ↑ Amazon Polly vs. Google Cloud Text-to-Speech. Unreal Speech. Дата обращения: 15 сентября 2026. Архивировано 15 сентября 2026 года.
  20. ↑ 31 инструмент, чтобы превратить текст в речь. Дата обращения: 15 сентября 2026.