Mục lục:

Nhận dạng giọng nói bằng cách sử dụng API giọng nói của Google và Python: 4 bước
Nhận dạng giọng nói bằng cách sử dụng API giọng nói của Google và Python: 4 bước

Video: Nhận dạng giọng nói bằng cách sử dụng API giọng nói của Google và Python: 4 bước

Video: Nhận dạng giọng nói bằng cách sử dụng API giọng nói của Google và Python: 4 bước
Video: Bài 12. Trợ lý ảo trên Python - Nhận diện giọng nói (Lập trình Python cơ bản - TDF) 2024, Tháng mười một
Anonim
Nhận dạng giọng nói bằng cách sử dụng API giọng nói của Google và Python
Nhận dạng giọng nói bằng cách sử dụng API giọng nói của Google và Python

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

Nhận dạng giọng nói là một phần của Xử lý ngôn ngữ tự nhiên, một trường con của Trí tuệ nhân tạo. Nói một cách đơn giản, nhận dạng giọng nói là khả năng của một phần mềm máy tính xác định các từ và cụm từ trong ngôn ngữ nói và chuyển chúng thành văn bản có thể đọc được của con người. Nó được sử dụng trong một số ứng dụng như hệ thống trợ lý giọng nói, tự động hóa gia đình, chatbots dựa trên giọng nói, robot tương tác bằng giọng nói, trí tuệ nhân tạo, v.v.

Có các API khác nhau (Giao diện lập trình ứng dụng) để nhận dạng giọng nói. Họ cung cấp các dịch vụ miễn phí hoặc trả phí. Đó là:

  • CMU Sphinx
  • Nhận dạng giọng nói của Google
  • API giọng nói đám mây của Google
  • Wit.ai
  • Nhận dạng giọng nói Microsoft Bing
  • Houndify API
  • IBM Speech To Text
  • Phát hiện từ nóng Snowboy

Chúng tôi sẽ sử dụng tính năng Nhận dạng giọng nói của Google tại đây, vì nó không yêu cầu bất kỳ khóa API nào. Hướng dẫn này nhằm cung cấp giới thiệu về cách sử dụng thư viện Nhận dạng giọng nói của Google trên Python với sự trợ giúp của micrô bên ngoài như ReSpeaker USB 4-Mic Array từ Seeed Studio. Mặc dù không bắt buộc phải sử dụng micrô bên ngoài, ngay cả micrô tích hợp của máy tính xách tay cũng có thể được sử dụng.

Bước 1: ReSpeaker USB 4-Mic Array

ReSpeaker USB 4-Mic Array
ReSpeaker USB 4-Mic Array
ReSpeaker USB 4-Mic Array
ReSpeaker USB 4-Mic Array
ReSpeaker USB 4-Mic Array
ReSpeaker USB 4-Mic Array

ReSpeaker USB Mic là thiết bị bốn micrô được thiết kế cho các ứng dụng AI và giọng nói, được phát triển bởi Seeed Studio. Nó có 4 micrô đa hướng tích hợp, hiệu suất cao được thiết kế để thu giọng nói của bạn từ mọi nơi trong phòng và 12 đèn báo LED RGB có thể lập trình. Micrô USB ReSpeaker hỗ trợ hệ điều hành Linux, macOS và Windows. Thông tin chi tiết có thể được tìm thấy ở đây.

Mic USB ReSpeaker đi kèm trong một gói đẹp có chứa các mục sau:

  • Hướng dẫn sử dụng
  • ReSpeaker USB Mic Array
  • Cáp Micro USB sang USB

Vì vậy, chúng tôi đã sẵn sàng để bắt đầu.

Bước 2: Cài đặt các thư viện bắt buộc

Đối với hướng dẫn này, tôi giả sử bạn đang sử dụng Python 3.x.

Hãy cài đặt các thư viện:

pip3 cài đặt SpeechRecognition

Đố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 pip3:

pha cài đặt portaudio

Chúng tôi chạy lệnh dưới đây để cài đặt pyaudio

pip3 cài đặt pyaudio

Đối với Linux, bạn có thể cài đặt PyAudio với apt:

sudo apt-get install python-pyaudio python3-pyaudio

Đối với Windows, bạn có thể cài đặt PyAudio bằng pip:

pip cài đặt pyaudio

Tạo một tệp python mới

nano get_index.py

Dán vào get_index.py đoạn mã bên dưới:

nhập pyaudio

