Kurs:Lilypond für Wikis: Troubleshooting
Die meisten Probleme werden in der offiziellen Lilypond-Dokumentation geklärt. Irgendwo da; verwinkelt; zergliedert, um nicht zu sagen versteckt.
Damit du nicht jedes einzelne Problem aufwendig recherchieren musst, folgen hier einige Probleme, die bei den Wikibooks-Buchprojekten Gitarre und Liederbuch aufgetreten sind.
Bei Fehlermeldungen, die sich nicht klären lassen hilft das Lilypondforum.de.
Lilypond-Probleme
BearbeitenZiffern und Sonderzeichen
BearbeitenZiffern und Sonderzeichen werden bei den Lyrics nicht angezeigt.
- Lösung
Setze sie in Anführungszeichen.
<score sound="1">
{
\relative c' {
\clef treble
c2 d4 e f g a b c1
\break
c2 b4 a g f e d c1 }
\addlyrics {
"1" "2" "3" "4" "5" "6" "j7" "8"
"8" "j7" "6" "5" "4" "3" "2" "1"
}
}
</score>
Doppelte Notenhälse
BearbeitenPunktierte halbe Noten im Bass ( c,2. ) erhalten in der Tabulatur zwei Notenhälse. Das ist für völlige Anfänger verwirrend.
- Lösung
Lösche \tabFullNotation oder kommentiere es aus
\new TabStaff { % \tabFullNotation ...
Stimmkreuzung
Bearbeiten2 Notenköpfe für einen Ton
Unschöne Pausen
Unschöne doppelten Notenköpfe
- Lösung
\mergeDifferentlyHeadedOn
Guitar-Cords sehen falsch aus
BearbeitenViele externe Liedbeispiele enthaltenen \include "predefined-guitar-fretboards.ly"
. Include-Dateien funktionieren nicht im Score-Plugin.
<score lang="lilypond" raw="1">
\include "predefined-guitar-fretboards.ly"
\version "2.16.0"
mychords = \chordmode {
c1 c:m c:aug c:dim c:dim7 c:7 c:maj7 c:m7 c:9 \break
}
...
- Lösung
Akkorddiagramme müssen von Hand erstellt werden. (Siehe Lektionen)
Eingeschobene Stimme kommt nicht in die Tabulatur
Bearbeiten<score sound="1" raw="1">
\version "2.20.0"
\header {
title = " Op. 31 Etude No.1 Andante "
% subtitle = " ... "
% piece = " ... "
composer = "Ferdinand Sor (*1778-†1839)"
% opus = "Op.31"
% source = "using different sources"
arranger = "Mjchael"
copyright = "ccbysa de.wikibooks.org/wiki/Gitarre"
% footer = " ... "
}
Diskant = \relative c' {
\set Staff.midiInstrument = "acoustic guitar (nylon)"
%Part 1
\override NoteHead #'color = #red
\partial 4
\repeat volta 2 { g4
e'2 c4 | g c e | g-4 f-1 d-4 | b2 g4 |
g2 c4 | c b c |
%% kurzfristig zweistimmig
<<
{
d2.-4~ | d
}
\new Voice {
\override NoteHead #'color = #green
%% g4\rest = 1/4 Pause in Höhe g
g,4\rest g4 g | g4 g g
}
>> \break
%% wieder einstimmigen
\override NoteHead #'color = #red
e'2 c4 | g c e | g-3 fis-2 f-1 | d-4 b g | c2 e4 |
a,-2 d-4 b | c2 e4 | c r4
}
}
Bass = \relative c' {
\override NoteHead #'color = #blue
\partial 4
\repeat volta 2 { s4 |
c,2. | e | d | f-3 | e | e4 d c | b2.-2~ |
b | c2. | e | d | f-4 | e4 g c, | f2-3 g4 |
c, e g | <c, e> s4
}
}
Gitarre = << \Diskant \\ \Bass >>
\score {
<<
\new Voice {
\clef "treble_8" \time 3/4
\tempo 4 = 120 \key c \major
\set Score.tempoHideNote = ##t
\Gitarre
}
\new TabStaff {
\Gitarre
}
>>
\layout { }
}
\score {
<<
\new Voice {
\clef "treble_8" \time 3/4
\tempo 4 = 120 \key c \major
\unfoldRepeats \Gitarre
}
>>
\midi { }
}
\paper {
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
- Lösung
Danke an das LilipondForum.de für die Hilfe.
new Botton statt new Voice
\new Bottom = "middle" { % \override NoteHead #'color = #green \voiceThree %% g4\rest = 1/4 Pause in Höhe g g,4\rest g4 g | g4 g g }
Arpeggios erklingen nicht
BearbeitenDas Problem: Arpeggios werden zwar eingezeichnet, erklingen aber nicht.
- Lösung Teil 1
Nutze Grace-Noten als Ersatz für Rasgueados...
<score lang="lilypond" >
<< \new Staff { e2 \grace { c16 d e f } e2 }
\new Staff { c2 \grace { g8 b } c2 } >>
</score>
Grace-Noten klingen zwar richtig, sehen aber für den Gitarristen seltsam aus.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="House of the Rising Sun"
subtitle="Song im 6/8-Takt (Plektrumvariante)"
encoder="mjchael"
}
myDiskant = {
%% nachgestelltes arpeggio statt vorangestelltes grace
a,8 <a c' e' >4\arpeggio e'8 c' a | % Am
c8 <g c' e' >4\arpeggio e'8 c' g | % C
d8 <a d' fis'>4\arpeggio fis'8 d' a | % D
f8 <a c' f' >4\arpeggio f'8 c' a | % F
\break
a,8 \grace { a16. c' e'}<a c' e'>4 e'8 c' a | % Am
c8 \grace {g16. c' e' }<g c' e'>4 e'8 c' g | % C
b,8 \grace {gis16. b e' }<gis b e'>4 e'8 b gis | % E/B
e,8 \grace { gis16. b e'}<gis b e'>4 e'8 b gis | % E
\break
a,8 <a c' e' >4\arpeggio e'8 c' a | % Am
c8 <g c' e' >4\arpeggio e'8 c' g | % C
d8 <a d' fis'>4\arpeggio fis'8 d' a | % D
f8 <a c' f' >4\arpeggio f'8 c' a | % F
\break
a,8 \grace { a16. c' e'}<a c' e'>4 e'8 c' a | % Am
b,8 \grace { gis16. b e'}<gis b e'>4 e'8 b gis | % E/B
a,8 \grace {a16. c' e' }<a c' e'>4 e'8 c' a | % Am
e,8 \grace {gis16. b e' }<gis b e'>4 e'8 b gis | % E
\mark "4x"
}
myBass = {
a,2. c d f
a, c b, e,
a, c d f
a, b, a, e,
}
%% Layout
\score {
<<
\new ChordNames {
\chordmode {
a2.:m c d f
a:m c e:/b e
a:m c d f
a:m e:/b a:m e
}
}
{
%Noten
\new Staff <<
\tempo 4 = 120
%Tempo ausblenden
\set Score.tempoHideNote = ##t
\time 6/8
\key a \minor
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\repeat volta 4 \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn
\myDiskant
\\
\repeat volta 4
\myBass
>>
}
% Tabulatur
\new TabStaff {
%% 2x Notenhälse bei ½ Noten verwirren.
% \tabFullNotation
\repeat volta 4
<<
\myDiskant
\\
\myBass
>>
}
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 6/8
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
\myDiskant
\\
\repeat volta 4
\myBass
>>
}
>>
\midi {}
}
% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
- Lösung Teil 2
Definiere zwei Variablen. Die erste nennst du myDiskant, die zweite nennst du myMidiDiskant. Der Layout-Block enthält \myDiskant ausschließlich mit der Arpeggio-Variante und der Midi-Block enthält \myMidiDiskant ausschließlich mit der Grace-Variante.
Akkorde werden nicht richtig benannt
Bearbeiten- Lösung
\once \override ChordName.text = "Cadd9" c:9
Danke an Malte vom LilypondForum.de für die Hilfe mit der Bezeichnung der Akkorde.
Ein Scalendiagramm wird nicht angezeigt
Bearbeiten- Mögliche Ursache
Du hast beim \fret-diagram... ein paar Saiten mit einem & auskommentiert, um sie möglicherweise wo anders weiter zu verwenden. Das Dumme ist, dass innerhalb des \fret-diagram keine & auftauchen dürfen. Lilypond erkennt sie dort nicht als Kommentar.
\fret-diagram #"s:3;f:1;
& 1-2-7;1-3-1;1-5-2;
& 2-3-5;2-5-6;
3-2-2;3-4-3;3-5-4;
4-2-6;4-4-7;4-5-1;
5-2-3;5-3-4;5-5-5;
6-2-7;6-3-1;6-5-2;"
}
- Lösung
Lösche im \fret-diagram die auskommentierte Zeile der Saiten mit dem &.
- G-Dur (E- bzw. F-Form)
Unsichtbarer Fehler
Bearbeiten- Fehlermeldung
line 31 - column 1: syntax error, unexpected SYMBOL, expecting '.' or '='
Der Fehler wird möglicherweise auch in Frescobaldi ausgegeben, aber die Noten werden scheinbar korrekt angezeigt. Frescobaldi hilft dir zumindest beim Kontext weiter, damit du weißt, wo bzw. in welcher Zeile der Fehler auftrat. Auch viele einfache Text-Editoren wie das Notepad++ können Zeilennummern anzeigen, so dass du zumindest einen Hinweis bekommst, wo sich angeblich der Fehler befinden soll. Aber beim besten Willen findest du den Fehler nicht.
Der Grund könnte sein, dass der Fehler im wahrsten Sinne des Wortes unsichtbar ist. Möglicherweise hat sich beim Kopieren ein unsichtbares Leerzeichen eingeschlichen. Ein falsche Unicode-Leerzeichen mit der Breite „Null“. Möglicherweise ist es ein asiatisches Schriftzeichen, dass der Schriftsatz (Font) der Wikibooks mit einem Lehrzeichen wiedergibt. Möglicherweise auch ein falscher Zeilenumbruch, wie etwa eine Absatzmarke (¶).
Solltest du nicht genau wissen wo der Fehler ist, grenze den Fehler ein. Füge einen Absatz in den fehlerhaften Quellcode ein. Erhöht sich in der Vorschau die Nummer der fehlerhaften Zeile, muss der Fehler in einer der folgenden Zeilen sein. Erhöht er sich nicht, so muss er vorher sein.
Hast du die Position eingegrenzt, so lösche ALLE Leerzeichen und setze mit der Leertaste neue. Lösche alle Zeilenumbrüche und setze mit der Entertaste neue.
Mit dieser Prozedur hatte zumindest ich Erfolg gehabt.
- Quelle
- Fehlermeldung eines Lilypond-Nutzers dem mein Dank nachschleicht. --Mjchael (Diskussion) 00:34, 26. Feb. 2024 (CET)
Die Base Drum erklingt nicht
BearbeitenDie Bass Drum (bd) wird zwar in den Schlagzeugnoten angezeigt aber nicht im Midi ausgegeben.
- Lösung
- verwende die Boden Trommel (tomfl) statt der Base Drum (bd) bis dermaleinst dieser Bug behoben wird.