Obligement - L'Amiga au maximum

Samedi 14 juin 2025 - 16:19  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in English


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z,
ALL


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


Dossier : L'histoire de la création de Music-X
(Article écrit par David Joiner et extrait de dreamertalin.medium.com - janvier 2018)


Music-X était le nom d'un populaire séquenceur MIDI que j'ai créé pour le Commodore Amiga en 1988 et qui a été publié par MicroIllusions. Cependant, pour raconter pleinement l'histoire de la création de Music-X, je dois remonter une décennie ou deux en arrière.

Music-X

Prologue

En tant qu'adolescent au début des années 1970, j'étais très intéressé par la musique électronique. Je voulais absolument avoir mon propre synthétiseur, mais je n'avais tout simplement pas les moyens de m'en offrir un. Au lieu de cela, je passais des heures dans le magasin de musique à jouer avec le dernier clavier Moog ou ARP.

Heureusement, il existait une société appelée PAiA Electronics qui vendait des ensembles permettant de construire son propre synthétiseur pour quelques centaines de dollars. Vers 1974, j'ai acheté l'un de leurs ensembles modulaires, le PAiA 2720 :

Music-X
Le PAiA 2720

Quelques années plus tard, je suis passé à leur système plus grand, le PAiA 4700 :

Music-X
Le PAiA 4700

Les ensembles PAiA ont été pour moi une expérience d'apprentissage formidable, mais ils n'étaient pas satisfaisants à d'autres égards. Ces ensembles ont été conçus pour être aussi peu coûteux que possible, ce qui signifie qu'ils utilisaient des composants relativement bon marché, ainsi que des câblages et des circuits non blindés. Cela signifiait aussi qu'ils avaient tendance à être bruyants, introduisant beaucoup de distorsions et de bourdonnements indésirables dans le signal de sortie. Le fait que mes compétences en soudure laissaient également à désirer n'a pas aidé.

Il s'agissait également de systèmes analogiques, ils avaient ainsi une programmabilité limitée : changer de son nécessitait de nombreux réglages fastidieux des boutons. C'était très bien si vous disposiez d'un coûteux magnétophone son-sur-son qui pouvait être utilisé pour superposer plusieurs instruments en une seule prise de son, mais je ne pouvais pas me permettre quelque chose comme ça. Ils avaient également une capacité limitée à lire des séquences de notes.

PAiA a finalement sorti une carte microcontrôleur (basée sur un microprocesseur 6503), que j'ai achetée et que j'ai appris à programmer en entrant des instructions en hexadécimal sur un clavier. C'était le premier ordinateur que j'ai possédé. Cependant, il n'avait que 256 octets de mémoire, ce qui était frustrant pour le stockage de séquences musicales. J'ai essayé de "mettre à niveau" l'ordinateur vers 1 ko de mémoire statique, et il a fonctionné pendant environ huit heures - après quoi quelque chose dans la carte processeur a surchargé, et n'a plus jamais fonctionné après cela. Je n'ai jamais été très doué avec le matériel, et je n'ai donc pas pu le réparer.

J'ai laissé de côté les instruments PAiA pendant ma carrière dans l'armée de l'air, mais cela ne veut pas dire que j'ai arrêté de jouer de la musique électronique. Je possédais un ARP Omni (synthétiseur de cordes) que je gardais dans ma chambre à la caserne et sur lequel je jouais occasionnellement, même si je ne suis pas un grand claviériste.

C'est à cette époque que j'ai commencé à remarquer une utilisation croissante des sons électroniques dans la musique populaire. Avant cette époque, les synthétiseurs n'étaient apparus que dans des albums de musique "innovante" comme The In Sound From Way Out de Jean-Jacques Perry. Et si de nombreux groupes de rock commençaient à utiliser des synthétiseurs, c'était seulement pour des riffs occasionnels - c'était trop expérimental et exotique pour être utilisé comme "coeur" de la musique.

