CODING ★ DE MOZART A AMSTRAD (AMSTRAD MAGAZINE) ★

De Mozart a Amstrad (Amstrad Magazine)
De Mozart à Amstrad : en fait, ce choix n'est pas tout-à-fait un hasard, tout du moins en ce qui me concerne. Lorsque l'on connaît un peu la vie de ce cher Wolfgang Amadeus, on en arrive très vite à supposer que si Mozart vivait actuellement, il serait très heureux de pouvoir faire de la musique avec ces jouets magnifiques que sont les synthétiseurs et autres ordinateurs. Alors, à titre posthume, je dédie cet article à celui dont j'ai essayé de traduire une partition en datas.

Entrons maintenant plus sérieusement dans le vif du sujet et voyons tout ce qu'il va falloir faire depuis le moment où vous allez choisir une partition jusqu'au moment où vous écouterez votre oeuvre assis au fond de votre canapé.

Tout d'abord le choix de la partition. Un premier critère, le plus important, va conditionner votre choix : le nombre de voix. Attention, l'Amstrad ne peut jouer que sur trois voix simultanément alors, les fugues de Bach, c'est raté. Un deuxième critère dépend de votre niveau musical. Certaines fois, on trouve des morceaux où les voix ont tendance à se croiser et il n'est pas toujours facile de les différencier. Alors, si vous êtes débutant, prenez plutôt des partitions où tout vous semble clair. L'expérience (malheureuse) vous montrera très vite qu'il n'est pas toujours aisé de retrouver une fausse note dans les datas.

Coder les notes

Ce choix étant fait, il faut trouver un système de codification des notes. Ici commence la plus grosse difficulté. De ce choix va dépendre toute la lisibilité du programme et surtout des datas. La première chose à faire est de supprimer les valeurs supérieures et inférieures des tables de périodes. Quatre octaves sont largement suffisantes pour interpréter la majeure partie des partitions. De là, chacun doit trouver le système qui lui parait le plus pratique. La méthode la plus simple, que j'utilise dans cet article, consiste à rentrer directement la valeur de la période. Cette méthode parait peu pratique au début car il faut regarder à chaque fois la valeur de la note. Avec un peu d'expérience, ce handicap s'estompe et l'on finit par connaître par cœur les valeurs de ces périodes.

Une seconde méthode consiste à coder les notes. L'homme n'étant pas fait pour l'effort, utilisez les douze premières lettres de l'alphabet plutôt que do, do, etc... De plus, il faut toujours penser que la mémoire n'est pas élastique alors autant ménager le nombre de caractères. Si vous désirez travailler de la sorte, n'oubliez pas de coder aussi l'octave dans laquelle se trouve la note.

Programmer période et durée

Une fois la valeur de la note définie, il reste encore à définir la façon de programmer la durée de celle-ci. Contrairement aux périodes qui sont définies une fois pour toutes, à moins d'une composition personnelle, il me semble intéressant de pouvoir changer le tempo à volonté. Dans ce cas-là, il parait impossible de rentrer de façon fixe cette durée. De nouveau, deux méthodes de travail vont être possibles. La première consiste à utiliser la première lettre de toutes les valeurs possibles: blanche = B, triple croche = T, etc. Une fois la lecture des datas faite, il faudra alors décoder ces valeurs.

Cette méthode est très bien pour les amateurs de programmation mais me semble un peu un marteau pour écraser une mouche. Quatre-vingt-dix pour cent des partitions prenant la noire pour référence, pourquoi ne pas lui attribuer la valeur de 1. Cette méthode donne donc :

ronde =4
blanche = 2
noire = 1
croche =0.5
double croche =0.25
triple croche =0.125
note pointée = note x 1.5

Tout comme la valeur de la période, le choix dépend là de l'utilisateur. Dans le programme illustrant cet article, je me suis contenté de programmer la période et la durée. Il est bien entendu que l'on pourrait faire la même chose avec tous les paramètres de la fonction SOUND. Compte tenu du nombre de paramètres, il est ainsi tout à fait possible de changer le son de chaque note mais pour le morceau choisi ici, cela aurait fait du « psychémozart ». Amusez-vous à écrire
un petit morceau et à faire varier les enveloppes de ton et le numéro du canal. Il y a de quoi se retrouver la tête en bas sans s'en rendre compte.

Synchroniser

Une autre des difficultés à surmonter va être la synchronisation des voix. Comme je vous l'avais expliqué la fois précédente, il existe sur l'Amstrad de nombreuses possibilités pour synchroniser les trois canaux. Faire démarrer ceux-ci ensemble est très simple mais, cela ne suffit pas toujours. Lorsque l'on veut recopier une partition, deux cas vont se présenter. Dans le premier, les deux ou trois voix partent ensemble et continuent toujours ensemble au même rythme. Alors là, tout est simple. Vous entrez les datas de période et de durée des différentes voix puis vous les jouez avec SOUND 33 sur la première voix, SOUND 34 sur la deuxième voix et enfin SOUND 28 sur la troisième.

