Allgemein > Allgemeine Diskussion
große Projekt - die Grenze von Lilypond?
kilgore:
Liebe Lily's,
Ich wollte mal eine Diskussion starten über große Partituren in Lilypond. Wie geht ihr damit um? Tips und Tricks?
Ich bin gerade am Ende der Setzung einer sehr grossen Partitur. Die hat circa 40 Systemen und geht über mehr als 30 Seiten, insgesamt 42 Einzelstimmen. Ich habe das Gefühl mit diesem Projekt an die Grenzen von Lilypond zu stossen!
Weil es so gross ist, ist die Zeit die Lilypond braucht zu kompilieren sehr lang. Deswegen habe ich die Partitur in 4 Blöcke geteilt. Die Eingabe habe ich noch leichter gemacht in dem ich jede Stimmgruppe ein andere Datei gebe. Also zB alle Holzbläser sind in einer Datei die Unabhängig bearbeitet werden kann und am Ende in die Partitur integriert. Jede Stimmgruppe ist dann auch wie die Partitur in 4 Blöcke geteilt. So gehen Eingabe und Korrekturen relativ schnell.
Änderungen in der Gesamtpartitur laufen aber sehr langsam. Ein MetronomeMark verschieben heisst 1-2 Minuten warten bis ich die Änderung sehen kann. 1-2 Minuten ist kein Problem, aber wenn man viel ändern muss ist es Problematisch.
Dazu kommt dann die Einzelstimmen erzeugen. Erstmal muss für jede Stimme die 4 Blöcke wieder zusammen geklebt sein, und danach individuell eingerichtet sein (es handelt sich um ein zeitgenössisches Partitur mit viele Objekte und Sonderzeichen).
Ich frage mich mit dem ganzen: Gibt es ein einfachere Lösung? Eignet sich Lilypond überhaupt für solche grosse Projekte? Liegt die lange Kompilierung Zeit an meinem Laptop, also wäre es einfacher mit einer Kraftvolle Desktop-Rechner?
Ich bin gespannt, was alle dazu sagen!
Grüße
Kil
ding-dong:
lieber Lily-bruder!
--- Zitat von: kilgore ---Ich wollte mal eine Diskussion starten über große Partituren in Lilypond. Wie geht ihr damit um? Tips und Tricks?
--- Ende Zitat ---
sicher kennst du das kapitel 3.4.2 Skipping corrected music im NR!?
da ist die rede von showFirstLength und showLastLength, \set Score.skipTypesetting = ##t | ##f
diese optionen sind vor allem bei der eingabe der musik nützlich!
--- Zitat von: kilgore ---Weil es so gross ist, ist die Zeit die Lilypond braucht zu kompilieren sehr lang. Deswegen habe ich die Partitur in 4 Blöcke geteilt. Die Eingabe habe ich noch leichter gemacht in dem ich jede Stimmgruppe ein andere Datei gebe. Also zB alle Holzbläser sind in einer Datei die Unabhängig bearbeitet werden kann und am Ende in die Partitur integriert. Jede Stimmgruppe ist dann auch wie die Partitur in 4 Blöcke geteilt. So gehen Eingabe und Korrekturen relativ schnell.
--- Ende Zitat ---
wie meinst du das - sind das blöcke mit jeweils 10 oder 20 takten?
--- Zitat von: kilgore ---Die Eingabe habe ich noch leichter gemacht in dem ich jede Stimmgruppe ein andere Datei gebe. Also zB alle Holzbläser sind in einer Datei die Unabhängig bearbeitet werden kann und am Ende in die Partitur integriert. Jede Stimmgruppe ist dann auch wie die Partitur in 4 Blöcke geteilt. So gehen Eingabe und Korrekturen relativ schnell.
--- Ende Zitat ---
da gehe ich noch weiter: ich verwende für jede stimme (Voice) eine eigene datei!
--- Zitat von: kilgore ---Dazu kommt dann die Einzelstimmen erzeugen. Erstmal muss für jede Stimme die 4 Blöcke wieder zusammen geklebt sein, und danach individuell eingerichtet sein (es handelt sich um ein zeitgenössisches Partitur mit viele Objekte und Sonderzeichen).
--- Ende Zitat ---
da verstehe ich nicht, was du genau meinst - wenn du die eingabe der stimmen oder stimmgruppen etc. gut strukturiert hast und sich jede stimme (oder block) in einer variablen befindet, ist es doch ein leichtes diese nach belieben zusammenzusetzen. klar kann es da viele mögliche kombinationen geben…
--- Zitat von: kilgore ---… es handelt sich um ein zeitgenössisches Partitur mit viele Objekte und Sonderzeichen
--- Ende Zitat ---
ich nehme an, diese definitionen kann man in eine eigene datei stecken und mit \include "..." zur verfügung stellen?!
falls du lust hast, kannst du dein system (oder die struktur) ins forum stellen, so dass wir vielleicht konkreter darüber sprechen können.
ich glaube es gibt auch schon beiträge oder samples in diesem forum, wie man stücke mit vielen stimmen/instrumenten strukturiern kann (ev. von RobUr? bin mir nicht sicher)
kilgore:
--- Zitat ---sicher kennst du das kapitel 3.4.2 Skipping corrected music im NR!?
--- Ende Zitat ---
Oh! Ist mir irgendwie entgangen...das hilft mir wohl für einiges!
--- Zitat ---wie meinst du das - sind das blöcke mit jeweils 10 oder 20 takten?
--- Ende Zitat ---
Die Blöcke sind jeweils 7-10 Seiten....
--- Zitat ---da verstehe ich nicht, was du genau meinst - wenn du die eingabe der stimmen oder stimmgruppen etc. gut strukturiert hast und sich jede stimme (oder block) in einer variablen befindet, ist es doch ein leichtes diese nach belieben zusammenzusetzen. klar kann es da viele mögliche kombinationen geben…
--- Ende Zitat ---
also, für jeden Block gibt es ein Partitur Struktur (eine Datei), und Jede Stimmgruppe als einzel Datei, also Variabel. Um die Stimmen zu machen muss ich dann die vier Stimmgruppen-Dateien wieder zusammen basteln damit alle Stimmen vollständig sind.
Die Objekte sind auch als "\include" in jeder Partitur-Struktur. Die müssen aber zurecht geschoben werden in der Partitur, und dann nochmal in den Einzelstimmen.
Hier die erste Struktur von der Partitur (also Block 1)
--- Code: ---\version "2.12.3"
\include "/media/data/dokumente/Lilypond/Nuria/percussion1-7.ly"
\include "/media/data/dokumente/Lilypond/Nuria/woodwinds1-7.ly"
\include "/media/data/dokumente/Lilypond/Nuria/brass1-7.ly"
\include "/media/data/dokumente/Lilypond/Nuria/NuriaSymbols.ly"
\include "/media/data/dokumente/Lilypond/Nuria/HighStrings1-7.ly"
\include "/media/data/dokumente/Lilypond/Nuria/LowStrings1-7.ly"
\include "quartertonearrows.ly"
#(set-default-paper-size "a3")
#(set-global-staff-size 9)
\header {
dedication = \markup \magnify #2 { \italic "Dedication" }
title = \markup \magnify #4 { "Title" }
composer = \markup \magnify #2 { "Composer" \hspace #5 } }
\paper { tagline = ##f
line-width = 26\cm
bottom-margin = 2\cm
ragged-last-bottom = ##f
}
\layout {
\context {
\RemoveEmptyStaffContext
}
}
<<
\new StaffGroup <<
\new Staff { \picc }
\new Staff
{ \flutes }
\new PianoStaff <<
\new Staff
{ \oboeOneTwo }
\new Staff
{ \oboeThree }
>>
\new Staff
{ \clarinettes }
\new Staff
{ \bassClar }
\new Staff
{ \faggot }
\new Staff
{ \kontraFaggot }
>>
\new StaffGroup <<
\new PianoStaff <<
\new Staff { \hornOneThree }
\new Staff
{ \hornTwoFour }
>>
\new PianoStaff <<
\new Staff
{ \trumpetOneTwo }
\new Staff \with {
\override VerticalAxisGroup #'remove-first = ##t }
{ \trumpetTwo }
\new Staff
{ \trumpetThree }
>>
\new PianoStaff <<
\new Staff
{ \tromboneOneTwo }
\new Staff \with {
\override VerticalAxisGroup #'remove-first = ##t }
{ \tromboneTwo }
\new Staff
{ \tromboneThree }
>>
\new Staff
{ \tuba }
>>
\new StaffGroup <<
\new Staff { \timpani }
\new Staff
{ \percOne }
\new Staff
{ \percTwo }
\new Staff
{ \percThree }
\new Staff
{ \percFour }
\new Staff
{ \percFive }
>>
\new StaffGroup <<
\harpOne >>
\new StaffGroup <<
\harpTwo >>
\new StaffGroup <<
\new Staff { \soloViolinOne }
\new Staff
{ \soloViolinTwo }
>>
\new StaffGroup <<
\new PianoStaff <<
\new Staff
{ \violinsOneA }
\new Staff
{ \violinsOneB }
\new Staff \with {
\override VerticalAxisGroup #'remove-first = ##t }
{ \violinsOneC }
>>
\new PianoStaff <<
\new Staff
{ \violinsTwoA }
\new Staff
{ \violinsTwoB }
\new Staff \with {
\override VerticalAxisGroup #'remove-first = ##t }
{ \violinsTwoC }
>>
\new PianoStaff <<
\new Staff
{ \violaOne }
\new Staff
{ \violaTwo }
>>
\new PianoStaff <<
\new Staff
{ \celloOne }
\new Staff
{ \celloTwo }
>>
\new PianoStaff <<
\new Staff
{ \kontrabassOne }
\new Staff
{ \kontrabassTwo }
\new Staff \with {
\override VerticalAxisGroup #'remove-first = ##t }
{ \kontrabassThree }
>>
>>
>>
--- Ende Code ---
ding-dong:
ist doch gut so!
ich würde persönlich noch weiter gehen und die einzelnen instrumentengruppen in variablen zusammenfassen, etwa:
--- Code: ---woodwinds = \new StaffGroup <<
\new Staff { \picc }
\new Staff { \flutes }
\new PianoStaff <<
\new Staff { \oboeOneTwo }
\new Staff { \oboeThree }
>>
\new Staff { \clarinettes }
\new Staff { \bassClar }
\new Staff { \faggot }
\new Staff { \kontraFaggot }
>>
dito für die hörner etc.
--- Ende Code ---
das erhöht die übersicht nochmals und dein finales score schaut dann etwa so aus:
--- Code: ---\score {
<<
\woodwinds
\horns
\violins
…
>>
}
--- Ende Code ---
es ist dann auch ein leichtes die partituren für die einzelnen gruppen/instrumente zu erstellen, sei es dass du ein masterfile für jedes instrument und jede instrumentengruppe erstellst oder diese im gesamt-score master auflistet und jeweils nach bedarf auskommentierst (was ich persönlich nicht empfehle).
selbstverständlich ist es sehr wichtig systematisch vorzugehen!
kilgore:
Ja für jede Stimmgruppe mache ich auch ein partitur für die Bearbeitung, die ich dann auskommentiere wenn ich die Gesamtpartitur durch die schleife gehen lasse. Funktioniert eigentlich ganz gut.
Nächstes mal werde ich auf jeden Fall einzelne Dateien für jedes Instrument erstmal erstellen. Ist aber in dieser Partitur nicht so leicht getan. Wegen platzmangel sind zB die beiden Flöten auf einer System. Für die Stimmen muss ich das aber manuell auseinander ziehen, weil beide Flöten Einzelstimmen brauchen.
Das mit dem showFirstLength wird mir auf jeden Fall auch zukünftig weiterhelfen.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln