\version "2.20.0" \header { title = \markup {\column {"Bourrée des dindes"}} %arranger = "Tablature diato C/G" composer="Auvergne" % poet = "Bleu c'est poussé, rouge c'est tiré" % meter = \markup {"On ne joue que sur le rang G" } % instrument = \markup { \vspace #5 % \epsfile #X #15 #"hohner.eps" } tagline = "Atelier de musique traditionnnelle - Saint-Mammès (77)" } %----format papier %#(set! paper-alist (cons '("format" . (cons (* 20 cm) (* 25 cm))) paper-alist)) %------ espacement inter portées \paper { system-system-spacing.basic-distance = 25 %system-system-spacing.basic-distance = 20 % add space between composer/opus markup and first staff markup-system-spacing.padding = #4 % add a little space between composer and opus % markup-markup-spacing.padding = #1.2 % définition gérérale #(set-paper-size "a4") ragged-bottom = ##t top-margin = 15 left-margin = 25 right-margin = 25 bottom-margin = 25 } t= \override FiguredBass.BassFigure.color = #darkred p= \override FiguredBass.BassFigure.color = #darkblue "g" = \override FiguredBass.BassFigureAlignment.padding = #2 "c" = \override FiguredBass.BassFigureAlignment.padding = #-2 tg={\t\g} pg={\p\g} tc={\t\c} pc={\p\c} %--------------------------------------- global = { \clef treble \time 2/4 \tempo 4 = 120 \key g \major } %---------------------------- melodie=\relative c' {\global \set Voice.midiInstrument = #"flute" \repeat volta 2{ d4 e8 fis g4 g a8. b16 c8 b a g fis e d4 e8 fis g4 g a8. b16 c8 b a2 } \break \repeat volta 2{ a8. b16 c8 b a8. b16 c8 b a8 g fis e e4 d a'8. b16 c8 b a8. b16 c8 b a8 g fis a g2 } } % --------------------------- % \pg = poussé SOL, \pc = poussé DO, tg = tiré SOL, \tc = tiré DO % si on ne change pas de sens on peut abréger avec \c ou \g pour indiquer le rang %si on ne change pas de rang, on peut abréger avec \p ou \t TablatureDroite= \figuremode { \pg<5> \t<5> \t<6> \pg<6> \pg<6> \tg<7> \pg<7> \tg<8> \pg<7> \tg<7> \pg<6> \tg<6> \tg<5> \pg<5> \tg<5> \tg<6> \pg<6> \pg<6> \tg<7> \pg<7> \tg<8> \pg<7> \tg<7> %----- \tg<7> \pg<7> \tg<8> \pg<7> \tg<7> \pg<7> \tg<8> \pg<7> \tg<7> \pg<6> \tg<6> \tg<5> \tg<5> \pg<5> \tg<7> \pg<7> \tg<8> \pg<7> \tg<7> \pg<7> \tg<8> \pg<7> \tg<7> \pg<6> \tg<6> \tg<7> \pg<6> } %------------------------------- % la note = basse, r symbolise l'accord (une valse se noterait g4 r r d4 r r..) TablatureGauche = \chordmode { g4 r g r a r a r d r g r a r d r a r a r a r d g a r a r d r g2 } %-------------fonction Valentin Villenave appliquerRhythme = #(define-music-function (sequence cible) (ly:music? ly:music?) (define (flatten-music music) (let ((musiclist '())) (let loop ((music music)) (let ((elt (ly:music-property music 'element)) (elts (ly:music-property music 'elements))) (if (null? elt) (if (null? elts) (set! musiclist (append musiclist (list music))) (map! loop elts)) (map! loop (list elt))))) (make-sequential-music musiclist))) (define (extract-durations music) (map (lambda (elem) (ly:music-property elem 'duration)) (filter (music-type-predicate '(note-event)) (ly:music-property music 'elements)))) (define (apply-duration element duration) (let ((subelements (ly:music-property element 'elements))) (if (null? subelements) (set! (ly:music-property element 'duration) duration)) (map (lambda (subelement) (set! (ly:music-property subelement 'duration) duration)) subelements))) (define (apply-durations durations music) (for-each apply-duration (filter (music-type-predicate '(rhythmic-event)) (ly:music-property music 'elements)) (apply circular-list durations)) music) (music-map (let ((i -1) (ls (extract-durations (flatten-music sequence)))) (lambda (n) (or (null? (ly:music-property n 'duration)) (begin (set! i (1+ i)) (ly:music-set-property! n 'duration (list-ref ls i)))) n)) cible)) %---------------------score Valentin Villenave \score { \new StaffGroup << \new Staff{ \clef "G" \set Staff.midiInstrument = "accordion" \context Voice = "melodie" { \melodie} } \new FiguredBass \with { \override VerticalAxisGroup.nonstaff-relatedstaff-spacing.minimum-distance = #8 %séparation entre touches et accords \override VerticalAxisGroup.nonstaff-unrelatedstaff-spacing.minimum-distance = #8 instrumentName = \markup{\column{\vspace #9 C G}} } \appliquerRhythme \melodie \TablatureDroite \new ChordNames \with { %midiInstrument = "accordion" instrumentName = \markup{\column{MG " "}} } \TablatureGauche >> \layout { #(set-default-paper-size "format") \context { \FiguredBass \consists Instrument_name_engraver \consists Staff_symbol_engraver \consists Bar_engraver \override StaffSymbol.line-count = 1 \override StaffSymbol.line-positions =#'(-3) \override VerticalAxisGroup. nonstaff-relatedstaff-spacing.basic-distance = #5 figuredBassFormatter = #(lambda (n ev ctx) (if (number? n) (number->string n) n)) \override BassFigure.stencil = #(lambda (grob) (define (lists-equal a b) (let lp ((a a) (b b)) (cond ((null? a) (null? b)) ((null? b) #f) (else (and (= (car a) (car b)) (lp (cdr a) (cdr b))))))) (let* ((text (ly:grob-property grob 'text)) (stencil (grob-interpret-markup grob (make-sans-markup text)) ) (color (ly:grob-property grob 'color)) (circled-stencil (circle-stencil stencil .125 .5)) ) (if (lists-equal color darkred) circled-stencil (ly:stencil-outline (ly:stencil-scale stencil 1 1) circled-stencil)))) } \context { \ChordNames \consists Instrument_name_engraver \consists Staff_symbol_engraver \consists Bar_engraver \override StaffSymbol.line-count = 1 \override StaffSymbol.line-positions =#'(2) noChordSymbol = \markup \bold "/" \override ChordName.stencil = #(lambda (grob) (let* ((cause (ly:grob-property grob 'cause)) (props (ly:prob-immutable-properties cause)) (rest? (memq 'rest-event (assoc-get 'class props))) (stencil (ly:text-interface::print grob)) (th 0.25)) (if rest? stencil (ly:stencil-translate-axis (ly:stencil-scale (circle-stencil (stencil-whiteout-box stencil 1 360) th (- th)) (- 1 th) (- 1 th)) (/ th 2) Y)))) } \context { \StaffGroup \override StaffGrouper.staff-staff-spacing = #'((basic-distance . 3) (minimum-distance . 0) (padding . 0)) } } \midi {} } \markup { \column { \line {" "} \line { " " } \line { " "} \line { " " } \line { " "} \line { "Système Corgeron C/G :"} \line { "en bleu c'est poussé, en rouge c'est tiré"} } }