This page is meant to support you while you learn programming using the Earsketch toolset.  This is so cool that you get to be the first to try a Georgia Tech concept, you'll always be able to say you were "part of a Georgia Tech, National Science Foundation pilot".  

The flow of this page is more like a journal.  It will keep track of what is intended each day, for those who want to go pretty fast, but will also be updated in case the day didn't go as planned.  All assignments are due when stated, so if there are some who would like to do learn more independently, be sure the assignment is complete and submitted by the requested date.  Otherwise, goodbye freedom!

Here's the link to the main Earsketch page:  http://earsketch.gatech.edu

I will put specific links that apply to each day as well, as we get to them.  Let me know what resources are helpful, and which are not, so we can make this a great experience for you.  I've enjoyed learning this, actually becoming a bit of a dub step fan!

Cool new feature: a discussion forum with the Georgia Tech folks!  Visit https://piazza.com/lanierhs.org/spring2013/cmw101/home to register and submit questions!

Big note, workflow!!

  • Steps to saving properly
    • Save your Komodo/Python files (.py) to the H drive.
    • Do NOT make Reaper projects until you need to upload to the Social Site.
    • To upload a project to the Social Site:
      • Open a script with Reaper.
      • Save that project to your desktop (NOT the H drive)
      • Actions > Upload
      • This will create a white box called "Earsketch_UploadProject" on your desktop
      • When it asks you to Browse for a file, this is the one!
    • Each time you do Actions > Upload, it will replace the Earsketch_UploadProject file on your desktop.
    • Visit http://earsketch.gatech.edu/media

Jan. 3, 2013 - Setting the tone

  • Let's listen to this popular song for the repetitions, pauses, beats: https://www.youtube.com/watch?v=zYXjLbMZFmo
    • What do you hear that is repeated?  Can you hear gaps in particular beats?  Any special effects, volume change, things like that?  In general, do you hear patterns and conditions that changes those patterns?  If each type of sound/instrument is a track, how many tracks do you think there are?  Let's talk about it, after you make some notes.

  • Welcome to Earsketch - coolest programming thing ever!
    • We will be pre-testing to see what programming knowledge you currently have.  Do your best, don't freak out, this is really more of a survey, not a test.  Your only grade is for answering all of the questions.

  • As you finish your exam, you need a place to save your future work.  
    • Where your future projects should be saved:  create a folder on your H drive space, titled Earsketch.  Save your projects in there, with good names.  For example, the first project should be Project01. 

  • If time allows, we will be introducing you to your software: http://earsketch.gatech.edu/category/learning/intro-to-daw

  • By the end of this lesson, you should know the first half of the web page linked above:  
  • Your first assignment, due by the end of day, Jan. 4:  
    • Create a project with at least 3 tracks, with each track using a different WAV loop, each loop with length adjusted, different volume levels for each track, and have each of the tracks start on different measures, have a total length of 12 measures, and then render it as well into MP3.  In addition, have the playhead set to measure 6, and "solo" track 2 when demonstrating your project. You will receive an equal number of "points" for the demonstration of each item.  Here's the official rubric, ask questions!!

Jan. 4, 2013 - A first look at code and tunes

  • Today's lesson is based on : http://earsketch.gatech.edu/category/learning/anatomy-of-an-earsketch-project
  • You do need to download a project for today's lesson, look for the BuzzJam project on the Earsketch page.
    • I have downloaded and unzipped this file already, you can get it on the Shared>CDAT9>Earsketch>SampleProjects - copy to your H
  • After you begin, I will show the lesson for those who'd rather watch than read.
  • Be sure to attempt the exercises listed in the page, and also use what you learned about commenting to remove some lines of code. 
    • Play around!  You can always download another clean set if you mess up.  Comment out a lot of lines and then listen.
    • Be sure to save often!
    • NOTE: if you edit code, you have to save it then re-open it in Reaper using Actions > Run Earsketch Script and pick the same one
  • This is the first time you're using Python code with Reaper, so you might have some software issues.   Let me know!
  • If time allows, we'll go into Day 3 lessons, learning how to build your own music with Python.

