README file for directory tune_tools:
NOTE:
-----
To successfully build one of the tools in this directory you will
need library and header files which are not normally built.
DESCRIPTIONS:
-------------
calcpluck.c++:
Calculate plucked string synthesis parameters from MIDI file.
N.B. calcpluck.c++ requires libmidifile.a which can be built from files
in dmedia/midi/lib/examples/libmidifile/src and two header files
(midifile.h and miditrack.h) from libmidifile/include.
Usage: calcpluck [-n] [-p prefix] [-t tempo] [-d division] -f filename
-n 'noisy' (i.e. play the synthesized tune)
-p prefix set the prefix of the parameter array
-t tempo override the tempo of the MIDI file (integer)
-d division override the division value in the MIDI file (integer)
-s subtract offset of first MIDI note (i.e. start tune at zero)
-f filename name of the MIDI file
Normally calcpluck will just print out the plucked string synth
params for use in the IP26 prom. If addition, calcpluck will
synthesize the tune and play it on the built-in audio hardware of
the machine (thus, you need audio hardware). When using the -n
option, the output sample rate of the audio hardware should be
set to 44.1 kHz.
You should not need to use the -t and -d options; they exist mainly
for debugging purposes.
Example:
file = scale.mid
prefix = foo
[calvin 275] calcpluck -p foo -f scale.mid
/******* foo parameter list *******/
#define foo_buflen 273420
#define foo_maxperiod 336
pluckparams_t foo_plist[] = {
{336, 88200, 0, 16383.500000, 0.982594, 0.500000, 0.500000, 0.232297},
{299, 88200, 26460, 16383.500000, 0.984494, 0.500000, 0.500000, 0.085500},
{267, 88200, 52920, 16383.500000, 0.986194, 0.500000, 0.500000, 0.860972},
{252, 88200, 79379, 16383.500000, 0.986976, 0.500000, 0.500000, 0.892327},
{224, 88200, 105840, 16383.500000, 0.988417, 0.500000, 0.500000, 0.331005},
{199, 88200, 132300, 16383.500000, 0.989710, 0.500000, 0.500000, 0.023257},
{178, 88200, 158759, 16383.500000, 0.990872, 0.500000, 0.500000, 0.843825},
{168, 88200, 185219, 16383.500000, 0.991410, 0.500000, 0.500000, 0.884139},
};
plucksim.c:
MIDI-driven plucked string synthesizer running on Indigo2. Used
to audition MIDI sequences.
You will need to attach a MIDI device to an Indigo2 via a MIDI
dongle. You can attach a MIDI keyboard or another computer with
a MIDI sequencer (e.g. Macintosh).
To get the best performance (most simultaneous notes synthesized
and played) run plucksim at high non-degrading priority.
plucksim requires that the output sample rate of the audio hardware
be set at 44.1 kHz.