The Other Days Introduction à la Musique Chiptune, Mise en Oeuvre sur Nintendo Game Boy

Introduction à la musique Chiptune
Mise en oeuvre sur Nintendo Game Boy

Un article retrogaming et musical proposé par

HTTP://THEOTHERDAYS.NET






Avant-propos

Chers amis d'Open-Consoles, férus de petites machines open-source et de tout ce qu'on peut faire avec, nous vous souhaitons la bienvenue!

Nous vous proposons ici un article sur le genre musical Chiptune et sur la composition de musique sur Nintendo Game Boy. Nous parlerons plus particulièrement de Little Sound DJ (LSDJ), qui est certainement, avec Nanoloop, le logiciel de ce type le plus utilisé sur Game Boy. Puisqu'il s'agit d'un vaste sujet, nous vous en donnons ici un petit aperçu qui nous l'espérons, va éveiller votre curiosité et votre créativité.

La Chiptune

Chiptune: mot anglais désignant littéralement la mélodie d'une puce. Dit comme ça, c'est un peu décousu. Il faut remonter un peu dans le temps pour comprendre l'origine de ce mot.

Nous passerons sur les premiers ordinateurs des années 1940 à 70, qui ne faisaient pas de son mais beaucoup de bruit.

C'est vers la fin des années 70 qu'est arrivée l'ère de la micro-informatique, avec des machines individuelles accessibles au grand public. Les performances s'améliorant, beaucoup de jeux apparurent sur ces ordinateurs ou ces consoles. Pour les rendre plus attrayants, les concepteurs comprirent vite qu'il fallait les sonoriser. C'est ainsi que les premières musiques informatiques grand public émergèrent.





Mais qu'en est-il de ces productions sonores sur un plan plus technique? Comment fait-on de la musique avec un ordinateur et surtout...

Comment ça sonne?

Vous le savez, un ordinateur est un ensemble de transistors qui interagissent entre eux. Les signaux électriques internes de ces ordinateurs sont binaires: soit ça s'allume électriquement et ça vaut 1, soit ça s'éteint et ça vaut 0.


Les vieux ordinateurs disposaient d'une sortie sonore basique, composée généralement d'un haut-parleur dans le boîtier connecté à des circuits logiques très simples. Les programmeur pouvaient simplement envoyer des 0 et des 1 directement sur ces circuits et on pouvait entendre du son.

Quand on alterne les signaux 0 et 1, on obtient ce qu'on appelle une onde carrée:

Représentation d'une onde carrée.
Source : electronique-et-informatique.fr


Qui sonne comme cela:

https://www.youtube.com/watch?v=OPFjzFNKh4k

Nous parions que vous connaissez déjà ce son : l'onde carrée est effectivement le son le plus élémentaire qu'une puce informatique peut générer.





On peut même déjà faire des musiques juste avec ce son-là:

https://www.youtube.com/watch?v=HzLF-g5tBv8

Il s'agit bien d'une mélodie produite grâce à un peu de programmation sur une toute petite puce informatique. En Anglais, “a tune made from a computer chip”: c'est la Chiptune.

Au passage, l'ordinateur a ici créé une mélodie de toute pièce et de façon électronique. Par définition, cet ordinateur a donc fait office de synthétiseur !

A l'écoute des ondes

Vous remarquerez que l'onde carrée n'est pas forcément des plus agréables à écouter. Et vous aurez un peu raison.

En effet, pour plein de motifs techniques, votre oreille n'aime pas trop les ondes carrées. En vulgarisant, on peut dire que dans cette forme d'onde, il y a des fréquences qui ne peuvent pas toutes exister en même temps dans la nature. Vous aurez peut-être besoin d’éduquer un peu votre oreille pour l'habituer à ce genre de sonorités. Au demeurant, si vous avez grandi avec les machines de l'époque, votre initiation auditive est déjà faite.

Fig. 2: Formes d'ondes synthétiques caractéristiques.
Source : Wikipedia


Heureusement, il n'y a pas que les ondes carrées dans la Chiptune. Les progrès techniques aidant, les synthétiseurs sonores plus avancés ont permis de générer une plus grande diversité de timbres. Notamment, les ondes dites triangulaires, en dents de scie et sinusoïdales.



Voici comment cela sonne:

Nous supposons que vous avez également reconnu certains de ces sons. Notamment:



Beaucoup de bruit pour rien ?

Revenons maintenant sur la notion de bruit.
Contrairement aux ondes que nous venons de montrer, le bruit n'est pas un son harmonique, il n'a pas de timbre ni de périodicité. Le bruit est un son plutôt issu du désordre, autrement dit de l'émanation d’évènements physiques incohérents et simultanés.

Fig. 3: Forme d'onde d'un bruit blanc.
Source : pipoprods.free.fr


Par exemple, le bruit le plus connu est le bruit dit 'blanc', où toutes les fréquences du spectre audible sont actives. Visuellement cela ressemble à ceci:

Qui sonne comme cela:

http://en.wikipedia.org/wiki/File:White-noise-sound-20sec-mono-44100Hz.ogg

Étonnamment, il n'y a pas son plus naturel que le bruit. C'est la base sonore d'une cascade d'eau, du vent, des vagues de la mer, d'une brosse sur une caisse de jazz... ll y a même du bruit jusque dans le cosmos sous forme d'ondes radio.

Nous connaissons maintenant les ondes de base de la synthèse sonore. Mais qu'en faire? Comment passer d'un simple timbre sonore à quelque chose qui ressemblerait à un instrument?



Du Timbre à l'Enveloppe

L’enveloppe est manière dont on module l'intensité d'une onde dans le temps. Typiquement, quand vous appuyez sur une touche d'un synthétiseur, c'est la manière dont le volume d'un instrument monte ou descend dans le temps.

Informatiquement, l'enveloppe la plus simple repose sur le modèle dit ADSR: Attack, Decay, Sustain, Release. Pour citer Wikipedia (http://fr.wikipedia.org/wiki/Enveloppe_sonore):



Nous avons maintenant en main des instruments synthétiques aux formes d'ondes et enveloppes bien définies. Reste à savoir comment écrire la mélodie informatiquement. Est-ce semblable à une partition musicale classique, via des notes et des soupirs? Ou bien est-ce que cela revient finalement à concevoir un programme dans son coin, sans réelle convention d'écriture commune?

Partitions programmées

Écrire une musique sur un ordinateur nécessite quelques compromis. Par le passé, le programmeur codait littéralement sa musique comme il l'entendait (si l'on peut dire). Des instruments à la partition, tout était transcrit dans un format propriétaire et propre au programmeur. Le tout était entremêlé avec le code du jeu ou de l'application. C'est ce qu'on appelait une Chiptune 'Custom'. Au demeurant, cette approche était fastidieuse et pas vraiment réutilisable : pour faire une nouvelle musique, il fallait souvent recommencer à zéro. De plus, cela nécessitait souvent que le programmeur et le compositeur soient la même personne, ce qui n'est pas forcément évident.

Certains programmeurs, lassés de cette approche « ex-nihilo », ont donc développé des outils dédiés à la création musicale et permettant d'exploiter au mieux les puces sonores propres à chaque machine. C'est ainsi qu'est née une catégorie de programmes qui nous intéresse particulièrement : les soundtrackers.



Il existe des soundtrackers pour pratiquement toutes les plate-formes informatiques. Par convention, ils utilisent à peu près tous la même représentation des partitions, dite “matricée”, tant par piste que par intervalle de temps.

Les principes de base d'une écriture matricée sont simples:

Voici un exemple de pattern, à lire de haut en bas:



B-3 5

Si 3eme gamme, instrument #5

--- -

vide

B#3 6

Si dièse 3ème gamme, instr. #6

--- -

vide

C-3 4

Do 4ème gamme, instr. #4

C#4 5

Do dièse 4ème gamme, instr. #5

Fig. 5: représentation d'un pattern.







Remarques:

Application à la Game Boy

Nous parlons bien de la toute première console portable de Nintendo, sortie en 1989.

Celle de couleur grise, avec son écran minuscule et illisible en plein soleil, qui épuisait toujours vos piles en seulement quelques heures.

Cette machine cadencée à environ 4MHz dispose de facultés sonores intéressantes, pour la plupart héritées de sa grande soeur de salon, la Nintendo Entertainment System.

Ces deux consoles font partie de la génération mythique de machines dites « 8-bits » : leurs puces éléctroniques sont capables de travailler sur 8 signaux binaires simultanément par cycle d'horloge.

Aujourd'hui les ordinateurs ont des architectures de 32, 64 voire 128 bits, soit à fréquence égale, une capacité de traitement par cycle de 4 à 16 fois plus importante qu'une Game Boy. Si l'on prend également en compte la différence de vitesse, l'écart se creuse de manière vertigineuse, ce qui témoigne tristement de la vétusté technique de la console.

Pourtant, elle reste emblématique dans le domaine de la Chiptune, car elle y est surprenamment performante et adaptée. Voyons donc ce que la portable de Nintendo est capable de faire.

Canaux Wins!”

La Game Boy dispose de 4 canaux audio dont a majorité des fonctionnalités sonores est gérée intégralement en hardware.
En effet, la génération des sons est déléguée à un synthétiseur matériel autonome intégré au CPU de la console. Le CPU ne fait donc qu'envoyer des commandes simples à son propre synthétiseur, par exemple : “fais-moi un Do avec une onde carrée”. Cette délégation de commandes au synthétiseur permet au CPU de garder du temps pour s'occuper d'autres tâches essentielles comme les interruptions, les transferts mémoire et les routines du programme de jeu.

La stéréophonie est une fonctionnalité distinctive de cette console. Chacun des canaux peut être indépendamment et dynamiquement routé sur la sortie audio de gauche, de droite ou bien les deux.

Voici la liste des canaux audio de la Game Boy et leurs capacités respectives :

Ces canaux permettent de générer des sons à base d'ondes carrées, avec différents rapports cycliques (duty cycle) prédéfinis: 12.5%, 25%, 50% et 100%.
Pour l'enveloppe, on compte 16 niveaux de volume d'attack et de release gérés matériellement. On peut également choisir la hauteur d'une note sur une largeur de 8 gammes avec une granularité très fine (utiles pour des
portamentos ou glissandos).

Ces deux canaux sont essentiellement utilisés pour faire des instruments dans une mélodie (leads), des nappes harmoniques ou des effets sonores aigus (cris de monstres, bruits de sauts). Avec un peu d'astuce, ils permettent aussi de faire des sons percussifs sourds, comme des sons de grosse caisse (kicks).

Celui-ci génère seulement des instruments à base de bruit par le biais d'un générateur matériel dont on peut paramétrer la “forme”. On peut ainsi obtenir une large palette de bruits connus: rose, marron, blanc....
Ce canal est surtout usité pour des effets sonores agressifs (explosions, bruits de coups), mais aussi des instruments percussifs (hihats, charleys). 16 niveaux de volumes sont également offerts en hardware pour l'attack et la release.

C'est le plus polyvalent des canaux en termes de forme d'onde puisqu'il permet de restituer des samples codés sur 4 bits (16 niveaux). Ce canal peut aussi produire des sons bien plus graves que sur les autres canaux, ce qui le rend très intéressant pour créer instuments avec des basses profondes ou des kicks puissants.

Cependant, les limitations de ce canal sont fortes: le nombre d'échantillons possibles est réduit à 32 valeurs seulement. Quant au volume, il n'y a que 4 niveaux matériellement possibles : silence, 25%, 50% et 100%.

Maintenant que nous savons mieux de quoi cette console est capable, voyons comment mettre ces notions musicales en pratique avec le soundtracker LSDJ.



