Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
API SpeechRecognition — это стандартный веб-API, который позволяет преобразовывать речь из звукового источника, например файла мультимедиа или микрофона устройства, в текст, непосредственно из кода JavaScript веб-сайта или расширений браузера. В этой статье рассматривается использование API SpeechRecognition с моделью распознавания речи на устройстве (или локальной), встроенной в Microsoft Edge.
Дополнительные сведения об API см. в разделе ВЕБ-API распознавания речи на сайте MDN.
Подробное содержимое:
- Доступность локальной модели распознавания речи
- Преимущества локальной модели распознавания речи
- Включение локального распознавания речи в Microsoft Edge
- См. рабочий пример
- Использование API SpeechRecognition с локальным распознаванием на веб-сайте
- Обратная связь
- См. также
Доступность локальной модели распознавания речи
Локальная модель распознавания речи доступна в Microsoft Edge Canary или Dev (версия 150.0.4076 или более поздняя). См . статью Стать участником программы предварительной оценки Microsoft Edge.
Преимущества локальной модели распознавания речи
При использовании API SpeechRecognition с локальной моделью в Microsoft Edge распознавание речи происходит на том же устройстве, где записывается речь. Этот подход имеет следующие преимущества по сравнению с облачными решениями:
Снижение стоимости: Использование облачной службы распознавания не связано с затратами.
Независимость сети: Помимо начальной загрузки модели, при использовании этого API для преобразования речи не возникает задержки в сети, и API также можно использовать, когда устройство находится в автономном режиме.
Улучшенная конфиденциальность: Речевой ввод в модель никогда не покидает устройство и не собирается для обучения моделей ИИ.
Доступность модели
Первоначальное скачивание модели требуется при первом использовании веб-сайта локальной модели распознавания речи с API SpeechRecognition.
Вы можете отслеживать скачивание модели с помощью обещания, возвращаемого методом API install() SpeechRecognition. См . раздел Проверка уже установленной локальной модели ниже.
Включение локального распознавания речи в Microsoft Edge
Чтобы использовать локальную модель распознавания речи с API SpeechRecognition, необходимо включить эту функцию в Microsoft Edge Canary или Dev. Чтобы включить распознавание речи с помощью модели на устройстве, выполните следующие действия:
Убедитесь, что вы используете Microsoft Edge Canary или Dev (версии 150.0.4076 или более поздней). См . статью Стать участником программы предварительной оценки Microsoft Edge.
В Microsoft Edge Canary или Dev откройте новую вкладку или окно и перейдите по адресу
edge://flags.В поле поиска в верхней части страницы введите Распознавание речи с помощью модели на устройстве.
В раскрывающемся списке Распознавание речи с моделью на устройстве выберите Включено, а затем нажмите кнопку Перезапустить в правом нижнем углу:
См. рабочий пример
Чтобы увидеть API SpeechRecognition в действии и просмотреть демонстрационный код:
Включите локальное распознавание речи в Microsoft Edge, как описано выше.
В Microsoft Edge Canary или Dev откройте вкладку или окно и перейдите на игровую площадку API SpeechRecognition.
В информационном баннере в верхней части проверка состояние: изначально он считывает API SpeechRecognition ready. Нажмите кнопку Пуск, чтобы начать.
В раскрывающемся списке Язык ввода выберите язык, который нужно использовать для распознавания речи.
В раскрывающемся списке Источник звука выберите источник звука для распознавания речи:
- Выберите Микрофон , чтобы использовать микрофон устройства в качестве источника звука.
- Выберите Файл, чтобы использовать звуковой или видеофайл с устройства в качестве источника звука.
Если в качестве источника звука выбран файл , отобразится раздел Файл мультимедиа . Нажмите кнопку Выбрать файл и выберите звуковой или видеофайл с устройства.
Нажмите кнопку Пуск.
Если вы еще не скачали локальную модель распознавания речи для выбранного языка, начнется скачивание, а на информационном баннере появится сообщение Установка модели на устройстве для en-US...:
После установки модели на странице отображается транскрибирование текста:
Чтобы в любое время прекратить преобразование речи в текст, нажмите кнопку Остановить .
Транскрибирование также может остановиться автоматически после длительного периода молчания во входном звуке.
См. также:
- /built-in-ai/playgrounds/speechrecognition-api/ — исходный код для демонстрации тестовой площадки API SpeechRecognition.
Использование API SpeechRecognition с локальным распознаванием на веб-сайте
В следующих разделах описывается использование API SpeechRecognition с локальным распознаванием речи в коде веб-сайта. Дополнительные сведения о самом API см. в разделе ВЕБ-API распознавания речи на сайте MDN.
Проверьте, поддерживается ли API, и создайте экземпляр объекта SpeechRecognition.
Чтобы убедиться, что API SpeechRecognition поддерживается в браузере, проверьте, доступен ли SpeechRecognition объект:
if (!window.SpeechRecognition) {
console.log("The SpeechRecognition API is not available in this browser.");
} else {
console.log("The SpeechRecognition API is available.");
}
Если API поддерживается, создайте новый SpeechRecognition экземпляр, чтобы начать использовать API:
const recognition = new SpeechRecognition();
См. также:
- SpeechRecognition, в MDN.
Выбор языка ввода и согласие на локальное распознавание
Чтобы настроить распознавание речи с помощью локальной модели, укажите язык ввода и задайте processLocally параметр:
recognition.lang = "en-US";
recognition.processLocally = true;
По состоянию на Microsoft Edge 150.0.4076 для локального распознавания речи поддерживаются следующие языки ввода:
- Английский (США)
- Немецкий (de-DE)
- Итальянский — (it-IT)
- Португальский (pt-PT)
- Испанский (es-ES)
- Корейский (ko-KR)
Ожидается, что поддержка языков будет расширена в будущих версиях.
Кроме того, continuous задайте параметры и interimResults для true транскрибирования длительных звуковых сеансов без остановки и получения промежуточных результатов:
recognition.continuous = true;
recognition.interimResults = true;
См. также:
- SpeechRecognition: свойство lang, в MDN.
- SpeechRecognition: свойство processLocally в MDN.
- SpeechRecognition: свойство continuous, в MDN.
- SpeechRecognition: свойство interimResults в MDN.
Проверьте, установлена ли локальная модель.
Перед началом распознавания проверка, доступна ли локальная модель для выбранного SpeechRecognition.available() языка с помощью метода .
Если модель еще не установлена, активируйте установку с помощью SpeechRecognition.install() метода и дождитесь завершения модели, прежде чем начать распознавание:
async function ensureModelReady(lang) {
// Check if the model is already available.
const availability = await SpeechRecognition.available({
langs: [lang],
processLocally: true,
});
// If the model is already available, proceed to recognition.
if (availability === "available") {
return true;
}
// If the model is not available but can be downloaded,
// trigger the installation and wait for it to complete
// before proceeding to recognition.
if (availability === "downloadable" || availability === "downloading") {
const installed = await SpeechRecognition.install({
langs: [lang],
processLocally: true,
});
if (!installed) {
throw new Error(`Failed to install local model for ${lang}.`);
}
return true;
}
return false;
}
Обещание, возвращаемое методом SpeechRecognition.install() , разрешается при успешной или неудачной установке.
См. также:
- SpeechRecognition: статический метод available() в MDN.
- SpeechRecognition: статический метод install() в MDN.
Запуск распознавания речи
Убедившись, что API и модель готовы, для начала распознавания используйте start() метод .
При вызове без параметра start() метод распознает звук с микрофона пользователя:
recognition.start();
Чтобы распознать звук из файла мультимедиа, а не из микрофона пользователя, передайте MediaStreamTrack экземпляр в качестве аргумента в start() метод . Например, можно создать MediaStreamTrack экземпляр с помощью MediaStreamDestinationNode API WebAudio:
const audioContext = new AudioContext();
const mediaStreamDestination = audioContext.createMediaStreamDestination();
recognition.start(mediaStreamDestination.stream.getAudioTracks()[0]);
См. также:
- SpeechRecognition: метод start() в MDN.
- API веб-аудио в MDN.
Остановка распознавания явным образом и на стороне мультимедиа
Чтобы остановить распознавание, используйте stop() метод :
recognition.stop();
Вы также можете остановить распознавание при завершении ввода мультимедиа с помощью onended обработчика событий элемента мультимедиа, который вы используете в качестве входных данных. Например, если вы используете HTMLAudioElement или HTMLVideoElement в качестве источника звука, можно настроить обработчик событий следующим образом:
mediaElement.onended = () => recognition.stop();
См. также:
Отправка отзывов
Мы заинтересованы в том, чтобы услышать ваши отзывы о:
- Локальная модель распознавания речи.
- Производительность локальной модели распознавания речи.
- Любые другие улучшения, которые вы хотели бы видеть для ваших вариантов использования.
Отправьте отзыв, добавив комментарий к проблеме обратной связи API SpeechRecognition.
См. также
Microsoft:
MDN:
-
SpeechRecognition
- SpeechRecognition: статический метод available()
- SpeechRecognition: свойство continuous
- SpeechRecognition: статический метод install()
- SpeechRecognition: свойство interimResults
- SpeechRecognition: свойство lang
- SpeechRecognition: свойство processLocally
- SpeechRecognition: метод start()
- SpeechRecognition: метод stop()
- API веб-аудио
- API веб-службы распознавания речи
Github: