ホームページ  >  記事  >  テクノロジー周辺機器  >  Web Speech API 開発者ガイド: Web Speech API とは何か、どのように機能するか

Web Speech API 開発者ガイド: Web Speech API とは何か、どのように機能するか

王林
王林転載
2023-04-11 19:22:021652ブラウズ

翻訳者|Li Rui

レビュアー|Sun Shujuan

Web Speech API は、ユーザーが音声データをアプリケーション中間に組み込むことができる Web テクノロジーです。ブラウザを通じて音声をテキストに、またはその逆に変換できます。

Web Speech API は、2012 年に W3C コミュニティによって導入されました。 10 年後、ブラウザの互換性が限られているため、この API はまだ開発中です。

API は、口頭コマンドなどの短期入力フラグメントと長期連続入力の両方をサポートします。広範なディクテーション機能により、Applause アプリとの統合に最適であり、短い入力は言語翻訳に最適です。

音声認識はアクセシビリティに大きな影響を与えています。障害を持つユーザーは、音声を使用してより簡単に Web を閲覧できます。したがって、この API は Web をより使いやすく効率的にするための鍵となる可能性があります。

テキスト読み上げ機能と音声テキスト変換機能は、音声合成と音声認識という 2 つのインターフェイスによって処理されます。

1. 音声認識

音声認識インターフェイスでは、ユーザーがマイクに向かって話すと、音声認識サービスが独自のルールに従ってユーザーの発言をチェックします。文法。 。

API は、最初にマイクを介してユーザーの音声にアクセスする許可を要求することで、ユーザーのプライバシーを保護します。 API を使用するページが HTTPS プロトコルを使用する場合、許可は 1 回だけ要求されます。それ以外の場合、API はインスタンスごとに質問します。

ユーザーのデバイスには、iOS または Android 音声用の Siri などの音声認識システムがすでに組み込まれている場合があります。音声認識インターフェイスを使用する場合は、デフォルトのシステムが使用されます。音声が認識されると、変換されてテキスト文字列として返されます。

「ワンショット」音声認識では、ユーザーが話すのをやめるとすぐに認識が終了します。これは、Web でアプリケーション テスト サイトを検索したり、電話をかけたりするなどの短いコマンドに役立ちます。 「継続」認識では、ユーザーは「停止」ボタンを使用して手動で認識を終了する必要があります。

現在、Web Speech API の音声認識は、Chrome for Desktop と Android の 2 つのブラウザでのみ正式にサポートされています。 Chrome はプレフィックス インターフェイスを使用する必要があります。

ただし、Web Speech API はまだ実験段階にあり、仕様は変更される可能性があります。現在のブラウザがこの API をサポートしているかどうかを確認するには、webkitSpeechRecognition オブジェクトを検索します。

2. 音声認識属性

新しい関数、音声認識 () を学習しましょう。

var recognizer = new speechRecognition();

次に、特定のイベントのコールバックを確認します。

(1) onStart: onStart は、音声認識エンジンが音声の聞き取りと認識を開始するとトリガーされます。デバイスがリッスンしていることをユーザーに通知するメッセージを表示できます。

(2) onEnd: onEnd はイベントを生成します。このイベントは、ユーザーが音声認識を終了するたびにトリガーされます。

(3)onError: 音声認識エラーが発生するたびに、このイベントは SpeechRecognitionError インターフェイスを使用してトリガーされます。

(4) onResult: このイベントは、音声認識オブジェクトが結果を取得したときにトリガーされます。中間結果と最終結果を返します。 onResult は SpeechRecognitionEvent インターフェイスを使用する必要があります。

SpeechRecognitionEvent オブジェクトには次のデータが含まれます:

(1) results[i]: 音声認識結果オブジェクトの配列、各要素認識された単語を表します。

(2) resultindex: 現在の認識インデックス。

(3) 結果[i][j]: 単語の j 番目の代替単語を特定します。最初に出現する単語が、出現する可能性が最も高い単語です。

