Coder Social home page Coder Social logo

cli-music-2019's Introduction

Music From The Command Line

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

Schedule

Week 1

  • 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

Assignment #1 (Due week 2)

  • 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

Week 2

  • Free Software Ideas
  • Intro to Csound
  • Intro to Chuck

Assignment #2 (Due week 3)

  • 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.

Week 3

  • Intro to Supercollider
  • Connect midi/OSC

Assignment #3 (Due week 4)

  • build an instrument with supercollider to accept input from something unconventional, record it and submit the link to your project on the class wiki.

Week 4

  • Intro to Overtone / Clojure
  • Intro to Tidal-Cycles / Haskell
  • Live-Coding and Midi Interaction

Assignment #4 (Due week 5)

  • 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

Week 5

  • Raspberry pi / embedded audio
  • linux audio
  • Sonic Pi
  • intro to final projects

Assignment #5 (Due week 6)

  • setup your pi to produce automated audio of some type, install it somewhere
  • live code on the pi with sonic-pi
  • begin final projects

Week 6

  • TBD
  • ML and charRNN to generate musical source files
  • generative techniques
  • The world is your oyster

Week 7

  • Final presentations and critique

Public Performance: TBD

  • The class will conclude with a public performance of final projects at ITP. You may perform any project you made during the class.

Grading

  • 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.

Expectations and general notes

  • 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

Office Hours and General Help

I'm available to meet by appointment in person or by Skype/Google Hangouts. Please email me at [email protected] to schedule a meeting, or if you have any questions or concerns about the class.


Resources

Learning Python

Command Line

Image

Audio

Video

NYU Resources

cli-music-2019's People

Contributors

arntzy avatar

Stargazers

Fletcher avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.