iiwusynth-devel
[Top][All Lists]
Advanced

[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.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]