Malheureusement, vous allez vite vous lasser de la musique que vous enregistrez : adieu les fugues et autres canons. Si donc vous préférez le contrepoint, (musique où les voix arrivent et repartent dans tous les sens), il va falloir synchroniser les voix sans pour autant qu'elles s'attendent à chaque note. Pour obtenir cela, chaque canal va rester indépendant et les trois voix seront jouées avec SOUND 1, SOUND 2 et SOUND 4. De cette manière, il sera possible d'avoir quatre noires sur la première voix, un silence une noire et quatre croches sur la deuxième voix et enfin une blanche pointée et une noire sur la troisième voix.

Une des applications dont je n'ai pas encore parlé est l'utilisation de l'Amstrad en séquen-ceur. En effet, rien n'empêche de boucler le programme sur lui même afin d'obtenir une musique continue. La seule contrainte est l'obligation de lire les datas et de boucler le programme uniquement sur l'interprétation. Sinon attention aux attentes. Par contre, il est tout à fait possible de remonter ou de descendre chaque séquence d'une tierce ou une quinte. Si vous jouez d'un instrument, votre fidèle ordinateur pourra donc vous accompagner. Il en est de même pour une utilisation en boite à rythme. Le plus difficile ici est de trouver de bons sons de percussions.

Le programme

J'en viens maintenant au programme que je vous propose.' J'ai essayé de concevoir ce programme comme un programme type. Je pense qu'en ne changeant que les datas et quelques variables, il vous sera possible de jouer n'importe quelle partition à deux voix à partir de ce modèle. Nous allons donc passer en revue les différentes parties de ce listing.

A la ligne 40, j'indique le tempo, nv, vxl et vx2. Comme j'ai expliqué plus haut, il est préférable de ne pas fixer la durée de chaque note dans les datas. Par contre, fixer en début de programme, de façon claire le tempo, va permettre de le modifier facilement au gré de l'utilisateur, nv correspond au nombre de voix, vxl et vx2 indiquent le nombre de notes à lire puis à jouer sur chaque voix.

A la ligne 50, j'ouvre mon fichier dimen-sionné par les variables introduites à la ligne précédente. De cette manière, vous n'aurez à changer qu'une fois le nombre de voix et de notes lors de vos propres copies de partitions.

Je passe rapidement sur les lignes 70 à 120 où je vous laisse entière liberté de délirer. Pourquoi ne pas ajouter le dessin de la partition ? Mais ce n'est pas le but aujourd'hui. De la ligne 130 à la ligne 140, je vais lire les datas (périodes de durée) de la première voix. En 150 et 160 je répète la même opération mais, cette fois, pour la deuxième voix. Mes datas sont maintenant chargées et je peux en faire ce que je veux. N'étant qu'un simple musicien, eh bien, je vais les transformer en notes de musique.

Tout d'abord, je me souviens que l'Amstrad compte la durée des notes en centièmes de secondes alors que la norme musicale normale est le nombre de noires/minute. Une petite règle de trois à la ligne 170 et le tour est joué. Ensuite, ma sensibilité musicale me demande de trouver un son agréable pour auditionner mon duo. J'écris donc une enveloppe entre le piano et le clavecin (électronique !). De nouveau, je laisse libre votre imagination pour d'autres enveloppes. Enfin, tout est prêt. Les musiciens, oh pardon le AY8910 a ses datas sur son pupitre. Alors jouez maintenant. Les lignes 200 et 210 vous offrent un concert gratuit (oui je sais, Amstrad Magazine coûte 19 Francs !).

Voilà donc expliqué en quelques lignes comment traduire une partition pour la rendre compréhensible par votre micro-ordinateur. Un seul souhait maintenant, pouvoir un jour organiser un concert où chacun viendrait interpréter son œuvre. Alors avis aux amateurs et bonnes musiques.

Dominique Gourdier , Amstrad Magazine n°15

★ ANNÉE: 1986
★ AUTEUR: Dominique Gourdier
 

Page précédente : Le Son sur Amstrad
★ AMSTRAD CPC ★ DOWNLOAD ★

Dump disk:
» De  Mozart  a  Amstrad-Duo  de  Mozart    (Amstrad  Magazine)    FRENCHDATE: 2022-04-01
DL: 151
TYPE: ZIP
SiZE: 4Ko
NOTE: 40 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding Src's » Elvis (Amstrad Computer User)
» Coding » SID Basic
» Coding » Music - Arkos Tracker
» Coding Src's » Phoenix Part
» Coding Src's » Digitalised Sample Loader (Roudoudou)
» Coding Src's » Sound-Demo (CPC Amstrad International)
Je participe au site:
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 365 millisecondes et consultée 525 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.