In Home Assistant, select Settings from left side panel, then “Devices and Services”, then on Top menu select Devices. Find your M5Stack Atom Echo device there and click on it. It should open a configuration panel.
Is your Assist pipeline showing in your config like this (see red box) i.e. is active?
ohhh, got it.
my was that way to begin with, so i couldn’t see what extra action was needed.
as mentioned - mine still doesn’t work.
sorry for the misunderstanding.
however, i can see that yours does not appear with media player properties as well…
True. Not something I planned on using i.e. as a playback device. It does answer via the little speaker so must be detecting it somehow! Like yourself I am just learning this which doesn’t help you.
Perhaps others can chime in if reading as unsure why your Button isn’t working and only flashing blue?
I added logs to the voice_assistant entity in esphome and voice_assistant.on_start is never called. However it correctly recognizes when I press and release buttons.
Ha…I never thought about mentioning that part ie. checking that you were using Whisper, Piper, & Wyoming which are used for Voice Assistant. Great to hear that you worked it out
hi @sidorovonline
can you explain the yaml you shared? where is if from?
im also using piper, but mine still just flashes blue when i release the button.
and no log is registered in the pipeline debug
BTW i adopted the M5 in esphome. was that a mistake? should i try to reset and reinstall from the webpage?
any tips would be great.
cheers
so…
updated to v7.0 but same problem.
still pressing the button starts the “assist in progress”, but when i release the button, blue light start blinking and nothing is being registered under the pipeline debug. i do see a rotating circle next to the “speech-to-text” card in the debug.
any ideas anyone?
ill be happy to provide any other info that might help
I restored my HA to an earlier date (prior to setting my AtomEcho up). I’ll let you know how I go once I reinstall Whisper, Piper etc again.
As for “Adopting” in ESP32, no idea. I adopted mine in advance as a matter of interest. As noted I’ll report back once done…tomorrow.
Quick Reply: I installed Whisper and then Piper.
Then in Settings → Add-Ons, where both showed up, was prompted for them to be added as Part of Voice Assist. I clicked on the prompted configure.
I restarted. Not working at this point and just Blue Flashing light if button clicked.
Next Step, I want to Settings → Add-Ons → Voice Assist. I added a new Assistant. In there I made sure I selected
Conversation Agent = Home Assistant.
Speech-to-text = Faster Whisper.
Text-to-speech = Piper. Voice set to: en-us-less-low
I restarted for good measure. Once I did this all was well on mine i.e. clicking on button now listened to me and replied with result. Are your VoiceAssist settings like above? Am using mobile device so no including pics.
im assuming the Add-Ons is a mistake, as “Voice assist” is directly under “settings” and not nested under the “Add-Ons” section (like whisper and piper). but correct me if i’m wrong.
and another Q: you meant en-us-lessac-low ? otherwise i do not have that option.
unfortunately, mine still does not work. blue light keeps flashing for few more sec after release, “assist in progress” stays “on” for few more seconds and goes back to “off”, and everything’s resets as the blinking light turns off, and i can press it once more to get same results.
i really appreciate your help though.
im not really sure what is missing from my setup, or how to further investigate.
im adding the log from whisper, maybe someone can better understand what wrong with it
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service whisper: starting
s6-rc: info: service whisper successfully started
s6-rc: info: service discovery: starting
WARNING:wyoming_faster_whisper.download:Model hashes do not match
WARNING:wyoming_faster_whisper.download:Expected: {'config.json': 'e5a2f85afc17f73960204cad2b002633', 'model.bin': '9674f22b7dee7b4d321a46f235ea6c7f', 'vocabulary.txt': 'c1120a13c94a8cbb132489655cdd1854'}
WARNING:wyoming_faster_whisper.download:Got: {'model.bin': '', 'config.json': '', 'vocabulary.txt': ''}
INFO:__main__:Downloading FasterWhisperModel.TINY_INT8 to /data
INFO:__main__:Ready
[14:55:53] INFO: Successfully send discovery information to Home Assistant.
s6-rc: info: service discovery successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
ERROR:asyncio:Task exception was never retrieved
future: <Task finished name='Task-26' coro=<AsyncEventHandler.run() done, defined at /usr/local/lib/python3.9/dist-packages/wyoming/server.py:26> exception=ValueError("can't extend empty axis 0 using modes other than 'constant' or 'empty'")>
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/wyoming/server.py", line 32, in run
if not (await self.handle_event(event)):
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/handler.py", line 61, in handle_event
segments, _info = self.model.transcribe(
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/faster_whisper/transcribe.py", line 124, in transcribe
features = self.feature_extractor(audio)
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/faster_whisper/feature_extractor.py", line 152, in __call__
frames = self.fram_wave(waveform)
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/faster_whisper/feature_extractor.py", line 98, in fram_wave
frame = np.pad(frame, pad_width=padd_width, mode="reflect")
File "/usr/local/lib/python3.9/dist-packages/numpy/lib/arraypad.py", line 819, in pad
raise ValueError(
ValueError: can't extend empty axis 0 using modes other than 'constant' or 'empty'
ERROR:asyncio:Task exception was never retrieved
future: <Task finished name='Task-245' coro=<AsyncEventHandler.run() done, defined at /usr/local/lib/python3.9/dist-packages/wyoming/server.py:26> exception=ValueError("can't extend empty axis 0 using modes other than 'constant' or 'empty'")>
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/wyoming/server.py", line 32, in run
if not (await self.handle_event(event)):
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/handler.py", line 61, in handle_event
segments, _info = self.model.transcribe(
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/faster_whisper/transcribe.py", line 124, in transcribe
features = self.feature_extractor(audio)
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/faster_whisper/feature_extractor.py", line 152, in __call__
frames = self.fram_wave(waveform)
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/faster_whisper/feature_extractor.py", line 98, in fram_wave
frame = np.pad(frame, pad_width=padd_width, mode="reflect")
File "/usr/local/lib/python3.9/dist-packages/numpy/lib/arraypad.py", line 819, in pad
raise ValueError(
ValueError: can't extend empty axis 0 using modes other than 'constant' or 'empty'
ERROR:asyncio:Task exception was never retrieved
future: <Task finished name='Task-296' coro=<AsyncEventHandler.run() done, defined at /usr/local/lib/python3.9/dist-packages/wyoming/server.py:26> exception=ValueError("can't extend empty axis 0 using modes other than 'constant' or 'empty'")>
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/wyoming/server.py", line 32, in run
if not (await self.handle_event(event)):
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/handler.py", line 61, in handle_event
segments, _info = self.model.transcribe(
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/faster_whisper/transcribe.py", line 124, in transcribe
features = self.feature_extractor(audio)
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/faster_whisper/feature_extractor.py", line 152, in __call__
frames = self.fram_wave(waveform)
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/faster_whisper/feature_extractor.py", line 98, in fram_wave
frame = np.pad(frame, pad_width=padd_width, mode="reflect")
File "/usr/local/lib/python3.9/dist-packages/numpy/lib/arraypad.py", line 819, in pad
raise ValueError(
ValueError: can't extend empty axis 0 using modes other than 'constant' or 'empty'
ERROR:asyncio:Task exception was never retrieved
future: <Task finished name='Task-335' coro=<AsyncEventHandler.run() done, defined at /usr/local/lib/python3.9/dist-packages/wyoming/server.py:26> exception=ValueError("can't extend empty axis 0 using modes other than 'constant' or 'empty'")>
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/wyoming/server.py", line 32, in run
if not (await self.handle_event(event)):
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/handler.py", line 61, in handle_event
segments, _info = self.model.transcribe(
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/faster_whisper/transcribe.py", line 124, in transcribe
features = self.feature_extractor(audio)
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/faster_whisper/feature_extractor.py", line 152, in __call__
frames = self.fram_wave(waveform)
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/faster_whisper/feature_extractor.py", line 98, in fram_wave
frame = np.pad(frame, pad_width=padd_width, mode="reflect")
File "/usr/local/lib/python3.9/dist-packages/numpy/lib/arraypad.py", line 819, in pad
raise ValueError(
ValueError: can't extend empty axis 0 using modes other than 'constant' or 'empty'
ERROR:asyncio:Task exception was never retrieved
future: <Task finished name='Task-347' coro=<AsyncEventHandler.run() done, defined at /usr/local/lib/python3.9/dist-packages/wyoming/server.py:26> exception=ValueError("can't extend empty axis 0 using modes other than 'constant' or 'empty'")>
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/wyoming/server.py", line 32, in run
if not (await self.handle_event(event)):
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/handler.py", line 61, in handle_event
segments, _info = self.model.transcribe(
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/faster_whisper/transcribe.py", line 124, in transcribe
features = self.feature_extractor(audio)
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/faster_whisper/feature_extractor.py", line 152, in __call__
frames = self.fram_wave(waveform)
File "/usr/local/lib/python3.9/dist-packages/wyoming_faster_whisper/faster_whisper/feature_extractor.py", line 98, in fram_wave
frame = np.pad(frame, pad_width=padd_width, mode="reflect")
File "/usr/local/lib/python3.9/dist-packages/numpy/lib/arraypad.py", line 819, in pad
raise ValueError(
ValueError: can't extend empty axis 0 using modes other than 'constant' or 'empty'
Apologies for my errors as using Tablet. You are correct to both.
Here is my Whisper log for what it’s worth. You can see my queries at the end. Not sure how to paste here to show same colours so pasted as code
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service whisper: starting
s6-rc: info: service whisper successfully started
s6-rc: info: service discovery: starting
WARNING:wyoming_faster_whisper.download:Model hashes do not match
WARNING:wyoming_faster_whisper.download:Expected: {'config.json': 'e5a2f85afc17f73960204cad2b002633', 'model.bin': '9674f22b7dee7b4d321a46f235ea6c7f', 'vocabulary.txt': 'c1120a13c94a8cbb132489655cdd1854'}
WARNING:wyoming_faster_whisper.download:Got: {'model.bin': '', 'config.json': '', 'vocabulary.txt': ''}
INFO:__main__:Downloading FasterWhisperModel.TINY_INT8 to /data
INFO:__main__:Ready
[19:43:36] INFO: Successfully send discovery information to Home Assistant.
s6-rc: info: service discovery successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
INFO:wyoming_faster_whisper.handler:
INFO:wyoming_faster_whisper.handler: Turn on Kitchen Light.
INFO:wyoming_faster_whisper.handler: Turn off Kitchen Light.
INFO:wyoming_faster_whisper.handler: Turn on kitchen light.
now i believe there is something wrong with my whisper add-on. im getting some errors that do not need to be there, im just not sure what needs to be done to fix them. reinstalling is not helping, and im afraid this is beyond my scope of knowledge…
hopefully someone will pick up the glove.
ill be here… (should i seek help elsewhere? this forum is always my “go to” place)
cheers, and again - thanks for your help and input.
surprisingly enough, my whisper communication problem got fixed when i allowed the ‘atom’ device more wiggle-room though my firewall…
im guessing its due to my Vlan config, but anyways, just happy it got figured out (at least in my case).
ill probably spend the next few hours turning stuff on and off via voice commands, and than never use it again until there will be a “waking word” to try out…
Great to hear.
I was the same. Bought it to test out with VoiceAssist but found it to be crap i.e. doesn’t understand 95% of what I ask. Early days and hoping that improves in the months ahead. It’s good to have nonetheless for playing with. Enjoy.
My Atom works pretty well even if it noisy.
I am running the latest build.
Be aware that what you are asking it is very important as there are only a few built in commands.
I am working on understanding how to add to these commands for my own purposes.
Here is what I have red on the existing commands. They are in the link provided.
My main issue are the device aliases being understood. First attempt e.g, “Kitchen” may work, then all later attempts fail. I test by adding simple alias words to a device/entity but it rarely translates correctly. More often than not the result each time is a translation that is so far off what was said and different every time makes in impossible to know what alternate alias words to add to a device. My English is clear or so I thought .
My setup is on a i5 CPU with plenty of RAM so not due to a slow system. I also tried larger ((less compressed) Whisper model files to no avail.
I’ll play around over time as it is all a work in progress.
Hi, based on what has been reported above, I believe I have the same problem. But in my case, in the ESPhome Atom Echo config, the assist pipeline is selected correctly and still it is not working. I am using piper and whisper as required and the pipeline is working fine when using my notebook with home assistant as voice input, so the pipeline should be fine.
ok, i removed the m5 echo from ha, and reflashed it through the esphome project site (Ready-Made Projects — ESPHome)
the crashes after an unrecognized command are gone for the most of the time. but the german text recognition is in my opinion not usable at the moment (or my system is to weak)
the nabucasa cloud works pretty well and i will use the trial and decide if i get a subscription (also in terms of project support).
i’m currently also have problems with the atom m5 echo. no matter if i use nabu casa cloud or an assist pipline (piper/whisper) the m5 echo quits functioning after an “unrecognizable command”. i have to power cycle it afterwards and it works for one or two commands than again quits service… flashed the m5 with the manual from the ha knowledgebase. using mobile app works most of the time, especially with the nabucasa cloud.