Skip to content

7. 形式固有の制約

これまでの章は、生成されるすべての曲に適用される規則でした。この章で扱うのは、どんな種類の曲を作っているかによって生まれる契約です。パッサカリアは低音主題を決して変えないと約束し、コラール前奏曲は賛美歌の旋律が装飾を生き延びると約束し、チェロ前奏曲は一本の楽器の線が筋の通った多声対位法を暗示すると約束します。エンジンはそれぞれの約束を、素材キャリアと検証ルールの組として実装しています。

不変の素材——固執低音

不変の素材固執低音は変わらない
パッサカリアとシャコンヌは固執低音の上に築かれます。低音主題は一切変えずに反復され、その上で変奏だけが豊かになっていきます。エンジンはこの低音を不変素材として印づけており、どこか一周でも一音でも変われば構造ルールが失敗します。変奏は低音の上で起きるもので、低音の中では起きません。
ground_bass_immutablepassacaglia_ground_immutable低音主題は毎周そのまま反復され、上声だけが変奏されます。

パッサカリアとシャコンヌは固執低音(グラウンド)形式です。短い低音主題が曲の全体を通して変わらずに反復され、その上のテクスチュアだけが周回ごとに変奏されます。二つのルール——ground_bass_immutable(シャコンヌ。BWV 1004 のシャコンヌがモデル)と passacaglia_ground_immutable(オルガン・パッサカリアの8小節グラウンド。BWV 582 がモデル)——が、プロビナンスビット——エンジンが各音に添えて持ち運ぶ出自タグで、イベント JSON の source: "material" | "compose" | "ornament" を出力するのと同じ仕組み——を通じて毎周の完全な再生を検証します。これらは StructuralFail です。変更されたグラウンドは下手な対位法ではなく、別の曲だからです。

BWV 番号とは

BWV(バッハ作品目録 / Bach-Werke-Verzeichnis)はバッハ作品の標準的なカタログ番号です。BWV 582 はオルガンのためのパッサカリア ハ短調、BWV 1004 は終楽章にシャコンヌを持つヴァイオリン・パルティータを指します。ルールが「〜がモデル」と言うとき、エンジンの形式テンプレートはその特定の曲のプロポーションを符号化しています。

関連ルールが変奏の層の誠実さも保ちます。variation_role_ornament_constraint は、グラウンドの役割を担う変奏スパンが4分音符より細かく分割されることを防ぎます。別の声部に置き直されても、グラウンドはゆっくりした線として聴き取れなければなりません。

バッハで最も有名なグラウンドは、実はパッサカリアの中にはありません——ゴルトベルク変奏曲を支えています。アリアのバスが歩む骨組みを、30の変奏が再提示し続けるのです。譜例の上の切り替えで、実際の変奏が同じ骨組みを歩くのを聴き比べられます。

バッハの実例バッハ: ゴルトベルク変奏曲 — アリアの基礎低音声部を順に再生
同じ低音の上で——
ゴルトベルク変奏曲(BWV 988)のアリア、最初の8小節。上が実際のバス声部、下がそれを1小節1音に簡約したものです。名高い G–F♯–E–D の下行、続く B–C–D–G の半終止。30の変奏が再提示し続けるのは装飾された旋律ではなくこの骨組みであり、不変グラウンドのルールが宣言素材と再生のあいだに強制するのと同じ関係です。第8小節のモルデントは装飾記号を省いて示しています。上の切り替えで変奏を選ぶと、まったく違う表面が同じ8つの小節頭を歩くのが聴き取れます。デモの Goldberg プリセットも同じ発想の上に立っています。
ground_bass_immutablepassacaglia_ground_immutableアリアのバスから経過音を取り除くと、1小節に1つの骨格音が残ります。30の変奏すべてが守り続ける骨組みです。

不変の素材——定旋律

不変の素材定旋律と装飾声部
コラール前奏曲では、賛美歌の旋律(定旋律)が長い音価で進み、別の声部がその周りを装飾します。契約は二つ。各小節頭では骨格音が正確に再現されること、そして装飾声部の小節頭の音はその小節の和音に属することです。小節頭と小節頭のあいだでは、装飾は自由です。
cantus_firmus_immutablefiguration_harmonic_consistencyコラールの音が各小節頭を支え、装飾声部は小節頭で必ず和声音を取ります。

コラール前奏曲は賛美歌の旋律(定旋律)を長い音価で運び、別の声部がその周りを装飾します。cantus_firmus_immutable は各小節の小節頭を宣言された骨格音と照合します。小節頭のあいだの装飾は自由ですが、骨格は自由ではありません。グラウンドと同じく、定旋律の声部は装飾処理から完全に除外されます。

これこそオルゲルビュッヒラインの設計図です。「われ汝に呼ばわる」では、16分音符の内声とつぶやくペダルの上を、旋律が手つかずのまま漂います。

バッハの実例バッハ: 「われ汝に呼ばわる」(オルゲルビュッヒライン) — 長い音価で運ばれるコラール
「われ汝に呼ばわる、主イエス・キリストよ」(BWV 639) の第1小節。オルゲルビュッヒライン全曲の中で、この正確な三層設計を持つ唯一のコラール前奏曲です。賛美歌の旋律は最上声で飾りのない4分音符のまま——装飾が一切触れてはならない固定素材、エンジンの material ソースの最も純粋な形です。その下で内声が途切れない16分音符の刺繍を続け、ペダルは静かな8分音符の F を繰り返す。各層がそれぞれのリズム格子の上にいます。旋律は契約であり、残りの二声はその実現です。旋律をひとつでも変えれば、それはもうこのコラールではありません。(ペダルの最初の2音は、出典の録音では1オクターヴ低く鳴っています。録音のまま記しています。)
cantus_firmus_immutablefiguration_harmonic_consistency三つの声部に三つの速度——賛美歌の旋律は4分音符、刺繍する内声は16分音符、歩くペダルは8分音符です。

フィグレーションの和声

自由な前奏曲のスタイル(BWV 543 の冒頭を思い浮かべてください)は、ゆっくりした和声リズム——その下で和音が入れ替わる速さのことで、ここではおおむね1小節に1和音——の上で絶え間ないフィグレーションを走らせます。figuration_harmonic_consistency がその錨です。各小節を開く音は、その小節の和音の和声音でなければなりません。小節頭以外の音は無制約です——その自由こそが、コラール書法ではなくフィグレーションである理由です。ペダルの音は免除されます。

自由な前奏曲小節頭に錨を下ろすフィグレーション
自由な前奏曲のテクスチュアは、ゆっくりした和声リズム——ここでは1小節1和音、I から V——の上で絶え間ないフィグレーションを走らせます。検証器が拘束するのは1小節につきただ一音、小節頭がその小節の和音に属することだけです。小節頭のあいだの音階的な走句は無制約で、その自由こそがコラール書法ではなくフィグレーションである理由です。
figuration_harmonic_consistency各小節を開く音はその小節の和音の和声音で、そのあいだの音は自由です。

レパートリーの中で最も純粋な実例が、平均律 I 巻の幕開けにあります。ハ長調プレリュードの最初の2小節——二つの保持音の上を走る一本の16分音符の線が、1小節に一つの和音を描き出します。

バッハの実例バッハ: 平均律 I 巻 ハ長調プレリュード — ゆっくりした和声の上の音型
ハ長調プレリュード(平均律 I 巻、BWV 846)の冒頭——鍵盤音楽で最も有名なフィグレーションです。譜例のとおり、保持されるバス、保持される内声、上っていく5音の音型という三つのリズム層で書かれています。ここに旋律はありません。すべては時間に引き延ばされた和声で、1小節に一度だけ変わります(ハ長調の主和音、次に同じバス音上の ii⁴²)。小節を開く音はつねに和声音——figuration_harmonic_consistency が検査する錨——であり、耳は一本の書かれた線から5つの声部を組み立てます。
figuration_harmonic_consistency半小節に一つの分散和音、1小節に一つの和音。各小節頭はその小節の和音の和声音を打ちます。

独奏弦——一本の線の中の対位法

独奏のチェロやヴァイオリンは4声を同時に鳴らせませんが、バッハの独奏曲は耳にいくつもの声部を聴かせます。チェロ前奏曲はエンジン唯一の単声形式であり、一つの声部に対位法の検証を成立させているのが、ここで扱うルールです。

復元は三つの具体的な手順です。エンジンはアルペジオの線の音を発音順に集め、宣言された group_size 個ずつの連続したセルに区切り、各セルの最低音を暗示低音線、最高音を暗示上声線として取り出します。決め手はセル内の位置ではなく音域です——BWV 1007 の音型では、知覚される旋律音が書かれたセルの真ん中にありますが、最小値・最大値による抽出はそれを正しく見つけます。

独奏弦一本の線から声部を取り出す声部を順に再生
実際の楽譜はこうなっています。BWV 1007 ふうの、途切れない一本の分散和音の線です。エンジンはこの線を宣言されたグループサイズのセルに区切り、各セルの最低音(琥珀)を暗示低音、最高音(緑)を暗示旋律として取り出します。決め手はセル内の位置ではなく音域です——この音型では最高音がセルの真ん中にありますが、抽出はそれを正しく見つけます。順に再生してみてください。本物の線のあとに、耳がすでに聞き取っていた低音が続きます。
implicit_voice_counterpointarpeggio_no_parallel_perfect4音のセルごとに、最低音が低音線へ、最高音が上声線へ取り出されます。

そして、この音型の本家がこちらです——チェロ組曲第1番の冒頭に、エンジンが計算する抽出をそのまま書き出して添えました。

バッハの実例バッハ: 無伴奏チェロ組曲第1番 — 一本の線の中の声部声部を順に再生
ト長調のチェロ組曲(BWV 1007)の冒頭——一つの楽器のために書かれた暗示対位法として、おそらく最も有名な音楽です。チェロは16分音符しか弾いていないのに、8音のセルごとに最低部で G が錨を下ろし、最高部で B(つづいて C)が鳴るため、耳にはペダル低音とゆっくりした上声が聞こえます。しかも旋律の音は本当に書かれたセルの真ん中にあります——音域なら見つけられて、位置では見つけられない場所です。各段の下の簡約は、エンジンが暗示声部を本物の声部として検査する前に計算するものそのもの。ここでは保持された低音の上で上声が1度上がる——斜行、並行完全音程なし、合格です。
implicit_voice_counterpointarpeggio_no_parallel_perfect8音のセルごとに、最低音がペダル低音へ、最高音が B–B–C–C と歩む旋律へ取り出されます。

取り出された線は、本物の声部と同じ基準で検査されます。下の二つの簡約譜は線だけを取り出したもので、先に失敗例、次に合格例です。

独奏弦分散和音内の暗示的並行
チェロやヴァイオリンの分散和音では、一声の中に複数の暗示声部が聞こえます。検証器は低音線と上声線を復元して検査します。
implicit_voice_counterpointarpeggio_no_parallel_perfect低音線と上声線として聞こえる音が、完全音程で並行しています。
独奏弦反行する暗示声部
チェロ前奏曲の生成器が目指すのはこの形です。分散和音のセルが変わるたび、その最低音と最高音が独立した反行する線を描きます。前の譜例で失敗した音型も、二つの線が完全音程で並行しなければここでは合格します。
implicit_voice_counterpointarpeggio_no_parallel_perfect復元された低音線が上行し、上声線が下行します。一つの楽器の中に本物の二声対位法があります。
ルール契約
implicit_voice_counterpoint連続するセル間で、暗示低音線・上声線が第4章の旋律跳躍ルールに従う——オルガンの Compose 声部を裁くのと同じ禁止跳躍の述語が再利用される。
arpeggio_no_parallel_perfect連続するセルが同じ完全音程(5度またはオクターヴ)の枠を作り、かつ両方の線が同方向に動いてはならない。斜行・反行・静止は許される——第2章で本物の声部に与えられるのと、まったく同じ逃げ道。

独奏弦書法の物理的な側面——各楽器の演奏可能な音域——は楽器で扱っています。

フレーズの構造

二つのルールが、生成された音楽をバロックの小節グリッドに乗せ続けます。アウフタクト(弱起)とは、小節頭より前に鳴り始める短い助走——1小節目の前の「ン・タ」という導入音——のことです。

フレーズアウフタクト — 弱起の助走
アウフタクトは、小節が始まる前に音楽を始めます。最初の小節頭へ流れ込む助走の音です。エンジンはこれを宣言されたプロパティとして扱います。ある長さの弱起を宣言したなら、すべての弱起断片はフレーズ開始のちょうどその距離だけ手前で始まらなければならず、宣言しなければ一つも現れてはいけません。このルールが見るのは弱起の有無ではなく、一貫性です。
anacrusis_consistent小節線の手前の短い音が、フレーズが本当に始まる小節頭へ向かって導入します。

バッハの舞曲はこの身振りの上に生きています——チェロ組曲第1番のクーラントは、8分音符ひとつぶんの助走で飛び立ちます。

