ポップス楽曲のMIDIスケッチを自動生成するC++17ライブラリです。 外部ライブラリに依存せず、WebAssemblyとしてブラウザ上でも動作します。
- 8トラック出力 — Vocal / Chord / Bass / Motif / Arpeggio / Aux / Drums / SE
- 豊富なプリセット — 曲構成(18) × スタイル(17) × ムード(20) × コード進行(22)
- 高度なメロディ — フレーズベース生成、HookIntensity、MelodicComplexity、VocalStyleProfile
- 音楽理論 — ボイスリーディング、非和声音、テンションコード、セクション別ダイナミクス
- 作曲スタイル — MelodyLead、BackgroundMotif、SynthDriven
- 再現性 — シード値による再現可能な生成
make build # ネイティブビルド
make test # テスト実行
./build/bin/midisketch_cli # output.mid を生成
# WASMビルド(要 Emscripten)
source ~/emsdk/emsdk_env.sh && make wasm#include "midisketch.h"
midisketch::MidiSketch sketch;
midisketch::GeneratorParams params;
params.structure_id = 1; // BuildUp (0-17)
params.mood_id = 0; // StraightPop (0-19)
params.chord_id = 0; // カノン進行 (0-21)
params.seed = 12345;
sketch.generate(params);
auto midi = sketch.getMidi(); // SMFバイナリimport { init, MidiSketch } from '@libraz/midi-sketch';
await init();
const sketch = new MidiSketch();
sketch.generate({
structureId: 1,
moodId: 0,
chordId: 0,
seed: 12345
});
const midiData = sketch.getMidi(); // Uint8Array
sketch.destroy();| トラック | Ch | Program | 役割 |
|---|---|---|---|
| Vocal | 0 | Piano | メロディ |
| Chord | 1 | E.Piano | コード |
| Bass | 2 | E.Bass | ベース |
| Motif | 3 | Synth Lead | 背景リフ |
| Arpeggio | 4 | Saw Lead | アルペジオ |
| Aux | 5 | Warm Pad | サブメロディ |
| Drums | 9 | — | GM準拠 |
| SE | 15 | — | マーカー |
AGPL-3.0 / 商用 デュアルライセンス。AGPL-3.0 の条件下では自由に利用・改変・再配布できます。クローズドソース製品やプロプライエタリな SaaS への組み込みには商用ライセンスが必要です。商用利用のお問い合わせ: libraz@libraz.net
本プロジェクトは MIDIスケッチ生成エンジン を提供するものです。 完成された楽曲制作システムではありません。
音源・ボーカル合成・オーディオレンダリングは本プロジェクトのスコープ外です。
libraz libraz@libraz.net