Hướng dẫn nhận dạng giọng nói trong Python

Hướng dẫn nhận dạng giọng nói trong Python

Rate this post

Chào mừng bạn đến với Hướng dẫn nhận dạng giọng nói Python của chúng tôi . Trong hướng dẫn về AI với tính năng Nhận dạng giọng nói Python này , chúng ta sẽ học cách đọc tệp âm thanh bằng Python. Chúng tôi sẽ sử dụng API nhận dạng giọng nói để thực hiện tác vụ này. Hơn nữa, chúng ta sẽ thảo luận về việc đọc một phân đoạn và xử lý tiếng ồn.

Các bài viết liên quan:

Vì vậy, hãy bắt đầu Hướng dẫn nhận dạng giọng nói Python.

Hướng dẫn nhận dạng giọng nói trong Python

Nhận dạng giọng nói Python là gì?

Từ hệ thống hỗ trợ người nói đơn lẻ và kho từ vựng hạn chế khoảng chục từ, đến hệ thống nhận dạng từ nhiều người nói và sở hữu kho từ vựng khổng lồ bằng nhiều ngôn ngữ khác nhau, chúng tôi đã đi được một chặng đường dài.

Những gì chúng tôi làm ở đây là – chúng tôi chuyển đổi giọng nói từ âm thanh vật lý sang tín hiệu điện bằng cách sử dụng micrô. Sau đó, chúng tôi sử dụng một bộ chuyển đổi tương tự sang kỹ thuật số để chuyển đổi dữ liệu này sang dữ liệu kỹ thuật số.

Cuối cùng, chúng tôi sử dụng nhiều mô hình để chuyển âm thanh thành văn bản. Trong Mô hình Markov ẩn (HMM) , chúng tôi chia tín hiệu giọng nói thành các đoạn 10 mili giây.

Các API có sẵn trong Nhận dạng giọng nói Python

Với Python, chúng tôi có sẵn một số API:

  • apiai
  • assemblyai
  • google-cloud-speech
  • nhân sư bỏ túi
  • Nhận dạng giọng nói
  • watson-developer-cloud
  • mưu mẹo

Một số gói Python như wit và apiai cung cấp nhiều thứ hơn là chỉ nhận dạng giọng nói cơ bản. Tuy nhiên, ở đây, chúng tôi sẽ trình diễn SpeechRecognition, dễ sử dụng hơn. Mã cứng này mã hóa một khóa API mặc định cho API Google Web Speech.

Các loại tệp được hỗ trợ trong nhận dạng giọng nói Python

  • Định dạng WAV- PCM / LPCM
  • AIFF
  • AIFF-C
  • FLAC

Điều kiện tiên quyết để nhận dạng giọng nói Python

Bạn có thể sử dụng pip để cài đặt cái này

pip install SpeechRecognition

Để kiểm tra cài đặt, bạn có thể nhập dữ liệu này vào trình thông dịch và kiểm tra phiên bản

import speech_recognition as sr
sr.__version__

Chúng ta cũng tải xuống âm thanh mẫu từ đây-

http://www.voiptroubleshooter.com/open_speech/american.html

Đọc tệp âm thanh bằng Python

Lớp nhận dạng

Đầu tiên, chúng ta tạo một thể hiện của lớp Recognizer.

r=sr.Recognizer()

Với Recognizer, chúng tôi có một phương thức cho mỗi API-

  • Recog_ing_bing () – Microsoft Bing Speech
  • Recog_google () – API giọng nói trên web của Google
  • Recog_google_cloud () – Google Cloud Speech
  • công nhận_houndify () – Houndify
  • accept_ibm () – IBM Speech to Text
  • recognize_sphinx- CMU Sphinx
  • công nhận_wit () – Wit.ai

Ngoại trừ Recog_sphinx (), bạn cần có kết nối Internet cho bất kỳ thứ gì khác mà bạn đang làm việc.

Thu thập dữ liệu với record ()

Chúng tôi có thể yêu cầu trình quản lý ngữ cảnh mở tệp và đọc nội dung của nó, sau đó ghi lại nó vào một phiên bản AudioData.

demo=sr.AudioFile('demo.wav')
with demo as source:
       audio=r.record(source)

Để xác nhận điều này, hãy thử:

type(audio)

Nhận dạng giọng nói trong âm thanh

Cuối cùng, bạn có thể gọi Recog_google () để thực hiện phiên âm.

r.recognize_google(audio)

“The Purge có thể sử dụng trong tờ The Smurfs mà không cần phát lại Gắn kết môi trường sống ngày giao hàng của một Vow những ngày này không sao các thiết bị lò vi sóng được cài đặt trong Windows để sử dụng chanh tiếp theo hãy tìm mật khẩu trên trang web mà chúng chứa lõi cứng như vậy trong thùng rác. bài tập chính của nghiên cứu nói chuyện là đĩa cứng ”

Chà, bạn có thể đọc âm thanh của một ngôn ngữ khác bằng cách sử dụng tham số ngôn ngữ-

r.recognize_google(audio,language='ro-RO') #for Romanian

Đọc một đoạn âm thanh

Khi bạn chỉ muốn đọc một phần của tệp âm thanh của mình, bạn có thể sử dụng bù đối số – cho biết vị trí bắt đầu (tính bằng giây) và thời lượng – cho biết thời lượng nghe.

with demo as source:
       audio=r.record(source,offset=4,duration=3)
r.recognize_google(audio)

Lưu ý rằng điều này gây ra vấn đề ở các cực. Nó nghe thấy ‘âm u’, nó được dịch thành ‘rõ ràng’. Nó cũng nghe thấy ‘tôi quay lại’ thay vì ‘phát lại’ vì tiếng ồn trong âm thanh.

Nếu chúng ta đặt offset thành 3,3

with demo as source:
       audio=r.record(source,offset=3.3,duration=3)
r.recognize_google(audio)

Nhưng hãy kiểm tra điều gì sẽ xảy ra khi chúng tôi đặt độ lệch thành 2,5-

with demo as source:
       audio=r.record(source,offset=2.5,duration=3)
r.recognize_google(audio)

Xử lý tiếng ồn

Được rồi, hãy đối mặt với nó. Sẽ luôn có tiếng ồn, bất kể bạn sử dụng thiết bị chuyên nghiệp như thế nào để ghi lại âm thanh của mình. Vì vậy, tốt hơn chúng ta hãy học cách đối phó với nó.

Phương thức Adjust_for_ambient_noise () đọc giây đầu tiên của luồng tệp để hiệu chỉnh trình nhận dạng theo mức tiếng ồn của âm thanh. Điều này thường sử dụng phần âm thanh đó và nó không có trong bản chép lời.

with demo as source:
       r.adjust_for_ambient_noise(source)
       audio=r.record(source,offset=2.5,duration=3)
r.recognize_google(audio)

Chúng tôi có thể cung cấp cho điều này một đối số về thời gian nó sẽ lắng nghe tiếng ồn để nó có thể hiệu chỉnh bộ nhận dạng. Hãy xem cách nó tạo ra hai đầu ra hoàn toàn khác nhau với mức chênh lệch thấp tới 0,005-

with demo as source:
       r.adjust_for_ambient_noise(source,duration=0.51)
       audio=r.record(source,offset=2.5,duration=3)
r.recognize_google(audio)
with demo as source:
       r.adjust_for_ambient_noise(source,duration=0.515)
       audio=r.record(source,offset=2.5,duration=3)
r.recognize_google(audio)

Như bạn có thể thấy, Adjust_for_ambient_noise () chắc chắn không phải là một nhân tố thần kỳ. Để giải quyết vấn đề này, bạn có thể sử dụng phần mềm chỉnh sửa âm thanh như Audacity để xử lý trước âm thanh.

Làm việc với micrô

Để có thể làm việc với giọng nói của chính bạn với tính năng nhận dạng giọng nói, bạn cần có gói PyAudio. Bạn có thể cài đặt nó bằng pip-

pip install PyAudio

Hoặc bạn có thể tải xuống và cài đặt mã nhị phân bằng pip. Liên kết tải xuống-

https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio

Sau đó:

pip install [file_name_for_binary]

Lớp Micrô

Giống như Trình nhận dạng cho tệp âm thanh, chúng ta sẽ cần Micrô cho dữ liệu giọng nói thời gian thực. Vì chúng tôi đã cài đặt các gói mới, hãy thoát khỏi trình thông dịch của chúng tôi và mở một phiên khác.

import speech_recognition as sr
r=sr.Recognizer()

Bây giờ, hãy tạo một phiên bản của Microphone.

mic=sr.Microphone()

Micrô có một phương thức tĩnh để liệt kê tất cả các micrô có sẵn-

sr.Microphone.list_microphone_names()

Giờ đây, có thể chọn một micrô nhất định theo chỉ mục thiết bị của nó với đoạn mã sau đây-

mic=sr.Microphone(device_index=3)

Nhưng bây giờ hãy gắn bó với mặc định.

Bắt đầu vào micrô

Với trình quản lý ngữ cảnh, chúng tôi nắm bắt thông tin đầu vào bằng phương thức nghe ().

with mic as source:
          audio=r.listen(source)

Bây giờ bạn sẽ nói vào micrô của mình. Khi nó phát hiện ra sự im lặng, nó sẽ ngừng nghe. Sau đó, nó sẽ hiển thị lời nhắc thông dịch viên (>>>).

r.recognize_google(audio)

hoàn thành thử nghiệm

Bạn cũng có thể gọi phương thức Adjust_for_ambient_noise () bằng Micrô.

with mic as source:
         r.adjust_for_ambient_noise(source)
         audio=r.listen(source)
r.recognize_google(audio)

đây là một bài kiểm tra

Bài phát biểu không đủ điều kiện

Khi Python không thể khớp một số âm thanh với văn bản, nó sẽ tạo ra một ngoại lệ UnknownValueError.

r.recognize_google(audio)

Truy xuất error (lần gọi gần đây nhất):

Hướng dẫn nhận dạng giọng nói trong Python

Một số đoạn âm thanh dẫn đến điều này sẽ là âm thanh ho, âm thanh nôn mửa, tiếng vỗ tay và tiếng tặc lưỡi.

Vì vậy, đây là tất cả trong Nhận dạng giọng nói Python. Hy vọng bạn thích giải thích của chúng tôi.

Sự kết luận

Bạn có thấy việc nhận dạng giọng nói với Python dễ dàng như thế nào không? Các API đã làm cho điều đó trở nên khả thi. Chà, tại sao chúng tôi lại đưa cái này vào phần hướng dẫn AI thì không cần giải thích. Nhận dạng giọng nói trong Python là một phần không thể thiếu của Trí tuệ nhân tạo.

Siri hoặc Alexa sẽ ra sao nếu không có nó ?. Vì vậy, trong phần kết luận cho tính năng Nhận dạng giọng nói Python này, chúng tôi đã thảo luận về API Nhận dạng giọng nói để đọc tệp Âm thanh bằng Python.

Hơn nữa, chúng tôi đã thấy việc đọc một phân đoạn và xử lý tiếng ồn trong hướng dẫn Python nhận dạng giọng nói. Bạn có thể thoải mái cho chúng tôi biết trải nghiệm đọc bài viết này thông qua các bình luận.

Leave a Reply