LilyPond 記譜法リファレンス: 1.1.2 複数のピッチを変更する

### 1.1.2 複数のピッチを変更する

このセクションではピッチを変更する方法について議論します。

#### オクターブ チェック

相対モードでは、オクターブ変更記号を付け忘れることが容易に起こり得ます。オクターブ チェックは、予期しないオクターブの音符を見つけた場合に警告を表示してオクターブを修正することによって、そのようなエラーを見つけ出すことをより容易にします。

音符のオクターブをチェックするには、`=` の後に絶対オクターブを指定します。以下の例は、2 番目の音符の絶対オクターブがオクターブ チェックによって示される `d'` ではなく `d''` であるため、警告を発し (そしてピッチを変更し) ます。

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

音符のオクターブは `\octaveCheck controlpitch` コマンドでもチェックすることができます。`controlpitch` は絶対モードで指定されます。これは前の音符と `controlpitch` との間の音程が 4 度以内であるかどうかをチェックします (つまり、通常の相対モードでの算出方法と同じです)。このチェックが失敗した場合、警告が表示されます。このチェックの前にある音符は変更されませんが、その後に続く音符はオクターブが修正されます。

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

以下の 2 小節を見てください。1 番目と 3 番目の `\octaveCheck` は失敗していますが、2 番目のチェックは失敗していません。

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

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

#### 参照

コード断片集: ピッチ

内部リファレンス: RelativeOctaveCheck.

#### 移調

音楽表記は `\transpose` で移調させることができます。構文は以下の通りです:

>     \transpose frompitch topitch musicexpr

これは `musicexpr` が `frompitch` から `topitch` に移調されるということを意味します: `frompitch` のピッチの音符はすべて `topitch` に変更され、他の音符もすべて同じ音程で移調されます。`frompitch` と `topitch` のピッチはどちらも絶対モードで指定されます。

Note: `\transpose` ブロックの中にある音符は、そのブロックの中に `\relative` が無い限り、絶対モードになります。

D-メジャーの調で書かれた楽曲を思い浮かべてください。この楽曲を E-メジャーに移調することができます。調号も自動的に移調されることに注意してください。

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

C (通常の コンサート ピッチ) で書かれたパートを A のクラリネットで演奏する (そのため、A は C として表記され、演奏は表記されたものよりも 3 度低くなります) 場合、そのパート譜は以下のように作り出されます:

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

`\key c \major` を明示的に指定しているということに注意してください。調号を指定しなかった場合、音符は移調されますが、調号は譜刻されません。

`\transpose` は同音異名のピッチを区別します: `\transpose c cis` と `\transpose c des` はどちらも半音上に移調します。1 番目の移調はシャープを譜刻し、音符の五線譜上での位置は変わりません。2 番目の移調はフラットを譜刻し、音符の五線譜上での位置は上に上がります。

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

`\transpose` は上記とは異なる方法で用いることもでき、それによって移調楽器のために書かれた音符を入力することができます。前の例では C (またはコンサート ピッチ) でピッチを入力して、それらを移調楽器のために譜刻する方法を示しましたが、それとは正反対のことも可能です – 例えば、移調楽器のパート譜から指揮譜を譜刻することです。例えば、E で始まる B-フラットのトランペットの音楽 (コンサート ピッチでは D で始まる音楽) を入力している場合に、指揮譜を作り出すには以下のように記述します:

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

この音楽を F で譜刻する (例えば、フレンチ ホルンの楽譜にアレンジし直すために) には、既存の音楽をもう 1 つの `\transpose` で包み込みます:

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

移調楽器についての更なる情報は、楽器の移調 を参照してください。

#### Selected Snippets

臨時記号の数が最小になるようにピッチを移調する ("スマート" トランスポーズ)

この例は、臨時記号の数が最小になるように、異名同音を置き換える Scheme コードを使用しています。この場合、次のルールが適用されます:

ダブルシャープやダブルフラットは削除されます

B シャープ -> C

E シャープ -> F

C フラット -> B

F フラット -> E

このようにして、最も自然な異名同音が選ばれます。

>     #(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 { }
>     }

#### 参照

記譜法リファレンス: 楽器の移調, 反転, 様式的な変形, 相対オクターブ入力, 逆行

コード断片集: ピッチ

内部リファレンス: TransposedMusic

#### 既知の問題と警告

相対変換コマンドはその引数の中にある `\transpose`, `\chordmode`, あるいは `\relative` セクションには影響を及ぼしません。移調された音楽の中で相対モードを使用するには、`\transpose` の中に `\relative` を置く必要があります。

`\transpose` を使用している場合、3 重の臨時記号は表示されません。代わりに ‘異名等価の’ ピッチが表示されます (例えば e の 3 重フラットの代わりに d フラットが表示されます)。

#### 反転

単一の操作で音楽表記を反転して、移調することができます:

>     \inversion around-pitch to-pitch musicexpr

The `musicexpr` の音程は `around-pitch` を中心に反転され、さらに `around-pitch` が `to-pitch` にマッピングされるように移調されます。

>     music = \relative { c' d e f }
>     \new Staff {
>       \music
>       \inversion d' d' \music
>       \inversion d' ees' \music
>     }

Note: 反転されるモチーフは絶対オクターブ形式で記述するか、最初に絶対オクターブ形式に変換されるよう `relative` ブロックで囲む必要があります。

#### 参照

記譜法リファレンス: 様式的な変形, 逆行, 移調

#### 逆行

音楽表記を後ろから前に演奏する逆行を作り出すことができます:

>     music = \relative { c'8. ees16( fis8. a16 b8.) gis16 f8. d16 }

>     \new Staff {
>       \music
>       \retrograde \music
>     }

#### 既知の問題と警告

`\retrograde` は非常に単純なツールです。多くのイベントは交換ではなく‘反転’するため、スパナの開始点にある調整や方向指示子は対応する終了点にも追加する必要があります。つまり、`^(` は `^)` によって終了しなければならないということです。全ての `\<` や `\cresc` は `\!` か `\endcr` で終わらなければならず、全ての `\>` や `\decr` は`\enddecr` で終わらなければなりません。効果が永続するようなプロパティ変更のコマンドやオーバライドは予期しない結果を生み出すかもしれません。

#### 参照

記譜法リファレンス: 反転, 様式的な変形, 移調

#### 様式的な変形

音階に基づく作曲では、モチーフはさまざまなやり方で頻繁に移調されます。これは、モチーフの開始の音程を変えるために 移調 する場合や、旋回点で 反転 する場合があります。 逆行 するために後戻りする場合もあります– 逆行 を参照してください。

Note: 与えられた音階の中に無い音符は、移調されません。

#### 様式的な移調

以下により、与えられた音階でモチーフを移調させることができます:

>     \modalTranspose from-pitch to-pitch scale motif

motif の音符は scale 内を to-pitch と from-pitch 間の音程の度数の分だけシフトされます:

>     diatonicScale = \relative { c' d e f g a b }
>     motif = \relative { c'8 d e f g a b c }

>     \new Staff {
>       \motif
>       \modalTranspose c f \diatonicScale \motif
>       \modalTranspose c b, \diatonicScale \motif
>     }

上昇する音階の長さは任意であり、指定する音程も任意です:

>     pentatonicScale = \relative { ges aes bes des ees }
>     motif = \relative { ees'8 des ges,4 <ges' bes,> <ges bes,> }

>     \new Staff {
>       \motif
>       \modalTranspose ges ees' \pentatonicScale \motif
>     }

半音階の音階を持つ `\modalTranspose` を使った時の効果は `\transpose` と同じですが、使われる音符の名前を特定することが できます:

>     chromaticScale = \relative { c' cis d dis e f fis g gis a ais b }
>     motif = \relative { c'8 d e f g a b c }

>     \new Staff {
>       \motif
>       \transpose c f \motif
>       \modalTranspose c f \chromaticScale \motif
>     }

#### 様式的な反転

モチーフを与えられた音階に従って与えられた旋回点 (音符) で反転させて、 移調させることを 1 つの操作でできます:

>     \modalInversion around-pitch to-pitch scale motif

motif の音符は scale 内を around-pitch から元の音符までと同じ度数の分だけ逆向きに進んだ位置に配置され、それからその結果は scale 内を to-pitch と around-pitch 間の音程の度数分だけシフトされます。

そのため、単純に音階をある音符で反転させる場合は、around-pitch と to-pitch で同じ値を使用します:

>     octatonicScale = \relative { ees' f fis gis a b c d }
>     motif = \relative { c'8. ees16 fis8. a16 b8. gis16 f8. d16 }

>     \new Staff {
>       \motif
>       \modalInversion fis' fis' \octatonicScale \motif
>     }

音階の中にある 2 つの音符の中間にある旋回点で反転させるには、2 つの音符の 1 つを旋回点として反転させて、音階の 1 度数分だけ移調させます。指定された 2 つの音符が旋回点を囲んでいると解釈することができます:

>     scale = \relative { c' g' }
>     motive = \relative { c' c g' c, }

>     \new Staff {
>       \motive
>       \modalInversion c' g' \scale \motive
>     }

反転と逆行の操作を組み合わせると逆行-反転になります:

>     octatonicScale = \relative { ees' f fis gis a b c d }
>     motif = \relative { c'8. ees16 fis8. a16 b8. gis16 f8. d16 }

>     \new Staff {
>       \motif
>       \retrograde \modalInversion c' c' \octatonicScale \motif
>     }

#### 参照

記譜法リファレンス: 反転, 逆行, 移調

#### LilyPond — 記譜法リファレンス v2.22.2 (安定版).

- 2. 専門的な記譜法
- 3. 入出力全般
- 4. スペースの問題
- 5. デフォルトを変更する
- A. 付表
- B. カンニング ペーパー
- C. GNU Free Documentation License
- D. LilyPond コマンド インデックス
- E. LilyPond インデックス