Rumah  >  Artikel  >  Peranti teknologi  >  Panduan Pembangun API Pertuturan Web: Apakah itu dan cara ia berfungsi

Panduan Pembangun API Pertuturan Web: Apakah itu dan cara ia berfungsi

王林
王林ke hadapan
2023-04-11 19:22:021664semak imbas

​Penterjemah |. Li Rui

Penilai |. Ia boleh menukar pertuturan kepada teks dan sebaliknya melalui pelayar.

Web Speech API telah diperkenalkan oleh komuniti W3C pada tahun 2012. Sepuluh tahun kemudian, API ini masih dalam pembangunan kerana keserasian penyemak imbas yang terhad.

API menyokong kedua-dua serpihan input jangka pendek, seperti arahan lisan dan input berterusan jangka panjang. Keupayaan imlak yang luas menjadikannya sesuai untuk penyepaduan dengan aplikasi Applause, manakala penaipan pendek bagus untuk terjemahan bahasa.

Pengecaman pertuturan telah memberi kesan besar pada kebolehaksesan. Pengguna kurang upaya boleh menggunakan suara untuk menyemak imbas web dengan lebih mudah. Oleh itu, API ini boleh menjadi kunci untuk menjadikan web lebih mesra dan lebih cekap.

Kefungsian teks ke pertuturan dan pertuturan ke teks dikendalikan oleh dua antara muka: sintesis pertuturan dan pengecaman pertuturan.

1. Pengecaman pertuturan

Dalam antara muka pengecaman pertuturan, pengguna bercakap ke dalam mikrofon, dan kemudian perkhidmatan pengecaman pertuturan menyemak apa yang dia katakan berdasarkan tatabahasanya sendiri .

API melindungi privasi pengguna dengan terlebih dahulu meminta kebenaran untuk mengakses suara pengguna melalui mikrofon. Jika halaman yang menggunakan API menggunakan protokol HTTPS, kebenaran hanya diminta sekali. Jika tidak, API akan bertanya dalam setiap kejadian.

Peranti pengguna mungkin sudah menyertakan sistem pengecaman pertuturan, seperti Siri untuk suara iOS atau Android. Apabila menggunakan antara muka pengecaman pertuturan, sistem lalai akan digunakan. Selepas ucapan itu dikenali, ia ditukar dan dikembalikan sebagai rentetan teks.

Dalam pengecaman pertuturan "satu pukulan", pengecaman tamat sebaik sahaja pengguna berhenti bercakap. Ini berguna untuk arahan pendek, seperti mencari di web untuk tapak ujian aplikasi atau membuat panggilan telefon. Dalam pengecaman "berterusan", pengguna mesti menamatkan pengecaman secara manual menggunakan butang "Berhenti".

Pada masa ini, pengecaman pertuturan Web Speech API hanya disokong secara rasmi oleh dua penyemak imbas: Chrome untuk Desktop dan Android. Chrome perlu menggunakan antara muka awalan.

Walau bagaimanapun, Web Speech API masih dalam peringkat percubaan dan spesifikasinya tertakluk kepada perubahan. Anda boleh menyemak sama ada penyemak imbas semasa menyokong API ini dengan mencari objek webkitSpeechRecognition.

2. Atribut pengecaman pertuturan

Mari belajar fungsi baharu: pengecaman pertuturan ().

Sekarang semak panggilan balik untuk acara tertentu:

var recognizer = new speechRecognition();

(1) onStart: onStart dicetuskan apabila pengecam pertuturan mula mendengar dan mengecam pertuturan. Mesej boleh dipaparkan untuk memberitahu pengguna bahawa peranti sedang mendengar.

(2) onEnd: onEnd menjana acara yang akan dicetuskan setiap kali pengguna menamatkan pengecaman pertuturan.

(3) onError: Setiap kali ralat pengecaman pertuturan berlaku, acara ini akan dicetuskan menggunakan antara muka SpeechRecognitionError.

(4) onResult: Peristiwa ini dicetuskan apabila objek pengecaman pertuturan memperoleh hasilnya. Ia mengembalikan keputusan interim dan keputusan akhir. onResult mesti menggunakan antara muka SpeechRecognitionEvent.

Objek SpeechRecognitionEvent mengandungi data berikut:

(1) hasil[i]: susunan objek hasil pengecaman pertuturan, setiap elemen mewakili satu perkataan yang Dikenali.

(2) hasil indeks: indeks pengecaman semasa.

(3) hasil[i][j]: Kenal pasti perkataan alternatif ke-j bagi perkataan itu;

(4) keputusan[i].isFinal: Nilai Boolean yang menunjukkan sama ada keputusan adalah sementara atau muktamad.

(5) keputusan[i][j].transkrip: Perwakilan teks perkataan.

(6) keputusan[i][j].keyakinan: Kebarangkalian keputusan itu betul (julat nilai ialah dari 0 hingga 1).

Jadi, apakah sifat yang perlu dikonfigurasikan pada objek pengecaman pertuturan? Lihat di bawah.

(1) Berterusan vs Satu Pukulan

Pengguna menentukan sama ada objek pengecaman pertuturan diperlukan untuk mendengarnya sehingga ia dipusingkan dimatikan, atau sama ada untuk hanya Mengecam frasa pendek diperlukan. Tetapan lalainya ialah "palsu".

Anggapkan pengambilan nota sedang dilakukan menggunakan teknologi ini untuk disepadukan dengan templat penjejakan inventori. Perlu boleh bercakap untuk jangka masa yang lama dengan masa yang cukup untuk berhenti seketika tanpa menghantar semula apl tidur. berterusan boleh ditetapkan kepada benar seperti berikut:

(2) Bahasa

speechRecognition.continuous = true;

Panduan Pembangun API Pertuturan Web: Apakah itu dan cara ia berfungsiApa bahasa adakah anda mahu objek dikenali? Jika penyemak imbas ditetapkan kepada bahasa Inggeris secara lalai, ia akan memilih bahasa Inggeris secara automatik. Walau bagaimanapun, kod kawasan juga boleh digunakan.

Selain itu, pengguna boleh dibenarkan memilih bahasa daripada menu:

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

Keputusan interim ialah keputusan yang belum lengkap atau muktamad. Dengan menetapkan sifat ini kepada benar, anda boleh menyebabkan objek memaparkan hasil sementara sebagai maklum balas kepada pengguna:

(4) Mula dan Berhenti

speechRecognition.interimResults = true;

jika sudah Untuk mengkonfigurasi objek pengecaman pertuturan sebagai "berterusan", anda perlu menetapkan atribut onClick bagi butang mula dan berhenti seperti berikut:

JavaScript

这将允许用户控制使用的浏览器何时开始“监听”,何时停止。

因此,在深入了解了语音识别界面、方法和属性之后。现在探索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

Atas ialah kandungan terperinci Panduan Pembangun API Pertuturan Web: Apakah itu dan cara ia berfungsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam