The Other Days Introduction à la Musique Chiptune, Mise en Oeuvre sur Nintendo Game Boy
Un article retrogaming et musical proposé par
HTTP://THEOTHERDAYS.NET
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é.
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...
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 !
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:
Sinusoïdale:
https://www.youtube.com/watch?v=1gIA70SfWlY
Triangulaire (en prime, jouée sur un vrai synthétiseur!): https://www.youtube.com/watch?v=CAkXWxwZITg
Dents de
scie:
https://www.youtube.com/watch?v=VURSg_UCUUQ
Nous supposons que vous avez également reconnu certains de ces sons. Notamment:
la sinusoïdale à 440Hz, qui correspond à la tonalité que vous entendez lorsque vous décrochez un téléphone fixe,
la triangulaire, qui est une tonalité typique de la Nintendo Entertainment System (NES). Savez-vous d'ailleurs que le circuit sonore d'une Game Boy, bien que très différent de celui de la NES, présente un certain nombre de caractéristiques communes ? Nous pourrons en reparler dans un prochain article !
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):
Attack : l'attaque décrit le temps nécessaire au son pour atteindre son amplitude maximale, après avoir appuyé sur une touche du synthétiseur.
Decay : le déclin indique le temps au-delà du pic, pour atteindre le moment où le son entre en phase de maintien,
Sustain : décrit le niveau sonore conservé tant que la touche est maintenue enfoncée. Si l'on relâche la touche trop tôt, le son entre directement en relâchement.
Release : dès le relâchement de la touche, ce paramètre indique la rapidité avec laquelle le son diminue pour s'éteindre complètement.
Fig.
4: Fig.
4 : Rreprésentation
de l’enveloppe ADSR.
Source : Wikipedia,
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?
É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:
Un morceau est composé de plusieurs pistes représentées par des colonnes. Le plus souvent, chaque colonne accède directement à une des différentes voix matérielles disponibles sur le circuit sonore de l'ordinateur ou la console.
On coupe une mesure en
créneaux temporels
verticaux
régulièrement
espacés.
Une ligne correspond à un créneau temporel.
Pour
une voix donnée, on obtient donc une colonne avec un
nombre fixe de lignes: on appelle cela un pattern.
On pose des notes sur les lignes de ce pattern. Ces notes ne sont pas écrites sous la forme solfège “do-ré-mi-fa-sol-la-si”, mais en notation anglaise : “C-D-E-F- A-B”. On rajoute aussi le numéro de gamme de la note: un nombre bas signifie qu'on est dans le grave, un nombre élevé, dans l'aigu.
A la note posée, on doit rajouter aussi le numéro un instrument qu'on a préalablement défini (une forme d'onde et son enveloppe).
Enfin, à la lecture, le soundtracker fait défiler les pistes ligne par ligne et joue les notes présentes sur chacune d'entre elles.
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:
Contrairement à la partition musicale classique, les lignes vides ne sont pas des soupirs, mais juste “du temps qui passe”.
Autrement dit, une ligne vide n'intercale pas de silence. La durée d'une note est propre à l’enveloppe de l'instrument choisi avec la note.
Une note peut être interrompue par une autre si l'écart de temps entre les deux notes est plus court que l'enveloppe de l'instrument de la première note.
On peut quand même faire taire une note après une durée souhaitée. Ceci se fait par des moyens annexes, nous en reparlerons plus tard.
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.
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 :
Deux canaux d'ondes carrées (dits “PULSE”) :
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).
Un canal de bruit (“NOISE”):
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.
Enfin, un canal d'onde arbitraire (“WAVE”):
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 :
Spectre GCR, l'émulateur Macintosh Plus tournant sur Atari ST,
UltraHLE (http://www.emuunlim.com/UltraHLE/main.htm), premier émulateur permettant réellement de jouer à la N64 sur PC,
l'immense Mame (http://www.mamedev.org/), émulant pratiquement toutes les bornes d'arcade sur tous les ordinateurs et consoles d'aujourd'hui.
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 :
Mednafen
(http://mednafen.sourceforge.net).
Tourne sous Windows, Mac OS X et Linux.
Le plus intuitif, il
émule la Game Boy
mais aussi beaucoup d'autres consoles. Il permet d'enregistrer des
vidéos de votre session d'émulation.
BGB
(http://bgb.bircd.org).
Tourne sous Windows ou même Linux via Wine
(http://www.winehq.org)
Moins
intuitif d'usage que Mednafen mais
très fidèle au hardware, il permet aussi d'enregistrer des
vidéos et supporte le port link de la Game
Boy. Il est plutôt destiné aux
développeurs et comporte un debugger incorporé.
Gambatte
(http://sourceforge.net/projects/gambatte).
Tourne sous Windows, Mac OS X et Linux.
Un poil plus spartiate
encore, mais
émule le son assez fidèlement.
Higan
(http://byuu.org/emulation/higan).
Tourne sous Windows et Linux.
Emulant parfaitement plusieurs
consoles Nintendo,
il est de
ce fait très
gourmand en ressources. Un
Core i5 est vivement recommandé pour profiter de sa fidélité de
restitution irréprochable, même pour les jeux les plus obscurs.
Quid des consoles portables et smartphones? Voici un petit inventaire :
RIN , pour PSP jailbreakée.
gameboy4iphone, sur iPhone
Sur Nintendo DS:
Lameboy
(http://lameboy.nutki.com)
GameYob
(http://filetrip.net/nds-downloads/emulators/download-gameyob-05-f32515.html)
Sur Android:
Notes:
Les plate-formes mobiles et portables étant moins puissantes, les émulateurs précités sont probablement moins aboutis. Certains d'entre eux nécessitent de tourner sur flashcart (Nintendo DS) ou de rooter/jailbreaker sa machine. Cependant, le résultat peut s'avérer décevant, surtout vis-à-vis de la maniabilité exécrable des boutons sur interfaces tactiles : rien ne remplace une croix et des boutons physiques !
A vous donc d'essayer pour vous faire une idée!
Pour
plus d'information sur la qualité d'émulation avec un programme
musical tel que LSDJ,
jetez un œil sur le
Wiki officiel
ici:
http://littlesounddj.wikia.com/wiki/Game_Boy_Emulators
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
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 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:
Game Boy Advance SP + adaptateur casque
Game Boy Color
Game Boy Originale
Game Boy Pocket
Nous déconseillons les autres modèles.
|
|