jeudi 22 décembre 2011

Tutorial MML avec MuSICA : partie 1 (généralités)

Aujourd'hui, on s'attaque a un gros morceau et pour ne pas surcharger les sujets, on va faire ça en plusieurs étapes.
Le but de ces tutoriaux est de décrire de manière simple la composition musicale sur micro ordinateurs MSX avec ce que l'on appelle communément le Music Macro Langage (en abrégé MML)

Pour cela, nous allons utiliser le programme le plus ancien mais aussi le plus flexible sur MSX, j'ai nommé "MuSICA" que vous pouvez recuperer sur le lien en bas de page.

"MuSICA" est un programme qui a été diffusé dans la revue Japonaise "MSX Magazine". C'était un des tout premiers programme en basic permettant de faire simplement de la musique sur MSX. Il a donc rencontré un succès considérable au Japon, d'autant plus qu'il pouvait gérer simultanément trois puces audio, a savoir le PSG (Programmable Sound Generator) disponible dans tout micro MSX, mais aussi la SCC (Sound Custom Chip) présente dans certains jeux en cartouche Konami ainsi que le MSX Music disponible en standard dans les MSX2+/turboR et dans la cartouche FMPAC de Panasonic.

Mais d'abord, qu'est ce que le MML ?

Il s'agit en fait d'une sorte de language de programmation trés simple avec des "macros" comprenant des instructions sonores regroupée dans un fichier au format texte.
Ces instructions sont spécifiques de la plateforme utilisée mais on retrouve souvent des similitudes d'un programme a l'autre.
Les instructions sont classées en deux catégories : d'une part, les instructions de création de sonorité (on parle aussi de "Voix"), d'autre part, les instructions musicales proprement dites (la partition). Il va sans dire qu'une bonne connaissance des puces utilisées est nécéssaire pour se lancer dans la création de sons mais je vous décrirai ça petit a petit.

Le fichier texte, une fois rempli d'instructions, a besoin d’être compilé par un programme dit "compilateur" pour former un fichier lisible par le programme dit "player"

"MuSICA" permet d'éditer facilement le code MML et de le compiler, en revanche, ce n'est pas vraiment un "lecteur" car même si l'on peut écouter la musique lors de l'édition, une fois compilé, le fichier ne peut plus être lu par "MuSICA", il faudra donc un autre programme "player" sur MSX ou sur windows, pour çela, je vous conseille d'aller voir le tableau récapitulatif.

En ce qui concerne les extensions des fichiers utilisés par MuSICA, elles sont au nombre de 3 :
  1. fichiers de type ".VSD" : fichier regroupant les Voix (sonorités) définies dans l'éditeur.
  2. fichiers de type ".MSD" : fichier regroupant les instructions Musicales proprement dites.
  3. fichiers de type "BGM" : fichier compilé regroupant l'ensemble des instructions (Voix et Musicales)
La prochaine fois, nous verrons la définition des Voix et ensuite, nous attaquerons la création en elle même.
A suivre donc...

