IntroductionFrom v1.5.1 the Voice Controller plug-in can save its calibration data to a simple text file, which it can then reload. The Quantizer plug-in can also load the same files.
As noted in the user manual, the format of these files is as follows:
Silent Way Calibration Data version: 1 0 -0.98087925 1 -0.96048236 2 -0.94008547 3 -0.91968852 4 -0.89929163(and so on - this example is truncated.)
The first two lines are an identifying header and a version number. The remaining lines are simple pairs of numbers: the first number is a MIDI note number, and the second is the output CV value that corresponds to that note.
The fact that these files are so easy to read and write opens up many opportunities for creative editing. Some applications follow.
We have created some scripts to carry out this process, which you are free to download, use and modify. Maybe someone would even like to build a GUI app to do the same thing, but we have no plans to do so for now - the scripts are easy enough to use.
The scripts are written in the Python language. This is installed with Mac OS X by default. On Windows, you'll need to install it from python.org. Look for a download link described as something like 'Python 2.6.4 Windows installer'. (NB don't use Python 3 for now.)
Here are the download links for the scripts:
|CalibrationData.py||download||1.0.1 (3/3/2010)||Re-usable class that reads and writes the calibration data.|
|retuneToJustIntonation.py||download||1.0.0 (14/1/2010)||The script that actually does the retuning.|
python retuneToJustIntonation.py <input file> <output file> [<base note>] [<scale>]where the paramters are as follows:
|input file||The name of the input calibration data file to read.|
|output file||The name of the output calibration data file to write.|
|base note||The root note of the desired scale, as a MIDI note number. For example, if you wanted a scale in the key of C, you might specify 60; if you wanted a scale in the key of A, you might specify 69. (There is a handy list of MIDI note numbers, names, pitches and positions on the stave here.)
This parameter is optional - if you omit it, the default value is 60.
|scale||The type of scale - see below.
This parameter is optional - if you omit it, the default value is just12.
|just7||A just scale of 7 notes, as described here.|
|just12||A just scale of 12 notes - as just7 but with the missing semitones added to provide a full chromatic scale.|
|srutis||A 22 Śrutis scale, as described here.|
|<custom>||You can provide your own scale by passing a list of cent tuning values as the scale parameter. Separate the values with commas, and do not use spaces.
For example, for an ordinary 12 semitone tempered scale, you would enter
The just7 scale as above would be
- Just intonation in A
python retuneToJustIntonation.py calibration.txt calibration_modified.txt 69
- Custom scale in C
python retuneToJustIntonation.py calibration.txt calibration_modified.txt 60 0,210,410,510,710,910,1100