Coder Social home page Coder Social logo

muzak's Introduction

Muzak

Muzak is a skill for the Amazon Echo that provides control over a Logitech (Squeezebox) Media Server.

How To Use

Configuration:

  • Copy the provided config.js-sample file and enter the required values to allow the skill to connect to your squeezebox server. Update the players array with the name of your Squeezebox players. Save as config.js.
  • This should include the URL and credentials for your Logitech Media Server and the App ID of the Alexa skill created above
  • Run npm install to download npm dependencies.
  • Run create.cmd to produce speechAssets/speechAssets.json and to create the Dynamo database to persist player name across sessions.
  • Create an Alexa skill to use to connect to your server.
  • Use the speechAssets.json to configure you Alexa Skiil via the Skill Builder Beta. Drag and drop the file on the code editor.

Publish the Skill

With Claudia.js

  • Set up your AWS credentials following the instructions here.
  • Run claudia create --region us-east-1 --handler muzak.handler
  • Note: If you already have an existing Lambda function for muzak, you can pass the name of your function to claudia create using the --name parameter.
  • You can publish future code changes by simply executing claudia update --name muzak --region us-east-1 --handler muzak.handler.
  • A copy of this command is in update.cmd. Edit this file to meet your requirements.

Manually

  • Create a function in Amazon Lambda
  • In the muzak top level directory Zip up the files to upload to Lambda zip -r muzak.zip *.js intents persist info node_modules

Commands:

  • Start Player Starts the named player using the last played song or playlist
  • Stop Player Stops the named player
  • Set Volume Sets the volume of the named player to the given level between 0 and 100
  • Increase/decrease volume Increases or decreases the volume of the named player by 10
  • Sync Players Syncs the first named player to the second
  • Unsync Player Unsyncs the named player
  • Whats Playing Returns information about the current song playing on the named player
  • Name My Players Return a list of all the player names in your network
  • Randomize Player Starts the named player using a random song
  • Previous Track Plays the previous track using the named player
  • Next Track Plays the next track using the named player
  • Help List all the commands that can be said

Interactive Mode:

An interactive mode is supported where multiple commands may be issued in one session. The target player is remembered between requests so that it does not have to be specified. e.g.

  • "Alexa open muzak"
  • "select player1"
  • "play"
  • "set volume to 25"
  • "exit"

Credits

  • This skill uses an enhanced version of Piotr Raczynski's squeezenode Node.JS module. It has been modified to support basic HTTP authentication as well as some additional functionality
  • A lot of great work on this was done on a fork created by GitHub user GeoffAtHome

muzak's People

Contributors

geoffathome avatar heylookltsme avatar mikedesantis avatar lordpengwin avatar

Watchers

James Cloos avatar Jean-Philippe Farcy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.