After creating my first APL skill I was really intrigued with what else I could do that would really create an enjoyable & fun user experience on a multimodal device, and which would would be just as awesome on a speak only (headless) device #voicefirst. It will sound really corny, but the idea for this skill came to me in a dream.
I decided to combine my passion of music creation and coding to create Loop It! An Alexa skill that lets you choose from a variety of audio loops to create your own audio track.
What it does
Loop It! asks the user to choose from one of three drum loops, one of three bass loops, and then one of three melody loops. The skill will confirm the selection and then ask the user to say loop it to hear the how the combined audio sounds when mixed together.
Loop It! makes use of APL touch wrappers to allow users to navigate by pressing the screen, or the user follows the prompts and speaks to Alexa to choose the loops that they want.
How I built it
I used ASK-CLI and Node.js to develop the skill.
Challenges I ran into
I have used ASK-CLI and Node.js to develop skills before, but nothing this complex. I had to take time to read the Alexa documentations, and join the Twitch streams to learn how to use APL.
I had to create and record a large number of audio files to cover all of the possible loop variations that the end user could choose. I have studied music technology about ten years ago, so I felt a bit rusty creating the loops, but It was a great opportunity to catch up with some of my old college buddies to run my ideas past them and to get their feedback.
There is also a known issue that I have encountered where card text overrides APL on the echo spot. I used to excellent Slack community to confirm this was a bug, and not me going mad!
Accomplishments that I'm proud of
I am really proud of successfully integrating APL into my skill, it's really amazing, and I can't wait to develop more skills with it. I am also really proud of how I kept my focus on the #voicefirst user experience, making sure that Loop It! would be just as fun the use regardless of what device is being used to launch the skill.
Finally I have really enjoyed sharing what I have learnt with others, this has helped me to validate what I have learnt and it has helped others to start to create skills in ASK-CLI & to use APL.
What I learned
So many things, where do I start? I have definitely learned lots of new coding techniques, including how to debug errors, but probably the thing I have learnt most is how valuable it is to network, share your ideas with others, get feedback early on and then to hands on beta testing performed. This really helps to shape the initial idea, and to find out things from others that you might not even have thought about otherwise.
I am very grateful for the friends I have in the Alexa Developer community.
Here is a great review that was made by a fellow Alexa Developer and her grandchildren - https://youtu.be/C5TJLUwN3Bo
What's next for Loop It!
More loops, including some composed by established artists, as I want to make the skill very content rich. I would like to add the ability for the final loop .mp3 url to the emailed to the end user, and I might have a go at adding an on screen drum machine (watch this space).