Autor Thema: Akkordsymbol einklammern  (Gelesen 3627 mal)

ToPDF

  • Member
Akkordsymbol einklammern
« am: Mittwoch, 19. März 2014, 21:04 »
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

  • Member
Re: Akkordsymbol einklammern
« Antwort #1 am: Mittwoch, 19. März 2014, 21:45 »
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

  • Member
Re: Akkordsymbol einklammern
« Antwort #2 am: Samstag, 29. März 2014, 00:37 »
\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

Zitat
C  ( F )  C  ( F )

Hm. Wie bekomme ich nur das ( F ) ?

harm6

  • Member
Re: Akkordsymbol einklammern
« Antwort #3 am: Samstag, 29. März 2014, 11:09 »
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

  • Member
Re: Akkordsymbol einklammern
« Antwort #4 am: Samstag, 29. März 2014, 11:49 »
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

  • Member
Re: Akkordsymbol einklammern
« Antwort #5 am: Samstag, 29. März 2014, 13:27 »
So wie ich schrieb, zwei scores. Die können natürlich in einem book sein.

ToPDF

  • Member
Re: Akkordsymbol einklammern
« Antwort #6 am: Samstag, 29. März 2014, 13:43 »
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

  • Member
Re: Akkordsymbol einklammern
« Antwort #7 am: Samstag, 29. März 2014, 13:49 »
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

  • Member
Re: Akkordsymbol einklammern
« Antwort #8 am: Samstag, 29. März 2014, 13:58 »
Zitat von: ToPDF
Das 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: ToPDF
Kann 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

  • Member
Re: Akkordsymbol einklammern
« Antwort #9 am: Samstag, 29. März 2014, 14:09 »
\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?
« Letzte Änderung: Samstag, 29. März 2014, 17:24 von ToPDF »

harm6

  • Member
Re: Akkordsymbol einklammern
« Antwort #10 am: Samstag, 29. März 2014, 17:39 »
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

  • Member
Re: Akkordsymbol einklammern
« Antwort #11 am: Samstag, 29. März 2014, 18:07 »
> 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.

« Letzte Änderung: Samstag, 29. März 2014, 18:28 von ToPDF »

harm6

  • Member
Re: Akkordsymbol einklammern
« Antwort #12 am: Samstag, 29. März 2014, 18:27 »
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