SlideShare a Scribd company logo
1 of 55
Download to read offline
Comparison of Voice Assistant
SDKs for Embedded Linux
Leon Anavi
Konsulko Group
leon.anavi@konsulko.com
leon@anavi.org
ELCE 2018
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Konsulko Group
 Services company specializing in Embedded Linux and Open
Source Software
 Hardware/software build, design, development, and training
services
 Based in San Jose, CA with an engineering presence
worldwide
 http://konsulko.com
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Agenda
 Introduction to smart speakers with voice assistants
 Overview of Amazon Alexa, Google Assistant and Mycroft
SDK for integration in embedded Linux devices
 Showcases and conclusions
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Virtual assistants
 AliGenie
 Amazon Alexa
 Yandex Alice
 Samsung Bixby
 Braina
 Clova
 Mirosoft Cortana
 Google Assistant
 Mycroft
 Apple Siri
 Voice Mate
 More ...
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Technologies in Smart Speakers
Application
Development
Internet of Things
A.I. & Big Data
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Key Software Ingredients
 Artifcial Intelligence & Big Data
 Wake word detection
 Text to speech (TTS)
 Speech to text (STT)
 Board bring-up
 3rd
party applications
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Smart Speaker Market
Public statistics from https://voicebot.ai/
Amazon Alexa
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Amazon Alexa
 Virtual assistant powered by AI and developed by Amazon
 Available for Fire OS, iOS and Android
 Powers Amazon devices such as Echo smart speakers
 Initial release November 2014
 Requires Amazon Alexa app on a smartphone to setup the
smart devices
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Alexa Features
 Multilingual support
 Supports several wake words (limited number of options)
 Voice profle for personalized experience
 Alexa to Alexa calling and messaging
 Mobile or landline calls in the US, Canada, and Mexico
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Developer opportunities with
Amazon Alexa
 Integration of Amazon Alexa in custom hardware devices
using an SDK
 Extend the functionality of Alexa compatible devices by
developing software applications called Skills
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Amazon Smart Speakers
 Amazon Echo
 Amazon Echo Dot
 Amazon Echo Spot
 Amazon Echo Tap
 Amazon Echo Show
 Amazon Echo Plus
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
3rd
Party Devices with Alexa
 Ecobee4 Smart Thermostat
 Element EL4KAMZ17 (Amazon Fire TV Edition)
 Eufy Genie
 Fabriq Chorus and Riff
 Garmin Speak
 C by GE Sol Smart Lamp
 iHome AVS16 Alarm Clock
 LG Hub Robot
 More ...
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
AVS Device SDK
 Alexa Voice Service (AVS)
 An easy-to-use SDK for commercial device makers to integrate
Alexa into connected products
 Available at GitHub under Apache License 2.0
https://github.com/alexa/avs-device-sdk
 69 commits, 24 releases, 23 contributors
 Provides C++-based (11 or later) libraries
 Compatible with Android, macOS, Windows 64-bit, GNU/Linux
distributions such as Ubuntu, Raspbian
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
How does AVS SDK work?
 SDK Architecture
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
AVS on Raspberry Pi
 Assemble Raspberry Pi with mic and a speaker
 Install Raspbian OS on microSD card and boot it
 Download the AVS Device SDK
 Input your AVS credentials
 Build the AVS Device SDK
 Get a Refresh Token to maintain a connection with the cloud
 Run the sample application
 Details at:
https://developer.amazon.com/docs/alexa-voice-service/set-up-raspberry-pi.html
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
3rd
Party Dev Kits
Recommended 3rd
party development kits for prototyping:
 XMOS VocalFusion 4-Mic Kit
 Synaptics AudioSmart 2-Mic Dev Kit for Amazon AVS with NXP
SoC
 Intel Speech Enabling Developer Kit
 Amlogic A113X1 Far-Field Dev Kit for Amazon AVS
 Allwinner SoC-Only 3-Mic Far-Field Dev Kit for Amazon AVS
 DSPG HDClear 3-Mic Development Kit for Amazon AVS
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Launching Commercial Devices
with AVS on the Market
 Agree to AVS Terms and Agreements
 Product testing with self-test checklists to ensure your product
delivers a familiar Alexa experience to customers
 Alexa Built-in badge for compliance with security and testing
requirements
 Details at:
https://developer.amazon.com/alexa-voice-service/launch
Google Assistant
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Google Assistant
 Virtual assistant powered by AI and developed by Google
 Available for numerous platforms, mobile and smart home
devices
 Initial release 18 May 2016
 Written in C++
 Requires Google Home app on a smartphone to setup a
smart speaker with Google Assistant
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Google Assistant Features
 Multilingual support
 Six diferent voice options (including both male and female)
 Continued conversation for follow-up questions without
repeating the activation word
 Voice match feature to setup up to 6 users of the smart
speaker
 Google Duplex extension for accomplishing real-world tasks
through natural conversations over the phone
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Developer opportunities with
Google Assistant
 Integration of Google Assistant in custom hardware devices
using the SDK
 Extend the functionality of Google Assistant by developing
software applications called Actions
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Google Assistant SDK
 Google Assistant Library written in Python and supported
