Nhận dạng giọng nói là một tính năng quan trọng trong một số ứng dụng được sử dụng như tự động hóa gia đình, trí tuệ nhân tạo, v.v. Bài viết này nhằm giới thiệu về cách sử dụng thư viện SpeechRecognition của Python. Điều này rất hữu ích vì nó có thể được sử dụng trên các bộ vi điều khiển như Raspberry Pi với sự trợ giúp của micrô bên ngoài
Cài đặt cần thiết
Sau đây phải được cài đặt
Mô-đun nhận dạng giọng nói Python.
sudo pip install SpeechRecognition
PyAudio. Sử dụng lệnh sau cho người dùng Linux
sudo apt-get install python-pyaudio python3-pyaudio
Nếu các phiên bản trong kho quá cũ, hãy cài đặt pyaudio bằng lệnh sau
sudo apt-get install portaudio19-dev python-all-dev python3-all-dev && sudo pip install pyaudio
Sử dụng pip3 thay vì pip cho python3. Người dùng Windows có thể cài đặt pyaudio bằng cách thực hiện lệnh sau trong một thiết bị đầu cuối
pip install pyaudio
Nhập giọng nói bằng micrô và dịch lời nói thành văn bản
- Định cấu hình Micrô [Đối với micrô bên ngoài]. Nên chỉ định micrô trong chương trình để tránh bất kỳ trục trặc nào. Nhập lsusb vào thiết bị đầu cuối cho LInux và bạn có thể sử dụng Get-PnpDevice -PresentOnly của PowerShell. Đối tượng ở đâu { $_. Lệnh InstanceId -match ‘^USB’ } để liệt kê các thiết bị USB được kết nối. Một danh sách các thiết bị được kết nối sẽ hiển thị. Tên micrô sẽ trông như thế này
USB Device 0x46d:0x825: Audio [hw:1, 0]
- Ghi lại điều này vì nó sẽ được sử dụng trong chương trình
- Đặt kích thước khối. Về cơ bản, điều này liên quan đến việc chỉ định số lượng byte dữ liệu chúng tôi muốn đọc cùng một lúc. Thông thường, giá trị này được chỉ định theo lũy thừa của 2, chẳng hạn như 1024 hoặc 2048
- Đặt tốc độ lấy mẫu. Tỷ lệ lấy mẫu xác định tần suất các giá trị được ghi lại để xử lý
- Đặt ID thiết bị cho micrô đã chọn. Ở bước này, chúng ta chỉ định ID thiết bị của micrô muốn sử dụng để tránh nhập nhằng trong trường hợp có nhiều micrô. Điều này cũng giúp gỡ lỗi, theo nghĩa là trong khi chạy chương trình, chúng tôi sẽ biết liệu micrô đã chỉ định có được nhận dạng hay không. Trong chương trình, chúng tôi chỉ định một tham số device_id. Chương trình sẽ nói rằng không thể tìm thấy device_id nếu micrô không được nhận dạng
- Cho phép điều chỉnh tiếng ồn xung quanh. Vì tiếng ồn xung quanh thay đổi, chúng ta phải cho chương trình một hoặc hai giây để điều chỉnh ngưỡng năng lượng ghi để nó được điều chỉnh theo mức độ tiếng ồn bên ngoài
- Lời nói để dịch văn bản. Điều này được thực hiện với sự trợ giúp của Google Speech Recognition. Điều này yêu cầu kết nối internet đang hoạt động để hoạt động. Tuy nhiên, có một số hệ thống Nhận dạng ngoại tuyến nhất định như PocketSphinx, có quy trình cài đặt rất nghiêm ngặt, yêu cầu một số phụ thuộc. Google Speech Recognition là một trong những công cụ dễ sử dụng nhất
Xử lý sự cố
Các vấn đề sau thường gặp phải
Micrô bị tắt tiếng. Điều này dẫn đến đầu vào không được nhận. Để kiểm tra điều này, bạn có thể sử dụng alsamixer. Nó có thể được cài đặt bằng cách sử dụng
sudo apt-get install libasound2 alsa-utils alsa-oss
Loại máy trộn. Đầu ra sẽ trông giống như thế này
Simple mixer control 'Master', 0 Capabilities: pvolume pswitch pswitch-joined Playback channels: Front Left - Front Right Limits: Playback 0 - 65536 Mono: Front Left: Playback 41855 [64%] [on] Front Right: Playback 65536 [100%] [on] Simple mixer control 'Capture', 0 Capabilities: cvolume cswitch cswitch-joined Capture channels: Front Left - Front Right Limits: Capture 0 - 65536 Front Left: Capture 0 [0%] [off] #switched off Front Right: Capture 0 [0%] [off]
Như bạn có thể thấy, thiết bị chụp hiện đang tắt. Để bật tính năng này, hãy nhập alsamixer Như bạn có thể thấy trong hình đầu tiên, nó đang hiển thị các thiết bị phát lại của chúng tôi. Nhấn F4 để chuyển sang Chụp thiết bị
Trong ảnh thứ hai, phần được đánh dấu cho biết thiết bị chụp ảnh bị tắt tiếng. Để bật tiếng, hãy nhấn phím cách.
Micrô hiện tại không được chọn làm thiết bị thu âm. Trong trường hợp này, có thể đặt micrô bằng cách nhập alsamixer và chọn card âm thanh. Tại đây, bạn có thể chọn thiết bị micrô mặc định. Như trong hình, phần bôi đen là nơi bạn phải chọn card âm thanh.
Không có kết nối Internet. Việc chuyển đổi lời nói thành văn bản yêu cầu kết nối internet đang hoạt động
Bài viết này được đóng góp bởi Deepak Srivatsav. Nếu bạn thích GeeksforGeeks và muốn đóng góp, bạn cũng có thể viết một bài báo bằng cách sử dụng write. chuyên viên máy tính. org hoặc gửi bài viết của bạn tới review-team@geeksforgeeks. tổ chức. Xem bài viết của bạn xuất hiện trên trang chính của GeeksforGeeks và trợ giúp các Geeks khác
Vui lòng viết nhận xét nếu bạn thấy bất cứ điều gì không chính xác hoặc nếu bạn muốn chia sẻ thêm thông tin về chủ đề đã thảo luận ở trên