next up previous contents
Next: MIDI-and-Sound Up: Applications Previous: Sound-Compression


Composition Environments

  • CLM
    Common Lisp Music is a music synthesis and signal processing package in the Music V family. CLM provides functions to experiment with sounds and although you can use CLM simply as a bunch of canned functions, it's a lot more fun to make your own. In CLM, these are called "generators" and "instruments", and a sequence of instrumental calls is a "note list". To create your own generators and instruments, you need to write the Lisp function that expresses in CLM's terms the sound processing actions you want.

  • CM
    Common Music is an object-oriented music composition environment. It produces sound by transforming a high-level representation of musical structure into a variety of control protocols for sound synthesis and display. Common Music defines an extensive library of compositional tools and an API through which the composer can easily modify and extend the system.

  • CMN
    Common Music Notation is a free western music notation package written in Common Lisp that can create and display traditional western music scores. cmn is the main Lisp function and it reads in all its arguments, organizes the musical data into systems and staves, adds line and page breaks, beams, ties, slurs, dynamics, and so on, aligns and justifies the result, and as a result produces an "encapsulated Postscript" file.

  • IMPROV
    is a C++ environment for writing programs that enable musician/computer interaction using MIDI instruments. Improv programs can be written in special pre-defined environments, or they can be written from scratch using just the basic MIDI input and output classes.

    Example programs are provided which demonstrate how to use the Improv library. The programs range from simple programs such as one which switches the key number and attack velocity parameters of a MIDI message (switch1) to more complicated programs such as one which statistically analyzes the input notes to estimate the musical key of the performance (keyan).

  • PD
    stands for "pure data". Pd is a real-time software system for live musical and multimedia (video) performances. It is in active development by Miller Puckette, and perhaps others. The system is unfinished, but quite useable for sophisticated projects.The best documentation can only be viewed by running Pd. Click on the "Pure Documentation" menu item on the "Help" menu when you run Pd.

    There is official documentation as well as useful links for pd under the software guides section of the CCRMA home web page at pd guide@ccrma
    To run Pd just type,

    
     		   pd -alsa &        
    

    or just,

    
     		   pd  &        
    

    This will start Pd and a new Pd ``GTK'' box will appear. You can test you audio settings, MIDI settings and see if your audio system is running properly. DIO Digital input output errors might appear while you are running Pd, please pay attention to them since normally these mean audio input and output synchronization errors.

    You can try various Pd switch options in order to tune and optimize your setup. Here are the most common flags which you can see with the command:

    
     		   pd  -help         
    

    -listdev
    list audio and MIDI devices
    -noadc
    suppress audio input
    -nodac
    suppress audio output
    -audioindev
    audio in devices
    -audiodev
    specify input and output together
    -audiobuf (n)
    specify size of audio buffer in msec
    -blocksize (n)
    specify audio I/O block size in sample frames
    -midiindev
    midi in device list
    -nomidiin
    suppress MIDI input
    -nomidi
    suppress MIDI input and output
    -oss
    use OSS audio API
    -alsa
    use ALSA audio API
    -jack
    use JACK audio API (default for Linux)

    Pd also works with video signals provided your workstation has a video capture board. You can combine MIDI, audio, signal processing and also video by using an extra library called GEM.

    To run Pd with GEM just type,

    
     		 pd -lib /usr/lib/pd/externs/Gem         
    

    (Thanks to Bill Verplank who first tested this command at CCRMA).

    GEM is the Graphics Environment for Multimedia. It was written by Mark Danks to generate real-time computer graphics, especially for audio-visual compositions. Because GEM is a visual programming environment, users do not need any experience in traditional computer languages.

    GEM is a collection of externals which allow the user to create OpenGL graphics within Pd, a program for real-time audio processing by Miller Puckette (of Max fame).

    GEM currently has many different shapes and objects, including polygonal graphics, lighting, texture mapping, image processing, and camera motion. All of this is possible in real-time without any previous programming experience. Because GEM is an add-on library for Pd, users can combine audio and graphics, controlling one medium from another.

    more information can be found at: GEM SITE


next up previous contents
Next: MIDI-and-Sound Up: Applications Previous: Sound-Compression

© Copyright 2001-2006 CCRMA, Stanford University. All rights reserved.
Created and Mantained by Juan Reyes