API речи веб-браузера
API речи веб-браузера позволяет интегрировать данные голосовой речи в веб-приложения. API речи веб-браузера состоит из двух частей: SpeechSynthesis (текст в речь) и SpeechRecognition (асинхронное распознавание речи).
Концепции и использование API речи веб-браузера
API речи веб-браузера позволяет веб-приложениям обрабатывать данные голосовой речи. Этот API состоит из двух компонентов:
- Распознавание речи осуществляется через интерфейс
SpeechRecognition, который предоставляет возможность распознавать контекст голосовой речи из аудиовхода (обычно через стандартную службу распознавания речи устройства) и соответствующим образом реагировать. Обычно вы будете использовать конструктор интерфейса для создания нового объектаSpeechRecognition, который имеет ряд обработчиков событий для обнаружения ввода речи через микрофон устройства. ИнтерфейсSpeechGrammarпредставляет собой контейнер для определенного набора грамматики, который ваше приложение должно распознавать. Грамматика определена с использованием формата грамматики JSpeech (JSGF). - Синтез речи осуществляется через интерфейс
SpeechSynthesis, компонент «текст в речь», который позволяет программам озвучивать текстовое содержимое (обычно через стандартный синтезатор речи устройства). Разные типы голосов представлены объектамиSpeechSynthesisVoice, а различные части текста, которые вы хотите озвучить, представлены объектамиSpeechSynthesisUtterance. Вы можете озвучить их, передав их методуSpeechSynthesis.speak().
Для получения более подробной информации об использовании этих функций см. Использование API речи веб-браузера.
Интерфейсы API речи веб-браузера
Распознавание речи
SpeechRecognition-
Интерфейс-контроллер для службы распознавания; он также обрабатывает
SpeechRecognitionEventотправленные службой распознавания. SpeechRecognitionAlternative-
Представляет одно слово, распознанное службой распознавания речи.
SpeechRecognitionErrorEvent-
Представляет сообщения об ошибках от службы распознавания.
SpeechRecognitionEvent-
Объект события для событий
resultиnomatchи содержит все данные, связанные с промежуточным или окончательным результатом распознавания речи. SpeechGrammar-
Слова или шаблоны слов, которые мы хотим, чтобы служба распознавания распознавала.
SpeechGrammarList-
Представляет список объектов
SpeechGrammar. SpeechRecognitionResult-
Представляет собой одно совпадение распознавания, которое может содержать несколько объектов
SpeechRecognitionAlternative. SpeechRecognitionResultList-
Представляет список объектов
SpeechRecognitionResultили один объект, если результаты собираются в режимеcontinuous.
Синтез речи
SpeechSynthesis-
Интерфейс-контроллер для службы речи; он может использоваться для получения информации о доступных голосах синтеза на устройстве, запуска и приостановки речи и других команд.
SpeechSynthesisErrorEvent-
Содержит информацию об ошибках, которые возникают при обработке объектов
SpeechSynthesisUtteranceв службе речи. SpeechSynthesisEvent-
Содержит информацию о текущем состоянии объектов
SpeechSynthesisUtterance, которые были обработаны в службе речи. SpeechSynthesisUtterance-
Представляет запрос на озвучивание. Он содержит содержимое, которое должна озвучить служба речи, и информацию о том, как его озвучить (например, язык, тон и громкость).
SpeechSynthesisVoice-
Представляет собой поддерживаемый голосовой тип. Каждый
SpeechSynthesisVoiceимеет свою собственную службу речи, включая информацию о языке, имени и URI. Window.speechSynthesis-
Определено как часть интерфейса
[NoInterfaceObject]под названиемSpeechSynthesisGetter, и реализован объектомWindow, свойствоspeechSynthesisпредоставляет доступ к контроллеруSpeechSynthesisи, следовательно, является точкой входа в функциональность синтеза речи.
Ошибки
Для получения информации об ошибках, сообщенных API речи (например, "language-not-supported" и "language-unavailable"), см. следующую документацию:
Примеры
Примеры API речи веб-браузера на GitHub (https://github.com/mdn/dom-examples/tree/main/web-speech-api) содержат демонстрации для иллюстрации распознавания и синтеза речи.
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
Web_Speech_API |
33 | 14 | 49 | 21 | 7 | 33 | 62 | Нет | 7 | 3.0 | Нет |
cancel |
33 | 14 | 49 | 21 | 7 | 33 | 62 | Нет | 7 | 3.0 | Нет |
getVoices |
33 | 14 | 49 | 21 | 7 | 33 | 62 | Нет | 7 | 3.0 | Нет |
pause |
33 | 14 | 49 | 21 | 7 | 33В Android,pause() завершает текущее произношение. pause() ведет себя так же, как cancel(). |
62В Android,pause() завершает текущее произношение. pause() ведет себя так же, как cancel(). |
Нет | 7 | 3.0В Android,pause() завершает текущее произношение. pause() ведет себя так же, как cancel(). |
Нет |
paused |
33 | 14 | 49 | 21 | 7 | 33 | 62 | Нет | 7 | 3.0 | Нет |
pending |
33 | 14 | 49 | 21 | 7 | 33 | 62 | Нет | 7 | 3.0 | Нет |
resume |
33 | 14 | 49 | 21 | 7 | 33 | 62 | Нет | 7 | 3.0 | Нет |
speak |
33 | 14 | 49 | 21 | 7 | 33 | 62 | Нет | 7 | 3.0 | Нет |
speaking |
33 | 14 | 49 | 21 | 7 | 33 | 62 | Нет | 7 | 3.0 | Нет |
voiceschanged_event |
33 | 14 | 49 | 21 | 16 | 33 | 62 | Нет | 16 | 3.0 | Нет |
| Настольный | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
SpeechRecognition |
33 | 79 | No | No | 14.1 | 33 | No | No | 14.5 | 2.0 | 37 |
Web_Speech_API |
33Вам нужно будет запустить ваш код через веб-сервер, чтобы распознавание работало. |
79Вам нужно будет запустить ваш код через веб-сервер, чтобы распознавание работало. |
No | 20Вам нужно будет запустить ваш код через веб-сервер, чтобы распознавание работало. |
14.1 | 33Вам нужно будет запустить ваш код через веб-сервер, чтобы распознавание работало. |
No | 20Вам нужно будет запустить ваш код через веб-сервер, чтобы распознавание работало. |
14.5 | 2.0Вам нужно будет запустить ваш код через веб-сервер, чтобы распознавание работало. |
4.4.3Вам нужно будет запустить ваш код через веб-сервер, чтобы распознавание работало. |
abort |
33 | 79 | No | 20 | 14.1 | 33 | No | 20 | 14.5 | 2.0 | 4.4.3 |
audioend_event |
33 | 79 | No | 20 | 14.1 | 33 | No | 20 | 14.5 | 2.0 | 4.4.3 |
audiostart_event |
33 | 79 | No | 20 | 14.1 | 33 | No | 20 | 14.5 | 2.0 | 4.4.3 |
continuous |
33 | 79 | No | 20 | 14.1 | 33 | No | 20 | 14.5 | 2.0 | 4.4.3 |
end_event |
33 | 79 | No | 20 | 14.1 | 33 | No | 20 | 14.5 | 2.0 | 4.4.3 |
error_event |
33 | 79 | No | 20 | 14.1 | 33 | No | 20 | 14.5 | 2.0 | 4.4.3 |
grammars |
33 | 79 | No | 20 | No | 33 | No | 20 | No | 2.0 | 4.4.3 |
interimResults |
33 | 79 | No | 20 | 14.1 | 33 | No | 20 | 14.5 | 2.0 | 4.4.3 |
lang |
33 | 79 | No | 20 | 14.1 | 33 | No | 20 | 14.5 | 2.0 | 4.4.3 |
maxAlternatives |
33 | 79 | No | 20 | 14.1 | 33 | No | 20 | 14.5 | 2.0 | 4.4.3 |
nomatch_event |
33 | 79 | No | 20 | 14.1 | 33 | No | 20 | 14.5 | 2.0 | 4.4.3 |
result_event |
33 | 79 | No | 20 | 14.1 | 33 | No | 20 | 14.5 | 2.0 | 4.4.3 |
soundend_event |
33 | 79 | No | 20 | 14.1 | 33 | No | 20 | 14.5 | 2.0 | 4.4.3 |
soundstart_event |
33 | 79 | No | 20 | 14.1 | 33 | No | 20 | 14.5 | 2.0 | 4.4.3 |
speechend_event |
33 | 79 | No | 20 | 14.1 | 33 | No | 20 | 14.5 | 2.0 | 4.4.3 |
speechstart_event |
33 | 79 | No | 20 | 14.1 | 33 | No | 20 | 14.5 | 2.0 | 4.4.3 |
start |
33 | 79 | No | 20 | 14.1 | 33 | No | 20 | 14.5 | 2.0 | 4.4.3 |
start_event |
33 | 79 | No | 20 | 14.1 | 33 | No | 20 | 14.5 | 2.0 | 4.4.3 |
stop |
33 | 79 | No | 20 | 14.1 | 33 | No | 20 | 14.5 | 2.0 | 4.4.3 |
api.SpeechRecognition
Таблицы BCD загружаются только в браузере
api.SpeechSynthesis
Таблицы BCD загружаются только в браузере
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API