mirror of
https://github.com/microtherion/VocalEasel.git
synced 2024-12-22 03:04:00 +00:00
90 lines
2.4 KiB
Plaintext
90 lines
2.4 KiB
Plaintext
|
|
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
|
|
|