« Harmonics » project

Alex, Bo, Fred, Malik
2024, july 8th
image: e_7a57673ec378_IDEX_france2030_couleur.jpg
Résumé
Tonnetz is software developed by Frédéric Faure, Malik Mezzadri, Alexandre Ratchov and Bo VanderWerf. Tonnetz is aimed to play music with just intonation, with MIDI instruments and also with acoustic instruments, via microphone. It also controls a slider-flute. It contains an automate that can play, according to a Markov graph.
This document is a tutorial. It explains different aspects of the program tonnetz, from installation in 1, to the abstract concepts and practical use. There is an other document called “reference” that gives all mathematical details and software code explanations. The objective of this program “Tonnetz” are multiple: from research in musicology, pedagogical use, to compose music, play and improvise on stage.
Remarque 0.1.  
Remarque 0.2. This tutorial assumes some basic knowledge in music, but no knowledge in mathematics. If some parts are not understandable, the reader can skip them (and also mail to the author, thanks). The reader can begin by looking at the different videos given as examples in the links.
Documents and references:

Table des matières

Installation

Video installation sous windows.
  1. If not already done, download Synth that contains the sounds for the synthetizer ’midisyn’ of Alex.
  2. Download the latest version of the plugin Tonnetz.
  3. remarques:
    1. Sur windows, après le téléchargement,
      1. Choisir « Conserver » « Conserver quand même ».
      2. Dans le gestionnaire de fichiers, faire Propriétés/Général/Débloquer.
      3. Puis cliquer sur « Installer ».
    2. Sur Mac Os: if MacOs refuse to install, go to directory Downloads, use the key Ctrl and left clic on the file and Open it in the menu or do:
      1. click sur le télechargement
      2. aller dans Pomme -> System settings -> Privacy & Security
      3. trouver le nom du .pkg, vers la fin
      4. cliquer sur le bouton "Open anyway"
      5. l’installateur s’ouvre, choisir "Open anyway" là aussi

Tutorial

2.1 Presentation generale. Sauvegarde des parametres.

  1. Lancer le programme “StandAlone”, voir section 3.1.
  2. Verifier la version avec la souris, et visiter la page web avec ses rubriques dont cette section 2.
  3. Brancher clavier/EWI. Dans “Options”, connecter Audio et MIDI devices et faire Reset_Default_State.
  4. Changer un parametre comme ch_in et faire menu_Options/save_current_state puis menu_Options/load_a_saved_state

2.2 Jouer avec l’EWI et/ou avec le clavier.

  1. Identifier son canal: affiche sur la note de tunplot.
  2. Choisir le son dans Audio_out
  3. Mode Hold on/off (case à cocher ou messages expression) et “reset notes”
  4. Mode Leader on/off, aussi affiche par « L » sur la note de tunplot.

2.3 Jouer avec la souris

  1. Choisir le cannal ch_in.
  2. Jouer sur tunplot et netplot
  3. Modifier le volume des notes avec le scroll de la souris. (attention de bien choisir le canal ch_in).
  4. Choisir le son: “Audio out”

2.4 Chords save/load

  1. Save/Load d’accords
  2. Panneau “sequence”.
  3. Export/Import et on echange le fichier par whatsapp ou mail.

2.5 Change chords

  1. Change chord et ses parametres.
  2. Utilisation de Automate pour “read chords” et “change chords”.

2.6 Enregistrer l’audio et capture video+son

  1. avec Garage Band ou Audacity, etc, cf section 3.2.

2.7 Jouer avec un synthe externe (ex: Diva)

  1. Sur la premiere ligne, cocher “mute” et “midi_out” pour demander de couper le son interne et envoyer les messages midi en sortie (mais on peut choisir de garder le son interne pour comparer).
  2. Brancher les bus midi: Tonnetz-> Bus1 virtuel-> Live piste Midi avec plugin Diva. Il faut configurer le plugin Diva avec tuning range Up=2, Down=2.
  3. Enregistrer la piste midi et la rejouer. Cf section 3.3.

2.8 Network

  1. Se connecter et voir la liste des autres personnes.
  2. Jouer avec les autres: Id_input = all. Chacun choisit un Id_output différent (car on ne recoit pas son propre Id). On échange des notes.

2.9 Audio in:

  1. Vérifier que l’on a un signal audio_in venant du micro: OPtions/Audio_Midi_Settings/Input: il devrait y avoir un jauge de signal. Sinon, il faut lancer le programme Tonnetz depuis un terminal pour avoir l’autorisation du micro: /Applications/Fred.../Fred_Tonnetz
  2. Cocher detect_audio_pitch, ouvrir la fenetre “Show audio in”. Jouer un instrument acoustique. Ajuster le volume.

2.9.1 Examples

  • On enregistre une session:
    • Malik nous propose ses accords en leader joue avec les pads de “Show sequence” et Bo est en “non leader” avec l’ewi.
  • Le 30/10/2024, Session avec Malik et Alex.

2.10 Presentation a MACI:

Manuel: comment utiliser le programme Tonnetz (StandAlone)

La version StandAlone signifie que ce programme Tonnetz est indépendant sur l’ordinateur. Un tutorial est proposé en section 2.

3.1 Lancement du programme

  • In Applications/Fred/Tonnetz, cliquer sur le programme.
  • Paramétrages: une fois le programme lancé, in the upper left corner: Options/Audio_midi_settings/Audio_buffer_size: choose 128 samples ( 2.7 ms, this is important for low latency) and in Active_MIDI_Inputs: connect your device (EWI or Keyboard).

3.2 Comment enregistrer des sessions audio et video

L’idee expliquee ci-dessous est que
pour enregistrer un fichier audio il faut connecter:
Tonnetz BlackHole_2ch Garage_band ou Audacity ou QuickTimePlayer
et pour enregistrer de la video il faut connecter:
Tonnetz BlackHole_2ch OBS

3.2.1 Installations:

3.2.2 Configurations et lancement:

  • Dans le programme Tonnetz, menu/Options/Audio_midi_settings/Output_Audio: choisir Blackhole_2ch.
  • Ensuite au choix:
    • Dans Garage_Band, créer une piste audio avec BlackHole 2 en entrée et activer le “controle de l’entrée” de la piste audio (pour entendre le signal)
    • Dans Audacity: menu/Audacity/preferences/Reglage_Audio/Enregistrement: choisir blackHole_2ch
    • Dans QuickTimePlayer: lancer QuickTimePlayer, menu/Fichier/Nouvel_enregistrement_audio et avant de lancer l’enregistrement, près du bouton rouge, choisir en entrée: blackhole 2ch.
    • Enregistrement audio + video: avec quicktime player: touches: Cmd + shift + 5 ou menu/Fichier/Nouvel_enregistrement_de_l’ecran et avant de lancer, dans option microphone, choisir blackhole_2ch. (Optionnellement exporter le fichier video .mov en H.264 .mp4 pour ensuite le lire sur des pages web html.)

3.2.3 Manipulation supplémentaire dans les cas de Audacity et QuickTimePlayer:

  • Avec Garage-band on entend le son en direct pendant l’enregistrement, mais pas avec audacity ou quicktime player. Pour entendre le son en direct avec Audacity ou quicktime player, il faudra installer LadioCast et dans ce logiciel LadioCast, mettre sur une ligne: entrée: BlackHole_2ch, sortie: carte son ou casque ou haut-parleurs. Cela permettra d’entendre le son produit (sans latence).

3.3 Comment enregistrer (et rejouer) des sessions Midi

3.3.1 Sur Mac-OS

L’idée expliquée ci-dessous est que pour enregistrer un fichier midi, on crée deux ports midi virtuels appelés « IAC Bus 1 et Bus2 » et on connecte:
Tonnetz IAC Bus 1 Live_piste_midi
et pour relire un fichier midi on connecte:
Live_piste_midi IAC Bus 2 Tonnetz
Installations (la première fois seulement):
  • Sur le Mac, installer Ableton_Live ou Logic Pro.
  • Sur le Mac, créer des « bus MIDI virtuels »: dans Finder, lancer Applications/Utilitaires/Configuration_Audio_et_Midi, puis menu/Fenetre/Studio_Midi, en haut a droite, on a Nom_dupériphérique: “Gestionnaire IAC”, et en bas à gauche clique sur “+” pour Ajouter les ports Bus 1 et Bus 2.
Configurations:
  • Dans le programme Tonnetz,
    • menu/Options/Audio_midi_settings/Active_Midi_Output: choisir Gestionnaire IAC Bus 1
    • menu/Options/Audio_midi_settings/Active_Midi_Inputs: choisir Gestionnaire IAC Bus 2
  • Dans le logiciel Ableton Live
    • si on enregistre, créer une piste MIDI et dans l’onglet “Midi from”, choisir Gestionnaire_IAC_Bus1 et All_Channels. Et dans réglages cocher le mode MPE
      • On peut ajouter un synthetizeur sur la piste MIDI, par exemple Diva. Il faut alors configurer pitch bend range= +2/-2.
      • Si on ne met pas de synthe, dans l’onglet output mettre “no output”.
    • Si on relit, dans l’onglet “Midi from”, mettre “no input”. Dans l’onglet output, choisir Gestionnaire_IAC_Bus2

3.3.2 Sur Windows 10

L’idée expliquée ci-dessous est que pour enregistrer un fichier midi, on crée deux ports midi virtuels appelés « LoopMidi 1,2 »et on connecte:
Tonnetz LoopMidi port out Live_piste_midi
et pour relire un fichier midi on connecte:
Live_piste_midi LoopMidi port in Tonnetz
Installations (la première fois seulement):
  • Sur windows, installer un DAW: Ableton_Live ou Reaper, etc
  • Sur windows, installer LoopMidi. Créer des « bus MIDI virtuels » par exemple « LoopMidi port out » et « LoopMidi port in ».
Configurations:
  • Dans le programme Tonnetz,
    • menu/Options/Audio_midi_settings/Active_Midi_Output: choisir « LoopMidi port out »
    • menu/Options/Audio_midi_settings/Active_Midi_Inputs: choisir « LoopMidi port in »
  • Dans le logiciel Ableton Live
    • si on enregistre, créer une piste MIDI et dans l’onglet “Midi from”, choisir« LoopMidi port out » et All_Channels. Et dans réglages cocher le mode MPE
      • On peut ajouter un synthetizeur sur la piste MIDI. Il faut alors configurer pitch bend range= +2/-2.
      • Si on ne met pas de synthe, dans l’onglet output mettre “no output”.
    • Si on relit, dans l’onglet “Midi from”, mettre “no input”. Dans l’onglet output, choisir « LoopMidi port in »

Versions and news

21/01/2024, version 1.1.1
Version simplifiée du plugin Tonnetz qui permet de:
19/02/2024, version 1.1.9
19/02/2024, version 1.1.10
23/05/2024, version 1.1.13
21/07/2024, version 1.1.16
30/07/2024, version 1.1.17
01/08/2024, version 1.1.18
02/09/2024, version 1.2.0
29/09/2024, version 1.2.3
29/10/2024, version 1.2.6
• Analyse d’un son audio en entrée. Voir “2 Audio/Audio_in”

Sessions passées

Objectives of the project

6.1 First ojectives

6.1.1 For Alex & Fred

  • Developp the plugin « tonnetz », midi->midi:
    • that works as a AU plugin on MacOs, in LogicPro or Ardour or Reaper and explain how to use it.
    • We could use the plugin tonnetz with an EWI (or MIDI keyboard) to record some multiple Midi tracks with chords and get sound from any synthetizer.
    • Connect « tonnetz » with Alex’s plugin synthetizer « midisyn » (midi->audio) to get the special sounds and effects of Alex.
    • Connect « tonnetz » with a plugin « pitch-detection » (audio->midi) so that Malik can use its « flute à coulisse » or flute or voice or « flute à nez »,
  • Developp the plugin « midisyn » (synthetizer midi->audio).
  • Developp the plugin « pitch-detection » (audio->midi).
  • Developp the plugin « markov » (midi->midi) that interacts with « tonnetz » and allow to generates some midi patterns followings rules from Markov graphs.
  • In order to simplify the use for musicians, propose a unified plugin (audio,midi-> audio, midi) that contains all the previous plugins.

6.1.2 For Bo & Malik

  • Use the plugins to compose and record music.

6.1.3 Together (Alex, Bo, Fred, Malik)

  • Also with Paul Albenge and Aline, we meet together, in order to prepare a concert and some support: audio record documentary, ...

6.2 Some conferences?

Une conférence sur les tempéraments anciens et actuels?

6.3 Objectives

Pedagogical tutorial: « how to start with the plugin tonnetz »