Je voulais écouter de la musique qui traitait les synthétiseurs de manière sérieuse et musicale. J'étais un grand fan des albums Synergy de Larry Fast, en particulier Electronic Realizations for Rock Orchestra et Sequencer. Ces albums, ainsi que 2112 de Rush, étaient les disques vinyles les plus fréquemment joués sur ma platine.

Music-X
Sequencer de Synergy

Un autre développement de cette période fut mon intérêt croissant pour les ordinateurs personnels. Malheureusement, les systèmes 8 bits comme l'Apple II ou l'Atari 800 ne pouvaient émettre que des bips et des bourdonnements primitifs et ne pouvaient pratiquement pas gérer de polyphonie.

Cependant, en 1982, j'ai commencé à travailler sur un jeu pour le Radio Shack Color Computer appelé Guardian, qui était un clone du jeu d'arcade Defender.

Music-X
Il y a une excellente vidéo sur Guardian ici

Guardian a été publié par une société appelée Quasar Animations, qui était une société éphémère dirigée par un gars dont le travail de jour était marin de la marine ; la distribution et la promotion furent catastrophiques et je pense que j'ai gagné un total d'environ 300 $ sur l'ensemble du projet.

Dans le cadre du développement de Guardian, j'ai dû créer tout un tas d'effets sonores de type arcade. Les connaissances acquises grâce à mon expérience antérieure avec le système PAiA m'ont permis de manipuler les ondes carrées et de moduler les largeurs d'impulsion de manières diverses et intéressantes. Comme il n'y avait pas de puce multitâche ou de son (juste un port de sortie numérique-analogique), j'ai dû entrelacer les instructions de génération de son avec les instructions responsables du dessin des graphismes. Ce fut ma première véritable expérience de création de son sur un ordinateur.

Les quelques projets suivants sur lesquels j'ai travaillé n'avaient pas de son (l'un d'eux était un éditeur de texte pour l'ordinateur Color Computer appelé "Color Scripsit" qui a été annulé avant sa publication).

Music-X
L'Amiga 1000

En 1985, j'ai commencé à programmer des jeux pour le Commodore Amiga (comme détaillé dans mon article sur Faery Tale Adventure). L'Amiga disposait d'une puce sonore dédiée qui pouvait lire jusqu'à quatre échantillons 8 bits à la fois - c'était un pas de géant par rapport à ce que pouvaient faire Apple et Atari.

Après avoir terminé Faery Tale, j'ai décidé qu'il était temps de créer un programme musical "sérieux". J'avais déjà créé Musica, mon éditeur de partitions primitif que j'avais utilisé pour Faery Tale et Discovery. Je voulais un nouveau programme qui serait destiné aux musiciens professionnels et qui serait beaucoup plus puissant. J'en ai discuté avec Jim Steinert, le directeur de MicroIllusions, et il a accepté l'idée (Jim n'a jamais essayé de concentrer MicroIllusions sur un type de produit en particulier).

Cependant, j'ai dû faire face à quelques obstacles majeurs. Le premier est que je n'étais pas moi-même un musicien professionnel. J'avais quelques idées sur les caractéristiques qu'un "vrai" musicien pourrait souhaiter, mais ce n'étaient que des suppositions.

J'ai donc passé de nombreuses heures à traîner dans le magasin de musique local, à harceler le personnel de questions. J'ai finalement convaincu Jim Steinert de dédommager le magasin pour tout le temps que j'y ai passé, en achetant un de leurs claviers MIDI (j'avais de toute façon besoin de l'instrument pour tester le logiciel). Il s'agissait d'un Roland D-50, que j'ai conservé pendant de nombreuses années par la suite.

Music-X
Roland D-50

Le deuxième problème était que les autres plates-formes concurrentes, en particulier le Macintosh et l'Atari ST, avaient pris une longueur d'avance. Même si l'Amiga, avec ses puces personnalisées et son système d'exploitation multitâche, était un système plus puissant, les musiciens se tournaient vers ces autres plates-formes car il existait déjà des logiciels de qualité professionnelle pour elles. Je savais donc que j'avais du retard à rattraper.

L'Atari ST en particulier avait pris de l'avance car, malgré son système d'exploitation relativement primitif (nous l'appelions "CP/M avec des fenêtres"), il était équipé de ports MIDI intégrés. Pour l'Amiga, il fallait un adaptateur matériel supplémentaire pour convertir la sortie du port série de l'Amiga en un périphérique compatible MIDI. Il était donc naturel que les musiciens aient l'impression que l'Atari ST était "l'ordinateur du musicien" - et je craignais qu'une petite différence de perception puisse se transformer en une distinction majeure sur le marché au fil des années.

Développement

J'ai pris quelques décisions clés dès le départ. Il devait être un programme complexe, avec plusieurs "modes" :
  • Une vue "performance complète" pour organiser les pistes et définir le tempo.
  • Un éditeur "piano-roll" pour les pistes individuelles.
  • Un assignateur de contrôle MIDI qui vous permet de décider comment les signaux du contrôleur tels que les pédales et les molettes de modulation seront traités.
  • Une page de bibliothécaire de "patchs", qui vous permet d'enregistrer et de stocker les paramètres des instruments MIDI individuels.
  • Un éditeur de clavier musical, qui vous permet de configurer des claviers "divisés" ou même d'attribuer des pistes de séquenceur à des touches individuelles.
  • Un mode permettant de configurer et de jouer des instruments échantillonnés à l'aide de la puce sonore interne de l'Amiga.
Music-X
Music-X

Je voulais aussi tirer parti de la large palette de couleurs de l'Amiga : je voulais que le programme soit coloré. Chacun des différents modes serait rendu dans un thème de couleur différent. Cela nécessitait de créer une bibliothèque d'interface utilisateur personnalisée qui dessinerait tous les différents panneaux et boutons à l'écran.

Music-X
Music-X

Et je voulais également un retour audio en temps réel, afin que vous puissiez écouter les notes pendant que vous les faisiez glisser avec la souris.

Un problème particulièrement difficile était de régler les performances des routines de lecture pour pouvoir obtenir une synchronisation cohérente et précise. Music-X utilisait l'une des quatre puces de minuterie intégrées de l'Amiga pour générer un signal d'interruption à des vitesses différentes en fonction du tempo de lecture actuel, ce qui me donnait une base de temps solide. Cependant, les routines en assembleur que j'avais écrites pour gérer l'interruption prenaient des durées différentes en fonction de ce qui devait être fait à chaque tic-tac de l'horloge.

(Passez à la section suivante si vous n'êtes pas intéressé par les détails techniques)

J'ai trouvé une manière innovante de mesurer la stabilité de la synchronisation : en utilisant les puces graphiques de l'Amiga comme une sorte d'oscilloscope. Vous voyez, l'une des caractéristiques des puces graphiques de l'Amiga était que la palette de couleurs pouvait être ajustée en temps réel, même lorsque le faisceau vidéo du tube cathodique traversait l'écran. Cela signifiait que si, par exemple, vous changiez le registre de palette de couleurs n°1 du bleu au jaune juste au moment où le faisceau vidéo était à mi-chemin de la première ligne de trame, vous verriez la moitié gauche de la ligne dessinée en bleu et la moitié droite dessinée en jaune. Plusieurs jeux ont utilisé cette astuce pour augmenter le nombre de couleurs au-delà de la limite normale de 32.

Lors de mes tests de performances, j'ai inséré des instructions supplémentaires en assembleur dans le code de lecture qui modifiaient la palette à chaque exécution de chaque partie du code. Cela produisait un motif d'interférence à rayures horizontales sur l'écran de l'Amiga.

Voici comment cela fonctionnait : la résolution de la puce du chronomètre était réglée sur 192 tics d'horloge par noire. Supposons que le tempo de la musique soit réglé sur 60 BPM (battements par minute). Cela correspond à une noire par seconde, ce qui signifie que le code du chronomètre s'exécuterait 192 fois par seconde, soit une fois toutes les 5,2 millisecondes. La vidéo Amiga se rafraîchissait à une fréquence de 60 Hz (60 fois par seconde), il fallait donc 16,6 millisecondes au faisceau vidéo pour traverser l'écran de haut en bas, soit un peu plus de trois tics d'horloge du chronomètre. En utilisant l'astuce du changement de palette, vous verriez l'exécution de ces trois tics d'horloge sous la forme de trois bandes horizontales colorées. En observant de près la largeur des différentes bandes de couleur dans chaque bande, vous pourriez avoir une idée du temps nécessaire à l'exécution de chaque section de code. J'ai ensuite pu utiliser cela pour affiner les performances du code.

Le changement de tempo modifierait bien sûr le nombre de bandes sur l'écran : plus le tempo est rapide, plus le nombre de bandes est élevé. Cependant, si le tempo n'était pas un multiple pair de 60 Hz, les bandes "défileraient" : elles défileraient constamment vers le haut ou vers le bas sur l'écran.

Publication

Finalement, il a fallu décider du nom du produit. Au cours de mes années de compétition dans le domaine des costumes de science-fiction, j'ai rencontré de nombreux costumiers créatifs et talentueux. L'une d'entre elles était une jeune femme, chanteuse de punk-rock aux cheveux roses, qui portait le surnom de "Animal X". Elle avait réalisé un certain nombre de costumes provocateurs tels que War Bride (une robe de mariée entièrement confectionnée en tissu de camouflage militaire) et un corset composé de scarabées irisés. J'ai trouvé que le "X" avait une belle touche punk, j'ai donc appelé le produit "Music-X".

Music-X
L'image de présentation de Music-X

Allison Hershey, ma petite amie à l'époque, était une artiste talentueuse et elle avait notamment eu l'idée d'utiliser des circuits électroniques comme motif visuel dans son art. Nous avons donc eu l'idée d'avoir un clavier de piano qui se "transforme" en circuit imprimé, le tout dans un rose punk très tendance.

Allison et moi sommes tous les deux des personnalités très décontractées par nature, mais nous sommes également très attachées à l'art. Au cours des cinq années que nous avons vécues ensemble, il n'y a eu qu'un seul épisode où nous avons réellement élevé la voix l'un sur l'autre, et c'était lorsque nous avons collaboré sur la couverture de Music-X.

Music-X
Une photo de la couverture originale, sans le logo Music-X.
La signature d'Allie (AFH - Allison Fiona Hershey)
est visible à gauche du centre


Je me souviens d'un épisode vers la fin du projet où Matt Nathan et moi avons travaillé ensemble sur le manuel. Nous avions initialement confié la tâche de créer le manuel à une typographe professionnelle, mais elle n'avait pas d'expérience dans la rédaction de documentation pour les logiciels et avait fait beaucoup d'erreurs. Matt Nathan et moi avons fait une séance marathon (30 heures sans sommeil) à reformater complètement le manuel avant qu'il ne soit envoyé à l'imprimeur.

Réception

Music-X a fait grand bruit lors de sa sortie. De nombreux articles de magazines ont été consacrés au produit. Le programme était particulièrement populaire en Europe, où l'Amiga se vendait encore bien (Commodore n'avait pas fait un très bon travail de commercialisation pour l'Amiga aux États-Unis. Comme l'avait dit un jour le chroniqueur Jerry Pournelle, "Commodore ne pouvait pas vendre la vie éternelle !").

MicroIllusions avait un stand dans divers salons professionnels tels que le NAMM (National Association of Music Manufacturers), et Matt Nathan et moi-même y étions souvent présents. Je me souviens d'un épisode où nous étions tous les deux fatigués après une longue journée passée à tenir le stand et à nous engager dans un combat de style cascadeur, où nous utilisions les boutons de la boîte à rythmes Roland pour fournir les sons de coups de poing et de coups de pied de notre combat simulé (avec des cymbales pour représenter un coup sur la tête. Les Three Stooges n'avaient rien à nous envier !).

