tonespace

 

 

user manual

 

v1.0.150
Contents

 

Introduction. 3

What is tonespace ?. 3

What is it technically ?. 3

Concepts. 5

Introducing spaces. 5

How chords fit to a space. 6

Navigation along the axes of the space. 7

Understanding scales. 7

Understanding keys. 9

Understanding scale degrees. 11

Understanding chords. 13

Mouse wheel technique. 16

Automatic chord fitting. 16

The chord fitting algorithm.. 17

Varying the space and scale. 18

Chord voicings. 18

MIDI input 20

MIDI output 21

Parameter quick reference. 22

PROGRAM.. 22

SPACE. 22

DISPLAY. 22

SCALE. 22

KEY. 22

CHORD. 22

VOICING. 23

CH ASSIST. 23

ON INPUT. 23

Resources and acknowledgments. 24

Appendix : Setting up tonespace with a DAW / host 25

General – read first ! 25

Tested hosts. 25

I don’t have a host – what do I do?. 25

Ableton Live 5.2. 26

SAVIHost 1.28. 28

Cubase SX3 (Cubase LE similar) 30

Fruity Loops Studio 6. 32

Sonar 6.01 Producer Edition. 34

 


Introduction

 

 

What is tonespace ?

You can best think of tonespace as a different, more intuitive music keyboard, combined with a chord generator, or chorder.

 

It automatically generates chords to midi-out, while you wander around in a grid-like space. It supports over 50 different grids, 14 scales, 18 keys, 30+ chord types and 15 chord voicings. Great for slow IDM chord pads. Or try the blues scale with your bass rythm track of choice for some sweet jamming. 

 

Tonespace can also be used as a fun educational tool for anybody wishing to learn about scales, keys and chords.

 

 

What is it technically ?

Tonespace is a VST instrument plugin which implements a combination of a virtual, on-screen keyboard and a chorder.  It works by taking user input from the keyboard, converting that input to chords and then sending these chords as midi note-on/note-off events to its output.

 

 

Tonespace supports a number of ways of getting user input:

  • by mouse clicks on the on-screen grid or space
  • by mouse clicks on the on-screen piano keyboard
  • by accepting midi note-on/note-off events on its VSTi midi input port
    • from an external keyboard hooked up to your DAW host
    • from a midi track in your DAW host

 

The output is always the VSTi midi output port. This output can be routed to

  • a synth plugin hosted in your DAW
  • a midi recording track in your DAW

 

The plugin also allows automation of its parameters by hosts that support this.

 

Please note : this manual assumes you have already set up tonespace properly for your host. Please see the appendix for setup for information on how to do this.

 


Concepts


Introducing spaces

 

The main element in tonespace is the colored on-screen grid, which we call a space. A space is a two-dimensional spreadsheet which contains midi note numbers.  When you click on a cell in the space the corresponding midi note is played (or a chord based on that note, as you will see later).

 

Also, some cells are colored, others are not. This means that only the colored notes are part of the currently selected scale and key (Blues scale and key of G in the picture below). Only colored notes can be played. But more about that later.

 

 

The note numbers increase from left to right and from bottom to top.  In the picture above the increase is 2 semitones in horizontal direction and 5 semitones in vertical direction.  This space is called M2-P4 [2:5] or [2:5] for short [1].

 

As you can guess, other combinations of horizontal/vertical increases are possible, leading to other spaces.  You can select these spaces by choosing a value for the SPACE combobox in the parameter section of the screen.

 

 

There are two wellknown spaces, named after the researchers who discovered them:

  • [4:7] or Longuet-Higgins’ space
  • [4:3] or Balzano’s space

 

These two spaces have special properties. One of those properties is for instance that certain common chords look like very simple shapes when drawn on the space.

 

How chords fit to a space

 

Let’s look at a grid based on Balzano’s space. If we draw a major chord in that space, it will have a horizontally mirrored L-shape:

 

 

