Autor Thema: Gelöst: Notenpositionierung / Gregorianik in moderner Notation  (Gelesen 3057 mal)

Joei

  • Member
Gelöst: Notenpositionierung / Gregorianik in moderner Notation
« am: Donnerstag, 19. Februar 2015, 19:59 »
Moin,

ich scheitere gerade an der Modifikation von Notenabständen:

IST:


SOLL:


Alle andern Hürden habe ich mit gregorian.ly und "Phantomnoten" umschiffen können - aber das Halleluja
hätte ich gerne

a) gestreckter und
b) den simulierten "Pes" auf der Silbe "lu" - also die beiden recht nah beieinander stehenden Noten bekomme ich auch nicht hin.

Zusatzfrage: Wenn ich die Zeile über die gesamte Seitenbreite strecken wollte - ginge das einfach?

\version "2.18.2"
\include "gregorian.ly"

\paper {
#(set-paper-size "a4") 
indent = 0\cm 
}


stemOff = \hide Staff.Stem
stemOn  = \undo \stemOff
phan = {\hideNotes a4 \unHideNotes}

chant = \relative c' {
    \key g \major \set Score.timing = ##f \stemOff
    \phan g'\breve a4 g4  \divisioMaior
    \phan g\breve fis4 g4  \phan  \bar "|"     \break
    \phan g\breve a4 g \divisioMaxima \phan g\breve \bar""  \break
    g\breve fis4 g \bar "||" g4 a g fis fis \finalis
   
  }
 
verba = \lyricmode {
  L:
 \once \override LyricText.self-alignment-X = #-1
 "Gott, gedenke mein nach deiner" Gna -- de. G:
 \once \override LyricText.self-alignment-X = #-1
 "Herr, erhöre mich mit deiner treuen" Hil -- fe _
 L:
  \once \override LyricText.self-alignment-X = #-1
 "Ehre sei dem Vater und dem Sohne und dem Heiligen" Gei -- ste,
 G: \once \override LyricText.self-alignment-X = #-1
 "wie im Anfang,"
  \once \override LyricText.self-alignment-X = #-1
  "so auch jetzt und alle Zeit und in Ewigkeit." A -- men.
  Hal -- le -- lu -- ja.
 
}

\score {
  \new Staff \with { \remove "Time_signature_engraver" } <<
  \new Voice = "melody" \chant
  \new Lyrics = "text" \lyricsto melody \verba
  >>
   
}

Dank & Gruß,

Joei
« Letzte Änderung: Montag, 23. Februar 2015, 11:56 von Joei »

trulli

  • Member
Re: Notenpositionierung / Gregorianik in moderner Notation
« Antwort #1 am: Donnerstag, 19. Februar 2015, 22:04 »
Hi Joei,

mein Vorschlag:
\version "2.18.2"
\include "gregorian.ly"

\paper {
#(set-paper-size "a4") 
indent = 0\cm 
}


stemOff = \hide Staff.Stem
stemOn  = \undo \stemOff
phan = {\hideNotes a4 \unHideNotes}

chant = \relative c' {
    \key g \major \set Score.timing = ##f \stemOff
    \phan g'\breve a4 g4  \divisioMaior
    \phan g\breve fis4 g4  \phan  \bar "|"     \break
    \phan g\breve a4 g \divisioMaxima \phan g\breve \bar""  \break
    g\breve fis4 g \bar "||"
   
    \override Lyrics.LyricSpace.minimum-distance = #8
    g4 \phan a \phan g
   
    \tweak X-offset #'-8 fis \phan  fis \finalis
   
  }
 
verba = \lyricmode {
  L:
 \once \override LyricText.self-alignment-X = #-1
 "Gott, gedenke mein nach deiner" Gna -- de. G:
 \once \override LyricText.self-alignment-X = #-1
 "Herr, erhöre mich mit deiner treuen" Hil -- fe _
 L:
  \once \override LyricText.self-alignment-X = #-1
 "Ehre sei dem Vater und dem Sohne und dem Heiligen" Gei -- ste,
 G: \once \override LyricText.self-alignment-X = #-1
 "wie im Anfang,"
  \once \override LyricText.self-alignment-X = #-1
  "so auch jetzt und alle Zeit und in Ewigkeit." A -- men.
  Hal - le - lu _ - ja.
 
}

\score {
  \new Staff \with { \remove "Time_signature_engraver" } <<
  \new Voice = "melody" \chant
  \new Lyrics = "text" \lyricsto melody \verba
  >>
   
}


Bin aber kein Gesangsexperte.... bei Lily führen viele Wege zum Ziel und es gibt bestimmt noch einen eleganteren.

LG

Joei

  • Member
Re: Notenpositionierung / Gregorianik in moderner Notation
« Antwort #2 am: Samstag, 21. Februar 2015, 10:55 »
Moin Trulli,

einwandfrei - abgesehen davon: für andere Sachen die ich schon an Hacks gesehen habe sieht das für mich sehr elegant
und einfach nach bestimmungsgemäßen Gebrauch aus :) - also: Herzlichen Dank!
Joei

Joei

  • Member
ReOpened: Notenpositionierung / Gregorianik in moderner Notation
« Antwort #3 am: Sonntag, 22. Februar 2015, 19:27 »
mh.. schade.. in dem einen Fall hat es brauchbar funktioniert - im nächsten leider nicht mehr - daher hier das neue Problem
mit dem Versuch die obige Lösung anzuwenden:

\version "2.18.2"
\include "gregorian.ly"

\paper {
indent = 0\cm 
right-margin = 5\cm
%left-margin =  5.5\cm
ragged-right = ##f

}




stemOff = \hide Staff.Stem
stemOn  = \undo \stemOff
phan = {\hideNotes a4 \unHideNotes}
nah= {\once \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/2)}

chant = \relative c'' {
    \key d \minor
    \cadenzaOn \stemOff
    \phan f4 f f f \tweak X-offset #'-6  g g  \phan g \tweak X-offset #'-4  f g
    g^"_"\tweak X-offset #'-4  a \divisioMaior \bar""
   
   a f g \tweak X-offset #'-4  a g f \tweak X-offset #'-7  d f \tweak X-offset #'-4  g
   g \tweak X-offset #'-4  f    \bar "|" \break
   
   \phan a4 \tweak X-offset #'-4 bes a a a g \tweak X-offset #'-4 a g a g g\tweak X-offset #'-4 f
   g g\tweak X-offset #'-4 a \divisioMaior \bar""
   
   \phan a4 a f  g \tweak X-offset #'-4 a g f \tweak X-offset #'-4 d f \tweak X-offset #'-4 g
   g \tweak X-offset #'-4 f \bar "|" \break
   
   \phan a4 a a a a \tweak X-offset #'-4 bes a a a g \tweak X-offset #'-4 a g \divisioMaior \bar"" \break
   g g a g f g \tweak X-offset #'-4 a a \tweak X-offset #'-4 g \bar "|"
   
   \phan f4 f f f \tweak X-offset #'-6  g g  \phan g \tweak X-offset #'-4  f g
    g\tweak X-offset #'-4  a  \divisioMaior \bar"" \break 
    a f g \tweak X-offset #'-4  a g f \tweak X-offset #'-7  d f \tweak X-offset #'-4  g
   g \tweak X-offset #'-4  f    \finalis
   
   
   
   
   
     
  }
 
verbaprim = \lyricmode {
 K: In dei -- ne Hän -- _ de, _ Her -- _ re Gott,
 _ be -- feh -- le__ _ ich mei -- _ nen__ _ Geist.__ _
 
  K: Du__ _ hast uns er -- lö -- _ set, Herr, du treu -- _ er Gott.__ _
  G: Dir be -- feh -- le__ _ ich mei -- _ nen__ _ Geist.__ _
  K: Eh -- re sei dem Va -- _ ter und dem Soh -- _ ne
  und dem Hei -- li -- gen Gei -- _ ste.__ _
 
  K: In dei -- ne Hän -- _ de, _ Her -- _ re Gott,
 _ be -- feh -- le__ _ ich mei -- _ nen__ _ Geist.__ _
}

verbasec = \lyricmode {
 G: In dei -- ne Hän -- _ de, _ Her -- _ re Gott,
 _ be -- feh -- le__ _ ich mei -- _ nen__ _ Geist.__ _
 
 
}

\score {
  \new Staff \with { \remove "Time_signature_engraver" } <<
  \new Voice = "melody" \chant
  \new Lyrics = "text" \lyricsto melody \verbaprim
  \new Lyrics = "text" \lyricsto melody \verbasec

  >>
   
}

