[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[iiwusynth-devel] Micro Tuning
From: |
Peter Hanappe |
Subject: |
[iiwusynth-devel] Micro Tuning |
Date: |
Mon, 09 Dec 2002 13:15:07 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.0) Gecko/20020623 Debian/1.0.0-0.woody.1 |
The MIDI standard provides a way to set a tuning for a MIDI
instrument. I recently learned about this when Manuel Op de Coul, the
author of Scala (http://www.xs4all.nl/~huygensf/scala), contacted
me. More info about microtuning at
http://www.midi.org/about-midi/tuning.htm.
I started implementing microtuning in iiwusynth. It's not completely
finished, yet, but you can start playing with it.
Cheers,
Peter
---------
API:
The following new API functions are available:
iiwu_synth_create_key_tuning(synth, tuning_bank, tuning_prog, name,
pitch);
iiwu_synth_create_octave_tuning(synth, tuning_bank, tuning_prog,
name, pitch);
iiwu_synth_tune_notes(synth, tuning_bank, tuning_prog, len, keys,
pitch, apply);
iiwu_synth_select_tuning(synth, chan, tuning_bank, tuning_prog);
iiwu_synth_reset_tuning(synth, chan);
iiwu_synth_tuning_iteration_start(synth);
iiwu_synth_tuning_iteration_next(synth, bank, prog);
iiwu_synth_tuning_dump(synth, bank, prog, name, len, pitch);
The standard specifies that MIDI instrument must be able to
apply the changes in the tuning in real-time, i.e. playing notes
should change their pitch to the new value without artefacts. This is
not yet implemented in iiwusynth.
SHELL:
The following new shell commands are available:
tuning: create a new tuning
tune: tune a key
settuning: set a tuning on a channel
resettuning: reset the well-tempered scale
tunings: list all available tunings
dumptuning: print info about a tuning
Note: You can put all tuning information in a file, and then load it
with the 'source' command.
MIDI:
The MIDI file loader does not yet handle MIDI tuning messages. I hope
to implement that soon.