[ << Notazione specialistica ] | [Top][Contents][Index] | [ Input e output >> ] |
[ < Righi delle percussioni ] | [ Up : Notazione comune per le percussioni ] | [ Ghost note > ] |
Righi delle percussioni personalizzati
È possibile definire stili percussivi personalizzati, su cui poi impostare
la proprietà drumStyleTable
. Le notazioni esistenti possono essere
ridefinite come una lista associativa in cui ogni voce deve essere
costituita da quattro elementi:
un nome, lo stile della testa di nota (o default
), un segno di
articolazione se necessario (o #f
se non lo è), e la posizione
della testa di nota sul rigo. Questa lista deve poi essere convertita
in una tabella hash Scheme, usando la funzione 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 } >>
Si possono aggiungere anche nuovi nomi a queste notazioni personalizzate
attraverso la variabile drumPitchNames
, che può essere ridefinita
come una lista associativa (o aumentata append
endo una nuova lista
al suo valore esistente, come illustrato sotto), ma anche attraverso le
sue voci individuali. Ciò permette anche di definire alias: scorciatoie
di input alternativo per alcune notazioni.
drumPitchNames = #(append '((leftsnap . sidestick) (rightsnap . ridecymbal)) drumPitchNames) drumPitchNames.ls = #'sidestick drumPitchNames.rs = #'ridecymbal \drums { leftsnap4. rightsnap8 leftsnap4 rightsnap ls8 rs ls rs ls4 rs }
In modo analogo, la proprietà drumPitchTable
associa una certa
altezza (ovvero un diverso suono di strumento, così come è fornito
dai soundfont MIDI disponibili) a ciascuna notazione. Questa proprietà
deve essere definita come una tabella di hash, che di nuovo viene convertita
da una lista associativa (salvata per impostazione predefinita come
variabile midiDrumPitches
). La ridefinizione di queste associazioni
si ottiene, come spiegato sopra, o definendo un’intera lista associativa
oppure attraverso voci individuali. L’esempio seguente mostra come creare
un insieme di notazione completo con la propria sintassi di input, notazioni
personalizzate e output MIDI corrispondente.
drumPitchNames.dbass = #'dbass drumPitchNames.dba = #'dbass % 'db è già in uso 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 {} }
Vedi anche
File installati: ly/drumpitch-init.ly.
Frammenti: Percussion.
[ << Notazione specialistica ] | [Top][Contents][Index] | [ Input e output >> ] |
[ < Righi delle percussioni ] | [ Up : Notazione comune per le percussioni ] | [ Ghost note > ] |