GNU LilyPond Benutzerhandbuch: 1.1.2 Changing multiple pitches

### 1.1.2 Changing multiple pitches

Dieser Abschnitt zeigt, wie man Tonhöhen beeinflusst.

#### Octave checks

Im relativen Modus geschieht es recht häufig, dass ein Oktavänderungszeichen vergessen wird. Oktavenüberprüfungen machen es einfacher, solche Fehler zu entdecken und zu korrigieren. Sie geben eine Warnung aus und korrigieren die Oktave, wenn eine Note in einer unerwarteten Oktave gefunden wird.

Um die Oktave einer Note zu überprfüfen, muss die absolute Oktave nach dem `=`-Symbol angegeben werden. Im folgenden Beispiel wird eine Warnung (und eine Tonhöhenänderung) generiert, weil die zweite Note als absolute Oktave ein `d''` anstelle von `d'` notiert ist, wie es die Oktavierungskorrektur markiert.

>     \relative c'' {
>       c2 d='4 d
>       e2 f
>     }

Die Oktave von einer Note kann auch mit dem `\octaveCheck` Kontrolltonhöhe-Befehl überprüft werden. Kontrollhöhe wird im absoluten Modus eingegeben. Dabei wird überprüft, ob das Intervall zwischen der vorherigen Note und der Kontrolltonhöhe nicht größer als eine Quarte ist (die normale Berechnung im relativen Modus). Wenn diese Überprüfung einen Fehler ausgibt, wird eine Warnung gemeldet, aber die vorigen Note wird nicht verändert. Folgende Noten sind dann relativ zur Kontrolltonhöhe.

>     \relative c'' {
>       c2 d
>       \octaveCheck c'
>       e2 f
>     }

Vergleichen Sie die zwei Takte im nächsten Beispiel. Die erste und dritte `\octaveCheck`-Überprüfung gibt einen Fehler aus, die zweite dagegen ist erfolgreich:

>     \relative c'' {
>       c4 f g f

>       c4
>       \octaveCheck c'
>       f
>       \octaveCheck c'
>       g
>       \octaveCheck c'
>       f
>     }

#### See also

Schnipsel: Pitches.

Referenz der Interna: RelativeOctaveCheck.

#### Transpose

Ein musikalischer Ausdruck kann mit dem Befehl `\transpose` transponiert werden. Die Syntax lautet:

>     \transpose vonTonhöhe nachTonhöhe mus. Ausdruck

Das bedeutet, dass der mus. Ausdruck um das Intervall zwischen den Tonhöhen vonTonhöhe und nachTonhöhe transponiert wird: Jede Note, die die Tonhöhe vonTonhöhe hat, wird in die Tonhöhe nachTonhöhe umgewandelt, und alle anderen Noten um das gleiche Intervall. Beide Tonhöhen werden im absoluten Modus eingegeben.

So kann z. B. ein Stück in D-Dur, wenn es für den Sänger etwas zu tief ist, nach E-Dur transponiert werden. Dabei werden auch die Vorzeichen entsprechend angepasst:

>     \transpose d e {
>       \relative c' {
>         \key d \major
>         d4 fis a d
>       }
>     }

Wenn eine Stimme, die in C notiert ist, von einer A-Klarinette gespielt werden soll (für die A als C notiert wird, aber eine kleine Terz tiefer erklingt als es notiert ist), kann die entpsrechende Stimme wie folgt erstellt werden:

>     \transpose a c' {
>       \relative c' {
>         \key c \major
>         c4 d e g
>       }
>     }

Beachten Sie, dass `\key c \major` explizit angegeben werden muss. Wenn hier keine Tonart angemerkt würde, würde die Noten zwar transponiert, aber keine Vorzeichen angezeigt werden.

`\transpose` unterscheidet enharmonische Verwechslungen: sowohl `\transpose c cis` als auch `\transpose c des` transponieren die Musik einen Halbton nach oben. Aber die erste Version gibt als Versetzungszeichen Kreuze aus, die zweite dagegen B-Versetzungszeichen.

>     music = \relative c' { c d e f }
>     \new Staff {
>       \transpose c cis { \music }
>       \transpose c des { \music }
>     }

`\transpose` kann auch benutzt werden, um die geschriebenen Noten eines transponierenden Instruments zu notieren. Im vorigen Beispiel wurde die Tonhöhen so eingegeben, wie sie erklingen (also in C), aber man kann genauso gut auch andersherum aus einer Stimme, die für ein transponierendes Instrument in einem anderen Ton als C geschrieben wurde, eine Partitur in C erstellen. Die Noten einer B-Trompete, die mit einem notierten E (also einem klingenden D) anfangen, könnte man also auch so eingeben:

>     musicInBflat = { e4 … }
>     \transpose c bes, \musicInBflat

Um die Noten dann in F zu setzen (um sie etwa für ein Horn zu arrangieren), könnte man die schon geschriebenen Noten wieder mit einem weiteren `\transpose` umgeben:

>     musicInBflat = { e4 … }
>     \transpose f c' { \transpose c bes, \musicInBflat }

Für mehr Information zu transponierenden Instrumenten siehe auch Instrument transpositions.

#### Selected Snippets

Noten mit minimaler Anzahl an Versetzungszeichen transponieren.

Dieses Beispiel benutzt Scheme-Code, um enharmonische Verwechslungen für Noten zu erzwingen, damit nur eine minimale Anzahl an Versetzungszeichen ausgegeben wird. In diesem Fall gelten die folgenden Regeln:

- Doppelte Versetzungszeichen sollen entfernt werden
- His -> C
- Eis -> F
- Ces -> B
- Fes -> E

Auf diese Art werden am meisten natürliche Tonhöhen als enharmonische Variante gewählt.

>     #(define (naturalize-pitch p)
>       (let ((o (ly:pitch-octave p))
>             (a (* 4 (ly:pitch-alteration p)))
>             ;; alteration, a, in quarter tone steps,
>             ;; for historical reasons
>             (n (ly:pitch-notename p)))
>         (cond
>          ((and (> a 1) (or (eq? n 6) (eq? n 2)))
>           (set! a (- a 2))
>           (set! n (+ n 1)))
>          ((and (< a -1) (or (eq? n 0) (eq? n 3)))
>           (set! a (+ a 2))
>           (set! n (- n 1))))
>         (cond
>          ((> a 2) (set! a (- a 4)) (set! n (+ n 1)))
>          ((< a -2) (set! a (+ a 4)) (set! n (- n 1))))
>         (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7))))
>         (if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7))))
>         (ly:make-pitch o n (/ a 4))))

>     #(define (naturalize music)
>       (let ((es (ly:music-property music 'elements))
>             (e (ly:music-property music 'element))
>             (p (ly:music-property music 'pitch)))
>         (if (pair? es)
>            (ly:music-set-property!
>              music 'elements
>              (map (lambda (x) (naturalize x)) es)))
>         (if (ly:music? e)
>            (ly:music-set-property!
>              music 'element
>              (naturalize e)))
>         (if (ly:pitch? p)
>            (begin
>              (set! p (naturalize-pitch p))
>              (ly:music-set-property! music 'pitch p)))
>         music))

>     naturalizeMusic =
>     #(define-music-function (parser location m)
>       (ly:music?)
>       (naturalize m))

>     music = \relative c' { c4 d e g }

>     \score {
>       \new Staff {
>         \transpose c ais { \music }
>         \naturalizeMusic \transpose c ais { \music }
>         \transpose c deses { \music }
>         \naturalizeMusic \transpose c deses { \music }
>       }
>       \layout { }
>     }

#### See also

Notationsreferenz: Instrument transpositions.

Schnipsel: Pitches.

Referenz der Interna: TransposedMusic.

#### Known issues and warnings

Der relative Modus wirkt nicht in `\transpose`, `\chordmode` oder `\relative`. Um auch im relativen Modus transponieren zu können, muss ein `\relative` innerhalb des `\tranpose` zusätzlich gesetzt werden.

Other languages: English, français, español.

#### Notation Reference