-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.txt
468 lines (443 loc) · 22.5 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
Try using a TSMap
https://www.npmjs.com/package/typescript-map
at
private chromaLetterToChromaSyllabic
in the error messages
instead of the
keys.toString()
The minor harmonic G scale is spelled G A Bb C D Eb F# G
The harmonic minor D scale D E F G A Bb C# D
The melodic minor G scale G A Bb C D E F# G
Une autre façon de construire un accord, est de prendre non pas les notes n, n+2, n+4
mais les notes n, n+(4 demi-tons), n+(7 demi-tons)
In fact there are several ways:
- Major triad is defined as the first, third and fifth note of a major scale.
MajorTriad = [0,4,7]
- Minor triad is created by lowering the third a half step.
MinorTriad = [0,3,7]
- Diminished triad is created by lowering the fifth of a minor triad.
DiminishedTriad = [0,3,6]
- Augmented Triad is defined raising the fifth of a major triad.
AugmentedTriad = [0,4,8]
Fix the CHORD_CHROMAS_SYLLABIC and NOTE_CHROMAS_SYLLABIC values
Reversed chord
Rename it to Chord inversion
Triads and other chords can be played in the basic voicing
from low to high: root, third, fifth (known as root position).
But they also can be voiced with either the third or the fifth as the lowest note.
These addition voicings are known as inversions of the triad.
https://www.guitarland.com/MusicTheoryWithToneJS/PlayChords.html
When doing another soundtrack download, re-init the progress bar
When playing the soundtrack show a progress bar
Pouvoir changer la tonalité d'une mesure en cliquant sur la partition
Avoir les paramètres par morceau
//////////////////////////////////////////////////////////////////////////////////////////////////////
var MIDI_SHARP_NAMES = ['B#_0', 'C#_1', 'Cx_1', 'D#_1', 'E_1', 'E#_1', 'F#_1', 'Fx_1', 'G#_1', 'Gx_1', 'A#_1', 'B_1',
'B#_1', 'C#0', 'Cx0', 'D#0', 'E0', 'E#0', 'F#0', 'Fx0', 'G#0', 'Gx0', 'A#0', 'B0',
'B#0', 'C#1', 'Cx1', 'D#1', 'E1', 'E#1', 'F#1', 'Fx1', 'G#1', 'Gx1', 'A#1', 'B1',
'B#1', 'C#2', 'Cx2', 'D#2', 'E2', 'E#2', 'F#2', 'Fx2', 'G#2', 'Gx2', 'A#2', 'B2',
'B#2', 'C#3', 'Cx3', 'D#3', 'E3', 'E#3', 'F#3', 'Fx3', 'G#3', 'Gx3', 'A#3', 'B3',
'B#3', 'C#4', 'Cx4', 'D#4', 'E4', 'E#4', 'F#4', 'Fx4', 'G#4', 'Gx4', 'A#4', 'B4',
'B#4', 'C#5', 'Cx5', 'D#5', 'E5', 'E#5', 'F#5', 'Fx5', 'G#5', 'Gx5', 'A#5', 'B5',
'B#5', 'C#6', 'Cx6', 'D#6', 'E6', 'E#6', 'F#6', 'Fx6', 'G#6', 'Gx6', 'A#6', 'B6',
'B#6', 'C#7', 'Cx7', 'D#7', 'E7', 'E#7', 'F#7', 'Fx7', 'G#7', 'Gx7', 'A#7', 'B7',
'B#7', 'C#8', 'Cx8', 'D#8', 'E8', 'E#8', 'F#8', 'Fx8', 'G#8', 'Gx8', 'A#8', 'B8',
'B#8', 'C#9', 'Cx9', 'D#9', 'E9', 'E#9', 'F#9', 'Fx9'];
var MIDI_FLAT_NAMES = ['C_1', 'Db_1', 'D_1', 'Eb_1', 'Fb_1', 'F_1', 'Gb_1', 'G_1', 'Ab_1', 'A_1', 'Bb_1', 'Cb0',
'C0', 'Db0', 'D0', 'Eb0', 'Fb0', 'F0', 'Gb0', 'G0', 'Ab0', 'A0', 'Bb0', 'Cb1',
'C1', 'Db1', 'D1', 'Eb1', 'Fb1', 'F1', 'Gb1', 'G1', 'Ab1', 'A1', 'Bb1', 'Cb2',
'C2', 'Db2', 'D2', 'Eb2', 'Fb2', 'F2', 'Gb2', 'G2', 'Ab2', 'A2', 'Bb2', 'Cb3',
'C3', 'Db3', 'D3', 'Eb3', 'Fb3', 'F3', 'Gb3', 'G3', 'Ab3', 'A3', 'Bb3', 'Cb4',
'C4', 'Db4', 'D4', 'Eb4', 'Fb4', 'F4', 'Gb4', 'G4', 'Ab4', 'A4', 'Bb4', 'Cb5',
'C5', 'Db5', 'D5', 'Eb5', 'Fb5', 'F5', 'Gb5', 'G5', 'Ab5', 'A5', 'Bb5', 'Cb6',
'C6', 'Db6', 'D6', 'Eb6', 'Fb6', 'F6', 'Gb6', 'G6', 'Ab6', 'A6', 'Bb6', 'Cb7',
'C7', 'Db7', 'D7', 'Eb7', 'Fb7', 'F7', 'Gb7', 'G7', 'Ab7', 'A7', 'Bb7', 'Cb8',
'C8', 'Db8', 'D8', 'Eb8', 'Fb8', 'F8', 'Gb8', 'G8', 'Ab8', 'A8', 'Bb8', 'Cb9',
'C9', 'Db9', 'D9', 'Eb9', 'Fb9', 'F9', 'Gb9', 'G9'];
var MAJOR_SCALE = [0, 2, 4, 5, 7, 9, 11, 12];
var resultScale = makeScale(MAJOR_SCALE, 'Eb4');
console.log('Result scale: ' + resultScale);
function makeScale(scaleFormula: Array<number>, keyNameAndOctave: string): Array<string> {
var ALPHA_NAMES = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
var startingName = keyNameAndOctave;
var offset = 0;
for (var i = 0; i < ALPHA_NAMES.length; i++) {
if (startingName.includes(ALPHA_NAMES[i])) {
offset = i;
break;
}
}
var startingNote = noteNameToMIDI(keyNameAndOctave);
var myScaleFormula = scaleFormula;
var myScale = [];
for (var i = 0; i < myScaleFormula.length; i++) {
if (MIDI_SHARP_NAMES[myScaleFormula[i] + startingNote].includes(ALPHA_NAMES[(offset + i) % ALPHA_NAMES.length])) {
myScale.push(MIDI_SHARP_NAMES[myScaleFormula[i] + startingNote]);
} else if (MIDI_FLAT_NAMES[myScaleFormula[i] + startingNote].includes(ALPHA_NAMES[(offset + i) % ALPHA_NAMES.length])) {
myScale.push(MIDI_FLAT_NAMES[myScaleFormula[i] + startingNote]);
} else {
myScale.push("C7");
}
}
return myScale;
}
function noteNameToMIDI(noteName: string): number {
var i;
var MIDInumber = -1;
for (i = 0; i < MIDI_SHARP_NAMES.length; i++) {
if (noteName == MIDI_SHARP_NAMES[i] || noteName == MIDI_FLAT_NAMES[i]) {
MIDInumber = i;
}
}
return MIDInumber;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
Add a date field
// dateOfPublication: new FormControl(new Date()),
<mat-dialog-content>
<mat-form-field>
<input formControlName="dateOfPublication" matInput [matDatepicker]="picker" placeholder="Choose a date of publication"
readonly (click)="picker.open()">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
</mat-dialog-content>
Avoir une sortie MIDI
Export de fichier MIDI
Live streaming MIDI
Add some export to MIDI format
The #E8EAF6 is hard coded 3 times now
Norbert:
The bass track has note names annotations of only one note like the melody track.
The drums track has no note names annotations.
Générer des silences aussi et pas que des notes.
Pouvoir démarrer sur une autre note que le do.
Avoir une matrice par tonalité, soit 12 matrices pour les tonalités mineures
et encore 12 matrices pour les tonalités majeures.
La tonalité est attachée à un accord.
Ces tonalités se nomment : Do majeur, Do dièse majeure ...
On doit pouvoir changer de tonalité d'un accord à l'autre.
Une série fait une ou plusieurs mesures.
La mélodie a sa série, qui est différente des séries des refrains et des couplets.
La hauteur de la note est donnée par son octave seule. La clef n'est utilisée que pour la partition.
Question: Sur une même mesure, est ce que deux notes peuvent avoir des clefs différentes ?
Question: Y a t'il un lien entre la tonalité et la clef ?
Question: La série du refrain est elle alternée avec celle du couplet ?
Question: C'est quoi une gamme ?
Question: C'est quoi une phrase ?
Question: C'est quoi un arpège ?
Modulation
Le changement de tonalité est la modulation
Avoir une préf pour moduler ou non
On peut choisr la première tonalité avec une préférence
Changer de tonalité à chaque nouvelle mesure ou garder la même
Les deux derniers accords de la mesure précédente permettent de choisir les tonalités à considérer, ce sont celles qui contiennent les deux accords, elles sont majeures ou mineures, ensuite on en choisit une parmis elles
Les notes des accords sont augmentées d'un demi ton pour passer d'une ton à l'autre dans la matrice des 12 ton majeures
Par exemple de la tonalité 0 Do à la 7 Sol il y a 7 demi ton de plus sur chaque accord
Une gamme est une suite d'intervalles entre accords, chaque accord étant un degré, de l'accord de degré 1 au 7
Une tonalité est une gamme dont les accords ont des altérations
---
Une altération est un signe qui, placé devant une note, va altérer, changer cette note :
♯ le dièse augmente la note de ½ ton
♭ le bémol diminue la note de ½ ton
♮ Le bécarre annule le ♯ et le ♭
Les altérations qui sont placées « à la clé » (au début de la pièce ou d’une partie de celle-ci) affectent l’ensemble des notes correspondantes, sans restriction de hauteur ( sauf celles précédées d’un bécarre bien sûr ).
Les altérations qui se trouvent à la clé sont appellées l'armure.
Les altérations placées devant les notes dans le courant du morceau affectent toutes notes correspondantes dans la limite de la mesure uniquement.
La tonique est le 1er degré de la tonalité.
La dominante est le 5ème accord d'une tonalité.
---
Une gamme est une séquence d'intervalles entre notes, qui débute par une note nommée tonique.
Une gamme est constituée de plusieurs degrés, chacun correspondant à une hauteur précise dans la gamme.
Une gamme majeure est constituée d’une séquence d’intervalles comprenant tons et demi-tons : 1 ton, 1 ton, 1/2 ton, 1 ton, 1 ton, 1 ton, 1/2 ton ; soit en Do : <em>do, ré, mi, fa, sol, la, si</em>, (do).
Chaque note de départ élabore une gamme majeure différente : Do majeur, Do # majeur, Ré majeur, etc.
C’est la tonique (1er degré) d’une gamme majeure qui détermine la tonalité. Ex. : la gamme commence par la note ré = tonalité de Ré.
Quand un morceau est dans une tonalité spécifique (ex. : Mi majeur), cela signifie que toutes les notes jouées appartiennent à cette tonalité (sauf indication contraire portée sur la partition : altération accidentelle, modulation dans une autre tonalité).
L’armature est un espace réservé à l’écriture des dièses ou des bémols après la clé. Elle est renouvelée à chaque début de portée et indique la tonalité.
---
Une gamme est une série de notes dont les intervalles déterminent le type de la gamme
Il existe plusieurs types de gammes (gamme majeure, gamme blues, gamme pentatonique mineure, gamme mineure harmonique, …)
Chaque gamme peut être jouée dans toutes les tonalités (il existe 12 tonalités au total)
---
Une gamme est une suite d'intervalles ordonnés, de la note la plus grave à la note la plus aigüe.
Il s'agit donc d'un enchaînement de sauts de note, nous faisant passer d'un son à l'autre de manière pré déterminée. On part d'une note, on enchaîne les sauts, jusqu'à l'octave de la note départ.
On définit une gamme par les intervalles qui la composent.
Dans le cas de la gamme majeure, les intervalles sont :
1 ton - 1 ton - 1/2 ton - 1 ton - 1 ton - 1 ton - 1/2 ton
Pour la tonalité de Do :
Do + 1 ton = Ré + 1 ton = Mi + 1/2 ton = Fa + 1 ton = Sol + 1 ton = La + 1 ton = Si + 1/2 ton = Do
En effet, je rappelle à ceux qui n'ont pas révisé qu'il n'y a qu'1/2 ton entre Mi et Fa, et entre Si et Do !
J'arrive donc à : Do Ré Mi Fa Sol La Si Do
Il s'agit de la gamme majeure dans la tonalité de Do.
Une gamme est caractérisée par une suite d'intervalles, et on peut démarrer cette suite par n'importe quelle note. La note par laquelle on commence donne "la tonalité de la gamme". On l'appelle la tonique.
Dans le cas de la gamme blues, les intervalles sont :
1,5 tons - 1 ton - 1/2 ton - 1/2 ton - 1,5 tons - 1 ton
Pour la tonalité de Do :
Do Mib Fa Solb Sol Sib Do
Il existe toutes sortes de gammes, avec plus ou moins de notes. Nous en verrons quelques-unes dans des articles ultérieurs.
Chaque gamme a une "couleur" sonore qui lui est propre. La gamme blues ne sonne pas du tout comme la gamme majeure, qui ne sonne pas du tout comme la gamme mineure harmonique, etc. Dans le cadre d'une musique improvisée, nous allons choisir de jouer sur telle ou telle couleur, selon ce que l'on désire exprimer, et donc utiliser les notes de telle ou telle gamme.
---
Un intervalle représente tout simplement l'écart entre deux notes.
Le plus petit intervalle existant entre 2 notes est le demi-ton.
Il y a 12 demi-tons :
1 demi-ton entre Do et Do#
1 demi-ton entre Do# et Ré
1 demi-ton entre Ré et Ré#
1 demi-ton entre Ré# et Mi
1 demi-ton entre Mi et Fa
1 demi-ton entre Fa et Fa#
1 demi-ton entre Fa# et Sol
1 demi-ton entre Sol et Sol#
1 demi-ton entre Sol# et La
1 demi-ton entre La et La#
1 demi-ton entre La# et Si
1 demi-ton entre Si et Do
---
Do Ré Mi Fa Sol La Si Do
C C# D D# E F F# G G# A A# B C
Db Eb Gb Ab Bb
---
Au passage, remarquons que le sigle "#" (dièse) sert à augmenter une note d'un demi-ton.
De même, le sigle "b" (bémol) sert à baisser une note d'un demi-ton.
Du coup, Do# est un Do augmenté d'un demi-ton, et Réb est un Ré baissé d'un demi-ton.
On voit sur la liste ci-dessus qu'il n'y a que 2 demi-tons entre Do et Ré. On en déduit que Do# et Réb représentent le même son !
De même que Ré# et Mib, Fa# et Solb, Sol# et Ab, A# et Sib.
---
A l'aide de la gamme et des 12 intervals de demi-tons, on peut obtenir la tonalité (suite des accords) à partir du premier accord auquel on ajoute les intervalles.
Dans le cas de la gamme majeure, les intervalles sont :
1 ton - 1 ton - 1/2 ton - 1 ton - 1 ton - 1 ton - 1/2 ton
Do + 1 ton = Ré + 1 ton = Mi + 1/2 ton = Fa + 1 ton = Sol + 1 ton = La + 1 ton = Si + 1/2 ton = Do
soit Do Ré Mi Fa Sol La Si Do qui est la tonalité dd Do
---
Norbert, tu m'as dit que il ne devait pas y avoir de tonalité commançant par Cb
J'ai donc supprimé ces deux tableux :
export const CHROMAS_MAJOR: Array<string> = ['Cb', 'C', 'C#', 'Db', 'D', 'Eb', 'E', 'F', 'F#', 'Gb', 'G', 'Ab', 'A', 'Bb', 'B'];
export const CHROMAS_MINOR: Array<string> = ['Ab', 'A', 'A#', 'Bb', 'B', 'C', 'C#', 'D', 'D#', 'Eb', 'E', 'F', 'F#', 'G', 'G#'];
Et je les ai remplacés par ceux deux là :
export const CHROMAS_MAJOR: Array<string> = ['C', 'Db', 'D', 'Eb', 'E', 'F', 'F#', 'G', 'Ab', 'A', 'Bb', 'B'];
export const CHROMAS_MINOR: Array<string> = ['C', 'C#', 'D', 'D#', 'E', 'F', 'F#', 'G', 'Ab', 'A', 'Bb', 'B'];
---
Dans une même gamme, tous les degrés n'ont pas la même importance. Le degré I est le plus important car c'est le degré sur lequel la gamme est construite. Ensuite, c'est le degré V, puis le degré IV. Et enfin dans l’ordre, les degrés II, III, VI et VII qui ont un rapport de plus en plus éloigné avec la tonique ( degré I ).
---
Ne pas confondre la modulation qui est un changement de gamme à l’intérieur d’un morceau avec la transposition qui est un changement de l’ensemble du morceau.
---
Plus tard, on proposera le choix de la Tonalité de départ pour l’utilisateur final, et même l’accord de départ, appartenant à cette tonalité.
---
La principale différence entre les gammes majeures et mineures se trouve au niveau du deuxième intervalle. Avec une gamme majeure, la distance entre la tonique et la troisième note (Do et Mi, par exemple) est deux tons – c’est ce que l’on appelle une tierce majeure -, tandis que c’est un ton et demi dans le cas d’une gamme mineur – c’est ce que l’on appelle une tierce mineure (Do et Mib, par exemple). Cette différence d’intervalle rend non seulement une mélodie plus joyeuse ou plus triste, mais elle confère également un effet « euphorique » à un accord majeur et un effet « sombre » à un accord mineur. Voilà donc la grande différence entre la gamme mineure et la gamme majeure. Notez que les termes « majeur » et « mineur » viennent de « tierce majeure » et « tierce mineure ». En général, les marquages en majuscule désignent les gammes majeures et en minuscule, les gammes mineures.
---
Dans le système tonal, c’est-à-dire le système actuel d’écriture musicale, la gamme majeure constitue la gamme de référence absolue. Toutes les autres gammes en découlent.
---
// major
// do mi sol
// sol si re
// la do mi
// si ré# sol
// ré fa# la
// TODO adding notes in a major tonality chord :
// if M then drift 4 half tones to get the second note and then 3 half tones to get the third note of the chord
// if m then drift 3 half tones to get the second note and then 4 half tones to get the third note of the chord
// if dim then drift 3 half tones to get the second note and then 3 half tones to get the third note of the chord
// M m m M M m dim
// M 4 - 3
// m 3 - 4
// dim 3 - 3
// 1. Get the tonality
// 3. Get the index in the tonality of the first chord note (0 - 6)
// 4. Add this index + 1 and use it in the array of m M to get which letter M or m or dim
// 5. Use this letter to get the second chord note and third chord note
// Minor
// m dim M m m M M
// TODO
// Select one tonality only, of 7 notes (not two with 14 notes) only one, major or minor
// TODO
// Before randomly picking a tonality, filter the tonalities by electing those which contain the base notes of the previous two chords
// Frequencies
var afreq = 440; // Standard A440 tuning
var semitone = Math.pow(2, 1.0 / 12);
var bflatfreq = afreq * semitone;
var bfreq = bflatfreq * semitone;
// Rather than going B4 (493.883 Hz) to C5 (523.251 Hz), we'll
// double back to C4 (261.626 Hz). So our base frequencies
// are from C4 to B4
var cfreq = (bfreq * semitone) / 2.0;
var csharpfreq = cfreq * semitone;
var dfreq = csharpfreq * semitone;
var eflatfreq = dfreq * semitone;
var efreq = eflatfreq * semitone;
var ffreq = efreq * semitone;
var fsharpfreq = ffreq * semitone;
var gfreq = fsharpfreq * semitone;
var gsharpfreq = gfreq * semitone;
var noteLookup = {"A": afreq,
"A#": bflatfreq,
"Bb": bflatfreq,
"B": bfreq,
"B#": cfreq,
"Cb": bfreq,
"C": cfreq,
"C#": csharpfreq,
"Db": csharpfreq,
"D": dfreq,
"D#": eflatfreq,
"Eb": eflatfreq,
"E": efreq,
"E#": ffreq,
"Fb": efreq,
"F": ffreq,
"F#": fsharpfreq,
"Gb": fsharpfreq,
"G": gfreq,
"G#": gsharpfreq,
"Ab": gsharpfreq,
};
private multiplyBySemitone(nosemitones): number {
return Math.pow(semitone, nosemitones);
}
-----
Tonalities chromas (30)
["Cb", "Db", "Eb", "Fb", "Gb", "Ab", "Bb"]
["C", "D", "E", "F", "G", "A", "B"]
["C#", "D#", "E#", "F#", "G#", "A#", "B#"]
["Db", "Eb", "F", "Gb", "Ab", "Bb", "C"]
["D", "E", "F#", "G", "A", "B", "C#"]
["Eb", "F", "G", "Ab", "Bb", "C", "D"]
["E", "F#", "G#", "A", "B", "C#", "D#"]
["F", "G", "A", "Bb", "C", "D", "E"]
["F#", "G#", "A#", "B", "C#", "D#", "E#"]
["Gb", "Ab", "Bb", "Cb", "Db", "Eb", "F"]
["G", "A", "B", "C", "D", "E", "F#"]
["Ab", "Bb", "C", "Db", "Eb", "F", "G"]
["A", "B", "C#", "D", "E", "F#", "G#"]
["Bb", "C", "D", "Eb", "F", "G", "A"]
["B", "C#", "D#", "E", "F#", "G#", "A#"]
["Ab", "Bb", "Cb", "Db", "Eb", "Fb", "Gb"]
["A", "B", "C", "D", "E", "F", "G"]
["A#", "B#", "C#", "D#", "E#", "F#", "G#"]
["Bb", "C", "Db", "Eb", "F", "Gb", "Ab"]
["B", "C#", "D", "E", "F#", "G", "A"]
["C", "D", "Eb", "F", "G", "Ab", "Bb"]
["C#", "D#", "E", "F#", "G#", "A", "B"]
["D", "E", "F", "G", "A", "Bb", "C"]
["D#", "E#", "F#", "G#", "A#", "B", "C#"]
["Eb", "F", "Gb", "Ab", "Bb", "Cb", "Db"]
["E", "F#", "G", "A", "B", "C", "D"]
["F", "G", "Ab", "Bb", "C", "Db", "Eb"]
["F#", "G#", "A", "B", "C#", "D", "E"]
["G", "A", "Bb", "C", "D", "Eb", "F"]
["G#", "A#", "B", "C#", "D#", "E", "F#"]
-----
Tonalities chords names (30)
["Cb", "Dbm", "Ebm", "Fb", "Gb", "Abm", "Bb-"]
["C", "Dm", "Em", "F", "G", "Am", "B-"]
["C#", "D#m", "E#m", "F#", "G#", "A#m", "B#-"]
["Db", "Ebm", "Fm", "Gb", "Ab", "Bbm", "C-"]
["D", "Em", "F#m", "G", "A", "Bm", "C#-"]
["Eb", "Fm", "Gm", "Ab", "Bb", "Cm", "D-"]
["E", "F#m", "G#m", "A", "B", "C#m", "D#-"]
["F", "Gm", "Am", "Bb", "C", "Dm", "E-"]
["F#", "G#m", "A#m", "B", "C#", "D#m", "E#-"]
["Gb", "Abm", "Bbm", "Cb", "Db", "Ebm", "F-"]
["G", "Am", "Bm", "C", "D", "Em", "F#-"]
["Ab", "Bbm", "Cm", "Db", "Eb", "Fm", "G-"]
["A", "Bm", "C#m", "D", "E", "F#m", "G#-"]
["Bb", "Cm", "Dm", "Eb", "F", "Gm", "A-"]
["B", "C#m", "D#m", "E", "F#", "G#m", "A#-"]
["Abm", "Bb-", "Cb", "Dbm", "Ebm", "Fb", "Gb"]
["Am", "B-", "C", "Dm", "Em", "F", "G"]
["A#m", "B#-", "C#", "D#m", "E#m", "F#", "G#"]
["Bbm", "C-", "Db", "Ebm", "Fm", "Gb", "Ab"]
["Bm", "C#-", "D", "Em", "F#m", "G", "A"]
["Cm", "D-", "Eb", "Fm", "Gm", "Ab", "Bb"]
["C#m", "D#-", "E", "F#m", "G#m", "A", "B"]
["Dm", "E-", "F", "Gm", "Am", "Bb", "C"]
["D#m", "E#-", "F#", "G#m", "A#m", "B", "C#"]
["Ebm", "F-", "Gb", "Abm", "Bbm", "Cb", "Db"]
["Em", "F#-", "G", "Am", "Bm", "C", "D"]
["Fm", "G-", "Ab", "Bbm", "Cm", "Db", "Eb"]
["F#m", "G#-", "A", "Bm", "C#m", "D", "E"]
["Gm", "A-", "Bb", "Cm", "Dm", "Eb", "F"]
["G#m", "A#-", "B", "C#m", "D#m", "E", "F#"]
-----
Tonalities chromas (24) (On n'y choisit que parmis les 0, 2, 4 pour construire les accords ?)
["C", "D", "E", "F", "G", "A", "B"]
["Db", "Eb", "F", "Gb", "Ab", "Bb", "C"]
["D", "E", "F#", "G", "A", "B", "C#"]
["Eb", "F", "G", "Ab", "Bb", "C", "D"]
["E", "F#", "G#", "A", "B", "C#", "D#"]
["F", "G", "A", "Bb", "C", "D", "E"]
["F#", "G#", "A#", "B", "C#", "D#", "E#"]
["G", "A", "B", "C", "D", "E", "F#"]
["Ab", "Bb", "C", "Db", "Eb", "F", "G"]
["A", "B", "C#", "D", "E", "F#", "G#"]
["Bb", "C", "D", "Eb", "F", "G", "A"]
["B", "C#", "D#", "E", "F#", "G#", "A#"]
["C", "D", "Eb", "F", "G", "Ab", "Bb"]
["C#", "D#", "E", "F#", "G#", "A", "B"]
["D", "E", "F", "G", "A", "Bb", "C"]
["D#", "E#", "F#", "G#", "A#", "B", "C#"]
["E", "F#", "G", "A", "B", "C", "D"]
["F", "G", "Ab", "Bb", "C", "Db", "Eb"]
["F#", "G#", "A", "B", "C#", "D", "E"]
["G", "A", "Bb", "C", "D", "Eb", "F"]
["Ab", "Bb", "Cb", "Db", "Eb", "Fb", "Gb"]
["A", "B", "C", "D", "E", "F", "G"]
["Bb", "C", "Db", "Eb", "F", "Gb", "Ab"]
["B", "C#", "D", "E", "F#", "G", "A"]
-----
Tonalities chords names (24)
["C", "Dm", "Em", "F", "G", "Am", "B-"]
["Db", "Ebm", "Fm", "Gb", "Ab", "Bbm", "C-"]
["D", "Em", "F#m", "G", "A", "Bm", "C#-"]
["Eb", "Fm", "Gm", "Ab", "Bb", "Cm", "D-"]
["E", "F#m", "G#m", "A", "B", "C#m", "D#-"]
["F", "Gm", "Am", "Bb", "C", "Dm", "E-"]
["F#", "G#m", "A#m", "B", "C#", "D#m", "E#-"]
["G", "Am", "Bm", "C", "D", "Em", "F#-"]
["Ab", "Bbm", "Cm", "Db", "Eb", "Fm", "G-"]
["A", "Bm", "C#m", "D", "E", "F#m", "G#-"]
["Bb", "Cm", "Dm", "Eb", "F", "Gm", "A-"]
["B", "C#m", "D#m", "E", "F#", "G#m", "A#-"]
["Cm", "D-", "Eb", "Fm", "Gm", "Ab", "Bb"]
["C#m", "D#-", "E", "F#m", "G#m", "A", "B"]
["Dm", "E-", "F", "Gm", "Am", "Bb", "C"]
["D#m", "E#-", "F#", "G#m", "A#m", "B", "C#"]
["Em", "F#-", "G", "Am", "Bm", "C", "D"]
["Fm", "G-", "Ab", "Bbm", "Cm", "Db", "Eb"]
["F#m", "G#-", "A", "Bm", "C#m", "D", "E"]
["Gm", "A-", "Bb", "Cm", "Dm", "Eb", "F"]
["Abm", "Bb-", "Cb", "Dbm", "Ebm", "Fb", "Gb"]
["Am", "B-", "C", "Dm", "Em", "F", "G"]
["Bbm", "C-", "Db", "Ebm", "Fm", "Gb", "Ab"]
["Bm", "C#-", "D", "Em", "F#m", "G", "A"]
-----
No tonality could be found as sibbling to the two previous chords E#m and C#
-----
LES 12 TONALITÉS MAJEURES, COMPRENANT CHACUNES 7 ACCORDS
I II III IV V VI VII
Do C Dm Em F G Am Bdim
Réb Db Ebm Fm Gb Ab Bm Cdim
Ré D Em F#m G A Bm C#dim
Mib Eb Fm Gm Ab Bb Cm Ddim
Mi E F#m G#m A B C#m D#dim
Fa F Gm Am Bb C Dm Edim
Fa# F# G#m A#m B C# D#m E#dim
Sol G Am Bm C D Em F#dim
Lab Ab Bbm Cm Db Eb Fm Gdim
La A Bm C#m D E F#m G#dim
Sib Bb Cm Dm Eb F Gm Adim
Si B C#m D#m E F# G#m A#dim
---
LES 12 TONALITÉS MINEURES
I II III IV V VI VII
Do Cm Ddim Eb Fm Gm Ab Bb
Do# C#m D#dim E Gbm Abm A B
Ré Dm Edim F Gm Am Bb C
Mib D#m E#dim F# G#m A#m B C#
Mi Em F#dim G Am Bm C D
Fa Fm Gdim Ab Bbm Cm Db Eb
Fa# F#m G#dim A Bm C#m D E
Sol Gm Adim Bb Cm Dm Eb F
Lab Abm Bbdim B Dbm Ebm F F#
La Am Bdim C Dm Em F G
Sib Bbm Cdim Db Ebm Fm Gb Ab
Si Bm C#dim D Em F#m G A