Almond & Ada: privacy-focused voice assistant

Just an FYI… some of the links are broken on the Almond page in the Add-on store… like this one: https://www.home-assistant.io/addons/almond/

And some of the config instructions seem… um… incomplete, like this:

Configuration

Example add-on configuration:

{
}

I wish there was a way to test audio/input on the Ada add-on page. I hooked up a pair of USB speakers and a PS3 Camera (microphone) that I previously used with Mycroft.AI but am getting no indication either is working. I was able to select both from the drop down boxes.

Hi @lukastillmann, author of Rhasspy here. If you’re willing to author your own voice commands, you can get started with Rhasspy in any of the supported languages today. The most tested languages are English, Dutch, Italian, Portuguese, German, French, Spanish, and Russian.

I’m working on a new HA integration for Rhasspy that will automatically generate voice commands for common use cases using your custom device names. If you’re able to help with translations (or know anyone), it would be much appreciated!

2 Likes

For those interested, here are the ways Rhasspy can get audio input.

Now someone need to figure out how to flash or sideload a voice firmware to alexas and google homes so we could use the existing hardware for an open source voice. Might not be impossible since some already intercepted the OTA and file structure unless thats not possible anymore.

2 Likes

Or figure out a way to get a “skill” into their app stores that essentially acts like a proxy to for this so we can leverage the HW we have while keeping the data/state information secured and private.

Its not impossible to make your own skill with common search phrases, though that require the skill trigger word. Maybe its possible to use the fallback utterance to do a wildcard command that you just pass on via ha and use tts back to alexa

so alexa custom skill -> wildard or search phrase -> to ha -> local AI -> to TTS.

Though would be more fun if it could be run without using the skill word (yes, a routine can be used, but my goal would be to have all config in one place - I do not want to setup alexa in their app, plus ha in software)

Than you Paulus, changed to the portable (took a minute to realize it was just another tag, not a separate repository) but once that was figured I got it going.

In case anyone else starts with the almond-server:latest in docker instead of almond-server-latest-portable I had to delete everything that was generated from latest in the configuration folder on the host before starting up latest-portable. After cleaning this up, the container started correctly with the new image.

Thanks!
DeadEnd

Just to re-iterate regarding Ada, you can’t use it as a google home / Alexa yet, balloob says:

I was able to install Ada, but I apparently its not usable in my setup yet. Some notes for anyone toying around…

git clone --branch 0.7 https://github.com/home-assistant/ada
cd ada
sudo apt-get install portaudio19-dev
pip3 install .
------------------------------------------
STT=$(bashio::config 'stt')
TTS=$(bashio::config 'tts')

exec python3 -m ada --url "http://hassio/homeassistant" --key "$HASSIO_TOKEN" --stt "$STT" --tts "$TTS"
---------------------------
https://github.com/home-assistant/hassio-addons/tree/master/ada

Slowly my home automation has gone from a useless toy to something appreciated by everyone, wife included. It is increasingly stable, and we rely on it.

I think the turning point was when wife and daughter become able to run automations via voice with google home.

But I would be extremely happy to abandon google (which in any case did not impress me for its smartness) and I’d more than willingly go to a local solution.

Having said that, I have some doubts. How do you position this with Snips.ai and Rhasspy? Are they essentially competing products?

And on hardware, I always thought this would be a proper solution. Are there better things?

2 Likes

OK, so been playing with Almond a bit in HA (local server in Docker) and I found something that can be bug or feature.
If you have local Almond install, it can support only one instance of HA, which is OK but should be highlighted in documentation.

BUT what I found strange - even if you remove Almod integration in HA, remove it from configuration.yaml, restart HA, Almod user remains, and as it is system generated it can’t be removed.

Problem is that if you wish to connect with Almond it refuses connection with error 403.

Since Almod is in Docker, I removed it, cleaned folders, recreated it once again, and still HA can’t reconnect.

Bug? Feature?

Trying to run Almond on Ubuntu Server, installed Podman, and I am encountering the error below when trying to initialize it. Anyone encounter this and know what to do?

~$ podman run -p 3000:3000 --uidmap keep-id \
     -v /dev/shm:/dev/shm \
     -v $XDG_RUNTIME_DIR/pulse:/run/pulse \
     -v ${XDG_CONFIG_HOME:-$HOME/.config}/almond-server:/var/lib/almond-server \
     stanfordoval/almond-server
Error: unable to pull stanfordoval/almond-server: image name provided is a short name and no search registries are defined in the registries config file.

What languages will Ada and Almond support?

And I hope it will support constant circular buffer recording so I could just say “Almond, turn off the lights” without making a pause between first two words

Try

github://stanfordoval/almond-server

Really happy to see the direction this whole project is going!
As in this case I am more a user than a developer I have a question towards the implementation of the feature. Is there is a particular reason why the audio input / output is focused on the server / raspberry?
I think most of us use HA from any sort of mobile devices. In my case I have a couple of old phones / tables I would just like to place all over the house and use them.

Almond only supports English at the moment. Other languages are possible but are not currently on their roadmap.

About circular buffers, we’re looking for help in improving Ada. The source is here :slight_smile:

In Addition to Ada, have you considered to look at Common Voice (a Mozilla project)? This would be a bit more privacy focused voice database than Azure Cognitive services. I totally agree with your current approach to get it up and running, but for the long term, this might be a way to go…

I’m not sure if you can ‘sideload’ different firmware on to Echo devices, I imagine making a custom skill would be the way forward here.

hi, i tried to set up the custom component for telegram, but it doesnt work, anyone try this?