This is easy to see if you look at the offsets of the three notes within a major chord, which are [0 4 7]. So, starting the chord from middle C (midi 60) we get midi notes 60+0, 60+4 and 60+7.  These offsets we also call intervals.

 

If we draw a minor chord (with intervals [0 3 7]) , it will have a vertically mirrored L-shape:

 

 

 

What’s so useful about this, is that compact shapes in the space (shapes consisting of cells close to eachother) apparently correlate with interesting chords.  We can now turn this around : if you would draw a compact shape at random in the space, there is a good chance that this shape turns out to be a useful chord.  This is one of things the tonespace chord fitting algorithm is based on. More about that later.

Navigation along the axes of the space

 

Another interesting property of the Balzano space is that one of its diagonals turns out to be the chromatic scale (1 semitone increase) and the other diagonal appears to be the cycle of fifths (7 semitone increase).  This means you can navigate (move the mouse) easily along a chromatic sequence and along the cycle of fifths simply by just following the diagonals.  Plus there is a useful progression on the horizontal and vertical axes too, in steps of major and minor thirds respectively (4 and 3 semitone increases resp.).

 

The Longuet-Higgins space has comparable properties, which we will not describe in detail here.

 

You can find a much more thorough treatment of the theory behind these spaces and earlier implementations in [Holland, 1987].  Note that the tonespace implementation deviates in some respects from what is described in this paper, but the general principles still apply.

 

We will now explain a bit more about scales, keys and chord intervals.

 

Understanding scales

 

Before moving on to scales, let’s first select a suitable space. Among the selectable spaces there is one that is particularly useful for understanding the concept of a scale, which is Octaves [1:12]. This space has a row for each of the 9 octaves, with each octave containing 12 semitone columns.

 

 

Now let’s choose a scale to apply to this space. You can control the scale using the SCALE parameter in tonespace.

 

 

Shown above is the chromatic scale, which is just a fancy word for saying that all notes are allowed for playing [2]. So there are no black cells here, only colored ones.

 

Musicians do not often use the chromatic scale, because if you would use all of these notes, it is possible to select two or more notes that do not sound well together (they are dissonant).  Therefore, it is standard procedure to throw away a bunch of notes from each octave and only work with the remaining set.  Such a set we call a scale.  Notes within a scale tend to sound pleasant when played together.

 

For example, let’s choose another scale called the Major scale, also known as the Ionian scale. By applying the major scale, some columns are blackened in the space. These won’t react any more when you click them with the mouse. Their notes are forbidden.

 

 

The picture above makes clear what a scale really is : it is a set of note offsets, or intervals, that defines which are the “good” notes. For the major scale these intervals are [0 2 4 5 7 9 11] [3].  When these seven intervals are applied to the octave of middle C, it means we only get to keep midi notes 60+0, 60+2, 60+4, 60+5, 60+7, 60+9 and 60+11. 

 

The major scale happens to contain 7 intervals, yielding 7 midi notes when added to the midi start note of the octave. Many other scales do too. But there are also scales with just 5 notes (e.g. pentatonic scales). There is no hard rule about how many notes there can be in a scale. You have to find a balance: if there are too many, dissonances occur more easily. If there are too few, less variation can be used in the chords and melody.

 

Understanding keys

 

So musicians that play together have to agree first on the scale to use (if they want to avoid playing notes that don’t go well together). But this is not enough. They also have to agree on the key they will use. The key (in tonespace at least) is just a fancy word for the starting note or better, the starting pitch class of the scale [4].  A key of C means we start at the first pitch class (being zero). A key of C# means we start at the second pitch class (being 1). A key of D means the third pitch class (being 2). And so forth.

 

You can control the key using the KEY parameter in tonespace.

 

 

Note: when you hear someone saying : “let’s play in the key of C Major”, actually this says two things at once:

  • the scale to use, i.e. the intervals between valid notes (Major)
  • the starting pitch class (C or offset 0)

 

This means that, starting from C (offset 0), you will use only notes that you find at the relative offsets [0 2 4 5 7 9 11].  For the key of C that starting pitch class would be 0, therefore, for the middle octave which starts at midi 60, we get to keep midi 60+0+0, 60+0+2, 60+0+4, 60+0+5, 60+0+7, 60+0+9 and 70+0+11.  This is shown in the space fragment below:

 

 

Should you instead agree on D Major, then the intervals would remain the same (major), but the starting pitch class would be different (offset 2), leading to the following midi notes in the scale/key :  60+2+0, 60+2+2, 60+2+4, 60+2+5, 60+2+7, 60+2+9 and 60+2+11. The result looks like this:

 

 

Notice how you get the same pattern of allowed notes starting from either C in the first picture and starting from D in the second picture. It is just shifted upward by 2 semitones.

 

Should you agree instead on C Minor, then the starting note remains the same as C Major (offset 0), but now the intervals that you add to that starting note will be different (minor) : [0 2 3 5 7 8 10], yielding midi notes 60+0+0, 60+0+2, 60+0+3, 60+0+5, 60+0+7, 60+0+8 and 60+0+10. Which looks like this:

 

 

So keep in mind that the resulting note selection is always a function of these two things : the scale (the intervals) and the starting note to which the intervals are added. You are encouraged to play a bit with the SCALE and KEY parameters in tonespace to get a feel of how scales and keys interact to select a bunch of notes.

 

Notice also how the underlying space never changes.  Applying a scale and key is in fact just putting a filter onto the space, making certain cells black and adjusting the note labels in each cell.  It does however not alter the location of the midi notes within the space.  Midi notes are an absolute pitch notation whereas scales, keys and note names are relative to the point of view of the musician[5].

 

Understanding scale degrees

 

Often you will encounter the set of roman numerals I to VII in music literature.  What are these? Very simple, they are nothing but names for the the seven notes in a scale (assuming you use a scale with seven notes – 5 note scales use only I..V).  They are called scale degrees.

 

For instance, look again at the notes in the C major scale:

They are C, D, E, F, G, A and B respectively.

 

 

Now let’s display them as roman numerals You can do this by selecting the appropriate value in the DISPLAY combobox:

 

 

 

The result looks like this:

 

 

This the same scale, the same key, but just different labels. Why bother then? Well, this allows you to indicate the n-th note of a scale regardless which type of scale/key you are using. 

 

For instance compare with D Major:

 

Original notation: D, E, F#, G, A, B, C#

 

 

And its roman numeral notation:

 

 

Did you notice how the I .. VII set has shifted two positions to the right? That’s because we now start at D instead of C.

 

Why is scale/key-independent note labeling useful?  One example is when you want to specify the root notes of a series of successive chords to play (called a chord progression) within a scale/key, without knowing up-front what that scale/key is.  That way it suffices to write down the chord progression just once as roman numerals (e.g. I–III–IV) which you can then apply to a myriad of scale/key combinations later.

 

 

Understanding chords

 

Okay, you now know how to choose a space to navigate in. You also know how to limit the number of allowed notes in that space by choosing a scale and key. And you are able to adjust the note label display as needed.  Now let’s examine the last bit that’s missing from the picture : chords.

 

Like a scale, a chord is defined by a set of intervals.  However, the number of notes in this set is typically much lower, with three or four being common.

 

We can classify chords after the number of notes in them:

  • dyads : have two notes
  • triads : have three notes
  • tetrachords : have four notes
  • quintads : have five notes

 

In tonespace 1.0 we support dyads, triads and tetrachords only.

 

You can select a chord in tonespace by setting two parameters. First set  the CHORD ASSIST parameter to Manual.

 

 

Then set the CHORD parameter to any of the chords in the combobox. For instance let’s set it to Major:

 

 

A major chord is a triad defined by the intervals [0 4 7]. Let’s see what happens when we try to play this chord on our space.  To make things easy, set your other parameters as follows :