Snips.ai
Snips.ai is an AI-powered voice assistant that runs on the Raspberry Pi 3 and x86 platforms. It runs on-device and is Private by Design.
To get started, follow their tutorial to create an assistant and download the training data.
Now install and activate the Samba add-on so you can upload your training data. Connect to the “share” Samba share and copy your training data over. Name the file assistant.zip
.
Now it’s time to start Snips for the first time. When the Snips add-on starts, it will output your audio devices:
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
You need to use this information to point the add-on at the right speakers and microphone. The information describes different cards and devices. On a Raspberry Pi 3, card 0 - device 0 is the built-in headset port, card 0 - device 1 is the HDMI port. In the example above, the USB microphone showed up as card 1 - device 0.
Find the microphone and speakers that you want to use and note down their device and card number. We will need that to configure the add-on options mic
(microphone to use) and speaker
(speaker to use). The format for these options is <card #>,<device #>
. Change the configuration options and click save.
Now start the add-on.
Add-On configuration
{
"mic": "1,0",
"speaker": "1,0",
"assistant": "assistant.zip",
"mqtt_bridge": {
"active": true,
"host": "172.17.0.1",
"port": 1883,
"user": "",
"password": ""
},
}
Configuration variables:
- mqtt_bridge (Optional): Snips uses MQTT to communicate and defaults to their own broker. Use this config option to bridge their broker to your own.
- mic: This is the hardware address of your microphone. Look at the Snips
Home Assistant configuration
Use the Home Assistant Snips.ai component to integrate the add-on into Home Assistant.
snips: