Eastman Computer Music Center (ECMC)
CMP 421 : Advanced Computer Music Techniques

Course syllabus for

Semester 1, Autumn 2007

Staff email addresses and phone numbers:
Allan Schindlerallan@ecmc.rochester.edu274 1575
Baljinder Sekhon sekhonmusic@gmail.com325-6976 or 803-413-3841 (cell)_
Tiffany Ng antiphony@gmail.com_____
Robert Pierzak rpierzak@mail.rochester.edu___
Steven Rice scr@riceklang.com(443) 845 3991
Drew Allen bohemian.surrealist@gmail.com___

Principal hardcopy documents for the ECMC GNU/Linux systems, available in rooms 52 and 53:

    Overview of studio resources:
  • ECMC Users' Guide (Class users will be given a copy of this document.)
    -----------------------
    Csound:
  • The Csound Reference Manual
  • Score11 manual (Class users will be given a copy of this document.)
  • nGen manual
  • Eastman Csound Orchestra Library binder (Schindler)
  • Eastman Csound Tutorial binder (Schindler)
    ----------------------------------------
    Documentation on specific hardware and software in the studio:
  • Focusrite Voicemaster mic/line pre-amplifier manual (room 52 only)
  • PD binder : Information on running the PD application
  • ECMC Audio DAT Tape/CD Sample Library binder
  • Manuals for Minnetonka Software's discWelder Chrome and SurCode MLP
========================================================
Books on computer music resources available for your use in room 53:
  • Cope, David, Virtual Music : studies of artificial intelligence and algorithmic procedures applied to music composition
  • Eargle, John, The Microphone Book : a scholarly and authoritative compendium of information on microphones and how to use them
  • Huber, David and Williams, Philip, Professional Microphone Techniques : despite a sometimes breezy writing style this book contains much helpful information on microphones and tips on miking particular instruments and voices
  • Loy, Gareth, Musimathics, volumes 1 and 2 : introduction to the physics and mathematics of music, especially in the digital domain.
  • Roads, Curtis, editor, The Computer Music Tutorial : excellent general purpose introduction to computer music techniques and resources
  • Roads, Curtis, Microsound : a comprehensive study of granular synthesis techniques
None of these books, which are intended for use at any time by all
ECMC users, should EVER leave the studios.

Class materials fee: A course fee of $9 covers the cost of your copy of the ECMC Users' Guide, the score11 manual and all additional printed handouts you will be given this semester. These constitute your textbook for the course for this semester. Please pay the cashier and bring your receipt to class. Supplies, including CDR and CD-RW discs, DVD discs in -r,+r, -rw and +rw formats, jewelcases and other supplies can be purchased at any time during the year following the same procedure. Current prices for the ECMC General Store are posted outside the ECMC middle studio (room 53).


COURSE GRADING: Your semester grade will be based on the following four evaluations of your work in the studio:

  1. Week 9 Oct. 23 TEST 1 : 1/4 of final grade: Evaluation of examples of your work with
    • recording acoustic sound sources into soundfiles; and
    • score11/Csound
  2. Week 13, Nov. 27 TEST 2 : 1/4 of final grade: Evaluation of examples of your work with the following applications:
    • PD
    • some combination of jack clients (e.g. jack-rack, FreqTweak and jamin)
    • the ambisonic processing program vspace
  3. A semester compositional project. 40 % of your final grade. This project, due no later than noon on Monday, December 17 , is a 2-5 minute composition, stereo, quad or eight channel, recorded onto a compact disc or DVD-A disc or else (if a PD patch or 8 channel piece) performed from a notebook computer system. The project will be evaluated both on musical and on technical quality.
  4. Class participation: 10 % of final grade. (No yawning or shaking your watch to determine if it has stopped during my lectures.)

Class concert at the end of the semester:

I have scheduled a concert of works realized in the studios this term for Monday, December 17. Setup begins at 5:00 and the concert begins at 6:00. Your piece will be included unless you are so mortified by its abysmal, disgraceful quality that you are able to convince me to strike it from the program so that it does not ruin the entire concert and everyone's evening.
Weekly Assignments for semester 1, fall 2007:

[All optional assignments -- suggested but not required -- are printed below in brackets and in small type.]


Week 1, Sept. 4

Principal topics: (1) Course and lab structure; (2) Introduction to the ECMC computer network and audio workstations; (3) the GNU/Linux desktop working environment; (4) introduction to Unix; some basic Unix commands; (5) simple text editors and nedit (6) online help and system documentation (7) the ECMC web pages; (8) finding, listing and playing sflib soundfiles; (9) the Audacity soundfile editor and mixer; (10) shell commands to list and play your own soundfiles;

