Snips is an AI-powered voice assistant - Alexa alternative

or do a bridge with 2 mqtt, but is way too technical for me unless a clear walkthrough is provided

Any news if there is a possibility of using an existing MQTT broker? I’m using lots of topics on an existing Mosquitto broker at the moment.

Awaiting too

Would be awesome, really keen to give this a go but need my Mosquitto server! Any way of referencing two MQTT servers in HASS?

Thankfully you can bridge two mqtt services. Probably about 30 minutes work for you until Snips can reference an external mqtt service.
Google is your friend, I’m on mobile and it’s kids bed time :sunglasses:

Check out this thread for the bridge with a normal installation, or this thread for Hass.io.

Thanks. Is there anyway to bridge locally rather than using Cloud? I try to keep everything on-prem for reliability and latency reasons.

Yes… swap out any mention of CloudMQTT names, hostnames, IP’s, ports for Snip’ own IP, MQTT port, etc etc.

1 Like

How is the raspberry pi “build” “packaged”, is it in form of compiled binaries? Do you guys think the raspberry pi files would work also on other armv7 cpu’s (Orange PI).

https://github.com/snipsco/snips-platform-documentation/wiki/1.-Setup-the-Snips-Voice-Platform-on-your-Raspberry-Pi

I dislike the way the forum has turned my pretty specific link to what you want to know, into a generic looking, “here’s the documentation fool” kind of insult… sheesh! That was supposed to just be a subtle undertone!

https://github.com/snipsco/snips-platform-documentation/wiki/1.-Setup-the-Snips-Voice-Platform-on-your-Raspberry-Pi

There we go, specifically:

https://github.com/snipsco/snips-platform-documentation/wiki/1.-Setup-the-Snips-Voice-Platform-on-your-Raspberry-Pi#step-3-install-the-snips-platform

Mentions this bash script…

https://install.snips.ai

Which mentions this Docker container:

snipsdocker/platform

Which lives here:

https://hub.docker.com/r/snipsdocker/platform/

Having a peak in tags reveals more than just arm support, there’s an x86 version tucked away there too.

I imagine it’ll work on the OrangePi if it’s armv7 as the install script checks for that on line #48. Just follow the install script for RaspberryPi and see how you get along. YMMV but keep us updated :slight_smile:

snips:
  intents:
    ActivateLightColor:
      action:
        - service: light.turn_on
          data_template:
            entity_id: light.{{ objectLocation | replace(" ","_") }}
            color_name: {{ objectColor }}

2017-07-15 14:56:51 ERROR (Thread-1) [homeassistant.util.yaml] invalid key: “OrderedDict([(‘objectColor’, None)])”
in “/home/homeassistant/.homeassistant/configuration.yaml”, line 317, column 0
2017-07-15 14:56:51 ERROR (MainThread) [homeassistant.bootstrap] Error loading /home/homeassistant/.homeassistant/configuration.yaml: invalid key: “OrderedDict([(‘objectColor’, None)])”
in “/home/homeassistant/.homeassistant/configuration.yaml”, line 317, column 0

1 Like

receive also errors in LOG

