[ << Notation spécialisée ] | [Top][Contents][Index] | [ Généralités en matière d’entrée et sortie >> ] |
[ < Portées de percussion ] | [ Up : Vue d’ensemble des percussions ] | [ Notes fantômes > ] |
Personnalisation de portées de percussion
LilyPond offre la possibilité de construire son propre style de
percussion grâce à une définition de la propriété drumStyleTable
.
Les notations existantes peuvent se redéfinir au travers d’une liste
associative dans laquelle chaque entrée doit comporter quatre éléments :
un nom, le style de tête de note (ou ‘()’ pour adopter la valeur
par défaut), un éventuel signe d’articulation (ou #f
dans le cas
contraire) et, enfin, le positionnement de la tête de note sur la
portée. Cette liste devra alors être convertie en table de hachage à
l’aide de la fonction alist->hash-table
.
L”entrée pour une articulation peut être soit un nom symbolique de script, soit une paire, auquel cas le premier élément est le nom symbolique du script et le second un indicateur de positionnement de ce script.
[Dans l’exemple ci-dessous, notez bien l’utilisation de l’apostrophe inversée (‘`’) au début de l’expression Scheme au lieu de l’apostrophe normale (‘'’), ce qui permet de traiter correctement la virgule (‘,’) pour l’évaluation de l’élément qui précède.]
#(define mydrums `( (bassdrum () #f -1) (snare () #f 0) (hihat cross #f 1) (halfopenhihat cross halfopen 1) (pedalhihat xcircle stopped 2) (splashhihat xcircle (open . ,DOWN) 2) (lowtom diamond #f 3))) up = \drummode { hh8 hh hhho hhho hhp4 hhs } down = \drummode { bd4 sn bd toml8 toml } \new DrumStaff \with { drumStyleTable = #(alist->hash-table mydrums) } << \new DrumVoice { \voiceOne \up } \new DrumVoice { \voiceTwo \down } >>![]()
De nouveaux noms peuvent venir s’ajouter à ces notations personnalisées
grâce à la variable drumPitchNames
qui peut être redéfinie en
tant que liste associative (ou augmentée par ajout d’une nouvelle
liste aux valeurs existantes comme indiqué ci-dessous). Ceci permet par
ailleurs de définir des alias : raccourcis pour la saisie de certaines
notations.
drumPitchNames = #(append '((leftsnap . sidestick) (rightsnap . ridecymbal)) drumPitchNames) drumPitchNames.ls = #'sidestick drumPitchNames.rs = #'ridecymbal \drums { leftsnap4. rightsnap8 leftsnap4 rightsnap ls8 rs ls rs ls4 rs }![]()
De la même manière, la propriété drumPitchTable
associe une
hauteur spécifique (autrement dit un son instrumental différent tel que
fourni par les fontes sonores MIDI disponibles) à chaque notation. Cette
propriété requiert d’être définie sous forme de table de hachage,
convertie elle aussi à partir d’une liste associative (enregistrée par
défaut en tant que variable midiDrumPitches
). La redéfinition de
ces associations s’effectue comme indiqué ci-dessus, soit en créant
l’intégralité d’une liste associative, soit certains de ses membres.
L’exemple ci-dessous démontre la manière de créer un jeu entier de
notation, avec sa propre syntaxe de saisie, sa notation personnalisée et
les instruments MIDI correspondants.
drumPitchNames.dbass = #'dbass drumPitchNames.dba = #'dbass % 'db is in use already drumPitchNames.dbassmute = #'dbassmute drumPitchNames.dbm = #'dbassmute drumPitchNames.do = #'dopen drumPitchNames.dopenmute = #'dopenmute drumPitchNames.dom = #'dopenmute drumPitchNames.dslap = #'dslap drumPitchNames.ds = #'dslap drumPitchNames.dslapmute = #'dslapmute drumPitchNames.dsm = #'dslapmute #(define djembe-style '((dbass () #f -2) (dbassmute () stopped -2) (dopen () #f 0) (dopenmute () stopped 0) (dslap () #f 2) (dslapmute () stopped 2))) midiDrumPitches.dbass = g midiDrumPitches.dbassmute = fis midiDrumPitches.dopen = a midiDrumPitches.dopenmute = gis midiDrumPitches.dslap = b midiDrumPitches.dslapmute = ais test = \drummode { dba4 do ds dbm dom dsm } \score { \new DrumStaff \with { \override StaffSymbol.line-count = 3 instrumentName = "Djembé " drumStyleTable = #(alist->hash-table djembe-style) drumPitchTable = #(alist->hash-table midiDrumPitches) } { \time 3/4 \test } \layout {} \midi {} }![]()
Voir aussi
Fichiers d’initialisation : ly/drumpitch-init.ly.
Morceaux choisis : Percussion.
[ << Notation spécialisée ] | [Top][Contents][Index] | [ Généralités en matière d’entrée et sortie >> ] |
[ < Portées de percussion ] | [ Up : Vue d’ensemble des percussions ] | [ Notes fantômes > ] |