ARTS 2020: Music and Technology I

Arts Department, Rensselaer Polytechnic Institute

Monday/Thursday, 8:00-9:50pm, ONLINE

Instructor: Rob Hamilton, West Hall 114

Office Hours: TBD

e: hamilr4 [at] rpi [dot] edu


lms: 1509_Computer Music [1509_ARTS_2020_01]

COURSE SYLLABUS - Summer, 2020


Patience, creativity and grit.


This course is an introduction to music and sound-art created through the use of computers and electronics. This is a studio course, and students will be expected to participate creatively in class by listening, taking an active role in discussions, and making your own work through significant, intelligent uses of technology. Although a component of this class includes learning how to use computers and other technological tools, this is not a "how-to-use technology" course. We will focus primarily on learning enough about technology to realize personal creative projects. There will be cake*.


Music composition taught in the context of modern computerized production methods. Technical topics include basic principles of computer sound generation, digital sound sampling, and the use of small computers for musical control of electronic instruments. Musical topics include a study of important musical works and compositional techniques of the 20th and 21st centuries. Student projects involve hands-on work on a variety of computer instruments and software. This course is a prerequisite for further creative work with Rensselaer's computer music facilities.


    Students who successfully complete this course will demonstrate...
  1. an understanding and appreciation of computer music through an awareness of the many disciplines underlying the field including: listening skills, musical theory, musical acoustics, psycho-acoustics, software design and programming, digital audio theory, and digital signal processing.
  2. basic technical facility in the areas of audio recording, editing, sound synthesis, software development and post production.
  3. creativity and resourcefulness through the creation and composition of your own sonic projects


This course is offered as a primarily asynchronous remote/distanced course due to the COVID-19 pandemic. We will make liberal and regular use of email, Discord and WebEx to keep in touch, as well as prerecorded and live video streams to deliver course lecture and lab content. Ideally we do better than Pepsi


Collaboration between students in this course is strongly encouraged. Likewise, students are encouraged—indeed, to some extent required—to exchange ideas, opinions and information . You are also encouraged to help each other in the lab and with performance, production, and presentation of composition projects.

Plagiarism of any kind is in direct violation of University policy on Academic Dishonesty asdefined in the Rensselaer Handbook, and penalties for plagiarism can be severe. In this class you will be expected to attribute due credit to the originator of any ideas, words, sounds, or music which you incorporate substantially into your own work. This applies particularly to citation of sources for sonic "samples" included in your compositions.

Submission of any assignment that is in violation of this policy may result in a grade of F for the assignment in question. Violation of this policy will be reported, as defined in the Rensselaer Handbook


Students requiring assistance are encouraged to contact Disability Services: to discuss any special accommodations or needs for this course.


Designing Sound, by Andy Farnell

Musimathics (Vol. I), by Gareth Loy

Musimathics (Vol, II), by Gareth Loy

Theory and Techniques of Electronic Music, by Miller Puckette

Github Repository:


The proposed course topics and schedule will be as follows (take note of project due dates!). Based on class progress and interests, this schedule is subject to change. Special topics, guest lectures, supplemental reading, listening and additional assignments to be announced.

Week 1:
Wednesday, 5/27

What is Computer Music? The History of Computers, Sound and Music and
"Voices" of Computer Music: from The Voder, to HAL to I Am T-Pain


(Naxos requires you to use the RPI VPN:

Install "Vanilla" Pure Data 0.50-2 (Download).

Week 2:
Monday, 6/1

  • 2 - pd_1.0.mp4
  • 3 - pd_1.1.mp4
  • 4 - pd_1.2.mp4
NOTE: These videos walk you through the basics of using Pure Data. The information is similar to what you'd find in chapter 9 of the Farnell which I asked you to read this past week. If you haven't done so, please read chapter 10 as well, as the examples in that chapter are quite helpful as well. The patches shown in these examples are all also in Box in a folder called "Lecture Code". Feel free to grab them.

Email me your responses to these following questions, mostly regarding timing for when we can actually meet in "person" online as a group. If for any reason you feel uncomfortable answering the questions just let me know and we'll work around it.
  1. Where are you in the world (geographically)?
  2. What timezone are you in?
  3. What kind of computer are you using (Mac, Linux, PC)?
  4. Do you have a fast home network connection? If not please describe the issues/limitations with your current setup.
  5. Are there times that generally are very difficult for you to meet online for office hours or group meetings?
  6. Did you have any issues installing Pure Data and making sound?

On Wednesday, June 3 there will be a really interesting sounding series of talks about network performance:
The GEMM - the Gesture Embodiment and Machines in Music research cluster at the School of Music in Piteå, Luleå University of Technology has invited a group of artists, researchers, and scholars to instigate an open, interdisciplinary discussion on these themes. The talks will happen online, on Wednesday 3 June 2020.

Thursday, 6/4

  • 5 -
  • 6 -
  • 7 -

ASSIGNMENT #1 (due Sunday, June 7 AOE [Anywhere-On-Earth]):
  • Create your own "Masheen" Pure Data patch, using the synthesis and sequencing techniques and metro-based timing system found in the Masheen.

Week 3:
Monday, 6/8

Welcome to the Masheen

  • 8 -
  • 9 -


  • Login to or setup a new account using your RCS ID
  • Email me to request access to the Masheen git repository I created there at
  • Clone or download (.zip) the Masheen git repository to your local computer

Thursday, 6/11

Welcome (more) to the Masheen (review of homework 1):

  • 10 - pd_1.8_masheen_3.mp4
  • 11 - pd_1.9_masheen_4.mp4

Week 4:
Monday, 6/15

  • Sound Generation: Sawtooth waves, Square waves, Additive Synthesis, FM Synthesis, sample playback
  • Control: Keyboard, mouse, MIDI, OSC

  • 12 -
  • 13 - pd_1.11_more_sounds_2.mp4
  • 14 - pd_1.12_control_1.mp4


ASSIGNMENT #2 (due Sunday, June 21 AOE [Anywhere-On-Earth]):
  • Update your Masheen patch to make use of _at least_ two sound-generation techniques described in lecture "12 - pd_1.10_masheen_5.mp4". Try to make your patch as unique sounding as possible - NO SINE WAVES ALLOWED (well, solo [osc~] that is; you can use them within the context of the other synthesis techniques).
  • Add some interactivity by mapping keyboard controls to control some element(s) of your patch. It should be "playable". You can also add mouse controls using the Gem or HIDIO externals.
  • Record a short "performance" of your patch using the Masheen recorder.
  • Submit your updated code, your recording, and a short _written_ description of how your interactive patch works and the synthesis methods you used to create your unique sounds.
Week 5:
Monday, 6/22

  • Composing with recorded sound: Musique Concrete, Soundscape Composition, sample-based composition

Week 6:
Monday, 6/29

SUMMER HOLIDAY / 4th of July Break

Week 7:
Monday, 7/6

  • 17 - Audio Editing with Audacity.mp4
  • 18 - Multi-track Recording with Logic Pro X (an overview).mp4

ASSIGNMENT #3 (due Wed, July 15 AOE [Anywhere-On-Earth]):
  • Download and install Audacity from on your computer.
  • Download the "Gouge Away" stems (vox, guitars, bass, drums) from our class Box directory.
  • Using Audacity's ability to cut up, manipulate and process audio, create your own mashup/remix/piece-concrete/soundscape/audio-collage/plunderphonic using only the stems as source material
  • Those of you who use other DAW's in your workflows (i.e. ProTools, Logic, Ableton) please do not use these tools for this assignment; only use Audacity. You are free to install any plugins that you have or find online if that's a direction in which you want to go.
  • Your final project should be at least one-minute long
  • Please post your project online in a repository such as Box, Dropbox or Google Drive as a .zip archive containing 1) a stereo .wav (44100 or 48000 Hz) mix-down of your final piece, 2) your _entire_ Audacity project folder (containing the .aup file as well as all your audio), and 3) a written description of what you were trying to accomplish in this project and how you went about doing so.