Jim Seinert, toujours un grand rêveur, avait dépensé environ 20 000 dollars pour créer un clip vidéo de style MTV pour Music-X. Il avait engagé un réalisateur et une équipe de tournage, mais il ne s'agissait pas de professionnels, mais simplement de quelques aspirants amis d'amis qui prétendaient avoir de l'expérience dans le cinéma. L'idée de la vidéo était que les personnages de "Spanky And Our Gang" de la télévision des années 1950 avaient grandi et formé un groupe de rock. Jim Seinert jouait le rôle de l'un des personnages, "Reptile", qui était censé représenter la version adulte du personnage de Froggy.

Je suis resté loin de toute la production vidéo, car j'étais convaincu qu'une publicité pour un logiciel de musique devait se concentrer sur les fonctionnalités du produit et sur la façon dont il élargirait vos capacités musicales, et non sur l'attention et la renommée d'être une vedette du rock.

Cette décision s'est avérée judicieuse de ma part : le film qui en a résulté était une véritable catastrophe. Ce qui était particulièrement risible, c'est que le grand numéro musical de la fin n'utilisait pas seulement Music-X, mais n'utilisait même pas de synthétiseurs. Pendant les salons professionnels, Jim Seinert le diffusait en arrière-plan sur un grand écran de télévision, mais c'était généralement embarrassant et incompréhensible, et personne n'y prêtait vraiment attention.