on devices with linux-armv7l and linux-x86_64
architectures
 Google Assistant Service for full control over the
integration through API binding on all platforms supported by
the modern open source high performance RPC framework
gRPC
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Compatibility and feature support
Library Service
Supported architectures linux-armv7l and linux-
x86_64
All gRPC platforms
Supported languages Python All gRPC languages
Hands-free activation 
(Ok Google)
Yes No
Audio capture and playback Built in Reference code is provided
Conversation state management Built in Reference code is provided
Timers and alarms Yes No
Playback of podcasts and news Yes No
Broadcast voice messages Yes No
Visual output (HTML5) of
Assistant responses
No Yes
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Google Smart Speakers
 Google Home - released on 4 November 2016
 Google Home Mini - announced on October 4, 2017,
released on the market on October 19, 2017
 Google Home Max - announced on 4 October 2017,
released on the market on 11 December 2017
 Google Home Hub - announced on 9 October 2018
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
3rd
Party Devices with
Google Assistant
 Panasonic GA10
 Sony LF-S50G
 TicHome Mini
 Polk Assist
 Hogar Milo
 LG ThinQ WK7
 JBL Link
 Lenovo Smart Display
 More...
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Building Your Own Device (1/5)
Low cost hardware options using of-the-shelf components for
proof of concept demo:
 Google Voice Kit for Raspberry Pi:
https://aiyprojects.withgoogle.com/voice/
 Raspberry Pi, Adafruit I2S MEMS Microphone Breakout –
SPH0645LM4H and Adafruit I2S 3W Class D Amplifer Breakout
– MAX98357A
https://www.adafruit.com/product/3421
https://www.adafruit.com/product/3006
 OrangePi Zero Set 6 (includes a case and an expansion board
with mic and audio input) + Speaker
http://www.orangepi.org/orangepizero/
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Building Your Own Device (2/5)
 Create new project in Google Platform Console
 Enable Google Assistant API
 Create credentials for OAuth Client ID and download JSON fle
 On Debian distribution install Python:
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfgure locales
sudo apt-get update
sudo apt-get install -y python3-dev python3-venv
python3 -m venv env
env/bin/python -m pip install --upgrade pip setuptools
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Building Your Own Device (3/5)
 Activate virtual Python environment and install Google
Assistant SDK:
python -m pip install --upgrade google-assistant-library
 Install and run Google authorization tool:
python -m pip install --upgrade google-auth-oauthlib[tool]
google-oauthlib-tool --client-secrets
~/client_secret_xxxx.apps.googleusercontent.com.json --scope
https://www.googleapis.com/auth/assistant-sdk-prototype --
save --headless
 Start Google Assistant:
google-assistant-demo --device_model_id "my-speaker"
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Building Your Own Device (4/5)
 Create systemd service /etc/systemd/system/google-
assistant-demo.service to launch Google Assistant
automatically at startup:
[Unit]
Description=google assistant service
After=network.target ntpdate.service
[Service]
Type=simple
Environment=VIRTUAL_ENV=/home/pi/env/
Environment=PATH=/home/pi/env/bin:/usr/local/sbin:/usr/local
ExecStart=/home/pi/env/bin/google-assistant-demo --device_model_id "orangepi"
WorkingDirectory=/home/pi
StandardOutput=inherit
StandardError=inherit
Restart=always
User=pi
[Install]
WantedBy=multi-user.target
Alias=google-assistant.service
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Building Your Own Device (5/5)
 Enable the systemd service and start it automatically at boot:
sudo systemctl daemon-reload
sudo systemctl enable google-assistant-demo.service
sudo systemctl start google-assistant-demo.service
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Launching Commercial Devices
with Google Assistant on the Market
 Commercial products with Google Assistant requires
certifcation by Google
 Get started by flling in a form with basic information about the
technical specifcations of the product:
https://developers.google.com/assistant/sdk/interest
Mycroft
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Mycroft
 Entirely open source project for a voice assistant
https://mycroft.ai/
 Git repositories in GitHub
https://github.com/MycroftAI
 Open source software available under Apache License 2.0
 Open source hardware available under CERN Open Hardware
Licence
https://github.com/MycroftAI/hardware-mycroft-mark-1
 Certifed open source hardware UID US000049
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Mycroft AI Inc.
 US start-up company from Kansas City founded in 2015 by
Joshua Montgomery
 Initially products were crowdfunded through Kickstarter and
IndieGoGo
 Currently is accepting investments at StartEngine
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Mycroft Pulse
Mycroft Core, the Mycroft Artifcial Intelligence platform
https://github.com/MycroftAI/mycroft-core
 Written in Python
 2820 commits, 90 releases, 89 contributors
 8 contributors with more that 100 commits
Skills, repository for sharing and collaboration for 3rd
party
Mycroft skills development
https://github.com/MycroftAI/mycroft-skills
 965 commits, 65 contributors (as of 17 October)
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Mycroft Features
 Officially available only in English, community support for
other languages
 Supports extension of the functionality by developing
software applications called skills
 Mycroft Skills Manager (msm) and a repository with 3rd
party
skills
 Optional device and account management system known as
