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

Course syllabus for

semester 2, spring 2008


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.com585-794-3384__
Robert Pierzak rpierzak@mail.rochester.edu___
Steven Rice scr@riceklang.com(443) 845 3991
Drew Allen bohemian.surrealist@gmail.com(585) 285 2467
Matt Barbour brbrofsvl@gmail.com
Paul Coleman paulcolemanmusic@gmail.com


Principal online and hardcopy documents (available in rooms 52 and 53) for this semester's work:

    Linux software:
    (Online web documents that you likely will need to access frequently for this semester's assignments are show below in in bold font)

  • The Csound 5 Reference Manual, available online at This is the "official" and most up-to-date version of the Csound manual, The page numbers for all readings in the Csound Manual within the weekly assignments below are from the current PDF version of the manual, but you probably will want to use the HTML version instead.
  • Eastman Csound Tutorial by Allan Schindler, available online at http://www.ecmc.rochester.edu/onlinedocs/allan.cs/
    (Class users will be given a hardcopy printout of this document, but you may want to use the online version instead for quick access to links to pertinent sections within the Csound 5 Reference Manual )
  • Score11 Reference Manual, available online at http://ecmc.rochester.edu/ecmc/docs/score11/score11.html
    (Class users should already have a hardcopy printout of this document.)
  • ECMC PVC Example Files (Schindler) Hardcopy eExample input files for the PVC programs)
  • ECMC PVC Documentation, available online at http://ecmc.rochester.edu/ecmc/docs/pvc/index.html
  • PD binder : Information on running the PD application
  • NUI MU611 / MU 376 Software Sound Synthesis web page, available online at http://music.nuim.ie//musictec/docs/synth.html (This web site, posted by the Music Technology Department at the National Univeristy of Ireland, Maynooth, contains helpful graphical tutorials on several basic facets of Csound and common synthesis methods.)

    Windows software:
  • WAVES IR-1 Convolution reverberation documentation

    Books on computer music resources available for your use in room 53:
    (Books that are particularly recommended to supplement assigned class readings this semester are show in bold font)

  • Cope, David, Virtual Music : studies of artificial intelligence and algorithmic procedures applied to music composition
  • Cottle, David, Computer Music with examples in SuperCollider 3
  • 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
  • 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
  • Smith, Steven, Digital Signal Processing : recommended supplemental text for information on the mathematics of signal processing
  • Winkler, Todd, Composing Interactive Music : resources and ideas for interaction between live performances and computer programs; most of the examples employ the MAX programming language, but much of the information is equally pertinent to PD
None of these books, which are intended for use at any time by all ECMC users, should EVER leave the studios.

Backup media

DVD discs (-r, +r, -rw and +rw formats), CD-R and CDRW compact discs and other supplies can be purchased at any time, as needed. Check the price on the list outside of room 53, pay the cashier and bring us your receipt. I recommend that you use a flash drive to back up your work on madking.

Course grading: three individual appointment tests, a class presentation and a semester project

