[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Pautas de percusión ] | [ Up : Notación común para percusión ] | [ Notas fantasma > ] |
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
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
.
#(define mydrums '( (bassdrum default #f -1) (snare default #f 0) (hihat cross #f 1) (halfopenhihat cross halfopen 1) (pedalhihat xcircle stopped 2) (lowtom diamond #f 3))) up = \drummode { hh8 hh hhho hhho hhp4 hhp } down = \drummode { bd4 sn bd toml8 toml } \new DrumStaff << \set DrumStaff.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 default #f -2) (dbassmute default stopped -2) (dopen default #f 0) (dopenmute default stopped 0) (dslap default #f 2) (dslapmute default 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
Fragmentos de código: Percussion.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Pautas de percusión ] | [ Up : Notación común para percusión ] | [ Notas fantasma > ] |