pi@raspberrypi:~ $ docker run -t --rm --name snips --log-driver none -v /home/pi /.asoundrc:/root/.asoundrc -v /opt/snips/config:/opt/snips/config --privileged - v /dev/snd:/dev/snd snipsdocker/platform --mqtt 192.168.1.25:1883
google-asr is disabled
Spawning /usr/bin/snips-asr /usr/share/snips/asr --acoustic_scale=0.83 --endpoin ting=false,4.0,inf,0.0:true,0.5,2.0,0.0:true,1.0,8.0,0.0:true,2.0,inf,0.0:false, 0.0,inf,10.0 --beam_size=8 mqtt
Spawning /usr/bin/snips-audio-server mqtt --frame=256
Spawning /root/go/bin/tts --cs=/root/resources
Spawning /usr/bin/snips-hotword /usr/share/snips/hotword/ mqtt --threshold 0.25 --wait 40
Spawning /usr/bin/snips-queries -c /root/resources/snips.ini -p /opt/snips/confi g
Spawning /usr/bin/snips-dialogue mqtt --assistant /opt/snips/config/assistant/as sistant.json --config /usr/share/snips/dialogue --timeout 20
Spawning /usr/bin/snips-analytics -c /root/resources/snips.ini -p /opt/snips/con fig
snips-debug is disabled
2017-07-15 13:09:28,885 CRIT Supervisor running as root (no user in config file)
2017-07-15 13:09:28,901 INFO supervisord started with pid 38
2017-07-15 13:09:29,910 INFO spawned: ‘snips-tts’ with pid 41
2017-07-15 13:09:29,921 INFO spawned: ‘snips-dialogue’ with pid 42
2017-07-15 13:09:29,934 INFO spawned: ‘snips-asr’ with pid 43
2017-07-15 13:09:29,944 INFO spawned: ‘snips-analytics’ with pid 44
2017-07-15 13:09:29,955 INFO spawned: ‘snips-hotword’ with pid 45
2017-07-15 13:09:29,965 INFO spawned: ‘snips-audio-server’ with pid 46
2017-07-15 13:09:29,972 INFO spawned: ‘snips-queries’ with pid 47
2017/07/15 13:09:30 user ini.Load: open /opt/snips/config/user.ini: no such file or directory
2017/07/15 13:09:30 Mic settings file not detected, setting default sensitivity 0.5 & gain 1
2017/07/15 13:09:30 Connection to broker tcp://192.168.1.25:1883 succeded
[13:09:31.074364] INFO :snips_dialogue: Loading the configuration file
2017-07-15 13:09:31,075 INFO success: snips-tts entered RUNNING state, process h as stayed up for > than 1 seconds (startsecs)
2017-07-15 13:09:31,076 INFO success: snips-dialogue entered RUNNING state, proc ess has stayed up for > than 1 seconds (startsecs)
2017-07-15 13:09:31,076 INFO success: snips-asr entered RUNNING state, process h as stayed up for > than 1 seconds (startsecs)
2017-07-15 13:09:31,076 INFO success: snips-analytics entered RUNNING state, pro cess has stayed up for > than 1 seconds (startsecs)
2017-07-15 13:09:31,077 INFO success: snips-hotword entered RUNNING state, proce ss has stayed up for > than 1 seconds (startsecs)
2017-07-15 13:09:31,077 INFO success: snips-audio-server entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-07-15 13:09:31,077 INFO success: snips-queries entered RUNNING state, proce ss has stayed up for > than 1 seconds (startsecs)
[13:09:31.217482] ERROR:snips_dialogue: DialogueError(Serde(ErrorImpl { code: Me ssage("missing field name"), line: 1073, column: 9 }), State { next_error: Non e })
[13:09:31.217822] INFO :snips_analytics: Will connect to 192.168.1.25:1883
2017-07-15 13:09:31,264 INFO exited: snips-dialogue (exit status 1; not expected )
[13:09:31.302953] INFO :rumqtt::connection: $$$ Connected to broker
2017-07-15 13:09:31,308 INFO spawned: ‘snips-dialogue’ with pid 56
[13:09:31.333678] INFO :snips_dialogue: Loading the configuration file
[13:09:31.318493] INFO :rumqtt::connection: $$$ Connected to broker
[13:09:31.386150] ERROR:snips_dialogue: DialogueError(Serde(ErrorImpl { code: Me ssage("missing field name"), line: 1073, column: 9 }), State { next_error: Non e })
2017-07-15 13:09:31,389 INFO exited: snips-dialogue (exit status 1; not expected )
[13:09:31.488664] INFO :snips_analytics : Idle
[13:09:32.243824] INFO :reqwest::client: Request: Put https://atomic.snips.ai/v1 /billing
2017-07-15 13:09:33,252 INFO spawned: ‘snips-dialogue’ with pid 60
[13:09:33.534590] INFO :snips_dialogue: Loading the configuration file
[13:09:33.584253] ERROR:snips_hotword: HotwordError(AudioClient(AudioClientError (Io(Error { repr: Os { code: 99, message: “Cannot assign requested address” } }) , State { next_error: None })), State { next_error: None })
[13:09:33.591445] ERROR:snips_dialogue: DialogueError(Serde(ErrorImpl { code: Me ssage("missing field name"), line: 1073, column: 9 }), State { next_error: Non e })
2017-07-15 13:09:33,593 INFO exited: snips-dialogue (exit status 1; not expected )
2017-07-15 13:09:33,615 INFO exited: snips-hotword (exit status 1; not expected)
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
2017-07-15 13:09:33,646 INFO spawned: ‘snips-hotword’ with pid 61
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection r efused

ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection r efused

