Module (musique)
# Module (musique)

Un module est un fichier informatique destiné à du contenu audio numérique contenant à la fois une partition de musique pour plusieurs instruments, ainsi que des échantillons des notes des instruments en question. Un logiciel lecteur de modules effectue donc la synthèse de la musique à partir de ces deux données.

Les modules différent aussi bien des fichiers sons qui reposent sur un échantillonnage du signal audio pendant toute la durée de l'interprétation d'un morceau (comme WAVE, MP3, OGG ou AAC), que des fichiers MIDI ou des Chiptunes qui ne contiennent qu'une partition. Contrairement aux fichiers sons, et comme dans le cas des fichiers MIDI, la musique issue d'un module est synthétisée au moment de la lecture à partir d'échantillons de notes, ce qui assure une grande compacité au format. Cependant, dans le système MIDI ces échantillons de notes se trouvent sur le système de lecture : l'interprétation est donc différente selon le système. Le système des chiptunes est analogue au système MIDI, à ceci près que la synthèse de la musique n'utilise pas d'échantillons de notes mais un circuit générateur de son, donc dépendant lui aussi du matériel utilisé. Au contraire, les modules intègrent les échantillons voulus dans le fichier lui-même, ce qui garantit une synthèse identique quel que soit le lecteur.

Les logiciels qui permettent de composer de la musique sous forme de modules sont appelés trackers ou sound trackers.

## Histoire

En 1987, Karsten Obarski (en) crée son premier logiciel d'édition musicale sur l'ordinateur Amiga de Commodore : Ultimate Soundtracker en utilisant un nouveau format audio qu'il crée : le fichier MOD, ancêtre de tous les formats de modules.

À l'époque, les deux seules manières de faire de la musique numérique sont soit d'utiliser les processeurs audio des machines en les programmant, soit de composer au format MIDI. La première manière est rébarbative même pour un programmeur, et la deuxième demande un gros investissement financier pour obtenir une bonne qualité en sachant pertinemment que le rendu dépend de la machine.

Karsten Obarski choisit une troisième voie : générer de façon logicielle l'ensemble du signal audio numérique pour le transmettre à un système chargé de reproduire le son. C'est a priori la méthode la plus lourde, mais en générant le flux de données numériques au fur et à mesure de la lecture, cela ne demande que peu de mémoire. Le format devient alors indépendant des puces électroniques de la machine et permet aux musiciens de travailler sur un format plus souple et plus intuitif.

## Présentation

Les modules apportent plusieurs avantages :

* la qualité d'une musique dépend en grande partie de la qualité de ses instruments ;
* les instruments sont encodés une unique fois dans le fichier. En faisant varier la fréquence de lecture de l'instrument, on modifie la hauteur du son et on simule ainsi les différentes notes de musique ;
* ils utilisent des partitions comme pour les partitions de musique ;
* ne pèsent que quelques centaines de kilooctets pour la plupart, mais certains pèsent seulement quelques kilooctets.

Les inconvénients par rapport aux formats récents :

* les modules ne peuvent pas être enregistrés directement en utilisant un microphone, ils doivent être construits à la main par les musiciens en utilisant un logiciel souvent prévu pour fonctionner avec un unique format de module,
* la qualité n'est pas comparable avec celle des formats récents, qui en plus permettent de la régler.
* il faut trouver un programme capable de lire correctement ces musiques, car si tous peuvent lire un format de fichier, le rendu ne sera pas identique entre tous les lecteurs selon l'interprétation des effets contenus dans les partitions.

Les modules font partie de l'histoire de la techno.

Les modules représentent un très bon compromis entre le temps de calcul et l'encombrement mémoire : un module est bien plus petit qu'un format MP3, et utilise toujours moins de temps processeur. Les développeurs de jeux datant de l'époque de l'Amiga et de l'Atari s'en sont énormément servis, et même certains jeux plus récents utilisent des modules, par exemple Deus Ex.

Il est encore utilisé aujourd'hui dans des contextes très particuliers, notamment quand l'espace de stockage offert aux développeurs et aux musiciens est très limité. Par exemple dans la Gameboy Advance, les calculatrices scientifiques, ou dans des programmes conçus lors des concours de développement : les Demoparties, ou la scène démo.

## Éléments du format

Le format utilise quatre principaux éléments :

* les échantillons sonores (en anglais samples) et les instruments,
* les partitions ou patterns,
* les canaux ou channels.
* les effets.

### La partition

La partition représente une phrase rythmique formée de quelques mesures. Elle identifie la succession des notes de musique jouées par un instrument à un moment précis. Originairement, il est possible de placer 64 notes à la suite pour chaque canal dans une partition. Les partitions peuvent être répétées ou jouées dans un ordre défini dans une séquence de partition, et permettent au musicien de créer le morceau de musique final. Cette structure existe aussi dans les partitions de musique.