p = pyaudio. PyAudio () info = p.get_host_api_info_by_index (0) numdevices = info.get ('deviceCount') cho tôi trong phạm vi (0, numdevices): if (p.get_device_info_by_host_api_device_index (0, i).get ('maxInputChannels '))> 0: print ("Id thiết bị đầu vào", i, "-", p.get_device_info_by_host_api_device_index (0, i).get (' name '))

Chạy lệnh sau:

python3 get_index.py

Trong trường hợp của tôi, lệnh đưa ra kết quả sau ra màn hình:

Id thiết bị đầu vào 1 - Mảng micrô 4 loa ReSpeaker (UAC1.0)

Id thiết bị đầu vào 2 - Micrô MacBook Air

Thay đổi device_index thành số chỉ mục theo lựa chọn của bạn trong đoạn mã bên dưới.

import speech_recognition dưới dạng sr

r = sr. Recognizer () speech = sr. Microphone (device_index = 1) với lời nói là nguồn: print ("nói gì đó!…") audio = r.adjust_for_ambient_noise (source) audio = r.listen (source) try: regg = r.recognize_google (audio, language = 'en-US') print ("Bạn đã nói:" + recovery) ngoại trừ sr. UnknownValueError: print ("Google Speech Recognition không thể hiểu âm thanh") ngoại trừ sr. RequestError as e: print ("Không thể yêu cầu kết quả từ dịch vụ Nhận dạng giọng nói của Google; {0}". Format (e))

Chỉ mục thiết bị được chọn 1 do Mảng Micrô ReSpeaker 4 sẽ là nguồn chính.

Bước 3: Chuyển văn bản thành giọng nói bằng Python với Thư viện Pyttsx3

Có một số API có sẵn để chuyển văn bản thành giọng nói trong python. Một trong những API như vậy là pyttsx3, đây là gói chuyển văn bản thành giọng nói tốt nhất hiện có theo quan điểm của tôi. Gói này hoạt động trên Windows, Mac và Linux. Kiểm tra tài liệu chính thức để xem cách này được thực hiện như thế nào.

Cài đặt gói Sử dụng pip để cài đặt gói.

pip cài đặt pyttsx3

Nếu bạn đang sử dụng Windows, bạn sẽ cần một gói bổ sung, pypiwin32 mà nó sẽ cần để truy cập API giọng nói gốc của Windows.

pip cài đặt pypiwin32

Chuyển văn bản thành giọng nói python script Dưới đây là đoạn mã cho văn bản thành giọng nói bằng cách sử dụng pyttsx3:

nhập pyttsx3

engine = pyttsx3.init ()

engine.setProperty ('rate', 150) # Phần trăm tốc độ

engine.setProperty ('volume', 0.9) # Volume 0-1

engine.say ("Xin chào, thế giới!")

engine.runAndWait ()

Bước 4: Kết hợp tất cả lại: Xây dựng tính năng nhận dạng giọng nói với Python bằng cách sử dụng API nhận dạng giọng nói của Google và Thư viện Pyttsx3

Đoạn mã dưới đây chịu trách nhiệm nhận dạng giọng nói của con người bằng tính năng Nhận dạng giọng nói của Google và chuyển đổi văn bản thành giọng nói bằng thư viện pyttsx3.

import speech_recognition dưới dạng sr

import pyttsx3 engine = pyttsx3.init () engine.setProperty ('rate', 200) engine.setProperty ('volume', 0.9) r = sr. Recognizer () speech = sr. Microphone (device_index = 1) với giọng nói là nguồn: audio = r.adjust_for_ambient_noise (source) audio = r.listen (source) try: reg = r.recognize_google (audio, language = 'en-US') print ("Bạn đã nói:" + retg) engine.say (" Bạn đã nói: "+ recg) engine.runAndWait () ngoại trừ sr. UnknownValueError: engine.say (" Google Speech Recognition không thể hiểu âm thanh ") engine.runAndWait () ngoại trừ sr. RequestError as e: engine.say (" Không thể yêu cầu kết quả từ dịch vụ Nhận dạng giọng nói của Google; {0} ". format (e)) engine.runAndWait ()

Nó in đầu ra trên thiết bị đầu cuối. Ngoài ra, nó cũng sẽ được chuyển đổi thành giọng nói.

Bạn đã nói: London là thủ đô của Vương quốc Anh

Tôi hy vọng bây giờ bạn đã hiểu rõ hơn về cách hoạt động của tính năng nhận dạng giọng nói nói chung và quan trọng nhất là cách triển khai điều đó bằng cách sử dụng API nhận dạng giọng nói của Google với Python.

Nếu bạn có bất kỳ câu hỏi hoặc phản hồi nào? Để lại bình luận bên dưới. Giữ nguyên!

Đề xuất: