Speech Recognition Python3

E đang cố nhận giọng nói bằng speech_recognition. Nhưng mặc dù e đã hét khàn tiếng như hình như nó chưa chạy tới được cái print("you said") nữa. Trong khi e thử chạy trên cmd với lệnh python -m speech_recognition thì nó vẫn nhận được cái e nói.
Anh chị cho e cái hướng dẫn với. E cám ơn ạ

import speech_recognition as sr

r = sr.Recognizer()
with sr.Microphone() as source:
    print("Say something!")
    audio = r.listen(source)
    print("You said: " + r.recognize_google(audio))
1 Like

recognize_google(audio)
Hình như phải có key api
Còn cái trên terminal là offline dùng cmu sphinx

1 Like

Vậy bạn có giải pháp nào cho mình không?

1 Like

recogize_sphinx. Học dùng wit.ai chính xác hơn (free)

1 Like

không biết phải mình sai không. Nhưng không catch được

1 Like

Đăng ký tài khoản wit.ai rồi lấy api key vào đây xem doc mà làm ý. chứ thằng kia thì m ko rõ lắm

1 Like

thật sự là vẫn bối rối, chưa biết làm sao cả.

1 Like

Mình vừa test thử thấy cái hàm listen này nó dở dở kiểu gì ấy :sweat_smile: , kiểu nó tự động nhận diện khi nào có giọng nói khi nào không => trường hợp của bạn chắc là nó không nhận diện được khi nào bạn nói/ngừng nói => không qua được dòng listen.

Giải pháp là dùng record kết hợp với parameter duration, nó lập tức thu âm thanh của bạn trong bao nhiêu giây xong rồi dừng, như vậy sẽ đảm bảo là qua được đoạn record âm thanh.

À mà ở đây api google là đang dùng api default, nghĩa là chỉ dùng nghịch chơi chơi thôi, còn muốn dùng lâu dài thì nên thuê api xịn mà dùng, chứ hàng free thì kiểu gì cũng bị giới hạn thôi, cái này hình như là 50 request 1 ngày thì phải.

Chi tiết xin liên hệ:
https://github.com/Uberi/speech_recognition
https://github.com/Uberi/speech_recognition/blob/master/reference/library-reference.rst
https://github.com/Uberi/speech_recognition/blob/master/examples/microphone_recognition.py#L27

GIF


In [73]: import speech_recognition as sr
    ...:
    ...: r = sr.Recognizer()
    ...: with sr.Microphone() as source:
    ...:     print("Say something!")
    ...:     audio = r.record(source, duration=4)
    ...:     print("You said: " + r.recognize_google(audio, language='vi-VN')
    ...:
Say something!
You said: Dạy Nhau Học

In [74]: XD gg ezezeze
  File "<ipython-input-74-0983e12d1575>", line 1
    XD gg ezezeze
        ^
SyntaxError: invalid syntax
1 Like

e thì e test được rồi, cả tiếng Việt luôn nhưng mà trời mưa là nó ngu luôn :frowning:

e phải gián tiếp đi qua pyaudio đấy chứ

1 Like

bạn ơi cho mình hỏi tí. mình cũng code

import speech_recognition as sr

r = sr.Recognizer()

with sr.Microphone() as source:
    print ('Say Something!')
    audio = r.listen(source)
    print ('Done!')
    print('Google thinks you said:\n' + r.recognize_google(audio,language='vi-VN'))

nhưng khi nói vào thì lại không nhận được âm thanh hay sao mà nó cứ hiện:

ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:947:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
Say Something!

bạn giúp mình với

Chắc máy bạn bị gì rồi :smile:. Xưa mình sửa lại mic, thu tốt luôn ấy. Còn hỗ trợ cả tiếng Việt

2 Likes

A post was split to a new topic: Lỗi “error: Unable to find vcvarsall.bat” khi chạy file setup.py

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?