Skip to content

はじめに

MIDI Sketch は、ポップミュージックの MIDI スケッチを自動生成する軽量ライブラリです。WebAssembly を使用してブラウザ上で動作します。

クイックスタート

javascript
import { MidiSketch, init, createDefaultConfig, downloadMidi } from '@libraz/midi-sketch'

// WASM モジュールを初期化
await init()

// インスタンスを作成
const sketch = new MidiSketch()

// スタイルプリセット用の設定を作成 (0 = 最初のスタイル)
const config = createDefaultConfig(0)

// 必要に応じてカスタマイズ
config.key = 0           // キー (0 = C)
config.bpm = 120         // テンポ (0 = スタイルのデフォルト)
config.seed = 12345      // ランダムシード (0 = ランダム)

// MIDI を生成
sketch.generateFromConfig(config)

// MIDI データを取得
const midiData = sketch.getMidi()

// ファイルをダウンロード
downloadMidi(midiData, 'my-song.mid')

生成されるトラック

MIDI Sketch は以下のマルチトラック MIDI ファイルを生成します:

トラックチャンネル説明
Vocal0メインメロディ(ピアノロールセーフ)
Aux5副旋律サポート(パルスループ、グルーブアクセント)
Chord2ボイスリーディング付きハーモニーバッキング
Bass3アプローチノート付きベースライン
Drums9フィル付きリズムパターン(GMドラム)
Motif4バックグラウンドパターン(BackgroundMotifスタイル)
Arpeggio5シンセアルペジオ(SynthDrivenスタイル)
SE15セクションマーカー

トラックの生成条件

すべてのトラックがすべてのスタイルで生成されるわけではありません:

  • Motif トラック: BackgroundMotif コンポジションスタイルのみ
  • Arpeggio トラック: arpeggioEnabled: true の場合のみ(SynthDriven スタイルでも手動で有効化が必要)
  • Vocal/Aux: skipVocal: true でBGMのみ生成可能

次のステップ

Released under the MIT License.