steals / alexa-mopidy-voice-control

Remotely control Mopidy media service using Amazon Alexa

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

alexa-mopidy-voice-control

Remotely control Mopidy media service using Amazon Alexa

Motivation

  • Want to control my home media center via Amazon Alexa voice control
    • Control playback
    • Change tracks
    • Change volume
  • Want to try Alexa dev stack (this is my first attempt)

General structure

  1. Alexa part
    • You should create and define custom Alexa skill
    • Skill should contain identity (how you will call it then, for example "Alexa, ask Mopidy to play")
    • Skill should contain list in intents, meaning distinctive actions that it shold be capable of (like play, stop etc). Intent may have slots - place where some variable should be, like "Alexa, ask Mopidy to set volume {FIVE}"
    • Skill should contain list of phrases mapped to each intent
    • Service hook that will implement custom logic behind intents
    • After skill definition is done you can enable it for your account
  2. Service part
    • Should receive json requests from Alexa, already recognized and parsed, simlified just something like
    {
        "intent": "SetVolume",
        "slot": {
            "value": 10
        }
    }  
    
    • Should do something with it and reply to Alexa with specific text that she should reply to user
    • In my case put requst into IoT hub, where it can be captured by next layer of app
    • Receive speach reply from service or notify user if device didn't reply within timeout
  3. Mopidy service part
    • Should subscribe to IoT hub and wait for messages
    • Upon receiving call appropriate JSON RPC service (or do chain of calls)
    • Reply back to sender positive or negative response

More details within readme files of each section

About

Remotely control Mopidy media service using Amazon Alexa


Languages

Language:JavaScript 96.9%Language:Shell 3.1%