The Computer Music Project Software
PortMusic
Information about PortMusic
Aura
Aura is not available for general distribution, but you can read
about Aura here. Send mail to Roger
Dannenberg to get a copy of work in progress.
Nyquist
Nyquist is a sound synthesis and composition language based on a Lisp syntax.
Nyquist is an elegant and powerful system based on functional programming.
Documentation
Executables (v2.31)
-
GOOD: Get Nyquist installer for Win32
systems now. Just run the installer. No registry edits required.
-
BETTER: Nyqwin.exe -- a more windows-like
interface for Nyquist. Just run the installer. No registry edits required.
-
BEST: NyqIDE.exe and jnyqide.bat -- even nicer
windows-like interfaces for Nyquist. Just run the installer. No registry
edits required. You must have
Java installed to
run this IDE.
Currently, NyqIDE.exe gets installed properly. To use the new
Java-based IDE, copy or rename c:\Program Files\nyquist\nyquist.exe to
ny.exe. Then double-click on jnyqide.bat to run. For extra credit, find
jNyqIDE on the Start menu, right click, and select "Properties". In the "jNyqIDE Properties" window, change the Run: entry to "Minimized" (to avoid opening the java command window). Then click "Change Icon..." and click OK to the message box. Now you need this Nyquist Icon. Save this icon somewhere as "nycon.ico" and then enter the file name (or browse to it) in
the "Change Icon" dialog box. Click OK to "Change Icon" and OK to "jNyqIDE Properties".
- MAC OS X (10.4.3): Get
Nyquist (v2.31) executable for Mac OS X (updated 3-Jan-06). To run,
download this to the desktop and open it to extract the folder
nyqosx231. Open the folder to find
a Mac Application named jNyqIDE and a directory named
nyquist/doc. Documentation is in the nyquist/doc directory.
The file jNyqIDE.app/Contents/Resources/Java/ny
is the command line executable (if you should need it), but be sure
to read about setting XLISPPATH if you want to run from a command line.
-
LINUX: Please get the source version below and compile your own.
Source
If you have problems getting Nyquist, please contact Roger Dannenberg (rbd@cs.cmu.edu).
Audio Alignment Software in Matlab
This is research software available as is for computing the alignment
between two audio performances of the same music. If you have a CD recording and a MIDI version of the same song, then you can synthesize the MIDI file, e.g. using TiMidity++ and perform an alignment. The result will tell you the correspondence from audio to MIDI, which is effectively a full polyphonic transcription of the audio.
The Matlab code is here, including this short description. You can read more about audio alignment in these papers.
Allegro - MIDI File IO and Score Representation
If you want to read a standard MIDI file into a C++ data structure that lets
access notes and other data, merge or select channels and tracks, change the
tempo track, and write the data as text or back to a standard MIDI file, this
software might help. We are in the midst of many extensions leading to a new
version, but
we have been using this code for years with success. There are some
links to PortMidi,
which has changed, so you might have to do a little work
to make the code compile, depending on what you are trying to do and what
you are trying to link with. Allegro is the name of this library, and also the name of the text-based score language that is supported by the library. You can get everything here.
CMU MIDI Toolkit
NOTE: The CMU Midi toolkit is considered obsolete. The code is
available here as an historical footnote, but does not run well on any current platforms.
The CMU Midi Toolkit (CMT) is a collection of software for
writing interactive
MIDI software in C. CMT includes a number of handy utilities allong with
an application "shell" that provides timing, scheduling, and MIDI interfaces
that are portable across DOS, Mac, SGI, and Amiga platforms.
CMT is distributed by the CMU School of Computer Science. Correspondence
should be addressed to Roger Dannenberg, School of Computer Science, Carnegie
Mellon University, Pittsburgh, PA 15213 USA.
CMT runs on the following systems:
Macintosh (requires Apple MIDI Manager),
DOS (requires MPU-401 compatible MIDI interface), and
Amiga (requires Commodore CAMD drivers),
using the following compilers: Think C v5, Borland C++ v3, Turbo C++ for
DOS v3, Microsoft C v7, Quick C v2.5, Lattice C v5 (Amiga), and Aztec C
v5 (Amiga). (Amiga code is retained in the release but is no longer supported.)
Documentation
Executables
Source
Maintained by:
rbd@cs.cmu.edu