Silent Way

Calibration Data

Introduction

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

Microtonal Tunings

By tweaking the voltages corresponding to each MIDI note, it is easy to create microtonal scales - for example, just intonation, or any number of exotic scales in use around the world.

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:

NameDownloadVersionDescription
CalibrationData.pydownload1.0.1 (3/3/2010) Re-usable class that reads and writes the calibration data.
retuneToJustIntonation.pydownload1.0.0 (14/1/2010) The script that actually does the retuning.
To use the scripts, open a Terminal window (OS X) or DOS shell (Windows), change directory to wherever you downloaded the scripts to, and type:
python retuneToJustIntonation.py <input file> <output file> [<base note>] [<scale>]
where the paramters are as follows:
input fileThe name of the input calibration data file to read.
output fileThe name of the output calibration data file to write.
base noteThe 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.
scaleThe type of scale - see below.
This parameter is optional - if you omit it, the default value is just12.
Possible values for the scale parameter:
just7A just scale of 7 notes, as described here.
just12A just scale of 12 notes - as just7 but with the missing semitones added to provide a full chromatic scale.
srutisA 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
0,100,200,300,400,500,600,700,800,900,1000,1100
The just7 scale as above would be
0,204,386,498,702,884,1088
Some complete examples, assuming your calibration files and the scripts are in the same folder, reading 'calibration.txt':
  • 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