Mycroft Home
 Allows using devices without Mycroft Home service
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Mycroft Wake Words
 Default wake words “Hey Mycroft”
 Support for custom wake words
 Precise - default wake word listener since March 2018, written
in Python, available at GitHub under Apache License 2.0:
https://github.com/MycroftAI/mycroft-precise
 PocketSphinx the previous default wake word listener, now
available as an alternative in Mycroft, written in C, available at
GitHub under BSD-like license:
https://github.com/cmusphinx/pocketsphinx
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Mycroft STT engines
The following Speech to Text (STT) engines are available:
 Google STT (default)
 IBM Watson Speech to Text (username and password
required)
 wit.ai Speech to Text (wit.ai API key required)
 DeepSpeech (work in progress as part of the OpenSTT
initiative in partnership with Mozilla)
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
DeepSpeech
 Open source Speech-to-Text (STT) engine developed by
Mozilla
 Available at GitHub under Mozilla Public License 2.0Mozilla
Public License 2.0
https://github.com/mozilla/DeepSpeech
 Written in C++, Python and shell scripts, uses Google's
TensorFlow to simplify the implementation
 50 contributors, 1220 commits, 19 releases
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Mycroft TTS engines
The following Text to Speech (TTS) engines are available:
 Mimic (default)
 eSpeak
 MaryTTS
 Google TTS
 FATTS
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Mimic
 Fast, light-weight Text to Speech (TTS) engine developed by
Mycroft.AI and VocaliD
 Based on Carnegie Mellon University's FLITE software
 Available at GitHub under BSD-like copyright (as FLITE):
https://github.com/MycroftAI/mimic
 348 commits, 6 releases, 14 contributors (as of 21 October)
 Written in C
 Works on GNU/Linux distributions, Mac OS X and MS Windows
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Mycroft Devices
 Mycroft Mark 1 (crowdfunded in 2015, shipped in 2017)
 Mycroft Mark 2 (expected in December 2018)
 DIY smart speakers with Raspberry Pi 2 & 3 (expected
support for 3 B+) with PiCroft GNU/Linux distribution based
on Raspbian Jessie Lite
Showcases
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Google Voice Kit for Raspberry Pi
 Do-it-yourself artifcial intelligence voice for Raspberry Pi
https://aiyprojects.withgoogle.com/voice/
 Two versions, the frst was distributed free with the MagPi
magazine
 Cardboard case
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Google Voice Kit for Raspberry Pi
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Raspberry Pi + Mic + Speaker
 Raspberry Pi
 Adafruit I2S MEMS Microphone Breakout – SPH0645LM4H
https://www.adafruit.com/product/3421
 Adafruit I2S 3W Class D Amplifer Breakout – MAX98357A
https://www.adafruit.com/product/3006
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Orange Pi Zero Set6
 Orange Pi Zero with Allwinner H2 SoC and 512MB RAM
 Expansion board with audio input, mic, IR receiver and two
additional USB ports
 Speaker
 Case
 5V microUSB power supply
 Armbian GNU/Linux distribution
https://www.armbian.com/orange-pi-zero/
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Home Assistant
 Open-source home automation platform running on Python 3
 Perfect to run on a Raspberry Pi
 More than 950 components for integration with popular
Internet of Things such as IKEA Trådfri, Philips Hue, Google
Assistant, Alexa / Amazon Echo, Nest, KODI, etc.
 Started in 2013 by Paulus Schoutsen
 Huge community, more than 830 contributors
 Source code available at GitHub under Apache 2.0 license
 https://home-assistant.io/
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Simple Voice Control with Alexa
 Home assistant is compatible with
Alexa and Amazon Echo
 Basic integration using the Emalutated
Hue Bridge component of Home
Assistant
 Emalutated Hue Bridge allows non-
Philips Hue devices to be controlled
though with voice the built-in support
of Amazon Echo
emulated_hue:
type: alexa
expose_by_default: true
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Simple Voice Control with Alexa
 Example voice commands for MQTT JSON Light component
confgured with name “ANAVI Light pHAT” in
confguration.yaml:
Alexa, turn ON ANAVI Light pHAT
Alexa, turn OFF ANAVI Light pHAT
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Raspberry Pi
How Does it Work?
Mosquitto
MQTT
Broker
Home
Assistant
MQTT client for
controlling the
RGB LED strip
User 1
MQTT
User 2
User N
MQTT
...
Emulated
Hue Bridge
MQTT
JSON Light
Cloud
ANAVI Light pHAT
12V RGB LED strip
Conclusions
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Conclusions
 There is a huge demand on the market for integrating AI and
voice assistants in end-consumer devices as well as for
development of 3rd
software applications and services for
them
 The market leaders Amazon and Google provide turn-key
solutions for integration in embedded Linux devices but
require difficult certifcations for end-consumer devices
 Mycroft is an entirely open source voice assistant that
combines open source hardware with free and open source
software
 In practice all reviewed solutions require Internet connection
to the cloud
ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi
Thank You!
Useful links:
 https://developer.amazon.com/alexa/devices
 https://developer.amazon.com/alexa-skills-kit
 https://developer.amazon.com/docs/ask-overviews/build-skills-with-the-ale
