Adagio, etc. for Linux -- Release 0.3, March, 1993 Here are some Linux programs for playing on an fm sound card using Hannu Savolainen's sound driver for Linux. Both midi files and Adagio scores can be played. Adagio is the scoring language used by the CMU CMT package by Roger Dannenberg. Much of the program code here, in fact, is from the CM Toolkit. Other code I took from Tim Thompson's Midifiles library as enhanced by M. Czeiszperger, and the code for playing fm is taken from "fmplay" by Hannu Savolainen. (1) mp plays midi files or converts them to adagio scores. (2) ad plays a .gio adagio score, or with the -m flag sends midi track information to stdout (save that in a file and convert it to a midi file with the tracks utility). (3) tracks adds header information to one or more files created with "ad -m" to form a standard midi file. Output is to stdout. (4) fmkeys plays from a keyboard connected to the external midi port. (5) mt disassembles midi files. (6) tm assembles one or more midi disassemblies produced by mt. (7) setsb loads program libraries down to the sound driver. Installation: Check "DESTDIR" in the Makefile, and also the XSELECT and PSELECT defines; then "make install". Copy the files "std.sb" and "drums.sb" to the /etc directory and use "setsb" to load the voices into the sound card driver. For other options and details, see the INSTALL document. Availability of related stuff: Tim Thompson's Midifiles library was posted to rec.music.synth and is available by ftp from ucsd.edu as midi/software/unix/midifiles.tar.Z. (But the version included here has been modified by M. Czeiszperger and me.) The CMT manual, which describes the conventions of Adagio scores, was posted to rec.music.synth, and along with the rest of the CMT package is available by ftp from ucsd.edu as: midi/software/unix/CMT.tar.Z. An ascii version is included in this distribution as "cmtman.doc". The voice libraries "std.sb" and "drums.sb" can be edited with glib for the SoundBlaster, which I've released separately. Usage: There are man pages for all programs. In short, to play a midi file: % mp filename to play a midi file and display info about voices: % mp -v filename to play an adagio file: % ad filename to disassemble a midi file: % mt filename >song.mt to reassemble a midi file: % tm song.mt to play and record an additional track (assuming midi input from a keyboard): % mp rhythm.mid -r 3,56 # record trumpet on channel 3 % mt rhythm.mid >mysong.mt % mt mpout.mid >mytrack.mt % tm mysong mytrack # produces mysong.mid Examples of conversion between midi and Adagio files: % ad -m contin >contin.trk # compile adagio file contin.gio % tracks contin.trk >contin.mid # make a midi file of one track % ad -m all >all.trk # compile adagio file all.gio % tracks contin.trk all.trk >mult.mid # make two track midi file % mp -a mult.mid >mult.gio # decompile midi file to adagio file % ad mult # play new composition (ecch) Greg Lee, lee@uhunix.uhcc.hawaii.edu