Maison > Article > Périphériques technologiques > Guide du développeur de l'API Web Speech : qu'est-ce que c'est et comment ça marche
Traducteur | Li Rui
Reviewer | Sun Shujuan
Web Speech API est une technologie Web qui permet aux utilisateurs d'incorporer des données vocales dans des applications. Il peut convertir la parole en texte et vice versa via le navigateur.
L'API Web Speech a été introduite par la communauté W3C en 2012. Dix ans plus tard, cette API est toujours en développement en raison d'une compatibilité limitée avec les navigateurs.
L'API prend en charge à la fois les fragments d'entrée à court terme, tels qu'une commande verbale, et les entrées continues à long terme. Ses capacités de dictée étendues le rendent idéal pour l'intégration avec les applications Applause, tandis que la saisie courte est idéale pour la traduction.
La reconnaissance vocale a eu un impact énorme sur l'accessibilité. Les utilisateurs handicapés peuvent utiliser la voix pour naviguer plus facilement sur le Web. Par conséquent, cette API pourrait être la clé pour rendre le Web plus convivial et plus efficace.
Les fonctionnalités de synthèse vocale et de parole-texte sont gérées par deux interfaces : la synthèse vocale et la reconnaissance vocale.
Dans l'interface de reconnaissance vocale, l'utilisateur parle dans le microphone, puis le service de reconnaissance vocale vérifie ce qu'il dit en fonction de sa propre grammaire.
API protège la vie privée de l'utilisateur en demandant d'abord l'autorisation d'accéder à la voix de l'utilisateur via le microphone. Si la page utilisant l'API utilise le protocole HTTPS, l'autorisation n'est demandée qu'une seule fois. Sinon, l'API le demandera dans chaque cas.
L'appareil de l'utilisateur peut déjà inclure un système de reconnaissance vocale, tel que Siri pour les voix iOS ou Android. Lors de l'utilisation de l'interface de reconnaissance vocale, le système par défaut sera utilisé. Une fois la parole reconnue, elle est convertie et renvoyée sous forme de chaîne de texte.
En reconnaissance vocale "one-shot", la reconnaissance se termine dès que l'utilisateur arrête de parler. Ceci est utile pour les commandes courtes, telles que la recherche sur le Web d'un site Web de test d'applications ou le passage d'un appel téléphonique. En reconnaissance « continue », l'utilisateur doit terminer manuellement la reconnaissance à l'aide du bouton « Stop ».
Actuellement, la reconnaissance vocale de l'API Web Speech n'est officiellement prise en charge que par deux navigateurs : Chrome pour ordinateur de bureau et Android. Chrome doit utiliser l'interface de préfixe.
Cependant, l'API Web Speech est encore au stade expérimental et les spécifications sont susceptibles de changer. Vous pouvez vérifier si le navigateur actuel prend en charge cette API en recherchant l'objet webkitSpeechRecognition.
Apprenons une nouvelle fonction : la reconnaissance vocale ().
var recognizer = new speechRecognition();
Vérifiez maintenant les rappels pour certains événements :
(1) onStart : onStart est déclenché lorsque le système de reconnaissance vocale commence à écouter et à reconnaître la parole. Un message peut être affiché pour informer l'utilisateur que l'appareil est à l'écoute.
(2) onEnd : onEnd génère un événement qui sera déclenché à chaque fois que l'utilisateur mettra fin à la reconnaissance vocale.
(3) onError : Cet événement est déclenché à l'aide de l'interface SpeechRecognitionError chaque fois qu'une erreur de reconnaissance vocale se produit.
(4) onResult : Cet événement est déclenché lorsque l'objet de reconnaissance vocale obtient le résultat. Il renvoie les résultats intermédiaires et les résultats finaux. onResult doit utiliser l'interface SpeechRecognitionEvent. L'objet
SpeechRecognitionEvent contient les données suivantes :
(1) results[i] : Un tableau d'objets de résultat de reconnaissance vocale, chaque élément représente un mot reconnu.
(2) resultindex : indice de reconnaissance actuel.
(3) résultats[i][j] : Identifiez le j-ème mot alternatif du mot ; le premier mot qui apparaît est le mot le plus probable.
(4) results[i].isFinal : Une valeur booléenne indiquant si le résultat est temporaire ou définitif.
(5) résultats[i][j].transcript : Représentation textuelle du mot.
(6) results[i][j].confidence : La probabilité que le résultat soit correct (la plage de valeurs est de 0 à 1).
Alors, quelles propriétés faut-il configurer sur l'objet de reconnaissance vocale ? Jetez un oeil ci-dessous.
(1) Continu vs One-Shot
L'utilisateur détermine si l'objet de reconnaissance vocale doit l'écouter jusqu'à ce qu'il soit éteint, ou s'il n'en a besoin que pour reconnaître une courte phrase. Son paramètre par défaut est "false".
Supposons que la prise de notes soit effectuée à l'aide de cette technologie pour s'intégrer aux modèles de suivi des stocks. Il faut pouvoir parler pendant de longues périodes avec suffisamment de temps pour faire une pause sans renvoyer l'application en veille. continu peut être défini sur true comme ceci :
speechRecognition.continuous = true;
(2) Langue
Quelle langue souhaitez-vous que l'objet reconnaisse Si le navigateur est défini sur l'anglais par défaut, il sélectionnera automatiquement l'anglais ? . Cependant, les indicatifs régionaux peuvent également être utilisés.
De plus, l'utilisateur peut être autorisé à sélectionner la langue dans le menu :
speechRecognition.lang = document.querySelector("#select_dialect").value;
(3) Résultats intermédiaires
Les résultats intermédiaires font référence à des résultats qui ne sont pas encore terminés ou définitifs. En définissant cette propriété sur true, vous pouvez faire en sorte que l'objet affiche des résultats temporaires en guise de retour à l'utilisateur :
speechRecognition.interimResults = true;
(4) Démarrer et arrêter
Si vous avez configuré l'objet de reconnaissance vocale sur "continu", vous devez définissez start et l'attribut onClick du bouton d'arrêt comme ceci :
JavaScript
1 document.querySelector("#start").onclick = () => { 2 3 speechRecognition.start(); 4 5 }; 6 7 document.querySelector("#stop").onclick = () => { 8 9 speechRecognition.stop(); 10 11 };
这将允许用户控制使用的浏览器何时开始“监听”,何时停止。
因此,在深入了解了语音识别界面、方法和属性之后。现在探索Web Speech API的另一面。
语音合成也被称为文本到语音(TTS)。语音合成是指从应用程序中获取文本,将其转换成语音,然后从设备的扬声器中播放。
可以使用语音合成做任何事情,从驾驶指南到为在线课程朗读课堂笔记,再到视觉障碍用户的屏幕阅读。
在浏览器支持方面,从Gecko42+版本开始,Web Speech API的语音合成可以在Firefox桌面和移动端使用。但是,必须首先启用权限。Firefox OS2.5+默认支持语音合成;不需要权限。Chrome和Android 33+也支持语音合成。
那么,如何让浏览器说话呢?语音合成的主要控制器界面是SpeechSynthesis,但需要一些相关的界面,例如用于输出的声音。大多数操作系统都有默认的语音合成系统。
简单地说,用户需要首先创建一个SpeechSynthesisUtterance界面的实例。其界面包含服务将读取的文本,以及语言、音量、音高和速率等信息。指定这些之后,将实例放入一个队列中,该队列告诉浏览器应该说什么以及什么时候说。
将需要说话的文本指定给其“文本”属性,如下所示:
newUtterance.text =
除非使用.lang属性另有指定,否则语言将默认为应用程序或浏览器的语言。
在网站加载后,语音更改事件可以被触发。要改变浏览器的默认语音,可以使用语音合成中的getvoices()方法。这将显示所有可用的语音。
声音的种类取决于操作系统。谷歌和MacOSx一样有自己的默认声音集。最后,用户使用Array.find()方法选择喜欢的声音。
根据需要定制SpeechSynthesisUtterance。可以启动、停止和暂停队列,或更改通话速度(“速率”)。
什么时候应该使用Web Speech API?这种技术使用起来很有趣,但仍在发展中。尽管如此,还是有很多潜在的用例。集成API可以帮助实现IT基础设施的现代化,而用户可以了解Web Speech API哪些方面已经成熟可以改进。
对着麦克风说话比打字更快捷、更有效。在当今快节奏的工作生活中,人们可能需要能够在旅途中访问网页。
它还可以很好地减少管理工作量。语音到文本技术的改进有可能显著减少数据输入任务的时间。语音到文本技术可以集成到音频视频会议中,以加快会议的记录速度。
如上所述,语音到文本(STT)和文本语音(TTS)对于有残疾或支持需求的用户来说都是很好的工具。此外,由于任何原因而在写作或拼写方面有困难的用户可以通过语音识别更好地表达自己。
这样,语音识别技术就可以成为互联网上一个很好的均衡器。鼓励在办公室使用这些工具也能促进工作场所的可访问性。
Web Speech API可以成为一种强大的语言翻译工具,因为它同时支持语音到文本(STT)和文本语音(TTS)。目前,并不是每一种语言都可用。这是Web Speech API尚未充分发挥其潜力的一个领域。
一个缺点是API必须要有互联网连接才能正常工作。此时,浏览器将输入发送到它的服务器,然后服务器返回结果。这限制了Web Speech API可以使用的环境。
在提高语音识别器的准确性方面已经取得了令人难以置信的进展。用户可能偶尔还会遇到一些困难,例如技术术语和其他专业词汇或者方言。然而,到2022年,语音识别软件的精确度已经达到了人类的水平。
虽然Web Speech API还处于实验阶段,但它可以成为网站或应用程序的一个惊人的补充。从科技公司到市场营销商,所有的工作场所都可以使用这个API来提高效率。只需几行简单的JavaScript代码,就可以打开一个全新的可访问性世界。
语音识别可以使用户更容易更有效地浏览网页,人们期待看到这项技术快速成长和发展!
原文链接:https://dzone.com/articles/the-developers-guide-to-web-speech-api-what-is-it
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!