Skip to content

CLI リファレンス

MIDI Sketch Bachには、ターミナルから直接バッハスタイルのMIDIファイルを生成するコマンドラインツールが含まれています。

インストール

bash
# インストールせずに実行
npx @libraz/midi-sketch-bach [options]

# グローバルインストール
npm install -g @libraz/midi-sketch-bach
@libraz/midi-sketch-bach [options]

使い方

@libraz/midi-sketch-bach [options]

オプション

オプションエイリアスデフォルト説明
--form <value>-fstring/number0楽曲形式(名前または0--8)
--key <value>-knumber0ピッチクラスとしての調(0=C, 1=C#, ... 11=B)
--minor-mbooleanfalse短調を使用
--voices <value>-vnumber形式のデフォルト声部数(2--5)
--bpm <value>-bnumber100テンポ(BPM、40--200)
--seed <value>-snumber0ランダムシード(0 = ランダム)
--instrument <value>-istring/number形式のデフォルト楽器(名前または0--5)
--character <value>-cnumber0主題キャラクタータイプ(0--3)
--scale <value>string/number1長さスケール(short/medium/long/fullまたは0--3)
--target-bars <value>number--目標小節数
--output <path>-ostringoutput.mid出力ファイルパス
--jsonbooleanfalseイベントデータをJSONとして標準出力に出力

楽曲形式名

--form オプションで使用できる名前:

名前番号
fugue0
prelude-and-fugue1
trio-sonata2
chorale-prelude3
toccata-and-fugue4
passacaglia5
fantasia-and-fugue6
cello-prelude7
chaconne8

楽器名

名前番号
organ0
harpsichord1
piano2
violin3
cello4
guitar5

使用例

基本的な生成

デフォルトの楽曲(ハ長調のフーガ)を生成:

bash
@libraz/midi-sketch-bach -o fugue.mid

ニ短調のフーガ

bash
@libraz/midi-sketch-bach --form fugue --key 2 --minor --voices 4 --bpm 76 -o fugue-dm.mid

ハ長調の前奏曲とフーガ

bash
@libraz/midi-sketch-bach --form prelude-and-fugue --key 0 --voices 4 -o prelude-fugue.mid

ヘ長調のトリオ・ソナタ

bash
@libraz/midi-sketch-bach --form trio-sonata --key 5 --bpm 90 -o trio-sonata.mid

イ長調のコラール前奏曲

bash
@libraz/midi-sketch-bach --form chorale-prelude --key 9 --voices 4 --bpm 66 -o chorale.mid

ニ短調のトッカータとフーガ

bash
@libraz/midi-sketch-bach --form toccata-and-fugue --key 2 --minor --voices 4 -o toccata-fugue.mid

ハ短調のパッサカリア

bash
@libraz/midi-sketch-bach --form passacaglia --key 0 --minor --voices 4 --scale long -o passacaglia.mid

ト短調の幻想曲とフーガ

bash
@libraz/midi-sketch-bach --form fantasia-and-fugue --key 7 --minor --voices 4 -o fantasia-fugue.mid

ト長調のチェロ前奏曲

bash
@libraz/midi-sketch-bach --form cello-prelude --key 7 --instrument cello -o cello-prelude.mid

ニ短調のシャコンヌ

bash
@libraz/midi-sketch-bach --form chaconne --key 2 --minor --instrument violin -o chaconne.mid

シードによる決定論的出力

bash
@libraz/midi-sketch-bach --form fugue --key 7 --minor --seed 42 -o fugue-seed42.mid

フルスケールのパッサカリア

bash
@libraz/midi-sketch-bach --form passacaglia --key 2 --minor --scale full --voices 5 -o passacaglia-full.mid

特定の小節数を目標にする

bash
@libraz/midi-sketch-bach --form fugue --key 0 --target-bars 24 -o fugue-24bars.mid

JSONイベントデータの出力

bash
@libraz/midi-sketch-bach --form fugue --key 2 --minor --json > fugue-events.json

npxで実行

インストール不要で実行できます。

bash
npx @libraz/midi-sketch-bach --form fugue --key 2 --minor -o fugue.mid

JSON出力形式

--json を使用した場合、出力は EventData の構造に従います。

json
{
  "form": "Fugue",
  "key": "D minor",
  "bpm": 80,
  "seed": 12345,
  "total_ticks": 30720,
  "total_bars": 32,
  "description": "Fugue in D minor, 4 voices",
  "tracks": [
    {
      "name": "Soprano",
      "channel": 0,
      "program": 19,
      "note_count": 128,
      "notes": [
        {
          "pitch": 74,
          "velocity": 80,
          "start_tick": 0,
          "duration": 480,
          "voice": 0
        }
      ]
    }
  ]
}

終了コード

コード意味
0成功
1無効な引数または生成エラー

Released under the Apache-2.0 License.