Skip to content

楽器

エンジンは楽器を General MIDI プログラム、演奏可能音域、装飾密度傾向として扱います。ボウイング方向、手の幅、フレット位置、疲労といった演奏者の身体的条件はシミュレートしません。

楽器が選択するもの

instrument の選択は次の3つに影響します。

  1. General MIDI プログラム — MIDI ファイルに書き込まれる音色。
  2. 演奏可能音域 — 作曲後の出力を収める音域です。指定した調を適用した後、個別のノートを丸め込むのではなく、楽譜全体をオクターブ単位で移動して音域に収めます。
  3. 装飾密度 — 装飾処理が線をどれだけ濃密に装飾するか(character と組み合わせて)。

声部数・拍子・構造は instrument ではなく form から決まります。各形式には互換楽器が明示的に定義されています。形式ごとの既定楽器を参照してください。

楽器と声部

楽器は再生音色と音域傾向です。声部は生成される音楽上の線です。オルガンのように、一つの楽器が複数の声部を担うこともあります。

General MIDI プログラム

楽器文字列GMプログラム音色
オルガン"organ"19チャーチオルガン
チェンバロ"harpsichord"6チェンバロ
ピアノ"piano"0アコースティックグランドピアノ
ヴァイオリン"violin"40ヴァイオリン
チェロ"cello"42チェロ
ギター"guitar"24アコースティックギター(ナイロン)

不明な楽器文字列は既定へ暗黙的に代替せず却下されます(例外を投げます)。

形式ごとの既定楽器

形式既定楽器他に選べる楽器
fugueprelude_and_fuguetrio_sonatachorale_preludetoccata_and_fuguepassacagliafantasia_and_fugueオルガン--
cello_preludeチェロ--
chaconneヴァイオリン--
goldberg_variationsチェンバロピアノ

ギターは General MIDI プログラムと音域傾向を持ちますが、現在どの形式からも受け付けられていません。表の行にない楽器を指定すると楽器非互換エラーになります。

装飾密度

決定論的な装飾処理がトリル、モルデント、ナッハシュラークを追加します。どれだけ濃密に装飾するかは characterinstrument の両方に依存し、一部の線は決して装飾されません。

トリル、モルデント、ナッハシュラーク

これらは構造上の音の周囲に置かれる短いバロック装飾です。主な作曲結果を検証した後に追加されるため、"material""compose" ではなく source: "ornament" として記録されます。

  • グラウンドバスの線(パッサカリア、シャコンヌ、ゴルトベルクのバス)は決して装飾されません。
  • 定旋律の線(コラール前奏曲)は決して装飾されません。

ここで追加されたノートは source: "ornament" 由来タグを持ちます。

表現の出力

装飾に加え、エンジンは形式にふさわしい表現を書き込みます。これらは MIDI ファイルだけでなくイベントデータからも読み取れます。

  • レジストレーションカーブ — 形式のエネルギーアークに従う CC 7 と CC 11 の点列。トラックごとに control_changes として報告され、重複は統合済み。
  • テンポマップ — 終結のリタルダンドに加え、前奏曲・トッカータ・ファンタジア系の形式ではフーガ入りでのセクションテンポ変化。tempos として報告。
  • 拍子記号 — パッサカリアとシャコンヌは3/4、それ以外は4/4。time_signatures として報告。

曲の途中でテンポが変わるため、イベントを実時間に対応づけるときは bpm ではなくテンポマップを使ってください。ティックを秒に変換するを参照。

TIP

声部が楽器とトラックにどう割り当てられるかは声部アーキテクチャを、装飾と表現の処理がどこに位置するかは生成パイプラインを参照してください。

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