Beats

Csbeats est un langage de partition alternatif dont le but est de spécifier de simples partitions selon le système standard occidental de notation des hauteurs et des rythmes. On peut invoquer Csbeats via le composant CsScore d'une partition .csd standard avec bin="csbeats" ou comme un programme autonome qui génère une partition numérique standard.

Le programme autonome lit depuis l'entrée standard et écrit sur la sortie standard.

Le langage csbeats est très simple, n'ayant que 5 sortes d'instructions dont une seule présente quelque complexité. Généralement, le mot clé de chaque type d'instruction est insensible à la casse. Ainsi "QUIT", "quit", "QuIt"... sont tous pareils. Les commentaires s'écrivent dans le format ANSI C89, ou celui de C++ (c'est-à-dire /* ... */ ou bien // jusqu'à la fin de la ligne), ou encore avec le point-virgule de Csound.

  • QUIT

    Provoque la sortie de csbeats. Pour des raisons de souplesse la commande END est aussi admise pour la même action.

  • BEATS=entier

    Fixe le nombre de pulsations par minute pour la suite de la partition, jusqu'à la fin ou jusqu'à ce qu'il soit réinitialisé. La valeur par défaut est de 60 pulsations par minutes. Le mot BPS est aussi accepté à la place de BEATS.

  • PERMEASURE=entier

    Fixe le nombre de pulsations dans une mesure. La valeur par défaut est 4.

  • BAR

    Commence une nouvelle mesure.

  • BAR entier

    Commence la mesure dont le numéro est donné.

  • i entier attributs

    Spécifie un évènement de note pour l'instrument numéroté. Les attributs peuvent indiquer une hauteur, une durée, une dynamique, ou la position d'une note sur un temps ou dans une mesure, et ceci dans n'importe quel ordre.

    Les hauteurs sont données avec un nom de note conventionnel (notation anglaise) en lettre majuscule éventuellement suivie par un caractère #, x (pour double dièse), b (pour bémol) ou bb (pour double bémol). La note Z est un silence (penser à zzz). Toutes les notes, sauf les silences, doivent être suivies par un numéro d'octave, A4 étant le la du diapason international (440 Hz). Les hauteurs sont transmises à Csound en Hz dans le paramètre p4, et s'expriment en tempérament égal à douze demi-tons.

    Les durées sont codées par la première lettre de leur nom anglais en minuscule.

    • ed Croche pointée (trois quarts de pulsation)
    • et Croche de triolet (un tiers de pulsation)
    • e Croche (une demi-pulsation)
    • hd Blanche pointée (trois pulsations)
    • ht Blanche de triolet (une pulsation un tiers)
    • h Blanche (deux pulsations)
    • qd Noire pointée (une pulsation et demie)
    • qt Noire de triolet (deux tiers de pulsation)
    • q Noire (une pulsation)
    • sd Double croche pointée (trois huitièmes de pulsation)
    • st Double croche de triolet (un sixième de pulsation)
    • s Double croche (un quart de pulsation)
    • th Triple croche (un huitième de pulsation)
    • w Ronde (quatre pulsations)

    On peut ajouter les données entre elles en donnant plus d'une durée. On peut utiliser un signe + à la place d'un espace pour rendre ceci plus intuitif.

    Les dynamiques sont écrites en notation conventionnelle, fff, ff, f, mf, mp, p, pp, ppp. Elles sont transmise à l'instrument dans p5 avec 0 pour fff et un dB en moins pour chaque niveau inférieur. La dynamique par défaut est fortissimo.

    Si l'un de ces attributs est omis, il est reporté de la note précédente, sa position étant incrémentée depuis la fin de la note précédente.

    De plus, un évènement peut être placé dans une mesure particulière avec un attribut m, ou sur un temps particulier avec un attribut b.