Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A API SpeechRecognition é uma API Web padrão que permite a conversão de fala, de uma fonte de áudio, como um arquivo de mídia ou microfone de dispositivo, em texto, diretamente do código JavaScript de um site ou extensões de navegador. Este artigo foca no uso da API SpeechRecognition com o modelo de reconhecimento de fala no dispositivo (ou local) integrado ao Microsoft Edge.
Para obter mais informações sobre a API, consulte Web Speech API, no MDN.
Conteúdo detalhado:
- Disponibilidade do modelo de reconhecimento de fala local
- Benefícios do modelo de reconhecimento de fala local
- Habilitar o reconhecimento de fala local no Microsoft Edge
- Veja um exemplo de trabalho
- Usar a API SpeechRecognition com reconhecimento local em seu site
- Enviar comentários
- Confira também
Disponibilidade do modelo de reconhecimento de fala local
O modelo de reconhecimento de fala local está disponível no Microsoft Edge Canary ou Dev (versão 150.0.4076 ou posterior). Consulte Torne-se um Microsoft Edge Insider.
Benefícios do modelo de reconhecimento de fala local
Ao usar a API SpeechRecognition com o modelo local no Microsoft Edge, o reconhecimento de fala ocorre no mesmo dispositivo em que a fala é capturada. Essa abordagem tem os seguintes benefícios em comparação com soluções baseadas em nuvem:
Custo reduzido: Não há nenhum custo associado ao uso de um serviço de reconhecimento de nuvem.
Independência de rede: Além do download inicial do modelo, não há latência de rede ao usar essa API para converter fala, e a API também pode ser usada quando o dispositivo está offline.
Privacidade aprimorada: A entrada de fala no modelo nunca sai do dispositivo e não é coletada para treinar modelos de IA.
Disponibilidade de modelo
Um download inicial do modelo é necessário na primeira vez que um site usa o modelo de reconhecimento de fala local com a API SpeechRecognition.
Você pode monitorar o download do modelo usando a promessa retornada pelo método da API install() SpeechRecognition. Consulte Verificar se o modelo local já está instalado, abaixo.
Habilitar o reconhecimento de fala local no Microsoft Edge
Para usar o modelo de reconhecimento de fala local com a API SpeechRecognition, você precisa habilitar o recurso no Microsoft Edge Canary ou Dev. Para habilitar o reconhecimento de fala usando o modelo no dispositivo:
Verifique se você está usando o Microsoft Edge Canary ou Dev (versão 150.0.4076 ou mais recente). Consulte Torne-se um Microsoft Edge Insider.
No Microsoft Edge Canary ou Dev, abra uma nova guia ou janela e vá para
edge://flags.Na caixa de pesquisa na parte superior da página, digite Reconhecimento de Fala com modelo no dispositivo.
Na lista suspensa Reconhecimento de Fala com modelo no dispositivo , selecione Habilitado e clique no botão Reiniciar no canto inferior direito:
Veja um exemplo de trabalho
Para ver a API SpeechRecognition em ação e exibir o código de demonstração:
Habilite o reconhecimento de fala local no Microsoft Edge, conforme descrito acima.
No Microsoft Edge Canary ou Dev, abra uma guia ou janela e vá para o playground da API de Reconhecimento de Fala.
Na faixa de informações na parte superior, marque o status: inicialmente, lê-se API de reconhecimento de fala pronta. Clique em Iniciar para começar.
Na lista suspensa Idioma de entrada , selecione o idioma que você deseja usar para reconhecimento de fala.
Na lista suspensa Fonte de áudio , selecione uma fonte de áudio para reconhecimento de fala:
- Selecione Microfone para usar o microfone do dispositivo como fonte de áudio.
- Selecione Arquivo para usar um arquivo de áudio ou vídeo do seu dispositivo como fonte de áudio.
Se você selecionou Arquivo como fonte de áudio, uma seção Arquivo de mídia será exibida. Clique no botão Escolher arquivo e selecione um arquivo de áudio ou vídeo do seu dispositivo.
Clique no botão Iniciar.
Se você ainda não tiver baixado o modelo de reconhecimento de fala local para o idioma selecionado, o download será iniciado e a faixa de informações exibirá Instalando modelo no dispositivo para en-US...:
Após a instalação do modelo, a transcrição do texto é exibida na página:
Para parar de converter fala em texto, a qualquer momento, clique no botão Parar .
A transcrição também pode parar automaticamente após um longo período de silêncio no áudio de entrada.
Veja também:
- /built-in-ai/playgrounds/speechrecognition-api/ - Código-fonte para a demonstração do playground da API SpeechRecognition.
Usar a API SpeechRecognition com reconhecimento local em seu site
As seções a seguir descrevem como usar a API SpeechRecognition com reconhecimento de fala local no código do seu site. Para obter mais detalhes sobre a própria API, consulte Web Speech API, no MDN.
Verifique se a API tem suporte e instancie um objeto SpeechRecognition
Para garantir que a API SpeechRecognition tenha suporte no navegador, teste se o SpeechRecognition objeto está disponível:
if (!window.SpeechRecognition) {
console.log("The SpeechRecognition API is not available in this browser.");
} else {
console.log("The SpeechRecognition API is available.");
}
Se a API tiver suporte, crie uma nova SpeechRecognition instância para começar a usar a API:
const recognition = new SpeechRecognition();
Veja também:
- Reconhecimento de Fala, no MDN.
Escolha um idioma de entrada e aceite o reconhecimento local
Para configurar o reconhecimento de fala usando um modelo local, especifique um idioma de entrada e defina a processLocally opção:
recognition.lang = "en-US";
recognition.processLocally = true;
A partir do Microsoft Edge 150.0.4076, os seguintes idiomas de entrada têm suporte para o reconhecimento de fala local:
- Inglês (en-US)
- Alemão (de-DE)
- Italiano (it-IT)
- Português (pt-PT)
- Espanhol (es-ES)
- Coreano (ko-KR)
Espera-se que o suporte a idiomas seja expandido em versões futuras.
Defina também as continuous opções true e interimResults para transcrever longas sessões de áudio sem parar e receber resultados provisórios:
recognition.continuous = true;
recognition.interimResults = true;
Veja também:
- Reconhecimento de Fala: propriedade lang, no MDN.
- SpeechRecognition: processLocally propriedade, no MDN.
- Reconhecimento de Fala: propriedade contínua, no MDN.
- Reconhecimento de Fala: propriedade interimResults, no MDN.
Verifique se o modelo local já está instalado
Antes de iniciar o reconhecimento, marque se o modelo local está disponível para o idioma selecionado usando o SpeechRecognition.available() método.
Se o modelo ainda não estiver instalado, dispare a instalação usando o SpeechRecognition.install() método e aguarde a conclusão do modelo antes de iniciar o reconhecimento:
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;
}
A promessa retornada por SpeechRecognition.install() resolve quando a instalação é bem-sucedida ou falha.
Veja também:
- SpeechRecognition: método estático available(), no MDN.
- SpeechRecognition: método estático install(), no MDN.
Iniciar reconhecimento de fala
Depois de verificar se a API e o modelo estão prontos, para iniciar o reconhecimento, use o start() método.
Quando chamado sem um parâmetro, o método reconhece o start() áudio do microfone do usuário:
recognition.start();
Para reconhecer o áudio de um arquivo de mídia em vez do microfone do usuário, passe uma MediaStreamTrack instância como um argumento para o start() método. Por exemplo, você pode criar uma MediaStreamTrack instância criando uma MediaStreamDestinationNode instância usando a API WebAudio:
const audioContext = new AudioContext();
const mediaStreamDestination = audioContext.createMediaStreamDestination();
recognition.start(mediaStreamDestination.stream.getAudioTracks()[0]);
Veja também:
- Reconhecimento de Fala: método start(), no MDN.
- API de áudio Web, no MDN.
Interromper o reconhecimento explicitamente e no final da mídia
Para interromper o reconhecimento, use o stop() método:
recognition.stop();
Você também pode optar por interromper o reconhecimento quando a entrada de mídia terminar, usando o onended manipulador de eventos do elemento de mídia que você está usando como entrada. Por exemplo, se você estiver usando um HTMLAudioElement OR HTMLVideoElement como fonte de áudio, poderá configurar o manipulador de eventos da seguinte maneira:
mediaElement.onended = () => recognition.stop();
Veja também:
Enviar comentários
Estamos interessados em ouvir seus comentários sobre:
- O modelo de reconhecimento de fala local.
- O desempenho do modelo de reconhecimento de fala local.
- Quaisquer outras melhorias que você gostaria de ver para seus casos de uso.
Envie comentários, adicionando um comentário ao problema de comentários da API de Reconhecimento de Fala.
Confira também
Microsoft:
MDN:
-
Reconhecimento de Fala
- SpeechRecognition: método estático available()
- SpeechRecognition: propriedade contínua
- SpeechRecognition: método estático install()
- SpeechRecognition: propriedade interimResults
- SpeechRecognition: propriedade lang
- SpeechRecognition: propriedade processLocally
- SpeechRecognition: método start()
- SpeechRecognition: método stop()
- API de áudio Web
- Web Speech API
GitHub: