| [ << Percusión ] | [Top][Contents][Index] | [ Instrumentos de viento >> ] |
| [ < Pautas de percusión ] | [ Up: Notación común para percusión ] | [ Notas fantasma > ] |
13.1.6 Pautas de percusión personalizadas
Se pueden definir estilos de percusión personalizados, a los que
después puede establecerse la propiedad drumStyleTable.
Las notaciones existentes se pueden redefinir como una lista de
asociación en la que cada entrada debe estar compuesta de cuatro
elementos: un nombre, el estilo de cabezas de nota (o ‘()’
para indicar default), un símbolo de articulación si es
necesario (o #f en caso contrario), y la posición de la
cabeza sobre la pauta. Dicha lista se debe entonces convertir a
una tabla de hash de Scheme usando la función
alist->hash-table.
La entrada para una articulación puede ser el símbolo del nombre de una inscripción, o bien una pareja, donde el primer elemento es el símbolo del nombre de una inscripción, y el segundo un indicador de dirección forzada para la inscripción.
[En el ejemplo siguiente, observe el uso de la abreviatura de cuasi-notación (‘`’) al principio de la expresión de Scheme en lugar de la abreviatura estándar de comilla (‘'’), que habilita a la abreviatura de no-comilla (‘,’) a evaluar el elemento que le precede.]
#(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 } >>![]()
También se pueden añadir nombres nuevos a dichas notaciones
personalizadas mediante la variable drumPitchNames, que se
puede redefinir como una lista de asociación (o aumentada
añadiendo al final una lista nueva a su valor existente, como se
muestra más abajo), pero también a través de sus entradas
individuales. Esto también hace posible definir nombres
alternativos o alias.
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 manera similar, la propiedad drumPitchTable asocia una
altura específica (con el significado de un sonido instrumental
distinto, tal y como lo proveen las fuentes de sonido MIDI) a cada
notación. Dicha propiedad necesita definirse como una tabla de
hash, que es de nuevo convertida a partir de una lista de
asociación (almacenada de forma predeterminada como la variable
midiDrumPitches). La redefinición de estas asociaciones se
consigue como se ha explicado más arriba, ya sea definiendo una
lista de asociación completa o mediante las entradas
individuales. El siguiente ejemplo muestra cómo crear un conjunto
completo de notaciones con su propia sintaxis de entrada, su
propia notación personalizada y la salida MIDI correspondiente.
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 {} }![]()
Véase también
Archivos instalados: ly/drumpitch-init.ly.
Fragmentos de código: Percussion.
| [ << Percusión ] | [Top][Contents][Index] | [ Instrumentos de viento >> ] |
| [ < Pautas de percusión ] | [ Up: Notación común para percusión ] | [ Notas fantasma > ] |
![[image of music]](../8a/lily-816ee438.png)
![[image of music]](../1d/lily-0c5fb5f6.png)
![[image of music]](../36/lily-170bd7f9.png)