stream and control your soundcloud music from alexa
This is not an offical app. According to this blog post it looks like there is no support from soundcloud.
Alexa, tell soundcloud play my favorite tracks
Alexa, play next
Alexa, play previous
Alexa, ask soundcloud for the current track
Alexa, soundcloud shuffle (TODO)
But with a little bit of configuration, you can easily build your own soundcloud alexa skill.
(The following guide aussumes that you have an amazon developer account and that you are a bit familiar with amazon web services)
1. Create the Alexa Skill
- login to your alexa developer account
- create a new skill
Skill Information provide a name and a invocation name (e.g. soundcloud) and click the radio button for audio player
Interaction Model (launch the new editor) open the
code tab and paste
interactionModel_your_language.json into the text field. click save and build the model
Configuration (skip this for now, in the next step, we define the aws lambda function)
2. Deploy the code
- create a new lambda function
- Name: alexa-soundcloud, Runtime: Python2.7, Execution Role: lambda_basic_execution
- hit the create function button
- add the trigger amazon skill kit
- upload the zip file
- enviroment variables
AS_USER_ID 125445454 (your id) ( how to find my user id )
Setup for Development
git clone https://github.com/paszin/alexa-soundcloud.git
git submodule init
git submodule update
- check out flask ask. It makes developing skill very easy. Thanks :)
- also checkout the tutorials, ngrok + flask-ask is a great combination to speed up your development.
- Creating new apps is currently disabled at soundcloud. I left my client_id in the code, so you can use that...
- I saw some examples where DynamoDB was used to save the playlist. This is not necessary, you can add it to your session attributes.
- For deploying my lambda function I prefer uploading the zip file. Instead of virtualenv I use the target option for pip install to install everything into the build directory.