Before starting to use the plugin tonnetz let us give a short introduction that gives an idea of “what tonnetz is” and a few important “key words” for after.

7.1 Summary of the tonnetz plugin with few key-words

7.1.1 MIDI,Audio, DAW and plugins

  • Audio signal means a sound that has been transformed to a sequence of numbers (i.e. digitized).
    • the time is cut in small intervals δ = 1 F , e.g. F = 44100 Hz intervals in a second called the rate frequency.
    • The amplitude is also approximated by integers in the interval ( - 2 B - 1 , 2 B - 1 - 1 ) with integer B called the bit sampling, ex: B = 4 in the picture below but usually we take B = 32 for good precision.
      image:
  • MIDI signal is a sequence of numbers that represent some instructions between musical devices (keyboards, computer, etc) in electronic music.
    • The list of all instructions is defined by the MIDI association.
    • For example the note C with maximal volume is represented by the sequence of numbers { 144 , 60 , 127 } (here 144 means ’note on’, 60 means ’C’ and 127 is the maximal value).
  • A DAW means Digital Audio Workstation and is a software in a computer that acts as a “recorder”. It allows to record some audio signals and MIDI signals on tracks and play these tracks on output speakers.
    • We will mainly use Ardour, that is a efficient and free software. However most of professionals use Protools on windows PC or Logic-Pro on MacOs (these are proprietary software).
      image: e_a8515d281e9a_system.png
  • An audio plugin is a computer software that can be used in a DAW for transforming Audio signals (and/or) MIDI signals. In our case, “tonnetz” is a plugin that takes audio (stereo) and MIDI on input and output:
    image: e_252357d23789_plugin_fig.png

