SpeechRecognition
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Giao diện SpeechRecognition của Web Speech API là giao diện bộ điều khiển cho dịch vụ nhận dạng giọng nói; giao diện này cũng xử lý SpeechRecognitionEvent được gửi từ dịch vụ nhận dạng.
Note: Trên một số trình duyệt, như Chrome, việc sử dụng Nhận dạng giọng nói trên một trang web liên quan đến công cụ nhận dạng dựa trên máy chủ. Audio của bạn được gửi đến một dịch vụ web để xử lý nhận dạng, do đó nó sẽ không hoạt động ngoại tuyến.
Bộ khởi tạo
SpeechRecognition()-
Tạo một đối tượng
SpeechRecognitionmới.
Thuộc tính thể hiện
SpeechRecognition cũng kế thừa các thuộc tính từ giao diện cha của nó, EventTarget.
SpeechRecognition.lang-
Trả về và thiết lập ngôn ngữ của
SpeechRecognitionhiện tại. Nếu không được chỉ định, giá trị mặc định là thuộc tính HTMLlang, hoặc cài đặt ngôn ngữ của tác nhân người dùng nếu thuộc tính đó cũng không được thiết lập. SpeechRecognition.continuous-
Kiểm soát việc trả về kết quả liên tục cho mỗi lần nhận dạng, hay chỉ một kết quả duy nhất. Mặc định là một kết quả duy nhất (
false). SpeechRecognition.interimResults-
Kiểm soát việc có trả về các kết quả trung gian hay không (
true) hoặc không (false). Kết quả trung gian là các kết quả chưa phải là kết quả cuối cùng (ví dụ: thuộc tínhSpeechRecognitionResult.isFinallàfalse). SpeechRecognition.maxAlternatives-
Thiết lập số lượng tối đa
SpeechRecognitionAlternativeđược cung cấp cho mỗi kết quả. Giá trị mặc định là 1. SpeechRecognition.phrasesExperimental-
Thiết lập một mảng các đối tượng
SpeechRecognitionPhraseđể sử dụng cho thiên vị ngữ cảnh. SpeechRecognition.processLocallyExperimental-
Chỉ định việc nhận dạng giọng nói phải được thực hiện cục bộ trên thiết bị của người dùng.
Thuộc tính đã lỗi thời
Khái niệm grammar đã bị loại bỏ khỏi Web Speech API. Các tính năng liên quan vẫn còn trong đặc tả và vẫn được các trình duyệt hỗ trợ nhận diện để tương thích ngược, nhưng chúng không có tác dụng đối với các dịch vụ nhận dạng giọng nói.
SpeechRecognition.grammars-
Trả về và thiết lập một tập hợp các đối tượng
SpeechGrammarbiểu diễn các grammar màSpeechRecognitionhiện tại hiểu được.
Phương thức tĩnh
SpeechRecognition.available()Experimental-
Kiểm tra xem các ngôn ngữ được chỉ định có khả dụng cho nhận dạng giọng nói hay không.
SpeechRecognition.install()Experimental-
Cài đặt các gói ngôn ngữ cần thiết cho nhận dạng giọng nói trên thiết bị theo các ngôn ngữ được chỉ định.
Phương thức thể hiện
SpeechRecognition cũng kế thừa các phương thức từ giao diện cha của nó, EventTarget.
SpeechRecognition.abort()-
Dừng dịch vụ nhận dạng giọng nói không nghe audio đến, và không cố gắng trả về
SpeechRecognitionResult. SpeechRecognition.start()-
Khởi động dịch vụ nhận dạng giọng nói để nghe audio đến (từ micro hoặc track audio) và trả về kết quả của việc nhận dạng đó.
SpeechRecognition.stop()-
Dừng dịch vụ nhận dạng giọng nói không nghe audio đến và cố gắng trả về
SpeechRecognitionResultdựa trên các kết quả đã ghi nhận được cho đến thời điểm đó.
Sự kiện
Lắng nghe các sự kiện này bằng cách sử dụng addEventListener() hoặc bằng cách gán trình xử lý sự kiện cho thuộc tính oneventname của giao diện này.
audiostart-
Được kích hoạt khi tác nhân người dùng bắt đầu ghi âm thanh.
audioend-
Được kích hoạt khi tác nhân người dùng kết thúc ghi âm thanh.
end-
Được kích hoạt khi dịch vụ nhận dạng giọng nói đã ngắt kết nối.
error-
Được kích hoạt khi xảy ra lỗi nhận dạng giọng nói.
nomatch-
Được kích hoạt khi dịch vụ nhận dạng giọng nói trả về kết quả cuối cùng nhưng không có nhận dạng đáng kể. Điều này có thể bao gồm một mức độ nhận dạng nào đó, nhưng không đạt hoặc vượt ngưỡng
confidence. result-
Được kích hoạt khi dịch vụ nhận dạng giọng nói trả về một kết quả — một từ hoặc cụm từ đã được nhận dạng thành công và điều này đã được thông báo lại cho ứng dụng.
soundstart-
Được kích hoạt khi bất kỳ âm thanh nào — giọng nói có thể nhận dạng hay không — được phát hiện.
soundend-
Được kích hoạt khi bất kỳ âm thanh nào — giọng nói có thể nhận dạng hay không — ngừng được phát hiện.
speechstart-
Được kích hoạt khi âm thanh được dịch vụ nhận dạng giọng nói nhận diện là giọng nói đã được phát hiện.
speechend-
Được kích hoạt khi giọng nói được dịch vụ nhận dạng giọng nói nhận diện ngừng được phát hiện.
start-
Được kích hoạt khi dịch vụ nhận dạng giọng nói bắt đầu nghe audio để nhận dạng.
Ví dụ
Trong ví dụ Speech color changer của chúng ta, chúng ta tạo một thể hiện đối tượng SpeechRecognition mới bằng cách sử dụng bộ khởi tạo SpeechRecognition().
Sau khi một số giá trị khác đã được xác định, chúng ta thiết lập để dịch vụ nhận dạng bắt đầu khi một nút được nhấp (xem SpeechRecognition.start()). Khi một kết quả đã được nhận dạng thành công, sự kiện result được kích hoạt, chúng ta trích xuất màu đã được đọc từ đối tượng sự kiện, và sau đó thiết lập màu nền cho phần tử <html> thành màu đó.
const recognition = new SpeechRecognition();
recognition.continuous = false;
recognition.lang = "en-US";
recognition.interimResults = false;
recognition.maxAlternatives = 1;
const diagnostic = document.querySelector(".output");
const bg = document.querySelector("html");
const startBtn = document.querySelector("button");
startBtn.onclick = () => {
recognition.start();
console.log("Ready to receive a color command.");
};
recognition.onresult = (event) => {
const color = event.results[0][0].transcript;
diagnostic.textContent = `Result received: ${color}`;
bg.style.backgroundColor = color;
};
Đặc tả kỹ thuật
| Specification |
|---|
| Web Speech API> # speechreco-section> |