Voice Recognition Raspberry PI and Arduino UART communication

Sdílet
Vložit
  • čas přidán 23. 07. 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
  • Věda a technologie

Komentáře • 93

  • @ELECTRONOOBS
    @ELECTRONOOBS  Před 2 lety +2

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

    • @tophlaw4274
      @tophlaw4274 Před 2 lety +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 Před 2 lety

      @@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 Před 2 lety +21

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

  • @simonescaravati7218
    @simonescaravati7218 Před 2 lety +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 Před 2 lety +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 Před 2 lety +2

    I was waiting for this episode, Thanks Bro❤❤

  • @JonathanDeWitt1988
    @JonathanDeWitt1988 Před 2 lety

    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.

  • @PhG1961
    @PhG1961 Před 2 lety

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

  • @biswajitkarmakar4700
    @biswajitkarmakar4700 Před rokem

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

  • @hassantangasawi42
    @hassantangasawi42 Před 2 lety +1

    This was very helpful and Interesting! Thank you!

  • @shemziller1
    @shemziller1 Před rokem

    I hardly comment on channels but this tutorials is wonderful

  • @kau_norw
    @kau_norw Před 2 lety

    Interesting approach with many applications.

  • @littlemadness221990
    @littlemadness221990 Před 2 lety +8

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

  • @jakemeyer8188
    @jakemeyer8188 Před 2 lety

    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 Před 6 měsíci

    Great video.thumbs up

  • @ChandulWickramasinghe
    @ChandulWickramasinghe Před 2 lety +1

    SUPER EXCELLENT

  • @DonzLockz
    @DonzLockz Před 2 lety

    very cool project!

  • @marcelorochacomposer
    @marcelorochacomposer Před 7 měsíci

    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!

  • @BigIron_06
    @BigIron_06 Před 2 lety

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

  • @boumsiedyoucef1064
    @boumsiedyoucef1064 Před 2 lety

    Wonderful 👍

  • @user-bv5dd7os4b
    @user-bv5dd7os4b Před 2 lety +3

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

  • @angelfernando8954
    @angelfernando8954 Před 2 lety

    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!

  • @KimsCyraRayelMoring
    @KimsCyraRayelMoring Před 2 měsíci

    Thank you so muchhh sir

  • @electronic7979
    @electronic7979 Před 2 lety +1

    Very good 👍

  • @michaelandersen1161
    @michaelandersen1161 Před 2 lety

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

  • @siddharthmali5841
    @siddharthmali5841 Před 2 lety

    Excellent.

  • @user-bm7zw4wo2g
    @user-bm7zw4wo2g Před 11 měsíci

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

  • @johnborrell9021
    @johnborrell9021 Před 2 lety +1

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

  • @Tony770jr
    @Tony770jr Před 2 lety

    Will this work on the Pi Zero as well?

  • @TheUnofficialMaker
    @TheUnofficialMaker Před 2 lety

    You could also add a PTT button.

  • @JugaaduJi
    @JugaaduJi Před rokem +1

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

  • @kyleallred984
    @kyleallred984 Před 2 lety +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 Před 2 lety

      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.

  • @dibyojyotibhattacherjee4279

    what about paring it with the pi pico w??

  • @kabandajamir9844
    @kabandajamir9844 Před 2 lety

    So nice

  • @littlemadness221990
    @littlemadness221990 Před 2 lety

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

  • @antitialaman7301
    @antitialaman7301 Před rokem

    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.

  • @algre977
    @algre977 Před 2 lety

    Would it work on pi zero w ?

  • @samwechsler
    @samwechsler Před rokem

    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 Před rokem

      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!

  • @Ais-qc1bc
    @Ais-qc1bc Před rokem

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

  • @Andy-mm2qz
    @Andy-mm2qz Před 2 lety

    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.

  • @hirudikapremaratne2034

    Can I make this with a Pi3?

  • @holayou
    @holayou Před 11 měsíci

    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?

  • @shriyagupta8505
    @shriyagupta8505 Před 8 měsíci

    Not able to install speech recognition module

  • @idko5452
    @idko5452 Před 2 lety +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.

  • @stephensu4371
    @stephensu4371 Před 2 lety

    nice one

  • @marcelooscarjose8515
    @marcelooscarjose8515 Před rokem

    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 ?

  • @antitialaman7301
    @antitialaman7301 Před rokem

    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)

  • @kalebepinheiro4634
    @kalebepinheiro4634 Před 2 lety

    Nice

  • @GnobarEl
    @GnobarEl Před 2 lety +3

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

    • @ELECTRONOOBS
      @ELECTRONOOBS  Před 2 lety +1

      Working on it but it has multiple parts...

    • @GnobarEl
      @GnobarEl Před 2 lety

      ​@@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!

  • @quinman16
    @quinman16 Před 19 dny

    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.

  • @rickmorris3580
    @rickmorris3580 Před 2 lety

    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 Před 2 lety

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

  • @CHGOfficial512
    @CHGOfficial512 Před rokem

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

  • @stevenA44
    @stevenA44 Před 2 lety

    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

  • @techieelectro
    @techieelectro Před 2 lety

    What's up my friend 😃👍

  • @bheeshmavasuprasad
    @bheeshmavasuprasad Před 2 lety +1

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

  • @hnasje66
    @hnasje66 Před 2 lety

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

  • @sjlohitprakash5092
    @sjlohitprakash5092 Před rokem

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

  • @electronicajean727
    @electronicajean727 Před rokem

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

  • @AjinkyaMahajan
    @AjinkyaMahajan Před 2 lety +1

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

    • @flethacker
      @flethacker Před 2 lety +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

  • @haroshinkk5465
    @haroshinkk5465 Před 4 měsíci

    it is not showing the start speak

  • @howardchen8030
    @howardchen8030 Před rokem

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

  • @michaelandersen1161
    @michaelandersen1161 Před 2 lety

    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 Před rokem

      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!

  • @bluedeath996
    @bluedeath996 Před 2 lety +2

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

  • @IronMechanic7110
    @IronMechanic7110 Před rokem

    I prefer to use Vosk to Speech recognition.

  • @motog4plus316
    @motog4plus316 Před 2 lety +1

    🤝🏻👌🏻

  • @Emulation_Inflation
    @Emulation_Inflation Před 2 lety

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

  • @aravinthbosem3652
    @aravinthbosem3652 Před 2 lety

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

  • @Fratzenzeuch
    @Fratzenzeuch Před 2 lety

    Good explenation, but it's not an offline solution

  • @jyvben1520
    @jyvben1520 Před 2 lety

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

  • @rustamakhmullaev5697
    @rustamakhmullaev5697 Před 2 lety +2

    Try except maybe help....

  • @youssefahourri3245
    @youssefahourri3245 Před 2 lety +1

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

    • @ELECTRONOOBS
      @ELECTRONOOBS  Před 2 lety +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 Před 2 lety

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

  • @AdobadoFantastico
    @AdobadoFantastico Před rokem

    Wow the price of the pi has jumped so much.

  • @bepstein111
    @bepstein111 Před 2 lety

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

  • @hackerbuddy873
    @hackerbuddy873 Před 2 lety +2

    First to comment

  • @AntonioDellaRovere
    @AntonioDellaRovere Před 2 lety +1

    try .. catch .. block

  • @FuzanToko
    @FuzanToko Před 2 lety

    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 👨‍🔧️

  • @amciaapple1654
    @amciaapple1654 Před 2 lety +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

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

  • @stefano.a
    @stefano.a Před 2 lety +2

    Excellent video. For the error, have you tried try..except instruction?
    CZcams 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