Specifications of AnaMark / VAZ 1.5 Plus-compatible tuning files
Contents
General format specifications:
Section and parameter specifications:
Section [Tuning]
This section contains a relative quantized tune in cents given for each
MIDI note number from 0 - 127. The parameter name is "note #", whereas
# stands for the MIDI note number.
The default value for each parameter is (100*MIDI_Note_Number).
There is no setting for the absolute frequency of note 0.
The tunes are integer numbers and must not contain a '.', nor be
written in scientific notation! Each one of the 128 notes has to be set. If
a note is missing, this may produce a warning and the note's tuning is set
to the default.
Example for a valid "[Tuning]" section, which shows the default settings:
[Tuning]
note 0 = 0
note 1 = 100
note 2 = 200
; This has to be continued for each one of the notes
; in the range 3-127, including 127
Section [Exact Tuning]
Similar to the section "Tuning". Differences:
- The optional parameter "basefreq" specifies the absolute frequency of
note 0. Its default value is 8.1757989156437073336Hz, which corresponds
to the A=440Hz-tuning. ('A' is note 69.)
- The tunes may be given in integer, floating point oder scientific
representation, so they are much more exact.
Examples for valid numbers: "583", "-143.23", "0.837e4"
- Not each MIDI note number has to be given. Note numbers <0 or >127
are generally possible in the future, but must be ignored in the current
version of this format (in the following, they are treated as not-existing).
- If no MIDI note number is given, keep the default tuning (100*MIDI_Note_Number).
- Let H be the highest MIDI note number given, let P be its
tune given in the file (called P, because it's the period length).
t(x) is the current tune value of the note with the
MIDI note number x, which is initially set to the values
given in the file.
First set the tunes t(x) of all MIDI notes in the range
[0; H] which are not given in the file to the default value
(100*x). Then fill in the values [H;127] according to
this algorithm:
if ( H < 127 ) then
from i=H to i=127 including 127, stepsize 1 do:
Let f(i) = f(i-H) + P
end from
end if
Note, that f(0) is not necessarily set to 0!
Example for a valid "[Exact Tuning]" section:
; All 'E' should be tuned +12.5 cents compared with
; the default scale. All other notes should have the
; default tuning.
[Exact Tuning]
note 4 = 412.5
; To let the period be one octave, we have to set the "periodic point":
note 12 = 1200
Concluding remarks
The section "[Tuning]" is for "downward"-compatibility to the widely used
VAZ 1.5 Plus tuning files. So tuning files written by software _must_ contain
a "[Tuning]" section for making the files usable for users of older software.
Writing a "[Tuning]"-section manually is sometimes much more work
than writing a "[Exact Tuning]" section (because of the "auto expansion"
ability). So files written manually may contain only a "[Exact Tuning]" section.
IMPORTANT: If you create tuning files which contain a "[Tuning]"
section and a "[Exact Tuning]" section, you must take care to avoid
data inconsistencies! The different level of quantization neglected,
both sections always have to describe the same relative tuning!
Free source code
There is free C++ and Delphi source available for handling of
AnaMark / VAZ 1.5 Plus-compatible tuning files. See the corresponding
folders included with this specification in the .zip archive.
If someone ported it to another programming language not listed here
and wants to make it available to the public, please let me know, I will
add it here.
Software which supports this file format
You know software which supports this file format and is not listed here?
Then write me a mail.
Editors
- Scala: Freeware
editor for tuning maps with many functions. Runs on:
PC: Windows, MS-DOS, GNU/Linux
PowerPC/MAC: GNU/Linux, MacOSX
- Li'l Miss' Scale Oven:
Commercial scale analysis and editing tool for MAC OS9
VST-Instruments (Plugins)
Contact informations
Format specifications by Mark Henning, Germany.
Feel free to contact me / visit my web pages:
Mail
Homepage of AnaMark - The VST-Synthesizer
Private homepage (in german, download-section also available in english)
End of document.