Je pense que le point culminant de mon implication a été lorsque j'ai été invité à participer à Computer Chronicles, une émission de télévision sur les nouvelles technologies informatiques.

Une anecdote intéressante à propos de cette vidéo : j'étais en panique parce que j'avais oublié d'apporter le cordon d'alimentation du Roland D-50. J'ai cependant réussi à dévisser le panneau arrière du D-50 et, à l'aide de pinces crocodiles provenant de l'établi électronique du studio de télévision, à lui fixer un câble d'alimentation quelques minutes avant la séance. Vous remarquerez peut-être que la disposition des objets sur le bureau où je suis assis dissimule soigneusement les câbles bricolés.

Deux autres choses à propos de la vidéo : 1) Le t-shirt que je porte est un de mes modèles. 2) J'ai toujours détesté voir mon ancien nom, que je n'ai jamais vraiment aimé. Cela me rappelle Chelsea Manning, qui a dit un jour que la prison ne la dérangeait pas tant que ça, mais que tout Internet voie des photos d'elle quand elle était enfant.

Après la sortie de Music-X, de nombreuses fonctionnalités supplémentaires et une gestion de matériel supplémentaire ont été demandées. À un moment donné, j'avais un rack géant de la taille d'un mur rempli de claviers et de modules de traitement du son dans mon bureau à domicile afin de pouvoir tester le logiciel avec différents modules matériels.

Music-X

Cependant, il y avait un bogue assez sérieux que beaucoup de gens signalèrent : parfois, lors de l'enregistrement des données d'entrée MIDI, Music-X perdait des données. Parfois, une note ou un signal de contrôle était "abandonné" et n'apparaissait pas dans l'enregistrement final. J'ai passé des mois à essayer d'en trouver la cause, en vain. Ce n'est que des années plus tard que j'ai appris que le bogue était bien réel et qu'il n'était pas dû à mon code, mais à un défaut de conception du matériel Amiga lui-même. Plus d'informations à ce sujet plus loin dans l'article.

Finalement, Jim Seinert m'a demandé de produire une version simplifiée de Music-X qui pourrait être vendue à un prix inférieur. Je n'étais pas très à l'aise avec l'idée de détériorer délibérément le logiciel, mais j'ai convenu qu'il était logique de supprimer certaines des fonctionnalités les plus complexes. Jim Seinert a appelé le nouveau produit "Music-X Jr.".