Se mettre à la chiptune sur Game Boy



Nous espérons que cette introduction à la Chiptune vous a donné envie de vous lancer!

Il existe plusieurs logiciels de composition musicale sur Game Boy, notamment LSDJ et Nanoloop. Dans cet article, nous allons nous intéresser à LSDJ. Bien que vous ne connaissiez pas encore ce sountracker, gardez déjà son nom en tête car il reviendra souvent dans cet article. Nous allons en parler plus en détail par la suite, mais voyons d'abord le matériel nécessaire dont vous aurez besoin pour l'utiliser.

Dans un premier temps, vous n'aurez pas forcément besoin d'acheter ladite console portable ou quelconque matériel spécifique : vous pourrez utiliser des émulateurs à la place. Quant à LSDJ, des versions d'évaluation existent pour vous faire une idée de ce qu'il vaut sans rien avoir à débourser.

...Sans Game Boy ?

Un émulateur est un programme qui permet à un ordinateur de lancer des jeux ou des programmes conçus pour d'autres machines. On note d'illustres exemples que nous affectionnons particulièrement, tels que :

Concernant la Game Boy, nous sommes gâtés: il existe des émulateurs sur toutes les machines possibles : PC, Mac, tablettes et smartphones. Néanmoins, tous ne se valent pas, surtout concernant la qualité de reproduction du son de la Game Boy, qui nous intéresse ici au plus haut point.

Nous vous conseillons donc les émulateurs ci-dessous :







Quid des consoles portables et smartphones? Voici un petit inventaire :



Notes:


Avec une
vraie Game Boy !


Honnêtement, pour utiliser au mieux LSDJ ou tout autre programme musical, il n'y a rien de mieux que de le faire tourner sur la vraie bestiole. Qu'on se le dise !


Fig. 6 : Photo de famille

Vu le succès immense de cette console en son temps, vous en avez peut être déjà une chez vous, prenant la poussière ou oubliée dans une cave... Sinon, il n'est pas rare d'en trouver en brocante ou dans des magasins d'occasion, par exemple.





Il y a eu au fil des années différents modèles de Game Boy, chacun ayant ses avantages et inconvénients, y compris dans le domaine de la Chiptune.


Le tableau suivant en fait la synthèse :


Modèle

Look

Écran

Son

Vitesse

Autonomie

commentaire

Game Boy, originale aussi dite
“la brique” (DMG-01)


*

* * *


*

*


La meilleure pour le son live mais aussi la plus lourde.

Les 4 piles sont vite épuisées, prévoir un adaptateur.

Game Boy Color


* *

* *

* *

* *

Plus rapide que la DMG.

Les couleurs en plus

et seulement deux piles!

Game Boy Pocket


*

* *

*

*

Plus compacte qu'une DMG

Mais le son est moins bon.

Problèmes d'autonomie avec les cartouches flash.

Game Boy Advance


* * *

* *

* *

* * *

Disposition des touches peu pratique, la rendant inutilisable avec des programmes musicaux. Dommage.

Game Boy Advance SP


* * *

* *

* *

* * *

Rapide, bonne autonomie, écran rétroéclairé : presque un sans faute!

Attention : il faut un adaptateur spécifique pour la sortie casque.

Une question se pose aussi : trouvera-t-on encore des batteries compatibles dans plusieurs années ?

Game Boy Micro


*

* *

*

?

Contrairement à son nom, elle est incompatible avec les cartouches Game Boy. A oublier.

Fig.7: comparatif des console Game Boy
Source : https://commons.wikimedia.org/wiki/File:Wikipedia_gameboygroup.jpg



Ainsi, pour composer avec LSDJ, nous suggérons,par préférence décroissante:

  1. Game Boy Advance SP + adaptateur casque

  2. Game Boy Color

  3. Game Boy Originale

  4. Game Boy Pocket


Nous déconseillons les autres modèles.


Fig. 8 : Astro courtise lourdement la DMG-01.