Click here to download Tonescape^{®}^{®} Den Haag.
The "File  New  Tonespace" command opens a wizard which guides you thru the creation of a Tonespace. A Tonespace is a file which sets up a primespace (i.e., just intonation, in which the prime numbers are the axes which form the dimensions of the Tonespace), then uses Fokker unisonvector and periodicityblock theory to create a finite Tuning which tiles the Tonespace.
Tonespaces are a great way to understand how tempering works, by creating a just intonation tuning Lattice as a background  a sort of rational numerical universe within which the Tuning is embedded, using primefactors as the Generators of the tuning  and then finding periodicityblocks of appropriate Cardinalities by selecting various unisonvectors, and then making the unisonvectors vanish by dividing them up and circulating them evenly among the Generators.
When you're finished setting up your Tonespace, you may choose to either create a just intonation Tuning from your Tonespace, or to choose a method for tempering your Tonespace pitches to create a temperament. Note that you can save .space and .tuning files of the same temperament separately  each type of file holds some different data. Tonespace .space files are used only for understanding the theory, whereas a Tuning .tuning file my be used for the creation of a Musical Piece.
The .tuning file is necessary for creating a Musical Piece, but if you use the "File  New  Tuning..." method, Tonescape currently has no way to specify how to wrap/warp the Lattice, so you can only get "Open Rectangular", "Open Triangular" and "Flat Triangular" Geometry for the Lattice in a .tuning file. If you want to be able to view the Lattice in "Closed Curved" Geometry, it is necessary to create the .tuning file out of a Tonespace, by first creating a .space file.
On the first dialog box that appears, you set your identityvector. The identityvector exists in most tunings around the world, and is the interval by which the pattern of intervals within the scale repeats itself, and the naming of the notes also repeats in conjunction with the intervals. The identityvector is generally, but not always, the interval known as the "octave", with the ratio 2:1 or a close approximation thereof. All of Tonescape's tuning methods will eventually allow the user to create any desired identityvector, but in the current version, the Tonespace method is has the identityvector fixed to the 2:1 ratio (the "octave"). So for now, just click "Next".
The identityvector is one generator of the Tonespace, but since it defines pitchclass equivalences, it is usually ignored in theoretical considerations, and the default Lattice View does not display it  but the user may choose to display it if desired (we will discuss this in more detail in another webpage, for now, we'll just leave it turned off).
The next dialog which opens asks you to "Select Prime Numbers for Axes". These are the primefactors of the just intonation lattice which define each dimension of the Tonespace of the Tunings which may be created from it. Tonescape asks you to choose the primes you want in your Tonespace; the current list contains all primes up to 499.
When this dialog opens, the first available prime is already selected by default. Since primefactor 2 by itself is already used as our identityvector, and since the current version of Tonescape offers no other choices, the first available primefactor is 3, and it appears selected at the top of the list of primes on the left side of the dialog.
The current version of Tonescape can deal with up to 7 dimensions, therefore, in a Tonespace which already uses 2 as the identityvector, the user may choose up to 6 more primefactors, and any primes may be chosen from the given list.
We will first illustrate the process by stepping thru the creation of a simple example, using only the single primefactor 3. This creates tunings of the type known as "pythagorean".
Simply click the "Add" button to add 3 to the list of chosen primefactors on the right side:
Since we need no other primefactors, click the "Finish" button to exit the Create New Tonespace wizard.
The environment which appears should show at least two windows: the Tools Window showing the Tonespace Editor, and the Lattice window:
In the Lattice view, you may click anywhere on the blue background to drag the lattice to the desired location.
The Tools window must be open in order to see the Tonespace Editor. If the Tools window is not open, either go to the "View" menu and select "Tools"
or click on the "Tools" button on the main toolbar:
If the Tools window appears too small, it may be resized by hovering the mouse cursor over the boundary between it and the other windows until the cursor appears as a black doubleheaded arrow  then click on the boundary and drag it to the desired location.
In the Tuning Editor section of the Tools window, select the "Geometry" tab.
There are three sections to the Geometry tab:
Currently, it is possible that, depending on your screen resolution and the size of your windows, you may not be able to see the bottom area of the "Geometry" tab. Below is a description of how to work around this, until we can fix it:
There is a small problem with this: if your screen resolution is too large, you may not be able to make the Tools window big enough to show the bottom area of the "Geometry" tab. To fix this problem, you'll have to make your screen resolution smaller. Be aware that a change made to your screen resolution affects the way every program on your computer looks! Sorry that Tonescape might force you to deal with this ... we're working on it. How to change screen resolution:

If the bottom area of the "Geometry" tab does not appear, and your screen resolution allows you to make the Tonescape main window bigger, resize it now by dragging the bottom edge of the main window down. The bottom area of the "Geometry" tab should appear:
Now, simply hover the mouse cursor over the top edge of this "bottom area" and drag it upward a bit. The complete "Geometry" tab should look like this:
Next follows a detailed description of the operation of the "Geometry" tab.
The top area of the "Geometry" tab contains a "Cardinality" list, a "Basis" checkbox, and a "Length" list.
"Cardinality" list: Choose the number of notes you want in your tuning. Choosing a number of unisonvectors equal to the number of primefactors used as Lattice axes (i.e., the number of dimensions of the Lattice) will result in an EDO of the selected cardinality. We'll have more to say about Cardinality as we go along.
"Basis" checkbox: This is checked by default, and gives in the middle section of the "Geometry" tab, a list of the unisonvectors which form the kernel of the TMreduced lattice basis. The number of basis unisonvectors is always equal to the number of primeaxes in the Tonespace  since 3space has only 1 dimension, we see only one unisonvector in the list in the middle area of the Geometry tab. Here is a screenshot of the basis unisonvector which creates the default Cardinality of 31edo in 3space:
For a pythagorean type of tuning, 31 is actually not a good choice of Cardinality. But we will use it anyway for now, in order to illustrate a point.
The "Length" list simply extends the open ends of the tuning in the cases where a number of unisonvectors selected is smaller than the number of dimensions in the Lattice. It has no effect on a 1dimensional tonespace, so discussed of it is deferred until later, where we create a 3,5space.
The middle area of the Tools window "Geometry" tab lists the unisonvectors which will create an equaltemperament of the selected cardinality. In Tonespace of 2 or more dimensions, this area is affected by whether or not the "Basis" box is checked. But the "Basis" checkbox has no effect on a 1dimensional tonespace, so discussion of it is deferred until later, where we create a 3,5space.
The bottom area of the Tools window "Geometry" tab is where you put the selected unisonvectors.
The bottom area appears as spreadsheettype cells, with rows of 4 asterisks (****) in the first two cells of each row, and a blank 3rd cell. The number of rows is the same as the number of primefactor axes in the Lattice (i.e., the same as the dimensionality of the Lattice).
You simply select a unisonvector in the middle area of the "Geometry" tab by leftclicking on it, then drag it to a blank row on the bottom area. The cells in that row of the bottom area will update with the appropriate data for the selected unisonvector.
Now we shall return to descriptions of different views of the Lattice window.
To select a unisonvector, leftclick on the desired unisonvector in the middle area of the Geometry tab, and drag it down to a blank row of the bottom area of the Geometry tab. Doing this with our example causes the Lattice view to show a 31tone set of adjacent pitches along the 3axis of our lattice, displaying the default notation of ratios:
It will be instructive for us to use regular lettername notation with sharps and flats on our Lattice. Rightclick anywhere on the blue Lattice background, and choose "Select Notation" from the popup.
This opens the Notation Selection dialog, showing the default choice "Ratios" already selected:
Choose "Logical Meantone" and leave the Root Pitch Selector on the default choice "A" for now:
Click the "OK" button. Tonescape changes the notation on the Lattice points to the familiar lettername notation with sharps and flats, centered on "A" as the origin.
To read the Lattice point notation better, you may zoom in on the Lattice by hovering the mouse cursor over the Lattice window (to select it) and pressing the "Page Up" key on the keyboard as many times as desired; holding down the "Page Up" key will cause a moving zoomin effect.
In this view, our example 3limit Lattice has the window just big enough to include all 7 of the usual nominals (A,B,C,D,E,F,G) which make up the standard diatonic scale, and also a Bb on the left of the chainof5ths, and an F# on the right. The interval which separates a nominal from its accompanying nominalwithsharp or nominalwithflat, traverses 7 steps along the 3axis, as for example from Bb to B.
Leftclick anywhere on the blue Lattice background to drag the lattice to the desired location. Let's move it to the left, so that the origin "A" is on the left side and "A#" appears on the right.
Let's change to another type of notation to see something interesting about this 7step interval. Rightclick anywhere on the blue Lattice background and choose "Select Notation" from the popup.
Select "Logarithmic" from the available choices. In the bottom section of the "Notation Selection" dialog, you may enter a ratio to divide logarithmically, and also a number of equal divisions. Leave it on the default values of "Magnitude = 2.000" and "Divisions = 1200", which will give us "Cents".
Click the "OK" button, and the Lattice appears as follows:
Notice that the cents value for the "A#" pitch is 114 cents. Thus, the chromaticsemitone in pythagorean tuning  i.e., the interval which separates a lettername nominal from the same nominal with a sharp or flat, as that between "A" and "A#"  is about 114 cents. This is approximately the size of a 12edo semitone, which indicates that 12edo has some similiarities to pythagorean tuning ... we will see more about this later.
We know that the system of 12edo can be modeled as a closed circleof5ths (or 4ths), which returns to its starting point. Let's see what "Select Notation  Logarithmic  Magnitude 2.0, Divisions 1200" shows us about traversing 12 steps along the 3axis of our Lattice, i.e., in the pythagorean chainof5ths. Click the "OK" button, then zoom out (by pressing the "Page Down" key on the keyboard) enough so that you get 12 steps in your Lattice view.
Since a Lattice which uses only one axis creates a diagram with a long horiztonal axis, you may wish to move the Lattice window near the top of the environment, where Tonescape will tile the two windows horizontally:
You can see here that the interval of 12 5ths is only ~23 cents. This is the pythagoreancomma, with the 2,3monzo 19 12, >. We will return to this interval later, and use it as a unisonvector to create 12note tunings.
Now let's try selecting a different logarithmic notation to see what it can show us. Rightclick on the blue Lattice background, choose "Select Notation" from the popup, and "Logarithmic" from the list of choices, and leave the "Magnitude" at 2.000, but this time change the "Divisions" to 12. Since we saw that traversing 12 steps along the 3axis results in the small pythagoreancomma, we should be able to learn something from a notation based on 12.
The Lattice now shows us that if the pythagorean tuning is notated with the nearest degree of 12edo, then 12 steps along the 3axis takes us back to the same note from which we started. Thus, if we temper out the pythagoreancomma, the result is 12edo  we shall do exactly this in just a little while.
Changing the "Cardinality" changes the set of available basis unisonvectors. Let's choose a Cardinality of "7" to see how we may create the pythagorean diatonic scale. (Notice that we've gone back to the original window tiling, by clicking on the Title Bar of the Lattice window and dragging it to the desired docked location.)
We see in this list of unisonvectors that the unisonvector which creates the diatonic scale, is the apotome, which is the pythagorean chromaticsemitone.
Leftclick on the apotome in the middle area of the Geometry tab, and drag it down to the bottom area. This creates a 7tone pythagorean diatonic scale centered on "A" on the Lattice, with a tonic of "E" for the natural minor scale.
This is a good place to stop discussion of the lattice Basis for now, so that we may progress on to the Tuning tab of the Tools window Tonespace Editor.
Leftclick on the "Tuning" tab of the Tonespace Editor of the Tools window:
There are also three areas on this tab:
Rightclick anywhere on the 3Generator row in the middle area of the Tuning tab, and select "Create Tuning" from the popup:
Tonescape automatically creates a Tuning (.tuning file) out of your Tonespace. Note that this Tuning file is entirely separate from the Tonespace file, and can be edited independently. The Tuning file is what you will use to compose a Musical Piece.
We may move the windows around a bit for better viewing of the data. Here we have moved the linear 3space Lattice to the top and zoomed in on the Lattice by pressing the "Page Up" key on the keyboard.
For purposes of our demonstration, we want to see letternames on the Lattice points, so rightclick anywhere on the blue Lattice background and choose "Select Notation" from the popup.
Then select "Logical Meantone" from the list of choices, and keep the "Root Pitch Selector" on the default value of "A".
Click the "OK" button. The Lattice displays letternames on the points, in a chainof5ths from C to F#.
As we noted, the Tuning file may be edited separately from the Tonespace. For our demonstration, we want to use the standard pythagorean ditonic Aminor scale, the one which historically evolved first in the notation. To do this, we'll have to delete a pitch from our tuning, and add another one.
To edit a tuning file, first click on the Generators tab in the Tuning Editor window.
This shows the mathematical structure of our tuning: our example is created from two Generators, with the values of primefactors 2 and 3. The Generators tab shows each Generator on a separate row, with the columns giving the ordinal number of the Generator, the fact that it is a Constant, its identification, its cents value, and a verbal description.
(Note that the identifier and cents value of primefactor 3 may be edited by leftclicking on the desired cell and pressing the "F2" key on the keyboard, entering the new data, and pressing "Enter" on the keyboard. For now, we'll leave the 3generator as it is.)
Our example is created from two Generators, one of them being primefactor 2, and the other, primefactor 3. Each pitch in the tuning is specified as a 2,3monzo of exponents of these primefactors, in the form "(a,b)" where a is the exponent of 2 and b is the exponent of 3.
Leftclick on the "Pitches" tab of the Tuning Editor to see a list of Pitches in the Tuning.
The Pitches tab puts each Pitch of the Tuning on a separate row of a spreadsheet, with the columns giving the following data (from left to right):
Note that the third column expresses the pitch as a 2,3monzo of the exponents of our two generators, primefactors 2 and 3.
We had already decided beforehand that we wanted to use the standard pythagorean Aminor scale as the tuning for our example Musical Piece  this scale uses the 7 nominals A, B, C, D, E, F, G, with no sharps or flats. But our Tuning contains the six nominals A, B, C, D, E, G, but also has an F# instead of F. This is easy to change, simply:
Rightclick on the F# Point on the Lattice, and select "Delete" from the popup.
The F# disappears from the Lattice:
Rightclick anywhere on the data area of the Pitches tab spreadsheet, and select "Add Pitch" from the popup.
The Pitches tab spreadsheet updates to include a new row with a duplicate copy of whatever pitchrow was clicked, and with the monzo data selected and highlighted, ready for editing.
The Pitch we want to add, to replace the deleted F#, is "F", which would be one step to the left of "C" on the 3axis of our Lattice, i.e., it has a 3monzo of 4, >. Since the 2Generator is our Identity Interval, we may enter its exponent as 0 (zero) and Tonescape will calculate the appropriate exponent to normalize the Pitch into the Default Register. It is not necessary to enter the parentheses, they are supplied automatically. Thus, simply enter "0,4" into the monzo cell.
While the mouse cursor is still over the monzo cell, press the "Enter" key on the keyboard, to enter the new Pitch into the Tuning. The "F" appears on our Lattice at the appropriate position to the left of "C", and our pythagorean diatonic Aminor scale is complete. Note that Tonescape automatically recalculates the ordering of the Pitches on the Pitches tab of the Tuning Editor.
(This is just a basic guide to working in the Tuning Editor, for the purpose of completing the process from creation of a Tonespace to composition of a new Musical Piece. A full treatment of working with Tonescape Tuning files is given in a separate webpage.)
Now we may save our Tuning so that it is available for use in a Musical Piece. Rightclick on the tab labeled "Tuning 1" in the Tuning Editor, and select "Save As..." from the popup menu.
Tonescape opens the standard Save As dialog.
Replace the "Tuning1" part of the filename with a meaningful filename, and click the "Save" button to save the .tuning file to the desired location.
Now that the .tuning file has been saved, we may composed a new Musical Piece with our pythagorean tuning.
Just so as to complete the process from creation of a Tonescape, thru derivation of a Tuning from that Tonespace, to composition of a new Musical Piece using that Tuning, we will here give a very brief introduction to composing a new Musical Piece with our simple 7tone pythagorean diatonic Aminor scale. (A full treatment of composing a Musical Piece is given in a separate webpage.)
On the Menu bar at the top of the Tonescape main window, click on "File  New  Musical Piece...".
Tonescape does not assume any default tuning, so the first thing you must do is "Insert One or More Tuning Systems". (Future releases of Tonescape will allow multiple Tunings in one Musical Piece; for now, only one Tuning per Musical Piece is possible.)
Click on the "Add..." button, and Tonescape will open the Open Tuning dialog:
Select the tuning we just created, namely, "pythagorean_cardinality7_3space.tuning":
Click the "Open" button to add this Tuning to your Musical Piece. For now, only one Tuning per Musical Piece is possible, so click the "Finish" button.
Tonescape opens the Musical Piece window with the default Pitch Height notation selected. It is easy to see that the Pitch Height notation window is quantized to the unequal steps of our pythagorean diatonic Aminor scale.
For detailed instructions on using the Musical Piece editor, see the Tonescape Tutorial: How to compose a new Musical Piece
We have just learned how to create a pythagorean diatonic scale from a 3space Tonespace. And we saw earlier that after creating a 12tone pythagorean chainof5ths, the 13th pitch brings us almost back to our starting pitch, overshooting it only by about 23 cents, the pythagoreancomma. Let's learn now how to create a tempered Tuning from our Tonespace.
Let's close the Musical Piece window (rightclick on the MusicalPiece1 tab and select "Close" from the popup), and close our Tuning window (same procedure), click on the "Geometry" tab on the "Tonespace1" tab of the Tools window, and select "31" from the Cardinality list, to go back to our original Cardinality of 31:
Leftclick on the 31cardinality unisonvector and drag it down to the bottom area.
Now, notice that this chainof5ths contains both A# and Bb, C# and Db, etc. These pairs of pitches are separated by 12 steps along the 3axis of our Lattice, which happens to be the abovenoted pythagoreancomma of ~23 cents. An interval this small is a good candidate for use as a unisonvector employed in defining an equaltemperament. In fact, our very familiar standard "12tone equaltemperament" tuning (also called "12edo") arose historically by the very procedure we will illustrate now: the temperingout of this same pythagoreancomma.
We already know in advance now that the Cardinality of our Tuning will be 12, so select "12" from the Cardinality list in the top area of the Geometry tab in the Tools window Tonespace1 tab.
Notice immediately that the unisonvector which Tonescape puts in the list as the basis for Cardinality 12, is the pythagoreancomma.
Select the pythagoreancomma as the unisonvector by leftclicking anywhere on its row in the middle area of the Geometry tab, and dragging it down to the blank row in the bottom area of the Geometry tab.
Note that the Lattice and the Tuning now both have only 12 pitches. Leftclick on the Tuning tab of the Tools window Tonespace1 tab to select it:
If we were to rightclick anywhere on the data area and select "Create Tuning" from the popup at this time, we would create the 12tone pythagorean chromatic scale. However, we want to create a temperament this time, which is a bit more complicated.
A powerful feature of Tonescape's Tonespace feature, is the ability to create tempered Tunings (temperaments) from a Tonespace, by selecting unisonvectors and distributing them among various selected ranges of pitches. The resulting tempered Tunings allow Closed Geometry views of the Lattice, which model visually some interesting mathematical properties of tunings.
Below is the detailed stepbystep procedure for creating a temperament from a Tonespace.
Be sure that the "Tuning" tab of the Tools window Tonespace1 tab is selected.
For this example, we are going to temper our Tonespace in the traditional way, leaving the 2generator as it is so that the Identity Interval is exactly the 2/1 ratio, and tempering only the 3generator so that the pythagoreancomma is divided up and distributed equally among all exponents along the 3axis. Since the pythagoreancomma is nearly 24 cents and needs to be distributed among the 12 5ths in the chain, each 5th will be reduced by almost 2 cents. Leftclick the mouse on the cell in the 2nd column of the 3generator row, which is labeled "Fixed", to select it.
While the mouse cursor is hovering over the selected cell labeled "Fixed", press the "F2" key on the keyboard, which readies the cell for editing.
This allows you to choose either "Unison" or "Fraction" instead of fixed. We'll save detailed discussion of these for another webpage ... for now, just know that changing the value of the 3generator to "Unison" will allow you to temper the pitches in your 3space to create your tempered Tuning.
So select "Unison" from the dropdown list:
While you keep the mouse cursor over the "Unison" cell, press the "Enter" key on the keyboard. This enters the "Unison" value into the 3generator cell. Notice that the verbal description in the last cell has changed.
Also notice that the "Temperament" checkbox is now enabled. Leaving it unchecked keeps the Tonespace untempered, which we may verify on the Lattice by rightclicking on the blue background, and choosing "Select Notation  Logarithmic  Magnitude 2.000, Divisions 1200" (i.e., Cents) from the popup.
Click on the "Temperament" checkbox to put the checkmark in it, and immediately the tuning of the Pitches is changed, on both the Pitches tab of the Tuning tab in the Tools window Tonespace1 tab, and on the Lattice, so that it becomes 12tone equaltemperament (12et). Also note that the verbal descriptions in the last column cells of the Tuning tab are changed.
Rightclick anywhere on the data area of the Tuning tab now, to open the popup for "Create Tuning", and now it will create the tempered tuning.
Because 12et tempers out the pythagoreancomma, after we traverse 12 steps in the chainof5ths, we end up not close to where we started as in true pythagorean tuning, but instead, exactly where we started. Thus, the Lattice may now be warped, so that the Points representing notes 13 steps apart on the 3axis, now occupy exactly the same point in Tonespace, and therefore the chainof5ths now actually becomes the circleof5ths.
Tonescape allows a choice of Open or Closed Geometry for viewing the Lattice. In general, it is actually easier to work with the Open Geometry while using the Lattice as an aid to composing. But the Closed Geometry is useful for understanding how the mathematics of a particular temperament change the background justintonation Tonespace.
To view the Closed Geometry, rightclick anywhere on the blue background of the Lattice, select "Geometry" from the popup, and choose "Closed Curved" from the list of choices.
Tonespace immediately wraps the Lattice so that it now forms a 12tone circleof5ths.
Hold down the "Ctrl" key while you leftclick on the blue Lattice background, and then moving the mouse will rotate the Lattice in 3 dimensions. Below are some other views of the 12tone circle:
This view rotates the Lattice so it can be seen from above, which clearly shows the circular form; notation is still in Logarithmic 1200 (Cents):
This view is the same rotation as that above, but with Logical Meantone notation. Note that the interval notated here as the diminished6th between G# and Eb is actually exactly the same as the perfect5ths between Ab:Eb and G#:D#, because in 12et Ab=G# and Eb=D# etc.
This concludes our initial tutorial on how to create both pythagorean and tempered Tunings from a Tonespace. Part 2 will introduce a 2dimensional Tonespace, with Closed Geometry which is much more complex and beautiful.