(4) results[i].isFinal: 結果が一時的なものであるか最終的なものであるかを示すブール値。

(5) results[i][j].transcript: 単語のテキスト表現。

(6) results[i][j].confidence: 結果が正しい確率 (値の範囲は 0 ~ 1)。

それでは、音声認識オブジェクトにはどのようなプロパティを設定する必要があるのでしょうか?以下をご覧ください。

(1) 継続的 vs ワンショット

ユーザーは、音声認識オブジェクトが回転するまで自分の話を聞く必要があるかどうかを決定します。短いフレーズを認識するために必要です。デフォルト設定は「false」です。

このテクノロジーは、在庫追跡テンプレートと統合するためにメモをとるために使用されていると仮定します。アプリをスリープに戻さずに一時停止するのに十分な時間を確保しながら、長時間通話できる必要があります。 Continuous は次のように true に設定できます:

speechRecognition.continuous = true;

(2) 言語

Web Speech API 開発者ガイド: Web Speech API とは何か、どのように機能するか

Hope どの言語ですかオブジェクトは認識しますか? ブラウザがデフォルトで英語に設定されている場合は、自動的に英語が選択されます。ただし、市外局番も使用できます。

# さらに、ユーザーはメニューから言語を選択できるようにすることもできます。

speechRecognition.lang = document.querySelector("#select_dialect").value;

(3) 中間結果

中間結果とは、まだ完全または最終ではない結果を指します。このプロパティを true に設定すると、オブジェクトに一時的な結果をユーザーへのフィードバックとして表示させることができます。

speechRecognition.interimResults = true;

(4) 開始と停止

If 音声認識オブジェクトが「連続」として設定されている場合は、開始ボタンと停止ボタンの onClick プロパティを次のように設定する必要があります:

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的优点和缺点  

什么时候应该使用Web Speech API?这种技术使用起来很有趣,但仍在发展中。尽管如此,还是有很多潜在的用例。集成API可以帮助实现IT基础设施的现代化,而用户可以了解Web Speech API哪些方面已经成熟可以改进。

1.提高生产力

对着麦克风说话比打字更快捷、更有效。在当今快节奏的工作生活中,人们可能需要能够在旅途中访问网页。

它还可以很好地减少管理工作量。语音到文本技术的改进有可能显著减少数据输入任务的时间。语音到文本技术可以集成到音频视频会议中,以加快会议的记录速度。

2.可访问性

如上所述,语音到文本(STT)和文本语音(TTS)对于有残疾或支持需求的用户来说都是很好的工具。此外,由于任何原因而在写作或拼写方面有困难的用户可以通过语音识别更好地表达自己。

这样,语音识别技术就可以成为互联网上一个很好的均衡器。鼓励在办公室使用这些工具也能促进工作场所的可访问性。

3.翻译

Web Speech API可以成为一种强大的语言翻译工具,因为它同时支持语音到文本(STT)和文本语音(TTS)。目前,并不是每一种语言都可用。这是Web Speech API尚未充分发挥其潜力的一个领域。

4.离线功能

一个缺点是API必须要有互联网连接才能正常工作。此时,浏览器将输入发送到它的服务器,然后服务器返回结果。这限制了Web Speech API可以使用的环境。

5.精确度

在提高语音识别器的准确性方面已经取得了令人难以置信的进展。用户可能偶尔还会遇到一些困难,例如技术术语和其他专业词汇或者方言。然而,到2022年,语音识别软件的精确度已经达到了人类的水平。

五、结语

虽然Web Speech API还处于实验阶段,但它可以成为网站或应用程序的一个惊人的补充。从科技公司到市场营销商,所有的工作场所都可以使用这个API来提高效率。只需几行简单的JavaScript代码,就可以打开一个全新的可访问性世界。

语音识别可以使用户更容易更有效地浏览网页,人们期待看到这项技术快速成长和发展!

原文链接:https://dzone.com/articles/the-developers-guide-to-web-speech-api-what-is-it

以上がWeb Speech API 開発者ガイド: Web Speech API とは何か、どのように機能するかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。