Voice Recognition Raspberry PI and Arduino UART communication

Поділитися
Вставка
  • Опубліковано 7 сер 2024
  • High quality PCB prototypes: www.pcbway.com
    3D & CNC service: www.pcbway.com/rapid-prototyp...
    🔥Recognise voice with Raspberry Pi and send the text via UART port to the Arduino. Perfect voice recognition. Fast and reliable. Detect multiple voices and long phrases. Perfect for robotics.
    🔀LINKS
    -------------------------------------
    Tutorial Website: electronoobs.com/eng_arduino_...
    My tools: electronoobs.com/eng_afiliate...
    Occupy Mars T-Shirt: electronoobs-merch.creator-sp...
    🤝SUPPORT
    -------------------------------------
    Join my Arduino Course (Spanish): bit.ly/2JY8icE
    ELECTRONOOBS.io: electronoobs.io
    Donate on PayPal: www.paypal.com/donate?hosted_...
    Help my projects on Patreon : / electronoobs
    my Q&A page: electronoobs.io/forum/index.php
    Facebook page: / electronoobs
    Canal en Español: / electronoobs en español
    00:00 Intro
    02:44 Why is better?
    04:04 Install Pi OS
    05:16 Sound card and microphone
    06:12 Install packages
    07:30 Speech Code
    09:06 UART communication
    12:17 Pi - Arduino Test
    14:49 Thank you!
    Like share and subscribe to motivate me. Thank you
    #raspberrypi
    #Arduino
    #voice
  • Наука та технологія

