Microsoft DirectX 8.0 (Visual Basic) |
現代の音楽の多く、特にポピュラー、ロック、フォーク、ジャズの特色はコード進行の概念に基づいており、特定の時間枠に演奏されるすべてのノートが特定のコードに関連付けられていること、および音楽はあるコードから別のコードへと調和的に移行することを意味する。
DirectMusic 用にオーサリングされたパターンにあるノートは、1 つのコードから派生しているか、コードと調和するよう意図されたものである。しかし実行時に、パターンはコード進行に合わせて転置する。つまりベース コードの変化に応じて、DirectMusic はノートのピッチを変更する。
コードマップは、コード進行のロード マップである。コードマップ デザイナを使って、オーサーは希望の音楽感やパーソナリティを表現できるコードを選択する。これらのコードは、タイム ラインに沿ったフローチャートに従ってアレンジされる。タイム ラインには循環という概念があるので、ミュージック セクションの演奏が続く間、最初に戻ってループを形成する。
特定の重要なコードをサインポストとして指定する。これらは、特定のポイントで演奏されなければならないコードである。音楽は、常にサインポストからサインポストへと移行する。しかし、サインポスト間のコード進行は、オーサーの指定したマップに従ってさまざまなルートをたどることもできる。
コード チャート内のルートは、コンポーザ エンジンによって実行時に選択することができる。この場合、パターン自体のバリエーションに追加してバリエーションが提供される。オーサーがセグメントを作成する際に、オーサリング ツールを使ってルートを選択することもできる。
コードマップのコードは、サブコードと呼ばれる、複数の異なるコードで構成することができる。同じコードを異なる転回で演奏して多調性を得るために、オーサーは異なるサブコードに別のパートを割り当てることができる。各サブコードは、1 つまたは複数のレベルで有効であり、スタイルのポートに割り当てられたレベルで調和する。