Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A API SpeechRecognition é uma API Web padrão que permite a conversão de voz, de uma origem de áudio, como um ficheiro de multimédia ou microfone do dispositivo, em texto, diretamente a partir do código JavaScript de uma extensão de site ou browser. Este artigo centra-se na utilização da API SpeechRecognition com o modelo de reconhecimento de voz no dispositivo (ou local) incorporado no Microsoft Edge.
Para obter mais informações sobre a API, veja API de Voz Na Web, na MDN.
Conteúdo detalhado:
- Disponibilidade do modelo de reconhecimento de voz local
- Benefícios do modelo de reconhecimento de voz local
- Ativar o reconhecimento de voz local no Microsoft Edge
- Veja um exemplo de trabalho
- Utilizar a API SpeechRecognition com reconhecimento local no seu site
- Enviar comentários
- Confira também
Disponibilidade do modelo de reconhecimento de voz local
O modelo de reconhecimento de voz local está disponível no Microsoft Edge Canary ou Dev (versão 150.0.4076 ou posterior). Consulte Tornar-se um Microsoft Edge Insider.
Benefícios do modelo de reconhecimento de voz local
Ao utilizar a API SpeechRecognition com o modelo local no Microsoft Edge, o reconhecimento de voz ocorre no mesmo dispositivo onde a voz é capturada. Esta abordagem tem os seguintes benefícios em comparação com as soluções baseadas na cloud:
Custo reduzido: Não existem custos associados à utilização de um serviço de reconhecimento de cloud.
Independência da rede: Para além da transferência do modelo inicial, não existe latência de rede ao utilizar esta API para converter voz e a API também pode ser utilizada quando o dispositivo está offline.
Privacidade melhorada: A entrada de voz no modelo nunca sai do dispositivo e não é recolhida para preparar modelos de IA.
Disponibilidade do modelo
É necessária uma transferência inicial do modelo na primeira vez que um site utiliza o modelo de reconhecimento de voz local com a API SpeechRecognition.
Pode monitorizar a transferência do modelo com a promessa devolvida pelo método da API install() SpeechRecognition. Veja Verificar se o modelo local já está instalado, abaixo.
Ativar o reconhecimento de voz local no Microsoft Edge
Para utilizar o modelo de reconhecimento de voz local com a API SpeechRecognition, tem de ativar a funcionalidade no Microsoft Edge Canary ou Dev. Para ativar o reconhecimento de voz com o modelo no dispositivo:
Certifique-se de que está a utilizar o Microsoft Edge Canary ou o Dev (versão 150.0.4076 ou mais recente). Consulte Tornar-se um Microsoft Edge Insider.
No Microsoft Edge Canary ou Dev, abra um novo separador ou janela e aceda a
edge://flags.Na caixa de pesquisa na parte superior da página, introduza Reconhecimento de Voz com o modelo no dispositivo.
Na lista pendente Reconhecimento de Voz com modelo no dispositivo , selecione Ativado e, em seguida, clique no botão Reiniciar no canto inferior direito:
Veja um exemplo de trabalho
Para ver a API SpeechRecognition em ação e ver o código de demonstração:
Ative o reconhecimento de voz local no Microsoft Edge, conforme descrito acima.
No Microsoft Edge Canary ou Dev, abra um separador ou janela e aceda a Ambiente de trabalho da API de Reconhecimento de Voz.
Na faixa de informações na parte superior, marcar o status: inicialmente, lê a API SpeechRecognition pronta. Clique em Iniciar para começar.
Na lista pendente Idioma de entrada, selecione o idioma que pretende utilizar para reconhecimento de voz.
Na lista pendente Origem de áudio, selecione uma origem de áudio para reconhecimento de voz:
- Selecione Microfone para utilizar o microfone do dispositivo como origem de áudio.
- Selecione Ficheiro para utilizar um ficheiro de áudio ou vídeo do seu dispositivo como origem de áudio.
Se tiver selecionado Ficheiro como origem de áudio, é apresentada uma secção Ficheiro de multimédia . Clique no botão Escolher Ficheiro e, em seguida, selecione um ficheiro de áudio ou vídeo a partir do seu dispositivo.
Clique no botão Iniciar.
Se ainda não transferiu o modelo de reconhecimento de voz local para o idioma selecionado, a transferência é iniciada e a faixa de informações indica Instalar o modelo no dispositivo para en-US...:
Após a instalação do modelo, a transcrição de texto é apresentada na página:
Para parar de converter voz em texto, em qualquer altura, 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 de playground da API SpeechRecognition.
Utilizar a API SpeechRecognition com reconhecimento local no seu site
As secções seguintes descrevem como utilizar a API SpeechRecognition com o reconhecimento de voz local no código do seu site. Para obter mais detalhes sobre a própria API, veja API de Voz Na Web, na MDN.
Verificar se a API é suportada e instanciar um objeto SpeechRecognition
Para garantir que a API SpeechRecognition é suportada no browser, 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 for suportada, crie uma nova SpeechRecognition instância para começar a utilizar a API:
const recognition = new SpeechRecognition();
Veja também:
- SpeechRecognition, na MDN.
Escolher um idioma de entrada e optar ativamente por participar no reconhecimento local
Para configurar o reconhecimento de voz com um modelo local, especifique um idioma de entrada e defina a opção processLocally :
recognition.lang = "en-US";
recognition.processLocally = true;
A partir do Microsoft Edge 150.0.4076, os seguintes idiomas de entrada são suportados para reconhecimento de voz 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 de idiomas se expanda em versões futuras.
Defina também as continuous opções e interimResults para true transcrever sessões de áudio longas sem parar e receber resultados provisórios:
recognition.continuous = true;
recognition.interimResults = true;
Veja também:
- SpeechRecognition: propriedade lang, na MDN.
- SpeechRecognition: propriedade processLocally, na MDN.
- SpeechRecognition: propriedade contínua, na MDN.
- SpeechRecognition: propriedade interimResults, na MDN.
Verificar se o modelo local já está instalado
Antes de iniciar o reconhecimento, marcar se o modelo local está disponível para o idioma selecionado através do SpeechRecognition.available() método .
Se o modelo ainda não estiver instalado, acione a instalação com o SpeechRecognition.install() método e aguarde que o modelo seja concluído 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 devolvida por SpeechRecognition.install() resolve quando a instalação é bem-sucedida ou falha.
Veja também:
- SpeechRecognition: método estático disponível() na MDN.
- SpeechRecognition: install() static method, at MDN ( Método estático install() no MDN.
Iniciar reconhecimento de voz
Depois de se certificar de que a API e o modelo estão prontos, para iniciar o reconhecimento, utilize o start() método .
Quando chamado sem um parâmetro, o start() método reconhece o áudio do microfone do utilizador:
recognition.start();
Para reconhecer áudio de um ficheiro de multimédia em vez de do microfone do utilizador, transmita uma MediaStreamTrack instância como um argumento para o start() método . Por exemplo, pode criar uma MediaStreamTrack instância ao criar uma MediaStreamDestinationNode instância com a API WebAudio:
const audioContext = new AudioContext();
const mediaStreamDestination = audioContext.createMediaStreamDestination();
recognition.start(mediaStreamDestination.stream.getAudioTracks()[0]);
Veja também:
- SpeechRecognition: método start() na MDN.
- API de Áudio Web, na MDN.
Parar o reconhecimento explicitamente e no lado multimédia
Para parar o reconhecimento, utilize o stop() método :
recognition.stop();
Também pode optar por parar o reconhecimento quando a entrada de multimédia terminar, utilizando o onended processador de eventos do elemento multimédia que está a utilizar como entrada. Por exemplo, se estiver a utilizar uma HTMLAudioElement ou HTMLVideoElement como origem de áudio, pode configurar o processador de eventos da seguinte forma:
mediaElement.onended = () => recognition.stop();
Veja também:
- SpeechRecognition: stop() method, at MDN.
Enviar comentários
Estamos interessados em ouvir o seu feedback sobre:
- O modelo de reconhecimento de voz local.
- O desempenho do modelo de reconhecimento de voz local.
- Quaisquer outras melhorias que gostaria de ver para os seus casos de utilização.
Envie feedback ao adicionar um comentário ao problema de feedback da API SpeechRecognition.
Confira também
Microsoft:
MDN:
-
SpeechRecognition
- SpeechRecognition: método estático disponível()
- SpeechRecognition: propriedade contínua
- SpeechRecognition: install() static method (Método estático)
- SpeechRecognition: propriedade interimResults
- SpeechRecognition: propriedade lang
- SpeechRecognition: propriedade processLocally
- SpeechRecognition: start() method (Método SpeechRecognition: start()
- SpeechRecognition: stop() method (Método SpeechRecognition: stop()
- API de Áudio Web
- API de Voz Na Web
GitHub: