Chơi âm thanh trăn

Chào mừng bạn đến với hướng dẫn dành cho nhà phát triển Android. Các tài liệu này hướng dẫn bạn cách xây dựng ứng dụng Android bằng cách sử dụng API trong Android framework và các thư viện khác

Nếu bạn là người mới sử dụng Android và muốn bắt đầu viết mã, hãy bắt đầu với hướng dẫn Xây dựng ứng dụng đầu tiên của bạn

Và xem các tài nguyên khác này để tìm hiểu về phát triển Android

  • phòng thí nghiệm lập trình. Các hướng dẫn ngắn, theo nhịp độ của từng người bao gồm một chủ đề riêng biệt. Hầu hết các phòng thí nghiệm lập trình đều hướng dẫn bạn quy trình xây dựng ứng dụng nhỏ hoặc thêm tính năng mới vào ứng dụng hiện có
  • khóa học. Lộ trình đào tạo có hướng dẫn hướng dẫn bạn cách xây dựng ứng dụng Android

Mặt khác, sau đây là tuyển tập nhỏ các hướng dẫn thiết yếu dành cho nhà phát triển mà bạn nên làm quen

Bạn đã bao giờ tự hỏi làm thế nào để thêm nhận dạng giọng nói vào dự án Python của mình? . Nó dễ dàng hơn bạn nghĩ

Không còn là lỗi thứ nhất, sự thành công vượt bậc của các sản phẩm hỗ trợ giọng nói như Amazon Alexa đã chứng minh rằng hỗ trợ giọng nói ở mức độ nào đó sẽ là một khía cạnh thiết yếu của công nghệ gia dụng . Nếu bạn nghĩ về nó, lý do tại sao là rõ ràng. Kết hợp tính năng nhận dạng giọng nói vào ứng dụng Python của bạn mang lại mức độ tương tác và khả năng truy cập mà ít công nghệ nào có thể so sánh được

Chỉ riêng các cải tiến về khả năng tiếp cận cũng đáng được xem xét Nhận dạng âm thanh nói cho phép người già và người trưởng thành tương tác với các sản phẩm và dịch vụ hiện đại một cách nhanh chóng và tự nhiên — không cần GUI

Hơn hết, bao gồm cả nhận dạng giọng nói trong một dự án Python thực sự đơn giản. Trong hướng dẫn này, bạn sẽ tìm hiểu cách thực hiện. You will learn

  • Cách thức hoạt động của tính năng nhận dạng giọng nói,
  • Những gói nào có sẵn trên PyPI;
  • Cách cài đặt và sử dụng gói SpeechRecognition — thư viện nhận dạng giọng nói Python đầy đủ tính năng và dễ sử dụng

Cuối cùng, bạn sẽ áp dụng những gì bạn đã học được vào trò chơi “Đoán từ” đơn giản và xem tất cả kết hợp với nhau như thế nào

Cách hoạt động của tính năng Nhận dạng giọng nói - Tổng quan

Trước khi chúng ta đi đến thực tế của việc thực hiện nhận dạng giọng nói bằng Python, hãy dành một chút thời gian để nói về cách hoạt động của nhận dạng giọng nói. Một cuộc thảo luận đầy đủ sẽ bao gồm đầy đủ một cuốn sách, vì vậy tôi sẽ không cung cấp cho bạn tất cả các chi tiết kỹ thuật ở đây. Trên thực tế, phần này không bắt buộc đối với phần còn lại của hướng dẫn. Nếu bạn muốn đi thẳng vào vấn đề, vui lòng bỏ qua

Nhận dạng giọng nói bắt nguồn từ nghiên cứu được thực hiện tại Bell Labs vào đầu những năm 1950. Các hệ thống ban đầu chỉ giới hạn ở một người nói duy nhất và có lượng từ vựng giới hạn khoảng một số lượng từ. Các hệ thống nhận dạng giọng nói hiện đại đã có một làn gió dài kể từ những hệ thống cổ xưa của họ. Họ có thể nhận dạng bài phát biểu từ nhiều người nói và có vốn từ vựng và nhiều ngôn ngữ

Tất nhiên, thành phần đầu tiên của nhận dạng giọng nói là giọng nói. Lời nói phải được chuyển đổi từ âm thanh vật lý sang tín hiệu điện bằng nơ, sau đó sang dữ liệu kỹ thuật số bằng bộ chuyển đổi tương tự sang kỹ thuật số. Sau khi được số hóa, một số mô hình có thể được sử dụng để chuyển âm thanh thành văn bản

Hầu hết các hệ thống nhận dạng giọng nói hiện đại dựa trên cái được gọi là Mô hình Markov ẩn [HMM]. Cách tiếp cận này hoạt động dựa trên giả định rằng một tín hiệu âm thanh nói, khi được xem trong một khoảng thời gian đủ ngắn [ví dụ, mười mili giây], có thể gần đúng một cách hợp lý như một quá trình tĩnh —

Trong HMM điển hình, tín hiệu lời nói được chia thành các đoạn dài 10 mili giây. Phổ công suất của mỗi đoạn, về cơ bản là một đồ thị công suất của tín hiệu như một hàm của tần số, được ánh xạ tới một góc nhìn của các số thực được gọi là hệ thống số cepstral. Thứ nguyên của màn hình này thường nhỏ — đôi khi thấp nhất là 10, mặc dù các hệ thống chính xác hơn có thể có thứ nguyên 32 trở lên. Đầu ra cuối cùng của HMM là một chuỗi các màn hình này

Để giải mã lời nói thành văn bản, các nhóm màn hình được đối chiếu với một hoặc nhiều âm vị —một đơn vị cơ bản của lời nói. Việc tính toán này yêu cầu phải được đào tạo, vì âm thanh của một vị trí âm thanh thay đổi từ người nói này sang người nói khác, và thậm chí thay đổi từ cách phát âm này sang cách phát âm khác của cùng một người nói. Một thuật toán đặc biệt sau đó được áp dụng để xác định từ [hoặc các từ] có nhiều khả năng nhất để tạo ra chuỗi âm thanh định vị nhất

Người ta có thể tưởng tượng rằng toàn bộ quá trình này có thể tốn kém về mặt tính toán. Trong nhiều hệ thống nhận dạng tín hiệu nói hiện đại, mạng nơ-ron được sử dụng để đơn giản hóa tín hiệu nói giọng bằng cách sử dụng các kỹ thuật chuyển đổi đặc trưng và kích thước trước khi giảm định dạng HMM. Bộ phát hiện hoạt động giọng nói [VAD] cũng được sử dụng để giảm tín hiệu âm thanh xuống chỉ những phần có khả năng bao gồm giọng nói. Điều này ngăn bộ nhận dạng mất thời gian phân tích các phần không cần thiết của tín hiệu

May mắn thay, là một lập trình viên Python, bạn không cần phải lo lắng về bất kỳ điều gì trong số này. Một số dịch vụ nhận định dạng giọng nói có sẵn để sử dụng API thông tin trực tuyến và nhiều dịch vụ trong số này cung cấp SDK Python

Chọn gói nhận dạng giọng nói Python

Có một số gói để nhận định dạng giọng nói trên PyPI. Một vài trong số họ bao gồm

  • apiai
  • lắp ráp
  • google-cloud-speech
  • nhân viên bỏ túi
  • Nhận định dạng giọng nói
  • watson-nhà phát triển-đám mây
  • tip

Một số gói này — chẳng hạn như wit và apiai — cung cấp các tính năng hợp nhất vượt trội, như lý do ngôn ngữ tự nhiên để xác định ý định của người nói, xử lý ra bên ngoài nhận dạng giọng nói cơ bản. Những người khác, chẳng hạn như google-cloud-speech, chỉ tập trung vào chuyển giọng nói thành văn bản

Có một gói nổi bật về tính năng dễ sử dụng. Nhận dạng giọng nói

Nhận dạng giọng nói yêu cầu đầu vào âm thanh và SpeechRecognition giúp việc truy xuất đầu vào này thực sự dễ dàng. Thay vì phải xây dựng các tập lệnh để truy cập ẩn và xử lý các tập tin âm thanh từ đầu, SpeechRecognition sẽ giúp bạn thiết lập và chạy chỉ trong vài phút

Thư viện SpeechRecognition hoạt động như một trình bao bọc cho một số API giọng nói phổ biến và làm điều đó cực kỳ linh hoạt. Một trong số này — API Web Speech của Google — Hỗ trợ khóa API mặc định được mã hóa phần cứng vào thư viện SpeechRecognition. Điều đó có nghĩa là bạn có thể xuống chân mà không cần phải đăng ký dịch vụ

Tính linh hoạt và dễ sử dụng của gói SpeechRecognition khiến nó trở thành lựa chọn tuyệt vời cho bất kỳ dự án Python nào. Tuy nhiên, không đảm bảo hỗ trợ cho mọi tính năng của mỗi API mà nó kết thúc. Bạn sẽ cần dành một chút thời gian nghiên cứu các tùy chọn có sẵn để tìm hiểu xem liệu SpeechRecognition có hoạt động trong trường hợp cụ thể của bạn hay không

Vì vậy, bây giờ bạn đã thuyết phục rằng bạn nên thử SpeechRecognition, bước tiếp theo là cài đặt nó trong môi trường của bạn

Cài đặt SpeechRecognition

SpeechRecognition tương thích với Python 2. 6, 2. 7 và 3. 3+, but request a number bước cài đặt bổ sung cho Python 2. Đối với hướng dẫn này, tôi sẽ giả sử bạn đang sử dụng Python 3. 3+

Bạn có thể cài đặt SpeechRecognition từ một thiết bị đầu cuối bằng pip

$ pip install SpeechRecognition

Sau khi cài đặt, bạn phải xác minh cài đặt bằng cách mở phiên bản dịch và nhập

>>>

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'

Lưu ý. Số phiên bản bạn nhận được có thể khác nhau. Version 3. 8. 1 là phiên bản mới nhất tại thời điểm viết bài

Please continue and keep for this open version. Bạn sẽ bắt đầu làm việc với nó chỉ trong vài giây

SpeechRecognition sẽ hoạt động hiệu quả nếu tất cả những gì bạn cần làm đều hoạt động với các tệp âm thanh hiện có. Tuy nhiên, các trường hợp cụ thể sử dụng có thể yêu cầu một số phụ thuộc. Đáng chú ý, gói PyAudio là thiết bị cần thiết để bắt đầu nhập vào chương trình

Bạn sẽ thấy những phụ thuộc nào bạn cần khi đọc thêm. Bây giờ, hãy đi sâu vào và khám phá những điều cơ bản của gói

các 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
1Lớp

Tất cả điều kỳ diệu trong SpeechRecognition xảy ra với 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
1 lớp học

Tất nhiên, mục đích chính của phiên bản

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
1 là nhận dạng giọng nói. Mỗi phiên bản đi kèm với nhiều cài đặt và chức năng khác nhau để nhận định dạng giọng nói từ nguồn âm thanh

Tạo 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
1 phiên bản rất dễ dàng. Trong phiên bản dịch hiện tại của bạn, chỉ cần nhập

>>>

>>> r = sr.Recognizer[]

Mỗi phiên bản

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
1 có bảy phương pháp để nhận dạng giọng nói từ nguồn âm thanh bằng cách sử dụng các API khác nhau. Which is

  • Traceback [most recent call last]:
      File "", line 1, in 
    TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
    
    6. Bài phát biểu của Microsoft Bing
  • Traceback [most recent call last]:
      File "", line 1, in 
    TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
    
    7. API voice speak trên web của Google
  • Traceback [most recent call last]:
      File "", line 1, in 
    TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
    
    8. Google Cloud Speech - yêu cầu cài đặt gói google-cloud-speech
  • Traceback [most recent call last]:
      File "", line 1, in 
    TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
    
    9. Houndify bởi SoundHound
  • >>> import speech_recognition as sr
    >>> sr.__version__
    '3.8.1'
    
    20. Bài phát biểu thành văn bản của IBM
  • >>> import speech_recognition as sr
    >>> sr.__version__
    '3.8.1'
    
    21. CMU Sphinx - yêu cầu cài đặt PocketSphinx
  • >>> import speech_recognition as sr
    >>> sr.__version__
    '3.8.1'
    
    22. Mưu mẹo. ai

Trong số bảy, chỉ 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
21 hoạt động ngoại tuyến với công cụ CMU Sphinx. Sau cái còn lại đều yêu cầu kết nối internet

Thảo luận thảo luận đầy đủ về các tính năng và lợi ích của mỗi API nằm ngoài phạm vi của hướng dẫn này. Vì SpeechRecognition đi kèm với API khóa mặc định cho Google Web Speech API, bạn có thể bắt đầu với nó ngay lập tức. Vì lý do này, chúng tôi sẽ sử dụng API Web Speech trong hướng dẫn này. API API khác đều yêu cầu xác thực bằng API khóa hoặc kết hợp tên người dùng / mật khẩu. Để biết thêm thông tin, hãy tham khảo tài liệu SpeechRecognition

thận trọng. Key default do SpeechRecognition cung cấp chỉ dành cho mục đích thử nghiệm và Google có thể thu hồi khóa này bất kỳ lúc nào. Không phải là một ý kiến ​​hay khi sử dụng Google Web Speech API trong quá trình sản xuất. Ngay cả khi API khóa hợp lệ, bạn sẽ chỉ bị giới hạn ở 50 yêu cầu mỗi ngày và không có cách nào để tăng giới hạn này. May mắn thay, giao diện của SpeechRecognition gần giống như các màn hình khác nhau cho mỗi API, vì vậy những gì bạn học hôm nay sẽ dễ dàng chuyển sang một dự án trong thế giới thực

Mỗi 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
24 phương thức sẽ đưa ra một 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
25 ngoại lệ nếu không thể truy cập được API. Đối với 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
21, điều này có thể xảy ra do cài đặt Sphinx bị thiếu, bị hỏng hoặc không tương thích. Đối với sáu phương pháp khác, 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
27có thể bị ném nếu câu trả lời giới hạn hạn chế, máy chủ không khả dụng hoặc không có kết nối internet

Ok, đủ chuyện. Hãy làm sạch bàn tay của chúng ta. Hãy tiếp tục và cố gắng gọi

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
7 trong phiên bản thông dịch viên của bạn

>>>

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
1

Chuyện gì đã xảy ra?

Bạn có thể nhận được một cái gì đó giống như sau

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'

Bạn có thể đoán điều này sẽ xảy ra. Làm thế nào có thể nhận thứ gì đó từ hư hỏng

Tất cả bảy 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
24 phương thức của 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
1 lớp đều yêu cầu một 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
51đối số. Trong mỗi trường hợp, 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
51 phải là một phiên bản của 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
53 layer SpeechRecognition

Có hai cách để tạo ra 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
53phiên bản. from file sound or sound bar was write by lú. Các tệp âm thanh dễ bắt đầu hơn một chút, vì vậy trước tiên hãy xem xét nó

Work with audio file

Trước khi tiếp tục, bạn phải tải xuống tệp âm thanh. Bạn có thể tìm thấy cái mà tôi đã sử dụng để bắt đầu, “harvard. wav” tại đây. Đảm bảo bạn lưu nó vào cùng một thư mục mà phiên bản dịch Python của bạn đang chạy

SpeechRecognition giúp làm việc với các tệp âm thanh một cách dễ dàng nhờ 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
55 layer tiện ích của nó. Lớp này có thể được khởi tạo bằng đường dẫn đến tệp âm thanh và cung cấp giao diện trình quản lý ngữ cảnh để đọc và làm việc với nội dung của tệp

Các loại tệp được hỗ trợ

Hiện tại, SpeechRecognition hỗ trợ các định dạng tệp sau

  • WAV. must in PCM/LPCM format
  • AIFF
  • AIFF-C
  • FLAC. must be format FLAC gốc;

Nếu bạn đang làm việc trên Linux, macOS hoặc Windows dựa trên x-86, bạn sẽ có thể làm việc với các tệp FLAC mà không gặp sự cố. Trên các nền tảng khác nhau, bạn phải cài đặt bộ mã hóa FLAC và đảm bảo rằng bạn có quyền truy cập vào 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
56 công cụ dòng lệnh. Bạn có thể tìm thêm thông tin tại đây nếu điều này áp dụng cho bạn

Sử dụng 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
57 để chụp dữ liệu từ tệp

Nhập thông tin sau vào phiên bản thông tin dịch vụ của bạn để xử lý nội dung của tệp “harvard. sóng”

>>>

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
2

Trình quản lý cảnh ngữ mở tệp và đọc nội dung của nó, lưu trữ dữ liệu trong một 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
55có thể được gọi là 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
59Sau đó, 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
57 định thức ghi dữ liệu từ toàn bộ tệp vào một 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
53có thể hiện. Bạn có thể xác nhận điều này bằng cách kiểm tra loại
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
72

>>>

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
5

Bây giờ bạn có thể gọi 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
7 để cố gắng nhận dạng bất kỳ lời nói nào trong âm thanh. Tùy thuộc vào tốc độ kết nối internet của bạn, bạn có thể phải đợi vài giây trước khi xem kết quả

>>>

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
7

Xin chúc mừng. Bạn vừa sao chép tệp âm thanh đầu tiên của mình

Nếu bạn đang hỏi tự các cụm từ trong tệp “harvard. wav” đến từ đâu, chúng là ví dụ về câu Harvard. Những cụm từ này đã được IEEE xuất bản vào năm 1965 để sử dụng trong quá trình kiểm tra giọng nói của các đường dây điện thoại. Chúng vẫn được sử dụng trong VoIP và thử nghiệm di động ngày nay

Harvard Questions bao gồm 72 danh sách mười cụm từ. Bạn có thể tìm thấy các bản ghi âm có sẵn miễn phí của các cụm từ này trên trang web của Open Speech Repository. Bản ghi âm có sẵn bằng tiếng Anh, tiếng Quan Thoại, tiếng Pháp và tiếng Hindi. Họ cung cấp một nguồn tài liệu miễn phí tuyệt vời để kiểm tra mã của bạn

Chụp phân đoạn với 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
74và
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
75

Điều gì sẽ xảy ra nếu bạn chỉ muốn ghi lại một phần của bài phát biểu trong một tệp tin?

Ví dụ. section after write back any cards play in the first seconds of the file

>>>

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
5

Các 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
57 phương pháp, khi được sử dụng bên trong một 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
79khối, luôn luôn di chuyển về phía trước trong dòng tệp. Điều này có nghĩa là nếu bạn ghi một lần trong bốn giây và sau đó ghi lại trong bốn giây, thì lần thứ hai trả về bốn giây âm thanh sau bốn giây đầu tiên

>>>

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
8

Lưu ý rằng 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
50có chứa một phần của cụm từ thứ ba trong tệp. Khi chỉ định thời lượng, bản ghi có thể dừng ở giữa các cụm từ - hoặc thậm chí giữa các từ - điều này có thể ảnh hưởng đến độ chính xác của phiên bản âm thanh. Nhiều hơn về điều này trong một chút

Ngoài việc chỉ định thời lượng ghi, 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
57 phương thức có thể được cung cấp một điểm bắt đầu cụ thể bằng cách sử dụng 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
74đối số từ khóa. Giá trị này đại diện cho số giây từ đầu tệp cần bỏ qua trước khi bắt đầu ghi

Để chỉ ghi lại cụm từ thứ hai trong tệp, bạn có thể bắt đầu với khoảng chênh lệch là đột biến giây và ghi lại, thực sự giới hạn, ba giây

>>>

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
0

Các đối số 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
74và 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
75từ khóa hữu ích cho việc phân đoạn tệp âm thanh nếu bạn có kiến ​​thức trước về cấu trúc của bài phát biểu trong tệp. Tuy nhiên, việc sử dụng chúng theo một cách vàng có thể dẫn đến phiên bản âm thanh kém. Để xem hiệu ứng này, hãy thử các thao tác sau trong thông tin giao dịch của bạn

>>>

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
1

Khi bắt đầu ghi ở 4,7 giây, bạn bỏ lỡ phần “it t” ở đầu cụm từ “cần nhiệt để tạo ra mùi”, vì vậy API chỉ nhận được “akes heat”, nó khớp với “Mesquite. ”

Tương tự, ở đoạn cuối ghi âm, bạn bắt được “a co”, là phần mở đầu của cụm từ thứ ba “ngâm mình trong nước lạnh phục sức khỏe và mê say”. Điều này được so sánh với “Aiko” bởi API

Có một lý do khác khiến bạn có thể nhận được phiên bản âm thanh không chính xác. Tiếng ồn. Các ví dụ về hoạt động tốt vì tệp âm thanh khá sạch. Trong thế giới thực, trừ khi bạn có cơ hội xử lý các tệp âm thanh trước đó, bạn không thể mong đợi âm thanh không bị nhiễu

Ảnh hưởng của tiếng ồn đối với nhận dạng giọng nói

Tiếng ồn là một thực tế của cuộc sống. Tất cả các bản ghi âm đều có tiếng ồn ở một mức độ nào đó và tiếng ồn không được xử lý có thể làm hỏng độ chính xác của các ứng dụng nhận dạng giọng nói.

Để biết tiếng ồn có thể ảnh hưởng đến việc nhận dạng giọng nói như thế nào, hãy tải xuống tệp “jackhammer. wav” tại đây. Như mọi khi, hãy chắc chắn rằng bạn lưu nó vào thư mục làm việc của phiên thông dịch viên của bạn

Tệp này có cụm từ “mùi hôi của bia cũ còn sót lại” được nói với một lời nói khoan dung lớn ở phía sau

Điều gì xảy ra khi bạn cố gắng thử phiên bản âm thanh này?

>>>

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
2

Tắt đường

Vì vậy, làm thế nào để bạn đối phó với điều này?

>>>

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
3

Điều đó giúp bạn gần hơn một chút với cụm từ thực tế, nhưng nó vẫn chưa hoàn hảo. Ngoài ra, “the” bị thiếu ở đầu cụm từ. in sao vậy?

Các 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
55 phương pháp đọc thứ hai đầu tiên của dòng tập tin và hiệu chỉnh bộ nhận định dạng cho độ ồn của âm thanh. Do đó, phần đó của luồng được sử dụng trước khi bạn gọi 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
57 để thu thập dữ liệu

Bạn có thể điều chỉnh khung thời gian 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
55sử dụng để phân tích với 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
75đối số từ khóa. This number nhận một giá trị số tính bằng giây và được đặt thành 1 theo mặc định. Hãy thử giảm giá trị này xuống 0,5

>>>

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
4

Chà, bạn có “the” ở đầu cụm từ, nhưng bây giờ bạn có một số vấn đề mới. Đôi khi không thể loại bỏ ảnh hưởng của nhiễu — tín hiệu quá ồn để xử lý thành công. Đó là trường hợp của tệp này

Nếu bạn thường gặp phải những vấn đề này, bạn có thể sử dụng đến một số xử lý trước âm thanh. Điều này có thể được thực hiện bằng phần mềm chỉnh sửa âm thanh hoặc gói Python [chẳng hạn như SciPy] có thể áp dụng bộ lọc cho tệp. Phần thảo luận chi tiết về vấn đề này nằm ngoài phạm vi của hướng dẫn này — hãy xem cuốn sách Think DSP của Allen Downey nếu bạn quan tâm. Hiện tại, chỉ cần lưu ý rằng tiếng ồn xung quanh trong tệp âm thanh có thể gây ra sự cố và phải được giải quyết để tối đa hóa mức độ chính xác của nhận dạng giọng nói.

Khi làm việc với các tệp ồn ào, có thể hữu ích khi xem API phản hồi thực tế. Hầu hết các API trả về một chuỗi JSON chứa nhiều phiên bản âm thanh có thể có. Các 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
7 phương pháp sẽ luôn trả lại rất có thể sao chép, trừ khi bạn buộc phải cung cấp cho bạn những câu trả lời đầy đủ

Bạn có thể làm điều này bằng cách đặt 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
82đối số từ khóa của 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
7 phương pháp thành
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
84

>>>

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
5

Nếu bạn có thể thấy, 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
7trả về một từ điển với từ khóa 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
86trỏ vào danh sách các điểm có thể có. Cấu trúc của phản hồi này có thể khác nhau giữa các API và chủ yếu hữu ích để giải quyết lỗi

Bây giờ, bạn đã có một ý tưởng khá tốt về những điều cơ bản của gói SpeechRecognition. Bạn đã tìm ra cách tạo phiên bản 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
55 từ tệp âm thanh và sử dụng 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
57 phương pháp này để thu thập dữ liệu từ tệp. Bạn đã học cách ghi lại các phân đoạn của tệp bằng cách sử dụng các đối số 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
74và 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
75từ khóa của 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
57, và bạn đã gặp phải ảnh hưởng bất lợi về độ chính xác của bản sao

Bây giờ cho thú vị phần. Please convert from the audio version of the audio bar to working for your project to become your future, tương tác bằng cách nhận đầu vào từ gật gù

Làm việc với trống

Để truy cập cuộc gọi của bạn bằng SpeechRecognizer, bạn phải cài đặt gói PyAudio. Vui lòng tiếp tục và đóng phiên bản dịch hiện tại của bạn, và hãy làm điều đó

Cài đặt PyAudio

Quá trình cài đặt PyAudio sẽ khác nhau tùy thuộc vào hệ điều hành của bạn

DebianLinux

Nếu bạn đang sử dụng Linux dựa trên Debian [như Ubuntu], bạn có thể cài đặt PyAudio với 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
02

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
6

Sau khi cài đặt, bạn vẫn có thể chạy 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
03, đặc biệt nếu bạn đang làm việc trong môi trường ảo

hệ điều hành Mac

Đối với macOS, trước tiên bạn cần cài đặt PortAudio với Homebrew, sau đó cài đặt PyAudio với 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
04

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
7

các cửa sổ

Trên Windows, bạn có thể cài đặt PyAudio với 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
04

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
8

Kiểm tra cài đặt

Sau khi cài đặt xong PyAudio, bạn có thể kiểm tra cài đặt từ bảng điều khiển

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
9

Bảo đảm rằng mặc định của bạn được bật và tắt tiếng. Nếu quá trình cài đặt hoạt động, bạn sẽ thấy một cái gì đó giống như sau

 

>>> r = sr.Recognizer[]
0

Hãy tiếp tục và thử trải nghiệm nó một chút bằng cách nói chuyện với bạn và xem SpeechRecognition phiên bản âm thanh bài phát biểu của bạn tốt như thế nào

 

Lưu ý. Nếu bạn đang sử dụng Ubuntu và nhận được một số đầu ra thú vị như 'ALSA lib.. PCM không xác định', hãy tham khảo trang này để biết các mẹo về cách chặn thông báo này. Đầu tiên điều này đến từ gói ALSA được cài đặt với Ubuntu — không phải SpeechRecognition hoặc PyAudio. Trên thực tế, những thông báo này có thể chỉ ảnh hưởng đến cấu hình ALSA của bạn, nhưng theo kinh nghiệm của tôi, chúng không ảnh hưởng đến chức năng của mã của bạn. Họ hầu hết là một mối tình

các 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
06Lớp

Mở một phiên bản thông dịch khác và tạo một phiên bản của lớp nhận định dạng

>>>

>>> r = sr.Recognizer[]
1

Bây giờ, thay vì sử dụng tệp âm thanh làm nguồn, bạn sẽ sử dụng mô hình hệ thống mặc định. Bạn có thể truy cập điều này bằng cách tạo ra một thể hiện của lớp

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
06

>>>

>>> r = sr.Recognizer[]
2

Nếu hệ thống của bạn không có giấc ngủ mặc định [bất định như trên Raspberry Pi ] hoặc bạn muốn sử dụng giấc ngủ khác với giấc ngủ mặc định, thì bạn sẽ cần chỉ có giấc mơ sẽ sử dụng bằng cách cung cấp chỉ mục thiết bị. Bạn có thể lấy danh sách tên nương tựa bằng cách gọi 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
08 thức tĩnh của 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
06 layer

>>>

>>> r = sr.Recognizer[]
3

Lưu ý rằng đầu ra của bạn có thể khác với ví dụ trên

Chỉ mục thiết bị của nương tựa chỉ là mục tên của nương tựa trong danh sách được trả về

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
10Ví dụ. với đầu ra ở trên, nếu bạn muốn sử dụng nương tựa có tên “phía trước”, chỉ có số 3 trong danh sách, bạn sẽ tạo ra ví dụ như thế này

>>>

>>> r = sr.Recognizer[]
4

Tuy nhiên, đối với hầu hết các dự án, có thể bạn sẽ muốn sử dụng hệ thống mặc định

Sử dụng 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
11 để chụp đầu vào khoảng trống

Bây giờ bạn đã có một 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
06phiên bản sẵn sàng để sử dụng, đã đến lúc nắm bắt một số thông tin vào đầu

Cũng giống như 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
55 layer học, 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
06là một trình quản lý ngữ cảnh. Bạn có thể bắt đầu từ gật đầu bằng cách sử dụng 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
11 phương thức của 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
1 lớp bên trong 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
79khối. Phương thức này lấy nguồn âm thanh làm đối số đầu tiên của nó và ghi lại từ nguồn cho đến khi phát hiện ra sự im lặng.

>>>

>>> r = sr.Recognizer[]
5

Sau khi bạn thực hiện 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
79khối, hãy thử nói “xin chào” vào khoảng trống của bạn. Chờ một chút để nhắc nhở thông tin thành viên hiển thị lại. Khi lời nhắc “>>>” Trả về, bạn đã sẵn sàng nhận dạng bài phát biểu

>>>

>>> r = sr.Recognizer[]
6

Nếu lời nhắc nhở không bao giờ quay trở lại, rất có thể lúp xúp của bạn đang nhận được quá nhiều tiếng ồn ào xung quanh. Bạn có thể làm gián đoạn quá trình bằng + ctrl + c ++ để lấy lại lời nhắc

Để xử lý tiếng ồn xung quanh, bạn cần sử dụng 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
55 phương pháp của 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
1 lớp, giống như bạn đã làm khi cố gắng tìm hiểu tệp âm thanh bị nhiễu. Vì đầu vào từ nương tựa dự đoán nhiều hơn nên đầu vào từ tệp âm thanh, nên thực hiện điều này bất cứ lúc nào bạn nghe đầu vào nương tựa

>>>

>>> r = sr.Recognizer[]
7

Sau khi mã chạy trên, hãy đợi một giây 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
55 để thực hiện công việc của nó, sau đó thử nói “xin chào” vào trống. Một lần nữa, bạn sẽ phải đợi một lúc để lời nhắc của thông dịch viên quay lại trước khi cố gắng nhận dạng bài phát biểu

Nhớ lại rằng 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
55phân tích nguồn âm thanh trong một giây. Nếu điều này có vẻ quá dài đối với bạn, vui lòng điều chỉnh điều này bằng 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
75đối số từ khóa

Tài liệu SpeechRecognition khuyến mãi thời lượng sử dụng không dưới 0,5 giây. Trong một số trường hợp, bạn có thể thấy rằng thời lượng dài hơn mặc định là một giây tạo ra kết quả tốt hơn. Giá trị tối thiểu bạn cần tùy thuộc vào môi trường xung đột của khu rừng. Thật không may, thông tin này thường không được biết trong quá trình phát triển. Theo kinh nghiệm của tôi, thời lượng mặc định là một giây là đủ cho hầu hết các ứng dụng

Xử lý giọng nói không thể nhận định dạng

Hãy thử nhập ví dụ mã trước đó vào bộ ngắt âm thanh và tạo ra một số tiếng ồn khó hiểu vào khu nghỉ dưỡng. Bạn sẽ nhận được một cái gì đó như thế này để phản hồi

>>> r = sr.Recognizer[]
8

Âm thanh mà API không thể khớp với văn bản sẽ tạo ra một 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
24 ngoại lệ. Bạn nên luôn đóng gói các lệnh gọi tới API bằng 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
25và 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
26các khối để xử lý ngoại lệ này

Lưu ý. You could have to try more than expected to have a exception. API hoạt động rất chăm chỉ để phiên bản bất kỳ âm thanh nào. Ngay cả những tiếng càu nhàu ngắn cũng được phiên âm thành những từ như "làm thế nào" đối với tôi. Tiếng trống tay và tiếng trống sẽ liên tục làm tăng ngoại lệ

Kết hợp tất cả lại với nhau. Trò chơi “Đoán từ”

Bây giờ bạn đã thấy những kiến ​​thức cơ bản về nhận dạng giọng nói với gói SpeechRecognition, hãy sử dụng kiến ​​thức mới học của bạn và viết một trò chơi nhỏ chọn ngẫu nhiên từ danh sách và cho người dùng

Đây là toàn bộ kịch bản

>>> r = sr.Recognizer[]
9

Hãy phá vỡ điều đó một chút

Các 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
27chức năng phải mất một 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
1và 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
06ví dụ như các đối số và trả về một cuốn từ điển với ba phím. First key 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
30, is a boolean for know API request has Successful or not. Khóa thứ hai ________ 131, là ________ 132 hoặc một thông báo lỗi cho biết rằng API không khả dụng hoặc giọng nói không thể hiểu được. Cuối cùng, 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
33phím bao gồm phần phiên âm của thanh âm được viết bởi nương

Trước tiên, hàm sẽ kiểm tra xem các đối số 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
34và 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
35đối số phải là loại chính xác hay không và tăng một 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
36 nếu một trong hai không hợp lệ

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
10

Sau đó, 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
11 method method used to write back start into the tạm dịch

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
11

Phương pháp

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
55 được sử dụng để chỉnh sửa nhận dạng định dạng cho công việc thay đổi điều kiện tiếng ồn mỗi khi
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
27hàm được gọi

Tiếp theo, 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
7được gọi để phiên âm bất kỳ bài phát biểu nào trong bản ghi âm. Một 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
41khối được sử dụng để bắt 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
27và 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
24 ngoại lệ và xử lý cho phù hợp. Sự thành công của các yêu cầu API, bất kỳ thông báo lỗi và bài phát biểu sao chép đã được lưu trữ trong 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
44, 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
45và 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
46phím của 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
47từ điển, mà sẽ được trả về bởi các 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
27chức năng

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
12

Bạn có thể kiểm tra 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
27chức năng bằng cách lưu lệnh trên tệp vào tệp có tên “đoáning_game. py” và chạy phần sau trong một phiên dịch

>>>

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
13

Bản thân trò chơi khá đơn giản. Đầu tiên, một danh sách các từ, số lượng dự đoán được phép tối đa và giới hạn nhanh chóng được công bố

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
14

Tiếp theo, một 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
1và 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
06có thể được tạo ra và một ngẫu nhiên được chọn từ 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
52

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
15

Sau khi theo một số hướng dẫn và chờ đợi trong 3 giây, một 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
53 vòng lặp được sử dụng để quản lý từng nỗ lực dự đoán từ người dùng đã chọn. Điều khiển đầu tiên bên trong 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
53 vòng lặp là một 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
53 vòng lặp khác nhắc người dùng 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
56đoán nhiều lần nhất , cố gắng nhận định dạng đầu vào mỗi lần bằng 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
27hàm và từ điển lưu trữ biến cục bộ 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
58

Nếu 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
33 khóa của 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
58không phải 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
32, thì bài phát biểu của người dùng là phiên âm và vòng lặp bên trong được kết thúc bằng 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
62. Nếu bài phát biểu không có phiên bản âm thanh và 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
30 lock được đặt thành 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
64, thì API lỗi đã xảy ra và vòng lặp lại kết thúc với 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
62. Nếu không, yêu cầu API đã thành công nhưng không thể nhận định dạng được nói. Người dùng bị cảnh báo và 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
53 vòng lặp lặp lại, cho người dùng một cơ hội khác trong lần thử hiện tại

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
16

Khi 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
53 loop vòng trong kết thúc, 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
58từ điển sẽ bị kiểm tra lỗi. Nếu có bất kỳ điều gì xảy ra, thông báo lỗi sẽ được hiển thị và 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
53 Vòng lặp bên ngoài được kết thúc 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
62, điều này sẽ kết thúc quá trình thực thi chương trình

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
17

Nếu không có bất kỳ lỗi nào, phiên bản âm thanh sẽ được so sánh với từ được chọn ngẫu nhiên. Các 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
71 phương pháp cho các chuỗi đối tượng được sử dụng để đảm bảo phù hợp hơn về dự đoán từ lựa chọn. API có thể trả lời lời nói khớp với từ “apple” là “Apple” hoặc “apple” và một trong hai câu trả lời sẽ được tính là một câu trả lời đúng

Nếu đoán đúng, người dùng sẽ thắng và trò chơi kết thúc. Nếu người dùng không chính xác và vẫn còn bất kỳ lần thử nào, 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
53 vòng bên ngoài sẽ lặp lại và một dự đoán mới được truy xuất. Nếu không, người dùng sẽ mất trò chơi

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
18

Khi chạy, đầu ra sẽ giống như sau

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
19

Tóm tắt và bổ sung tài nguyên

Trong hướng dẫn này, bạn đã biết cách cài đặt gói SpeechRecognition và sử dụng 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
1 lớp của nó để dễ dàng nhận dạng giọng nói từ cả tệp — bằng cách sử dụng 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
57—và đầu vào nơ — 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
75 bằng cách sử dụng các đối số từ khóa

Bạn đã thấy ảnh hưởng của tiếng ồn có thể đối lập với độ chính xác của các phiên bản âm thanh và đã học cách điều chỉnh 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
1 độ nhạy của một phiên bản đối lập với tiếng ồn xung quanh.
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
80Bạn cũng đã biết những ngoại lệ nào mà một 
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
1phiên bản có thể gây ra— 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
27đối với các API yêu cầu không hợp lệ và 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
83đối với giọng nói khó hiểu — và cách xử lý những điều này với 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
41các khối

Nhận dạng giọng nói là một chủ đề sâu sắc và những gì bạn đã học ở đây hầu như không làm nổi bề mặt. Nếu bạn muốn tìm hiểu thêm, đây là một số tài nguyên bổ sung

Phần thưởng miễn phí. Truy cập vào đây để tải xuống dự án mẫu nhận dạng giọng nói Python với mã nguồn đầy đủ mà bạn có thể sử dụng làm cơ sở cho các ứng dụng nhận dạng giọng nói của riêng mình

To know more information about packet SpeechRecognition

  • Thư viện tham khảo
  • Các ví dụ
  • Trang phục sự cố

Một số tài nguyên Internet thú vị

  • Phía sau trống. Khoa học nói chuyện với máy tính. Một đoạn phim ngắn về xử lý giọng nói của Google
  • Quan điểm lịch sử về nhận dạng giọng nói của Huang, Baker và Reddy. Truyền thông của ACM [2014]. Bài viết này cung cấp cái nhìn sâu sắc và học thuật về sự phát triển của công nghệ nhận dạng giọng nói
  • Quá khứ, hiện tại và tương lai của công nghệ nhận dạng giọng nói của Clark Boyd tại The Startup. Bài đăng trên blog này trình bày tổng quan về công nghệ nhận dạng giọng nói, với một số suy nghĩ về tương lai

Một số sách hoặc về nhận định dạng giọng nói

  • Voice in the host. Xây dựng máy tính nghe nói , Pieraccini, MIT Press [2012]. Một cuốn sách dành cho các đối tượng phổ biến có thể truy cập thông tin được bao gồm cả lịch sử cũng như những tiến bộ hiện đại trong xử lý giọng nói
  • Các nguyên tắc cơ bản về nhận dạng giọng nói , Rabiner và Juang, Prentice Hall [1993]. Rabiner, một nhà nghiên cứu tại Bell Labs, là người có công trong việc thiết kế một số công cụ nhận dạng nghe nói khả thi về mặt thương mại đầu tiên. Cuốn sách này đã hơn 20 tuổi, nhưng rất nhiều nguyên tắc cơ bản vẫn được giữ nguyên
  • Nhận định dạng giọng nói tự động. Phương pháp tiếp cận học tập sâu, Yu và Deng, Springer [2014]. Yu và Deng là những nhà nghiên cứu tại Microsoft và cả hai đều rất tích cực trong lĩnh vực xử lý giọng nói. Cuốn sách này bao gồm rất nhiều phương pháp tiếp cận đại và nghiên cứu tiên tiến nhưng không dành cho những người yếu tim về toán học

Lục phụ. Nhận dạng giọng nói bằng các ngôn ngữ khác ngoài tiếng Anh

Trong suốt hướng dẫn này, chúng tôi đã nhận định dạng giọng nói bằng tiếng Anh, là ngôn ngữ được định nghĩa mặc định cho mỗi 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
24 phương pháp của gói SpeechRecognition. Tuy nhiên, bạn hoàn toàn có thể nhận dạng giọng nói bằng các ngôn ngữ khác và khá đơn giản để thực hiện

Để nhận dạng giọng nói bằng một ngôn ngữ khác, hãy đặt 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
86đối số từ khóa của 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
24 thức thành một chuỗi tương ứng với ngôn ngữ mong muốn. Hầu hết các phương pháp đều chấp nhận thẻ ngôn ngữ BCP-47, chẳng hạn như 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
88tiếng Anh Mỹ hoặc 
>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
89tiếng Pháp. Ví dụ. phần sau nhận định dạng nói tiếng Pháp trong tệp âm thanh

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
0

Chỉ các phương thức sau khi chấp nhận 

>>> import speech_recognition as sr
>>> sr.__version__
'3.8.1'
86đối số từ khóa

  • Traceback [most recent call last]:
      File "", line 1, in 
    TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
    
    6
  • Traceback [most recent call last]:
      File "", line 1, in 
    TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
    
    7
  • Traceback [most recent call last]:
      File "", line 1, in 
    TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
    
    8
  • >>> import speech_recognition as sr
    >>> sr.__version__
    '3.8.1'
    
    20
  • >>> import speech_recognition as sr
    >>> sr.__version__
    '3.8.1'
    
    21

Để biết những thẻ ngôn ngữ API nào bạn đang sử dụng được hỗ trợ, bạn phải tham khảo tài liệu tương ứng. You 

Traceback [most recent call last]:
  File "", line 1, in 
TypeError: recognize_google[] missing 1 required positional argument: 'audio_data'
7có thể tìm thấy danh sách các thẻ được nhận trong câu trả lời Stack Overflow này

Chủ Đề