Reading assignment:
(This week and next you will be doing a lot of reading for this course. There is a lot of basic information to absorb before you can make some music in here. Be assured that (1) no, this is not a musicology course in disguise, and (2) yes, eventually you will put aside all of these manuals and create some music.)
  1. ECMC Users' Guide:
    • All of Section 1 (pages I:1 to I:17)
    • Sections 2.0 through 2.6. (pages II:1 to the middle of page II:14)
    • Sections 4.0 through 4.5 (pages IV:1 to the top of IV:12)
  2. [ Recommended :] man pages for findsflib and findsnd
Labs and individual studio work:
    Basic system orientation -- the boring stuff :
  1. Learn to negociate your way around the GNU/Linux "desktop" environment. Begin setting up your desktop and panel ("taskbar"), with one or more shell windows and, if you wish, desktop and panel icons for frequently used applications and directories (such as sflib and your your home Unix and soundfile directories). Reset your password.
  2. Create a few scratch Unix files and learn how to use the following Unix commands: date, cal, who, ls and ls -l, cat, more, less
  3. Using the Firefox web browser, browse through the ECMC web pages (http://www.ecmc.rochester.edu). In particular, take a look at the DOCs pages
  4. With the ecmchelp utility, take a look at a few of the ECMC help files, including hertz, pitchratios and sflib.
  5. Practice creating text files with the nedit text editor
    Audio programs and applications -- the good stuff :
  6. Over the next few weeks play through many of the 44.1k and 96k soundfiles in the sflib and sflib96 directories, using the playsflib (psfl) command from a shell window. Use the command lsflib (lsfl) to list the directories and soundfiles on the sflib disk, and the command sflibinfo (sfli) to display their durations and other header information. Over the next few weeks you should become familiar with the samples available within the sflib collection.
  7. Learn how to make simple soundfile edits (cut, copy, paste, fade-in, fade-out, change amplitude level) and simple mixes with Audacity, and to save these edited soundfiles or mixes to your own snd directory.
  8. Learn how to use the following commands from a shell window to access your soundfiles: lsf, sfinfo (si), play

Week 2, Sept. 11 :

Principal topics: (1) digital audio signals: sampling rates and bit depths; (2) pre-amplifying acoustic signals in room 52: using the studio Audio Technica mics and the Voicemaster preamps in rooms 52 and 54; (3) jack, qjackctl and meterbridge; (4) qarecord (and arecord); (5) recording analog signals into soundfiles both with jack running and without jack (5) the rezound and sweep soundfile editors (6) printing files
Reading assignment:
ECMC Users' Guide:
  • Sections 2.7 (Printing, page II:14) through 2.9 (Text editors, page II:16)
  • All of Sections 3 (pages III:1 through 3.15)
  • Section 4.9 (Jack) page IV:16 through section 4.9.2 (A simple jack patch for recording microphone signals), pages IV:12 through IV:19
Labs and individual studio work:
  1. Practice pre-amplifying mic signals with the Voicemaster
  2. Learn how to start and stop jack and qjackctl, and to connect jack clients such as meterbridge, qarecord and rezound.
  3. Practice recording mic signals into soundfiles with jack clients
  4. Practice editing the soundfiles you have recorded with rezound. Also try out the sweep.
Assignment for Test 1, due week 8, October 23 :
While practicing recording microphone signals into soundfiles always try to recording musically interesting signals ( rather than your voice droning "testing ... 1.. 2... 3... 4.."). You should accumulate some musically useful soundfiles that you can use as source material in your compositional work in this course. During Test 1 (see Week 8 below) we will play two of the soundfiles you have recorded. At least one of these soundfiles must be of a non-vocal sound source.

Week 3, Sept. 18 :

Principal topics: (1) some ECMC soundfile utilities (2) playing and ripping audio compact discs; (3) the ECMC CD library of sampled sounds (4) introduction to the vi text editor; (5) introduction to score11
Reading assignment:
  1. Score11 manual : sections 1.1 up to 3.1.9 (pages 1 through 18)
  2. ECMC Users' Guide: :
    • Sections 4.6 (page IV:12) through 4.8 (IV:16)
    • Section 5.0 through 5.2 (pages V:1 through to the top of V:7)
    • Section 5.7, The ECMC CD/DAT sample library, page V:15
  3. Browse through the ECMC Audio CD/DAT Library binder.
Labs and individual studio work:
  1. Practice using the following soundfile utility programs: cpsf, mvsf, rmsf, sfpeak, bounce, pitchshift, sfnorm
  2. Practice creating input files to score11 and then running these files through score11 and looking at the resulting sout output files to see if you get what you expect. Spend most of your individual studio time this week on score11.
  3. Try using vi to create and edit ascii files. (You may not like it, at least at first, but most advanced ECMC users prefer vi to nedit.) You might find the tutorial at http://www.yolinux.com/TUTORIALS/LinuxTutorialAdvanced_vi.html to be helpful.
  4. Practice playing audio compact discs and ripping complete short tracks and excerpts from longer tracks into soundfiles. The ECMC Library cds of sampled sounds are good sources for this practice.
  5. [ Recommended: Sign out one or more of the ECMC Library of sampled sounds cds and have a listen. These cds can provide valuable source sounds for your work throughout the year. CDs must be returned no later than 2 days after being signed out.]

Week 4, Sept. 25:

Principal topics: (1) additional editing features of vi ; (2) score11 (concluded); (3) the Eastman Csound Library; Library instruments marimba and bsn; (4) creating soundfiles with Csound and running Csound in real time; (5) the Csound5 GUI
Reading assignment:
  1. ECMC Users' Guide Users' Guide: Section 8.0 (pages VIII:1 through 8.2 (page VII:10)
  2. Eastman Csound Library (available in rooms 52 & 53): Documentation on Library instrument algorithms marimba (pages 43-46), and bsn
  3. Online man pages for mko and csoundplay
Labs and individual studio work:
  1. Try out some of the additional and more advanced features of score11 discussed in class
  2. Create some scores for Eastman Csound Library algorithms marimba and bsn and compile these into soundfiles. Also try compiling some scores in real time with the command csoundplay (csp), or using the Csound5 GUI

Week 5, Oct. 2 :

Principal topics: (1) burning audio and data CDs and data DVDs with K3b (2) backing up files to flash and portable USB drives; (3) using Eastman Csound Library "sampler" algorithms samp and tsamp; (4) creating and using Csound function definitions; (5) Unix command history and job control; (6) organizing your soundfiles into directories; (7) running batch jobs
Reading assignment:
  1. ECMC Users' Guide:
    • Sections 2.10 ( Some additional Unix resources) (pages II:16 through II:21, the end of Section 2)
    • Sections 5.3 (Burning Audio and data CDs) and 5.4 (Archiving data to DVD discs) (pages V:7 up to V:11)
    • Section 5.8 (flash drives), pages V:16 through V:19
    • Sections 8.5 ( The samp and tsamp Library algorithms) and 8.6 (Soundfile and keymap functions) (pages VIII:16 to the top of VIII:20)
  2. Eastman Csound Library: documentation on algorithms samp and tsamp, pages 54-63
  3. [the man page for mksffuncs ]
Labs and individual studio work:
  1. Practice using ECMC Csound Library instruments tsamp and samp
  2. Practice creating Csound function definitions of your own soundfiles and using these with tsamp and samp
  3. Learn how to burn both audio and data CDs as well as data DVDs with K3b, and how to backup files to a flash drive

For the rest of the year, you will be responsible for backing up all of your important soundfiles and Unix files to data cds, dvds and/or flash drives. Do this frequently, so that in the event that a system disaster wipes out the sound disk on madking, or (more likely) in case you inadvertently delete one or more important soundfiles or Unix files, or should they become corrupted, you can restore your lost file(s) and get right back to work.

Assignment for Test 1, due October 23 :
During the first test of this semester (see Week 8 below) we will look at 3 or 4 of your best score11 examples, play the resulting soundfiles, and make a few temporary edits (changes to) your score11 files.

Week 6, Oct. 9 :

No class this week. School holiday on October 11 and 12. However, labs WILL meet this week.
Labs and individual studio work:
Since there is no new material this week, but new topics have been coming at a prestissimo tempo so far this semester, use your lab and individual studio time to
  1. Review and solidify your understanding of the couse material, techniques and audio applications covered so far, and in particular of Csound and score11. Come to your lab with specific questions on audio applications and concepts that you still don't fully understand, and on problems you have encountered;.
  2. Explore in greater depth two or three applications presented so far that interest you. See if you can create some musical source material (either acoustic recordings or processing of soundfiles) that will be usable to you in your compositional project.
  3. Continue preparations for your first graded evaluation in two weeks
  4. Give some preliminary thought to your semester compositional project, and the type of piece you would like to create? What kinds of sound sources, musical gestures and formal techniques will you use?

Week 7, Oct. 16 :

Principal topics: (1) granular synthesis and the ECMC gran instrument algorithm; (3) review of jack; (4) the MIDI keyboard controller in the studio; (5) introduction to the PD application
A portion of class time will be devoted to individual appointments to discuss the Csound scores on which you are working, and your preparations for next week's graded test
Reading assignment:
  1. ECMC Users' Guide: Section 4.10 (A PD tutorial), pages IV:22 throug IV:25, the end of section 4)
  2. Eastman Csound Library : Documentation on Library algorithm gran (pages 26-42)
  3. The article Pd Documentation by Miller Puckette, contained in the PD binder, available in the studio :
Labs and individual studio work:
  1. Experiment with granular synthesis techniques using the gran algorithm
  2. Modify some existing PD patches and begin constructing some simple PD patches based upon the models provided in class and in the PD documentation

Week 8, Oct. 23: TEST 1

No regular class or labs this week. Class time will be devoted to individual appointments for graded evaluations of:
  • Acoustic recording: Two 10-20 second soundfiles of acoustic sound sources you have recorded in the studio. (At least one of these recordings must be of a non-vocal sound source.)
  • Csound: Three or four score11 files, for two different Eastman Csound Library instrument algorithms, and the soundfiles created by these scores
Your recording and Csound soundfile examples will be evaluated on musical as well as technical quality.

Week 9, Oct. 30 :

(1) A more in-depth examination of resources of PD and a look at several PD patches; (2) some jack client effects processors: jack-rack, FreqTweak and jamin; (3) some LADSPA plugins ; (4) utilities for converting soundfiles
Reading assignment:
  1. ECMC Users' Guide :
    • Sections 6.0 through 6.2 (pages VI:1 through the middle of VI:5)
    • section 4.9.4, An example JACK session, pages IV:20 to IV:22
  2. [ You may want to look at some of the example patches in the hardcopy PD binder in addition to the control, audio, reference and ECMC examples available from the Help menu from within the application. ]
Labs and individual studio work:
  1. Create some new patches to try out some additional resources of PD, but also concentrate on perfecting one or two patches that work exactly as you wish
  2. Try out jack-rack, FreqTweak and jamin, as well as some of the LADSPA plugins, which can be opened from within rezound.
  3. Practice converting various parameters of soundfiles (sampling rates, bit depths, number of channels, etc.)
Assignment for Test 2, due week 13 December 5 :
For your second graded evaluation, prepare
  1. One or two PD patches
  2. One sound processing example that employs either jack-rack, FreqTweak or jamin, or else a combination of these jack clients
  3. One short (10-20 second) mix created either with qrt or with Ardour2

Week 10, Nov. 6 :

Principal topics: (1) PD (concluded); (2) the mixing applications qrt and ardour2; (3) discussion of semester project possibilities
Reading assignment:
  1. online documentation on qrt and ardour (see links on the Documentation page of the ECMC web site)
Labs and individual studio work:
  1. Practice using the qrt mixer
  2. Practice using ardour2
  3. Continue working on your iPD patches
  4. Discuss your preliminary semester project ideas during your lab from aesthetic, technical and (given the limited amount of time you have to complete this project) practical considerations.
Assignment for Test 2, due week 13 November 27 :
For your second graded evaluation, prepare a short (10-20 second) mix using either qrt or ardour2
Assignment for next week :
Begin seriously planning your semester compositional project. You can incorporate any of the system resources covered this term within this project. Take a portion of your lab times throughout the rest of the semester to discuss your ideas, questions and problems. We will discuss your project ideas during your individual appointment next week. Begin working on your project now, and come to next week's appointment prepared with specific, concrete musical ideas and some material that you intend to incorporate within this piece.

Week 11, Nov. 13 :

Principal topics: (1) spatial ambience, sound localization, multichannel audio and "surround sound" systems (2) ambisonic sound processing and encoding with vspace; (3) decoding and playing B format soundfiles in stereo and quad; (4) a portion of the class time will be devoted to individual appointments to discuss your ideas for your semester project, and to look at your PD patches.
Reading assignment:
  1. ECMC Users' Guide : Sections 7.1 through 7.6 (pages VII:1 through VII:21)
  2. the man page for vspacetp
Labs and individidual studio work
  • Create some B format soundfiles with vspace
  • play these encoded soundfiles with play -b 2 and play -b 4 (or else with playbs and playbq)
  • practice decoding these B format soundfiles with decb2 and decb4 and playing the resulting WAVE soundfiles
  • continue work on your semester project and on your examples for Test 2
Assignment for Test 2, due week 13 November 27 :
For your second graded evaluation, create at least one B format soundfile with vspace

Week 12, Nov. 20 :

Principal topics: (1) 8 channel decoding and playback of B format soundfiles; (2) mixing B format soundfiles (mixbsc and mixb); (3) compressing files ; (4) a portion of class time will be devoted to individual appointments to assess your preparation for next week's graded evaluation
Reading assignment:
ECMC Users' Guide :
  • Section 6.5 (Compressing files) (pages VI:10 through VI:14)
  • Sections 7.7 and 7.8 (pages VII:21 through VII:28)

No labs this week. Happy Thanksgiving.

Individual studio work:
  1. Learn how to use decb8 and 8play to play ambisonic soundfiles over the 8 channel system
  2. Try mixing two or more B format soundfiles with mixb.
  3. Practice compressing files; try out the tar archiving program
  4. Complete your preparations for next week's test, including at least one ambisonic soundfile created with vspace.

Week 13, Nov. 27 : TEST 2

Regular class and labs will not meet. Class time will be devoted to individual appointments for graded evaluations of of the following work:

  1. PD : Your best PD patch (or your best two patches)
  2. One sound processing example that employs either jack-rack, FreqTweak or jamin, or else a combination of these jack clients
  3. One short mix created with qrt or with ardour2
  4. One vspace example
In addition to this prepared portion of your evaluation, I will ask you to make a few (temporary) edits (changes) to your prepared examples. We also will discuss briefly your progress on your semester project.

Individual studio work : Continue working on your semester project.
Although regular labs will not meet, contact your lab instructor if you would like to schedule time this week for an extra help session.


Week 14, Dec. 4 :

Principal topics: (1) remote logins and file transfers between ECMC computers; (2) introduction to Windows computer gesualdo and some of the music software on this machine; (3) burning DVD data discs; (2) DVD-Audio; (4) creating DVD-A discs with SurCode MLP and discWelder chrome; (5) splitting multichannel soundfiles into individual mono soundfiles; (6) the Windows resample application; A portion of class time will be devoted to individual appointments to discuss your progress on your semester project.
Reading assignment:
    [All readings this week are recommended but optional.]
  1. ECMC Users' Guide : sections 6.3 and 6.4 (remote logins and Copying files)
  2. [ discWelder chrome manual ]
  3. [ SurCode MLP chrome manual ]
  4. [ the man page for the ECMC utility splitchans ]
  5. [ graphical help available within the resample algorithm ]
Labs and individual studio work:
  1. Practice logging on remotely to gesualdo from madking and copying files back and forth between these two systems
  2. Practice splitting multichannel soundfiles into individual mono soundfiles, copying these soundfiles to gesualdo and MLP encoding these soundfiles.
  3. Learn how to create a DVD-A disc with discWelder chrome
  4. Try out the Windows resample application
  5. Continue working on your semester projects (of course!)

Week 15, Dec. 11 :

Class will meet only for about 20 minutes to discuss preparations for the class concert. Most of the class time will be devoted to individual appointments to discuss your semester projects. Regular labs will not meet. Final projects must be turned in no later than Monday December 17 at noon. If your project must be copied to one of the ECMC notebooks for realization or playback on the concert, it must be ready by noon on Sunday, December16.

The concert of works produced in the studios this term will be presented on Monday, December 17 at 6:00 in room 120.

Projects will be graded within a few days of their presentation on the class concerts, and can be picked up in the anteroom to the ECMC studios anytime afterwards. I will email you a graded critique of your work. You can pick up your cd or dvd disc in the Composition Department office. any time after after receiving your email critique

Before leaving:

  • Back up all important soundfiles you may wish to use in the future onto a data cd or dvd.
  • Delete most of your soundfiles, including your final mix, unless you will be continuing to work with some large soundfiles during the semester break or at the very beginning of next semester. If you will be using these soundfiles for further work during the next few weeks, send me e-mail to let me know what you will be doing. Otherwise ...
  • You should leave NO MORE THAN 1 GB on the snd disk of madking and also delete files you have created on gesualdo. If you leave more than 1 GB on the sound disk of any ECMC system, and if disk space is needed during the semester break (which is likely), we will not hestitate to delete many of your soundfiles, without a moment's hesitation or compunction.
    The command du -h /snd/UID (where UID is your login name) will tell you how much space you are using on the madking sound disk.
    You should clean up and slim down your Unix directories as well.