Web Speech API
Web Speech API cho phép bạn kết hợp dữ liệu giọng nói vào các ứng dụng web. Web Speech API có hai phần: SpeechSynthesis (Chuyển văn bản thành giọng nói) và SpeechRecognition (Nhận dạng giọng nói không đồng bộ.)
Khái niệm và cách sử dụng bài phát biểu trên web
Web Speech API cho phép các ứng dụng web xử lý dữ liệu giọng nói. Nó có hai thành phần:
- Tính năng nhận dạng giọng nói được truy cập thông qua giao diện
SpeechRecognition, cung cấp khả năng nhận dạng ngữ cảnh giọng nói từ nguồn âm thanh và cho phép ứng dụng của bạn phản hồi phù hợp. Nói chung, bạn sử dụng hàm tạo của giao diện để tạo một đối tượngSpeechRecognitionmới. Đối tượng này cung cấp một số trình xử lý sự kiện để phát hiện khi có giọng nói đến từ micrô của thiết bị (hoặc từ rãnh âm thanh). Bạn có thể chỉ định xem bạn muốn nhận dạng giọng nói sử dụng dịch vụ được cung cấp bởi nền tảng của người dùng (mặc định) hay được thực hiện cục bộ trong trình duyệt. - Việc tổng hợp giọng nói được truy cập thông qua giao diện
SpeechSynthesis, một thành phần chuyển văn bản thành giọng nói cho phép các chương trình đọc nội dung văn bản của chúng (thông thường thông qua bộ tổng hợp giọng nói mặc định của thiết bị.) Các loại giọng nói khác nhau được thể hiện bằng các đối tượngSpeechSynthesisVoicevà các phần khác nhau của văn bản mà bạn muốn được nói sẽ được thể hiện bằng các đối tượngSpeechSynthesisUtterance. Bạn có thể đọc những điều này bằng cách chuyển chúng tới phương thứcSpeechSynthesis.speak().
Để biết thêm chi tiết về cách sử dụng các tính năng này, hãy xem Sử dụng Web Speech API.
Web Speech API Giao diện
>Nhận dạng giọng nói
SpeechRecognition-
Giao diện điều khiển cho dịch vụ nhận dạng; việc này cũng xử lý
SpeechRecognitionEventđược gửi từ dịch vụ nhận dạng. SpeechRecognitionAlternative-
Đại diện cho một từ duy nhất đã được dịch vụ nhận dạng giọng nói nhận dạng.
SpeechRecognitionErrorEvent-
Thể hiện các thông báo lỗi từ dịch vụ nhận dạng.
SpeechRecognitionEvent-
Đối tượng sự kiện cho các sự kiện
resultvànomatchvà chứa tất cả dữ liệu liên quan đến kết quả nhận dạng giọng nói tạm thời hoặc cuối cùng. SpeechRecognitionPhrase-
Biểu thị một cụm từ có thể được chuyển vào công cụ nhận dạng giọng nói để sử dụng cho xu hướng theo ngữ cảnh.
SpeechRecognitionResult-
Biểu thị một kết quả nhận dạng phù hợp duy nhất, có thể chứa nhiều đối tượng
SpeechRecognitionAlternative. SpeechRecognitionResultList-
Đại diện cho một danh sách các đối tượng
SpeechRecognitionResult, hoặc một đối tượng duy nhất nếu kết quả được ghi lại ở chế độcontinuous.
Tổng hợp giọng nói
SpeechSynthesis-
Giao diện điều khiển cho dịch vụ thoại; điều này có thể được sử dụng để truy xuất thông tin về giọng nói tổng hợp có sẵn trên thiết bị, bắt đầu và tạm dừng giọng nói cũng như các lệnh khác.
SpeechSynthesisErrorEvent-
Chứa thông tin về bất kỳ lỗi nào xảy ra trong khi xử lý các đối tượng
SpeechSynthesisUtterancetrong dịch vụ giọng nói. SpeechSynthesisEvent-
Chứa thông tin về trạng thái hiện tại của các đối tượng
SpeechSynthesisUtteranceđã được xử lý trong dịch vụ giọng nói. SpeechSynthesisUtterance-
Thể hiện yêu cầu phát biểu. Nó chứa nội dung mà dịch vụ giọng nói nên đọc và thông tin về cách đọc nội dung đó (ví dụ: ngôn ngữ, cao độ và âm lượng.)
SpeechSynthesisVoice-
Thể hiện giọng nói mà hệ thống hỗ trợ. Mỗi
SpeechSynthesisVoicecó dịch vụ giọng nói tương ứng riêng bao gồm thông tin về ngôn ngữ, tên và URI. Window.speechSynthesis-
Được chỉ định như một phần của giao diện
[NoInterfaceObject]có tên làSpeechSynthesisGetter, và được triển khai bởi đối tượngWindow, thuộc tínhspeechSynthesiscung cấp quyền truy cập vào bộ điều khiểnSpeechSynthesisvà do đó là điểm khởi đầu cho chức năng tổng hợp giọng nói.
Giao diện không dùng nữa
Khái niệm ngữ pháp đã bị loại bỏ khỏi Web Speech API. Các tính năng liên quan vẫn còn trong thông số kỹ thuật và vẫn được các trình duyệt hỗ trợ công nhận về khả năng tương thích ngược nhưng chúng không ảnh hưởng đến các dịch vụ nhận dạng giọng nói.
SpeechGrammarDeprecated-
Biểu thị các từ hoặc mẫu từ để dịch vụ nhận dạng nhận dạng.
SpeechGrammarListDeprecated-
Đại diện cho danh sách các đối tượng
SpeechGrammar.
Lỗi
Để biết thông tin về các lỗi được báo cáo bởi Speech API (ví dụ: "language-not-supported" và "language-unavailable"), hãy xem tài liệu sau:
Cân nhắc về bảo mật
Việc truy cập vào chức năng nhận dạng giọng nói trên thiết bị của Web Speech API được kiểm soát bởi chỉ thị on-device-speech-recognition Permissions-Policy.
Cụ thể, khi một chính sách được xác định chặn việc sử dụng, mọi cố gắng gọi các phương thức SpeechRecognition.available() hoặc SpeechRecognition.install() của API sẽ thất bại.
Ví dụ
Web Speech API ví dụ của chúng tôi minh họa việc nhận dạng và tổng hợp giọng nói.
Thông số kỹ thuật
| Specification |
|---|
| Web Speech API> # speechreco-section> |
| Web Speech API> # tts-section> |