Après avoir découvert les origines de Soundtracker et du MOD, nous pouvons maintenant regarder le fichier lui-même. Un module n’est pas une longue piste audio enregistrée du début à la fin. Il rassemble les informations nécessaires à un moteur de replay pour reconstruire le morceau.

Dans un MOD classique, cette organisation peut être comprise comme une chaîne : en-tête et informations sur les samples → ordre du morceau → patterns → données audio des samples. Chacune de ces parties joue un rôle précis.

1. Le titre et les informations d’instruments

Le début du fichier contient notamment le titre du morceau, puis les informations décrivant les samples disponibles. Selon la variante du format, on rencontre historiquement des MOD avec 15 ou 31 samples.

Pour chaque sample, le fichier peut conserver plusieurs paramètres : son nom, sa longueur, son réglage de finetune, son volume ainsi que les informations permettant de définir une éventuelle boucle. Ces données ne constituent pas encore le son brut : elles expliquent au lecteur comment celui-ci doit être utilisé.

2. Les samples ne sont pas le morceau

Un sample est une petite portion de son numérique. Il peut s’agir d’une percussion, d’une basse, d’une attaque de synthétiseur, d’une voix ou de n’importe quelle matière sonore choisie par le compositeur.

Le tracker peut déclencher ce même échantillon à différentes hauteurs. Le fichier n’a donc pas besoin d’enregistrer séparément chaque note jouée. Une petite quantité de matière audio peut servir à construire une composition beaucoup plus longue.

3. La table d’ordre : le plan du morceau

Après les informations générales se trouve une notion essentielle : la pattern table, ou table d’ordre. Elle indique au moteur dans quel ordre les patterns doivent être lus.

Imaginons trois patterns : 00 pour un couplet, 01 pour un refrain et 02 pour un pont. Une séquence pourrait demander au lecteur de jouer 00, puis 00, puis 01, revenir à 00, repartir vers 01 et enfin atteindre 02. Le même bloc musical peut donc être réutilisé sans dupliquer toutes ses données.

C’est l’une des idées les plus élégantes du tracker : la structure du morceau existe explicitement dans le fichier.

4. Le pattern : là où les événements musicaux sont inscrits

Dans de nombreux MOD classiques, un pattern contient 64 lignes. Chaque ligne est répartie entre les différents canaux du module. Pour chaque canal, une cellule peut encoder l’instrument utilisé, la hauteur de la note et une éventuelle commande d’effet accompagnée de son paramètre.

Pour un MOD quatre canaux, le moteur examine donc simultanément quatre voies à chaque ligne. C’est cette organisation que l’on reconnaît immédiatement dans l’interface verticale des trackers.

5. Quatre octets peuvent décrire un événement

Dans la représentation classique du pattern MOD, les données d’un canal sur une ligne utilisent quatre octets. Ces quelques octets permettent d’encoder plusieurs informations : le numéro du sample, une valeur correspondant à la hauteur de la note, le numéro d’effet et son paramètre.

C’est un excellent exemple de l’économie qui caractérise ces formats. Au lieu de conserver une forme d’onde complète pour chaque événement musical, le module donne une instruction compacte au moteur : quel son utiliser, à quelle hauteur et avec quel comportement.

6. Les canaux : plusieurs voix jouées simultanément

Les canaux représentent les différentes voix que le moteur peut traiter en parallèle. Le célèbre modèle quatre canaux est étroitement associé aux premiers MOD, mais d’autres variantes du format ont existé avec davantage de canaux.

Une composition peut par exemple réserver une voie à la batterie, une autre à la basse et utiliser les deux restantes pour mélodies, accords ou effets. En pratique, les compositeurs ont développé de nombreuses astuces pour dépasser musicalement cette apparente limitation.

7. Les effets sont stockés avec la musique

Le pattern ne contient pas seulement des notes. Une commande peut demander au lecteur de produire un effet : glissement de hauteur, arpège, vibrato, modification du volume ou changement affectant le déroulement du morceau.

Cette caractéristique est fondamentale. Une partie du résultat sonore dépend de la manière dont le moteur interprète ces commandes. Lire correctement un MOD demande donc davantage que d’extraire ses samples.

8. La signature aide à identifier la variante

Les MOD plus évolués peuvent contenir une signature de format, souvent représentée par quatre caractères. Elle aide le logiciel à identifier certaines caractéristiques du module, notamment le nombre de canaux attendu pour différentes variantes.

Pour un développeur qui écrit un loader, cette étape est importante : il faut d’abord comprendre quel type de module est présent avant de calculer correctement la taille et l’organisation des patterns.

9. Les données audio arrivent après les patterns

Une fois les patterns parcourus, les données brutes des samples sont généralement stockées à la suite. Le lecteur connaît déjà leur longueur et leurs paramètres grâce aux informations rencontrées plus tôt dans le fichier.

Il peut alors charger la matière sonore puis exécuter les patterns selon la table d’ordre. Le morceau naît de l’association entre données audio et instructions musicales.

10. Lire un MOD revient à reconstruire une machine musicale

Conceptuellement, un lecteur MOD doit donc effectuer plusieurs opérations : identifier le format, lire les informations des samples, récupérer l’ordre des patterns, décoder leurs événements, charger les données audio puis faire avancer le moteur dans le temps en appliquant notes et effets.

C’est pour cette raison qu’un module est particulièrement intéressant à étudier. On peut y observer non seulement ce qui est joué, mais aussi une grande partie de la manière dont le morceau a été construit.

Du MOD vers des formats plus riches

Cette architecture constitue une base historique essentielle, mais les trackers vont rapidement vouloir davantage : plus de canaux, des instruments plus élaborés, davantage de contrôle et une expressivité accrue. FastTracker II et son format XM vont pousser cette logique beaucoup plus loin.

La culture tracker reste d’ailleurs accessible sur les machines modernes. Le projet FastTracker II clone présenté par 16-bits.org reproduit aujourd’hui FT2 sous la forme d’un programme portable écrit en C avec SDL2. Cette continuité permet de manipuler encore concrètement les principes hérités de cette histoire.

Dans le prochain article : nous entrerons dans FastTracker II lui-même : son interface, son workflow, ses patterns, ses instruments et cette manière très particulière de composer au clavier devant des colonnes de données musicales.