Almond: How?

Total noob trying to set up Almond voice assistant in Home Assistant.
I installed it and plugged in my USB microphone/speaker. But I have no idea what to do next. The videos I’ve watched seem to indicate its just magic and works. I don’t see a microphone or speaker entitie and everything I click on in the Almond page seems to want to go to stanford . I thought Almond was local only?
So here are my issues:
How do I install a USB microphone/speaker?
Which USB microphone speakers are supported?
Mine is a Depusheng
Is there any detailed documentation on how to set this up since just plugging it in doesn’t work?
Is it really all local or does it require ‘cloud’ access to stanford in order to work at all?

Thanks!

I rebooted the Pi and got “BY Y02 Analog Stereo” listed in Input and Output under Configuration.
The Almond log shows this:

[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] done.
[services.d] starting services
[services.d] done.
2022/01/02 05:59:40 [notice] 205#205: using the "epoll" event method
2022/01/02 05:59:40 [notice] 205#205: nginx/1.14.2
2022/01/02 05:59:40 [notice] 205#205: OS: Linux 5.10.63-v8
2022/01/02 05:59:40 [notice] 205#205: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2022/01/02 05:59:40 [notice] 205#205: start worker processes
2022/01/02 05:59:40 [notice] 205#205: start worker process 235
2022/01/02 05:59:46 [error] 235#235: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.30.32.2, server: _, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:3000/", host: "hassio.asgard:8123", referrer: "http://hassio.asgard:8123/core_almond"
172.30.32.2 - - [02/Jan/2022:05:59:46 +0000] "GET / HTTP/1.1" 502 575 "http://hassio.asgard:8123/core_almond" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36"
Frontend initialized in development mode
Failed to load translations: gt.loadTextdomainDirectory is not a function
Snowboy initialized
Failed to cache event sound: Operation not supported
error on PulseAudio Error: Connection refused
    at PulseAudioContext.<anonymous> (/opt/almond/node_modules/pulseaudio2/lib/pulse.js:120:36)
Added device org.thingpedia.builtin.thingengine.server
Added device thingengine-own-server:fc94b8cc3c17253b
Loaded class definition for com.icanhazdadjoke, module type: org.thingpedia.v2, version: 14
Added device com.icanhazdadjoke
Added device org.thingpedia.builtin.test
Added device org.thingpedia.builtin.thingengine.builtin
Engine started

No sound out and no verbal commands in.
Ideas?

More Info: When I click on a Skill, like a switch, I get a Frown, and hovering over that shows:

almond.stanford.edu refused to connect.

Edit: This actually happens on ANY Skill I click on.

I believe Almond was succeeded by Genie.

Almond was the sucessor to Ada…here we go again
Any rate, I found this on the Almond HA page:

Your Home Assistant installation needs to be externally accessible if you want Almond Web to be able to control Home Assistant.

So I guess I’m going to uninstall Almond. So much for anonymity…

That’s just for Almond Web, an optional cloud instance you can instead of your own local setup. If you install the Almond add-on, you have a local Almond server, and you can use that instead. I haven’t used Almond per se (the official Home Assitant add-on, I mean), but I did set up the most recent Genie development version using these instructions (linked to from the main Almond/Genie instructions) as a HASS add-on, and that is how it works there.

I actually went a bit more complicated and used a Genie client on a Raspberry Pi for testing, but supposedly if you have mic and speakers hooked up to your HASS install (or anywhere you have the Genie server installed, if you’re doing it standalone), then you should be able to use that as a “client” directly, too. If anything, that would be easier than what I did.

The docs are kind of a mess right now, IMHO, probably because they are working on rebranding Almond to Genie as they upgrade to a latest version that (I think?) they don’t yet consider stable. I imagine this will get better as they standardize docs and whatnot on the latest version; right now, it’s hard for me to tell what is what. But the above is what got me going, and I decided I wanted to start with “new” Genie and not “old” Almond off the bat, so that’s why I went with what I did. If you want to use Almond for the time being, I can’t speak to that experience or the official HASS add-on…

Went to the Genie Wiki to try it out:

There are three ways to set up the Genie server:

  • The most common way is through Home Assistant:
    • The stable version of Genie is available as an add-on in the official repository. To install it, go to the Add-on Store and select “Genie” as the add-on. After installing and starting the add-on, the server can be customized from the web interface, available through the “Open Web UI” link.

Yeah, its not in the Home Asistant add-on repository. Just starting out its a snafu…

My Spidey senses are telling me to Run Away, Run Away!!!

I cannot understand why the Home Assistant powers-that-be have thrown their weight behind Almond/Genie, rather than something that is working now.

I am currently using Rhasspy in a base and 3 satellite configuration. It doesn’t have the fancy back-and-forth-dialog demo, and is limited by local processing resources … but it runs locally, with multiple satellites.

I wonder if Genie will ever grow from a research project, and become a real-world supported product ?

1 Like

@donburch888

Yeah I’m another victim which got mislead by Almond/Genie’s “privacy” talk.

Yes, I can have my own server instance, but what good is it if the data is still sent to 15 other servers on the interwebz, just be analyzed and then returned back.

Thanks for the Rhasspy recomendation, I’ll give it a shot.

Who wants to talk to developer biased neural networks anyways. All I need is to let the computer know when to play music, turn on the light, or trigger an automation, simply by using my voice.