7.1.2 The tonnetz

  • By definition, the tonnetz is the space of all notes with rational frequency ratios, i.e. fraction, called just intervals in music, starting from an arbitrary original note which is the "diapason" (A at 440 Hz). In principle, this space of "just notes" is accessible to all musicians simultaneously. But this note space is infinite - there are even infinitely many notes between each note, just like the rational numbers Q. See this short video on numbers. Because of this infinity, in practice, we have to use a temperament to access some of these "just notes".
  • For a musician, a temperament is a limited number of tonnetz notes to which he has access, via the keys of his instrument (C,C#,C etc). In other words, a temperament is a choice of just notes. There are two types of temperament:
    • fixed temperament, where the choice is fixed during the play. You can use a predefined fixed temperament, such as the (historical) fixed temperaments of Zarlino, Pythagoras, Harmonic, etc. (and their transpositions), or use a personal customized fixed temperament.
    • an adaptive temperament, where this choice depends on the leader notes present (played by all leader musicians). This guaranties a better coherence in the harmony.
  • A musician is in leader mode if the notes he plays and holds influence the adaptive temperaments of the other musicians and himself. Otherwise, the musician is said to be in follower mode.
Remarque 7.1. if several musicians are playing together, it’s possible for each musician to use his or her own temperament. For example, “musician red” uses an adaptive temperament and “musician blue” uses a fixed temperament (in mode leader or follower). Later each musician or plugin will be identified by a color.

Theoretical description

8.1 Harmonics and just intervals

8.1.1 Human voice and importance of harmonics and just intervals

Human voice is created by the periodic vibration of vocal cords. From Fourier analysis, there are harmonics in every periodic signal like the human voice, a sound of a string instrument, a flute or a trumpet, etc. Harmonics are therefore present in the human voice and other musical sounds.
Just intervals are the intervals between different harmonics. Our brain is well trained to analyze and recognize human voice via identification of these just intervals, so we can understand that just intervals play an important role in music. This is what we will be concerned with this program.
Auditive illusion:
This video (read the given description) illustrates how the brain creates virtual fundamentals from just intervals, as it would like to give the information to consciousness that a human voice is present. See wikipedia about Missing fundamental.

8.1.2 What are the harmonics

The harmonics of the fundamental note C 3 for example (subscript 3 here means octave 3 ), is the following series of notes (and correction in half-tone)
image: e_564205fa9894_harmonics.png
where the index is the harmonic number 1 , 2 , 3 , and the subscript is the correction with respect to the equal temperament. For example, harmonic 3 is G with a correction + 0.02 of halftone. Harmonic 7 is B with a correction - 0.31 of halftone, that is very perceptible. What is important to observe and enough to remember for after is:
  • Harmonic 1 is called the fundamental.
  • Harmonic 2 is an octave from the fundamental.
  • Harmonic 3 is a fifth (plus an octave) from the fundamental with + 0.02 of halftone (not perceptible).
  • Harmonic 5 is a major third (plus two octaves) from the fundamental with - 0.14 of halftone.
  • Harmonic 7 is a minor seventh (plus two octaves) from the fundamental with - 0.31 of halftone.
  • Harmonic 11 is a augmented fourth (plus three octaves) from the fundamental with - 0.49 of halftone.
  • Harmonic 13 is a major sixth (plus three octaves) from the fundamental with + 0.40 of halftone.
Numbers 2 , 3 , 5 , 7 , are prime numbers and are enough to construct every other numbers, e.g. harmonic 6 = 2 × 3 is one octave above harmonic 3 , hence 2 octaves and a fifth above the fundamental. Harmonic 9 = 3 × 3 is a fifth and an octave above harmonic 3 , hence two octaves and two fifth above the fundamental, etc.
Frequency of the harmonics:
if f = f C 3 is the frequency of the fundamental, then the frequency of harmonic 3 is f G 4 = 3 f , and frequency of harmonic 5 is f E 5 = 5 f , etc. These frequencies are slightly different from the frequency obtained in equal temperament (more on this below). More informations about harmonics are in the appendix sec:Harmonics.

8.1.3 What are just intervals

Between the first harmonics, there are the following intervals:
  • a fourth between harmonics 3 4 ,
  • a minor third ( + 0.16 ) between harmonics 5 6 ,
  • another different minor third ( - 0.29 ) between harmonics 6 7 ,
  • a tone ( + 0.31 ) between harmonics 7 8 ,
  • another different tone ( + 0.04 ) between harmonics 8 9 ,
  • a triton ( - 0.17 ) between harmonics 5 7 ,
  • another different triton ( + 0.17 ) between harmonics 7 10 , etc
These intervals between the harmonics of a given fundamental are called just intervals and will have important roles after.
Ratio of frequencies of just intervals:
In the example above, if f = f C 3 is the frequency of the fundamental, then the frequency of harmonic 4 is f C 5 = 4 f , and frequency of harmonic 5 is f E 5 = 5 f . Consequently we get that the ratio of frequencies of the major third just interval C 5 E 5 is f E 5 f C 5 = 5 f 4 f = 5 4 Similarly the ratio of frequencies of the fifth just interval C 4 G 4 is f G 4 f C 4 = 3 f 2 f = 3 2 More generally, there is a just interval between two frequencies f , f ' if the ratio is f ' f = a b with two small integers a , b (say a , b < 20 ).
Dissonance of a just interval:
We define the dissonance of the just interval f ' f = a b as d i s ( a b ) : = ln ( a b ) for an irreducible fraction a / b , and with “ ln ” being the natural logarithm function. (There will be a simpler expression of d i s ( a b ) later).

8.1.4 Just intonation

Just intonation in musics means that the we play music only with just intervals.
We will use two different and complementary representations for the notes constructed with just intervals: the pitch space and the tonnetz space. We will explain after the concept of temperament that explains how we choose 12 (or less) notes per octave.

8.1.5 Equal temperament

In every culture of every time people played with just intonation, i.e. just intervals. The only exception comes from Europe in the mid of XIX-th century, where they introduce the equal temperament, where the octave is divided in logarithmic scale in 12 equal intervals. The consequence is that in the equal temperament, only the octave remains a just interval. The other intervals are not. But the fifth and fourth are very close to just intervals, so that the difference is unperceptive.
Later, we will not consider the equal temperament (except in the pitch space representation, giving some dashed lines of references).

8.2 Tunplot: the pitch space

Watch a video.
The pitch is very well known by musicians, it represents the position of a note on a piano keyboard. Precisely the pitch of a note of frequency f is defined by x = 12 ln 2 ln ( f f A 5 ) + x A 5 R where f A 5 = 440 Hz is the frequency of the tuning fork and x A 5 = 69 is its (MIDI) key number. In other terms x represents the position of a note on a MIDI keyboard, where integer values are exactly on the keys (ex: x = 60 is for f C 5 ) but non integer values of x are also allowed, between the keys.
For example the pitch of A 5 is x A 5 = 69 and the pitch of B 5 is x B 5 = 70 , hence x = 69.5 is a pitch at “half-distance” between A 5 and B 5 , sometimes called quarter-tone.
In the program, the representation of the pitch space is called: “tunplot”.

8.3 Netplot: the tonnetz space

In German, ton = “note”, netz = “lattice”, so “tonnetz” is the lattice of notes.
Euler in 1750, proposed a tonnetz to represent just intervals, that is a two-dimensional lattice. He used it to represent just intervals with fractions of the form a b = 2 n 2 3 n 3 5 n 5 with integers n 2 , n 3 , n 5 Z . This is not sufficient for our purpose, we will need to use all the prime numbers { 2 , 3 , 5 , 7 , 11 , 13 , } in our fractions, so we define the tonnetz space as follows: a fraction is written uniquely as a b = 2 n 2 3 n 3 5 n 5 7 n 7 with some integers n 2 , n 3 , n 5 , n 7 , Z . We represent n = ( n 2 , n 3 , n 5 , ) as a point in a lattice. In practice we will represent the axis of n 3 , n 5 , n 7 , the axis of n 11 , n 13 , n 17 are written in small fonts. The value of n 2 (the octave) is not represented, instead we represent the octave position of the note on a circle.
In the program, the representation of the tonnetz space is called: “netplot”.
Exemple 8.2. On the following example (same as 8.1), three notes have been played with the keys F 4 , C 5 , E 5 . They are represented by the green domains. (In grey are other accessible notes, but not yet played). The horizontal axis is for n 3 value, the vertical is for n 5 and the octave range value is the position on each circle. From this picture, up to a factor 2 , we can read that the ratio of frequencies are f C 5 f F 4 = ( 2 n 2 ) 3 and f E 5 f C 5 = ( 2 n ' 2 ) 5 . We also read that C , E are in the same octave range 5 and F is in the octave range 4 . We can deduce actually that f C 5 f F 4 = 3 2 is a just fifth and f E 5 f C 5 = 5 4 is a just major third. This was not visible from the pitch representation.
image: e_009af8ad86ec_tonnetz_1.png
Résumé 8.3. We not need to be a mathematician to read this picture. We only need to observe that the notes F 4 , C 5 are neighborhoods on the horizontal n 3 axis which is the axis of just fifths and that C 5 , E 5 are neighborhoods on the vertical n 5 axis which is the axis of just major third.
Exemple 8.4. Here is an example with the three axis n 3 , n 5 , n 7 . This is a chord with C 5 , G 5 , E 6 , B 6 . The note B 6 b is along the axis n 7 which is the axis of just minor seventh.
image: e_9fe46be1050e_pitch_2.pngimage: e_37e637b86701_tonnetz_2.png
Exemple 8.5. In this more complicated example, we have played the keys C 4 , G 5 , G 6 , A 6 , E 7 , E 7 . On the pitch axis, we have added the fractions, where C 4 has the fraction 1 1 , this is the reference note. For example G 6 has the fraction 11 / 2 with respect to C 4 . On the tonnetz it is represented on the axis n 11 , that starts from C on the upper-left. Similarly the axis n 13 is on the upper-right, the axis n 17 is on the right, the axis n 19 is above.
image: e_dd86049f7f30_pitch_3.pngimage: e_46a3b317285a_tonnetz_3.png

8.4 Formula for pitch values

We have seen of the tunplot figures above that the pitch of notes differs slightly from the equal temperament shown by the vertical dashed lines. Here we explain how to compute the pitch corrections from the position of the note on the tonnetz.
Here is a table
1
Mathematically the pitch correction Δ x for a prime number p is Δ x = { 12 ln 2 ln p } where { x } for a given x R is { x } = x + k with k Z , such that { x } ] - 0.5 , 0.5 ] . Example, { 12 ln 2 ln 3 } = 0.01955.. + 0.02 , { 12 ln 2 ln 5 } = - 0.136.. - 0.14 etc.
and we explain after how to use it with an example.
Axis interval Number of half-tone pitch correction Δ x
in equal temperament with respect to equal temperament
n 3 fifth 7 + 0.02
n 5 major third 4 - 0.14
n 7 minor seventh 10 - 0.31
n 11 augmented fourth 6 - 0.49
n 13 minor sixth 8 + 0.40
n 17 half-tone 1 + 0.05
n 19 minor third 3 - 0.02
Consider the following example, called harmonic temperament later:
image: e_5c97de7ceb4e_pitch_harm_C.pngimage: e_34e4a20d91b9_tonnetz_harm_C.png
In this example the reference note is C and his pitch is given by the equal temperament, i.e. x C 5 = 60.00 . We see on netplot that E is a major third from C , so x E = x C + 4 - 0.14 as can been observed on tunplot. Similarly we deduce the following table of pitchs for this “Harmonics scale”
Note pitch (i.e. half-tones) w.r.t. C
C 0
D 1 + 0.05
D 2 + 0.02 + 0.02 = 2 + 0.04
E 3 - 0.02
E 4 - 0.14
F 5 + 0.02 - 0.31 = 5 - 0.29
G 6 - 0.49
G 7 + 0.02
A 8 - 0.14 - 0.14 = 8 - 0.28
A 9 + 0.40
B 10 - 0.31
B 11 + 0.02 - 0.14 = 11 - 0.12
What is important to remember is that:

8.5 Temperaments

There are an infinite number of rational numbers, so in practice if we use an instrument with 12 keys per octaves, we have to choose which frequencies to play. Such a choice of frequency for each key is called a temperament.

8.5.1 Fixed temperament

Watch a video.
If this choice is fixed, we say that we play with a fixed temperament. The program will allow to play with different fixed temperament, like the famous “Pythagorean temperament”, the “Zarlino temperament”, the “Harmonic temperament” etc.. but also on some fixed temperament build by the user. The advantage of fixed temperament is that some fixed “musical mode color” can be explored. The dis-advantage of fixed temperament is that not all the just intervals are available, and some intervals sometimes sound bad.
Zarlino temperament in C:
Here is the picture for available notes
image: e_e7b892dbf3a9_pitch_zarlino_C.pngimage: e_5d18cb9789e8_tonnetz_zarlino_C.png
We observe on the tonnetz space that it is made with just fifths and just major thirds. On the pitch space, we observe that the temperament is the same on each octave range. One advantage of the Zarlino temperament is that we have just major triads chords like { C , E , G } , { E b , G , B b } . But beware that some other triads are not the usual just like: { E , A b , B } or { G b , B b , D b } .
Harmonics temperament in C:
Here is the picture for available notes
image: e_5c97de7ceb4e_pitch_harm_C.pngimage: e_34e4a20d91b9_tonnetz_harm_C.png
We observe on the tonnetz space and pitch space that it is made from the first few harmonics of C (up to harmonics 25).

