Bonsoir,
Alors, j'essaie d'introduire un système de 2 portées pendant 4 mesures à partir de la mesure 67 (c'est un autre groupe de castagnettistes qui vont jouer une variante de ces 4 mesures.
Naîvement j'ai écrit:
\new DrumStaff
{r4}
Et ça me donne ce qu'il y a sur l'image donc pas du tout ce que je veux.
Je voudrais ça:
Mais j'ai beau scruter la doc (peut-être que je ne regarde pas où il faut) je ne vois rien qui puisse m'aider.
je mets tout mon code au cas où:
\version "2.24.4"
\language "english"
%%%%%%%%%%%%%%%%%%%%%%%%%
% Définition de fonctions
%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% formation des PAS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%fichier fonte "pas.ttf
#(ly:font-config-add-font "/home/fabienne/Documents/Lilypond/Include/Fonts/pas.ttf")
%-----------------------------------------------
%definition de pasG et pasD lettre G et D (dans la fonte pas.ttf)
clearPas = { \revert NoteHead.stencil \revert Stem.stencil \revert Flag.stencil}
pasG = #(define-music-function (dur)(ly:duration?)
#{
\override NoteHead.stencil = #ly:text-interface::print
\override NoteHead.text =
\markup {
\with-true-dimension #X
\override #'(font-name . "pas")
\fontsize #3 \rotate #-10 \translate #'(0 . -0.5) "G"
}
% \override Stem.stencil = ##t
\once \override Stem.direction =-1
\once \override Stem.stem-begin-position = #-4
\once \override Stem.length = #9
% \override Flag.stencil = ##t
\drummode {\stemDown { ta $dur }}
\clearPas
#})
pasD = #(define-music-function (dur)(ly:duration?)
#{
\override NoteHead.stencil = #ly:text-interface::print
\override NoteHead.text =
\markup {
\with-true-dimension #X
\override #'(font-name . "pas")
\fontsize #3 \rotate #10 \translate #'(0 . -0.5) "D"
}
% \override Stem.stencil = ##t
\once \override Stem.direction = 1
\once \override Stem.length = #9
\once \override Stem.stem-begin-position = #4
% \override Flag.stencil = ##t
\drummode {\stemUp { pi $dur }}
\clearPas
#})
%transparence du point de prosongation de durée
ndot= { \override Dots.transparent = ##t }
rdot= { \revert Dots.transparent }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Personnalisation de la portée de percussion
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Placement sur les lignes de portée des drums qu'on va utiliser pour les sons castagnettes
#(define mydrums '(
(hiwoodbsock default #f 4)
(snare default #f 2)
(hightom default #f 1)
(claves default #f 0)
(sowtom default #f -1)
(handclap default #f -2)
(sowoodbsock default #f -4)
(hihat cross #f -6)
))
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Transformation des noms de code drums en noms de code castagnettes :
% pi ta tin (clap et toum arbitraires à garder pour d'autres sons) etc ...)
drumPitchNames = #`(
(pi . hiwoodbsock )
(ta . sowoodbsock )
(tin . claves)
(pimh . hightom)
(piml . sowtom)
(toum . snare)
(clap . handclap)
(pied . hihat)
)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Définition d'une portée de castagnettes à 2 lignes
% situéees à -4 espaces et +4 espaces de la ligne centrale
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
castanetstaffTwolines = {
\override Staff.LedgerLineSpanner.stencil = ##f
\override Staff.StaffSymbol.line-positions = #'(-4 4)
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Définition des fonctions musicales PI, TA, TIN, PIM e.tc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
PI = #(define-music-function (dur) (ly:duration?)
#{
\drummode {\stemUp { pi $dur }}
#})
TA = #(define-music-function (dur) (ly:duration?)
#{
\drummode {\stemDown { ta $dur }}
#})
TAPI = #(define-music-function (dur1 dur2) (ly:duration? ly:duration?)
#{
<<
\new DrumVoice {
\voiceOne
\drummode { s $dur2 pi $dur1 }
}
\new DrumVoice {
\voiceTwo
\drummode { ta $dur1 }
}
>>
#})
PITA = #(define-music-function (dur1 dur2) (ly:duration? ly:duration?)
#{
<<
\new DrumVoice {
\voiceOne
\drummode { pi $dur1 }
}
\new DrumVoice {
\voiceTwo
\drummode { s $dur2 ta $dur1 }
}
>>
#})
RIAq = #(define-music-function (dur) (ly:duration?)
#{
\drummode {\override TupletBracket.bracket-visibility = ##f \tuplet 5/4 {\stemUp [pi $dur _( pi pi pi] \stemDown ta)}}
#})
TIN = #(define-music-function (dur) (ly:duration?)
#{
<<
% note sonore
\new DrumVoice {
\voiceOne
\drummode {\override NoteColumn.force-hshift = 0.9 { tin $dur }}
}
% note graphique muette
\new DrumVoice {
\voiceTwo
\drummode { tin $dur }
}
>>
#})
PIM = #(define-music-function (dur) (ly:duration?)
#{
<<
% note sonore
\new DrumVoice {
\voiceOne
\drummode {\ndot pimh $dur \rdot}
}
% note graphique muette
\new DrumVoice {
\voiceTwo
\drummode { piml $dur }
}
>>
#})
trioPIM = #(define-music-function (dur) (ly:duration?)
#{
<<
% note sonore
\new DrumVoice {
\voiceOne
\tuplet 3/2 \drummode {\ndot pimh $dur pimh\noBeam pimh \rdot}
}
% note graphique muette
\new DrumVoice {
\voiceTwo
\once \override TupletNumber.transparent = ##t \once \override TupletBracket.transparent = ##t \tuplet 3/2 \drummode { piml $dur piml\noBeam piml }
}
>>
#})
CHIM = #(define-music-function (dur) (ly:duration?)
#{
<<
% note sonore
\new DrumVoice {
\voiceOne
\drummode {\override NoteColumn.force-hshift = 0.7 \ndot pimh $dur \rdot}
}
% note graphique muette
\new DrumVoice {
\voiceTwo
\drummode { piml-\markup {
\with-dimensions #'(0 . 0) #'(0 . 0) %pour ne pas "gêner" des glyphes voisins
\translate #'(2 . 1.5)
\rotate #45 \musicglyph "scripts.prall"} }
}
>>
#})
TACHIMPI = #(define-music-function (dur) (ly:duration?)
#{
<<
% note sonore
\new DrumVoice {
\voiceOne
\drummode {\hideNotes pi $dur \unHideNotes \override NoteColumn.force-hshift = 0.7 \ndot pimh $dur[ pi] \rdot}
}
% note graphique muette
\new DrumVoice {
\voiceTwo
\drummode {ta $dur[ \once \override TextScript.extra-offset = #'(2. . 4.5)piml-\markup {\rotate #45 \musicglyph "scripts.prall" }] \hideNotes ta $dur \unHideNotes }
}
>>
#})
trioTACHIMPI = #(define-music-function (dur) (ly:duration?)
#{
<<
% note sonore
\new DrumVoice {
\voiceOne
\tuplet 3/2 \drummode {\hideNotes pi $dur \unHideNotes \override NoteColumn.force-hshift = 0.7 \ndot pimh $dur[ pi] \rdot}
}
% note graphique muette
\new DrumVoice {
\voiceTwo
\once \override TupletNumber.transparent = ##t \tuplet 3/2 \drummode {ta $dur[ piml-\markup {
\with-dimensions #'(0 . 0) #'(0 . 0)
\translate #'(1.5 . 1.5)
\rotate #45 \musicglyph "scripts.prall"} s $dur]}
}
>>
#})
TAN = #(define-music-function (dur) (ly:duration?)
#{
<<
\new DrumVoice {
\voiceOne
\drummode { pi $dur }
}
\new DrumVoice {
\voiceTwo
\drummode { ta $dur }
}
>>
#})
trioTAN = #(define-music-function (dur) (ly:duration?)
#{
<<
% note sonore
\new DrumVoice {
\voiceOne
\tuplet 3/2 \drummode { pi $dur pi\noBeam pi }
}
% note graphique muette
\new DrumVoice {
\voiceTwo
\once \override TupletNumber.transparent = ##t \once \override TupletBracket.transparent = ##t \tuplet 3/2 \drummode { ta $dur ta\noBeam ta }
}
>>
#})
RI = #(define-music-function (dur) (ly:duration?)
#{
\drummode {\stemUp { pi $dur[ pi pi pi] }}
#})
soRI = #(define-music-function (dur) (ly:duration?)
#{
\drummode {\stemUp \slurDown { pi $dur([ pi pi pi] }}
#})
% soRI = RI avec liaison ouvrante au début
RIso = #(define-music-function (dur) (ly:duration?)
#{
\drummode {\stemUp \slurDown { pi $dur[ pi pi pi]( }}
#})
% RIso = RI avec liaison ouvrante à la fin
sfRI = #(define-music-function (dur) (ly:duration?)
#{
\drummode {\stemUp { pi $dur)[ pi pi pi]( }}
#})
RA = #(define-music-function (dur) (ly:duration?)
#{
\drummode {\stemDown { ta $dur[ ta ta ta] }}
#})
RAs = #(define-music-function (dur) (ly:duration?)
#{
\drummode {\stemDown \slurUp { ta $dur[ ta ta (ta] }}
#})
sRA = #(define-music-function (dur) (ly:duration?)
#{
\drummode {\stemDown { ta $dur)[ ta ta ta] }}
#})
RIA = #(define-music-function (dur1 dur2) (ly:duration? ly:duration?)
#{
\drummode {\slurDown\stemUp pi $dur1 ([ pi pi pi] \stemDown ta $dur2)}
#})
RAI = #(define-music-function (dur1 dur2) (ly:duration? ly:duration?)
#{
\drummode {\slurUp \stemDown ta $dur1 ([ ta ta ta] \stemUp pi $dur2)}
#})
RIAN = #(define-music-function (dur) (ly:duration?)
#{
<<
% note sonore
\new DrumVoice {
\voiceOne
\drummode {\override Slur.extra-offset = #'(0. . 0.3) pi $dur[ _(pi pi pi]) }
}
% note graphique muette
\new DrumVoice {
\voiceTwo
\drummode {\override Slur.extra-offset = #'(0. . -0.3) ta $dur ^([ta ta ta]) }
}
>>
#})
RAIAIAIAI = #(define-music-function (dur) (ly:duration?)
#{
\drummode {\override Slur.extra-offset = #'(0. . 1.)\stemUp ta $dur[ pi ta pi ta pi ta pi]}
#})
RAIAIAIAIs = #(define-music-function (dur) (ly:duration?)
#{
\drummode {\override Slur.extra-offset = #'(0. . 1.)\stemUp ta $dur[ pi ta pi ta pi ta pi](}
#})
RIAq = #(define-music-function (dur) (ly:duration?)
#{
\drummode {\override TupletBracket.bracket-visibility = ##f \tuplet 5/4 {\stemUp pi $dur _( [pi pi pi] \stemDown ta)}}
#})
%%%%%%%%%%%%%%%%%%%%%%%%%%%
% La partition commence ici
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\header { % Bsoc de définition de l'entête
% Pour supprimer une partie de l'entête la faire précéder par % (exemple ci-dessou on a enlevé la dédicace
% On peut aussi juste enlever le texte entre guillemets
% dedication = "À "
title = "Tarantela 2"
subtitle = " "
subsubtitle = " "
instrument = " "
composer = "Santiago de Murcia"
arranger = "Adaptación castañuelas: Maria Donzella Gaubert"
copyright = "©2026 Maria Donzella Gaubert. All rights reserved"
tagline = " "
}
\score { % La partition proprement dite
\new DrumStaff %nouvelle portée
\with { % personnalisation de la portée
\numericTimeSignature % pour écrire 4/4 plutôt que C
\omit Clef % Omettre la clef de percussion
instrumentName = "Castañuelas" % Inscrire le nom de l'instrument au début de la portée
}
{
\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) % Chargement de la table de percussion personnalisée pour les castagnettes
\drummode { % on est en mode percussion (pas mésodique)
\castanetstaffTwolines % chargement de la portée personnalisée
\time 4/4 \tempo 4.=100 %Définition de la métrique et du tempo
\autoBeamOff
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Ici on commence à entrer la musique
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \stopStaff \startStaff
% \revert Staff.StaffSymbol.line-positions
{
\compressMMRests {R1*20}
\repeat unfold 16 {\trioPIM8}
\PIM4 r4 r4 r4 %m25
{ R1*2 }
r4 r4 r4 r8 \PIM8
\repeat unfold 6 { \PIM8. \PIM16 } \PIM8. \TA8.
\slurDown \soRI32 \time 6/8 \TA16)
<<
\voiceOne { \stemUp \PI16[ s32 \PI16 s32 \PI16 ] }
\\
\voiceTwo { s32[ \TA16 s32 \TA16]}
>>
\TA8 \PI8 \TA16 \RIA 32 16 \TIN16
<<
\voiceTwo { \TA16[ s32 \TA16 s32 ]}
\\
\voiceOne { s32[ \PI16 s32 \PI16 ]}
>>
\TA8 r16 \TA8 \slurDown \RIso32 \TA16 )
<<
\voiceOne {\PI16[ s32 \PI16 s32 \PI16 ]}
\\
\voiceTwo { s32[ \TA16 s32 \TA16]}
>>
\TA8 \PI8 \TA16 \RIA 32 16 \TIN16
<<
\voiceTwo { \TA16[ s32 \TA16 s32 ]}
\\
\voiceOne { s32[ \PI16 s32 \PI16]}
>>
\TA8 r16 \TA8
\RIA32 16
\repeat unfold 6 { \PI16[ \PI16] \TA16 }
\TIN16 \TAN16 \TA16 \RI32 \TACHIMPI16
\repeat unfold 5 {\TACHIMPI16} \TA16 \PI16 \PI16 \TA4
\TAN8 \RIAN32 \PI8 \TA8 r16 \TAN16 \TAN8
\TAN8 \RIAN32 \TIN8 \TAN8 \PI16 \PI16 \TA16
\TAN8 \RIAN32 \PI8 \TA8 r16 \TAN16 \TAN8
\TAN8 \RIAN32 \TIN8 r8 r4
\repeat unfold 15 {
<<
\voiceTwo { \TA8[ s8 \TA8 s8 \TA8]}
\\
\voiceOne { s8 \PI8[ s8 \PI8 s8 \PI8] }
>> }
<<
\voiceTwo { \TA8[ s8 \TA8 ]}
\\
\voiceOne { s8[ \PI8 s8 \PI8]}
>>
r16 \TA16
\RIso32 \TA16)
<<
\voiceOne { \PI16[ s32 \PI16 s32 \PI16 ] }
\\
\voiceTwo { s32[ \TA16 s32 \TA16]}
>>
\TA8 \PI8 \TA16 \RIso32 \TA16)
\TIN16 \TA16 \TIN16
<<
\voiceOne { \PI16[ s16 \PI16 s16 ] }
\\
\voiceTwo { s16[ \TA16 s16 \TA16]}
>>
\PI16 \TA16 \RIso32 \TA16)
\repeat unfold 5 { \PI16[ \PI16] \TA16 }
\PI16[ \PI16] \TA8. \PI16 \TA8
\TAN8 \RAIAIAIAIs64 \TA8)
\trioTACHIMPI8
\TA8
\TAN8 \RAIAIAIAIs64 \TA16)
<<
\voiceOne { \PI16[ s32 \PI16 s32 \PI16 ] }
\\
\voiceTwo { s32[ \TA16 s32 \TA16]}
>>
\TA8. \TA16 \CHIM16 \RIso32 \sRA32 \PI16
<<
\voiceTwo { \TA16[ s16 \TA16 ]}
\\
\voiceOne { s16[ \PI16 s16 \PI16]}
>>
\TA16
\TAN8 \TIN8 \TA8 \PI8 \TA4
\repeat volta 2 {\trioTACHIMPI16 \trioTACHIMPI16 \TA8 r4 r8
\trioTACHIMPI16 \trioTACHIMPI16 \TA8 r4 r8 }
\new DrumStaff
{r4}
}
}
}
%%%%%%%%%%%%%%%%%%%%%%%
% La partition finit ici
%%%%%%%%%%%%%%%%%%%%%%%
\layout {
\context {
\Score
\override SpacingSpanner.common-shortest-duration =
#(ly:make-moment 1/64)
\override SpacingSpanner.uniform-stretching = ##f
}}
\midi { }
}
Fab