Jan. 7, 2013 - Time to be a modern Mozart

  • Today's lesson is based on http://earsketch.gatech.edu/category/learning/intro-to-music-programming-in-earsketch
  • Some key things to learn here:
    • Developing a system to how you make and save things.  Check out this Earsketch Workflow file.
    • What is a variable versus a CONSTANT?  What makes a good variable name?  Why are constants in CAPITAL_LETTERS?
    • Assigning a CONSTANT to a variable  (Click below to see the CONSTANTS and Variables movies for review)
    • Know the Actions > Earsketch Audio Loop Browser in Reaper to see a list of loop constants to use
    • Learn how to use fitMedia() in creating a track, using a variable and a CONSTANT (and review the movie below if you need it)
    • Learn what a parameter is.
  • By the end of this lesson, it's time for your own, custom-made project, called Project02.  

Jan. 8, 2013 - Set the Foundation

  • First, we're going to review the basics of writing code.  This is your time to maybe take notes on subtle things you should do.  A good programmer is organized, focuses on basics and simplicity, you can do this!  Many of you already are!!
    • Here's a sample of basic code:

      #setup section
      from earsketch import *

      #variables, constants, methods
      introDrums = ELEKTRO_HOUSE_DRUMS1_2M
      midDrums =  ELEKTRO_HOUSE_DRUMS4_2M

      fitMedia(introDrums, 1, 1, 5)
      fitMedia(midDrums, 2, 3, 10)

      #finalizing section

  • Practice Quiz - we are going to take a practice quiz so you can understand what a quiz on programming will look like.  It's not about memorization, it's about usage, like a toolbox.  Can you use the tools you're given?  Open this practice, try and write the answer on paper and show me! Don't print it, just open and read.
  • Project02 - The rubric/requirements are online here, be ready to be graded on it, today is your last day to finish it!
  • You're welcome to look at the next steps, EFFECTS!!: http://earsketch.gatech.edu/category/learning/intro-to-effects

Jan. 9, 2013 - Your Effects are Special!

Jan. 10, 2013 - Gettin' Social

  • The plan for the day is the next step in Earsketch, showing you the Social Site, where you will be sharing work and ideas with others. http://earsketch.gatech.edu/category/learning/earsketch-social-media-site
  • My assumption is that you will need to finish the project from yesterday:
    • Complete the Social Site registration first, then get back to finishing your first project.  
    • For your Social Site username please user your CDAT login/email name.  You can use your real name or a fictitious name for First and Last name, but keep it clean!  Also, be sure to choose "Lanier" as your community.
  • You are not expected to upload any music at this time, just make sure you have registered.  
  • I will give you a tutorial on how to upload things next!

Jan. 11, 2013 - Take your time, do it right

  • We have reviewed a LOT this week, and it's been so cool!  Today is about settling down, making sure we feel confident before forging ahead.
  • Next week, Tuesday, Jan. 15, you'll have a test on variables, CONSTANTS, fitMedia and setEffect
  • Today, we'll get all of your grading, reviewing done.
  • For those who did not do well on the quiz, you can meet with me or a friend to see what happened, get ready for a retake next week.
  • Finally, we will review how to upload your work to the social site.  By now you should have created your login according to the instructions.

Jan. 14, 2013 - Beat it

  • This week we will review variables, CONSTANTS, fitMedia and setEffect in prep for a quiz on Tuesday, then learn about Beats and Loops.
  • Today we will learn about making custom "beats", and quite a few music terms:  meter, rhythm, whole note, quarter note, eighth note, sixteenth note, strings (not the kind you weave nor the kind of instrument).
  • Here's a link to the info on beats:  http://earsketch.gatech.edu/category/learning/intro-to-beats
  • In short, you can customize a sound by creating a pattern, saving it, and applying it to a sound file of your choice.
  • **See the bottom of this lesson for tips on how to copy and paste the code from the website, it's very cool!
  • While you study for the quiz, or practice beats, I'm going to check Project02 for each of you.

Jan. 15, 2013 - Loopy

  • Today is the quiz on variables, CONSTANTS, fitMedia and setEffect.  You should do great.
  • We may not get to new stuff, although the quiz should not take the whole period.
  • Let's make sure everyone can do "beats", fully confident.
  • Also, some of you have asked about the "how to" stuff.  Check out the link to the forum up top!
  • Then, it's time to move on to probably the most challenging thing for many: loops.  However, once you get it, you have a tool that will really be helpful to creativity, experimentation and faster ways to try your musical coding ideas! See tomorrow's listing.