### Les instruments

Un instrument est constitué principalement d'un échantillon sonore (en anglais sample) et d'informations caractérisant cet échantillon, ainsi que la manière dont il sera joué. On trouve par exemple son nom, dont l'utilisation a grandement été détournée par les musiciens pour faire de l'ASCII Art et ainsi afficher des commentaires à travers l'interface graphique des trackers.

### Les canaux

Les canaux sont liés et regroupés dans une partition. Le nombre d'instruments pouvant être joués en même temps dépend du nombre de canaux. Une exception existe et est possible via les effets selon le format du module. Originairement, il n'était possible de n'avoir que 4 canaux, 2 à droite et 2 à gauche. Les versions suivantes des trackers ont permis d'atteindre 128 canaux, de pouvoir les mixer entre eux et de choisir leur Balance audio.

### Les effets

Des effets peuvent être ajoutés à chaque note et sur chaque canal. Ils permettent par exemple d'effectuer des modifications sur le son ou sur la lecture de la partition. Voici quelques exemples d'effets classiques :

* portamento montant et descendant,
* changement du volume de la note ou du canal,
* modification du tempo,
* arpège,
* vibrato,
* saut dans la partition ou vers une autre partition,
* décalage, répétition ou coupure d'une note,

## Formats existants

Il est impossible de lister tous les formats de module puisque les développeurs de jeux vidéo ont été amenés à créer leurs propres formats pour protéger leurs œuvres ou apporter des améliorations. Pour cette raison, il est souvent impossible de récupérer le morceau avec un « ripper » (logiciel d'extraction de donnée) pour pouvoir l'écouter avec un lecteur externe au jeu. Dans ce cas les spécifications du format sont issues d'une rétro-ingénierie du jeu.

Quelques formats de modules :

| 8 Voices SoundTracker | BugSoundTracker | C64-SID | ChipTracker | Compact ModFile | Composer669 |
| - | - | - | - | - | - |
| DeltaMusic | DigiBooster Pro | Digital Illusions | DSS | EMS | Eureka Packer |
| FastTracker | Future Composer | Game Music Creator | GraveComposer | IceTracker | Images Music System |
| Impulse Tracker | MED | modCRUSHER | MultiTracker | NoisePacker | NoiseTracker (en) |
| Octalyser | OctaMED | PowerTracker | Promizer | ProRunner | ProTracker |
| QuadraComposer | Rob Hubbard | SCUMM Player | SGT-Packer | SlamTilt | SonicArranger |
| SoundClub | SoundControl | Soundfactory | SoundMaster | SoundTracker | ST-Cruncher |
| StoneTracker | SymphonyPleasure | SynTracker | TakeTracker | TFMX Pro | The Player |
| Tracker Song | Ultimate Soundtracker | UltraTracker | X-Tracker | YM | Zen Packer |

### MOD, SoundTracker

MOD est le format le plus ancien, créé en 1987 par Karsten Obarski avec son logiciel : Ultimate Soundtracker.

Il supporte initialement 4 canaux pour s'adapter aux spécificités du coprocesseur audio de l'Amiga, mais supporte jusqu'à 64 canaux avec les versions suivantes.

La moitié des canaux servent pour la balance gauche et l'autre pour la balance droite. C'est à la base, pour cela que la présentation de la partition est verticale : l'axe du temps allant de haut en bas. Cette présentation a ensuite été conservée par les éditeurs de trackers.

Le temps entre chaque note est fixé à 0,02 seconde, car SoundTracker utilisait à l'origine l'horloge de synchronisation verticale de l'écran qui tournait à 50 Hz (en Europe).

Il utilise, aussi pour des raisons matérielles, des échantillons de 8-bit qui permettent d'être directement envoyés au coprocesseur audio sans aucune autre transformation de la part du processeur.

### S3M, Scream Tracker 3

Son nom vient de l'abréviation de « Scream Tracker 3 module ». Il a été créé par les Finlandais du Future Crew et, en particulier Sami Tammilehto vers 1993 dans leur duel contre un autre éditeur de modules nommé FastTracker.

Les partitions sont compressées en utilisant un simple algorithme run-length, très efficace dans ce cas précis, puisque les partitions contiennent généralement énormément de caractères vides « 0x00 » (0 en hexadécimal codé C).

On peut régler pour chaque note soit le volume, soit la balance du canal, ce qui permet de travailler énormément les modules. Ce format est très utilisé pour les modules instrumentaux.

### XM

Son nom vient de l'abréviation de « FastTracker 2 Extended Module ». Il a été créé par Triton et son tracker FastTracker 2 vers 1993. Ce format permet d'associer aux échantillons une enveloppe pour le volume et de régler précisément la balance droite gauche. Il possède un algorithme simple de compression des échantillons.

### IT, Impulse Tracker

Le nom de ce format vient de l'abrégé de son tracker : Impulse Tracker.

* Ajoute de nouveaux effets, comme le filtre de résonance.
* Possède un bon algorithme de compression des échantillons.

### MO3

Ce nom vient du mélange barbare entre MOD et MP3. Il permet d'encapsuler les formats de modules les plus utilisés (IT, MOD, MTM, S3M, XM) en compressant les échantillons audio en MP3, OGG ou si l'échantillon ne supporte pas bien la compression, une compression sans perte. Le reste des données est aussi compressé.

La compression fonctionne mieux pour les échantillons codés en 16-bits.

MO3 n'est pas un format public, toutefois une pétition existe pour que les spécifications soient rendues publiques. A priori, l'auteur doit juste prendre le temps de rédiger une spécification correcte. Une version non officielle des spécifications du format existe cependant : The unofficial MO3 file format specification, avec des exemples de code source.

### Quelques autres formats

* 669 : Module 8 canaux.
* AHX (fichier audio Amiga)

    Format très léger, car les échantillons ne sont pas présents « physiquement », mais synthétisés pendant l'exécution. Ce format a été créé pour se rapprocher le plus possible du son généré par le Commodore 64. Une variante a été créée à partir de ce format: le HVL ou Hively Tracker.
* MED/OctaMED : (fichier audio Amiga)

    Ce format ressemble énormément à un MOD. Seul l'agencement des informations n'est pas le même. Il supporte 8 canaux. De plus il permet l'utilisation de sons synthétiques
* MTM : MultiTracker Module.
* NED (fichier audio Nintendo Entertainment System) :

    Créé pour Nerd Tracker II. La version standard ne possède pas d'échantillon numérique, mais des informations pour les générer, une version étendue utilise des échantillons numériques compressés dont la fréquence est limitée par l'électronique de la NES. Chaque canal est indépendant et une partition maîtresse existe pour chacun d'eux.
* Oktalyzer : (fichier audio Amiga)

    Dérivé du format MOD, pour lui faire supporter 8 canaux sur un Amiga.
* UMX (package de Unreal)

    Ces packages sont des sortes de ZIP plus ou moins gros regroupant un ou plusieurs modules à jouer sur une carte d'Unreal. Les packages UMX récents ne permettent plus d'enregistrer des modules à l'intérieur, mais seulement des OGG.
* DBM (fichier audio Amiga)

    Ce format peut utiliser des samples au format MP3 et offre jusqu'à 128 canaux et il a été créé pour le logiciel Amiga DigiBooster Pro.

Par ailleurs, il existe un grand nombre d'autres formats qui ont de légères variantes par rapport à des formats existants ou qui sont très peu représentés. Pour ces formats, généralement caractérisés d'exotique, il existe un logiciel permettant d'extraire un grand nombre de variantes englobées dans des fichiers plus vastes qui se nomme ainsi Exotic Ripper.

## Son avenir

Actuellement, les modules, et surtout le format IT (le plus récent), proposent énormément de paramètres et de fonctionnalités. On peut avec créer une musique extrêmement sophistiquée, pour peu qu'on dispose de bons samples et qu'on travaille la réverbération des sonorités ; les plugins VST et VSTi sont supportés par les derniers séquenceurs. Cependant, les séquenceurs sont de moins en moins utilisés au profit de logiciels commerciaux qui sont destinés à un plus large public en fournissant des échantillons sonores permettant ainsi la création immédiate de musique, tandis qu'il faut charger un à un ces mêmes échantillons sonores dans un séquenceur.

De plus, les formats sonores finaux proposés par les séquenceurs ne sont plus très connus du grand public qui a plutôt l'habitude d'écouter des musiques au format MP3, lisibles par n'importe quel baladeur supportant la lecture de tels fichiers. La tendance est à la disparition des modules musicaux.

## Créer un module

Un éditeur de module (ou Tracker (musique)) permet de composer son propre module ou d'en modifier un existant. Certains permettent d'enregistrer et de modifier les échantillons utilisés.

Les trackers les plus connus sont les suivants :

* Ultimate Soundtracker ;
* ProTracker ;
* NoiseTracker (en) ;
* FastTracker ;
* Impulse Tracker ;
* OpenMPT (anciennement ModPlug Tracker) ;
* Scream Tracker ;
* MilkyTracker.
