Sommaire
- Petit rappel liminaire et essentiel en guise d'introduction rapide afin de rentrer dans le sujet sans superfétatoires déclarations qui n'auraient que pour but de tester la limite d'affichage d'un titre.
- OpenMPT et la concurrence
- OpenMPT en lui-même
- OpenMPT 1.28 : le futur
Petit rappel liminaire et essentiel en guise d'introduction rapide afin de rentrer dans le sujet sans superfétatoires déclarations qui n'auraient que pour but de tester la limite d'affichage d'un titre.
OpenMPT se place en digne héritier d'une abondante lignée de Soundtrackers.
Cette façon de composer de la musique est tombée en désuétude ces dernières années. C'est bien dommage, car c'est un format naturel pour les démos et les jeux videos, où pourtant la musique streamée s'est imposée peu à peu (mis à part quelques remarquable exceptions).
OpenMPT et la concurrence
OpenMPT n'est bien sûr pas le seul logiciel à être encore développé aujourd'hui, il existe également:
MilkyTracker : interface à l'ancienne, open-source, orienté MOD/XM (héritage FastTracker2 ).
Schismtracker : interface également à l'ancienne (mais plus ergonomique que Milky, de mon avis personnel à moi). Open-source, orienté S3M/IT (héritage ImpulseTracker ). Particularité intéressante, il supporte les instruments OPL : nous allons y revenir.
Sunvox : approche complètement différente, closed-source (builds linux & replays-routines disponibles) mais vaut incontestablement le détour pour ses générateurs incroyables.
Klystracker : beaucoup moins connu, mais vraiment sympathique pour la chip-music avec sa synthèse FM. Tire un peu sur le proc pour la replay. Ce n'est pas forcément rédhibitoire: le CPU a tendance à s'ennuyer de nos jours.
OpenMPT en lui-même
Aujourd'hui c'est OpenMPT qui nous intéresse.
OpenMPT est un logiciel open-source , mais ses différentes composantes sont supportées sous Linux de plusieurs façons.
Il est activement développé, principalement par deux contributeurs réguliers: Manxorist et Saga Musix , par ailleurs très actifs dans le petit monde du soundtracker.
Partie replay
Sa partie replay (pour rejouer des compositions) est supportée nativement sur un grand nombre de plate-formes, dont Linux. Il est à noter qu'il ne faut pas confondre la libmodplug, assez répandue dans le monde Linux et issue d'un fork ancien de ModPlugTracker (ancien nom de OpenMPT), et la libopenmpt.
La libopenmpt est développée conjointement avec OpenMPT et suit bien sûr ses évolutions. Quelques utilitaires sont intégrés au repo source, dont openmpt123 qui permet d'écouter en shell les modules dont le format est supporté par OpenMPT.
La libopenmpt est très performante, et offre bien plus de possibilités que la libmodplug qui n'a pour elle que sa large distribution. La libmodplug est par exemple intégrée dans love2d , bien qu'il soit régulièrement évoqué la possibilité de la remplacer par mieux (si il y a des courageux…).
Partie tracker
Il supporte les deux grandes familles de trackers classiques, à savoir MOD/XM et S3M/IT. , que ce soit en chargement ou sauvegarde.
Son format interne MPTM apporte quelques extensions à IT.
Il permet également l'utilisation d'instruments VST, mais je n'ai jamais utilisé cette possibilité dont la modernité me rempli d'effroi (aussi et surtout parce que cela m'empêcherait d'utiliser la replay-routine).
Son interface est à mon avis la plus ergonomique de tous les trackers: nous sortons des interfaces des années 90, à la lisibilité discutable.
Comparaison des différentes interfaces
(pour cette comparaison, je n'ai pas réussi à insérer des miniatures malgré l'aide du wiki linuxfr: donc clic-droit + voir pour l'image originale. Si un modo veut bien corriger ça et m'expliquer…)
MilkyTracker: bienvenue dans les années 90.
SchismTracker: rendu flou dès que l'on redimensionne.
OpenMPT: clair et net.
Avec OpenMPT, nous avons une interface intégrée à l'OS. Malheureusement, cette interface est liée à Windows depuis le début, et rend le portage sous Linux bien difficile.
Support Wine
La bonne nouvelle est que les mainteneurs font tout ce qu'ils peuvent pour que le programme tourne parfaitement sous Wine.
OpenMPT détecte au démarrage si il tourne sous Wine, et applique quelques patches le cas échéant.
Le MIDI fonctionne également très bien, comme j'ai pu le tester avec mon mini-clavier Korg nanoKEY2
On peut installer le programme de façon traditionnelle ou utiliser une archive et le lancer directement avec wine mptrack.exe
.
Il y a également un mode «portable» qui n'écrit rien dans la base de registres et stocke la configuration dans le répertoire courant.
OpenMPT 1.28 : le futur
OpenMPT 1.28 est la version de développement, sur le point de sortir.
L'OPL est désormais supporté.
L'OPL dans les soundtrackers
Les soundtrackers utilisent traditionnellement des samples. Il y eu cependant quelques notables exceptions, en particulier ScreamTracker 3.
En effet, ScreamTracker3 permettait de mélanger les samples et la synthèse FM. La synthèse FM était assurée par le chipset OPL présent sur les anciennes carte sons Adlib, puis SoundBlaster.
Le chipset supporté est donc l'OPL2, qui permettait 9 voies supplémentaires, en plus des voies PCM (samples).
L'utilisation de l'OPL apparait clairement dans le format S3M.
Le chipset est rustique, mais supporte néanmoins des sonorités intéressantes. Le fait de pouvoir ajouter des samples pour les instruments dont le rendu FM est désagréable (comme les percussions crachouillantes) permet de composer de bien belles mélodies.
Un bon exemple de ce qui est possible peut-être trouvé dans la démo Amnesia du groupe Renaissance. Elle accuse certes son âge, mais sa musique est toujours aussi intéressante (surtout la première, ma préférée).
La musique utilisait le format spécial CDFM propre au groupe et documenté ici. Ce format fut uniquement supporté dans le bien-nommé CDFM-tracker.
Néanmoins, un convertisseur a été écrit par Malvineous, ce qui a permis sa conversion en S3M.
Jusqu'à présent, seul SchismTracker permettait une écoute des pistes OPL, mais cela vient de changer avec OpenMPT 1.28.
OpenMPT 1.28 et l'OPL
le support
La plus grande nouveauté est le support des instruments OPL2 et OPL3, dans la droite ligne de ScreamTracker3 (quoique pour ce qu'il est d'OPL3, je ne suis pas sûr que ScreamTracker3 le supportait puisque limité à 9 channels).
Pour l'installer, il faut soit compiler soi-même la version de développement, soit passer par les builds créés en continu.
Je suis passé par la version win32 des builds , et ceci fonctionne très bien.
Les builds de la 1.28 sont ici.
Pour l'instant, il n'est pas possible de créer un nouvel intrument OPL.
Il faut donc en utiliser un existant. On peut cependant faire varier ses caractéristiques avec l'interface: menu «samples», où le graphique d'échantillonage sera remplacé par des sliders afin de faire varier les caractéristiques de l'instrument.
Pour trouver des instruments, il va vous falloir fouiller quelque peu , car on trouve surtout la description des acronymes S3I (instruments FM de ScreamTracker3) et SBI (soundblaster instruments).
Vous pouvez également essayer les instruments de l'archive contenant les S3M Amnesia, postée plus haut.
Vu la vitesse à laquelle les versions de dev se succèdent, il est possible que les possibilités d'édition d'instruments soient beaucoup plus grandes au moment où vous lirez ces lignes.
le concours
Il consiste à créer un module avec la version 1.28, en exploitant les instruments FM.
Il est ouvert jusqu'au 30 septembre 2018 (date de la sortie probable de la nouvelle version)
Il n'y a rien à gagner, si ce n'est la gloire d'avoir son module distribué avec les prochains OpenMPT.
Alors si un musicien traine par ici, c'est le moment ! Et le but de ce journal était d'ailleurs d'augmenter le nombre de participants potentiel.
# Liste non exhaustive
Posté par pulkomandy (site web personnel, Mastodon) . Évalué à 5.
Dans les trackers libres et toujours plus ou moins vivants, il y a aussi:
Et encore plein d'autres
[^] # Re: Liste non exhaustive
Posté par jseb . Évalué à 4.
Oui il y en a beaucoup, mais je me suis volontairement limité aux trackers «généralistes».
Avoir la possibilité de jouer des samples en plus d'ondes modulées (FM, AHX , émulateurs SID etc) est quand même intéressant.
Ce que j'aime chez OpenMPT, outre qu'il continue à évoluer, est le travail réalisé sur la replay-routine. Elle offre ce qui est probablement le rendu le plus fidèle pour les anciens formats. Il y a même un export «compatible» pour les formats XM et IT, afin de respecter les standards d'origine (https://wiki.openmpt.org/Manual:_Saving_and_exporting#Compatibility_Export).
Il y a beaucoup de docs également, et des gens pour répondre aux questions sur l'API.
Hively Tracker est intéressant, car il tourne absolument partout, par contre assez minimaliste non ?
Je ne connaissais Protrekkr que de nom, et je croyais qu'il s'agissait d'un programme Amiga abandonné.
Son interface a l'air bien, et lui même semble complet.
Par contre il ne bouge plus trop ( https://github.com/falkTX/protrekkr ) et son fork n'a pas changé depuis deux ans ( https://github.com/paulbatchelor/protrekkr ). À moins qu'il ne s'agisse de celui-ci : https://github.com/hitchhikr/protrekkr ?
Discussions en français sur la création de jeux videos : IRC libera / #gamedev-fr
[^] # Re: Liste non exhaustive
Posté par pulkomandy (site web personnel, Mastodon) . Évalué à 4.
HivelyTracker ne permet pas d'utiliser des samples si je me souviens bien. Il est dérivé de AHX (pour Amiga) et fonctionne avec un synthétiseur en temps réel.
Pour protrekkr, en effet je pense que la version de hitchhikr est la plus à jour (elle était hébergée sur Google Code il me semble, avant que ça ferme). Je ne sais pas si des évolutions sont nécessaires. Peut-être que le programme fait tout ce qu'on attend de lui et qu'il n'y a pas tellement besoin de changements?
hitchhikr pourra faire la maintenance si nécessaire, ou bien je peux aussi m'en occuper (en tant que responsable du port vers Haiku, j'ai déjà un peu touché à son code).
[^] # Re: Liste non exhaustive
Posté par jseb . Évalué à 2. Dernière modification le 24 septembre 2018 à 17:07.
J'ai essayé de compiler protrekkr en partant d'un git clone du repo hitchhikr.
Il a fallu que je fasse quelques modifs pour que ça passe avec C++11:
cstdint
pour letypedef uint64_t
dansendianness.h
-pthread -fpermissive
dans les flags de compile demakefile.linux
typedef unsigned long long uint64_t;
(toujours dansendianness.h
)Il me semble que c'est tout…
Avec ça, ça compile et ça linke, mais:
On ne peut pas utiliser Alsa ?…/protrekkr/release/distrib$ ./ptk_linux
Error: Error while calling open("/dev/dsp")
Pourtant dans le makefile, il y a bien :
-D __LINUX_ALSASEQ__
Bon, il semble qu'il faille installer une couche d'émulation telle que
alsa-oss
.Je n'ai pas cherché plus loin.
Discussions en français sur la création de jeux videos : IRC libera / #gamedev-fr
# Trackers <3
Posté par rewind (Mastodon) . Évalué à 10.
C'est malin ! Je viens de passer ma journée à lire des mods ! Malheureusement, pas avec OpenMPT. Mais grâce à cette news, et en particulier la page wikipedia sur les trackers, j'ai découvert qu'il existait un clone de FastTracker 2. Ça compile nickel sous Linux et le résultat est simplement bluffant ! D'après ce que j'ai compris, l'auteur a pris les sources originales en Pascal et assembleur et les a porté en C/SDL2. L'ensemble n'est pas libre, puisque les assets sont sous CC-BY-NC-SA. Mais quand même, ça me replonge une petite vingtaine d'année en arrière. Du coup, j'ai fait de l'archéologie dans mon grenier et j'ai ressorti plein de vieux CD gravés à cette époque là et sur lesquels j'avais toute une collection de xm, s3m et autre mod. Je suis aussi allé faire un tour sur modarchive et sur scene.org pour en chercher quelques autres. Bref, ça fait du bien d'entendre à nouveau Necros, Skaven, Purple Motion, MaF, Zodiak, Keih303, etc !
Personnellement, j'adore les trackers, et je me demande pourquoi ils n'ont pas plus percé que ça. Moi qui n'ai aucune formation musicale (hormis ce qu'on apprends au collège), je pouvais tâtonner et sortir des trucs pas trop mal. Après, pour faire des choses évoluées, il fallait des années d'expérience, mais comme pour tout art. Quand je vois que, de nos jours, il faut un matériel de dingue pour faire de la MAO, j'ai l'impression qu'un tracker demandait (et demande toujours ?) beaucoup moins de ressources (FastTracker2 tournait sur un 486 DX2 à 66MHz !). Vivent les trackers !
[^] # Re: Trackers <3
Posté par Graveen . Évalué à 5. Dernière modification le 23 septembre 2018 à 21:59.
gros gros +1 :)
[^] # Re: Trackers <3
Posté par Christophe "CHiPs" PETIT (site web personnel) . Évalué à 2.
Idem.
Mes productions des années 80/90 : https://modarchive.org/index.php?request=view_artist_modules&query=90994, de l'Atari ST au PC…
;-)
[^] # Re: Trackers <3
Posté par jseb . Évalué à 2.
Héhé, ça sonne assez Karsten Obarski ;)
Discussions en français sur la création de jeux videos : IRC libera / #gamedev-fr
[^] # Re: Trackers <3
Posté par Christophe "CHiPs" PETIT (site web personnel) . Évalué à 1.
De ce que j'ai vu sur https://fr.wikipedia.org/wiki/Ultimate_Soundtracker, il est fort possible qu'une partie des instruments provienne bêtement de la collection ST-01, mais il y a des échantillons provenant du Yamaha DX-100 que j'avais à l'époque, d'autres provenant de mon Casio PT-30, et certains de modules divers et variés récupérés avant l'arrivée d'Internet dans nos foyers.
[^] # Re: Trackers <3
Posté par rewind (Mastodon) . Évalué à 2.
J'ai jamais osé mettre mes «productions» sur un site. À un moment, elles étaient en ligne mais elles ne sont pas restées très longtemps.
[^] # Re: Trackers <3
Posté par HL . Évalué à 1.
Je ne reconnais pas le son de la puce AY-3-891x (Yamaha) qui habitait les Atari ST et les Amstrad CPC… Je n'ai essayé que quelques tunes. Les MODs étaient joués sur quelle puce ?
[^] # Re: Trackers <3
Posté par jseb . Évalué à 2.
L'atari ST était capable de jouer des samples, bien que possédant une puce audio plutôt ancienne pour l'époque.
Par contre, je ne sais pas comment il modulait ceux-ci. L'amiga changeait la fréquence du sample en modifiant la vitesse du canal DMA par lequel celui-ci passait, ce qui n'utilisait pas de CPU.
Discussions en français sur la création de jeux videos : IRC libera / #gamedev-fr
[^] # Re: Trackers <3
Posté par pulkomandy (site web personnel, Mastodon) . Évalué à 3.
Sur ST les samples sont joués au CPU, en écrivant dans les registres de volume de l'AY. En général ceci est fait à partir d'une interruption timer pour gérer la fréquence. Ces registres de volume étant seulement sur 4 bits, ça limite un peu les choses.
Sur Atari STe, il y a en plus de la puce (qui est un YM2149, presque la même chose que l'AY-3-8912 mais pas tout à fait), deux canaux DMA pour les samples.
Précision sur l'Amiga: les canaux DMA n'utilisent certes pas le CPU, mais font des accès à la chipram, ce qui empêche le CPU d'y accéder en même temps. Ce dernier est donc tout de même ralenti, à moins de s'arranger pour travailler uniquement en fastram (la mémoire étendue isolée du chipset et inaccessible par les canaux DMA).
[^] # Re: Trackers <3
Posté par HL . Évalué à 1.
D'ailleurs il me semble que la différence entre l'Amiga et l'Atari est la forme de l'onde : carrée sur l'Atari (comme l'Amstrad d'ailleurs) et sinusoïdale/définissable sur l'Amiga.
Ce qui fait qu'on peut distinguer les tunes Atari de celles de l'Amiga. D'où mon étonnement en écoutant ceux du lien du message auquel je répondais.
[^] # Re: Trackers <3
Posté par jseb . Évalué à 3.
Tu les as écouté sur un Atari ? Si tu les as écouté sur modarchive, c'est un player javascript sans émulation du son d'une machine particulière.
Sinon comme autre différence, il me semble que l'atari ST n'avait que 3 canaux, alors que le format .mod comportait 4 canaux (limite hard de l'amiga). Il devait donc y avoir un mixage de deux canaux sur un seul, ce qui doit commencer à s'entendre sur 4 bits (cf message un peu plus haut dans ce fil).
Discussions en français sur la création de jeux videos : IRC libera / #gamedev-fr
[^] # Re: Trackers <3
Posté par HL . Évalué à 0.
Oui, c'était le player JS de ModArchive. Merci pour ta réponse.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.