Le langage ABC, brève introduction

Pour décrire le langage abc, je me contenterais de citer l'introduction de l'excellent manuel rédigé par Guido Gonzato

Lien ici

Introduction

Si vous êtes un musicien et que vous savez utiliser un ordinateur, vous avez de la chance. D’abord parce que vous êtes musicien ; ensuite, parce que l’ordinateur est un outil précieux pour écrire de la musique. Il y a beaucoup de programmes dédiés à la musique.
La plupart des programmes de notation musicale ont une approche graphique : une ou plusieurs portées sont affichées à l’écran, et l’utilisateur y met des notes avec la souris. Une autre approche consiste à écrire la musique avec une notation textuelle. Ce mode non graphique représente les notes et les autres symboles avec des caractères. Un programme est ensuite chargé de traduire cette notation en partition « normale » dans un format électronique (le format PDF, par exemple) et/ou en fichier MIDI.
Les programmes graphiques sont plus faciles pour les débutants et plus intuitifs, mais les notations textuelles permettent une transcription plus rapide et ont d’autres avantages.
On a inventé beaucoup de notations textuelles. ABC est l’une des meilleures : étant facile à apprendre et très puissante, elle a atteint une réelle popularité. Des milliers de morceaux écrits en ABC sont disponibles sur l’Internet : en fait, cette notation est de facto devenue le standard pour les musiques populaires.
Des extensions à cette notation rendent possible l’écriture de musique polyphonique : dans ce manuel, cette notation étendue est simplement appelée ABC PLUS. Le but de ce manuel est de présenter ABC PLUS et des programmes associés. Le personnes qui profiteront de ce manuel sont :
Dans ces deux cas, si vous voulez imprimer des partitions pour votre chorale ou votre groupe, ou faire un recueil de chants, ou même simplement enseigner la musique, vous avez trouvé le bon outil !

Logiciels

Le meilleur programme pour transformer ABC PLUS en partitions est actuellement abcm2ps, un petit programme gratuit disponible sous la licence GNU GPL. Vraiment petit (moins de 200k !) il est très puissant et malin, et crée de très belles partitions avec un contrôle complet par l’utilisateur.
abcm2ps lit des fichiers ABC PLUS et les convertit en POSTSCRIPT. C’est un format proche du PDF, qui peut être visualisé et imprimé´ grâce à un autre programme gratuit : Ghostscript. Cette application convertit les fichiers POSTSCRIPT vers d’autres format, dont le plus important est le PDF d’Acrobat.
L’auteur de abcm2ps, un organiste et programmeur appelé Jean-François Moine, fournit des versions ‘stable’ et ‘en développement’ de son programme. Cette dernière est mise a jour presque toutes les semaines, et contient beaucoup d’améliorations.

Alors, c'est vrai le langage ABC n'offre pas le confort des logiciels standards du marché, mais en dehors de sa gratuité, il présente quelques fonctionnalités et qualités non négligeables :

La mise en oeuvre nécessite évidemment un petit apprentissage, ainsi que de disposer

  1. d'un éditeur de texte, le bloc-note Windows (notepad.exe) par exemple,

  2. du programme abcm2ps, (il en existe d'autres, mais c'est certainement le plus performant)

  3. du couple ghostscript/gsview lorsqu'on est sous Windows (affichage du fichier POSTSCRIPT, conversion en fichier PDF). Dans le cas UNIX/Linux, ces logiciels font partie d'une distribution standard.

À noter que certains logiciels commerciaux savent importer et exporter des fichiers .ABC

Voici l'exemple donné par Jean-François Moine sur son site :

Exemple abcm2ps

Voici un exemple simple de ce que abcm2ps peut faire.

Le fichier source ABC, extrait de http://moinejf.free.fr/voices.abc, est :

X:7
T:Qui Tolis (Trio)
C:André Raison
M:3/4
L:1/4
Q:1/4=92
%%staves {(Pos1 Pos2) Trompette}
K:F
%
V:Pos1
%%MIDI program 78
"Positif"x3  |x3    |c'>ba|Pga/g/f|:g2a  |ba2    |g2c- |c2P=B  |c>de  |fga    |
V:Pos2
%%MIDI program 78
        Mf>ed|cd/c/B|PA2d |ef/e/d |:e2f  |ef2    |c>BA |GA/G/F |E>FG  |ABc-   |
V:Trompette
%%MIDI program 56
"Trompette"z3|z3    |z3   |z3     |:Mc>BA|PGA/G/F|PE>EF|PEF/E/D|C>CPB,|A,G,F,-|

La génération du fichier .png est réalisée avec les commandes (sous LINUX) :

  abcm2ps voices -E -e7
  gs -sDEVICE=pngmono -r80 -g590x180 \
     -dBATCH -dNOPAUSE \
     -sOutputFile=quitolis.png Out001.eps

Le résultat est le suivant :

Et voici un exemple plus orienté :

Exemple de tablature

X:1
T:Titre du morceau
C:Compositeur
O:Origine
M:3/4
Q:1/4=72 "  Tempo du morceau"
L:1/8 % Durée de note par défaut : la croche. A représente un la croche
% c2 un do noire.
K:Bb % tonalité de si bémol majeur
%%staves [1 2]
%%tablature #5
V:1 name=Galoubet
d | c2 BA GF | B2 B2 cd | ((3ed).c ((3dc).A G2 | HB4z2 |]
V:2 clef=perc stafflines=1 name=Tambourin
B | B2 B2 B2 | B4B2 | B2B4 | B4z2 |]

« Compilé » avec

  abcm2ps -F flute.fmt -E exemple.abc
  gs -sDEVICE=pngmono -r120 -g900x350 \
     -dBATCH -dNOPAUSE \
     -sOutputFile=exemple.png Out001.eps

cet exemple donne :

Quelques informations spécifiques complémentaires :

Les éléments graphiques de la tablature sont définis dans le fichier flute.fmt. J'y ai rajouté les définitions pour les tablaures en Do, Si bémol (tablature n°5) et Sol, ainsi que la tablature du flûtet renaissance.

L'option « -E » de la commande permet de créer un fichier POSTSCRIPT par morceau contenu dans le fichier ABC, qui peut en contenir plusieurs..

La commande gs avec ses options génère un fichier image .PNG de 120 points par pouce, de taille 900 x 350 points², le fichier de sortie étant nommé exemple.png.

Sous Windows, la commande abcm2ps a la même syntaxe que sous LINUX. Par contre la visualisation et la conversion en PDF (ou PNG, ou JPG, ou ...) du fichier POSTSCRIPT se fera avantageusement avec GSVIEW.

Le manuel cité en tête répond à toutes les questions concernant le langage et ses possibilités.

Michel Bellon
2 avril 2008