Au final, je n'ai pas gagné autant d'argent avec Music-X qu'avec Faery Tale Adventure. En fait, j'avais négocié avec Jim Seinert un taux de redevance plus élevé en ne prenant pas d'avance d'argent à l'avance - à la place, je vivrais des bénéfices de Faery Tale pendant que je créais Music-X. Cela s'est avéré être une erreur - bien que Music-X ait été populaire, MicroIllusions avait des difficultés et a fait beaucoup d'erreurs sur le marché. En définitive, je pense que j'ai gagné moins d'un quart de ce que j'avais gagné avec Faery Tale, ce qui m'a laissé dans une situation financière assez désastreuse. C'est à ce moment-là que j'ai commencé à faire du travail de sous-traitance directement pour Commodore et d'autres employeurs, même si j'ai réalisé un autre projet pour MicroIllusions, qui était Discovery 2 (avec Joe Pearce).

Joe Pearce a ensuite créé un lecteur intégrable pour les fichiers Music-X, appelé MaxTrax, qui permettait de lire des fichiers de performance Music-X à partir de vos propres programmes. Il a été utilisé dans un certain nombre de jeux tels que Legend Of Kyrandia (version Amiga).

Conséquences I

Plusieurs années plus tard, lors d'une conférence de développeurs Amiga, j'ai été contacté par Bryce Nesbitt, un ingénieur travaillant sur la prochaine version d'AmigaOS pour Commodore.

