mirror of
https://github.com/microtherion/VocalEasel.git
synced 2024-12-23 11:44:03 +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 appropiate 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
|
||
|
|