Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
API распознавания речи — это стандартный веб-API, который позволяет преобразовывать речь из источника звука, такого как файл мультимедиа или микрофон устройства, в текст непосредственно из кода JavaScript веб-сайта или расширений браузера. В этой статье рассматривается использование API распознавания речи в сочетании с моделью распознавания речи на устройстве (или локальной системой), встроенной в Microsoft Edge.
Дополнительные сведения об API см. в разделе Web Speech API на сайте MDN.
Подробное содержание:
- Доступность локальной модели распознавания речи
- Преимущества локальной модели распознавания речи
- Включение локального распознавания речи в Microsoft Edge
- См. рабочий пример
- Использование API распознавания речи с локальным распознаванием на веб-сайте
- Обратная связь
- См. также
Доступность локальной модели распознавания речи
Модель локального распознавания речи доступна в Microsoft Edge Canary или Dev (версия 150.0.4076 или более поздняя). См. Станьте участником программы предварительной оценки Microsoft Edge.
Преимущества локальной модели распознавания речи
При использовании API распознавания речи с локальной моделью в Microsoft Edge распознавание речи происходит на том же устройстве, где записывается речь. Этот подход имеет следующие преимущества по сравнению с облачными решениями:
Сниженная стоимость: Использование облачной службы распознавания не требует затрат.
Независимость сети: Помимо начальной загрузки модели, при использовании этого API для преобразования речи нет задержки сети. Этот API также можно использовать, когда устройство находится в автономном режиме.
Улучшенная конфиденциальность: Речевые данные, вводимые в модель, никогда не покидают устройство и не собираются для обучения моделей ИИ.
Доступность модели
Первоначальная загрузка модели требуется при первом использовании веб-сайтом локальной модели распознавания речи с помощью API распознавания речи.
Вы можете отслеживать загрузку модели, используя обещание, возвращаемое методом API install() распознавания речи.
Проверьте, установлена ли уже локальная модель, ниже.
Включение локального распознавания речи в Microsoft Edge
Чтобы использовать локальную модель распознавания речи с API распознавания речи, необходимо включить эту функцию в Microsoft Edge Canary или Dev. Чтобы включить распознавание речи с использованием модели на устройстве:
Убедитесь, что вы используете Microsoft Edge Canary или Dev (версия 150.0.4076 или более поздняя). См. Станьте участником программы предварительной оценки Microsoft Edge.
В Microsoft Edge Canary или Dev откройте новую вкладку или окно и перейдите в
edge://flagsраздел .В поле поиска в верхней части страницы введите " Распознавание речи с моделью устройства".
В раскрывающемся списке " Распознавание речи с моделью на устройстве " выберите "Включено", а затем нажмите кнопку "Перезапустить " в правом нижнем углу:
См. рабочий пример
Чтобы увидеть API распознавания речи в действии и просмотреть демонстрационный код, выполните следующие действия.
Включите локальное распознавание речи в Microsoft Edge, как описано выше.
В Microsoft Edge Canary или Dev откройте вкладку или окно и перейдите в песочницу API распознавания речи.
На информационном баннере в верхней части проверьте состояние: изначально говорится, что API распознавания речи готов. Чтобы начать, нажмите кнопку "Пуск".
В раскрывающемся списке "Язык ввода " выберите язык, который необходимо использовать для распознавания речи.
В раскрывающемся списке "Источник звука " выберите источник звука для распознавания речи:
- Выберите "Микрофон", чтобы использовать микрофон устройства в качестве источника звука.
- Выберите "Файл", чтобы использовать звуковой или видеофайл с устройства в качестве источника звука.
Если в качестве источника звука выбран "Файл ", отображается раздел "Файлы мультимедиа ". Нажмите кнопку "Выбрать файл ", а затем выберите звуковой или видеофайл на своем устройстве.
Нажмите кнопку Пуск.
Если вы еще не скачали локальную модель распознавания речи для выбранного языка, начнется скачивание, и информационный баннер с сообщением " Установка модели на устройстве для en-US...".
После установки модели текстовая расшифровка отображается на странице:
Чтобы остановить преобразование речи в текст, в любой момент нажмите кнопку "Стоп ".
Транскрибирование также может прекратиться автоматически после длительного перерыва во входном звуке.
См. также:
- /built-in-ai/playgrounds/speechrecognition-api/ — исходный код для демонстрации работы в песочнице API распознавания речи.
Использование API распознавания речи с локальным распознаванием на веб-сайте
В следующих разделах описывается, как использовать API SpeechRecognition с локальным распознаванием речи в коде веб-сайта. Дополнительные сведения о самом API см. в статье Web Speech API на сайте MDN.
Проверьте, поддерживается ли API, и создайте экземпляр объекта SpeechRecognition
Чтобы убедиться, что API распознавания речи поддерживается браузером, проверьте, доступен ли объект.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;
Для локального распознавания речи поддерживаются следующие языки ввода:
- Английский (США)
- Немецкий (de-DE)
- Итальянский — (it-IT)
- Португальский (pt-PT)
- Испанский (es-ES)
- Корейский (ko-KR)
Ожидается, что поддержка языков будет расширена в будущих версиях.
Кроме того, continuous настройте параметры AND interimResults для true транскрибирования длинных аудиосеансов без остановки и получения промежуточных результатов:
recognition.continuous = true;
recognition.interimResults = true;
См. также:
- SpeechRecognition: lang свойство в MDN.
- SpeechRecognition: processLocally в MDN.
- SpeechRecognition: непрерывное свойство в 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.
- Web Audio API, в MDN.
Остановить распознавание явно и на стороне мультимедиа
Чтобы остановить распознавание, используйте метод:stop()
recognition.stop();
Вы также можете остановить распознавание по окончании ввода мультимедиа, используя onended обработчик событий элемента мультимедиа, который вы используете в качестве входных данных. Например, если в качестве источника звука используется OR HTMLAudioElementHTMLVideoElement , обработчик событий можно настроить следующим образом.
mediaElement.onended = () => recognition.stop();
См. также:
Отправка отзывов
Мы будем рады получить ваши отзывы о:
- Модель локального распознавания речи.
- Производительность локальной модели распознавания речи.
- Любые другие улучшения, которые вы хотели бы увидеть для своих вариантов использования.
Отправьте нам отзыв, добавив комментарий к проблеме с API распознавания речи.
См. также
Корпорация Майкрософт:
МДН:
-
Распознавание речи
- SpeechRecognition: available() статический метод
- SpeechRecognition: непрерывное свойство
- SpeechRecognition: статический метод install()
- SpeechRecognition: свойство interimResults
- SpeechRecognition: свойство lang
- SpeechRecognition: свойство processLocally
- SpeechRecognition: метод start()
- SpeechRecognition: метод stop()
- API веб-аудио
- Web Speech API
GitHub: