Tìm kiếm hệ thống nhận dạng giọng nói âm thanh tối ưu với mã nguồn đóng nhưng có API mở để tích hợp

API Google Bài phát biểu- Dịch vụ nhận dạng giọng nói của Google.

Nhận dạng giọng nói cho phép bạn tạo ra các hệ thống bảo trì tự động khách hàng trong trường hợp không thể áp dụng điều khiển bằng cảm ứng. Ví dụ, hãy xem xét một dịch vụ đặt vé máy bay, bao gồm việc chọn một số lượng lớn các thành phố. Menu âm báo trong dịch vụ như vậy không thuận tiện, vì vậy điều khiển giọng nói sẽ hiệu quả nhất. Cuộc đối thoại giữa hệ thống và người đăng ký có thể như thế này:

Hệ thống: Xin chào. Bạn muốn bay đi đâu? Người đăng ký: Hệ thống Kazan: Bạn muốn bay từ đâu? Thuê bao: Hệ thống Moscow: Chọn ngày khởi hành Thuê bao: 10 tháng 4
  • Điều hướng bằng giọng nói trong menu IVR đa cấp và kết nối tự động với đúng nhân viên
  • Nhận dạng địa chỉ để giao hàng
  • Tự động xác thực giọng nói của người dùng khi yêu cầu thông tin cá nhân hoặc bí mật qua điện thoại hoặc qua Internet
  • Hệ thống trợ giúp dịch vụ thông tin
  • Hệ thống tự phục vụ bằng giọng nói của khách hàng doanh nghiệp (yêu cầu số dư, kiểm tra tài khoản cá nhân, đặt vé)

Một hệ thống nhận dạng giọng nói thường bao gồm các phần sau:

  • Ghi tin nhắn từ thuê bao
  • Nhận dạng giọng nói và nhận dữ liệu văn bản từ dịch vụ
  • Phân tích thông tin nhận được và thực hiện các hành động cần thiết

Để sử dụng API Google Bài phát biểu trên hệ thống của bạn, hãy làm như sau:

Bước 1. Tải xuống và nhập tập lệnh vào hệ thống của bạn OK nói.

Tải xuống kịch bản:(đối với các phiên bản OK nói cũ hơn 2.10)

Kho lưu trữ chứa hai tập lệnh:

  • Google_Speech_API_main- kịch bản để ghi âm tin nhắn thoại, là một ví dụ về việc sử dụng hợp lý dịch vụ nhận dạng trong kịch bản chính.
  • Google_Speech_API- tập lệnh gửi bản ghi tới dịch vụ của Google và nhận được tin nhắn được công nhận.

Sau khi nhập tập lệnh vào OK nói, cứu họ" Đến máy chủ"

LƯU Ý: API Google Speech là sản phẩm trả phí. Trong tập lệnh (Thành phần yêu cầu web Giong noi Google) một khóa dùng thử được sử dụng, khóa này có thể bị chặn do một số yêu cầu nhất định. Trong quá trình kiểm tra số tiền tối đa không tìm thấy yêu cầu nào Nếu bạn muốn mua Phiên bản trả tiền API Google Speech liên hệ với bộ phận hỗ trợ của Google.

Bước 2. Trong mô-đun " Sự quản lý" - "Số bên ngoài"thêm vào số mở rộng với loại " Ra mắt IVR". Chọn kịch bản IVR Google_Speech_API_main.

Đây là thông tin từ Internet từ trang web vorabota.ru :

Để bắt đầu chuyển đổi giọng nói thành văn bản, bạn sẽ cần một micrô (nó được tích hợp sẵn trong máy tính xách tay), một chiếc tốt là điều mong muốn tốc độ kết nối internet và trình duyệt Google Chrome không thấp hơn phiên bản 25. Rất tiếc, tính năng gõ giọng nói không hoạt động trên các trình duyệt khác.

Khởi chạy trang nhập giọng nói trong trình duyệt Chrome. Ở cuối cửa sổ, chọn ngôn ngữ bạn định dùng để đọc chính tả văn bản. Nhấp vào biểu tượng micrô ở góc trên cùng bên phải. Và trong dòng bật lên, hãy nhấp vào nút “cho phép” để trình duyệt sử dụng micrô.

Bây giờ bạn có thể phát âm các cụm từ ngắn một cách chậm rãi và rõ ràng. Sau khi đọc chính tả văn bản bằng giọng nói xong, bạn có thể chọn văn bản đó bằng phím tắt Ctrl+C sao chép vào bảng nhớ tạm rồi dán vào bất kỳ trình chỉnh sửa nào để xử lý. Nếu muốn, văn bản có thể được gửi ngay lập tức qua email.

Có lẽ, Bài phát biểu trên web API– cách đơn giản nhất và chất lượng khá cao để chuyển lời nói của bạn thành văn bản. Vì không cần phải phân tâm bởi bất kỳ thao tác bổ sung nào với bàn phím. Chỉ cần bật micro và nói văn bản.

Trong mọi trường hợp, bạn sẽ phải sử dụng thêm một số soạn thảo văn bản để sửa chữa thêm văn bản chính tả.

Ra mắt trong trình duyệt Google Chrome trang http://vorabota.ru/voice/text.html và thử nhập văn bản bằng giọng nói. Tôi đọc được câu " API giọng nói trên web Nhập giọng nói. Chọn tất cả. Gửi email", nhưng đã nhận được" Nhập giọng nói api Websphere chọn tất cả gửi email". Thử lần thứ hai: " Nhấp vào nút Cho phép để bật tiếng micrô» — « Nhấp vào nút Cho phép để bật micrô«.

So sánh cụm từ gốc và kết quả cho thấy: a) cụm từ tiếng Nga được chuyển sang văn bản tiếng Nga với đủ chất lượng; b) Cụm từ tiếng Anh chuyển sang văn bản tiếng Anh có lỗi dễ sửa; c) cần phải sửa văn bản bắt buộc để sửa lỗi và đặt dấu chấm câu, và chữ in hoa; d) sự khác biệt giữa việc thực hiện này Quay số bằng giọng nói chữ từ những thứ khác có sẵn trên Internet, cực kỳ đơn giản: không có gì thừa trong đó, điều này giúp bạn dễ dàng tìm hiểu và sử dụng.

Kết luận của tôi là thế này: thật hợp lý khi thực hiện theo cách này Nhập văn bản bằng giọng nói trên trang web của bạn để giúp nhập văn bản trên các trang của trang web dễ dàng hơn.

Bạn chỉ cần dán mã cần thiết vào trang thích hợp của trang web.

Đã tạo một trang riêng chỉ dành cho Nhập văn bản bằng giọng nói và bắt đầu gỡ lỗi nó.

Đây là mã trang Ra lệnh cho văn bản:

Đang gỡ lỗi mã...

Bạn có thể sử dụng mã đã cho trên trang web của mình, chuyển đổi mã đó khi bạn thấy phù hợp.

Tôi mời mọi người lên tiếng

Từ ngày này trở đi, các nhà phát triển độc lập có quyền truy cập vào Lời nói trên đám mây API, công nghệ nhận dạng giọng nói làm cơ sở cho các sản phẩm của Google. Sản phẩm cập nhật hiện có sẵn trên Google Cloud.

Phiên bản beta mở của Cloud Speech đã được phát hành vào mùa hè năm ngoái. Công nghệ này với API đơn giản cho phép các nhà phát triển chuyển đổi âm thanh thành văn bản. Người mẫu mạng lưới thần kinh có thể nhận dạng hơn 80 ngôn ngữ và phương ngữ và bản phiên âm hoàn chỉnh sẽ xuất hiện ngay sau khi nói văn bản.

API được xây dựng trên công nghệ cung cấp chức năng nhận dạng giọng nói trong Trợ lý Google, Search và Now nhưng phiên bản mới đã có những thay đổi để điều chỉnh công nghệ phù hợp với nhu cầu của người dùng Cloud.

Phiên bản mới của Cloud Speech API có gì khác biệt?

Nhờ phản hồi của nhà phát triển, nhóm Google đã có thể cải thiện độ chính xác của việc phiên âm các bản ghi âm dài và tăng tốc độ xử lý dữ liệu lên gấp 3 lần so với phiên bản gốc. Hỗ trợ cho các định dạng âm thanh khác cũng đã được thêm vào, bao gồm WAV, OPUS và Speex.

Theo thống kê, trước đây API này thường được sử dụng nhiều nhất để quản lý các ứng dụng và thiết bị sử dụng tìm kiếm bằng giọng nói, lệnh thoại và menu thoại. Nhưng Cloud Speech có thể được sử dụng trong nhiều loại thiết bị IoT, bao gồm ô tô, TV, loa và tất nhiên là cả điện thoại và PC.

Trong số các ứng dụng phổ biến của công nghệ, cần lưu ý đến việc sử dụng nó trong các tổ chức để phân tích công việc của các trung tâm cuộc gọi, theo dõi hoạt động giao tiếp với khách hàng và tăng doanh số bán hàng.

  • dấu hoa thị,
  • API của Google,
  • API Yandex
  • Chọn API nhận dạng giọng nói

    Tôi chỉ xem xét tùy chọn API; các giải pháp đóng gói không cần thiết vì chúng yêu cầu tài nguyên, dữ liệu nhận dạng không quan trọng đối với doanh nghiệp và việc sử dụng chúng phức tạp hơn nhiều cũng như cần nhiều giờ công hơn.

    Đầu tiên là Yandex SpeechKit Cloud. Tôi ngay lập tức thích nó vì tính dễ sử dụng của nó:

    Curl -X POST -H "Content-Type: audio/x-wav" --data-binary "@speech.wav" "https://asr.yandex.net/asr_xml?uuid=<идентификатор пользователя>&phím= &topic=truy vấn"
    Chính sách giá: 400 rúp trên 1000 yêu cầu. Tháng đầu tiên miễn phí. Nhưng sau đó chỉ có sự thất vọng:

    Khi truyền tải một đề xuất lớn, nhận được phản hồi 2-3 từ
    - Những từ này được nhận ra theo một trình tự kỳ lạ
    - Nỗ lực thay đổi chủ đề không mang lại kết quả tích cực

    Có lẽ điều này là do chất lượng ghi âm ở mức trung bình; chúng tôi đã thử nghiệm mọi thứ thông qua cổng thoại và điện thoại Panasonic cổ. Hiện tại, tôi dự định sẽ sử dụng nó trong tương lai để xây dựng IVR.

    Tiếp theo là dịch vụ của Google. Internet có rất nhiều bài viết đề xuất sử dụng API dành cho nhà phát triển Chrome. Giờ đây, không thể lấy được khóa cho API này một cách dễ dàng như vậy. Vì vậy, chúng tôi sẽ sử dụng một nền tảng thương mại.

    Chính sách giá - 0-60 phút mỗi tháng miễn phí. Tiếp theo, 0,006 USD cho mỗi 15 giây phát biểu. Mỗi yêu cầu được làm tròn thành bội số của 15. Hai tháng đầu miễn phí, cần có thẻ tín dụng để tạo dự án. Các trường hợp sử dụng API trong tài liệu cơ bản rất đa dạng. Chúng tôi sẽ sử dụng tập lệnh Python:

    Kịch bản từ tài liệu

    """Ứng dụng mẫu API Google Cloud Speech sử dụng API REST để xử lý hàng loạt.""" import argparse import base64 import json from googleapiclient import detect import httplib2 from oauth2client.client import GoogleCredentials DISCOVERY_URL = ("https://(api). googleapis.com/$discovery/rest?" "version=(apiVersion)") def get_speech_service(): thông tin xác thực = GoogleCredentials.get_application_default().create_scoped(["https://www.googleapis.com/auth/cloud-platform "]) http = httplib2.Http() thông tin xác thực.authorize(http) return Discovery.build("speech", "v1beta1", http=http, DiscoveryServiceUrl=DISCOVERY_URL) def main(speech_file): """Phiên âm âm thanh đã cho file.Args: speech_file: tên của tệp âm thanh. """ với open(speech_file, "rb") là lời nói: speech_content = base64.b64encode(speech.read()) service = get_speech_service() service_request = service.speech ().syncrecognize(body=( "config": ( "encoding": "LINEAR16", # mẫu LE có chữ ký 16-bit thô "sampleRate": 16000, # 16 khz "linguCode": "en-US", # a Thẻ ngôn ngữ BCP-47 ), "audio": ("content": speech_content.decode("UTF-8") ) )) reply = service_request.execute() print(json.dumps(response)) if __name__ == " __main__": parser = argparse.ArgumentParser() parser.add_argument("speech_file", help="Đường dẫn đầy đủ của tệp âm thanh được nhận dạng") args = parser.parse_args() main(args.speech_file)

    Chuẩn bị sử dụng API Google Cloud Speech

    Chúng tôi sẽ cần đăng ký dự án và tạo khóa tài khoản dịch vụ để ủy quyền. Đây là link để dùng thử, bạn cần có tài khoản Google. Sau khi đăng ký, bạn cần kích hoạt API và tạo khóa ủy quyền. Sau đó, bạn cần sao chép khóa vào máy chủ.

    Hãy chuyển sang phần thiết lập máy chủ, chúng ta sẽ cần:

    Python
    - trăn-pip
    - con trăn API Google khách hàng

    Sudo apt-get install -y python python-pip pip install --upgrade google-api-python-client
    Bây giờ chúng ta cần xuất hai biến môi trường để hoạt động thành công với API. Đầu tiên là đường dẫn đến khóa dịch vụ, thứ hai là tên dự án của bạn.

    Xuất GOOGLE_APPLICATION_CREDENTIALS=/path/to/service_account_file.json xuất GCLOUD_PROJECT=your-project-id
    Hãy tải xuống tệp âm thanh thử nghiệm và thử chạy tập lệnh:

    Wget https://cloud.google.com/speech/docs/samples/audio.raw python voice.py audio.raw ("kết quả": [("các lựa chọn thay thế": [("độ tin cậy": 0.98267895, "bảng điểm": "Cầu Brooklyn bao nhiêu tuổi")])])
    Tuyệt vời! Thử nghiệm đầu tiên thành công. Bây giờ hãy thay đổi ngôn ngữ nhận dạng văn bản trong tập lệnh và thử nhận dạng nó:

    Nano voice.py service_request = service.speech().syncrecognize(body=( "config": ("encoding": "LINEAR16", # mẫu LE có chữ ký 16 bit thô "sampleRate": 16000, # 16 khz "ngôn ngữCode" : "ru-RU", # thẻ ngôn ngữ BCP-47
    Chúng tôi cần một tệp âm thanh .raw. Chúng tôi sử dụng sox cho việc này

    Apt-get install -y sox sox test.wav -r 16000 -b 16 -c 1 test.raw python voice.py test.raw ("kết quả": [("các lựa chọn thay thế": [("độ tin cậy": 0.96161985, " bảng điểm": "\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435 \u0412\u0430\u0441 \u043f\u0440\u0438\u0432\u04 3 5\u0442\u0441\ u0442 \u0432\u0443\u0435\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f")])])
    Google trả lại câu trả lời cho chúng tôi bằng Unicode. Nhưng chúng tôi muốn thấy những chữ cái bình thường. Hãy thay đổi giọng nói của chúng ta một chút:

    In(json.dumps(phản hồi))
    Chúng tôi sẽ sử dụng

    S = simplejson.dumps(("var": reply), Ensure_ascii=False) print s
    Hãy thêm vào nhập đơn giản. Kịch bản cuối cùng ở bên dưới phần cắt:

    Voice.py

    """Ứng dụng mẫu API Google Cloud Speech sử dụng API REST để xử lý hàng loạt.""" import argparse import base64 import json import simplejson from googleapiclient import detect import httplib2 from oauth2client.client import GoogleCredentials DISCOVERY_URL = ("https://(api ).googleapis.com/$discovery/rest?" "version=(apiVersion)") def get_speech_service(): thông tin đăng nhập = GoogleCredentials.get_application_default().create_scoped(["https://www.googleapis.com/auth/cloud -platform"]) http = httplib2.Http() thông tin đăng nhập.authorize(http) return Discovery.build("speech", "v1beta1", http=http, DiscoveryServiceUrl=DISCOVERY_URL) def main(speech_file): """Phiên âm tệp âm thanh đã cho. Args: speech_file: tên của tệp âm thanh. """ với open(speech_file, "rb") dưới dạng lời nói: speech_content = base64.b64encode(speech.read()) service = get_speech_service() service_request = service .speech().syncrecognize(body=( "config": ( "encoding": "LINEAR16", # mẫu LE có chữ ký 16-bit thô "sampleRate": 16000, # 16 khz "linguCode": "en-US", # thẻ ngôn ngữ BCP-47 ), "audio": ("content": speech_content.decode("UTF-8") ) )) reply = service_request.execute() s = simplejson.dumps(("var": reply ), Ensure_ascii=False) print s if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("speech_file", help="Đường dẫn đầy đủ của tệp âm thanh cần được nhận dạng") args = parser.parse_args( ) chính(args.speech_file)


    Nhưng trước khi chạy nó, bạn sẽ cần xuất thêm một biến môi trường xuất PYTHONIOENCODING=UTF-8. Không có nó, tôi gặp vấn đề với thiết bị xuất chuẩn khi được gọi trong tập lệnh.

    Xuất PYTHONIOENCODING=UTF-8 python voice.py test.raw ("var": ("kết quả": [("lựa chọn thay thế": [("sự tự tin": 0.96161985, "transcript": "Xin chào, chào mừng đến với công ty") ]) ]))
    Tuyệt vời. Bây giờ chúng ta có thể gọi tập lệnh này trong dialplan.

    Ví dụ về kế hoạch quay số dấu hoa thị

    Để gọi tập lệnh, tôi sẽ sử dụng một sơ đồ quay số đơn giản:

    Exten => 1234,1,Trả lời exten => 1234,n,wait(1) exten => 1234,n,Playback(howtomaketicket) exten => 1234,n,Playback(beep) exten => 1234,n,Set( FILE=$(CALLERID(num))--$(EXTEN)--$(STRFTIME($(EPOCH),%d-%m-%Y--%H-%M-%S)).wav) exten => 1234,n,MixMonitor($(FILE),/opt/test/send.sh [email được bảo vệ]"$(CDR(src))" "$(CALLERID(name))" "$(FILE)") exten => 1234,n,wait(28) exten => 1234,n,Playback(beep) exten => 1234,n,Phát lại(Cảm ơn!) mở rộng => 1234,n,Gác máy()
    Tôi sử dụng mixmonitor để ghi và chạy tập lệnh khi hoàn tất. Bạn có thể sử dụng bản ghi và điều này có thể sẽ tốt hơn. Ví dụ send.sh để gửi - giả sử bạn đã cấu hình mutt:

    #!/bin/bash #script để gửi thông báo # xuất các biến môi trường cần thiết # xuất tệp giấy phép Google GOOGLE_APPLICATION_CREDENTIALS=/opt/test/project.json # xuất tên dự án GCLOUD_PROJECT=project-id # xuất mã hóa python PYTHONIOENCODING=UTF-8 #danh sách các biến đầu vào EMAIL=$1 CALLERIDNUM=$2 CALLERIDNAME=$3 FILE=$4 # recode tập tin âm thanhở dạng thô để cung cấp cho Google API sox /var/spool/asterisk/monitor/$FILE -r 16000 -b 16 -c 1 /var/spool/asterisk/monitor/$FILE.raw # gán giá trị của đã thực thi tập lệnh thành biến khi chuyển đổi âm thanh thành văn bản và cắt bỏ TEXT=`python /opt/test/voice.py /var/spool/asterisk/monitor/$FILE.raw | sed -e "s/.*transcript"://" -e "s/)])]))//"` # gửi thư, bao gồm văn bản được nhận dạng trong thư echo "thông báo mới từ số: $ CALLERIDNUM $CALLERIDNAME $ TEXT " | mutt -s "Đây là tiêu đề của bức thư" -e "set [email được bảo vệ] realname="Tôi đang gửi thông báo"" -a "/var/spool/asterisk/monitor/$FILE" -- $EMAIL

    Phần kết luận

    Như vậy, chúng ta đã giải quyết được vấn đề. Tôi hy vọng kinh nghiệm của tôi hữu ích cho ai đó. Tôi sẽ rất vui khi nhận được những bình luận (có lẽ đây là lý do duy nhất khiến nó đáng đọc Habr!). Trong tương lai, tôi dự định triển khai IVR với các yếu tố điều khiển bằng giọng nói dựa trên điều này.

    API Web Speech cho phép bạn kết hợp dữ liệu giọng nói vào ứng dụng web. API giọng nói trên web có hai phần: Tổng hợp giọng nói (Chuyển văn bản thành giọng nói) và Nhận dạng giọng nói (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

    API Web Speech giúp các ứng dụng web có thể xử lý dữ liệu giọng nói. Có hai thành phần cho API này:

    • Nhận dạng giọng nói được truy cập thông qua giao diện Nhận dạng giọng nói, giao diện này cung cấp khả năng nhận dạng ngữ cảnh giọng nói từ đầu vào âm thanh (thông thường thông qua dịch vụ nhận dạng giọng nói mặc định của thiết bị) và phản hồi thích hợp. Nói chung, bạn sẽ sử dụng hàm tạo của giao diện để tạo một đối tượng Nhận dạng giọng nói mới, có sẵn một số trình xử lý sự kiện để phát hiện khi giọng nói được nhập qua micrô của thiết bị. Giao diện SpeechGrammar đại diện cho một bộ chứa một tập hợp ngữ pháp cụ thể mà ứng dụng của bạn sẽ nhận dạng. Ngữ pháp được xác định bằng Định dạng ngữ pháp JSpeech ( JSGF.)
    • 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 trình 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ượng SpeechSynthesisVoice và các phần khác nhau của văn bản mà bạn muốn được nói được thể hiện bằng các đối tượng SpeechSynthesisUtterance. Bạn có thể nói những điều này bằng cách chuyển chúng sang phương thức SpeechSynt tổng hợp.speak().

    Giao diện API giọng nói trên web

    Nhận dạng giọng nói

    Nhận dạng giọng nói Giao diện điều khiển cho dịch vụ nhận dạng; điều này cũng xử lý SpeechRecognitionEvent được gửi từ dịch vụ nhận dạng. Nhận dạng giọng nóiThay thế Đạ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. SpeechRecognitionError 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 kết quả và không khớp, đồng thời 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. SpeechGrammar Các từ hoặc mẫu từ mà chúng tôi muốn dịch vụ nhận dạng nhận ra. SpeechGrammarList Đại diện cho một danh sách các đối tượng SpeechGrammar. SpeechRecognitionResult Trình bày một kết quả nhận dạng duy nhất, có thể chứa nhiều đối tượng SpeechRecognitionAlternative. SpeechRecognitionResultList Trình bày 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ế độ liên tục.

    Tổng hợp giọng nói

    SpeechSynt tổng hợp Giao diện điều khiển cho dịch vụ giọng nó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 SpeechSynthesisUtterance trong 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 một yêu cầu giọng nói. 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 SpeechSynthesisVoice đều có 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.speechSynt tổng hợp Được xác định là một phần của giao diện có tên SpeechSynthesisGetter và được đối tượng Window triển khai, thuộc tính speechSynt tổng hợp cung cấp quyền truy cập vào bộ điều khiển SpeechSynt tổng hợp và do đó là điểm truy cập vào chức năng tổng hợp giọng nói.

    Ví dụ

    Kho lưu trữ API Web Speech trên GitHub chứa các bản demo để minh họa khả năng nhận dạng và tổng hợp giọng nói.

    Thông số kỹ thuật

    Sự chỉ rõ Trạng thái Bình luận
    API giọng nói trên web Bản nháp Định nghĩa ban đầu

    Tính tương thích của trình duyệt web

    Nhận dạng giọng nói

    https://github.com/mdn/browser-compat-data và gửi cho chúng tôi yêu cầu kéo.

    Máy tính để bànĐiện thoại di động
    Trình duyệt ChromeBờ rìaFirefoxtrình duyệt web IEOperaCuộc đi sănChế độ xem web trên AndroidChrome dành cho AndroidCạnh di độngFirefox dành cho AndroidOpera cho AndroidSafari trên iOSInternet Samsung
    Nhận dạng giọng nói

    Thực nghiệm

    Chrome Hỗ trợ đầy đủ 33

    Tiền tố Ghi chú

    Hỗ trợ đầy đủ 33

    Tiền tố Ghi chú

    Tiền tố
    Bờ rìa?Firefox Không hỗ trợ KhôngIE Không hỗ trợ KhôngOpera Không hỗ trợ KhôngSafari Không hỗ trợ KhôngWebView Android?Chrome Android Hỗ trợ đầy đủ Có

    Tiền tố Ghi chú

    Hỗ trợ đầy đủ Có

    Tiền tố Ghi chú

    Tiền tố Được triển khai với tiền tố của nhà cung cấp: webkit Notes Bạn sẽ cần phân phát mã của mình thông qua máy chủ webđể được công nhận có tác dụng.
    Cạnh di động?Firefox Android Không hỗ trợ KhôngOpera Android Không hỗ trợ KhôngSafari iOS Không hỗ trợ KhôngSamsung Internet Android ?

    Huyền thoại

    Hỗ trợ đầy đủ Hỗ trợ đầy đủ Không có hỗ trợ Không có hỗ trợ Khả năng tương thích không xác định Khả năng tương thích không xác định Thực nghiệm. Mong đợi hành vi sẽ thay đổi trong tương lai. Thực nghiệm. Mong đợi hành vi sẽ thay đổi trong tương lai. Xem ghi chú thực hiện. Xem ghi chú thực hiện. Yêu cầu tiền tố của nhà cung cấp hoặc tên khác để sử dụng.

    Tổng hợp giọng nói

    Bảng tương thích trên trang này được tạo từ dữ liệu có cấu trúc. Nếu bạn muốn đóng góp vào dữ liệu, vui lòng Thủ tục thanh toán https://github.com/mdn/browser-compat-data và gửi cho chúng tôi yêu cầu kéo.

    Cập nhật dữ liệu tương thích trên GitHub

    Máy tính để bànĐiện thoại di động
    Trình duyệt ChromeBờ rìaFirefoxtrình duyệt web IEOperaCuộc đi sănChế độ xem web trên AndroidChrome dành cho AndroidCạnh di độngFirefox dành cho AndroidOpera cho AndroidSafari trên iOSInternet Samsung