2. 声部の運動と並行禁則
第1章では一つの響きを分類しました。この章では時間が加わります。二つの声部が響きから響きへどう動くかです。ここでは検証器の保守的な完全音程運動ポリシーを説明します。歴史的な隠伏5度・8度の指導は外声を中心に扱い、上声が順次進行なら許すこともあります。一方、反行する完全音程は別の検査です(Open Music Theory)。
4種類の相対運動
連続する二つの響きのあいだで、声部のペアは次の4通りのいずれかで動きます。
| 運動 | 定義 | 危険度 |
|---|---|---|
| 反行 | 互いに逆方向へ動く。 | 最も安全。独立が耳で分かる。 |
| 斜行 | 一方が保持され、他方だけが動く。 | 安全。保持された声部が支点になる。 |
| 並達(同方向) | 同じ方向へ異なる幅で動く。 | 完全音程への到達で危険(隠伏並行)。 |
| 並行 | 同じ方向へ、音程を保ったまま動く。 | 不完全協和なら自由。完全音程は禁則。 |
ゴルトベルク変奏曲の第12変奏と第15変奏は反行カノンで、第2の声部が第1の声部の上下逆さまです。反行の実例ですが、すべての楽句に適用される普遍的な規則ではありません。
並行完全音程の禁止
並行5度・並行8度は、二つの声部を一本の重複した旋律のように聞こえさせます。声部の独立が失われる典型です。下の二つの譜例を再生して聴き比べてください。特にオクターヴの例は、本当に一つの太い声部に潰れて聞こえます。
なぜ5度と8度だけなのか
完全音程は溶け合う力が強い(第1章)ため、同じ完全音程が両声部の運動によって反復されると、耳は二本の線を一本にまとめてしまいます。5度が一度あること自体は問題ではありません。「5度が動いて次も5度」が違反です。
実装との対応:
| ルール | 発火条件 |
|---|---|
parallel_fifth | 両声部が同じ方向へ動き、直前と現在の縦の音程がどちらも完全5度。 |
parallel_octave | 両声部が同じ方向へ動き、直前と現在の音程がどちらもユニゾンまたはオクターヴ。 |
| 斜行の逃げ道 | 斜行・静止は完全音程の反復でも許される。発火するのは両方が動いたときだけ。 |
| 終止の免除 | 宣言された終止セルに属する音は免除。 |
| 出自の扱い | Generation では固定された Material/Ornament だけのペアを免除として記録します。FinalScore では作譜済み素材も再監査し、観測された違反を形式の垂直予算が閉じるかどうか判定します。 |
「終止セル」とは
エンジンはフレーズの締めくくりをあらかじめ組み上げた単位として書き込み、その音に CadenceCellCommitted の印を付けます。このページの厳密・隠伏・反行の完全音程運動検査は、現在の下声として鳴っている音にこのビットがあれば、そのペアをスキップします。旋律音程と連続跳躍のループは印の付いた現在音をスキップし、弱い位置の非和声音ループは印の付いた現在音または次の終止音をスキップします。専用の cadence_voice_leading(第5章)は終止を丸ごと判定します。すべての検証ルールに一括した免除があるわけではありません。
反行する完全音程
検証器は、同方向の厳密な並行とは別に、反行する二つのケースを検査します。anti_parallel_perfect は両声部が逆方向へ動き、二つの響きのあいだで同じ完全音程クラス——ユニゾン・5度・8度——を反復したときに発火します。battuta はさらに限定され、非ユニゾンから反行してユニゾンへ到達し、到達時に上声となる線が長2度を超えて下行跳躍した場合です。順次進行で到達する場合や、到達時の上声が上行する場合は、この battuta 述語の対象外です。
どちらもエンジンの契約です。他の声部ペア運動と同じ和集合オンセットで検査したあと、Generation/FinalScore の出自処理と形式の垂直予算へ送られます。
隠伏5度・隠伏8度
隠伏(直行)完全音程は、同方向の運動で完全5度・8度へ到達したときに起こります。並行が文字どおり起きたわけではないのに、同方向の到達によって空虚な響きがテクスチュアから飛び出して聞こえます。このエンジンでは、上声が長2度を超えて(2半音を超えて)跳躍した場合だけ隠伏として分類します。上声の順次進行は、この述語では許されます。
「隠伏」とは「同方向で到達した」ということ
隠伏5度では、直前の縦の音程は同じ完全5度ではありません。直前が別の完全音程でもよく、たとえば5度から8度へ進む場合、上声が必要な跳躍をすれば隠伏8度に分類されます。エンジンはすべての声部ペアをすべての和集合オンセットで検査します。これは意図的に保守的な適用範囲です。
| ルール | 適用範囲 |
|---|---|
hidden_parallel_fifth | 同方向に動き、直前と異なる完全音程クラスから完全5度へ着地し、上声が2半音を超えて跳躍した場合。終止セルはスキップし、出自は上記の Generation/FinalScore の流れで扱います。 |
hidden_parallel_octave | 同じ完全音程クラスの条件と上声の跳躍条件で、ユニゾンまたはオクターヴへ着地した場合。エンジンは弱い位置を含むすべての声部ペアと和集合オンセットを検査します。 |
この章で使う二つの適用範囲
構造的アクセントは拍子上の Strong または Medium の位置です。小節頭、4/4 の3拍目、複合拍子の各付点拍、サラバンドの2拍目が含まれます(入門)。上声部ペアは、最低声部を含まない隣接声部の組——三声なら上の二声——を指します。invertible_at_octave がバスを除外するのは、あとで上下を交換する上声部の素材を守る検査だからです。
声部交差と間隔
音程の問題以前に、縦の書法はそれぞれの声部として読み取れる状態を保つ必要があります。これを保証するのが二つのレイアウト規則です。
バッハ自身は、より厳しい契約がそれを要求するとき、意図的に声部を交差させます。ゴルトベルク変奏曲の第3変奏は同度のカノン——フォロワーがリーダーをまったく同じ高さで反復するため、二つの声部は一つの音域を分け合い、2声目が入った瞬間にもつれます。エンジンには、もつれた線を読み分けさせるスラーも符尾もありません。そのため通常の交差検査はこの取引を拒否しますが、明示された上声トリオの例外は下記にあります。
voice_crossing 規則は、このゴルトベルクの交差を拒否します。1オンセットだけの許可はトリオ・ソナタの上声部ポリシーに限られ、この例には適用されません。二つのカノン声部の下を歩く低音は省略しています。実際の三声テクスチュアでは、このルールは「上は密に、下は自由に」と、きれいに二つへ分かれます。
| ルール | 適用範囲 |
|---|---|
voice_crossing | 規約上、声部番号が小さいほど高い声部(voice 0 がソプラノ)。どのペアでも——隣接に限らず全組み合わせを検査——音程が負になったら声部が入れ替わっている。下記の上声トリオの一時的な例外だけがポリシー上許されます。 |
spacing_adjacent_voices_within_octave | 三声以上のテクスチュアで、隣接する上声部ペアはオクターヴ(12半音)以内。最下ペア(テノール—バス)だけは広くてよい。バッハの四声体の慣行どおり。和音の開始点で、和声プランが和音を宣言している(has_degree)場合のみ検査。 |
トリオ・ソナタのポリシーには、声部交差について一つだけ明示的な許可があります。両方の上声音が TrioVoiceCarrier 素材で、和声プランが AllowTrioUpperMomentary を有効にしている場合、直前のオンセットで上下関係が保たれていれば、一つの和集合オンセットで上声ペアが交差してもよいです。次のオンセットまで交差が続けば voice_crossing に違反し、さらに二つの上声の音域が重なっていなければ trio_upper_register_overlap が報告されます。
8度の転回対位法
フーガは二声の組み合わせを、上下を入れ替えて再利用します。上にあった声部が下に回る——それが成立するには、すべての音程がオクターヴの補数に置き換わっても生き残る必要があります。3度は6度に、5度は4度に、オクターヴはユニゾンになります。下の譜例をトグルしてみてください。下の線を1オクターヴ上げると、すべての3度が6度に変わり、どちらも同じように協和します。
invertible_at_octave が当てにしているもので、次の譜例は、それが牙をむく場面です。すべての音程が穏やかに生き残るわけではありません。安定した協和音である完全5度は、転回すると完全4度になり、二声だけで鳴るときこれは不協和として扱われます。
バッハはこの穏やかな場合を絶えず活用します。平均律 I 巻のハ短調フーガでは、主唱と対主題がどちらが上に来ても成立するように書かれています。第7小節と第20小節をトグルで切り替え、青い対主題が主唱の上から下へ移るのを目で追ってください。
invertible_at_octave で検査し、4度は完全なテクスチュアで実際に鳴るバスを基準に vertical_dissonance で判定します。(各所で中声部は見やすさのため省略しています。)上声部ペアの交換について、一つの失敗モードだけを検査するのが次の適用範囲付きルールです。
| ルール | 防ぐもの |
|---|---|
invertible_at_octave | 上声部ペアが構造的アクセント上で作る並行8度。転回すると並行ユニゾン——最も極端な声部の融合——になる。斜行と弱い位置は免除。このルールだけでオクターヴ転回対位法全体を証明するものではなく、5度と4度、掛留、バスとの関係は別の検査が担います。 |
上声部ペアの4度は、それ自体では違反ではありません。垂直検査は実際に鳴っている最低音を探します。そのバス上の4度は、宣言された掛留または終止6/4がない限り不協和です。一方、上声部間の4度は、両方の音がバスに対して協和するなら合法です。
検証器はこの章をどう見るか
| ルール | FailKind | 主な免除 |
|---|---|---|
parallel_fifth, parallel_octave | MusicalFail | 斜行・静止、終止セル。固定出自の扱いは検証ライフサイクルに従う |
anti_parallel_perfect | MusicalFail | 反行を並行とは別に検査。終止セルと固定出自の扱いはライフサイクルに従う |
battuta | MusicalFail | 反行してユニゾンへ到達し、到達側の上声が下向きに跳躍する場合。終止セルと固定出自の扱いはライフサイクルに従う |
hidden_parallel_fifth | MusicalFail | 終止セル。全ペア・全オンセットの検査はエンジンのポリシー |
hidden_parallel_octave | MusicalFail | 終止セル。全ペア・全オンセットの検査はエンジンのポリシー |
voice_crossing | MusicalFail | ポリシーが有効な上声トリオの一時的交差は許可されることがある |
trio_upper_register_overlap | MusicalFail | 一時的な上声トリオ交差ポリシーが有効な場合だけ発火 |
spacing_adjacent_voices_within_octave | MusicalFail | 最下ペアは超過可。三声以上のみ |
invertible_at_octave | MusicalFail | 構造的アクセントの隣接上声ペアだけ。並行8度の一つの失敗モードを検査する |
第3章 不協和音の扱いへ進んでください。