[13:09:33.772541] INFO :audio_server::audio: Use input device: “default”
[13:09:34.313549] INFO :rumqtt::connection: $$$ Connected to broker
snips_stt --use-energy=false --num-mel-bins=40 --num-ceps=40 --low-freq=20 --hig h-freq=-400 --sample-frequency=16000
[13:09:34.560997] INFO :snips_asr: Loaded model from /usr/share/snips/asr
[13:09:34.565454] INFO :rumqtt::connection: $$$ Connected to broker
[13:09:34.568498] INFO :snips_asr : Idle
2017-07-15 13:09:35,571 INFO success: snips-hotword entered RUNNING state, proce ss has stayed up for > than 1 seconds (startsecs)
2017-07-15 13:09:36,583 INFO spawned: ‘snips-dialogue’ with pid 86
[13:09:36.612904] INFO :snips_dialogue: Loading the configuration file
[13:09:36.665460] ERROR:snips_dialogue: DialogueError(Serde(ErrorImpl { code: Me ssage("missing field name"), line: 1073, column: 9 }), State { next_error: Non e })
2017-07-15 13:09:36,668 INFO exited: snips-dialogue (exit status 1; not expected )
2017-07-15 13:09:39,694 INFO spawned: ‘snips-dialogue’ with pid 87
[13:09:39.718831] INFO :snips_dialogue: Loading the configuration file
[13:09:39.771854] ERROR:snips_dialogue: DialogueError(Serde(ErrorImpl { code: Me ssage("missing field name"), line: 1073, column: 9 }), State { next_error: Non e })
2017-07-15 13:09:40,780 INFO success: snips-dialogue entered RUNNING state, proc ess has stayed up for > than 1 seconds (startsecs)
2017-07-15 13:09:40,781 INFO exited: snips-dialogue (exit status 1; not expected )
2017-07-15 13:09:41,793 INFO spawned: ‘snips-dialogue’ with pid 88
[13:09:41.836956] INFO :snips_dialogue: Loading the configuration file
[13:09:41.898408] ERROR:snips_dialogue: DialogueError(Serde(ErrorImpl { code: Me ssage("missing field name"), line: 1073, column: 9 }), State { next_error: Non e })
2017-07-15 13:09:41,900 INFO exited: snips-dialogue (exit status 1; not expected )
2017-07-15 13:09:42,915 INFO spawned: ‘snips-dialogue’ with pid 89
[13:09:42.950602] INFO :snips_dialogue: Loading the configuration file
[13:09:43.008094] ERROR:snips_dialogue: DialogueError(Serde(ErrorImpl { code: Me ssage("missing field name"), line: 1073, column: 9 }), State { next_error: Non e })
2017-07-15 13:09:43,011 INFO exited: snips-dialogue (exit status 1; not expected )
2017-07-15 13:09:45,019 INFO spawned: ‘snips-dialogue’ with pid 90
[13:09:45.047290] INFO :snips_dialogue: Loading the configuration file
[13:09:45.107289] ERROR:snips_dialogue: DialogueError(Serde(ErrorImpl { code: Me ssage("missing field name"), line: 1073, column: 9 }), State { next_error: Non e })
2017-07-15 13:09:45,112 INFO exited: snips-dialogue (exit status 1; not expected )
2017-07-15 13:09:48,122 INFO spawned: ‘snips-dialogue’ with pid 91
[13:09:48.152341] INFO :snips_dialogue: Loading the configuration file
[13:09:48.205760] ERROR:snips_dialogue: DialogueError(Serde(ErrorImpl { code: Me ssage("missing field name"), line: 1073, column: 9 }), State { next_error: Non e })
2017-07-15 13:09:48,211 INFO exited: snips-dialogue (exit status 1; not expected )
2017-07-15 13:09:49,214 INFO gave up: snips-dialogue entered FATAL state, too ma ny start retries too quickly
[13:09:54.821112] INFO :snips_hotword : Hotword detected
[13:10:19.661230] INFO :rumqtt::connection: $$$ Connected to broker
[13:10:19.664231] INFO :snips_queries : Idle

2017-07-19 08:37:32 ERROR (Thread-1) [homeassistant.util.yaml] invalid key: "OrderedDict([('objectColor', None)])"
  in "/home/homeassistant/.homeassistant/configuration.yaml", line 235, column 0
2017-07-19 08:37:32 ERROR (MainThread) [homeassistant.bootstrap] Error loading /home/homeassistant/.homeassistant/configuration.yaml: invalid key: "OrderedDict([('objectColor', None)])"
  in "/home/homeassistant/.homeassistant/configuration.yaml", line 235, column 0
2017-07-19 08:37:35 ERROR (Thread-11) [homeassistant.util.yaml] invalid key: "OrderedDict([('objectColor', None)])"
  in "/home/homeassistant/.homeassistant/configuration.yaml", line 235, column 0
2017-07-19 08:37:35 ERROR (MainThread) [homeassistant.components] invalid key: "OrderedDict([('objectColor', None)])"
  in "/home/homeassistant/.homeassistant/configuration.yaml", line 235, column 0

I have received this exact same error in my many attempts at incorporating snips.

I took out colour_name

snpis still not working since my MQTT has username and passwors, hence snips cannot connect.

No reply from developer, Project cancelled

1 Like

I tested it out, however since I’m not a native english speaker, the engine seems to have trouble processing my voice. Anyone else got problems with the NLP?

I’m going to wait until I can use my own mqtt broker and change the hot word. Any idea when will these be implemented? Thanks.

is already implemented, I think only without username and password

I set it up within hass.io
there you can simply set the mqtt server you want. Otherwise you could always setup a mqtt bridge.

Hass.io - Snips addon

Thanks guys. So how was it compare to alexa? Is the response fast? Is the speech recognition accurate?

1 Like