バッハの実例バッハ: 無伴奏チェロ組曲第1番 クーラント — 小節の前に始まる
チェロ組曲第1番(BWV 1007)のクーラントは、8分音符ひとつぶん早く始まります。この G の仕事はただ一つ、フレーズを本当に始める小節頭の G を発進させることです。これが「宣言されたプロパティとしてのアウフタクト」です——エンジンの契約では、ある長さの弱起を一度宣言したら、すべての弱起断片はフレーズ開始のちょうどその距離だけ手前で始まらなければなりません。anacrusis_consistent が検査するのは弱起の有無ではなく、その一貫性です。
anacrusis_consistentたった一つの8分音符が最初の小節線の前に鳴り、フレーズが始まる小節頭へ流れ込みます。
ルール契約
phrase_periodicity_4_or_8_bar宣言されたフレーズ開始の間隔は正確に4小節または8小節。バロックの楽章の根底にある、舞曲由来の規則性。
anacrusis_consistentアウフタクト(弱起)を宣言したなら、すべての弱起断片はフレーズ開始のちょうどその距離だけ前に始まる。宣言していないなら、弱起の断片が紛れ込んでいない。

テクスチュアと楽器の契約

トリオ・ソナタの独立性の契約は、テクスチュア系ルールの中で唯一、目標の形を五線譜に描けるものです。違反そのものはセクション全体の性質ですが、エンジンが目指して採点しているのは、この「三つの声部が三つのリズムグリッドに乗る」テクスチュアです。

トリオ・ソナタ三つの声部、三つのリズム
トリオ・ソナタの仕事はただ一つ、三本の線が独立して聞こえ続けることです。エンジンはすべての声部ペアについて、リズムのずれと音の変わり目での反行・斜行を採点し、どこかのペアがしきい値を割れば失敗にします。これが目標のテクスチュアです。旋律が伸ばしているあいだ中声が歩き、バスはその両方に対してゆっくりした2分音符で動きます。
voice_independence_threshold各声部が固有のリズムで動き、ぶつかる場面では反行か斜行になっています。

オルガン・トリオソナタは、このルールを6曲まるごと追求した作品群です。その第1番は、開始3小節目にしてすでに完全なテクスチュアを見せています。

バッハの実例バッハ: オルガン・トリオソナタ第1番 — 三つの声部、三つのグリッド
変ホ長調のオルガン・トリオソナタ(BWV 525)第3小節。片方の手鍵盤が主題を取り、もう片方が途切れない16分音符の線を紡ぎ、ペダルがその下を歩きます。三つの声部に三つのリズムグリッド——ほぼすべての音の変わり目で、他の声部は保持しているか、反対へ動いています。これが voice_independence_threshold が目指して採点するテクスチュアです。すべての声部ペアがリズムのずれと反行・斜行で測られ、どこかのペアがしきい値を割れば曲は失敗します。(主題最後の G は次の小節へタイでつながれており、譜例は小節線で切り上げています。)
voice_independence_threshold8分音符と4分音符の主題、途切れない16分音符の対旋律、8分音符で歩くペダル——どの声部も他の影になりません。
ルール形式契約
pedal_range_soft_penaltyオルガン系ペダルの音が物理的に演奏可能な音域に収まる(ハード境界は MIDI 12〜62。快適な C1〜D3 はスコアリング段階で優遇)。
voice_independence_thresholdトリオ・ソナタ2つの手鍵盤声部とペダルがペアごとに独立を保つ(スコア 0.6 以上)。リズムのずれと反行・斜行で測定。互いの影になったトリオ・ソナタは、その唯一の仕事に失敗している。
section_contrast_requiredファンタジア隣接セクションが密度(小節あたり2音以上の差)または音域(平均で5半音以上の差)で聴き取れるほど異なる。対比の劇こそファンタジアの本領。
toccata_archetype_compatibleトッカータ選ばれたセクション原型が宣言された性格と両立する(noble 性格は設定段階でトッカータ形式から拒否され、相容れない原型の組み合わせはここで失敗する)。

残りの構造ルールには、指し示せる「その瞬間」の譜面がありません。違反はセクション全体の性質だからです。そのため譜例ではなく表で記載しています。発火した場合は、個々の音ではなくイベント JSON のセクション構成を調べてください。

検証器はこの章をどう見るか

ルールFailKind
ground_bass_immutable, passacaglia_ground_immutable, cantus_firmus_immutableStructuralFail
variation_role_ornament_constraint, figuration_harmonic_consistency, toccata_archetype_compatibleMusicalFail
implicit_voice_counterpoint, arpeggio_no_parallel_perfectMusicalFail
phrase_periodicity_4_or_8_bar, anacrusis_consistentMusicalFail
pedal_range_soft_penalty, voice_independence_threshold, section_contrast_requiredMusicalFail

これでコースは終わりです。フラットなルール索引は 検証器ルール一覧を、これらのルールと生成パイプラインの関係は生成パイプラインを参照してください。

Dual-licensed: AGPL-3.0 · commercial licensing available. Generated MIDI is yours to use freely.