-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Arduino version #41
Comments
I do not think an arduino version is going to allow you upload the sketch to the candle addon manager. I am investigating this reboot issue, I suspect an issue with a broker. I remember an issue with asyncClient.disconnect() causing crashes, I will see if I can find it. |
With regards to Snips, it should be relatively easy. There are a couple of topics you need to recreate. If you check version 6.0, the code is still there. |
This is on Raspbian (WebThings 1.0 image), on a Pi4. I have indeed been looking at the version 6.0 of your code, although I think you mentioned somewhere that it won't work on the Atom Echo. The version of the code I just uploaded is stable, in the sense that it doesn't crash. However, it does this by continuously sending out
I'm the creator of the addon, so I hope it will work. Does the Arduino CLI not support uploading to ESP32? I would probably have to remove loading the config from SPIFFS to keep things simpler, but that seems doable. What issues do you see? |
Indeed, but it might give you a good start if you need it :) If your version works, there is some issue with the actual audio. Can you verify the MQTT_MAX_PACKET_SIZE in your load_settings.py is set to 2000? I do not know all the details of the addon, does the addon upload a sketch to the esp32? And how does this connect to Voco? |
Candle Manager allows users to customise normal arduino code through a UI. It also automatically manages Arduino libraries. In the end, all users have to do is use a UI. There is a walkthrough here: https://www.candlesmarthome.com/candle-manager-tutorial Currently it's geared torwards the Arduino Nano, since Candle devices use that as their basis. I started looking into creating a privacy focussed smart doorbell, and that's what lead me to your project, and the discovery of the Atom Echo. Privacy friendly voice control benefits from having cheap small satellites. Voco already supports using Raspberry Pi (Zero) devices as additional satellites. But having tiny plug-and-play satellites is a very enticing proposition, so I had to look into it :-) |
So back here ;) I'd like to test this, I have a spare Pi. I can install the image you mentioned, and then I have to install Candle Manager? |
I got WebThings running with Voco addon, but now I am stuck. Can you help me configure? Where did you run the Snips Watch command? edit: I am running the esp32 version now in the Echo and I am connected with MQTT to the ip of webthings. |
Not there yet, but the snips detects the audio stream. |
After doing some study, I do not think voco support satellites like this. |
Hi @createcandle, I have checking the code for Voco addon. Due to this design limitations, it take a great deal of effort to get is working. Effort which, in my opinion, could be better spent by implementing the hermes protocol correctly and switching over to Rhasspy. Or maybe even keep snips, but implement the protocol correctly and completely I see you already have a repo open, so I wish you the best of luck with it but I will have to close this issue for the above stated reason. |
Sorry I missed all this, I wasn't logged into this account.
Correct, it won't show up because it doesn't have the extra voco commands. But it could in theory still work with snips. It just won't show up in the UI.
Yeah all that won't be necessary. It just means that they are not shown in the UI.
Yes that's how far I had gotten. It just didn't seem the ASR could understand the audio , likely being because of the encoding of the wav?
I hope I was able to explain that from the other account a bit. It's placed in
Yes, I would have to add ESP32 support.
I know :-) I'm the creator of both Voco and Candle Manger. I would have to add that in, and make it follow the Hermes protocol more. This would have some advantages. For now I would be happy just being able to launch a command. The return audio channel would be a step after that.
I know. But in theory that shouldn't matter, since feedback sounds can be disabled. I believe the suggestion was to disable these feedback sounds.
At the moment, yes. And only to play sounds. The extra Voco stuff is built on top of a normal Snips installation that doesn't output it's own sounds. So the Voco stuff should theoretically not matter?
I wouldn't call it incorrect. It's just that the return channel has been disabled.
Indeed. Implementing the protocol with a MQTT return channel for audio could be instated. Doing so would be worth it if there was an indication that these Atom Echo satellites could work well. But for that I wanted to see if I could get Snips to recognise a command first. It felt like a logical first step. From my tests it seems that it shouldn;t matter that Voco currently doesn't have a return channel. Snips was able to detect the hotword in some rare situations. From looking at the messages, it seems that the lack of a return channel wasn't the issue. The issue was that when the ASR was listening to the stream, it didn't recognise anything. This could be because of the structure of the WAV data. So these were my intended steps:
Voco may at some point in the future switch over the Rhasspy. I wasn hoping you could help me with creating a version that has the Snips wav implementation. But I guess another option is to leave this project for now, and get back to it if/when Rhasspy has been implemented. Either option is fine. Thank you for looking into it, I already appreciate that. |
Good steps, I will post updates in the open issue for this :) If that works, I need to take some steps back to see what went incompatably along the way. I will keep you posted, good to hear you are the developer of both packages :) |
Thanks, that's a good idea. If that works, then that may narrow it down. |
I've tried to create an Arduino version of this project. That may allow users of the WebThings Gateway to create new satellites by simply plugging an Atom Echo into their Raspberry Pi and click on a "make a new satellite" button.
https://github.com/createcandle/voco-mini-satellite
The goal is to make it compatible with Voco. Voco still relies on Snips for now, so I'm curious: would it be hard to make the code compatible with Snips again? Have there been big changes in this regard?
Is this correct for the Atom Echo?
Also, I seem to run into the same error where is reboots every few seconds. I've added some extra debug outputs in the log below to try and figure out at what point things to wrong.
It's almost as if it's running twice.
The text was updated successfully, but these errors were encountered: