The MidiSyn Help Page
This program is a software based synthesis
engine. It generates WAVE files from the information contained in MIDI files.
As there is no sound information in a MIDI file, the program uses Sound Font
files (also known as Sound Banks) to provide that information. If you own an
AWE or SBLive soundcard, you have probably several of these files in your
computer. Otherwise, there are several sites on the Internet where they are
freely available.
This program is very easy to operate. Basically
you select a Sound Font, select an output file, select the MIDI file, hit the
convert button and you are done. If you use the default Sound Font and output
files, it is even simpler: Select the MIDI file, hit Convert, and after a while
you have your WAVE file ready. You can also set the program to process a batch
of MIDI files without you having to intervene at each conversion.
Instead
of manually selecting the files, you can also use drag-and-drop: Select the
file in the Windows Explorer (Right-click and hold), drag it over the MidiSyn
window and release the mouse button. This can be used with any of the file
types used by MidiSyn: Sound Font, WAVE and MIDI files. This only works when
MidiSyn is idle.
Let us take
a closer look at the main window fields and buttons:
¨
Sound Bank. This field shows the currently
selected Sound Font file. To change it, hit the Change button and a File Select dialog box will show up. Please be
aware that when you load a really big Sound Font file (some of them have several
dozen Mb in length) the system will seem to freeze for a few seconds while the
file is being loaded.
¨
Output File. This field shows the name of the
WAVE file that will be created during the conversion process. To change it, hit
the Change button and a File Select
dialog box will be activated. You can also select an existing WAVE file for
listening purposes; MidiSyn will work then as a WAVE player.
¨
MIDI File. This field shows the name of the
MIDI file that you want to convert to WAVE. To select a MIDI file hit the Load button and a File Select dialog
box will allow you to select the MIDI file.
¨
Progress. This is a progress indicator that
shows the completion status during both the conversion and the listening
processes. During batch processing this will show the amount of MIDI files
already processed.
¨
Batch. This button activates the
batch-processing mode. When you hit this button, a File Select dialog box pops
up, allowing you to choose the batch file to process. After the batch
processing is initiated, this button changes to Abort, allowing you to interrupt the process at any moment. The
format of the batch file is described bellow.
¨
Convert. This button initiates the
conversion process. As soon as the conversion process is initiated this button
changes to Abort. This allows you to
interrupt the process at any time, saving the part of the output file already
done. As soon as the conversion process terminates, the button changes again to
Convert.
¨
Listen. This button initiates the
listening of the WAVE file selected (that may or may not have been created by
the program), using whatever sound producing hardware is available on your PC.
As soon as the listening process is initiated this button changes to Abort. This allows you to interrupt the
process at any time and start again from the beginning. As soon as the
listening process terminates, the button changes again to Listen.
¨
Mixer. This button will open a dialog box
where you can adjust the volume for each instrument in a MIDI file (see bellow
for details).
¨
Options. This button will open a dialog box
where you can set some operation parameters (see bellow for details).
¨
About. This button will open an About
dialog box.
¨
Help. This button just shows this help file using
your default html browser.
On this window you can adjust the volume for
each instrument in a MIDI file. There are 16 sub-windows, one for each channel
in a MIDI file. Let’s take a look at each element of a sub-window:
¨
At the
top there is a text box where appears the name of the instrument assigned to
that channel. Usually there is just one instrument per channel but sometimes
can be two or more. When there is more than one, their names will be separated
by slashes.
¨
The
slider lets you adjust the volume of the instrument assigned to the channel.
You can either increase the volume or decrease it. The excursion is from –25dB
to 25dB in steps of 5dB
¨
The MUTE
check box allows you to completely remove the instrument assigned to the
channel from the output mix.
¨
The SOLO
button lets you mute all the channels except the current one. This will cause
the output file to include just the instrument assigned to that channel.
The RESET button lets you set all
parameters to their default settings: All the sliders are set to 0dB and all
the MUTE check boxes will be reset.
The following paragraphs describe the
parameters that you can set in the Options dialog box and the way they affect
program operation.
¨
MIDI debug. If the output file does not
correspond to what you were expecting, there is probably something going wrong
with the Sound Font or the MIDI file or both. Suppose that you are trying to
convert a MIDI with a piano piece and are using a Sound Bank that doesn’t have
the piano preset. The output file will have no sound at all. By toggling this
option the program will generate warning messages that provide some insight
into what is going on. By default this option is disabled.
¨
MIDI tempo. With this you can set the tempo or the pace at which the MIDI file is being played. It can be set to go
faster or slower, as a percentage of the original tempo. If you want the MIDI
file to play at double the original speed, set this option to 100% faster. The
thumbwheels only go to 100% but you can edit the numeric field to set any value
you desire. This parameter is only effective before the conversion process; it
does not affect the WAVE file.
¨
MIDI Transposition. This facility allows you to shift
the pitch of the notes in a MIDI file. This applies to all the channels except
channel 10, used for percussion. The transposition can be up- or downward and
can consist of any number of semitones.
¨
File names. In this field you can change the
default file/path names for the SoundBank and the output files. This
information is stored as a .INI file in the same folder as the executable.
¨
Chorus. In this field you can change the
amount of chorus applied to a MIDI file during the conversion process. This
edit box with the caption Wet adjust
allows you to specify a value to be added to the amount of chorus specified by
a CC93 MIDI command and to the value specified in the SoundFont for the samples
you are using. The value can be negative, so that you can actually subtract
from the value specified by the CC93 command or SoundFont. The drawback is that
the value you specify in this field affects all the channels. The total amount
of chorus (the value you specify in this field plus the value in the CC93 MIDI
command plus the value specified in the SoundFont) must remain in the 0-100%
range. If the result is outside this range the sum is limited automatically by
the program. For instance to completely remove any chorus effect that is set in
your MIDI or SoundFont files, you put a value of –100 in this field.
¨
Reverberator. This group of fields allows you to
set some of the reverberator’s parameters:
1) Room size. This controls the simulation of the room
ambience. It can range from 0 for a small room to 100 for a cathedral. The
program automatically truncates values outside this range.
2) Damping factor. This value determines how fast a given sound
will die away. A value of 0 corresponds to the maximum time the sound will
last.
3) Wet adjust. This works in the same way as the Wet
adjust parameter for the Chorus effect, described above. Here we are
talking about the amount of sound that passes through the reverberation effects
processor. The MIDI controller for reverberation is CC91.
¨
Master Volume. In this field you can control the
overall amplification applied to the output file. It can have positive or
negative values. If you feel that the output file sounds too quiet, set this
field to a positive value. For instance 20 will provide a tenfold increase in
the value of the output samples. On the other hand, if there is distortion in
the output or the effect of the Limiter is noticeable (you hear sudden changes
between to quiet and too loud in the sound) you should put a negative value in
this field. For instance -20 will provide one tenth of the value in the output
samples.
¨
Compressor gain. This field controls the Compressor
part of the output unit. It provides a “soft” clipping of the output peaks, so
that the overall volume can be cranked up. You apply this feature when you feel
that the output sound seems to be all right but otherwise dull, it lacks that
“punch” quality that you can hear on commercial records. This works best in
files with lots of percussion. Be careful though if you set too high a value in
this field you will get noticeable distortion on the output sound.
¨
Rescale WAVE file. When this option is selected,
MidiSyn will adjust the volume of the out file to the maximum possible without
introducing distortion. This may not produce the best sound in some cases,
especially if there are just a few samples that reach the maximum value, while
the majority of them have much less amplitude. In these cases you should set
appropriately the compressor gain, described above. If this feature is
inactive, MidiSyn will tell you the value that you should put in the Master
Volume field to get the same result. This is useful in those situations where the
automatic rescaling doesn’t produce the best result and you have to manually
adjust the settings.
From
version 1.5 on there is a batch facility, whereby you can convert a set of MIDI
files without having to manually set the parameters for each conversion. The
instructions for the batch go into a text file that you can edit with a text
editor like Notepad.
Each line
in the batch file describes a job in the batch. Each line has three fields
corresponding to:
1)
The
SoundFont to be used.
2)
The
output file (WAVE) where to put the result of the conversion.
3)
The
MIDI file to convert.
The
fields, which besides the file name can include the partial or full path, are
separated by one or more spaces. If the file name or path used in a field have
embedded spaces, enclose the file name/path between “”. You can use TABs
instead of spaces to separate fields. Any line that starts with a semicolon is
considered as a comment and is not parsed for conversion purposes.
At the
beginning of the batch process the program will check for errors in the batch
file, for instance if a specified SoundFont really exists. If it finds an
error, it shows a Message Box indicating the line where the error was found and
a message explaining what caused the error and then terminates the batch
process. You can then correct the error and resubmit the file.
In this section we will take a look at some of
the MIDI commands and parameters that are processed by the synthesis engine and
how the sound generated will be affected by them. The next section will deal
exclusively with Continuous Controllers.
To fully
understand the concepts described in this section it is helpful to have an idea
of the synthesis engine architecture, as described in the MidiSyn technical
page.
¨
Key Velocity. MIDI key velocity affects both the
attenuation of the sound and the filter cut-off frequency. As far as
attenuation is concerned, key velocity will affect the initial attenuation
(before other modulators, namely the envelope, are applied) in an inverse way.
The key velocity values of 0®127 will map to an attenuation of
96dB®0. As far as filter cut-off frequency is
concerned, key velocity will affect the initial value (before other modulators
are applied). The key velocity affects filter cut-off frequency in an inverse
way – As the velocity increases the filter cut-off frequency decreases. The key
velocity values of 0®127 will map to a frequency change
of 0®-2400 Cents.
¨
Channel Pressure. Both Polyphonic Key Pressure and
Channel Aftertouch will affect Vibrato LFO pitch depth. This is a modulator
that affects the digital oscillators included in the Sound Generator blocks.
The Channel Pressure values of 0®127 will cause a frequency change of
0®50
Cents relative to the maximum excursion of the vibrato modulator.
¨
MIDI CC1. Like Channel Pressure, MIDI
continuous controller 1 (Modulation) will affect Vibrato LFO pitch depth. The
maximum amount of modulation will also be 50 Cents.
¨
MIDI CC7. MIDI continuous controller 7 (Main
Volume) affects initial attenuation of the signal in an inverse way. MIDI CC7
values of 0®127 will map to attenuation values of 96dB®0.
¨
MIDI CC10. MIDI continuous controller 10
(Panorama) will affect the position of the sound generated in the stereo field.
Value 0 corresponds to the extreme left, 64 to centre and 127 to the extreme
right.
¨
MIDI CC11. Like MIDI CC7, MIDI continuous
controller 11 (Expression) affects the initial attenuation, by the same amount.
MIDI CC7 should be used at the beginning of a track to set overall volume, and
CC11 should be used locally to highlight small passages of the music.
¨
MIDI CC91. MIDI continuous controller 91
(Reverberation) controls the percentage of signal that is routed through the
reverberation unit. CC91 values of 0®127 will map to values of 0®100%.
¨
MIDI CC93. MIDI continuous controller 93
(Chorus) controls the percentage of signal that is routed through the chorus
unit. CC91 values of 0®127 will map to values of 0®100%.
¨
MIDI Pitch Wheel. Pitch Wheel values are bipolar and
range from 0® +/-8192. The pitch value sent to the
oscillators depends on the value set for the Pitch Wheel Sensitivity parameter.
By default the pitch wheel excursion is set to 2 semitones (200 cents).
In this section we will take a look at some of
the MIDI Continuous Controllers which are processed by the synthesis engine.
The difference between these controllers and the modulators referred to in the
preceding section consists mainly in the fact that the controllers herein
described do not directly affect the sound generated, being more of an
housekeeping nature.
¨
MIDI CC0 – Bank Select. Selects one of the banks of the
Sound Font file.
¨
MIDI CC32 – Bank Select LSB. This controller is ignored.
¨
MIDI CC64 – Sustain. Active when the value associated
is greater than or equal to 64. When active, all notes in the key-on state
remain in this state regardless of whether a key-off command for the note
arrives. The key-off commands are stored and when sustain becomes inactive all
stored key-off commands are executed.
¨
MIDI CC66 – Sostenuto. Active when the value associated is
greater than or equal to 64. Unlike the Sustain command, the Sostenuto function
prolongs only the notes that are played after the function becomes active.
¨
MIDI CC67 – Soft. Active when the value associated
is greater than or equal to 64. This causes the notes to be played at half
strength.
¨
MIDI CC120 – All sound off. When received with any data value,
all notes playing in the key-on state immediately enter release phase,
regardless of their Sustain or Sostenuto status.
¨
MIDI CC121 – Reset All Controllers. Resets all continuous controllers
to their default values.
¨
MIDI CC123 – All notes off. When received with any data value,
all notes playing in the key-on state immediately enter release phase, pending
their Sustain or Sostenuto status.
Comments, suggestions and bug reports are welcome and should be sent to acesteves@clix.pt
This page last modified 2002-04-04 - Copyright
© 2002 ACE