8.5.2 Adaptative temperament

Watch video.
Adaptative temperament has been defined and proposed in the paper [1].
Instead of using a fixed temperament, it is also possible to adapt the frequency of some key to the present situation, depending on the notes that are played currently (or recently) and depending on some (deterministic) rules. We say that we play with adaptative temperament. The advantage of adaptative temperament is that all the just intervals may be available. The disadvantage is that the frequency associated to a key may change, and this can be a difficulty to the player. To overcome this difficulty this is very useful for the player to look at the available notes on the tonnetz space and on the pitch space.
Definition of the adaptative temperament:
Suppose that there is already a set of notes, i.e. a chord A that sounds. The adaptative temperament depends on this chord A . We have to choose how many keys per octave we want to be able to use. This is N o c t = 4 , 6 , 12 . Then the octave range is divided in N o c t equal intervals and in each of these intervals, we choose the note that is the most consonant with the notes already present in the chord A (among the infinity of rational numbers in this interval).
More precisely we use the dissonance function d A ( n ) of a note n with respect to the chord A = { n j , j = 1 N } made of N notes. d A ( n ) : = j d ( n j , n ) where d ( n j , n ) = ln ( a b ) is the dissonance of the just interval f f j = a b made by the pair of notes n j , n . (On the tonnetz d ( n j , n ) is just the L 1 distance). The resonance function is just the opposite R A ( n ) = - d A ( n ) .
Exemple 8.6. In this example, the chord is made of the only note A = { C 5 } . We choose N o c t = 6 notes per octave. For this we are allowed to use only the keys C , D , E , F , G , A in each octave. On the first pitch space we represent a vertical bar at (almost) every rational number, i.e. possible new note n , and the hight of the bar is the resonance R A ( n ) = - d A ( n ) . Each octave is decomposed in N o c t = 6 equal intervals and the black lines is the selection in each interval that gives the highest bar, i.e. the most resonance note, with respect to A . This is the adaptative temperament with N o c t = 6 notes per octave, for the chord A = { C 5 } . The other pictures are as above.
image: e_e6ca78f04858_pitch_adapt_C_2.pngimage: e_38f9b7058cce_tonnetz_adapt_C.png
image: e_f507fe60cda2_pitch_adapt_C.png
Observe that the temperament is not the same at each octave. We observe interestingly that the scale in octave 5 is the “blues scale”.
Exemple 8.7. In this example, the chord is made of four notes A = { E 4 , G 4 , C 5 , E 6 } . We choose N o c t = 6 notes per octave.
image: e_5d2efabe7d76_pitch_adapt_chord.pngimage: e_7de3b3514744_tonnetz_adapt_chord.png
image: e_5d38072337ce_pitch_adapt_chord_2.png
We observe that the adaptative temperament depends indeed on the chord A .

