A quick note on synths, instruments, volumes and the MIDI standard. First, the MIDI standard says nothing about what a certain instrument should sound like, or the relative volumes between instruments. The GM extension helps a bit, but only a bit, by saying that certain instruments should be assigned certain program change values. This means that all GM synths will play a "Piano" if instrument 000 is selected. But, if I play a GM file on synths A and B it will sound quite different. The files supplied in this distribution have been created to sound good on the author's setup: A Casio WK-3000 keyboard. The author is aware of the fact that the files don't sound very good using different setups, including the Linux softsynth Timidity. Frankly, we're not sure how to handle this problem, but giving it a minimal thought we suggest that changes be made to volume settings in the groove files wrapped in conditionals. So, if you are using Timidity, we'd suggest the following: 1. Set a variable in your ~/.mmarc file: Set Timidity-Volumes 2. In the groove files modify the volume settings like this: Begin Drum-Snare Tone SnareDrum1 ...other settings Volume mf If Def Timidity-Volumes Volume p Endif End or .............. You might want to create a parallel set of groove definitions. In your set, which would be included by redefining the libpath variable in an init file, read the supplied groove file and then modify the volumes (or even instrument settings). The advantage of this method is that original files are left unmodified. The disadvantage is that it gets quite complicated to make sure that all the tracks are properly modified. or ..... MMA could develop some output routines which produce the parallel files mentioned above with only volume and instrument settings, and the appropriate include/defgroove commands. or .... Options could be built into MMA to automatically adjust volumes based on a table. Maybe in an RC file you would have: Include Timidity and have a Timidity.mma file in your includes directory: VolumeAdjust SnareDrum1 -10 lower volume by 10% VolumeAdjust AcousticGuitar +20 inc volume by 20% .... ... the following are implemented at this point. ToneTR KickDrum1=KickDrum2 use KickDrum2 instead of 1 VoiceTR Trumpet=Piano2 use piano2 when trumpet is called This might be the best solution, and probably would be easy to implement. If you have other suggestions, please shout. bvdp, July/04