Thursday, 7/9

  • 20 - The Wide Wild World of MIDI.mp4
  • 21 - MIDI and Pure Data.mp4

Week 8:
Monday, 7/13

  • 22 - Masheen Assignment #2 review.mp4
  • 23 - Pure Data meets The Game of Life (Darius Smith).mp4

Thursday, 7/16

Introduction to Real-Time control data with Open Sound Control (OSC)

  • 24a - Open Sound Control + TouchOSC Example.mp4
  • 24b - Open Sound Control + TouchOSC Example.mp4


  • OSC - Open Sound Control: State of the Art 2003 - ().pdf)
  • WIRED: New Musical Instruments
  • David Wessel’s Slabs: a case study in Preventative Digital Musical Instrument Conservation (.pdf)

OSC Spec 1.0 -

Week 9:
Monday, 7/20

Musical Networks + Hello ChucK
  • Lecture 25 - Data and Networking pt. II
  • Episode #6: "Coding Music with the ChucK programming language" — Artful Design TV (COVID-19 Edition) YouTube
Download + install ChucK:
  • Jazz Night In America: Is it Possible to Play Music Together Over the Internet? @
  • "Effect of Temporal Separation on Synchronization in Rhythmic Performance" - .pdf
  • Creed Shreds: YouTube
OTHER LISTENING (from the lecture):

OTHER READINGS (from the lecture):

LINKS (from the lecture):
Thursday, 7/23

ChucK basics: getting started, syntax, time, HID devices and control data

  • 26 - chuck_1_a.mp4
  • 27 - chuck_1_b.mp4
  • 28 - chuck_1_c.mp4
  • 29 - chuck_1_d.mp4
  • 30 - chuck_1_e.mp4

ASSIGNMENT #4: ChucKing good Music - due Sunday, August 2 11:59 pm (AOE):
  • Using ChucK build a simple musical instrument either controlled by you in real-time (using keyboard, mouse, or other types of control data) or controlled by the computer via timed or random processes.
  • Generate an audio-file (stereo, .wav) of your performance using either the Mini-Audicle's built in recording tools (Window > Record Session) or using a few lines of code in your script (we'll cover these soon). Your recording should be at least one minute long and should be freakin' awesome.
  • Submit your Chuck Script(s), any source material (i.e. .wav sample files you might use), a written description of what you're doing as a .pdf file (PLEASE include your name on these), all as a .zip-bed up archive posted on Box, Google Drive, or some other online sharing site of your choosing. Remember to make your folder readable by anyone so I can download it.
Week 10:
Monday, 7/27

Musical Networks + Hello ChucK

  • 31 - ChucK sporking shreds, oh yeah
  • 32 - ChucK arrays and envelopes
  • 33 - Chuck HID Joystick example

  • Don't Forget the Laptop: Using Native Capabilities For Expressive Musical Control: .pdf
  • Stanford Laptop Orchestra: .pdf


Assignment #3 - Epic "Gouge Away" remixes: box folder

Thursday, 7/23

ChucK grab-bag: STK instruments, panning, SndBuf playback, MIDI (real-time and file), recording

  • 34 - ChucK SndBuf, panning and recording.mp4
  • 35 - ChucK and the STK.mp4
  • 36 - ChucK MIDI input and file data.mp4
  • Exit Music (For a Film):
  • Bach Invention #1:

* the cake is a lie