From: lee@uhunix.uhcc.Hawaii.Edu (Greg Lee)
Subject: announce glib and adagio
Followup-To: comp.os.linux
Keywords: SoundBlaster, patch editor, glib18, music score player, adagio01
Organization: University of Helsinki
Date: Tue, 5 Jan 1993 16:33:42 GMT

I've put a SoundBlaster patch editor, glib18.tar.Z, and a music
score player, adagio01.tar.Z, in tsx-11 /incoming.  Below are
descriptions.

----glib18.README
This is an edition of the glib patch editor for Linux and the
SoundBlaster (or other compatible card).  I have left out the files
for the other synthesizers supported by glib, because I doubted anyone
would need them for Linux right away, but let me know if you do. 

Included here are:
	(1) source and man page for glib
	(2) "default.sb", a glib library for the standard 128 SB
	    voices, derived from the .sbi files in the 0.4 distribution
	    if the Sound Kit for Linux (some pathces need work),
	(3) source for setsb, a utility to initialize the 128
	    SB voices from the patches in a glib library (e.g., type
	    "setsb default.sb").

The code for setting a voice and playing a note was taken from "fmplay"
and "sbiset" in the Sound Kit.

So far as I can tell, it is not now possible to use more than 2 operator
synthesis, even on cards that have a 4-operator fm chip, so this version
of glib only provides for 2-operator patches.  I am a little vague about
some of the patch parameters, and I may have made some mistakes -- if so,
I suppose someone will tell me.


			-- Greg Lee, lee@uhunix.uhcc.hawaii.edu, 1/5/93
----adagio01.README
Here are three programs for playing Adagio scores on an fm sound card,
using the sound kit for Linux, or for converting Adagio scores to
standard midi files and converting midi files to Adagio scores.  Adagio
is the scoring language used by the CMU CMT package by Roger Dannenberg.
Most of the program code here, in fact, is from the CM Toolkit.  Some other
code I took from Tim Thompson's Midifiles library, and to compile the
'ma' program described below, you will need that library (included).
The code for playing fm is taken from "fmplay" by Hannu Savolainen.

(1) 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).

(2) tracks
	adds header information to one or more files
	created with "ad -m" to form a standard midi file.
	Output is to stdout.

(3) ma	does the opposite of "ad -m" --- it converts a midi file
	into an adagio score.  Output goes to stdout.

Examples:
	% 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
	% ma mult.mid >mult.gio			# decompile midi file to adagio file
	% ad mult				# play new composition (ecch)

Installation:

Remove "-DTWENTY_CELL" from CFLAGS in the Makefile if your board has
less than 20 voice polyphony.

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.

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.

	Greg Lee, lee@uhccux.uhcc.hawaii.edu
Newsgroups: comp.os.linux.announce,comp.os.linux