Transponieren

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.

Achtung: Tonhöhen innerhalb einer \transpose-Umgebung sind absolut, es sei denn, ein \relative wird eingefügt.

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 {
    \key d \major
    d'4 fis a d
  }
}

[image of music]

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 entsprechende Stimme wie folgt erstellt werden:

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

[image of music]

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' d e f }
\new Staff {
  \transpose c cis { \music }
  \transpose c des { \music }
}

[image of 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 Transposition von Instrumenten.

Ausgewählte Schnipsel

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:

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 (eqv? n 6) (eqv? n 2)))
       (set! a (- a 2))
       (set! n (+ n 1)))
      ((and (< a -1) (or (eqv? n 0) (eqv? 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 naturalize 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 (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 { }
}

[image of music]

Siehe auch

Notationsreferenz: Relative Oktavenbezeichnung, Transposition von Instrumenten, Umkehrung, Krebs, Modale Transformierungen.

Schnipsel: Pitches.

Referenz der Interna: TransposedMusic.

Bekannte Probleme und Warnungen

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

Dreifache Versetzungszeichen werden nicht ausgegeben, wenn \transpose benutzt wird. Eine enharmonisch entsprechende Tonhöhe wird anstatt dessen gesetzt (z. B. Des anstelle von e-dreifach-b).


LilyPond Benutzerhandbuch v2.25.22 (development-branch).