КОМЕНТАРІ • 93

  • @ELECTRONOOBS
    @ELECTRONOOBS  2 роки тому +2

    Tutorial here: electronoobs.com/eng_arduino_tut171.php
    My Tools: bit.ly/3uv8bc3
    Help me on Patreon: www.patreon.com/ELECTRONOOBS

    • @tophlaw4274
      @tophlaw4274 2 роки тому +2

      great straightforward tutorial as always!
      as a few commenters already suggested, simply using exception handling to intercept the error (when speech recognition fails) and prevent the Python script from crashing... like so:
      while True:
      try:
      # Your audio detection & voice recogition code here
      except:
      print("ERROR: I didn't understand what you said....")
      ser.write(bytes("????", 'utf-8'))
      Cheers! & looking forward to your next project!

    • @RogerTannous
      @RogerTannous 2 роки тому

      @@tophlaw4274 yeah, that's the clean solution, and this has nothing to do with volume levels, as the device can still receive stuff at high volume levels, well above the programmed threshold, and if it doesn't understand what it has received, then we'll fall into the same exception again.
      So using exception handling keeps you safe from falling into this "trap" again

  • @RohitKumar-pl9hb
    @RohitKumar-pl9hb 2 роки тому +22

    You can use try catch block to handle the exception. Great video, loved it very much.

  • @JonathanDeWitt1988
    @JonathanDeWitt1988 2 роки тому

    When I saw this notification pop up this weekend I first thought you were just making a voice recognition video for the raspberry pi. Now I see you were doing it for the Arduino. Yes this is a complex looking process to set up. But the reward is amazing! The power of having voice to text on an Arduino is awesome. I hope someone can get you some help on the noise thresshold. Thank you for sharing this Andrei! It is very much appreciated.

  • @simonescaravati7218
    @simonescaravati7218 2 роки тому +8

    That's amazing! For the error you just need to wrap the API request in a try...expect construct! it preserves the code from exit on the exception!

  • @dallasfromthefuture
    @dallasfromthefuture 2 роки тому +5

    Yes!!!! I made one in html but I needed a browser for it to run. Thanks for making this, I've been wanting to make my own for the longest time

  • @ezzeldin101
    @ezzeldin101 2 роки тому +2

    I was waiting for this episode, Thanks Bro❤❤

  • @PhG1961
    @PhG1961 2 роки тому

    Indeed I liked it ! This is way better than the module from your 1st video !

  • @hassantangasawi42
    @hassantangasawi42 2 роки тому +1

    This was very helpful and Interesting! Thank you!

  • @biswajitkarmakar4700
    @biswajitkarmakar4700 Рік тому

    Great work... 👍🏼👍🏼👍🏼 I was searching for this ...

  • @shemziller1
    @shemziller1 Рік тому

    I hardly comment on channels but this tutorials is wonderful

  • @kau_norw
    @kau_norw 2 роки тому

    Interesting approach with many applications.

  • @jakemeyer8188
    @jakemeyer8188 2 роки тому +1

    I think the Try...Catch approach that the others have recommended is a good. As an alternative, you could try implementing your own wakeup command. Like, it doesn't try to process anything until it gets a specific word or phrase. It might also be worth testing to see if after recieving the wakeup command, it raises the input volume programmatically. Then, after, say, 30 seconds or so, it drops the input volume back down. For this you would need to be a little extra loud on your initial command, but everything that follows would be spoken normally.

  • @samj1012
    @samj1012 7 місяців тому

    Great video.thumbs up

  • @DonzLockz
    @DonzLockz 2 роки тому

    very cool project!

  • @ChandulWickramasinghe
    @ChandulWickramasinghe 2 роки тому +1

    SUPER EXCELLENT

  • @littlemadness221990
    @littlemadness221990 2 роки тому +8

    You become greater than Great Scott. You're doing far more interesting content.

  • @electronic7979
    @electronic7979 2 роки тому +1

    Very good 👍

  • @KimsCyraRayelMoring
    @KimsCyraRayelMoring 3 місяці тому

    Thank you so muchhh sir

  • @boumsiedyoucef1064
    @boumsiedyoucef1064 2 роки тому

    Wonderful 👍

  • @angelfernando8954
    @angelfernando8954 2 роки тому

    it is possible to connect the elechouse voice recognition module to the raspberry pi directly?
    Amazing video!! Thanks to show the pros and cons you had with the project!

  • @siddharthmali5841
    @siddharthmali5841 2 роки тому

    Excellent.

  • @user-bv5dd7os4b
    @user-bv5dd7os4b 2 роки тому +3

    Thanks for explanation, it was useful. I wish you would explain to the voice command unit LD3320

  • @marcelorochacomposer
    @marcelorochacomposer 7 місяців тому

    Hi! Congratulations for your work and thanks for sharing it. Could you, please, tell me what was the microphone model that you used in this project? Thank you!

  • @kabandajamir9844
    @kabandajamir9844 2 роки тому

    So nice

  • @stephensu4371
    @stephensu4371 2 роки тому

    nice one

  • @GnobarEl
    @GnobarEl 2 роки тому +3

    Another great video. When you will build a robot to react to your voice?

    • @ELECTRONOOBS
      @ELECTRONOOBS  2 роки тому +1

      Working on it but it has multiple parts...

    • @GnobarEl
      @GnobarEl 2 роки тому

      ​@@ELECTRONOOBS Hi, thanks for your comment. I think that's the best approach. I wouldn't mind seeing every week a video of the evolution. It would help me to buy the parts, and build my own robot following your videos. If you do a video with all the processes it will be hard to follow. So yes, multiple parts is the best. It will be my next fav TV show! :p
      Regarding the issue, can't you make a condition - If the output is empty (no output) something like ... if words == "" ... I'm not exactly sure, but I believe it will be something like that. You need to make an else condition in case it has an output from google API or not.
      Keep your great work!

  • @kalebepinheiro4634
    @kalebepinheiro4634 2 роки тому

    Nice

  • @TheUnofficialMaker
    @TheUnofficialMaker 2 роки тому

    You could also add a PTT button.

  • @Andy-mm2qz
    @Andy-mm2qz 2 роки тому

    Dear electronoobs, I am trying to make an infrared thermometer using thermopile sensor ISB-TS45D but didn't found any video or tutorial on this. could you help me with this or could you create one for your next project. Thankyou. Video is good as always with full of creativity and great knowledge.

  • @techieelectro
    @techieelectro 2 роки тому

    What's up my friend 😃👍

  • @littlemadness221990
    @littlemadness221990 2 роки тому

    Add a filter in the software for the bytes, and use them for blank commands.

  • @BigIron_06
    @BigIron_06 2 роки тому

    How about "on error, resume next" or what ever the proper syntax would be for an error handler on R-Pi.

  • @quinman16
    @quinman16 Місяць тому

    you should try the try except code. it would look like this in your while code.
    """
    while True:
    with mic as source:
    audio = r. listen(source)
    try:
    words r.recognize_google(audio)
    print (words)
    ser.write(bytes(words, 'utf-8'))
    except:
    pass
    """
    the try except code will catch any error in the try block and if error happens with any part of the code inside it it jumps to the except block. you can even specify what error you want to catch, but keeping it like this works just fine for beginners.
    hope this helps you on your python journey.

  • @johnborrell9021
    @johnborrell9021 2 роки тому +1

    Excuse my ignorance here, does it have to be connected to Google, internet to work?
    Thanks

  • @michaelandersen1161
    @michaelandersen1161 2 роки тому

    what version of raspbian OS are you using ?
    and will it only work with python version greater than 3.7.3?

  • @idko5452
    @idko5452 2 роки тому +2

    Dirty fix to Your problem : use LED to visualy see when Your voice recogn. Is active and 1 button to restart the code. I have used button for similar actions and it's easy to set up. But I'm not 100% sure about LED bc I have never had LED connected to RPi 😂 but it should work if You spend some time on it.

  • @kyleallred984
    @kyleallred984 2 роки тому +1

    1. I thought you needed a logic level converter to go between the pi's 3.3v and the Arduino's 5v.
    2. Does the speech software include a trigger word function?

    • @digihz_data
      @digihz_data 2 роки тому

      Since he is only sending from 3.3v(Rpi) to 5v(arduino), the arduino will recognise 3.3v as a 1.
      If he was sending from the arduino to the raspberry pi,yes then you would need a level shifter.

  • @Tony770jr
    @Tony770jr 2 роки тому

    Will this work on the Pi Zero as well?

  • @JugaaduJi
    @JugaaduJi Рік тому +1

    Sir some error. Please help me. When I run the code , shell showing "attempt to connect to server failed"
    Please help

  • @antitialaman7301
    @antitialaman7301 Рік тому

    First cool video :) I have a raspberry pi zero (not have wifi) and I would like with voice control play with leds and servos. Idk if this is posible. Can you help me? TY.

  • @dibyojyotibhattacherjee4279

    what about paring it with the pi pico w??

  • @algre977
    @algre977 2 роки тому

    Would it work on pi zero w ?

  • @stevenA44
    @stevenA44 2 роки тому

    This is a very interesting project. I think I already have everything to make this. I might give it a try sometime. So I have been asking why you have a banana in all your videos and you never answer, so I googled it and found out. For size reference, because using a ruler would just be silly. LOL

  • @user-bm7zw4wo2g
    @user-bm7zw4wo2g Рік тому

    Need tutorial use Voice rocognition V3 module with arduino to shown text in LCD or Speech to Text

  • @Ais-qc1bc
    @Ais-qc1bc Рік тому

    No logic Volt conviter need??? for 5v logic(arduino) to 3.3v(pi)

  • @rickmorris3580
    @rickmorris3580 2 роки тому

    Awesome video but which Raspberry PI version are you using that's only $29? I don't see any Raspberry PI's on Amazon that are anywhere near that cost. I see lower cost ones on Alibaba but is a version 3 or version 4? Does i matter it's 2GB or 4GB? Thanks!

    • @itsmeintorrespain2714
      @itsmeintorrespain2714 2 роки тому

      The cost of the chips has gone sky high lately due to a worldwide shortage. That's why RPis are astronomically expensive right now.

  • @samwechsler
    @samwechsler Рік тому

    For RPi4 I had to use dtoverlay=pi3-disable-bt instead of the one in the video. Also had serial port permission issues so had to use sudo chmod 777 /deb/ttyAMA0 . Has anyone figured out how to get ride of the red ALSA lib text in the shell when running?

    • @PraiseTheLord527
      @PraiseTheLord527 Рік тому

      Hey Sam,
      Were you able to resolve this issue? I'm unfortunately having the same problem... Did you have a sound card connected to your raspberry pi because I am using a webcam with in built microphone?
      Have a nice day!

  • @CHGOfficial512
    @CHGOfficial512 2 роки тому

    Great project but Raspberry Pi-s are greatly overpriced at the time, will it also work on alternatives like orange pi, etc?

  • @motog4plus316
    @motog4plus316 2 роки тому +1

    🤝🏻👌🏻

  • @hirudikapremaratne2034
    @hirudikapremaratne2034 Рік тому

    Can I make this with a Pi3?

  • @holayou
    @holayou Рік тому

    i have a error in the line 12 . also another error says: /home/(my user)/. local/lib/python3.9/site-packages/speech_recognition/__init__.py", line 728 in recognize_google. how i can solve?

  • @IronMechanic7110
    @IronMechanic7110 Рік тому

    I prefer to use Vosk to Speech recognition.

  • @AjinkyaMahajan
    @AjinkyaMahajan 2 роки тому +1

    For voice recognition, does it require an internet connection or does it work stand alone?

    • @flethacker
      @flethacker 2 роки тому +1

      it requires connection to Google to do voie recognition. But if you download Google and put Google in your home directory (with a sym link and with sudo) you can run it off line

  • @hnasje66
    @hnasje66 2 роки тому

    for the error you can probably use the python try except else sequence.

  • @sjlohitprakash5092
    @sjlohitprakash5092 2 роки тому

    use Try and Except statements in the loop to solve the issue.

  • @antitialaman7301
    @antitialaman7301 Рік тому

    Can you make a tutorial about how use a recognition voice with raspberry pi zero, please? I try with so many differents libreries and I just had lucky with 1, it works so slow...
    I will so greatfull if you can help me, I spent months try and I had not lucky.
    The last library I tried to use it was cheetah (it supouse works offline)

  • @shriyagupta8505
    @shriyagupta8505 9 місяців тому

    Not able to install speech recognition module

  • @marcelooscarjose8515
    @marcelooscarjose8515 Рік тому

    why not use WIT AI just for decode audio to text and then use Google api to create audio and play it in ESP32 ? Why do you need raspberry pi ?

  • @bheeshmavasuprasad
    @bheeshmavasuprasad 2 роки тому +1

    Hello, is the t12 soldering station worth it and does it have high thermal capacity? What is the wattage?

  • @bluedeath996
    @bluedeath996 2 роки тому +2

    I need one that is offline. Transmitting and recieving is not great.

  • @haroshinkk5465
    @haroshinkk5465 5 місяців тому

    it is not showing the start speak

  • @rustamakhmullaev5697
    @rustamakhmullaev5697 2 роки тому +2

    Try except maybe help....

  • @michaelandersen1161
    @michaelandersen1161 2 роки тому

    Hi there
    I have made a new raspbian sd card with raspbian bullseye as you use and it has python 3.9.2 as default.
    But when i run the python code I get a lot of errors like..
    ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.bcm2835_headpho.pcm.front.0:CARD=0'
    ALSA lib conf.c:4745:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
    ALSA lib conf.c:5233:(snd_config_expand) Evaluate error: No such file or directory
    ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM front
    ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
    Do I miss some configuration or what ?

    • @PraiseTheLord527
      @PraiseTheLord527 Рік тому

      Hey Mr. Anderson,
      Were you able to resolve this issue? I'm unfortunately having the same problem... Did you have a sound card connected to your raspberry pi because I am using a webcam with in built microphone?
      Have a nice day!

  • @howardchen8030
    @howardchen8030 Рік тому

    not work.... a lots error when run the code

  • @youssefahourri3245
    @youssefahourri3245 2 роки тому +1

    Well done 👍🏻
    I don't know if it supports Arabic speech

    • @ELECTRONOOBS
      @ELECTRONOOBS  2 роки тому +2

      I think this is just English but since is Google API, I bet you can change to any other language

    • @TBL_stevennelson
      @TBL_stevennelson 2 роки тому

      If you try a different language let us know the Out come

  • @electronicajean727
    @electronicajean727 Рік тому

    yo quiero hacer una voz en español con teclado y pantalla para mejor entender

  • @aravinthbosem3652
    @aravinthbosem3652 2 роки тому

    Use Try and catch block so the program won't get stop due to noice

  • @Fratzenzeuch
    @Fratzenzeuch 2 роки тому

    Good explenation, but it's not an offline solution

  • @jyvben1520
    @jyvben1520 2 роки тому

    while True:
    try:
    voice block code here, the code that works ... but crashes when ...
    except:
    pass # ignore any errors/exceptions

  • @Emulation_Inflation
    @Emulation_Inflation 2 роки тому

    Is anyone else's youtube vanced keep sending a push notification for this video?

  • @hackerbuddy873
    @hackerbuddy873 2 роки тому +2

    First to comment

  • @AdobadoFantastico
    @AdobadoFantastico Рік тому

    Wow the price of the pi has jumped so much.

  • @bepstein111
    @bepstein111 2 роки тому

    uhhhh where are YOU finding RPi's for 40 bucks on AE???? They're like 200 bucks MINIMUM for me.....

  • @FuzanToko
    @FuzanToko 2 роки тому

    fix:
    ```
    try:
    words = r.recognize_google(audio)
    except UnknowValueError:
    words = "Error!"
    finally:
    print(words)
    ser.write(bytes(words, 'utf-8'))
    ```
    if you want catch others errors migth consider include the 'context manager' (with mic as...) on the try except block. and 'catch' his own expections or all exceptions 'except Exception:'.
    Greettings 👨‍🔧️

  • @AntonioDellaRovere
    @AntonioDellaRovere 2 роки тому +1

    try .. catch .. block

  • @amciaapple1654
    @amciaapple1654 2 роки тому +8

    Pffffff.... Sending your voice to Google for recognition so they listen to everything you say. You've got to be kidding! What's next? Sending the video feed from your bedroom to them, too ?

  • @harshavardhanaradhyahu2870
    @harshavardhanaradhyahu2870 Місяць тому

    I got an error in pyaudio it prompt like this
    Failed in 'src/hostapi/alsa/pa_linux_alsa'

  • @stefano.a
    @stefano.a 2 роки тому +2

    Excellent video. For the error, have you tried try..except instruction?
    UA-cam seems to eliminate posts with links without any message, so, you will find a solution in stackoverflow
    On the subpage
    /questions/32005310/speech-recognition-python-code-not-working