PJ : Musica (image de disquette)

    mercredi 21 décembre 2011

    Puces Yamaha sur MSX

    Aujourd'hui, je vous propose une liste exhaustive des différentes puces sonores Yamaha utilisables sur MSX avec leurs caractéristiques principales.

    Y8950
    • Dérivée de la puce YM3526 (OPL pour FM OPerator type-L), elle dispose de 2 modes de fonctionnement : 
      1. 9 canaux FM (2 opérateurs)
      2. 6 canaux FM (2 opérateurs) et 5 canaux Drums
    • Norme MSX AUDIO
    • Disponible dans 3 cartouches MSX : Panasonic FS-CA1 (Japon), Philips NMS-1205 (Music Module : Europe), Toshiba HX-MU900 (Japon)
    • La plupart des softs essayent d’accéder à la rom Audio Basic que l'on trouve uniquement dans la cartouche Panasonic. Afin d'utiliser ces logiciels avec les deux autres cartouches, il existe une commande a exécuter pour faire croire au programme que la rom est bien présente :
      POKE -54,35:POKE&HF346,1:_SYSTEM
    • Cette puce se retrouve aussi dans une carte d’extension pour micro ordinateurs Japonais PC98.

    YM2413B
    • Aussi appelée OPLL (pour FM OPerator type-LL), elle dispose de 2 modes de fonctionnement : 
      1. 9 canaux FM (2 opérateurs)
      2. 6 canaux FM (2 opérateurs) et 5 canaux Drums
    • Norme MSX MUSIC
    • Disponible en standard dans de nombreux micro ordinateurs MSX2+ et dans les Panasonic TurboR, on la trouve également dans la cartouche Panasonic SW-M004 (FM PAC) associée a une mémoire de sauvegarde S-RAM pour certains jeux.
    • Par rapport à sa grande soeur (OPL), il existe de sérieuses limitations dans ses capacités, par exemple, on doit choisir parmi une liste d'instruments imposée en ROM et on ne peut utiliser qu'un seul instrument software a la fois.
    • Cette puce se retrouve aussi dans les versions Japonaises de la Sega Mark III/Master System.

    YMF278B-F
    • Aussi appelée OPL4 (pour FM Operator type-L version 4), elle est basée sur la puce YMF262-M (OPL3) dont elle reprend les mêmes caractéristiques, elle dispose de 4 modes de fonctionnement :
      1. 18 canaux FM (2 opérateurs)
      2. 15 canaux FM (2 opérateurs) + 5 canaux Drums
      3. 6 canaux FM (4 opérateurs) + 6 canaux FM (2 opérateurs)
      4. 6 canaux FM (4 opérateurs) + 3 canaux FM (2 opérateurs) + 5 canaux Drums
    • On la trouve exclusivement dans la cartouche "Moonsound" pour MSX.

      YM2151
      • Aussi appelée OPM (pour FM OPerator type-M), elle a un seul mode de fonctionnement : 8 canaux FM (4 opérateurs, 8 algorithmes)
      • Disponible dans les cartouches d’extension "Sound Synthesizer Unit" pour micro ordinateurs MSX de la gamme Yamaha : SFK01(sans support Midi) et SFG01( avec support Midi). Le SFG01 est également disponible en standard dans certains micro ordinateurs Yamaha MSX1 : CX5F et CX5M.
      • Cette puce est présente dans le module de son Yamaha FB-01 mais aussi dans les micro ordinateurs Japonais Sharp X1 et X68000 dont elle a fait la renommée

      YM2164
      • Aussi appelée OPP (pour FM Operator type-P), elle est dérivée de l'OPM dont elle reprend les mêmes caractéristiques.
      • Disponible dans les cartouches d’extension "Sound Synthesizer Unit II" pour micro ordinateurs MSX de la gamme Yamaha: SFK05 (sans support Midi) et SFG05 (avec support Midi). Le SFG05 est également disponible en standard dans certains micro ordinateurs Yamaha MSX1 (CX5F modele 2, CX5M modele 2, CX5MII, CX5MII/128) et MSX2 (CX7, CX7/128)
      • Cette puce se retrouve aussi dans certains synthétiseurs Yamaha de la gamme DX (DX21, DX27)

      lundi 19 décembre 2011

      Fichiers musicaux FM sur MSX

      Il existe différents formats de fichiers musicaux gérant les puces FM sur MSX et il est souvent difficile de s'y retrouver, aussi, je vous propose un tableau récapitulatif avec les principaux programmes permettant de créer et de lire de la musique FM.

      MSX FM Music tools
      Driver Chips Extensions Editor Compiler Player
      (MSX)
      Plugin
      (WIN)
      Kinrou5 PSG
      OPLL
      SCC
      BGM

      MSD
      VCD
      Musica

      S-Cube
      Musica muplay
      multiplay-x
      MSXPlug
      MGSDRV PSG
      OPLL
      SCC
      MGS MML text (MUS) MGSC
      MGSCwin (windows)
      muplay
      multiplay-x
      mgsel
      MSXplug
      OPLLDriver PSG
      OPLL
      OPX MSX Basic Extention muplay
      multiplay-x
      performer opx
      MSXplug
      K-Kaz system PSG
      OPLL
      SCC
      MPK MML text (MMK)
      mpked.com
      mpkc.com muplay
      multiplay-x
      MSXplug
      SCMDriver PSG
      OPLL
      SCC
      SCCPCM
      OPL
      SDT MML text SCMD compiler(japanese locale) sc.com
      MoonBlaster PSG
      OPLL
      OPL
      MBM
      MBK
      MBD
      Moonblaster Moonblaster Moonblaster MSXplug
      MB for MoonsoundFM OPL4 MFM mbfm mbfm mbfm
      Moondriver OPL4 MDR MML text mdrv.com
      Jigsaw SFG01/05 JIG MML text mmckc.com
      Super Music Editor PSG
      OPLL
      OPL (x2)
      SCC (x4)
      PR3
      KL3
      SMP
      sme3 sme3 sm3pl1
      MIODRV Midi
      PSG
      OPLL
      SCC
      MIO MML text mc.com muplay
      mp.com
      MXDRV SFG01/05 MDX mxpv.com MDXplug
      KSS All Chips KSS kssplay(R800) MSXplug

      Chips :
      PSG : Programmable Sound Chip
      SCC : Konami Sound Custom Chip (Jeux divers...)
      SCCPCM : Konami Sound Custom Chip avec RAM (Snatcher, SD Snatcher)
      OPL : MSX Audio (Philips Music Module, Toshiba HX-MU900, Panasonic FS-CA1)
      OPLL : MSX Music (MSX2+/Turbo R, Panasonic FMPAC)
      OPL4 : Moonsound Cartridge
      SFG01/05 : Yamaha Sound Synthesizer Unit
      Midi : MIODRV utilise une interface Midi pour lire les fichiers mais si elle n'est pas présente, il utilise les puces FM du système.

      note 1 :
      Si le lien vers le programme n'existe pas, c'est que ce dernier est inclus avec le driver.

      note 2 :
      le MML est un langage musical a base de "macro définitions", le plus souvent, il s'agit d'un simple fichier texte avec des instructions musicales qu'il faut ensuite compiler pour obtenir un fichier lisible par le player.

      note 3 :
      pour lire les fichiers musicaux sur Windows, il faut installer les fichiers du plugin dans le répertoire du lecteur. pour ma part, je vous recommande KBMedia Player ou Foobar