Some examples of just intervals, just chords and chord progressions

By definition of just chord is a set of notes such that each interval is a just interval. Hence a just chord is a set of notes displayed on the tonnetz.
For example a major triad is displayed as a triangle on the n 3 , n 5 axis with a right angle at the bottom left. Here is { C , E , G } :
image: e_1c9f3611e714_major_triad.png
For example a minor triad is displayed as a triangle on the n 3 , n 5 axis with a right angle at the top right. Here is { C , E b , G } :
image: e_696b0ef8e940_minor_triad.png
For example a dominant seventh chord is displayed as a tetrahedron on the n 3 , n 5 , n 7 axis. Here is { C , E , G , B b } :
image: e_1b0cd46d67c8_chord_CEGBb.png
In Section 8.1.2, we have seen there are different just minor thirds between harmonics 5 - 6 and 6 - 7 . Correspondingly there are different minor seventh chords. For example here is a first { C , E b , G , B b } :
image: e_23c24238d743_chord_CEbGBb_1.png
Here is a second non-equivalent { C , E b , G , B b } :
image: e_4eaf0822103a_chord_CEbGBb_2.png
Observations: the first { C , E b , G , B b } is composed of fifths and thirds. The second { C , E b , G , B b } is composed of fifths and minor sevenths. They sound very different (see the video).

9.1 Great cadence

See Video.

Advanced use of the plugin

10.1 Automation

Automation means that some parameter of the plugin can be recorded on a MIDI track and play after. For example a parameter can be the choice of ’temperament’.
This allows that a parameter evolves during the reading of a MIDI track.

10.2 Adaptative temperament with different N_keys and levels

10.3 Many musicians, how to use in session

We propose here a setup how to use the plugin(s) in a session with many musicians (here Bo and Malik).
We propose as seen on the picture below,
image: e_3a4d061eb3e1_system2.png
Details on midi connections:
  • if the controleur uses a DIN connection, one has to use either a convertissor or the midibox.

EWI

A.1 EWI USB

A.2 EWI 5000

Ewi 5000 is a MIDI saxophone.

A.2.1 Configuration with the software EWI5000

  • set Key delay = 2. (not more not less)
  • Fingering: EWI

A.2.2 Configuration (once for ever)

The program tonnetz uses bite events from EWI5000. You have to configure the EWI5000 as follows, (see page 17,18 of the manual for details)
  1. Configure the bite sensor:
    1. No Filter, No Pitch bend, no Breath sensor
    2. But CC enabled: En with a dot, Cn is 20 (= x14), nb is 0 and bt is 27.
    As a result, the bite event will send a midi message: 0 x B 0 + c h , 0 x 14 , v where 0 v 127 is the value.

A.2.3 Midi messages

EWI5000 sends the following messages (given here in hexa):
  • Note on 90 + c h , k e y , v e l
  • Note off: 80 + c h , k e y , v e l
  • Breath control fine, coarse:
  • Controller Potamento, on/off and coarse:
  • PitchWheel:
  • Bite event: B 0 + c h , 14 , v where 14 is setup as explained above.

Références

1Faure, F, Mezzadri, M. et Ratchov, F., "Analyse et jeu musical en tempérament juste adaptatif", https://hal.archives-ouvertes.fr/hal-01119499link (2015).