xa-skills-kit.html
 https://www.youtube.com/watch?v=F5DixCPJYo8
 https://developers.google.com/actions/
 https://developers.google.com/assistant/sdk/
 https://www.youtube.com/watch?v=FBXRwu6hgy8
 https://mycroft.ai/
 https://www.armbian.com/

More Related Content

Similar to Comparison of Voice Assistant SDKs for Embedded Linux Devices

Comparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation ToolsComparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation ToolsLeon Anavi
 
2014 austin-api-sdks-are-apis-too
2014 austin-api-sdks-are-apis-too2014 austin-api-sdks-are-apis-too
2014 austin-api-sdks-are-apis-tooJeff Brateman
 
iOSDevUK Conference- DevOps for iOS Apps
iOSDevUK Conference- DevOps for iOS AppsiOSDevUK Conference- DevOps for iOS Apps
iOSDevUK Conference- DevOps for iOS AppsShashikant Jagtap
 
Open source for you - November 2017
Open source for you - November 2017Open source for you - November 2017
Open source for you - November 2017Heart Disk
 
Voice Enabled Home Automation using Amazon Echo
Voice Enabled Home Automation using Amazon EchoVoice Enabled Home Automation using Amazon Echo
Voice Enabled Home Automation using Amazon EchoIRJET Journal
 
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...DataArt
 
Ubucon 2016: Internet of self updated things
Ubucon 2016: Internet of self updated thingsUbucon 2016: Internet of self updated things
Ubucon 2016: Internet of self updated thingsThibaut Rouffineau
 
2018 20 best id es for python programming
2018 20 best id es for python programming2018 20 best id es for python programming
2018 20 best id es for python programmingSyedBrothersRealEsta
 
20 best ide's for python programming in 2018
 20 best ide's for python programming in 2018 20 best ide's for python programming in 2018
20 best ide's for python programming in 2018Qamar Abbas
 
Rational Team Concertfor Power Customer Presentation02 09 10
Rational Team Concertfor Power Customer Presentation02 09 10Rational Team Concertfor Power Customer Presentation02 09 10
Rational Team Concertfor Power Customer Presentation02 09 10Strongback Consulting
 
The Best Python IDEs and Code Editors.pdf
The Best Python IDEs and Code Editors.pdfThe Best Python IDEs and Code Editors.pdf
The Best Python IDEs and Code Editors.pdfAppdeveloper10
 
VishalBhoj-Resume (1)
VishalBhoj-Resume (1)VishalBhoj-Resume (1)
VishalBhoj-Resume (1)Vishal Bhoj
 
Getting Started with Adobe AIR 1.5
Getting Started with Adobe AIR 1.5Getting Started with Adobe AIR 1.5
Getting Started with Adobe AIR 1.5Elad Elrom
 
Apple WWDC Mobility Review 2014
Apple WWDC Mobility Review 2014Apple WWDC Mobility Review 2014
Apple WWDC Mobility Review 2014Manesh Lad
 
Mobile application development
Mobile application developmentMobile application development
Mobile application developmentrohithn
 

Similar to Comparison of Voice Assistant SDKs for Embedded Linux Devices (20)

Comparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation ToolsComparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation Tools
 
2014 austin-api-sdks-are-apis-too
2014 austin-api-sdks-are-apis-too2014 austin-api-sdks-are-apis-too
2014 austin-api-sdks-are-apis-too
 
iOSDevUK Conference- DevOps for iOS Apps
iOSDevUK Conference- DevOps for iOS AppsiOSDevUK Conference- DevOps for iOS Apps
iOSDevUK Conference- DevOps for iOS Apps
 
Open source for you - November 2017
Open source for you - November 2017Open source for you - November 2017
Open source for you - November 2017
 
Android lollipop
Android lollipopAndroid lollipop
Android lollipop
 
Arm
ArmArm
Arm
 
Voice Enabled Home Automation using Amazon Echo
Voice Enabled Home Automation using Amazon EchoVoice Enabled Home Automation using Amazon Echo
Voice Enabled Home Automation using Amazon Echo
 
Smart TV and APIs
Smart TV and APIsSmart TV and APIs
Smart TV and APIs
 
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
 
Ubucon 2016: Internet of self updated things
Ubucon 2016: Internet of self updated thingsUbucon 2016: Internet of self updated things
Ubucon 2016: Internet of self updated things
 
2018 20 best id es for python programming
2018 20 best id es for python programming2018 20 best id es for python programming
2018 20 best id es for python programming
 
20 best ide's for python programming in 2018
 20 best ide's for python programming in 2018 20 best ide's for python programming in 2018
20 best ide's for python programming in 2018
 
Dimensions Event PPT.pdf
Dimensions Event PPT.pdfDimensions Event PPT.pdf
Dimensions Event PPT.pdf
 
Rational Team Concertfor Power Customer Presentation02 09 10
Rational Team Concertfor Power Customer Presentation02 09 10Rational Team Concertfor Power Customer Presentation02 09 10
Rational Team Concertfor Power Customer Presentation02 09 10
 
The Best Python IDEs and Code Editors.pdf
The Best Python IDEs and Code Editors.pdfThe Best Python IDEs and Code Editors.pdf
The Best Python IDEs and Code Editors.pdf
 
VishalBhoj-Resume (1)
VishalBhoj-Resume (1)VishalBhoj-Resume (1)
VishalBhoj-Resume (1)
 
Google tv
Google tvGoogle tv
Google tv
 
Getting Started with Adobe AIR 1.5
Getting Started with Adobe AIR 1.5Getting Started with Adobe AIR 1.5
Getting Started with Adobe AIR 1.5
 
Apple WWDC Mobility Review 2014
Apple WWDC Mobility Review 2014Apple WWDC Mobility Review 2014
Apple WWDC Mobility Review 2014
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 

More from Leon Anavi

Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...Leon Anavi
 
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...Leon Anavi
 
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
Integrating VNC in Weston with the Yocto Project and OpenEmbeddedIntegrating VNC in Weston with the Yocto Project and OpenEmbedded
Integrating VNC in Weston with the Yocto Project and OpenEmbeddedLeon Anavi
 
Как да убием и последната дискета с Open Source технологии?
Как да убием и последната дискета с Open Source технологии?Как да убием и последната дискета с Open Source технологии?
Как да убием и последната дискета с Open Source технологии?Leon Anavi
 
Linux обновления с RAUC и Docker
Linux обновления с RAUC и DockerLinux обновления с RAUC и Docker
Linux обновления с RAUC и DockerLeon Anavi
 
How to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux DevicesHow to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux DevicesLeon Anavi
 
Open Hardware Makers
Open Hardware MakersOpen Hardware Makers
Open Hardware MakersLeon Anavi
 
Open Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source HardwareOpen Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source HardwareLeon Anavi
 
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureA/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureLeon Anavi
 
Surfing on an Interactive Kiosk
Surfing on an Interactive KioskSurfing on an Interactive Kiosk
Surfing on an Interactive KioskLeon Anavi
 
Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства Leon Anavi
 
Getting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry PiGetting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry PiLeon Anavi
 
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?Leon Anavi
 
Практични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry PiПрактични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry PiLeon Anavi
 
The Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source HardwareThe Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source HardwareLeon Anavi
 
Making Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry PiMaking Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry PiLeon Anavi
 
Вграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с LinuxВграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с LinuxLeon Anavi
 
Open Source MQTT Brokers
Open Source MQTT BrokersOpen Source MQTT Brokers
Open Source MQTT BrokersLeon Anavi
 
Въведение в RetroPie за Raspberry Pi
Въведение в RetroPie за Raspberry PiВъведение в RetroPie за Raspberry Pi
Въведение в RetroPie за Raspberry PiLeon Anavi
 
Free and Open Source Software Tools for Making Open Source Hardware
 Free and Open Source Software Tools for Making Open Source Hardware Free and Open Source Software Tools for Making Open Source Hardware
Free and Open Source Software Tools for Making Open Source HardwareLeon Anavi
 

More from Leon Anavi (20)

Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
 
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
 
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
Integrating VNC in Weston with the Yocto Project and OpenEmbeddedIntegrating VNC in Weston with the Yocto Project and OpenEmbedded
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
 
Как да убием и последната дискета с Open Source технологии?
Как да убием и последната дискета с Open Source технологии?Как да убием и последната дискета с Open Source технологии?
Как да убием и последната дискета с Open Source технологии?
 
Linux обновления с RAUC и Docker
Linux обновления с RAUC и DockerLinux обновления с RAUC и Docker
Linux обновления с RAUC и Docker
 
How to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux DevicesHow to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux Devices
 
Open Hardware Makers
Open Hardware MakersOpen Hardware Makers
Open Hardware Makers
 
Open Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source HardwareOpen Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source Hardware
 
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureA/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
 
Surfing on an Interactive Kiosk
Surfing on an Interactive KioskSurfing on an Interactive Kiosk
Surfing on an Interactive Kiosk
 
Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства
 
Getting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry PiGetting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry Pi
 
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?
 
Практични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry PiПрактични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry Pi
 
The Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source HardwareThe Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source Hardware
 
Making Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry PiMaking Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry Pi
 
Вграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с LinuxВграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с Linux
 
Open Source MQTT Brokers
Open Source MQTT BrokersOpen Source MQTT Brokers
Open Source MQTT Brokers
 
Въведение в RetroPie за Raspberry Pi
Въведение в RetroPie за Raspberry PiВъведение в RetroPie за Raspberry Pi
Въведение в RetroPie за Raspberry Pi
 
Free and Open Source Software Tools for Making Open Source Hardware
 Free and Open Source Software Tools for Making Open Source Hardware Free and Open Source Software Tools for Making Open Source Hardware
Free and Open Source Software Tools for Making Open Source Hardware
 

Recently uploaded

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 

