• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

Akkordsymbol einklammern

Begonnen von ToPDF, Mittwoch, 19. März 2014, 21:04

Vorheriges Thema - Nächstes Thema

ToPDF

GIb es eine Möglichkeit ein Akkordsymbol eingeklammert darzustellen, also

A G (F) A,

so dass es zwar (eingeklammer) dargestellt wird, aber nicht im midi-File erklingt?

trulli

Hallo ToPDF,

das kannst du wieder mit den ChordExceptions machen:
chExceptionMusic = {
  <c e g>-\markup {\parenthesize "F"}}


Wenn du ein bisschen Platz vor der Klammer brauchst:
chExceptionMusic = {
  <c e g>-\markup {"  " \parenthesize "F"}}


Erinnerung: Poste zu deiner Frage ein Minimalbeispiel.

Gruß

ToPDF

\version "2.18.0"

chExceptionMusic = {
  <c e g>-\markup {"  " \parenthesize "F"}}

chExceptions = #( append
  ( sequential-music-to-chord-exceptions chExceptionMusic #t)
  ignatzekExceptions)


theMusic = \chordmode {
  \set chordNameExceptions = #chExceptions
  c1 c1
}


<< \context ChordNames \theMusic
>>


ergibt

ZitatC  ( F )  C  ( F )

Hm. Wie bekomme ich nur das ( F ) ?

harm6

Hallo,

versuch mal:

\version "2.18.0"

chrds =
\chordmode {
  c1
  \tag #'print {
    \override ParenthesesItem #'font-size = #0.5
    \parenthesize
    g
  }
  \tag #'midi c
  c
}

\score {
  \new ChordNames \removeWithTag #'midi \chrds
}

\score {
  \new ChordNames \removeWithTag #'print \chrds
  \midi { }
}


HTH,
  Harm

ToPDF

Danke harm6, optisch tut es. Nur das Ausblenden im Midi-File bekomme ich bei mir nicht hin.

Ich habe folgendes Konstrukt:

Zitat\book {                                         
  \score {
   \layout {   
            }
\midi {
    }   
  }
}

Wo muss ich
Zitat\new ChordNames \removeWithTag #'midi \chrds
wo muss ich
Zitat\new ChordNames \removeWithTag #'print \chrds
hinschieben?

harm6

So wie ich schrieb, zwei scores. Die können natürlich in einem book sein.

ToPDF

Das ist natürlich alles sehr aufwendig und der Code lässt sich dadurch nicht besser lesen.

Kann ich Akkorden auch eine Länge größer als "1" für "Ganze" angeben? Also ein Akkord über zwei Takte definieren?

fugenkomponist

Ja, du kannst einen Akkord zwei Ganze dauern lassen, und zwar als c\breve oder c1*2. Er kann auch fünf Viertel dauern oder anderthalb Ganze: c4*5 bzw . c1*3/2 oder c1.

harm6

Zitat von: ToPDFDas ist natürlich alles sehr aufwendig und der Code lässt sich dadurch nicht besser lesen.

Nö, falls Du Variablen möglichst effektiv benutzt.
Vier Zeilen (Könnte man hier auch in eine schreiben.)

Zitat von: ToPDFKann ich Akkorden auch eine Länge größer als "1" für "Ganze" angeben? Also ein Akkord über zwei Takte definieren?
Ja

\version "2.18.0"

chrds =
\new ChordNames
  \chordmode {
    c1*2 %% maybe this way
    \tag #'print {
      \override ParenthesesItem #'font-size = #0.5
      \parenthesize
      g
    }
    \tag #'midi c
    c\longa  %% or this way
    c1
  }
 
mus =
\new Staff \repeat unfold 9 R1

ready =
<<
  \chrds
  \mus
>>

\book {

  \score {
  \removeWithTag #'midi \ready
  }
 
  \score {
    \removeWithTag #'print \ready
    \midi { }
  }

}



ToPDF

#9
\version "2.18.00"
#(set-global-staff-size 20)
\language "deutsch"
harmonien = {
  \germanChords
  \chordmode {
   \partial 4
    %---------------
    \tag #'print {
      \override ParenthesesItem #'font-size = #0.5
      \parenthesize
      a2.
    }
    \tag #'midi r2.
    %--------------- 
   h1:m e1 a1 fis1:m:
  }
}
melody =
\relative c'' {\new Voice = "singer"
    \time 4/4
   e4  r4 \tuplet 3/2 {e e e}     
    \slurDashed e (e) e~ e4   
      r4 \tuplet 3/2 {e e e}   
          r4 \tuplet 3/2 {e e e}
  }
Versea = \lyricmode {   
  "" la la la --  \set ignoreMelismata = ##t laaaa  laaa \unset ignoreMelismata laaaa __ laaaa -- laaa laa -
  }
\book {                                         
  \score {
    <<
       \new ChordNames  \removeWithTag #'midi { \harmonien }
       \new Staff <<
         \melody >>
      \lyricsto "singer" \new Lyrics \Versea   
   >> 
   \layout {
   }
   }
  \score {
  \removeWithTag #'print
  \midi { }
}
}


funktioniert leider auch nicht.

Wie geht es richtig?

harm6

Selbst nachdem ich Tippfehler u.ä. entfernt habe, achte mehr auf das log, und den Code nach meinem Geschmack formatiert habe ist mir völlig unklar wo die Akkordsymbole platziert werden sollen. (Zur Kontrolle kommentier mal den zusätzlichen Staff ein.)

Das Einklammern funktioniert jedenfalls. Das midi auch.
Zumindest bei mir. Falls es bei Dir nicht klappt poste bitte das log, falls error und/oder warning gemeldet werden oder spezifizier genau was nicht in Ordnung ist.

\version "2.18.0"

\language "deutsch"

harmonien =
\chordmode {
  \germanChords
  %---------------
  \tag #'print {
    \override ParenthesesItem #'font-size = #0.5
    \parenthesize
    a2.
  }
  \tag #'midi r2.
  %--------------- 
  h1:m e1 a1 fis1:m
}

melody =
\relative c'' {
  \new Voice = "singer"
  \time 4/4
  \partial 4
  e4
  r4 \tuplet 3/2 { e e e } 
  \slurDashed
  e( |
  e) e~ e4 r4 |
  \tuplet 3/2 {e e e}   
  r4 \tuplet 3/2 {e e e}
}
 
Versea = \lyricmode {   
  _ la la la -- 
  \set ignoreMelismata = ##t
  laaaa  laaa
  \unset ignoreMelismata
  laaaa __ laaaa -- laaa laa
}
 
ready =
  <<
    %\new Staff \harmonien
    \new ChordNames \harmonien
    \new Staff \melody
    \lyricsto "singer" \new Lyrics \Versea   
  >>
   
\book {                                         
  \score {
    \removeWithTag #'midi \ready
    \layout { }
  }
  \score {
    \removeWithTag #'print \ready
    \midi { }
  }
}

ToPDF

#11
> ist mir völlig unklar wo die Akkordsymbole platziert werden sollen.
Der Zusammenhang Akkorde und Noten, also die horizontale Anordnung der Akkorde über den Noten ist in dem Beispiel völlig sinnfrei.
Es ging ja um \book und \score und dass es sich nicht compilieren ließ ...

Jetzt funktioniert es, danke!

Das Einklammern von Akkorden ist ja nun nicht so unüblich. Wäre das ein Thema für die Wunschliste?

Der zusätzliche Staff wird nun mehrfach eingeklammert.


harm6

Zitat
Das Einklammern von Akkorden ist ja nun nicht so unüblich. Wäre das ein Thema für die Wunschliste?

Das feature existiert ja, parenthesize funktioniert. Insoweit nein.
Das Problem ist eher das sich die Klammern nicht an die Größe des Akkordsymbols anpassen und man einen zusätzlichen override benötigt. Insoweit ja.

Zitat
Der zusätzliche Staff wird nun mehrfach eingeklammert.

Ja. \parenthesize klammert jeden einzelnen NoteHead ein, nicht die NoteColumn.
Da gibts schon einige issues zu auf dem bug-tracker. Ich hab mich auch schon selbst dran versucht, allerdings ohne überzeugendes Ergebnis.

Gruß,
  Harm