Portrait of the Artist

Craig Stuart Sapp
craig@ccrma.stanford.edu

P.O. Box 19238
Stanford, California 94309




Papers
Courses
    Music 254/CS 275b
    Stanford University
    Spring 2005
    Applications of Musical Information: Query, Analysis, and Style Simulation
    A project-oriented course on computational musical analysis topics. The Humdrum Toolkit for Music Research is the primary analysis tool learned in the course.
    website ]

    Music 253/CS 275a
    Stanford University
    Winter 2005
    Musical Information
    A survey of digital representations of musical data for printing, performance and music analysis.
    website | syllabus | handouts | labs | homework | links  ]

    350.838
    Peabody Conservatory
    Spring 2003
    Digital Music Programming II
    Programming course for musicians teaching how to write objects for Max/MSP in the C language.
    website | labs | readings | links ]

    350.868
    Peabody Conservatory
    Spring 2003
    Synthesis Theory II
    Indepth study of sound generation techniques.
    website | labs | readings | links ]

    350.867
    Peabody Conservatory
    Fall 2002
    Synthesis Theory I
    Indepth study of sound generation techniques.
    website | syllabus | topics | labs | readings | assignments ]


Programming Resources
  • improv -- C++ code for interactive MIDI programs.
  • midiio -- C++ code which is a smaller subset of the improv library of code.
  • museinfo -- C++ code library for parsing digital symbolic music data format.
  • soundfile -- C++ code for reading and writing soundfiles.
  • sig -- C++ code library containing all of the above C++ libraries plus a higher-level audio processing system than the basic soundfile library.
  • SCMP -- Mathematica packages and examples for use in synthesis theory education.
  • The Music Device Notebook -- random collection of notes for electronics and example Basic Stamp programs for building computer music controllers. Basic tutorial labs for building computer music controllers from a class I taught:
    1. cout -- just send a MIDI note from Basic Stamp.
    2. switch1 -- user the basic stamp to send one on/off switch state though a MIDI cable.
    3. switch15 -- user the basic stamp to send 15 on/off switch states though a MIDI cable.
    4. Foot Pedal Machine -- SMPTE Time MachineTM recycled into a foot pedal controller based on the program from the switch15 lab.
    5. rcfsr -- Using an RC-timing circuit to measure the resistance of a Force Sensing Resistor.
    6. adflex -- measure a flex sensor's resistance with an A/D converting chip and send the data out with a MIDI message.
    7. flex8 -- send eight flex sensor's data over a MIDI cable using a continuous controller messages.
    8. 440 -- composition created using flex8 program to control audio processing in Max/MSP.


Other Online Resources


Compositions
  • Picking for digital string [ recording: MP4 (4MB) ]
  • Ululant for violin solo [ score: PDF (720KB) ]
  • With the Arm for string quartet [ recording: MP4 (4.5MB); Cricket String Quartet ]
  • Short piano works:
    1. Allegro [ score: PDF (92KB) ]
    2. Largissimo [ score: PDF (72KB) ]
  • Other Short works:
    1. News Fanfare [score: PDF (100KB) ]


Education
  • Ph.D. Candidate, Stanford University (Computer-Based Music Theory and Acoustics)
  • M.A., University of Virginia, 1993 (Music Composition and Piano Performance)
  • B.A., University of Virginia, 1991 (Physics and Music)
  • Granby High School, Norfolk, Virginia, 1987


In the News