Je ne me souviens pas de ses mots exacts, mais l'essentiel était qu'il avait finalement résolu le problème de la raison pour laquelle Music-X (et d'autres logiciels de musique Amiga) semblaient avoir un problème d'enregistrement de données MIDI.

Comme j'ai assisté à toutes les expositions Amiga et aux salons de développeurs, je connaissais tous les gars qui travaillaient sur AmigaOS. J'avais de longs échanges par courriels où je les suppliais de m'aider à résoudre ce bogue. L'un des ingénieurs (qui a finalement été renvoyé par Commodore) m'a dit cyniquement lors d'un CES : "Votre problème est simple. L'Amiga ne peut pas faire de MIDI."

Et malheureusement, le marché des musiciens professionnels semblait être du même avis : ils se tournaient de plus en plus vers le Macintosh comme plate-forme de facto pour faire de la musique et du MIDI, laissant derrière eux des produits comme le mien et le Bars And Pipes de Todor Fay.

Mais Bryce Nesbitt, Dieu le bénisse, a continué à s'attaquer à ce problème en coulisses et a fini par trouver une solution. Il s'est avéré que les quatre puces de minuterie de l'Amiga interféraient avec le port série. Les puces de minuterie et le matériel série étaient tous deux pilotés par interruption, et les interruptions de minuterie avaient une priorité plus élevée que les interruptions série. Pire encore, la puce série de l'Amiga n'avait qu'un tampon mémoire d'un octet, ce qui signifie que si vous ne récupériez pas les données avant l'arrivée de l'octet suivant, les données étaient perdues.

Bryce Nesbitt a pu atténuer quelque peu le problème en faisant désactiver par AmigaOS les puces de minuterie qui n'étaient pas utilisées. Malheureusement, elles ne pouvaient pas toutes être désactivées : AmigaOS avait besoin d'une minuterie et Music-X d'une autre. La désactivation de deux des quatre minuteries a considérablement réduit la fréquence du bogue, mais ne l'a pas éliminé complètement. Et à ce stade, la réputation de l'Amiga était irrémédiablement entachée, du moins dans les cercles musicaux professionnels. Il était trop tard.

Conséquences II

En 1991, il était clair que l'Amiga était une plate-forme en voie de disparition et que si vous vouliez une large base de clients, vous alliez devoir cibler MS-DOS comme plate-forme principale.

Mais un nouveau concurrent était sur le point de faire son apparition : BeOS. Créé par Be Inc., BeOS était un système d'exploitation moderne, ultra-rapide, conçu ex-nihilo. Il gérait non seulement le multitâche comme l'Amiga, mais était même doté de plusieurs processeurs !

Music-X
Le système d'exploitation de Be Inc. (BeOS)

J'ai décidé de créer un nouveau séquenceur musical pour BeOS. Je ne pouvais pas utiliser le nom "Music-X", car ce produit était toujours vendu par MicroIllusions, ou plutôt son successeur, AMP Entertainment.

Au lieu de cela, j'ai trouvé un nouveau nom : MeV, qui signifie "Music enVironment" (environnement musical), mais qui est aussi le symbole utilisé par les physiciens pour indiquer les "mégaélectronvolts". J'ai passé plusieurs mois à développer le produit et j'ai pu faire des démonstrations impressionnantes.

Cependant, BeOS présentait quelques défauts techniques fondamentaux. Le plus important était qu'ils étaient tellement attachés à l'idée du multitâche qu'ils forçaient les programmes à utiliser le multitâche, qu'ils le veuillent ou non. Vous voyez, sous BeOS, chaque fenêtre s'exécutait dans un fil d'exécution séparé. L'idée était que les opérations dans une fenêtre ne bloquaient pas les opérations dans une autre.

Cependant, MeV était une application multi-fenêtres où toutes les fenêtres partageaient une structure de données sous-jacente commune : le moteur de lecture. MeV vous permettait d'avoir plusieurs "vues" de votre musique : vous pouviez ouvrir l'éditeur de "piano-roll" en même temps que le bibliothécaire de patchs et éditer dans les deux fenêtres en même temps, pendant que la musique était lue.

Pourquoi est-ce un problème ? Vous devez comprendre qu'écrire du code multi fils d'exécution est difficile. Eh bien, laissez-moi corriger cela : écrire du code multi fils d'exécution est facile, écrire du code multi fils d'exécution sans bogue est vraiment, vraiment difficile. Tellement difficile, en fait, que de nombreux langages populaires d'aujourd'hui, tels que Node.js, ne gèrent même pas la fonction de fil d'exécution. Les gens parlent depuis des décennies de la façon de créer des environnements de programmation qui permettent une gestion multi fils d'exécution simple et sans blocage, et bien que de nombreuses solutions aient été proposées, il n'y a pas de vainqueur clair, même aujourd'hui, 25 ans plus tard.

Sur Amiga, cela ne posait pas de problème car Music-X n'utilisait pas de fils d'exécution, mais des interruptions matérielles. Cela signifiait que lorsque le code de lecture était en cours d'exécution, le code d'édition était effectivement gelé. Vous n'aviez pas à vous soucier d'une tâche essayant de modifier une donnée pendant qu'une autre tâche essayait de la lire.

Mais sur BeOS, avoir plusieurs éditeurs essayant d'accéder aux données MIDI en même temps que le moteur de lecture essayait de les lire était une recette pour des blocages et des gels de la machine.

J'ai eu de longues discussions par courriels avec les développeurs de BeOS sur la façon de gérer des structures de données partagées complexes. Ils ont même ajouté des fonctionnalités spéciales à BeOS à ma demande, comme un sémaphore de lecture/écriture. Mais au final, le problème était tout simplement trop intimidant et complexe. Le projet s'est effondré sous son propre poids et je suis passé à autre chose.

Conséquences III

Vers 1991-1992, j'ai reçu un appel d'un producteur d'Electronic Arts nommé Hal Jordy qui voulait savoir si j'étais intéressé par la création d'une suite au populaire Deluxe Music Construction Set (DMCS) pour Amiga.

Music-X
La version Mac originale de Deluxe Music Construction Set

Le DMCS original a été écrit par Geoff Brown pour Mac, puis porté sur Amiga, où il a rencontré un grand succès. Geoff Brown travaillait sur une version 2.0, et Hal Jordy voulait savoir si je voulais faire le portage sur Amiga.

C'était juste après la création de The Dreamers Guild. Normalement, j'aurais simplement accepté le contact, mais je voulais aider à promouvoir notre nouvelle entreprise, alors j'ai dit que je le ferais si cela pouvait devenir un projet officiel de The Dreamers Guild.

À cette époque, j'avais un riche réseau de relations sur lesquelles je pouvais m'appuyer pour m'aider, notamment Matt Nathan (qui avait aidé sur Music-X) et Joe Pearce (mon collaborateur sur Discovery 2 et de nombreux autres projets).

Je me suis lancé dans le projet avec enthousiasme, mais j'ai vite réalisé que tout n'allait pas bien. Le code DMCS original du Mac était un fouillis non structuré, et la nouvelle version Mac de Geoff Brown était en retard et en difficulté. Plutôt que d'attendre que la version Mac soit terminée (ce qui n'a apparemment jamais été le cas), j'ai décidé d'aller de l'avant et de "combler les lacunes" moi-même. Au final, j'ai essentiellement réécrit l'intégralité du programme.

