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)
- 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 pasteinteractionModel_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)
- 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 )
git clone https://github.com/paszin/alexa-soundcloud.git
git submodule init
git submodule update
make lambdazip
- 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.