Recently uploaded (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 

Comparison of Voice Assistant SDKs for Embedded Linux Devices

  • 1. Comparison of Voice Assistant SDKs for Embedded Linux Leon Anavi Konsulko Group leon.anavi@konsulko.com leon@anavi.org ELCE 2018
  • 2. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Konsulko Group  Services company specializing in Embedded Linux and Open Source Software  Hardware/software build, design, development, and training services  Based in San Jose, CA with an engineering presence worldwide  http://konsulko.com
  • 3. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Agenda  Introduction to smart speakers with voice assistants  Overview of Amazon Alexa, Google Assistant and Mycroft SDK for integration in embedded Linux devices  Showcases and conclusions
  • 4. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Virtual assistants  AliGenie  Amazon Alexa  Yandex Alice  Samsung Bixby  Braina  Clova  Mirosoft Cortana  Google Assistant  Mycroft  Apple Siri  Voice Mate  More ...
  • 5. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Technologies in Smart Speakers Application Development Internet of Things A.I. & Big Data
  • 6. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Key Software Ingredients  Artifcial Intelligence & Big Data  Wake word detection  Text to speech (TTS)  Speech to text (STT)  Board bring-up  3rd party applications
  • 7. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Smart Speaker Market Public statistics from https://voicebot.ai/
  • 9. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Amazon Alexa  Virtual assistant powered by AI and developed by Amazon  Available for Fire OS, iOS and Android  Powers Amazon devices such as Echo smart speakers  Initial release November 2014  Requires Amazon Alexa app on a smartphone to setup the smart devices
  • 10. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Alexa Features  Multilingual support  Supports several wake words (limited number of options)  Voice profle for personalized experience  Alexa to Alexa calling and messaging  Mobile or landline calls in the US, Canada, and Mexico
  • 11. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Developer opportunities with Amazon Alexa  Integration of Amazon Alexa in custom hardware devices using an SDK  Extend the functionality of Alexa compatible devices by developing software applications called Skills
  • 12. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Amazon Smart Speakers  Amazon Echo  Amazon Echo Dot  Amazon Echo Spot  Amazon Echo Tap  Amazon Echo Show  Amazon Echo Plus
  • 13. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi 3rd Party Devices with Alexa  Ecobee4 Smart Thermostat  Element EL4KAMZ17 (Amazon Fire TV Edition)  Eufy Genie  Fabriq Chorus and Riff  Garmin Speak  C by GE Sol Smart Lamp  iHome AVS16 Alarm Clock  LG Hub Robot  More ...
  • 14. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi AVS Device SDK  Alexa Voice Service (AVS)  An easy-to-use SDK for commercial device makers to integrate Alexa into connected products  Available at GitHub under Apache License 2.0 https://github.com/alexa/avs-device-sdk  69 commits, 24 releases, 23 contributors  Provides C++-based (11 or later) libraries  Compatible with Android, macOS, Windows 64-bit, GNU/Linux distributions such as Ubuntu, Raspbian
  • 15. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi How does AVS SDK work?  SDK Architecture
  • 16. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi AVS on Raspberry Pi  Assemble Raspberry Pi with mic and a speaker  Install Raspbian OS on microSD card and boot it  Download the AVS Device SDK  Input your AVS credentials  Build the AVS Device SDK  Get a Refresh Token to maintain a connection with the cloud  Run the sample application  Details at: https://developer.amazon.com/docs/alexa-voice-service/set-up-raspberry-pi.html
  • 17. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi 3rd Party Dev Kits Recommended 3rd party development kits for prototyping:  XMOS VocalFusion 4-Mic Kit  Synaptics AudioSmart 2-Mic Dev Kit for Amazon AVS with NXP SoC  Intel Speech Enabling Developer Kit  Amlogic A113X1 Far-Field Dev Kit for Amazon AVS  Allwinner SoC-Only 3-Mic Far-Field Dev Kit for Amazon AVS  DSPG HDClear 3-Mic Development Kit for Amazon AVS
  • 18. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Launching Commercial Devices with AVS on the Market  Agree to AVS Terms and Agreements  Product testing with self-test checklists to ensure your product delivers a familiar Alexa experience to customers  Alexa Built-in badge for compliance with security and testing requirements  Details at: https://developer.amazon.com/alexa-voice-service/launch
  • 20. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Google Assistant  Virtual assistant powered by AI and developed by Google  Available for numerous platforms, mobile and smart home devices  Initial release 18 May 2016  Written in C++  Requires Google Home app on a smartphone to setup a smart speaker with Google Assistant
  • 21. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Google Assistant Features  Multilingual support  Six diferent voice options (including both male and female)  Continued conversation for follow-up questions without repeating the activation word  Voice match feature to setup up to 6 users of the smart speaker  Google Duplex extension for accomplishing real-world tasks through natural conversations over the phone
  • 22. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Developer opportunities with Google Assistant  Integration of Google Assistant in custom hardware devices using the SDK  Extend the functionality of Google Assistant by developing software applications called Actions
  • 23. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Google Assistant SDK  Google Assistant Library written in Python and supported on devices with linux-armv7l and linux-x86_64 architectures  Google Assistant Service for full control over the integration through API binding on all platforms supported by the modern open source high performance RPC framework gRPC
  • 24. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Compatibility and feature support Library Service Supported architectures linux-armv7l and linux- x86_64 All gRPC platforms Supported languages Python All gRPC languages Hands-free activation  (Ok Google) Yes No Audio capture and playback Built in Reference code is provided Conversation state management Built in Reference code is provided Timers and alarms Yes No Playback of podcasts and news Yes No Broadcast voice messages Yes No Visual output (HTML5) of Assistant responses No Yes
  • 25. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Google Smart Speakers  Google Home - released on 4 November 2016  Google Home Mini - announced on October 4, 2017, released on the market on October 19, 2017  Google Home Max - announced on 4 October 2017, released on the market on 11 December 2017  Google Home Hub - announced on 9 October 2018
  • 26. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi 3rd Party Devices with Google Assistant  Panasonic GA10  Sony LF-S50G  TicHome Mini  Polk Assist  Hogar Milo  LG ThinQ WK7  JBL Link  Lenovo Smart Display  More...
  • 27. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Building Your Own Device (1/5) Low cost hardware options using of-the-shelf components for proof of concept demo:  Google Voice Kit for Raspberry Pi: https://aiyprojects.withgoogle.com/voice/  Raspberry Pi, Adafruit I2S MEMS Microphone Breakout – SPH0645LM4H and Adafruit I2S 3W Class D Amplifer Breakout – MAX98357A https://www.adafruit.com/product/3421 https://www.adafruit.com/product/3006  OrangePi Zero Set 6 (includes a case and an expansion board with mic and audio input) + Speaker http://www.orangepi.org/orangepizero/
  • 28. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Building Your Own Device (2/5)  Create new project in Google Platform Console  Enable Google Assistant API  Create credentials for OAuth Client ID and download JSON fle  On Debian distribution install Python: export LC_ALL="en_US.UTF-8" export LC_CTYPE="en_US.UTF-8" sudo dpkg-reconfgure locales sudo apt-get update sudo apt-get install -y python3-dev python3-venv python3 -m venv env env/bin/python -m pip install --upgrade pip setuptools
  • 29. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Building Your Own Device (3/5)  Activate virtual Python environment and install Google Assistant SDK: python -m pip install --upgrade google-assistant-library  Install and run Google authorization tool: python -m pip install --upgrade google-auth-oauthlib[tool] google-oauthlib-tool --client-secrets ~/client_secret_xxxx.apps.googleusercontent.com.json --scope https://www.googleapis.com/auth/assistant-sdk-prototype -- save --headless  Start Google Assistant: google-assistant-demo --device_model_id "my-speaker"
  • 30. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Building Your Own Device (4/5)  Create systemd service /etc/systemd/system/google- assistant-demo.service to launch Google Assistant automatically at startup: [Unit] Description=google assistant service After=network.target ntpdate.service [Service] Type=simple Environment=VIRTUAL_ENV=/home/pi/env/ Environment=PATH=/home/pi/env/bin:/usr/local/sbin:/usr/local ExecStart=/home/pi/env/bin/google-assistant-demo --device_model_id "orangepi" WorkingDirectory=/home/pi StandardOutput=inherit StandardError=inherit Restart=always User=pi [Install] WantedBy=multi-user.target Alias=google-assistant.service
  • 31. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Building Your Own Device (5/5)  Enable the systemd service and start it automatically at boot: sudo systemctl daemon-reload sudo systemctl enable google-assistant-demo.service sudo systemctl start google-assistant-demo.service
  • 32. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Launching Commercial Devices with Google Assistant on the Market  Commercial products with Google Assistant requires certifcation by Google  Get started by flling in a form with basic information about the technical specifcations of the product: https://developers.google.com/assistant/sdk/interest
  • 34. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Mycroft  Entirely open source project for a voice assistant https://mycroft.ai/  Git repositories in GitHub https://github.com/MycroftAI  Open source software available under Apache License 2.0  Open source hardware available under CERN Open Hardware Licence https://github.com/MycroftAI/hardware-mycroft-mark-1  Certifed open source hardware UID US000049
  • 35. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Mycroft AI Inc.  US start-up company from Kansas City founded in 2015 by Joshua Montgomery  Initially products were crowdfunded through Kickstarter and IndieGoGo  Currently is accepting investments at StartEngine
  • 36. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Mycroft Pulse Mycroft Core, the Mycroft Artifcial Intelligence platform https://github.com/MycroftAI/mycroft-core  Written in Python  2820 commits, 90 releases, 89 contributors  8 contributors with more that 100 commits Skills, repository for sharing and collaboration for 3rd party Mycroft skills development https://github.com/MycroftAI/mycroft-skills  965 commits, 65 contributors (as of 17 October)
  • 37. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Mycroft Features  Officially available only in English, community support for other languages  Supports extension of the functionality by developing software applications called skills  Mycroft Skills Manager (msm) and a repository with 3rd party skills  Optional device and account management system known as Mycroft Home  Allows using devices without Mycroft Home service
  • 38. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Mycroft Wake Words  Default wake words “Hey Mycroft”  Support for custom wake words  Precise - default wake word listener since March 2018, written in Python, available at GitHub under Apache License 2.0: https://github.com/MycroftAI/mycroft-precise  PocketSphinx the previous default wake word listener, now available as an alternative in Mycroft, written in C, available at GitHub under BSD-like license: https://github.com/cmusphinx/pocketsphinx
  • 39. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Mycroft STT engines The following Speech to Text (STT) engines are available:  Google STT (default)  IBM Watson Speech to Text (username and password required)  wit.ai Speech to Text (wit.ai API key required)  DeepSpeech (work in progress as part of the OpenSTT initiative in partnership with Mozilla)
  • 40. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi DeepSpeech  Open source Speech-to-Text (STT) engine developed by Mozilla  Available at GitHub under Mozilla Public License 2.0Mozilla Public License 2.0 https://github.com/mozilla/DeepSpeech  Written in C++, Python and shell scripts, uses Google's TensorFlow to simplify the implementation  50 contributors, 1220 commits, 19 releases
  • 41. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Mycroft TTS engines The following Text to Speech (TTS) engines are available:  Mimic (default)  eSpeak  MaryTTS  Google TTS  FATTS
  • 42. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Mimic  Fast, light-weight Text to Speech (TTS) engine developed by Mycroft.AI and VocaliD  Based on Carnegie Mellon University's FLITE software  Available at GitHub under BSD-like copyright (as FLITE): https://github.com/MycroftAI/mimic  348 commits, 6 releases, 14 contributors (as of 21 October)  Written in C  Works on GNU/Linux distributions, Mac OS X and MS Windows
  • 43. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Mycroft Devices  Mycroft Mark 1 (crowdfunded in 2015, shipped in 2017)  Mycroft Mark 2 (expected in December 2018)  DIY smart speakers with Raspberry Pi 2 & 3 (expected support for 3 B+) with PiCroft GNU/Linux distribution based on Raspbian Jessie Lite
  • 45. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Google Voice Kit for Raspberry Pi  Do-it-yourself artifcial intelligence voice for Raspberry Pi https://aiyprojects.withgoogle.com/voice/  Two versions, the frst was distributed free with the MagPi magazine  Cardboard case
  • 46. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Google Voice Kit for Raspberry Pi
  • 47. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Raspberry Pi + Mic + Speaker  Raspberry Pi  Adafruit I2S MEMS Microphone Breakout – SPH0645LM4H https://www.adafruit.com/product/3421  Adafruit I2S 3W Class D Amplifer Breakout – MAX98357A https://www.adafruit.com/product/3006
  • 48. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Orange Pi Zero Set6  Orange Pi Zero with Allwinner H2 SoC and 512MB RAM  Expansion board with audio input, mic, IR receiver and two additional USB ports  Speaker  Case  5V microUSB power supply  Armbian GNU/Linux distribution https://www.armbian.com/orange-pi-zero/
  • 49. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Home Assistant  Open-source home automation platform running on Python 3  Perfect to run on a Raspberry Pi  More than 950 components for integration with popular Internet of Things such as IKEA Trådfri, Philips Hue, Google Assistant, Alexa / Amazon Echo, Nest, KODI, etc.  Started in 2013 by Paulus Schoutsen  Huge community, more than 830 contributors  Source code available at GitHub under Apache 2.0 license  https://home-assistant.io/
  • 50. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Simple Voice Control with Alexa  Home assistant is compatible with Alexa and Amazon Echo  Basic integration using the Emalutated Hue Bridge component of Home Assistant  Emalutated Hue Bridge allows non- Philips Hue devices to be controlled though with voice the built-in support of Amazon Echo emulated_hue: type: alexa expose_by_default: true
  • 51. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Simple Voice Control with Alexa  Example voice commands for MQTT JSON Light component confgured with name “ANAVI Light pHAT” in confguration.yaml: Alexa, turn ON ANAVI Light pHAT Alexa, turn OFF ANAVI Light pHAT
  • 52. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Raspberry Pi How Does it Work? Mosquitto MQTT Broker Home Assistant MQTT client for controlling the RGB LED strip User 1 MQTT User 2 User N MQTT ... Emulated Hue Bridge MQTT JSON Light Cloud ANAVI Light pHAT 12V RGB LED strip
  • 54. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Conclusions  There is a huge demand on the market for integrating AI and voice assistants in end-consumer devices as well as for development of 3rd software applications and services for them  The market leaders Amazon and Google provide turn-key solutions for integration in embedded Linux devices but require difficult certifcations for end-consumer devices  Mycroft is an entirely open source voice assistant that combines open source hardware with free and open source software  In practice all reviewed solutions require Internet connection to the cloud
  • 55. ELCE 2018, Comparison of Voice Assistant SDKs for Embedded Linux, Leon Anavi Thank You! Useful links:  https://developer.amazon.com/alexa/devices  https://developer.amazon.com/alexa-skills-kit  https://developer.amazon.com/docs/ask-overviews/build-skills-with-the-ale xa-skills-kit.html  https://www.youtube.com/watch?v=F5DixCPJYo8  https://developers.google.com/actions/  https://developers.google.com/assistant/sdk/  https://www.youtube.com/watch?v=FBXRwu6hgy8  https://mycroft.ai/  https://www.armbian.com/