In this class students will learn to use text-based music/sound frameworks and the command line to produce original compositions. We will survey different computer music tools to find commonality and idiosyncrasies in computer music systems. In addition to generating recorded music, students will also perform in a live-coding environment -- all in the terminal.
The class will conclude with a public performance of your final projects: TBD at ITP
This class format template was taken from Sam Lavigne's Automating Video Class
- Introductions and Syllabus/Class Policy
- Class Wiki / How to hand in homework
- Command Line/Git Basics
- Examples of Computer Music Projects/Pieces
- Music Theory/Composition Speedthrough
- Audio Processing/Generation with CLI tools, SoX, etc.
- One-liners
- Shell-scripting (artificial warped record script)
- Docker Builds for the various audio environments
- make a new composition from existing audio using SoX, etc.
- Submit a link to it on the class wiki, and prepare to talk about it in class.
- write a basic shell script to do something to a piece of audio
- Free Software Ideas
- Intro to Csound
- Intro to Chuck
- Explore Csound and Chuck
- Find an interesting online example of music/sound made with Csound. Add the link to the class wiki, and prepare to talk about it in class.
- Create a well-known melody in Csound and Chuck, record them, and submit the link to your project on the class wiki.
- Intro to Supercollider
- Connect midi/OSC
- build an instrument with supercollider to accept input from something unconventional, record it and submit the link to your project on the class wiki.
- Intro to Overtone / Clojure
- Intro to Tidal-Cycles / Haskell
- Live-Coding and Midi Interaction
- Get TidalCycles and Overtone running locally on your machine
- set up a 3-minute piece to play for the class (either recorded or live)
- Be prepared to have an rpi3 or rpi4 for next week
- Raspberry pi / embedded audio
- linux audio
- Sonic Pi
- intro to final projects
- setup your pi to produce automated audio of some type, install it somewhere
- live code on the pi with sonic-pi
- begin final projects
- TBD
- ML and charRNN to generate musical source files
- generative techniques
- The world is your oyster
- Final presentations and critique
- The class will conclude with a public performance of final projects at ITP. You may perform any project you made during the class.
- Each of the projects, as well as class participation, is worth an equal amount of your grade,
- To turn in your projects, add them to the class wiki. (Just hit the edit button)
- Please come to class, and be on time!
- Coming to class more than 20 minutes late counts as an absence.
- More than one unexcused absence is grounds for failure :(
- But no one will fail.
- We will be critiquing each others work in the class. Be honest but friendly when critiquing other students. When receiving critique please listen and take feedback seriously.
- Feel free to use your laptop in class to take notes or follow along when I'm covering programming topics. Please do not use your laptops to do stuff on social media unrelated to the class etc.
- The only time laptop use is strictly prohibited is when other students are presenting their work.
- Turn off your phones or put them on silent during class
I'm available to meet by appointment in person or by Skype/Google Hangouts. Please email me at aja466@nyu.edu to schedule a meeting, or if you have any questions or concerns about the class.