und sollte jmd. mir verraten können, warum das ragged-right versagt (also warum die letzte Zeile nicht gestreckt wird) wäre ich sehr dankbar. ragged-last hat das gleiche Ergebnis gebracht :(

Dank und Gruß
Joei

Joei

  • Member
Re: ReOpened: Notenpositionierung / Gregorianik in moderner Notation
« Antwort #4 am: Montag, 23. Februar 2015, 11:05 »
I hoped that the force-hshift property would do the magic - but if I understand it correctly this only works for colliding notes... :(

Pierre

  • Member
Re: ReOpened: Notenpositionierung / Gregorianik in moderner Notation
« Antwort #5 am: Montag, 23. Februar 2015, 11:30 »
Hallo Joei,

Few weeks ago I started something here (which is more or less a draft) : http://lsr.di.unimi.it/LSR/Item?id=973

So it would go:

\version "2.18.2"

% => http://lilypond.1069038.n5.nabble.com/kind-of-gregorian-moving-noteheads-tc170995.html
% => http://lilypond.1069038.n5.nabble.com/Hungarian-Gregorian-tc171130.html

%% Works with other sizes:
%#(set-global-staff-size 25)
%#(set-global-staff-size 16)

%%%%% Defs to be saved as "modernGregorian.ily" %%%%%%%%%

%%%% Defining new grobs:
lst = #(define-music-function (parser location mus)
     (ly:music?)
   #{
     \stemDown
     \undo\omit Stem
     \once\override Stem.length = #7
     \once\override Stem.X-extent = #'(.1 . 0)
     \once\override NoteHead.stem-attachment = #'(1.5 . .1)
     $mus
     \omit Stem
   #})

mst = #(define-music-function (parser location mus)
     (ly:music?)
    #{
     \stemUp
     \undo\omit Stem
     \once\override Stem.length = #4
     \once\override Stem.extra-offset = #'(-.2 . 0)
     \once\override NoteHead.stem-attachment = #'(-.9 . -.3)
     $mus
     \omit Stem
   #})

sst = #(define-music-function (parser location mus)
     (ly:music?)
    #{
     \stemUp
     \undo\omit Stem
     \once\override Stem.length = #3
     \once\override Stem.extra-offset = #'(-.2 . 0)
     \once\override NoteHead.stem-attachment = #'(-.9 . -.3)
     $mus
     \omit Stem
   #})

tst = #(define-music-function (parser location mus)
     (ly:music?)
   #{
     \stemUp
     \undo\omit Stem
     \once\override Stem.length = #2
     \once\override Stem.extra-offset = #'(-.2 . 0)
     \once\override NoteHead.stem-attachment = #'(-.9 . -.3)
     $mus
     \omit Stem
   #})

%% Ornament function
orn =
  -\tweak self-alignment-X #LEFT
  -\tweak Y-offset #0.5
  -\tweak X-offset #1
  -\tweak outside-staff-priority ##f
  -\markup
      \raise #-.3
      \scale #'(1 . .85)
      \rotate #90
      \musicglyph #"ties.lyric.short"

%% Left aligning lyric :
lal = \once\override LyricText.self-alignment-X = #LEFT

%% horizontal inside staff spacer
space =
#(define-music-function
     (parser location anzahl)
     (number?)
   #{
     \grace { \repeat unfold #anzahl s }
   #})

% Given some music that represents lyrics, add a prefix to the first
% lyric event.
% syntax is \versus { some lyrics }
% resp. \responsum { some lyrics }
#(define (add-prefix-to-lyrics prefix music)
   (let ((found? #f))
     (map-some-music
      (lambda (m)
(if found? m
    (and (music-is-of-type? m 'lyric-event)
(begin
   (set! (ly:music-property m 'text)
(string-append prefix (ly:music-property m 'text)))
   (set! found? #t)
   m))))
      music)))
% Add unicode 2123 (versicle) as prefix to lyrics.
versus =
#(define-music-function (parser location music) (ly:music?)
   (add-prefix-to-lyrics "℣. " music))
% Add unicode 211F (response) as prefix to lyrics.
responsum =
#(define-music-function (parser location music) (ly:music?)
   (add-prefix-to-lyrics "℟. " music))

%% Defining notelaces (neume, melisma) and dedicated context:
gregorianContext = {
  \cadenzaOn
  \omit Clef
  \omit TimeSignature
  \omit StaffSymbol
  \omit Dots
  \omit Rest
  \omit Flag
  \omit Beam
  \override SpacingSpanner.packed-spacing = ##t
  \override NoteHead.stencil = #(lambda (grob)
   (grob-interpret-markup grob
     #{
       \markup\concat {
         \hspace #-.21
         \musicglyph #"noteheads.s2"
         \hspace #-.21
       }
     #}))
  \override Accidental.extra-offset = #'(-.2 . 0)
  \override LedgerLineSpanner.length-fraction = #.6
  \override LedgerLineSpanner.minimum-length-fraction = #.6
}

neume = #(define-music-function (parser location mus)
     (ly:music?)
   #{
     \once\override NoteHead.stencil = #(lambda (grob)
         (grob-interpret-markup grob
           #{
              \markup\concat {
                \hspace #-2
                \score {
                  \transpose c c' { \omit Stem $mus }
                  \layout {
                    indent = 0
                    ragged-right = ##t
                    \context {
                      \Score
                      \gregorianContext
                    }
                  }
                }
              }
           #}))
   #})

melisma = #(define-music-function (parser location mus)
     (ly:music?)
     #{
        {
          \neume { $mus }
          \omit Accidental
          \omit Dots
          #(make-music
            'NoteEvent
            'pitch
            (ly:make-pitch -1 6 0)
            'duration
            (ly:make-duration 2 0 1))
        }
     #})

% Declare default layout
\layout {
  \context {
    \Score
    \omit TimeSignature
  }
}

%%%%%%%%%%%% end of "modernGregorian.ily" %%%%%%%%%

%\include "modernGregorian.ily"

\paper {
  indent = 0\cm 
  right-margin = 5\cm
  left-margin =  5.5\cm
  ragged-right = ##f
}

chant = \relative c' {
   \cadenzaOn
   \clef G
   \key f\major
   \omit Stem
   f4 f f \melisma { f g } g \melisma { g f }  g  \melisma { g^- a }
   \once\override Staff.BarLine.bar-extent = #'(-1 . 1) \bar "|"\break
   
   \omit Staff.Clef
   a f \melisma { g a } g \melisma { f d } \melisma { f g } \melisma { g^- f }
   \bar "|" \break
   
   \melisma { a b } a a a \melisma { g a } g a g \melisma { g f } g \melisma { g^- a }
   \once\override Staff.BarLine.bar-extent = #'(-1 . 1) \bar "|"\break
   
   a a f \melisma { g a } g \melisma { f d } \melisma { f g } \melisma { g^- f }
   \bar "|" \break
   
   a a a a  \melisma { a b } a a a  \melisma { g a } g
   \once\override Staff.BarLine.bar-extent = #'(-1 . 1) \bar "|"\break
   
   g g a g f  \melisma { g a } \melisma { a g }
   \bar "|"
   f f f \melisma { f g } g \melisma { g f } g  \melisma { g a }
   \once\override Staff.BarLine.bar-extent = #'(-1 . 1) \bar "|"\break
   
   a f \melisma { g a } g \melisma { f d } \melisma { f g } \melisma { g f }     
   \bar "||"
}
 
verbaprim = \lyricmode {
  \set stanza = \markup\italic "K:"
  In dei -- ne Hän -- de, Her -- re Gott,
  be -- feh -- le ich mei -- nen Geist.
  \set stanza = \markup\italic "K:"
  Du hast uns er -- lö -- set, Herr, du treu -- er Gott.
  \set stanza = \markup\italic "G:"
  Dir be -- feh -- le ich mei -- nen Geist.
  \set stanza = \markup\italic "K:"
  Eh -- re sei dem Va -- ter und dem Soh -- ne
  und dem Hei -- li -- gen Gei -- ste.
  \set stanza = \markup\italic "K:"
  In dei -- ne Hän -- de, Her -- re Gott,
  be -- feh -- le ich mei -- nen Geist.
}

verbasec = \lyricmode {
 \set stanza = \markup\italic "G:"
 In dei -- ne Hän -- de, Her -- re Gott,
 be -- feh -- le ich mei -- nen Geist.
}

\score {
  \new Staff  <<
    \new Voice = "melody" \chant
    \new Lyrics = "text" \lyricsto melody \verbaprim
    \new Lyrics = "text" \lyricsto melody \verbasec
  >>
}



Gruß,
Pierre
« Letzte Änderung: Montag, 23. Februar 2015, 12:08 von Pierre »

Joei

  • Member
Re: ReOpened: Notenpositionierung / Gregorianik in moderner Notation
« Antwort #6 am: Montag, 23. Februar 2015, 11:56 »
Hi Pierre (is that Pierre C. from the gregorio-users group??),

thank you very much for your effort - now I see, why I wasn't able to figure it out by myself.

That works great for me!

Have a great day,
Joei

Pierre

  • Member
Re: Gelöst: Notenpositionierung / Gregorianik in moderner Notation
« Antwort #7 am: Montag, 23. Februar 2015, 22:00 »
[...] is that Pierre C. from the gregorio-users group??[...]

Not at all.
'Should probably be Pierre Couderc: http://lilypond-french-users.1298960.n2.nabble.com/template/NamlServlet.jtp?macro=user_nodes&user=350152

Cheers, ;)
Pierre P.Schneider