From 4429362098f3846d8c673513f7121744cb5431f9 Mon Sep 17 00:00:00 2001 From: Rick Waldron Date: Tue, 1 Mar 2016 12:55:20 -0500 Subject: [PATCH] Fill in audio module tutorial --- modules/audio.md | 43 +++++++++++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/modules/audio.md b/modules/audio.md index a00086d..4630cba 100644 --- a/modules/audio.md +++ b/modules/audio.md @@ -5,7 +5,7 @@ ## Audio -[ View source on Github](https://github.com/tcr/node-audiovideo) +[View source on Github](https://github.com/tessel/tessel-av) ### Step 1 @@ -13,6 +13,14 @@ Make a directory inside your "tessel-code" folder called "audio", change directo `mkdir audio; cd audio; t2 init` +Download [this mp3](https://dl.dropboxusercontent.com/u/3531958/yoda-mudhole.mp3) into the "audio" directory, this will be the audio file we manipulate. + +In order to include static, non-require-dependency resources in your deployment, you'll need to explicitly inform Tessel's CLI. To do this, create a `.tesselinclude` file in your `audio` directory. In that file, type the name of the static asset that should be deployed with the project. For this project, your `.tesselinclude` will have at least the following in it: + +`yoda-mudhole.mp3` + +(Learn more about Tessel CLI deployment [tips and tricks in the docs](https://tessel.io/docs/cli#usage)) + ### Step 2 @@ -20,12 +28,12 @@ Make a directory inside your "tessel-code" folder called "audio", change directo
-Plug Tessel into your computer via USB, then plug the audio module into either of Tessel's USB ports. +Plug Tessel into your computer via USB, then plug the audio module into either of Tessel's USB ports. You will also need some kind of speaker output, headphones or [desk speakers](http://www.amazon.com/AmazonBasics-Powered-Computer-Speakers-A100/dp/B00GHY5F3K/) will do the trick.
-![](http://i.imgur.com/uifn1p7.jpg) +![](http://i.imgur.com/zbRKAVx.jpg)
@@ -35,7 +43,7 @@ Plug Tessel into your computer via USB, then plug the audio module into either o ### Step 3 -Install by typing `npm install audiovideo` into the command line. +Install by typing `npm install tessel-av` into the command line. ### Step 4 @@ -46,10 +54,21 @@ Rename "index.js" to "audio.js" and replace the file's contents with the followi // http://creativecommons.org/publicdomain/zero/1.0/ /********************************************* -DESC of EXAMPLE +- Play audio from an amusing scene between Luke Skywalker, R2-D2 and Yoda +- When the audio reaches the end, play it again from the beginning. *********************************************/ -// EXAMPLE GOES HERE +var path = require('path'); +var av = require('tessel-av'); +var mp3 = path.join(__dirname, 'yoda-mudhole.mp3'); +var sound = new av.Speaker(mp3); + +sound.play(); + +sound.on('end', function(seconds) { + sound.play(); +}); + {% endhighlight %} @@ -71,16 +90,18 @@ Save the file. In your command line, `t2 run audio.js` -Hooray! You should see WHATEVER YOU SHOULD SEE FROM THE EXAMPLE +Hooray! You should hear the mp3 playing in a loop! **Bonus:** EXTRA CHALLENGE FOR AUDIO -To see what else you can do with the USB audio module, read the [audiovideo](https://github.com/tcr/node-audiovideo) documentation. +To see what else you can do with the USB audio module, read the [tessel-av](https://github.com/tessel/tessel-av) documentation. + +- Try connecting buttons to your Tessel 2 and use them to control playback. +- Load many mp3s onto a USB storage drive and playback from that source.
-![](AUDIO OUTPUT GIF)
@@ -90,9 +111,7 @@ To see what else you can do with the USB audio module, read the [audiovideo](htt ### Step 6 -What else can you do with an audio module? Get inspired by a [community-created project.](http://tessel.io/projects) - -What are you making? [Share your invention!](//tessel.io/projects) +What else can you do with an audio module? What are you making? [Share your invention!](//tessel.io/projects) If you run into any issues you can check out the [module forums](http://forums.tessel.io/c/modules).