Jan. 16, 2013 - Loopy

  • Time to move on to probably the most challenging thing for many: loops.  However, once you get it, you have a tool that will really be helpful to creativity, experimentation and faster ways to try your musical coding ideas!
  • Here's a link to the info on loops: http://earsketch.gatech.edu/category/learning/for-loops
  • The key:  if you see that something repeats over and over, it's probably time for a loop.
  • We will probably spend a couple of days on this, to make sure you're really getting it.  Take your time, help each other out!

Jan. 17, 2013 - Catching up

  • These will be review days:  catch up with those of you who are having trouble with beats, loops and other topics, while letting the others look into Recording if they want to try.
  • Get ready for a test on this stuff on next Wednesday, Jan. 22.  Really time to study, not just watch.

Jan. 18, 2013 - Posting

  • Please post your "latest and greatest" on the social site.  By this time you should have an account, so now it's just loading one.
  • Also, listen to someone else's, and leave a positive comment.  You can share on as many as you'd like, keep it clean and nice!
  • Time to share! 

Jan. 22, 2013 - Re-Catching up

  • Okay, so some are having a tough time with beats, String and looping.  Today we review.  T

Jan. 23, 2013 - Really Loopy

  • Based on yesterday's review, we move forward into loops: http://earsketch.gatech.edu/category/learning/for-loops
  • You will be tested on this during your next Tech session.  For Chem it's Monday, and Bio it's Tuesday, next week.
  • Read the Earsketch page for info and details after we talk.  Then, show me an example you wrote.  This will be Project03, and I want you to upload a copy of it to the social site.  It should include fitMedia, setEffect, makeBeat and a for loop.  Call it your CDAT username plus P3.  For example, if you were ABCD16cdat, this project should be called ABCD16cdat P3 on the social site. This will also be reviewed and graded once it's online.
  • Here's an example of what the test would cover, and an example of an upload:
    • #setup
    • from earsketch import *
    • init()
    • setTempo(100)

    • #variables
    • drums = HIP_HOP_DRUMS1_2M
    • beatString = "0---0---0---0000"
    • synth = HOUSE_SYNTH5_4M

    • #Methods, actions
    • for measure in range(1, 11):
    •   makeBeat(drums, 1, measure, beatString)
    • fitMedia(synth, 2, 1, 12)
    • setEffect(2, DISTORTION, DISTO_MIX, .5)

    • #finish
    • finish()

Jan. 24, 2013 - Really Loopy, cont'd

  • Today I have the Bio group, see the posting from yesterday (look up) to see what we're covering.

Jan. 28, 2013 - Test on lots!

Jan. 29, 2013 - Tested on lots, part 2!

  • Today is the Bio group's turn on testing!  The link will appear below when it's time...

Jan. 30, 2013 - REALLY Tested on lots!

  • We took the time to practice and review, now it's time to try the real thing for Chem students.
  • After you submit your test, scroll up to the Jan. 23 date, and be sure to submit your Project03 to the Social Media Site. Name it right!

Jan. 31, 2013 - REALLY Tested on lots, Bio-style!

  • We took the time to practice and review, now it's time to try the real thing for Bio students.
  • After you submit your test, scroll up to the Jan. 23 date, and be sure to submit your Project03 to the Social Media Site. Name it right!

Feb. 11 Week - Define yourself!

  • Okay, last week was weird with lots of things, let's settle back in.  Review the variations of the for loop and "range"
  • This week, we are focusing on User Defined Functions
  • Be sure to try the Exercise on the bottom of the page, fitTwoClips(), and be ready to show me.
  • Finally, let's review the sounds others have posted on the Social Site at http://earsketch.gatech.edu/media/  We will have a vote for your favorites!

Feb. 19 Week - Testing Functionality!

  • We will be testing you on "Functions" this week.  We will also have a different twist to the testing, with a little more about explaining, not just coding.
  • When finished with Functions, we should have updated music samples, and a new way to organize and select music.  Therefore, you will be asked to submit your Project 4.  It needs to include at least one "function" that you design, as well as all previous topics.

Mar. 3 Week - Our special day and guest

  • Monday will be a day to review our code, really understand it so we can converse about it and not just type/write it.
  • Monday and Tuesday are great days to just try things, experiment with the code.  We have a few extra hours to really refine what we're doing.
  • Later on in the week we are going to give you a survey about the course, and then a test on your coding ability.  Believe it or not, I bet you improved!!
Michael Reilly,
Mar 5, 2013, 9:27 AM
Michael Reilly,
Mar 6, 2013, 9:46 AM
Michael Reilly,
Mar 5, 2013, 9:27 AM