Dans ce tutoriel, vous apprendrez à compter en binaire (base 2) et en hexadécimal (base 16) à partir de vos connaissances du système décimal (base 10).
Introduction
Vous utilisez régulièrement votre ordinateur pour composer de la musique, retoucher vos photos ou faire du montage vidéo. Vous vous êtes peut-être un jour posé une de ces questions fatidiques: comment mon logiciel préféré s’y prend-t-il pour effectuer un mixage audio, un dégradé du rouge vers le bleu ou une incrustation de texte dans une séquence vidéo?
Peut-être vous-êtes vous également demandé à quoi correspondaient toutes ces valeurs numériques bizarres que l’on rencontre un peu partout dans ces logiciels: 64, 127, 128, 255, 256, 512, #FFF, etc. ?
Voici quelques exemples issus de la MAO et de la norme MIDI: les vélocités (vitesse de frappe) des notes MIDI peuvent prendre des valeurs comprises entre 0 et 127. Pourquoi 127? Cette valeur maximale a-t-elle été choisie au hasard? Idem pour la plupart des contrôleurs continus (« Control Change ») et les messages MIDI qu’ils émettent. C’est le cas par exemple du contrôleur MIDI n°1 qui correspond à la molette de modulation.
Voici un cas MIDI un peu particulier: la molette de Pitch Bend dont les valeurs s’étalent de -8192 à +8191, pour un total de 16384 pas possibles. Pourquoi les concepteurs n’ont-ils pas choisi une fourchette de valeurs plus classiques, comme par exemple -1000 à +1000?
Autre exemple dans le domaine audio: la mémoire tampon (« buffer ») de votre interface audio, exprimée en nombres d’échantillons (« samples »), est souvent une valeur sélectionnable dans une liste comme celle-ci: 32, 64, 128, 256, 512, 1024, 2048, etc.
Dernier exemple, tiré cette fois du domaine de l’infographie et ses couleurs en mode RVB (Rouge / Vert / Bleu). Ce mode est destiné à un affichage sur un écran numérique, contrairement à son homologue CMJN (Cyan / Magenta / Jaune / Noir) utilisé pour l’impression sur support physique comme le papier. Voici quelques exemples de codes couleurs en mode RVB: #AAA, RVB(255, 0, 127), #FF6600, etc.
D’où viennent donc ces valeurs tarabiscotées? Les concepteurs de matériel, de logiciel ou de norme sont-ils zélés ou un peu fous pour se compliquer autant la vie? (et la nôtre par la même occasion 🙁 )
Une histoire de base de calcul
Si je vous dis que ces valeurs ont été choisies pour simplifier la vie de tous, vous ne me croirez pas, en tout cas pas tout de suite! 🙂
La raison de ces choix est en fait assez simple: ces valeurs ont un sens particulier pour un ordinateur, pas pour un être humain!
Explication: dès son plus jeune âge, un homme apprend à compter sur ses 10 doigts, on parle de système décimal et de calcul en base 10. Ce système de comptage fait appel à 10 symboles distincts appelés chiffres, les voici affichés dans l’ordre:
Ces chiffres, une fois disposés côte à côte, permettent de créer des « mots numériques » appelés nombres. Ces derniers peuvent ensuite être combinés pour obtenir de nouveaux nombres, grâce à des opérations mathématiques. Les opérations simples sont l’addition, la soustraction, la multiplication et la division.
Notre système de notation en base 10 fait apparaître des valeurs particulières et fort utiles dans les calculs, notamment les calculs mentaux. Ce sont les multiples de dix: 1, 10, 100, 1000, 10000, etc. Ces valeurs spéciales nous amènent, dans l’écriture des nombres, à répartir les chiffres qui les composent en puissances de 10 ou rangs décimaux: ce sont les unités, les dizaines, les centaines, les milliers, etc.
Cas de l’ordinateur
À sa « naissance », un ordinateur connait déjà « par coeur » toutes les règles de calculs propres à une machine. Il n’a pas besoin de les « apprendre », il a été spécialement conçu et programmé pour ça et il va d’ailleurs passer toute sa vie d’ordinateur à effectuer des calculs. Le pauvre! 🙁
Une petite remarque au passage: sachez que, contrairement aux idées reçue, et sauf bogue ou panne liés à ses circuits électroniques, un ordinateur ne se trompe jamais! Le bogue se situe généralement entre l’écran… et la chaise! Vous me suivez? 😉
Trêve de plaisanterie! La différence majeure avec son concepteur, c’est qu’un ordinateur ne sait jongler qu’avec 2 symboles distincts. Ceci est totalement lié à l’électronique, une histoire de tensions électriques et de détection de niveaux… Je n’en dirai pas plus dans le cadre de cet article. Voici nos 2 compères:
Vous voyez qu’on n’a pas réinventé la roue, on a simplement pris les 2 premiers symboles du système décimal, ce sont les fameux zéro et un dont tout le monde parle.
Un ordinateur fonctionne donc selon un système binaire, on dit aussi qu’il compte en binaire ou qu’il effectue ses calculs en base 2. Finalement, c’est un peu comme si la machine n’avait que 2 doigts pour compter… Elle n’en reste pas moins redoutable dans sa puissance de traitement de l’information!
Dans le calcul en base 2, on ne parle pas de « chiffre » mais de bit, contraction des 2 termes Anglais binary et digit traduisibles en Français par entité binaire. Remarquez au passage le lien étroit entre le mot Anglais « digit » et l’expression empreintes digitales. (« digit » veut dire « doigt » ou « chiffre » en Français) 😉
Tout comme nous le faisons avec les chiffres, l’ordinateur dispose les bits côte à côte et les assemble pour former des mots binaires plus longs, l’équivalent des nombres. Généralement les mots sont composés de 8 bits, ce sont les octets.
Mémorisation de l’information
Le cerveau humain est un maillage complexe constitué de milliards de neurones, il forme notre capacité à se souvenir et donc à mémoriser les informations enregistrées toute la journée par nos 5 sens, à court et à long terme.
Il en est un peu de même pour l’ordinateur: les octets sont stockés dans une mémoire électronique. Celle-ci se compose d’une ou plusieurs barrettes de mémoire vive dite RAM (« Random Access Memory ») pour le stockage immédiat des données (court terme) et les calculs effectués à très grande vitesse par le microprocesseur.
La RAM est secondée par un support de stockage permanent, c’est à dire capable de sauvegarder les informations après extinction de la machine (long terme). Il s’agit la plupart du temps d’un disque dur (mémorisation magnétique) ou d’une mémoire Flash ou disque SSD (mémorisation électronique), ces derniers étant beaucoup plus lents en terme de vitesse de transfert d’information, en comparaison avec la mémoire vive.
Une barrette RAM ou un disque dur / SSD actuel est capable de stocker plusieurs milliers de milliards d’octets, ce qui est relativement faible comparé à la capacité de stockage du cerveau humain…
Machine à calculer de compétition
Un ordinateur est une sorte de machine à calculer de compétition qui travaille sans relâche. Il est capable d’effectuer des opérations de base comme l’addition, la soustraction, la multiplication et la division. Simplement, au lieu de le faire sur des chiffres ou des nombres, il le fait sur des bits, des octets ou des mots binaires plus longs.
Prenons un exemple en MAO: l’addition est présente partout dans les logiciels de production musicale et les STAN (« Station de Travail Audio Numérique », DAW en Anglais qui signifie « Digital Audio Workstation »). C’est grâce à l’addition que les consoles de mixage intégrées sont capables de produire le résultat audio final: il s’agit tout simplement de la somme des signaux numériques produits par les pistes du séquenceur, leurs instruments virtuels et leurs effets. Ces signaux sont des nombres entiers ou à virgule, enregistrés sous forme binaire et stockés dans la RAM et le disque dur de la machine.
L’ordinateur sait aussi effectuer des opérations plus complexes comme le logarithme (Logarithme en base 10 noté Log et Logarithme naturel ou népérien noté Ln) et l’exponentielle (Exp). Ces dernières sont très utilisée dans les calculs portant sur des amplitudes exprimées en décibels (dB). Un ordinateur sait également extraire la racine carrée d’une valeur audionumérique (cas des amplitudes RMS dîtes « efficaces »), la valeur absolue (mise à contribution dans les compresseurs et expandeurs pour la détection de seuil), calculer la fonction inverse (1/x), la fonction puissance (xy), etc.
Les calculs sont effectués par le microprocesseur qui communique avec la mémoire vive à la vitesse de plusieurs milliards d’opérations par secondes (GigaFlops). Les traitements numériques se font rarement sur de simples octets. L’ordinateur peut en effet gagner en vitesse de calcul et en précision en assemblant d’abord les octets entre eux pour former des mots binaires plus longs. On trouve couramment des mots de 16 bits (2 octets), 24 bits (3 octets), 32 bits (4 octets) et 64 bits (8 octets) etc.
Notez au passage que ces longueurs de mots sont très employées dans le domaine audio pour l’encodage des fichiers sons, notamment le 16 bits et le 24 bits en nombres entiers et le 32 bits en nombres à virgule flottante.
Et ces valeurs étranges, alors?
Oui je sais, je m’égare un petit peu! Mais tout ceci est tellement passionnant! OK, allons-y!
Pour comprendre d’où viennent les valeurs farfelues dont je parlais au début de cet article (vous vous rappelez? 128, 16384, etc.), il faut tout bonnement apprendre à fonctionner comme un ordinateur, c’est à dire compter en binaire! 😎
En fait le système décimal et le système binaire sont assez proches dans leur fonctionnement général, ils se différencient principalement par ce qu’on appelle la base: 10 dans un cas, 2 dans l’autre.
Je vais donc devoir faire encore un petit détour pour vous expliquer l’origine de nos mystérieuses valeurs, tenez bon! Commençons par le commencement et analysons quelques instants le comptage en base 10.
Compter en décimal ou base 10
Prenons pour exemple un nombre à 4 chiffres, pourquoi pas 2014. Ce nombre se lit « deux mille quatorze » et se note selon la séquence de chiffres 2, 0, 1 et 4. Il peut aussi s’écrire avec une formule mathématique simple qui le décompose en rangs décimaux comme nous l’avons évoqué plus haut. On peut considérer que ce sont des « poids » affectés aux chiffres selon leur rang décimal, chaque poids est exprimé en une puissance de 10:
2014 = 2 x 1000 + 0 x 100 + 1 x 10 + 4 x 1
Pour faire le rapprochement avec la base 10, il suffit de remarquer que:
-
1000 = 10 x 10 x 10 = 10³ (10 puissance 3)
- 100 = 10 x 10 = 10² (10 puissance 2)
- 10 = 1 x 10 = 10¹ (10 puissance 1)
- 1 = 10° (10 puissance 0)
Note: si vous prenez votre machine à calculer et que vous élevez n’importe quel chiffre ou nombre, entier ou à virgule, à la puissance 0, vous aurez la surprise de toujours obtenir 1 comme résultat! 😛
Notre nombre 2014 peut donc maintenant être représenté de la façon suivante:
Compter en binaire ou base 2
Vous allez découvrir dans ce qui va suivre que le comptage en base 2 n’est pas plus compliqué que son homologue en base 10. Il suffit dans notre raisonnement de remplacer la base, et donc les puissances de 10, par des puissances de 2. Bien entendu, il faut aussi garder à l’esprit qu’un mot binaire ne peut contenir que des symboles 0 et 1! 🙂
Prenons de nouveau un cas simple afin de mieux comprendre et raisonner. Je vous propose de partir sur un mot de 4 bits (on peut dire un demi-octet ou nibble), par exemple la valeur 1011. Normalement il ne faudrait pas la lire « mille onze », il faudrait plutôt dire « un zéro un un », mais par abus de langage vous entendrez effectivement dire « mille onze »… On ne va pas non plus réinventer tout un vocabulaire!
Je peux décomposer 1011 en base 2 comme je l’ai fait précédemment pour 2014 en base 10. Avant cela et pour mieux fixer les idées, je serais tenté de baptiser les rangs binaires comme suit: les « unités », les « deuzaines », les « quatraines », les « huitaines », etc. Ça n’est pas très académique, mais ça nous permettra de mieux faire le parallèle avec le système décimal.
Pour faire le rapprochement avec les noms que j’ai donnés aux rangs binaires, il faut remarquer que:
- 8 = 2 x 2 x 2 = 2³ (les « huitaines »)
- 4 = 2 x 2 = 2² (les « quatraines »)
- 2 = 1 x 2 = 2¹ (les « deuzaines »)
- 1 = 2° (les « unités »)
Je ne vais pas m’étendre sur les règles de calculs en base 2. Si vous voulez en savoir plus, je vous recommande le site de tutoriels gratuits OpenClassRooms (anciennement le Site Du Zéro). Sachez seulement qu’en base 2 il existe d’autres opérations un peu particulières en plus des opérations simples (addition, soustraction, multiplication, division). Ces opérations dites « logiques » effectuent des calculs « bit à bit », c’est à dire qu’elles combinent les unités uniquement avec les unités, les deuzaines uniquement avec les deuzaines, etc. On trouve par exemple le NON (Négation), le ET (Conjonction), le OU (Disjonction), le OU Exclusif (Disjonction Exclusive), etc.
Conversions binaire / décimal
L’homme et la machine ne parlant pas tout à fait le même langage, il arrive fréquemment que l’un ou l’autre ait envie ou besoin de « traduire », nous dirons plutôt convertir, le charabia de l’autre dans son propre jargon.
Pour illustrer ceci, amusons-nous à convertir la valeur binaire 1011, que je noterai (1011)b, en valeur décimale. Dans le sens binaire vers décimal ce n’est pas très compliqué, il suffit d’écrire (1011)b sous la forme:
(1011)b = 1 x 2³ + 0 x 2² + 1 x 2¹ + 1 x 2°
Puis de faire le calcul:
(1011)b = 8 + 0 + 2 + 1 = (11)d
Résultat des courses: (1011)binaire est équivalent à (11)décimal.
On pourrait faire une conversion dans l’autre sens, du décimal vers le binaire, avec la valeur (2014)d. Là c’est un peu plus compliqué, il faut commencer par diviser plusieurs fois 2014 par 2 afin de le décomposer en puissances de 2 et trouver ainsi les poids binaires qui nous intéressent. Je ne vais pas détailler le calcul, je vous donne tout de suite la solution. Bien entendu le résultat ne contient que des 0 et des 1:
La clé du mystère
À partir de là, vous allez mieux comprendre d’où sortent ces valeurs typiques que j’ai citées au tout début de mon article.
MIDI & vélocité maximale égale à 127
En MIDI, l’envoi d’un message de type note requiert 3 octets. Le 3ème octet contient la valeur de vélocité, celle-ci est toujours encodée sur 7 bits (c’est la norme MIDI qui impose cela, je n’en dirai pas plus ici pour ne pas compliquer cet article déjà un peu long…).
Avec 7 bits, on peut compter de la valeur (0000000)b à la valeur (1111111)b, pas plus. Si vous faites la conversion en décimal, cela donne une fourchette de valeurs allant de 0 à… 127! 🙂 Vous remarquerez enfin que si l’on dénombre toutes les valeurs possibles, il y en a 128, car il faut tenir compte du zéro initial qui est une valeur comme les autres. Pour info, 128 est la même chose que 27 (faites le à la machine ou même de tête). Encore une valeur mystère dévoilée!
MIDI & molette de Pitch-Bend
La plupart des messages envoyés par les contrôleurs MIDI sont encodés sur 7 bits, ce qui donne comme nous l’avons vu un maximal de 128 valeurs.
Il est parfois nécessaire d’encoder les messages sur un nombre plus élevés de bits, ceci pour gagner en précision et éviter ainsi la fameuse sensation auditive de « marches d’escalier ». Vous avez peut-être déjà constaté cette sensation désagréable en faisant par exemple varier la fréquence de coupure du filtre de votre synthétiseur préféré, surtout avec une résonance forte. La raison est simple: l’encodage du paramètre Fréquence manque de précision, il est probablement encodé sur 7 bits.
Certains contrôleurs MIDI sont donc beaucoup plus précis, c’est le cas de la molette de Pitch-Bend avec son encodage sur 14 bits. Pour connaître le nombre maximal de valeurs possibles dans ce contexte, il suffit d’élever 2 à la puissance 14, ce qui donne 16384 valeurs possibles. Comme la molette de Pitch-Bend est destinée à élever ou abaisser la hauteur d’une note MIDI autour de sa valeur d’origine, il est naturel de diviser ces 16384 valeurs 2 ensembles équitables: un paquet de nombres positifs pour la montée, un paquets de négatifs pour la descente. On parle dans ce cas de contrôleur MIDI « signé ».
Les 2 ensembles de valeurs sont répartis uniformément autour de la valeur centrale de la molette, celle-ci valant 0 (molette au repos). On se retrouve donc avec une fourchette de valeurs allant de -8192 (soit 16384/2 complété par un signe moins) à +8191 (soit 16384/2 moins une valeur, car il faut compter le zéro parmi les nombres positifs). Et voilà! 🙂
Mémoire tampon de votre interface audio
Je disais plus haut que chez certains constructeurs d’interfaces audio, la taille de la mémoire tampon est un nombre sélectionnable dans une liste de choix, ce dernier pouvant être: 32, 64, 128, 256, 512, 1024, etc. Convertissons ces valeurs décimales en valeurs binaires et voyons un peu ce que ça donne:
-
(32)d = 25 = (10 000)b
-
(64)d = 26 = (100 000)b
-
(128)d = 27 = (1 000 000)b
-
(256)d = 28 = (10 000 000)b
-
(512)d = 29 = (100 000 000)b
-
(1024)d = 210 = (1 000 000 000)b
Et ainsi de suite. Chaque nouveau nombre décimal disponible dans la liste est égal au précédent multiplié par 2. Exprimé en binaire, c’est simplement un zéro de plus à droite du mot.
Quand je vous disais que ces valeurs n’étaient pas prises au hasard! On visualise mieux l’intérêt de ce type de valeurs une fois exprimées en binaire. Elles ressemblent beaucoup aux dizaines, centaines, milliers, etc. de notre système décimal. En fait, chaque fois que vous ajoutez un zéro à droite d’une valeur binaire, cela revient à multiplier par 2 son équivalent décimal. On appelle cela le « décalage à gauche » (« Logical Left Shift »).
J’en profite pour vous faire remarquer un point intéressant: les unités de mesure utilisées en informatique pour exprimer les tailles des fichiers, sont des puissances de 2 assez particulières. Jugez par vous-mêmes:
-
1 kilo-octet informatique = 1 kio = 210 = 1024 octets
-
1 Méga-octet informatique = 1 Mio = 220 = 1 048 576 octets
-
1 Giga-octet informatique = 1 Gio = 230 = 1 073 741 824 octets
-
1 Téra-octet informatique = 1 Tio = 240 = 1 099 511 627 776 octets
Vous pouvez constater que la valeur de la puissance de 2 varie de 10 en 10 (210, 220, 230, 240, etc.). Ces unités de mesure, spécifiques à l’informatique, ne doivent pas être confondues avec les unités plus classiques issues du système international (SI):
-
1 kilo-octet = 1 ko = 103 = 1 millier d’octets
-
1 Méga-octet = 1 Mo = 106 = 1 million d’octets
-
1 Giga-octet = 1 Go = 109 = 1 milliard d’octets
-
1 Téra-octet = 1 To = 1012 = 1 billion d’octets
Vous remarquerez que les 2 types de notations employées ci-dessus ont elles aussi un rapport avec le raisonnement en base 2 (1er cas) ou en base 10 (2ème cas). Décidément! 🙄
Simplification des valeurs binaires avec l’hexadécimal
Le binaire c’est bien, mais parfois c’est un peu long à écrire! En plus, comme on utilise uniquement des 0 et des 1 pour former les mots, ça devient vite illisible! Un petit exemple? No problemo: je vous propose d’étudier quelques instants un cas que j’évoquais au début de mon article. Je veux parler de l’infographie ou du web design, et de la palette de couleurs RVB.
Dans un ordinateur, un smartphone ou une tablette, les couleurs sont générées via un mélange de 3 couleurs primaires: le rouge, le vert et le bleu. Chaque couleur primaire est encodée sur 1 octet, ce qui donne 256 nuances de rouge possibles (de 0 à 255), pareil pour le vert, idem pour le bleu.
Le noir est obtenu par mélange des 3 valeurs RVB minimales: Rouge = 0, Vert = 0, Bleu = 0. Pour le blanc c’est exactement le contraire, on mélange les 3 couleurs primaires à leurs valeurs maximales: Rouge = 255, Vert = 255, Bleu = 255.
En assemblant 3 octets RVB de valeurs quelconques, on forme un mot de 24 bits (3 x 8 bits) représentant une couleur de l’arc-en-ciel. Le nombre maximal de couleurs affichables sur un écran s’élève à 256 x 256 x 256 possibilités, soit 16 777 216 couleurs, Whaou!
Pour illustrer le concept, prenons une couleur que j’aime bien: le orange de mon logo Séance Numérique. Voici son code RVB: (255; 102; 0).
Amusons-nous à l’écrire en binaire, puisque c’est ainsi qu’il est stocké dans la mémoire de l’ordinateur:
(255; 102; 0)d = (11111111 01100110 00000000)b
Vous voyez comme c’est long et fastidieux à écrire en binaire, avec tous ces 0 et ces 1? C’est déjà un peu plus clair en décimal, mais c’est encore mieux en hexadécimal: #FF6600. Le top du top c’est une écriture ultra condensée qui donne ceci: #F60 😯
L’hexadécimal, kézako? C’est tout simplement un système de comptage… en base 16. Ha bon, et c’est censé être plus simple qu’en base 2? Oui, parce que voyez vous, il existe un lien étroit entre le système en base 2 et celui en base 16, provenant du fait que 16 = 24 😉
Concrètement et sans trop rentrer dans les détails théoriques, l’hexadécimal s’écrit avec 16 symboles de base. Pour faire simple et ne pas réinventer de nouveaux symboles, on a emprunté les 10 chiffres du système décimal, auxquels on a rajouté les 6 premières lettres de l’alphabet. Astucieux, non?
Pour convertir un mot binaire en hexadécimal, la règle est simple et efficace: on forme des paquets de 4 bits (des demi-octets ou nibbles, vous vous rappelez?) en partant de la droite du mot binaire. On remplace ensuite chaque paquet par le symbole hexadécimal approprié. Ça marche à tous les coups, car avec un demi-octet on ne peut écrire que 16 valeurs, de 0000 à 1111. Ça tombe bien, c’est pile le nombre de symboles disponibles avec « l’hexa ».
Commençons donc par réécrire notre couleur orange de façon à mieux faire apparaître les demi-octets:
(Orange)b = 1111 1111 0110 0110 0000 0000
Remplaçons maintenant chaque demi-octet par son équivalent hexadécimal:
(Orange)h = FF 66 00
Comment ai-je trouvé le F de FF? C’est très simple:
(1111)b = 23 + 22 + 21 + 20 = (16)d = (F)h
Et le 6 de 66? Même type de calcul:
(0110)b = 22 + 21 = (6)d = (6)h
Et voilà! C’est maintenant beaucoup plus court à écrire mais aussi plus pratique à retenir et à lire à haute voix!
Petit supplément: en infographie et en design web (langage CSS notamment), on a pris l’habitude de faire précéder le code couleur hexadécimal du signe dièse (#). C’est une simple convention d’écriture qui permet entre autres aux logiciels de reconnaître le code d’une couleur RVB, et de ne pas le confondre avec une simple valeur numérique stockée en mémoire.
Une 2ème convention d’écriture consiste à simplifier le code couleur à 3 symboles seulement, comme dans mon exemple avec #F60. Cela ne s’applique que dans le cas où les valeurs hexadécimales des 2 demi-octets du rouge sont identiques, idem pour le vert et le bleu. Ainsi le code couleur #FF6600 peut s’écrire plus simplement #F60. Par contre la couleur mauve dont le code RVB est #B90FDE ne peut pas s’écrire autrement…
Le mot de la fin
Et bien voilà, vous savez maintenant qu’il existe plusieurs façon de compter. Le système décimal, que vous utilisez quotidiennement depuis des années sans même vous en rendre compte, n’est finalement qu’un système parmi tant d’autres.
Vous maîtrisez maintenant les rudiments du système binaire et de son grand frère, l’hexadécimal. Vous me direz, ça vous fait une belle jambe! 😆
Il n’empêche que dorénavant, les valeurs mystères de votre ordinateur n’auront plus de secrets pour vous, et vous saurez reconnaître du premier coup d’œil un code couleur ou une valeur MIDI remarquable!
Au fait, vous ai-je dit que les notes d’un clavier MIDI étendu étaient au nombre de 128, numérotées de 0 à 127, et couvrant une tessiture de presque 10 octaves? Le Do central (touche C3) est généralement numéroté 60. La première touche du clavier est numérotée 0, c’est un Do à l’octave -2 (C-2). La dernière touche du clavier est quant à elle numérotée 127, c’est un Sol à l’octave 8 (G8). Je vous aurais balancé ça brut de décoffrage il y a seulement une demie-heure, vous m’auriez certainement zappé!
Maintenant, vous connaissez le pourquoi du comment… 😎
Je vous dis à très bientôt pour une nouvelle Séance Numérique!