Warning: mysql_connect(): Can't connect to MySQL server on 'mysql.sourceforge.net' (111) in /home/groups/c/co/compo/htdocs/inc/variables.php on line 7

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/groups/c/co/compo/htdocs/inc/variables.php on line 8

Warning: mysql_query(): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /home/groups/c/co/compo/htdocs/inc/lib.stats.php on line 17

Warning: mysql_query(): A link to the server could not be established in /home/groups/c/co/compo/htdocs/inc/lib.stats.php on line 17

Warning: mysql_close(): no MySQL-Link resource supplied in /home/groups/c/co/compo/htdocs/inc/lib.stats.php on line 18

Accueil

Compo Online

English

 

Présentation

Compo et Open Music
Démos
FAQs
Téléchargement

Documentation

Tips

Contact

Qui sommes nous

SourceForge Logo

2001-11-28 - Représentation des paroles avec compo

Considérons cet espèce de morphing entre la mélodie d'une comédie musicale éminemment populaire, et quelque composition dans le style d'un motet médiéval, où une voix entonne le même texte que l'autre voix, mais deux fois plus lentement : Entendre

Toute section de la forme (lyrics ...) au sein d'un script compo correspond à une section de texte destinée à figurer sur la partition. Chaque syllabe ou mot est représentée par une note élémentaire incluant du texte sous la forme d'une chaîne de caractères, comme par exemple :

(lyrics ("I'm")("sin-")("ging")("in")("the")("rain"))

Mais pour que le texte figure effectivement sous une portée, il doit être associé à la voix correspondante, simplement en positionnant la propriété de voix de manière appropriée, au niveau de l'objet lyrics :

(lyrics :treble ("I'm")("sin-")("ging")("in")("the")("rain"))

Notez que bien qu'il figure ici, :treble est la valeur par défaut de la voix et n'a donc pas besoin d'être spécifié.

Ainsi, en synchronisant cette expression avec toute autre expression à la voix de treble contenant des notes, le texte viendra se positionner sous chaque note ayant la même position. Deux conditions sont nécessaires pour cette synchronisation. La section de paroles et la section de notes doivent être placées à l'intérieur d'une structure contenant le mot-clé :sync, indiquant un départ simultané des deux sections :

(note :sync

(lyrics :tenor ("I'm")("sin-")("ging")("in")("the")("rain"))

(:tenor (:c)(:c5 :dur (+ :h :8th))(:a :8th)(:g :8th)(:f :8th)(:d :h.)))

et chaque partie de texte doit être positionnée de manière équivalente à la note correspondante :

(note :sync

(lyrics :tenor ("I'm")("sin-" :dur (+ :h :8th))("ging" :8th)("in" :8th)("the" :8th)("rain" :h.))

(:tenor (:c)(:c5 :dur (+ :h :8th))(:a :8th)(:g :8th)(:f :8th)(:d :h.)))

Bien entendu, si vous connaissez déjà compo, vous aurez noté que, dans l'exemple de partition ci-dessus, la première moitié de la voix de treble, et toute la voix de basse peuvent être représentées par le même objet :

(note :sync

  x=(:sync

    (lyrics (:rest :h.)("I'm")("sin-" :dur (+ :h :8th))("ging" :8th)("in" :8th)("the" :8th)("rain" :h.))

    ((:rest :h.)(:c)(:c5 :dur (+ :h :8th))(:a :8th)(:g :8th)(:f :8th)(:d :h.)))

  (:treble x ...)

  (:bass :c3 :h x))

Ainsi, non seulement les notes musicales peuvent être partagées, mais également les paroles associées. Maintenant supposons que l'exemple doivent être répété deux fois, la basse entonnant la seconde partie du texte lors de la répétition. Ceci est représenté sur la partition ainsi :

La seconde ligne sous la portée en clé de fa étant le même texte que celui de la seconde partie de la voix de treble, ce texte peut également être abstrait dans une variable afin d'être partagé :

y=(lyrics ("Just")("sin-" :dur (+ :h :8th))("ging" :8th)("in" :8th)("the" :8th)("rain" :h.))

Voici finalement le source complet de cet exemple :

(note :sync

  x=(:sync

    (lyrics (:rest :h.)("I'm")("sin-" :dur (+ :h :8th))("ging" :8th)("in" :8th)("the" :8th)("rain" :h.))

    ((:rest :h.)(:c)(:c5 :dur (+ :h :8th))(:a :8th)(:g :8th)(:f :8th)(:d :h.)))

  y=(lyrics ("Just")("sin-" :dur (+ :h :8th))("ging" :8th)("in" :8th)("the" :8th)("rain" :h.))

  (x (:sync y (:c)(:f :dur (+ :h :8th))(:f :8th)(:g :8th)(:a :8th)(:c5 :h.))

  (:bass :c3 :h :sync x ((:rest :h.) (:bf y))))

Notez la hauteur :bf à la dernière instance de y, qui est le moyen d'indiquer que le texte correspondant doit être placé en deuxième ligne.

2001-10-22 - Représentation Hiérarchique de la musique