Тёмный

I CREATED My NEW Voice Assistant w/ On-Device Wake Word Detection 🚀| Home Assistant | ESP32 S3 

Smart Home Circle
Подписаться 4,1 тыс.
Просмотров 10 тыс.
50% 1

Опубликовано:

 

1 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 96   
@RND-USA
@RND-USA 2 дня назад
Wow so cool! I accidentally bough some S3 models (vs the WROOM-32Ds I usually get) and am looking for projects to use them on. This is great!
@Thebyeman
@Thebyeman 4 месяца назад
I’ve found that I was having difficulty with the assistant hearing not just my voice but background voices, like from the tv, and therefore not recognising my voice commands. I went and changed the settings on noise_suppression _level: from 0 to 2 it’s working much better now
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
Ohh yes.. I had set it to 2 before. Not sure when I set it back to 0. 🤔 But thanks for this. I will update the article again. 😄
@fredrikjensen1
@fredrikjensen1 28 дней назад
I have the N16R8 board and I had to comment out these lines for it to work. # sdkconfig_options: # CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240: "y" # CONFIG_ESP32S3_DATA_CACHE_64KB: "y" # CONFIG_ESP32S3_DATA_CACHE_LINE_64B: "y" # CONFIG_AUDIO_BOARD_CUSTOM: "y"
@andrejsersen59
@andrejsersen59 2 месяца назад
@SmartHomeCircle Thank you very much for you video!!! I have to share funny story about your video and making my version of voice assistant... After I soldered all the components and wired everything up, I set up esphome code and connected...flashed and after the device came to life, led flashed but it didn't respond to wake-word...hm...I double checked every connection, measured volatage on esp and microphone....nothing unusual and strange...then double checked installed addons (whisper and piper) and couldn't find the culprit. Then I stumboled upon your another video how to setup local VA...ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-P4V2JqCmk7M.html . I played your video and when you used "hey jarvis" in your video my device came to life, leds started blinking and VA responded in Slovenian language :)))) Thanks for saving me quite some time before I realise I have to use hey Jarvis instead of ok nabu :)))
@SmartHomeCircle
@SmartHomeCircle 2 месяца назад
😄 That is really a funny story. But I am glad it worked for you.
@georgemotichka1351
@georgemotichka1351 Месяц назад
Hey, I just built this. Was disappointed when the timer didn't work, but then saw the update yaml code to get it working. But now. How do I get the timer end beeping to stop? Is there a way to have it ring like 5 times with 3 secs in between like I have with my Wyoming Satellite? Great job though. Just waiting for my mute button to come in.
@SmartHomeCircle
@SmartHomeCircle Месяц назад
@@georgemotichka1351 check the full video. I have shown how you can stop the timer from beeping using a voice command..
@georgemotichka1351
@georgemotichka1351 Месяц назад
@@SmartHomeCircle Got it. Thanks
@guylast9516
@guylast9516 Месяц назад
OMG did some testing and this one is more responsive than the Respeaker lite kit I got from Seeed. I only ordered the mic,amp,ESP32 and speaker(crackly: not sure why) as I just meant to test the possibilities of having a Voice Assistant and have yet to order the mute button and led strip. But yours by far beats the hell out of the other device. Awesome work.
@bartoszbaumgart643
@bartoszbaumgart643 Месяц назад
Hi, graeat project :) I have some issue with this board esp32 s3 n16r8: [16:32:43]��0+�91Bc2c�F�c"�a§¡�aESP-ROM:esp32s3-20210327 [16:32:43]Build:Mar 27 2021 [16:32:43]rst:0x7 (TG0WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT) [16:32:43]Saved PC:0x403775b4 [16:32:43]SPIWP:0xee [16:32:43]mode:DIO, clock div:1 [16:32:43]load:0x3c0d0020,len:0x3a810 [16:32:43]load:0x3fc97950,len:0x3fcc [16:32:43]load:0x40374000,len:0x180c [16:32:43]load:0x42000020,len:0xc3b84 [16:32:43]load:0x4037580c,len:0x12140 [16:32:43]SHA-256 comparison failed: [16:32:43]Calculated: f05866a3a6706911c50f0f103483632dff4320df4e3308d87cceb23f343f5bb5 [16:32:43]Expected: be769d2f35f6ca484597ebbbddf12d3db8c91409e64daa1b58ace26d8b915714 [16:32:43]Attempting to boot anyway... [16:32:43]entry 0x403766d8 [16:32:44]ESP-ROM:esp32s3-20210327 What is wrong ? Any advise ? smarthomecircle.com/How-I-created-my-voice-assistant-with-on-device-wake-word-using-home-assistant
@vuminhtuan1994
@vuminhtuan1994 3 месяца назад
What an amazing video. I followed your guide but I can't active the esp32-s3 by hot word. I've check log in esp and nothing happen when I speak "hey jarvis", tried with other model like alexa, okay nabu with same result. I have 2 esp32 s3 and 4 inmp441 but none of the combinations are successful. Is there any tip to using hotwords?
@SmartHomeCircle
@SmartHomeCircle 3 месяца назад
Does it show in the logs that the the micro wake word is jarvis is used? Also can you check the wiring of the Microphone , specially the L/R. Also make sure that the channel in the yaml code is set correctly according to the yaml code in the article that I have linked in the description of the video. Hope that helps. 🤞
@gustvao0
@gustvao0 3 месяца назад
hi! great content, as always! subscribed and fan! tku for sharing this. ordered already components in ali and got my cousin to 3d print the case, after all done I will share the results with you... btw , did you manage to train a new wakeword in another language for the microwakeword? i spent hours with colab w/o success :(
@SmartHomeCircle
@SmartHomeCircle 3 месяца назад
Thank you for such kind words. 😄 Regarding training the wakeword for microwake word, there is no colab available. The colab playground is only for the wakeword used in OpenWake word.
@123Poppa321
@123Poppa321 3 месяца назад
Very nice and informative video. I am trying to copy it for my voice assistant. Wouldn't it be possible to use the touch ability of the esp32 instead of the hardware button? Have you ever tried that? I'm planning to use an ikea lamp with a metal stand for my voice assistant. It would be great to mute and unmute with just touching the stand.
@SmartHomeCircle
@SmartHomeCircle 3 месяца назад
Ohh that sounds really interesting 😃. I think it would work. Give it a go and see how it works..
@nilsal7442
@nilsal7442 3 месяца назад
Hey id like to also build your voice assistant. What speaker did you use? Do you have a recommendation for me? :) didnt found it in the description
@SmartHomeCircle
@SmartHomeCircle 3 месяца назад
Thank you :) I updated the description and added links to it. I also have this article which has everything in it : smarthomecircle.com/How-I-created-my-voice-assistant-with-on-device-wake-word-using-home-assistant
@robertosecco983
@robertosecco983 Месяц назад
Finally, I was able to find what I was looking for. Thank you for the video and for the detailed article on your website!
@SmartHomeCircle
@SmartHomeCircle Месяц назад
@@robertosecco983 Glad I could help 🙂
@Tanat74
@Tanat74 4 месяца назад
Very cool, Thx!. How set my sefl .tflite - wake word?)
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
I think you are talking about custom wake words, I will be working on that for my next video.
@formatBCE
@formatBCE 4 месяца назад
AFAIK to setup custom wake word for microwakeword, you'll have to train it in pretty specific way. Also i can't see the mechanism of setting it in the configuration so far - it seems like microwakeword is pointing to ESPHome GitHub, where these words are.
@aguacatec
@aguacatec 3 месяца назад
@@SmartHomeCircle I can't wait to see that! Amazing job you did!
@Thebyeman
@Thebyeman 4 месяца назад
Also have to add logger: to the ymal
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
Ohh yes.. Missed that. I'll update the article. Thank you 😊
@mikesmods317
@mikesmods317 2 месяца назад
Another awesome video!! Thank you! New subscriber here for sure 👍🏻
@SmartHomeCircle
@SmartHomeCircle 2 месяца назад
@@mikesmods317 thank you. 😄
@c0deless
@c0deless 3 месяца назад
i followed your guide, but when i copy past the code and then save and click on install it get the following error . INFO ESPHome 2024.6.1 INFO Reading configuration /config/esphome/esp-ww-lounge.yaml... Failed config ota.unknown: [source /config/esphome/esp-ww-lounge.yaml:44] 'ota' requires a 'platform' key but it was not specified.
@SmartHomeCircle
@SmartHomeCircle 3 месяца назад
Ohh yes.. here are some breaking changes in the new ESPHome. You need to replace the ota section with this. ota: - platform: esphome password: xxxxxxx I will update my article with this.
@RinyVT
@RinyVT 4 месяца назад
My pre-soldered INMP441 microphone came with the connections on the other side, do you think that will be a problem? So the hole for the microphone is on the bottom in my case. Not sure if I can flushmount it now or that I need to give it some clearance so sound can come from beneath as well.
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
As far as I know, the voice is captured from that hole. You might have to check how clearly the voice gets recorded with it.
@guylast9516
@guylast9516 Месяц назад
Hey Great video but have an issue. I ordered the parts and tried to use the code with latest esphome and it would not compile it. Any thoughts? Update: Resolved. Had to stop all addons as it failed due to memory issue.
@SmartHomeCircle
@SmartHomeCircle Месяц назад
Ohh yes.. To build the device using ESPHome, it needs something a little more powerful than a raspberry pi. Glad its resolved for you. 🙂
@guylast9516
@guylast9516 Месяц назад
@@SmartHomeCircle I am on a 13600K Raptor Lake Win 11 but I guess it still is an issue depending on the VM config we all run for Home Assistant.
@MrDenisJoshua
@MrDenisJoshua 3 месяца назад
Thanks a lot for the video... and I wait for the customization of the miro-wake-word :-)
@SmartHomeCircle
@SmartHomeCircle 3 месяца назад
Currently trying to find the best and easy way to create custom wake words without needing powerful hardware.
@jacquesdupontd
@jacquesdupontd 4 месяца назад
Hey, thanks a lot for the video ! It's been a week that i'm doing some research to do just this. I have Ollama running on my local server and plugged in my Home Assistant Assist. I have an Ulanzi Pixel Clock where the answers from the Home Assistant (local AI in that case) or displayed in scroll. Looks pretty nice, you can check the last video on my channel. I have a few questions please, Is it possible to play sound on this device like we can do on Amazon Echo Dot for example ? Or should it only be a satellite to ask to play audio on another device ? I'd really like an all-in-one personal A.I home assistant. If so, do you know where I could find a very good quality speaker (or 2 for stereo) and microphone for the project You've put a resistor for the speaker. Cannot you set the volume in the code itself ? Thanks again !
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
First of all, nice to see you are using AI for the responses. Kudos on that. 👍 I was trying to make the same for work for me. But it was not very reliable. Will try ollama this time. To answer your question, To get a better sounding speaker, I haven't got one, but may be you can redirect the audio from the response to alexa or google home mini. Check this video ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-RIpnyTJmJJ8.html . I haven't tried it with this device, but it was working well with my older voice assistant with an ESP32 I had to use the resistor to reduce the volume as I could not adjust the level in Home Assistant. To provide volume controls, we have to use `media_player` type, but its not supported for IDF frameworks. Hence the option was the resistor.
@jacquesdupontd
@jacquesdupontd 4 месяца назад
@@SmartHomeCircle Thx for your Feedback. Why Alexa or Google home, why not a Bluetooth speaker ?
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
Bluetooth speakers are difficult to connect to Home Assistant. The cast option with google mini allows for easier integration.
@HugoNet-r5s
@HugoNet-r5s 2 месяца назад
Hi Amrut. Thanks for the great video with easy to understand instructions. I have configured it and a miracle happended ... everything works on the first try. Well, except speaker - it has biased sound, even with the MAX98357 gain adjusted to the minimal (ie. 3db) have you met such an issue?
@SmartHomeCircle
@SmartHomeCircle 2 месяца назад
@@HugoNet-r5s Sorry, But I didn't understand by "biased sound"
@HugoNet-r5s
@HugoNet-r5s 2 месяца назад
@@SmartHomeCircle Distorted sound is maybe better definition. Speech of "Jarvis" is heard against a prevailing background of noise and crackling.
@SmartHomeCircle
@SmartHomeCircle 2 месяца назад
@@HugoNet-r5s ahh. Got it. this can happen because of two reasons. Either a soldering issue or there is a problem with the max98357a. I am assuming you are following the diagram in the article that I have linked in the video description.
@HugoNet-r5s
@HugoNet-r5s 2 месяца назад
@@SmartHomeCircle Yes I did. I will try to resolder pins and resistor on the max98357a and going to order some more pcs at the same time
@albastien4990
@albastien4990 4 месяца назад
Thanks for another informative video. May I ask what issues you found if any. I followed your ESP32 voice assistant only to find it did not handle both microphone and speaker on the same device well. Any limitations on the s3?
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
None that I have seen. Also the issue of the cracking sound on boot has disappeared that existed in the ESP32 setup.
@snopz
@snopz 3 месяца назад
If it can not handle microphone and speaker in the same time that means that you don't have the s3 variant as only the s3 have two i2s buses.
@SmartHomeCircle
@SmartHomeCircle 3 месяца назад
He meant about the ESP32 board and not the S3 variant 😄
@werner.m7200
@werner.m7200 4 месяца назад
whats the maximum distance for the mic to be heared?
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
I could get it to work around 3 mts away. So good for a room..
@seyitbural8184
@seyitbural8184 4 месяца назад
Hi erstmal ein tolles Video hat bei mir auf Anhieb geklappt das einzige was stört ist das die sprachausgabe unvollständig ist also nach dem ich ein Befehl gegeben habe bricht die antwort ab
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
I am glad the video helped. 🙂 My German is not that good, but I what I understood is that the voice response is incomplete or gets stuck. I dint face issues with the response being incomplete or stuck. I had problems with the speaker crackling on boot, so I moved the amplifier input from 5v to 3.3v , as I think the LED strip was interfering with it. Does that give you some help?
@seyitbural8184
@seyitbural8184 4 месяца назад
Genau das Problem es bricht einfach ab
@zer0sg961
@zer0sg961 4 месяца назад
Great video! Got me interested in trying this out ") how does it handle when you have 200 over devices though? Would it still be useable? Or would it lag I wonder? Thanks! And cheers
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
Do you mean 200 devices in Home Assistant? I haven't got so many devices yet😄 If you use the assist window and try to write a command to invoke one of those 200 devices, and if that is fast then it would be fast also. This device just takes the input and gives it to HA.
@formatBCE
@formatBCE 4 месяца назад
It will be just fine. If you mean voice satellites - it's good to have local wake word, otherwise they all would be bombing HA with audio streams to find wake word.
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
@@formatBCE Yes, true. reduces some resources on the HA server also.
@clairerovic
@clairerovic 4 месяца назад
Thanks heaps, followed all your previous videos successfully, so looking forward to starting on this one
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
@@clairerovic thank you 🙂
@thebatu89
@thebatu89 4 месяца назад
Are there no controls for the speaker volume?
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
No.. it's currently not possible with the speaker type in the yaml. And media_player is not supported for idf frameworks
@thebatu89
@thebatu89 4 месяца назад
@@SmartHomeCircle thanks, btw can i use the same i2c pin for light sensor (bh1750) or temp sensor (ath10)
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
I think you could use it, but you will have to try it out. I remember when I was using the light the co2 sensor, I had to make use of daisy chain connection for it to work. Check this video : ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-bwVttXh4Lk4.html I would say first try with normal parallel connection and if it does not work, then try the daisy chain connection approach. Hope this helps.
@formatBCE
@formatBCE 4 месяца назад
ESP logs show you IP address.
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
Its an internal IP so its fine.
@formatBCE
@formatBCE 4 месяца назад
@@SmartHomeCircle I meant you don't need any IP scanners, if you have ESPHome console. :)
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
@@formatBCE ohh yes.. good point. For me since I run esphome using docker, the auto discovery fails because of absence of mDNS. Hence I would usually need the ip scanner.
@formatBCE
@formatBCE 4 месяца назад
@@SmartHomeCircle yeah i have mDNS turned off too. What i actually meant, when you open device logs in your ESPHome dashboard, it reports system info (purple lines), and among that lines there's current IP address - so you can take it from there instead of guessing from long list of unknown IP addresses in IP scanner. For myself, i have big pool of static IP addresses, that i use for my smart devices. This way i always know that my DHCP lease didn't expire and device didn't change their IPs.
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
@@formatBCE ohh yes.. I use static IPs too. It's just in the video that I didn't want it to be more complex with static IPs.. as different folks would have different subnets configured in the router. So I tried to at least give people a tool that shows a blue icon next to an active ip address and test if it belongs to the device.
@manfredzimmer1199
@manfredzimmer1199 4 месяца назад
Thanks for the Button and the great Video
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
Glad you liked it. 😊
@Thebyeman
@Thebyeman 4 месяца назад
What type of button is it and where do I connect it to on the board?
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
The circuit diagram in the article shows how to connect the mute button. This is the button I used : s.click.aliexpress.com/e/_DEhJfB1
@Thebyeman
@Thebyeman 4 месяца назад
Checked the article and definitely does not show the button in the parts list the circuit diagram or connection list. It’s in the yaml GPIO10 but where do I connect the other wire? Sorry to be a pain. p.s. I love your work and have been building your things for sometime
@Thebyeman
@Thebyeman 4 месяца назад
I watched the video and managed to pause it at the exact point where I could see it’s connected to GND
@Thebyeman
@Thebyeman 4 месяца назад
Thanks
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
Thank you so much for your kind appreciation. 😃. Definitely helps me keep going.
@Thebyeman
@Thebyeman 4 месяца назад
May I add I stumbled initially once the device was set up, the problem I found was I had to go into voice assistant settings and set up a new assist profile, then leaving wake word empty
@SmartHomeCircle
@SmartHomeCircle 4 месяца назад
@@Thebyeman ohh yes.. you have to not set any wake word in the assist pipeline.
@randazd1434
@randazd1434 2 месяца назад
I'm getting a failure when trying to compile the YAML for the ESP32-S3, any ideas: Failed config micro_wake_word: [source /config/esphome/esp32-voice-assistant.yaml:213] 'models' is a required option for [micro_wake_word]. on_wake_word_detected: - voice_assistant.start: wake_word: !lambda |- return wake_word; silence_detection: True - light.turn_on: id: led_ww red: 30% green: 30% blue: 70% brightness: 60% effect: fast pulse - light.turn_on: id: led_strip effect: Scan Effect With Custom Values red: 80% green: 0% blue: 80% brightness: 80% The model parameter has moved to be a list element under the models parameter. model: hey_jarvis
@SmartHomeCircle
@SmartHomeCircle 2 месяца назад
Its the new update from ESP home for wake words. I'll fix the yaml code.
@SmartHomeCircle
@SmartHomeCircle 2 месяца назад
I fixed the code in my article here: smarthomecircle.com/add-timers-to-voice-assistant-on-device-wake-word-home-assistant#implement-timers
@uvhciM
@uvhciM Месяц назад
@@SmartHomeCircle Hi, I had the same problem he did, and the issue he's talking about seems to be here: models: - model: hey_jarvis The above code creates an error which cannot be compiled. Instead, everything seems to work if you delete all of that and replace it with nothing more than: model: hey_jarvis I'm using just the ESP32-S3, mic, and speaker (no LED strip) setup from your other video, and this change in code seems to have fixed everything for me (also, I've noticed the code in your video at 10:00 in shows the code that works, but the code at your website pages contains the error). Note: I also added your new timer updates to my code (minus the LED strip parts) and it appears to work perfectly thus far.
@SmartHomeCircle
@SmartHomeCircle Месяц назад
This would work if you are using an older version of ESPhome. Since 2024.7 version of ESPHome, you need to use "models" as per what is mentioned in the article.
@uvhciM
@uvhciM Месяц назад
@@SmartHomeCircle - Thank you! After reading this, I looked more closely and realized that while my Pi 4 HA device had updated to 2024.7.3, my HA instance on my Windows VirtualBox (the device used to flash the S3) had not and was still stuck at 2024.6. Once I initiated an ESPHome update, the new code compiled and worked perfectly. Many thanks for your great videos and help on all of this!
Далее
Как снимали мой клип POLI - Котик
00:37
A Face for Home Assistant Voice!
15:42
Просмотров 19 тыс.
Making high quality DIY Mic is easier than you think
14:42
Как снимали мой клип POLI - Котик
00:37