Une chose que je voulais pour le projet était d'adopter l'apparence d'AmigaOS 2.0, en lui donnant un aspect beaucoup plus professionnel.

Music-X
Deluxe Construction Kit sur Amiga

Cependant, Electronic Arts souhaitait que le programme soit compatible avec les versions antérieures d'AmigaOS. Une fois de plus, mon collaborateur Joe Pearce est venu à la rescousse en créant une bibliothèque d'adaptateurs qui permettrait aux programmes écrits pour l'interface utilisateur d'AmigaOS 2.0 de fonctionner sur AmigaOS 1.3. Nous avons ensuite vendu cette bibliothèque à d'autres développeurs en tant que produit indépendant de The Dreamers Guild.

J'ai également créé un nouveau format de fichier standard pour le stockage des partitions. Vous voyez, l'une des grandes choses qui distinguait l'Amiga des autres ordinateurs à l'époque était que de nombreuses applications Amiga utilisaient un format de fichier commun (IFF - Interchange File Format) qui permettait d'exporter un fichier d'une application et de l'importer dans une autre application. Cela peut ne pas sembler particulièrement passionnant aujourd'hui, où nous disposons de normes robustes comme MPEG et PNG, mais c'était assez révolutionnaire à l'époque.

Je savais que la MMA (MIDI Manufacturer's Association) travaillait sur une norme MIDI pour la notation musicale, mais les documents techniques n'étaient à l'époque qu'une ébauche. J'ai décidé de créer un nouveau format de fichier IFF appelé CMUS (Complex Musical Score) qui, je l'espérais, deviendrait un nouveau standard. Malheureusement, j'ai fait quelques erreurs dans la conception de CMUS. Et au final, cela n'a pas eu d'importance car le soutien à l'Amiga déclinait partout dans le monde. Ce fut le dernier programme Amiga majeur sur lequel j'ai travaillé.

Coda

Pour mes propres créations musicales, j'ai fini par passer à EMagic Logic, qui est devenu plus tard Apple Logic. J'ai choisi ce produit en particulier parce que je voulais quelque chose qui aurait de nombreuses fonctionnalités similaires à Music-X, mais qui fonctionnerait sur un ordinateur moderne.

J'ai également acheté de nombreux modules de synthétiseurs logiciels de Native Instruments, Inc. J'ai vendu mon immense mur de synthétiseurs et de modules en rack, et je suis heureux de m'en être débarrassé. Je n'ai jamais aimé l'idée que ma musique soit confinée dans un studio, enchaînée au mur par des milliers de câbles électriques.

Il est intéressant de noter que même si j'utilise toujours Logic pour créer de la musique sur mon iMac, je n'utilise aucune autre application de la marque Apple - ni Safari, ni Face Time, ni Mail, ni aucune autre. Je préfère les applications en code source ouvert qui fonctionnent sur n'importe quelle plate-forme (mon ordinateur portable fonctionne sous Ubuntu) et qui ne m'enferment pas dans le "jardin clos" d'une seule entreprise.

Vous pouvez retrouver plusieurs de mes compositions musicales récentes sur ma page SoundCloud.


[Retour en haut] / [Retour aux articles]