Col-Tracker, part VII

La première partie de cette série est disponible ici.

Un petit break…

Bon, il semblerait que j’ai encore été distrait par d’autres projets, et le Col-Tracker n’a pas avancé du tout depuis deux ans :o(

Flash est maintenant totalement obsolète, et il est probable qu’une fois terminé Col-Tracker ne fonctionnera que sur Chrome puisque ce dernier a un plug-in Flash intégré (pour l’instant).

La bonne nouvelle est que l’API audio de Javascript semble assez complète pour que je puisse porter la partie « qui joue la musique » si nécessaire, mais je vais essayer de faire ça le plus tard possible car ça me prendrait sans doute quelques mois.

Mon objectif à court terme est d’implémenter l’éditeur d’instrument et de pouvoir enfin jouer une pattern complète (au moins sur une voix).

A dans deux ans ! (non, je déconne (enfin… j’espère ;o) ))

…et ça repart

J’ai passé un peu de temps à rafraîchir ma mémoire sur le format des notes de musiques du BIOS de la Colecovision. Il y a tellement de paramètres que l’éditeur d’instruments va sans doute ressembler à un simulateur de vol. Ca pourrait être un problème pour les nouveaux utilisateurs, mais ça devrait aller si je fournis quelques instruments d’exemple. Ils n’auront qu’à expérimenter en modifiant les différents paramètres jusqu’à obtenir le son qu’ils veulent.

Le principe d’un instrument sera une suite de « stages » qui correspondront à des « notes du BIOS ». Par exemple pour faire une enveloppe de volume avec 4 stages (ADSR : Attack, Decay, Sustain et Release), on aura :

  • Un stage avec un volume partant de zéro et un « volume sweep » positif pour que le volume atteigne son maximum (c’est l’attaque de la note)
  • Un stage partant du volume maximal avec un « volume sweep » négatif pour que le volume atteigne son niveau de maintient
  • Un stage sans effet pour la phase de maintient
  • Un stage avec un « volume sweep » négatif pour que le volume atteigne zéro

Pour la première version chaque stage sera limitée à ce qu’une « note simple » peut faire avec les fonctions du BIOS (par exemple sur la durée maximale des notes) mais je pense pouvoir enlever ces limites plus tard.

Je me suis rendu compte que j’avais totalement oublié de prévoir un moyen d’insérer des silences entre deux stages mais on devrait pouvoir s’en sortir en insérant une note avec un volume à 0 qui sera de toutes façons converti en silence lors de la « compilation » qui transformera le mod en musique compatible pour le BIOS.

J’ai aussi réalisé que le format des notes du 4ème canal (celui qui génère des « bruits blancs ») était suffisamment différent du format des autres notes pour nécessiter des instruments spécifiques, donc j’ai fait le choix d’ignorer ce canal dans un premier temps.

Bon, il est temps de commencer à implémenter l’éditeur de stages pour les instruments (ça ne fait que 4 ans que j’ai commencé ce projet :o) ).

Il y aura une limite de 16 stages par instruments. Ca peut sembler peu mais puisque chaque stage peut prendre jusqu’à 8 octets au format BIOS, utiliser 16 stages prendrait 128 octets (dans le pratique, je pense que 2 ou 3 stages devraient couvrir 99% des besoins).

Je suis sûr qu’il faudra que je change la moitié de ces choix, mais il faut bien commencer quelque part :o)

PS: Je me suis aussi rendu compte que certains des raccourcis claviers affichés dans la ligne de statut ne correspondent plus à l’implémentation courante, mais je suppose que ça ne deviendra pas un problème avant que j’ai des utilisateurs :o)

La huitième partie de cette série se trouve ici.

Un commentaire sur “Col-Tracker, part VII

Laisser un commentaire