Note: This syllabus, and some of the weekly assignments and test material below, are rather complicated because you are given options on which software resources you wish to pursue in detail and which software resources you wish to cover in in a more general, less concentrated fashion. In particular, in our examination of basic sound synthesis and signal processing software during the first six weeks, you can either:
  • devote all of your attention to work with Csound, in which case you will be expected to create some fairly sophisticated, musically useful Csound tools for your compositional work; or, alternatively
  • you can choose to explore synthesis procedures using both Csound and PD (referred to as the "PD track" in the weekly assignments below). If you choose to explore PD implementations of basic synthesis procedures in addition learning corresponding Csound implementations, I will not expect your Csound examples to be as detailed. Please read the test and weekly assignments carefully and make your choices.
  • FEBRUARY 5 : Initial checkpoint appointment on synthesis and analysis procedures (10 % of semester grade).
    Come prepared with ANY THREE of the following four items:
    • one Csound orchestra file and companion score file using one or more synthetic (oscillator) sound sources
    • one Csound orchestra file and companion score file that reads in (with soundin or diskin2) a soundfile, then processes and alters this source sound in some fashion
    • one PD synthesis patch employing oscillators and envelope generators
    • at least one soundfile created with either ceres or else with mammut)
  • MARCH 4 : Compositional etude 1 : Graded evaluation of a very short (15-30 second) compositional study based on sound synthesis and/or DSP processing of sampled sounds; in addition to this actual miniature composition, we will look at and listen to the synthesis and DSP algorithms (Csound orc/sco pairs and/or PD patches) used to create this etude (20 % of semester grade)

  • APRIL 1 : Compositional etude 2 : Another 15-30 second miniature composition using ONLY source soundfiles created by analysis/resynthesis procedures from such applications as ceres3, mammut, PVC (plainpv, twarp,chordmapper etc.), Csound or PD implementations of phase vocoders, SMS and Loris . In addition to the etude, we will listen to the source soundfiles and look at the anaysis/resynthesis files or procedures used to create these soundfiles. (20 % of semester grade)

  • Class presentation : a 15 minute presentation on a piece of electroacoustic music of your choosing (with my approval), dealing both with technical aspects of the work (sound sources and synthesis or sound processing techniques, formal structure, etc.) and with aesthetic and musical issues ("What is the composer trying to do in this piece? Where is the musical interest concentrated? What is unique about this piece?") (20 % of semester grade)

  • Monday MAY 5 : Your semester project, a composition of approximately 3 to 6 minutes incorporating a variety of resources discussed during the semester, will be performed on a class concert. (30 % of semester grade)
    Schedule for class presentations :
    Tuesday Feb. 12   ____________________________   Tuesday Feb. 19   ____________________________
    
    Tuesday March 18   ____________________________   Tuesday April 8   ____________________________
    
    Tuesday April 15   ____________________________
    
    

    Concerts and multimedia shows sponsored this semester by the ECMC :
    • The ECMC will present two concerts this semester:
      1. 8:00 pm March 7 in Kilbourn Hall, featuring works by guest composer Reginald Bain, Luis Pena ad ECMC composers; and
      2. 8:00 pm March 27 at the Visual Studies Workshop auditorium, 31 Prince Street, featuring works by guest composer Joel Chadabee and ECMC composers.
      Presentations by Bain and Chadabee on their recent music and activities will be scheduled during the afternoon on these concert dates in the MIDI studio.
    • This year's 12th annual collaborative ImageMovementSound film/music/dance festival productions will be presented in April.
    • We will present a concert of works realized in the studios this term on Monday, May 5 at 6:00 in room 120.

    Weekly Assignments for Semester 2:

    { All optional assignments -- suggested but not required -- are printed below in small type and surrounded by curly braces. }
    • All lab work will parallel the class discussions and reading assignments for each week.
    • Most of your work during the first half of this semster will proceed along two parallel tracks:
      1. Constructing your own sound generating and signal processing algorithms with Csound (and, if you wish, with PD)
      2. Using analysis/resynthesis techniques for sound generation and modification

    Week 1, Jan. 15

    Principal topics: (1) course structure, lab times and class presentation dates for this semester; (2) synthetic sound sources: how oscillators work; fixed waveforms, tables and phasors; (3) the Music N languages and a brief history of sound synthesis; (4) introduction to Csound; orchestra and score files; oscillators, and function tables; (5) PD oscillator and synthesis objects

    Reading and web browsing assignment:
    (Lots of reading this week -- almost like a musicology course!)
    1. Eastman Csound Tutorial (Schindler), Chapter 1
    2. Csound Reference Manual:
      (Pages where each Csound opcode or topic is covered within the current PDF version of the Csound 5 Reference Manual are indicated here within square brackets. However, you may prefer to use the HTML version of this Reference Manual. HTML links to all Csound Reference Manual topics listed here and in the reading assignments for the next few weeks are provided in the online version of the) Eastman Csound Tutorial.
      Orchestra files:
      • Syntax of the Orchestra [78] (Skip over the section on Directories and Files)
      • Nomenclature, Orchestra Statement Types and the first 2 paragraphs only of Constants and Variables [79 to the middle of 80]
      • oscil [976] and oscili [982]
      • out [994] and outs [1020]
      • cpspch [327]

      Score files:
      • F statements [1783]
      • function generators GEN9 and GEN10 [1818-1822]
    - - - - - - - - - - - -
    { Additional suggested but not required reading for this week:
  • Csound Reference Manual: the Csound command [66-73]
    (You can't possibly remember all of these flag options. Just know that these pages are here for future reference, when you may want or need to try something different.)
  • NUI Software Sound Synthesis web page: Lecture Slides : 2. Basics and 3. Instruments
  • {Roads, Computer Music Tutorial: The Unit Generator Concept (page 89) through Table-lookup Noise and Interpolating Oscillators [page 95] }
  • { Boulanger, The Csound Book:}
      {Chapter 1, Pages 6-15 : What is Csound and How Does It Work through The First Three P-Fields}
      {Chapter 2, Pages 65-73 : Understanding and Using Csound's GEN Routines up to (but not including) GEN 19}
    Labs and individual Studio Work :
    1. The basic (bare minimum) resources of Csound that you should master during each of the first five weeks of this semester is presented in the Assignments sections at the ends of the first five chapters of Eastman Csound Tutorial. See the end of Chapter 1 for this week's recommended studio work.
    2. Create Csound orchestra and score files and compile them with the csound command both in real time and into soundfiles. Practice varying the smapling rate, control rate (kr) and word size or else in cecilia.
    3. If you have not already done so, finish cleaning up your soundfile and Unix directories on madking, organizing and archiving important files and deleting all files you will not need immediately.
    4. [PD track : construct some simple oscillator/table patches based on the models listed under week 1 in the PD supplement to this syllabus.]

    Week 2, Jan. 22

    Principal topics: (1) envelope generators ; (2) reading soundfiles into Csound and PD; (3) introduction to analysis/resynthesis and phase vocoder procedures; (4) the ceres3 phase vocoder application;

    Reading and web browsing assignment:
    1. Eastman Csound Tutorial : Chapter 2
    2. Csound Reference Manual:
      • linseg [801] and expseg [436]
      • envlpx [421]
      • gen5 [1810] and gen7 [1814]
      • soundin [1305], diskin [390] and diskin2
    3. ECMC Users' Guide, Section 9.10 up to 9.1.2, pages IX:0 through the middle of IX:8
           -    -    -    -    -    -    -    -    -    -
      { Recommended for additional information and clarification, but are optional: }
    4. { NUI Software Sound Synthesis web page : Lecture slides: 5. Additive and Background Texts: Additive synthesis csound code examples }
      { Roads, Computer Music Tutorial:
      • Time-varying Waveform Synthesis (pages 95 to 100, up to Instrument Editors); and
      • Additive Analysis/Resynthesis [page 144] through Methods of Sound Analysis for Additive Synthesis [page 145] }
    Labs and individual Studio Work :
    1. See the Assignment at the end of Chapter 2 of the Eastman Csound Tutorial.
      Suggestion: Try adding unit generator display (Csound manual, page 13:8) to one of your orchestra files, and use it to take a look at the envelopes you are creating.
    2. Create some phase vocoder resynthesis soundfiles with ceres.
    3. [PD track : add some envelope generators such as line~ and other control objects to your PD patches, and look at some of the model patches listed under week 2 in the PD supplement to this syllabus.]
    4. Begin preparing your Csound and/or PD examples for your first graded evaluation in two weeks. (See the assignment for week 4 below.)

    Week 3, Jan. 29

    Principal topics: (1) amplitude, ring and frequency modulation; (2) alternative ways to read soundfiles into Csound and PD; (3) building some flexibility and "intelligence" into synthesis and signal processing algorithms with program control statements; (4) important concepts in DSP, fast Fourier transforms, time and frequency representation of signals (Matt Barbour)
    Reading and web browsing assignment:
    1. Eastman Csound Tutorial: Chapter 3
    2. Csound Reference Manual:
      • foscili [599]
      • tablei [1377] and phasor [1057]
      • gen 01 [1801]
           -    -    -    -    -    -    -    -    -    -
      { Recommended for additional information or clarification, but optional: }
    3. { NUI Software Sound Synthesis web page : }
      • Lecture slides: 4. Modulation, noise and sampled-sound
      • Lecture slides: 7. FM
      • Background Texts: Simple FM: Chowning's examples
      • Background Texts: Double-carrier FM and other examples?
      • Background Texts: AM and sampled-sound
    4. {Roads, Computer Music Tutorial:}
      • Ring modulation, pages 216-221
      • Amplitude modulation, pages 221-224
      • Frequency modulation, pages 224-235 (up to, but not including, Exponential FM )
      • Multiple Carrier FM, pages 236-239
      • Multiple Modulator FM, pages 239-242
    5. { Boulanger, The Csound Book: }
      • Chapter 11, Pages 237-240 : Amplitude Modlation
      • Chapter 12, Pages 261-279 : Frequency Modulation
    Labs and individual Studio Work :
    1. See the Assignment at the end of Chapter 3 of the Eastman Csound Tutorial.
    2. [PD track : construct some modulation patches based on the models listed under week 3 in the PD supplement to this syllabus.
      Also recommended: the article and PD patches for Six Simple Synthesizers by Obiwannabe (Andy Farnell) at http://www.obiwannabe.co.uk/html/music/6SS/six-simple-synthesisers.html]
    3. Prepare for your graded appointment next week.
    4. You should already begin thinking ahead to your semester compositional project. What kind of piece do you want to create? In developing your Csound and/or PD synthesis algorithms and scores, and in working with analysis/resynthesis procedures in the coming weeks, you should be developing techniques (and creating soundfiles) that will be useful to you in the realization of your piece.

    Week 4, Feb. 5

    One hour of class time will be devoted to individual appointments for a
    GRADED EVALUATION OF YOUR INITIAL WORK WITH CSOUND (and, optionally, synthesis with PD).

    Come prepared with ANY THREE of the following four items:
    • one Csound orchestra file and companion score file using a synthetic (oscillator) sound source
    • one Csound orchestra file and companion score file that reads in a soundfile with soundin or diskin or diskin2, then processes and alters this source sound in some fashion
    • one PD synthesis patch
    • at least one soundfile created with either ceres or else with mammut
         -    -    -    -    -    -    -    -    -    -
    Principal topics for the second hour: pulse train generators and pseudo-random number generators
    Reading and web browsing assignment:
    1. Eastman Csound Tutorial, Chapter 4
    2. Csound Reference Manual :
      • buzz [271] and gbuzz [637]
      • the pseudo-random number generators rand [1150], randh [1152] and randi [1154]
      - - - - - - - - { Recommended for additional information or clarification ,but optional: } - - - - - -
    3. { Boulanger, The Csound Book: Chapter 16, pages 321-338 }
    Labs and individual studio work:
    1. See the Assignment at the end of Chapter 4 of the Eastman Csound Tutorial.
    2. [PD track : construct some patches based on the models listed under week 4 in the PD supplement to this syllabus.]
    3. { Suggestion: Type "csoundexamples". This will move you into the directory /usr/local/lib/csoundexamples, where you will find severalsubdirectories, each containing example Csound orc/sco pairs that illustrate usage of various opcodes. If you find an instrument you like you can copy it into your own directory and experiment with it. } The cd-rom accompanying The Csound Book, available by asking a staff member, also includes many orc/sco examples. Browsing through one or more of these collections may give you some additional ideas or models for constructing your own Csound algorithms.
      By the time you read this we should have augmented our ECMC PD library with more synthesis examples as well. }

    Week 5, Feb. 12

    Principal topics: (1) Filters, delay lines, reverberators and "global" instruments; (2) graphical controls for Csound; (3) the mammut application (4) class presentation #1

    Reading and web browsing assignment:
    1. ECMC Users' Guide, Section 9.1.3 : Using mammut
    2. Eastman Csound Tutorial, Chapter 5
    3. Csound Reference Manual :
      • tone [1441] and reson [1178] , tonex [1443] and resonx [1184]
      • balance [233]
      • comb [303] and alpass [207]; nreverb [946]
      • {Optional: atone [222], areson [219], follow, follow2 [593, 595], delay [370] vdelay [1499] and multitap [927] }

      - - - - - - - - - -
      { Recommended for additional information or clarification,but optional: }
    4. { NUI Software Sound Synthesis web page: Lecture Slides : 6. Subtractive and Background Texts: subtractive synthesis csound code examples}
    5. { Roads, Computer Music Tutorial: Subtractive Synthesis (pages 184 through 193) }
    6. { Boulanger, The Csound Book:}
      Chapter 20, pages 433-436 : Filters
      Chapter 22, pages 451 ff.: Delay lines
      Chapter 23, pages 467 ff. : reverberators
    Labs and individual Studio Work :
    1. Try out the mammut program and see if you find it interesting.
    2. Eastman Csound Tutorial Chapter 5 assignment
    3. [PD track : construct some filter patches based on the models listed under week 5 in the PD supplement to this syllabus.]
    4. Experiment with the moog.csd graphical Csound example

    Week 6, Feb. 19

    Principal topics: (2) introduction to the PVC phase vocoder programs and plainpv (2) conclusion of our study of basic synthesis resources of Csound and PD; (3) macros and macro preprocessing of score and orchestra files; (4) alternate tunings; (5) class presentation #2

    Reading and web browsing assignment:
    1. ECMC Users' Guide, Section 9.1.2, pages IX:8 through the top of IX:10
    2. Introduction to the PVC programs and description of plainpv, available online at http://ecmc.rochester.edu/ecmc/docs/pvc/
    3. ECMC PVC EXAMPLE FILES binder (available in rooms 52 and 53): plainpv example files
    4. Eastman Csound Tutorial, Chapter 6
    5. { Optional: Csound Reference Manual:
      • loscil [824]
      • harmon [661]
      • dam [357]
      • cps2pch [317] and cpsxpch [338] }
    6. { NUI Software Sound Synthesis web page: Lecture Slides : 8. Waveshaping and 9. Granular ; also Background Texts: Vowel and formant synthesis and Synchronous granular synthesis }
    Labs and individual Studio Work :
    1. Create several resynthesis soundfiles with the plainpv program.
    2. Try out some of the additional Csound unit generators introduced in this week's class and in Chapter 6 of the Eastman Csound Tutorial
    3. [PD track : construct some simple oscillator/table patches based on the models listed under week 6 in the PD supplement to this syllabus.]
    4. Begin working on your first compositional etude, due March 4

    Week 7, Feb. 26

    Principal topics: (1) summaries and usage illustrations of some additional PVC programs (2) phase vocoder resources of PD and Csound; (3) using PD and Csound together (the csoundapi~ object); (4) a portion of class time will be devoted to individual appointments to look at your preparations for your compositional etude, due next week

    Reading and web browsing assignment:
      ECMC PVC EXAMPLE FILES : look at (and listen to) several of the example PVC files for pvanalysis, twarp, spectwarper, harmonizer and chordmapper
    Labs and individual Studio Work :
    1. Try out some of the additional PVC programs covered in class and labs this week
    2. Trying running Csound as an object within a PD patch create some phase vocoder anaysis and resynthesis soundfiles with Csound
    3. Complete your first compositional etude, due next week

    Week 8, March 5

    COMPOSITIONAL ETUDE 1 DUE
    Regular class and labs will not meet this week.
    Graded evaluation of a very short (15-30 second) compositional study based on sound synthesis and/or DSP processing of sampled sounds; in addition to this actual miniature composition, we will look at and listen to the synthesis and DSP algorithms (Csound orc/sco pairs and/or PD patches) used to create this etude



    March 10 - 14 : SPRING BREAK : No class or labs. Take a break, or else write lots of music. Yay!!!!!

    Week 9, March 18

    Principal topics: (1) Other FFT-based approaches to analysis/resynthesis; (2) SMS; (3) Loris ; (4) class presentation #3 ; (5) some techniques used in my new work Vie
    Reading and web browsing assignment:
      ECMC Users' Guide, sections 9.2 (SMS) and 9.3 Loris (analysis, resynthesis and cross-synthesis)
    Labs and individual Studio Work :
    1. Try out SMS analysis/resynthesis procedures
    2. Try out Loris analysis/resynthesis and cross-synthesis procedures
    3. Formulate your ideas and sketches for your semester project. We will discuss your project ideas next week.
    4. Work on your second compositional etude, a 15-30 second piece due April 1. All of the sound sources in this little work must be derived from analysis/resynthesis procedures ( ceres3,mammut, PVC plainpv twarp chordmapper, etc.), PD and Csound phase vocoder and FFT resources, SMS and Loris

    Week 10, March 25

    Regular class will not meet. Instead, class time will be devoted to individual appointments to discuss your semester project ideas, and also your progress on your second compositional etude, due next week.
    Labs and individual Studio Work :
    1. Finish preparation of your analysis/resynthesis compositional etude.
    2. Labs will be devoted to help with your second compositional etude and your semester project.

    Week 11, April 1

    COMPOSITIONAL ETUDE 2 DUE : Graded evaluation of your work with analysis/resynthesis procedures
    No regular class or labs this week. Individual appointments during which we will play and discuss (1) your second compositional etude, (2) the analysis/resynthesis soundfile sources used in this etude and (3) the techniques used to create these source soundfiles.

    Week 12, April 8

    Principal topics: (1) an introduction to the Super Collider 3 synthesis programming language on ECMC Macintosh system wozzeck; (2) class presentation #4; (3) presentations on some recent works realized in the ECMC studios

    Reading and web browsing assignment:
    1. Computer Music with examples in SuperCollider 3 by David Cottle, pages to be assigned in class
    2. SC3 class handout
    Labs and individual Studio Work :
    1. Look at some of the SC3 examples discussed in class
    2. Work on your semester projects

    Week 13, April 15

    Principal topics: (1) Further work with Super Collider 3; (2) class presentation #5; (3) presentations on some more recent works realized in the ECMC studios
    Reading and web browsing assignment:
    1. Computer Music with examples in SuperCollider 3 by David Cottle, pages to be assigned in class
    2. SC3 class handout, pages to be assigned in class
    Labs and individual Studio Work :
    1. Try modifying and extending some of the SC3 examples discussed in class
    2. Work on your semester projects

    Week 14: April 21-25 : Jury Week. No class or lab.

    Although regular labs will not meet, you can contact the TAs to obtain their help with your semester project.


    Week 15 : April 29 :

    This final class of the semester will be devoted to class playing and discussion of your semester projects in progress, and to preparing for the concert of these projects next Monday.

    SEMESTER PROJECTS ARE DUE BY NOON ON MONDAY MAY 5.
    If your composition requires the use of an ECMC laptop, your project is due by noon on Sunday May 4 ready for copying to, and testing on, the ECMC laptop.
    A concert of works produced in the studios this term will be presented on May 5 at 6:00 in room 120

    When your project is completed, archive all of the soundfiles you wish to save onto optical CD or DVD discs or a flash drive. Unless you will be continuing to work with these soundfiles during May and/or June, delete your soundfiles from the sound disks on all ECMC systems. Staff members will remove any soundfiles that you do not delete. Clean up your user directories on all ECMC Linux, Windows and Macintosh systems as well, archiving important files onto removable media discs and then removing all files that you no longer need.

    If you want to work in the studios over the summer or next fall, send e-mail allan@ecmc.rochester.edu, so that your directories will be retained and your name included on the list of authorized studio users.