My Web App

MIDI Apps




Graphics Apps



phrase_motif_generator

これは何をするツールか pad_drone_generatorとは別モデルのツールで、拍のグリッドに縛られない不規則なリズムで「フレーズ」を生成する。順次進行(隣り合う度数への移動)を主体にして旋律の輪郭を作り、フレーズごとに”間(ま)”を挟むことで、機能和声の解決(V→I)に頼らないモーダルな旋律線を作れる。ドリアン/リディアンのようなモード系スケールと特に相性が良い。

基本の使い方

  1. 「1. 音階・音域」はpad_droneと同じ考え方(ルート音・スケール・音域・度数重み付け)
  2. 「2. フレーズの性格」でプリセットを選ぶと、下の数値(順次進行率・跳躍率・音の長さ・フレーズ音数・間の長さ)が自動でセットされる。そこからさらに手動で微調整可能
  3. 「3. ベロシティ&ニュアンス」で声部数、ベロシティ範囲を設定。「フレーズを弱→強→弱の自然な強弱で整形する」をONにすると、フレーズの最初と最後がやや弱く、中間が強くなる自然な抑揚が付く
  4. 「4. 長さ&書き出し」で合計時間を指定して生成→書き出し

性格プリセットの選び方の目安

  • 瞑想的:順次進行中心、音が長く、間も長い。一番落ち着いた質感
  • 漂う:標準的なバランス、間はやや長め
  • ためらいがち:フレーズが短く(2〜3音)、その後の沈黙が長い。断片的な質感
  • 活発:跳躍が多く、音が短く、間も短い。動きのある質感
  • 開放的:跳躍が多いが音は長く、フレーズも長い。伸びやかで大きな質感

「跳躍」とは スケール上で2〜4度分離れた音への移動(だいたい3度〜5度の跳躍に相当)。音域の上限・下限に達すると跳ね返って、自然な弧を描くように音域内に戻る。

生成ごとに性格プリセットもランダムに切り替えるとは pad_drone側の「プロファイル自動化」と同じ考え方。ONにすると生成のたびに5つのプリセットから1つが自動選択され、UI上の数値も書き換わる。


pad_drone_generator_v2 トリセツ

これは何をするツールか 指定した音階・音域の中から持続音(パッド/ドローン)を非同期に重ねて生成し、MIDIファイルとして書き出すツールです。生成した音符の並びに音楽理論的な妥当性(トライアド重視の重み付け)を持たせることができます。

基本の使い方

  1. 「1. 音階・音域」でルート音とスケールを選ぶ。最低音・最高音のオクターブ範囲も指定
  2. 「2. パッドの動き」で同時発音数(声部)、1音の長さ、オーバーラップ(音の重なり)、ベロシティ範囲を設定
  3. 「3. 長さ&書き出し」で合計時間(分)を指定し「生成する」を押す
  4. 問題なければ「.midとして書き出す」でファイルをダウンロード
  5. BitwigなどのDAWにインポートし、パッド系シンセをアサインする(アタック/リリースを長めに設定すると自然に仕上がる)

度数重み付け(トライアド重視)とは ONにすると、音階の中でも1・3・5度(トライアド)が優先的に選ばれ、4・7度は”スパイス”として控えめに、2・6度はさらに控えめに出るようになる。OFFにすると全音が均等な確率で選ばれる(素のランダム)。手動で重みを直接カンマ区切りで指定することも可能。

生成ごとに音域・密度・重みプロファイルもランダム化するとは ONにすると、生成ボタンを押すたびに「低音ドローン/標準/スパース/スパイス強め/高音シマー」の5キャラクターから1つが自動選択され、音域・音の長さ・声部数・重みがまとめて切り替わる。同じ設定のまま生成ボタンを押し直すだけでは、曲の統計的な性質(密度・音域・重心)は変わらず、”別の曲”には聴こえにくいため、これは”生成のたびに違う曲”を作りたいときに使う機能。統計的な性質が異なる本当の別バリエーションが欲しいときはON、狙った音域・密度をきっちり保ちたいときはOFFのまま使う。

豆知識 生成のたびにランダムシードは変わるが、シード自体は保存されないため、気に入った生成結果を再現することはできない(ボタンを押すたびに二度と同じにはならない)。


phrase_shuffler_v2 トリセツ

これは何をするツールか 既存の複数の.midファイル(「フレーズ」)を読み込み、ランダムな順序でつなぎ合わせて1本のMIDIファイルに書き出すツールです。pad_droneやphrase_motifのような「音符そのものを生成する」ツールではなく、すでにある素材(フレーズ)を再配置するタイプです。各.midファイル内の複数トラック構造(パート分け)もそのまま保持されるのが特徴です。

基本の使い方

  1. 「1. フレーズを読み込む」に.midファイルをドラッグ&ドロップ(複数可)。読み込まれた各ファイルは表 S1, S2, S3…として一覧表示され、ファイル内のトラック構成・長さが自動表示される
  2. 各フレーズの「重み」を数値で設定できる(大きいほど選ばれやすくなる。デフォルト1)
  3. 「2. 設定」でBPM、出力方法(合計時間で指定/再生回数で指定)を選ぶ
  4. 「同じフレーズの連続を避ける」をONにすると、S1→S1のような直後の繰り返しが起きなくなる
  5. 「3. 生成&書き出し」で「ランダム生成」→ 順序が S1→S3→S2→… のように表示される。「+1 追加」で末尾にもう1つ足せる。問題なければ「.midとして書き出す」

多トラック対応の意味 各フレーズ(.midファイル)が例えば「メロディ・トラック」「ベース・トラック」の2本立てだった場合、シャッフル後の出力も2トラックのまま出てきます。パート分けを保ったまま、フレーズの並び順だけをランダム化できます。


phase_loom(位相ラボ)トリセツ

これは何をするツールか 1つの短いメロディ(モチーフ)を、Steve Reich的な「フェイジング」またはBrian Eno/Max Richter的な「オスティナート再構築」の2種類の手法で長尺化するツールです。pad_droneやphrase_motifとは違い、ランダムに音を選ぶのではなく、決まったモチーフを反復・変形させることで生成的な広がりを作ります。

基本の使い方

  1. 「モチーフ(メロディ)」で1音ずつ音高・音価を設定(最大32音)。Bitwigでピアノロールに書いたメロディをMIDI書き出しして読み込むこともできる(和音は最高音のみ、単旋律として扱われる)。「▶ モチーフを試聴」でブラウザ内で簡易再生可能
  2. 「全体設定」でテンポと長さ(分)を指定
  3. 「変換モード」でフェイジングオスティナートを選ぶ
  4. 「↓ MIDIを生成してダウンロード」

フェイジングモードとは 同じモチーフを、レイヤーごとに少し違う長さのループ(モチーフの長さ+ギャップ)で重ねて鳴らし続けます。ループ長が層ごとに違うため、時間が経つにつれ各層の位相がずれていき、聴感上の関係性が変化し続けます(Reichの”Piano Phase”の原理)。「シンプル(3層)」と「リッチ(4層・後から入ってくる層あり)」が選べます。「微変化」を上げると、繰り返しのたびに音がランダムにスキップされたり、スケール内の隣接音にずれたりする確率が上がります。シード値があり、同じシードなら同じ結果を再現できる(乱数固定・pad_droneやphrase_motifにはないこの機能はphase_loom固有)。

オスティナートモードとは 3つの異なる性格の声部を重ねます:

  • モチーフ冒頭数音を低音・小音量で高速反復する「オスティナート」層
  • モチーフ全体をゆっくり(2〜4倍に音価を引き伸ばして)奏でる層
  • モチーフに含まれるユニークな音高だけを使った、ゆっくり上下するアルペジオ・パッド層

これも同様にシード値で結果を固定・再現できます。


tempo_canon(テンポ・カノン)トリセツ

これは何をするツールか 1つのモチーフを複数トラックに複製し、トラックごとに再生速度(テンポ比)を変えることで、比例カノン(Conlon Nancarrowの”テンポ・スタディ”の考え方)を作るツールです。速度比を単純な整数比(1:1.5:2など)にすると、周期的に拍が一致する瞬間が生まれ、完全な無秩序にはなりません。

基本の使い方

  1. 「モチーフ」はphase_loomと共通の仕組み(音高・音価を手入力、またはMIDI読み込み、試聴可能)
  2. 「全体設定」でテンポ・長さを指定
  3. 「トラック(速度比&開始ズラし)」で各トラックを設定(最大6トラック)
  4. 「↓ MIDIを生成してダウンロード」

各トラックの設定項目

  • モード:「固定」(速度比が曲を通して一定)か「ドリフト」(開始比率→終了比率へ曲の間に直線的に変化していく)
  • 速度比:1.0=原速、1.5=1.5倍に間延び、2.0=倍の長さ(数値が大きいほどゆっくり)
  • 開始ズラし:このトラックが何小節後から入ってくるか(カノンの「後発声部」を作る)
  • 音量:トラックごとのベロシティ

phase_loomとの違い phase_loomのフェイジングは「ループの長さ」をずらすことで位相が動くのに対し、tempo_canonは「再生速度そのもの」をトラックごとに変えることで関係性を作ります。似ているようで発想の起点が違う設計です。シード値はなく、常に決定論的(同じ設定なら毎回同じ結果)です。


phase_weave(位相ウィーブ)トリセツ

これは何をするツールか 異なる拍数(1/5, 1/6, 1/7…)で独立して回る複数の「ライン」を用意し、それぞれがコード/スケール構成音の中をUp/Down/Up-Down/Randomで動き続けるツールです。phase_loomやtempo_canonのように1つの固定モチーフを反復・変形させるのではなく、各ラインがその場で音型を生成し続ける点が違います。周期の違うラインが重なることで、Reich的なフェイジングに近いズレが生まれます。

基本の使い方

  1. 「GLOBAL」でルート音・コード/スケール・基準オクターブ・テンポ(試聴用)・ループ小節数・ゲート長%・ベロシティのばらつきを設定
  2. 「LINES」の+/−でライン数(2〜8)を増減し、各ラインの拍/小節(1/3〜1/13)・モード・音域(oct)・oct offsetを設定
  3. 「生成/再生成」を押すと下の PHASING VIEW に反映される(上段=各ラインの候補、太い下段=実際に選ばれる出力)
  4. 「試聴」のプルダウンで単音マージ/ライン別レイヤーを切り替えてプレビュー再生し、狙いに近い方を確認
  5. 気に入ったらMIDIエクスポート(単音マージ、またはライン別トラック)でダウンロード

拍/小節(レート)とは 1小節を何分割するかの数値。1/6なら1小節に6回、1/7なら7回、音が鳴る候補地点ができる。互いに割り切れない拍数を組み合わせるほど、周期的に一致しない位相のズレが生まれ続ける。

モードの違い Up/Down/Up-Downはスケール内を規則的に上下する決定的な音型(アルペジオ)。Randomは毎回結果が変わり、直前と同じ音は選ばれない。

単音マージ / ライン別トラックの違い 単音マージは、拍が近接して重なったラインの候補から毎回1つだけランダムに選び、単音の1トラックとして出力する(間引かれた、選択式のメロディ)。ライン別トラックは間引かず、各ラインをそのままFormat 1の複数トラックとして書き出す(全ラインが同時に鳴る、層状のテクスチャ)。書き出す前に「試聴」プルダウンでどちらの結果になるか耳で比較できる。

テンポについて スライダーは試聴の速さと、書き出すMIDIに埋め込むテンポ情報の目安。ノートの位置自体は拍・小節基準で保存されているため、DAW側の実テンポ(20BPMなど)にそのまま従う。

豆知識 Randomモードのラインは生成のたびに結果が変わり、phase_loomのようなシード固定機能はない。気に入った結果は、その場でMIDIとして書き出しておく以外に保存する方法はない。

phase_loom / tempo_canonとの違い phase_loomは1つのモチーフのループ長を層ごとにずらして反復させ、tempo_canonは1つのモチーフの再生速度そのものを層ごとに変える。どちらも素材(音型)は固定したまま、時間の扱い方でフェイジングを作る。phase_weaveは逆に素材そのものを固定せず、各ラインが独立してコード/スケール内を動き続け、周期の違いは「再生速度」ではなく「1小節の分割数(拍)」で作る、多声的な生成器。


Drift Duet (H + J3)

これは何か

低音のアンカー(J3)と、高音のランダムウォーク(H)、2つの声部だけで構成されたシンプルなドローン・デュエットです。低音はほとんど動かずルート音に留まり、高音はスケールの中を一歩ずつ、時々止まり、時々戻りながら漂います。

使い方

  1. KeyとModeを選ぶ
  2. High(H)・Low(J3)それぞれのオクターブ範囲、周期、発音密度、ステップの重み(前進/跳躍/後退/停止)を調整する
  3. 「MIDIを生成してダウンロード」でその場に.midが落ちてくる

使うときのコツ

このツールの中身は、実はかなり単純なロジックです。ピアノロールで手書きしても十分再現できるレベルなので、「素材のたたき台」として使い、そこから自分の手で呼吸感を加えていく、という使い方が一番向いています。


半自動動画生成”Slice-Reconstructor”AEマニュアル(v1)

1枚の静止画を帯状に分解し、After Effectsで無限スクロールさせる動画を作るための手順。ウェブアプリでの分解と、AEでの動き付けを組み合わせた半自動フロー。

全体の流れ

  1. ウェブアプリで元画像のスライス設定を決める
  2. 設定をJSONテンプレートとして保存
  3. AE用レイヤーZIPを書き出す
  4. AEに読み込み、2種類のExpressionで動かす
  5. 背景用の静止画を最下層に敷く
  6. 完成後、ネタを差し替えたいときは同じ設定JSON+同サイズの新しい画像で再書き出しし、AE側はReload Footageで中身だけ入れ替える

1. ウェブアプリでの設定(slice-reconstruct.html)

  1. 画像を読み込む
  2. 「向き」「帯の太さ」「不規則さ」「対象範囲」「seed」を好みの見た目になるまで調整
    • シフト量・分布・発生確率は静止画プレビュー用のパラメータで、AE用ZIP書き出しには影響しない(ZIPは常に加工なしの生の帯として出力される)
  3. 見た目が決まったら「設定を保存 (.json)」でテンプレートとして保存しておく
    • 次回、別の画像で同じ帯割りを再現したいときはこのJSONを「設定を読み込む」から読み込む
    • 画像サイズが変わってもシフト量スライダーの上限は自動調整される

2. AE用レイヤーZIPの書き出し

  1. 「帯レイヤーをZIPで書き出す」を押す
  2. ZIP内にはキャンバス全体サイズの透明PNGが帯の枚数分(slice_001.png〜)入っている。同封のREADME.txtに枚数・設定値も記録される
  3. 全ファイルを解凍しておく

3. AEへの読み込み

  1. File > Import > File... で解凍したPNGを全選択して読み込む(連番シーケンスとしては読み込まない)
  2. 全レイヤーを選択したままコンポのタイムラインにドラッグ(全PNGがキャンバス全体サイズなので位置は自動で揃う)

4. 動きを付ける(Expression 2種類、併用可)

4-1. Position(直線的に流れる動き)

レイヤーのPositionをAlt/Optionクリックしてexpressionを追加:

seedRandom(index, true);
speed = random(30, 150); // レイヤーごとのランダムな速度(px/秒)
x = speed * time;        // 右へ流れる。左なら "-" を付ける
[value[0] + x, value[1]]

1レイヤーに書いたら、コピーして全レイヤーのPositionに一括ペースト。index(レイヤー番号)をseedに使っているので、レイヤーごとに自動で違う速度になる。

左右どちらに流れるかもレイヤーごとにランダムにしたい場合:

seedRandom(index, true);
dir = random(0, 1) < 0.5 ? -1 : 1;
speed = random(30, 150);
x = dir * speed * time;
[value[0] + x, value[1]]

4-2. Offset(帯の中身だけを巡回スクロールさせる、黒み防止)

Positionだけだとレイヤーがコンポ外に出た部分が黒くなる。中身を巡回させたい場合はこちら。

  1. レイヤーを選択(複数選択可)し Effect > Distort > Offset を適用
  2. OffsetのShift Center Toにexpressionを追加:
seedRandom(index, true);
w = thisComp.width;
speed = random(30, 150);
dir = random(0, 1) < 0.5 ? -1 : 1;
baseX = w / 2;
x = baseX + dir * speed * time;
x = ((x % w) + w) % w; // 巡回させて値が発散しないようにする
[x, value[1]]

PositionとOffset、両方を同じレイヤーに併用すると効果的(実践で確認済み)。

5. 背景の穴埋め

Positionのexpressionでレイヤーがずれると背景に何もない部分ができることがある。最下層に元の静止画(無加工)を1枚敷いておくとこれが目立たなくなる。

6. ネタの差し替え(同じAEプロジェクトを使い回す)

  1. ウェブアプリで①と同じ設定JSONを読み込む
  2. 同じ画像サイズにリサイズした新しい元画像を読み込む
  3. 同じ「AE用レイヤー書き出し」でZIPを作る(設定が同じなら枚数・ファイル名も前回と一致する)
  4. 解凍したPNGを、前回と同じファイル名・同じ場所に上書き保存
  5. AEのProjectパネルで対象フッテージを右クリック → Reload Footage

Expression・エフェクトの重ね方には一切触れず、中身の画像だけが新しいネタに差し替わる。


所要時間の目安(実測)

  • ウェブアプリでの分解〜AE読み込み:数分
  • AEでのExpression設定(初回のみ):数分(一度組めば使い回せる)
  • 完成までの手直し込みの総時間:AE作業込みで約1時間程度

既知の制約・注意点

  • ウェブアプリ側の「アニメーション」機能(帯の太さ/シフト量/発生確率のアニメーション、連続フロー、往復ループ)は今回は不使用。実際の動きはすべてAE側のExpressionで作っている
  • ウェブアプリでの動画直接書き出し(MP4)は、レンダリングに数分かかった上でやり直しが発生すると時間がかかるため、今回のAEベースのフローの方が調整の柔軟性は高い。ただし一発でOKテイクが出る場合はウェブアプリ単体の方が速い

Mutating Drone (L)

これは何か

4つの声部(速い・中速・遅い・低音アンカー)が、それぞれ違う周期で重なりながら音を鳴らし続けるジェネレーターです。特徴は「自己変異」で、鳴らしているうちに一定確率でループのパターン自体が書き換わっていきます。だから、同じ設定で作っても、5分後には最初と少し違う旋律になっています。二度と正確に同じ形には戻りません。
もともとは去年、DTMを始めて数ヶ月の頃にBespokeSynthというソフトのScriptモジュールで書いたPythonコードでした。今回、ブラウザだけで動くツールとして作り直しました。

使い方

  1. KeyとModeを選ぶ(Dorian、Lydianなど、7つの教会モードから選べます)
  2. 4つの声部それぞれの周期・持続時間・発音確率を好きに調整する
  3. 「変異する確率」のスライダーで、曲がどれくらい速く変化していくかを決める
  4. 「MIDIを生成してダウンロード」を押すと、その場で.midファイルが落ちてくる
  5. お使いのDAWにドラッグ&ドロップ

使うときのコツ

生成されたMIDIは、そのまま完成品として使うことは想定していません。素材として持ってきて、ピアノロールで手直しする前提のものです。自己変異という仕組みは、人間が手で作るには面倒な「絶対に飽きずに、絶対に正確な周期を保ちながら、長時間かけてゆっくり形を変え続ける」という部分を、機械に任せるために作っています。
Seedを指定すると同じ結果を再現できます。空欄にすると毎回変わります。


Harmonic Drift (N)

これは何か

数分から数十分かけて、和音の「いる場所」そのものがゆっくり移り変わっていくジェネレーターです。速い展開ではなく、気づいたら違う調的な領域に来ている、というくらいの遅さが基本です。深いサブベース、時々の呼吸のような単音、まれに差すきらめきが、その上に重なります。

Mutating Drone (L)と同じく、去年BespokeSynthのScriptモジュールで書いたコードの移植版です。

使い方

  1. KeyとModeを選ぶ
  2. 「1領域の長さ」で、1つの調的な場所にどれくらい長く留まるかを決める(既定は約12分)
  3. 「度数シフト」で、次々と巡る先の場所をどれだけ離すかを指定する(カンマ区切り)
  4. 和音・サブベース・呼吸・きらめきの4声部それぞれの周期や発音確率を調整する
  5. 「MIDIを生成してダウンロード」でその場に.midが落ちてくる

使うときのコツ

この系統は短い曲の長さで試すと、最初の和音が数回鳴っただけで終わってしまいます。本領が出るのは10分を超えたあたりからなので、まず長めの尺で一度通して聴いてみることをお勧めします。度数シフトの数値の差を大きくすると、領域が変わったときの落差がはっきりします。逆に差を小さくすると、変化にほとんど気づかないくらい滑らかになります。

生成されたMIDIは素材です。ピアノロールでの手直し前提で使ってください。


Sleep Induction Drone (O3)

これは何か

1つのサイクルの中で、性格の全く違う3つの状態を順番に巡るジェネレーターです。前半は深いドローンとサブベースだけが鳴る「Drone」、中盤は決まった旋律がゆっくり下降していく「Phrase」、後半はほとんど何も鳴らない「Silence」。この3つの切り替わりが、名前の通り眠りを誘導するような構成になっています。

使い方

  1. KeyとModeを選ぶ
  2. 1サイクルの長さと、Drone・Phraseそれぞれの終端(サイクル内の位置)を決める
  3. Drone・Sub-bass・Descending Phrase・Silence・Shimmerそれぞれのパラメータを調整する
  4. 「MIDIを生成してダウンロード」でその場に.midが落ちてくる

使うときのコツ

既定では1サイクルが1024パルス(4分音符・87BPMなら約12分)です。曲の長さがこれより短いと、Silenceのフェーズまで届かないことがあります。まず1サイクルよりしっかり長い尺で試してから、必要に応じて短く調整するのがおすすめです。フェーズが切り替わる瞬間、前のフェーズの長い音がまだ鳴っている上に次のフェーズが始まることがありますが、これは原典通りの意図的な重なりです。

BespokeSynthで組んだ生成ロジックのPython/JS移植版。


Stutter Pattern (M)

これは何か

音程は動かさず、時間の流れ方だけを歪めるジェネレーターです。決まった旋律パターンを、時々読み飛ばし(skip)、時々同じ音を吃るように繰り返し(repeat)、時々本来と違う装飾音を一瞬だけ足す(add note)。この3つが確率で切り替わりながら、同じフレーズが少しずつ違う形で繰り返されます。

使い方

  1. KeyとModeを選ぶ
  2. Main Patternに、繰り返したい旋律を度数で指定する
  3. Skip・Repeat・Add Noteそれぞれの確率を調整する
  4. 「MIDIを生成してダウンロード」でその場に.midが落ちてくる

使うときのコツ

この3つの効果は同時には起きません。どれか一つが選ばれると、その回はそれだけが起こります。Repeat確率を上げると、同じ音が何度も連続する「引っかかる」感触が強くなり、Add Note確率を上げると、逆に賑やかで装飾的な印象になります。

単独で主張するタイプの素材ではないので、他の声部(ドローンや低音)に対する、控えめな装飾パートとして使うのがおすすめです。


Discreet Music (A)

これは何か

イーノのDiscreet Music/Fullness of Windの発想そのものを、コードにしたジェネレーターです。曲全体が「Journey」という一つの長い弧を描きます。静かに始まり、真ん中あたりで一番賑やかになり、また静かに戻っていく、その進行度に応じて5つの声部の出現確率が変わります。

もともとは、DTMを始めて3ヶ月ほどの頃にBespokeSynthで書いたコードです。今日発掘したものの中で、一番最初に目指していた「本命」でした。

使い方

  1. KeyとModeを選ぶ
  2. Journey Lengthで、一つの弧を描くのにかかるパルス数を決める(既定は2048)
  3. Bass・Loop1〜3・Sparkleそれぞれの周期、発音確率、旋律パターン(度数)を調整する
  4. 「MIDIを生成してダウンロード」でその場に.midが落ちてくる

使うときのコツ

Loop1は曲の後半にかけて発音確率が下がり、Loop3は逆に上がり、Loop2は真ん中で一番賑やかになります。Sparkleは前半と後半で使う音域自体が切り替わります。この「声部ごとに違う時間的な役割を持つ」という設計が、単なるランダム生成と違う部分です。Journey Lengthを短くすると曲の変化が速く感じられ、長くすると悠然とした展開になります。

生成されたMIDIは素材です。ピアノロールでの手直し前提で使ってください。

BespokeSynthで組んだ生成ロジックのPython/JS移植版。


Field Recording (Tonal) — G2

これは何か

周期を持たない、環境音のジェネレーターです。次に何が起きるかは常にランダムに決まり、Bird(鳥)・Insect(虫)・Wind(風)・Rain(雨)という4種類の”出来事”が、いつ重なるかも予測できません。音楽というより、その場の空気を録ってきたような、音の集まりです。

もともとBespokeSynthで書いた同名のコードがありましたが、そちらはクロマチック(半音単位で無差別)だったため使いづらく、一度不採用にしました。今回はKey/Modeのスケールに全音を縛り、印象を大きく変えた再挑戦版です。

使い方

  1. KeyとModeを選ぶ
  2. 「次イベントまで(パルス)」で、出来事がどれくらいの頻度で起きるかを決める
  3. Bird・Insect・Wind・Rainそれぞれのオクターブ範囲、音数、確率、持続時間を調整する
  4. 「MIDIを生成してダウンロード」でその場に.midが落ちてくる

気に入った設定は「プリセットを保存」で.jsonファイルとして書き出せます。「プリセットを読み込む」で、いつでも同じ設定に戻せます。

使うときのコツ

Insectの密集感は、半音の擦れではなく、スケール内の隣接音で作っています。これが以前の不協和な印象を大きく和らげた部分です。Windは長い持続音(30〜40秒)なので、次の出来事が始まってもまだ鳴っていることがありますが、これは意図的な重なりです。

生成されたMIDIは、そのまま完成品として使うこともできますし、素材として他の声部に混ぜても機能します。


Drifting Mutation (L + N)

これは何か

「自己変異する多声部(L)」と「調的領域を巡るハーモニック・ドリフト(N)」を合体させた、今のところ一番複雑なジェネレーターです。数分〜数十分かけて、和音の”いる場所”そのものがゆっくり移り変わり、その切り替わりに合わせて、変異し続けている3つのループも一緒に移調します。大きな旅と、絶対に同じ形に戻らない細かい変化が、同時に進みます。

L(自己変異)、N(調的領域)、それぞれ単体のツールも別にありますが、これはその2つを組んだ発展版です。

使い方

  1. KeyとModeを選ぶ
  2. 「1領域の長さ」と「各領域の度数シフト」で、大きな旅の速さと行き先を決める
  3. Chord・Deep Drone・Breath・Shimmer(背景の4声部)を調整する
  4. 自己変異の確率・drift(sin波)の速さ・Loop1〜3(速い/中速/遅い)を調整する
  5. 「MIDIを生成してダウンロード」でその場に.midが落ちてくる

気に入った設定は「プリセットを保存」で書き出せます。

使うときのコツ

領域が切り替わる瞬間、変異中のループも同じ度数分だけ移調します。単体のL・Nより、この移調の同期がもたらす一体感が特徴です。本領が出るまでには時間がかかるので、最低でも1領域の長さ(既定で約12分)より長い尺で聴くのをお勧めします。

生成されたMIDIは素材です。ピアノロールでの手直し前提で使ってください。


MIDI Gap Filler

これは何か

MIDIファイルの中にある「音が鳴っていない隙間(休符)」を、自動で埋めるツールです。作曲ソフトやAI作曲ツールが生成したメロディが歯抜けになってしまったとき、隙間をそのまま活かすか、埋めて滑らかにするかを選べます。

ブラウザの中だけで処理が行われるツールです。ファイルをどこかに送信することはなく、インストールも不要です。

使い方

  1. MIDIファイル(.mid / .midi)を、枠内にドラッグ&ドロップするか、クリックして選択する
  2. 「Sustain」か「Scale」のどちらかのモードを選ぶ
  3. 必要な項目を調整する(下記参照)
  4. 「MIDIを処理してダウンロード」を押すと、加工済みのMIDIファイルが自動でダウンロードされる

2つのモード

Sustain(伸ばす)

隙間の直前の音を、次の音が始まるところまで単純に伸ばします。設定は「最小の隙間」だけで、これより短い隙間は元のまま残ります。とりあえず滑らかにしたいだけなら、このモードで十分です。

Scale(スケール内で生成)

隙間に、指定したキーとスケール(音階)の中からランダムに選んだ音を新しく生成して埋めます。以下を調整できます。

  • キー / モード: 埋める音の元になる音階。Major、Minor、Lydian、Dorianなど
  • 埋める1音の長さ: 隙間を、この長さの音符で埋めていく
  • 発音密度: 隙間を音でどれくらい埋めるか(0に近いほどスカスカ、1に近いほど密に埋まる)
  • ベロシティ比率: 新しく生成する音の強さを、元の音に対してどれくらいの割合にするか
  • ランダムシード: 数字を入れておくと、同じ設定なら毎回同じ結果になる(空欄なら毎回違う結果になる)

使うときのコツ

  • 元のメロディの雰囲気を大きく変えたくない場合は、まずSustainモードで試す
  • Scaleモードは、密度を低め(0.3〜0.5程度)にすると、隙間が自然な装飾で埋まりやすい
  • キーがわからない場合は、元のメロディで一番よく使われている音を基準に選ぶとよい
  • 複数トラックを含むMIDIファイルの場合、すべてのトラックに同じ設定が適用される

注意点

  • SMPTE形式(映像同期用)のタイムコードを使ったMIDIファイルには対応していない
  • 元のテンポ情報はそのまま引き継がれる

MIDI Variation Generator

これは何か

既存のMIDIメロディの音程やリズムを少しだけランダムに揺らして、雰囲気の近いバリエーションを作るツールです。同じ元ネタから、何パターンでも別バージョンを生成できます。

ブラウザの中だけで処理が行われるツールです。ファイルをどこかに送信することはなく、インストールも不要です。

使い方

  1. MIDIファイル(.mid / .midi)を、枠内にドラッグ&ドロップするか、クリックして選択する
  2. 「音程の揺らぎ」「リズムの揺らぎ」の各項目を調整する(下記参照)
  3. 「バリエーションを生成してダウンロード」を押すと、加工済みのMIDIファイルが自動でダウンロードされる
  4. 気に入るまで「もう一つ別バリエーションを生成」を押せば、同じ設定のまま違う結果を何度でも作れる

設定項目

音程の揺らぎ

  • キー / モード: 音程を変化させる際に使う音階。Major、Minor、Lydian、Dorianなど。ここで選んだ音階の外には出ない
  • 音程が変化する確率: 各音がどれくらいの頻度でズレるか(0なら一切変化しない)
  • 音程の最大変化幅: 音階上で何段階までズレるか(1なら隣の音まで、2ならその隣まで)

リズムの揺らぎ

  • タイミングがズレる確率: 各音の発音位置がどれくらいの頻度でわずかにズレるか
  • 最大ズレ幅: タイミングのズレの最大幅(拍単位。小さい値ほど「揃った感じ」が保たれる)
  • 音が消える確率: 音がまるごと休符に置き換わる頻度
  • 音が吃る(スタッター)確率: 音の直後に、同じ高さの短い音がもう一つ追加される頻度

ランダムシード

数字を入れておくと、同じ設定なら毎回同じ結果になる。空欄なら毎回違う結果になる。

使うときのコツ

  • 元のメロディの骨格をあまり崩したくない場合は、まず「音程が変化する確率」「タイミングがズレる確率」を0.2程度の低い値から試す
  • 「音が消える確率」を上げすぎると、元の旋律がわからなくなるほど間延びすることがある
  • 「もう一つ別バリエーションを生成」を何度か押して、良いものだけを選んで残すのがおすすめ

注意点

  • SMPTE形式(映像同期用)のタイムコードを使ったMIDIファイルには対応していない
  • 元のテンポ情報はそのまま引き継がれる
  • 複数トラックを含むMIDIファイルの場合、すべてのトラックに同じ設定が適用される

MIDI Arpeggio Generator

これは何か

コード進行が入ったMIDIファイル(InstaComposer3などで作った和音のMIDI)を読み込み、Bitwigのアルペジエーターと同じような考え方で、和音を1音ずつ順番に鳴らすアルペジオのMIDIファイルに作り変えるツールです。ブラウザだけで動き、ファイルはどこにも送信されません。

使い方

  1. MIDIファイルをドラッグ&ドロップ、またはクリックして選択します。
  2. 「使う音の決め方」「パターン」「演奏の設定」を必要に応じて調整します。
  3. 「アルペジオを生成してダウンロード」を押すと、新しいMIDIファイルがダウンロードされます。

使う音の決め方(2つのモード)

  • 使用されている音のみ: 元のコードで実際に鳴っている音だけを使ってアルペジオを組み立てます。コードが変わればアルペジオの音もそれに合わせて変わります。
  • キー+スケール指定: 元のコードの音は無視して、指定したキーとスケール(モード)の音だけを使います。コードの和声にとらわれず、一定のスケール感でアルペジオを作りたいときに使います。

パターン

Bitwigのアルペジエーターにある代表的な動き方を8種類用意しています。

  • Up: 下から上へ順番に
  • Down: 上から下へ順番に
  • Up/Down: 下から上へ、そして上から下へ戻る(両端の音は1回だけ)
  • Up/Down₂: 同じですが、両端の音を2回ずつ鳴らします
  • Down/Up: 上から下へ、そして下から上へ戻る(両端の音は1回だけ)
  • Down/Up₂: 同じですが、両端の音を2回ずつ鳴らします
  • Random: 毎ステップ、ランダムに音を選びます(下のランダムシードで再現可能)
  • Chords: アルペジオにせず、和音のまま(オクターブ展開した音を含めて)ステップごとに鳴らします

演奏の設定

  • アルペジオ化する確率: 検出した和音ひとつひとつに対して、実際にアルペジオ化するかどうかの確率です。1.0だとすべての和音が動きますが、下げると一部の和音はそのまま和音として伸ばされ、残りだけがアルペジオとして動きます。すべてを均一に動かすより、持続音(ドローン)と装飾的な動きが混ざった、アンビエントらしい質感になりやすいので、まずは0.5〜0.7あたりで試すのがおすすめです。
  • ステップの長さ(拍): アルペジオの1音あたりの長さです。0.25なら16分音符相当になります。
  • オクターブ展開: 元の和音の音を、指定したオクターブ数ぶん上に積み増してからパターンを適用します。2以上にすると音域が広がります。
  • ゲート長: 1ステップの中で、実際に音が鳴っている長さの割合です。100%ならすき間なく、低くするとスタッカート気味になります。
  • ベロシティ: 生成される音の強さです。
  • ステップが抜ける確率: 各ステップをランダムに休符化する確率です。0にするとすべてのステップが鳴ります。
  • 和音とみなす許容誤差(拍): 元のMIDIで、同時に鳴り始めたとみなす音の開始タイミングのズレの範囲です。手弾き由来のMIDIなど、完全に同時ではない音がある場合に広げてください。
  • ランダムシード: Randomパターンを使うときの再現性のための数値です。同じ数値なら同じ結果になり、空欄なら毎回変わります。

設定の保存・読み込み

「設定を保存」で、現在のスライダーやモードの値をJSONファイルとしてダウンロードできます。「設定を読み込む」でそのJSONファイルを読み込むと、保存時の状態を復元できます。お気に入りの設定が見つかったら保存しておくと、次回すぐに呼び出せます。

使うときのコツ

  • 元のMIDIがコード進行(和音の集まり)であることを想定しています。単音のメロディーにも一応使えますが、和音を前提にしたツールなので、コード進行のMIDIに使うのが一番自然です。
  • コードとコードの間にすき間があっても、次のコードが始まるまでアルペジオが鳴り続けるようになっています(音が完全に途切れることはありません)。
  • 「使用されている音のみ」モードでは、コードの構成音を一度オクターブをまたいで並べ直してから使うため、元の和音の転回形(音の積み方)そのままは再現されません。同じ構成音のコードとして扱われます。

注意点

  • SMPTE時間形式のMIDIファイルには対応していません。
  • テンポ情報は元のファイルのものがそのまま引き継がれます。

Line Field

これは何か

画像を使わず、ノイズだけから川や地形の等高線のような線の集まりを生成する、ジェネラティブなループ映像ツールです。シード値を変えるだけで、まったく違う形の模様になります。ブラウザだけで動き、ファイルはどこにも送信されません。

使い方

  1. 「形」「質感」「動き」「色」を好みに調整します。
  2. 「形の種(seed)」を変えるか「ランダム」を押して、模様そのものを変えます。
  3. 「PNG連番を書き出す」を押すと、フォルダを選んでフレーム画像が保存されます。

  • 線の数 / 上下の余白 / うねりの大きさ
  • 横方向の反復: 模様の細かさです。
  • 縦の変化: 小さいほど、隣り合う線が同じ動きで帯状に寄ります。
  • 細かい揺れ / 全体の傾き / 手描きの震え
  • 川のような横流れ: +で右へ、−で左へ流れます(0で流れなし、整数のみ意味があります)。

質感

  • 線の太さ / 線の濃さ

動き

  • 変化の量: 大きいほど、ループの中で形が大きく変わります。
  • ループの長さ(秒)/ fps

  • 線と背景の色を自由に選べます。
  • 合成: 「通常」と、光が重なって明るくなる「加算(発光)」から選べます。
  • 「紺インク」「白線・黒」「SF発光」のプリセットがあります。

出力

解像度と「形の種(seed)」を選び、「PNG連番を書き出す」で連番画像が書き出されます。最後のフレームは最初のフレームの1コマ手前になっているので、AEなどでループさせても継ぎ目が出ません。「背景を透明にして書き出す」でアルファ付きPNGとしても書き出せます。

設定の保存・読み込み

「設定を保存」で今のスライダーの値をJSONファイルとして保存できます。「設定を読み込む」で復元できるので、気に入った設定は保存しておくと便利です。

使うときのコツ

シードを変えながらいろいろな形を試してみてください。同じスライダーの値でも、シードが違うだけで表情がまったく変わります。加算(発光)モードは、線が重なる部分だけ明るくなるので、SF的な光の質感を出したいときに向いています。


Ridgeline

これは何か

写真を読み込むと、各行の明るさを線の高さに変換して、等高線が重なった山脈のような映像を作るツールです。手前の線が奥の線を隠しながら、ゆっくりループして揺らぎ続けます。ブラウザだけで動き、ファイルはどこにも送信されません。

使い方

  1. 画像をドラッグ&ドロップ、またはクリックして選択します。
  2. 「収め方」「形」「質感」「動き」「色」を必要に応じて調整します。
  3. 「PNG連番を書き出す」を押すと、フォルダを選んでフレーム画像が保存されます。

画像の下ごしらえ

  • 収め方: 「画面いっぱいに埋める」は縦横比が違うと上下左右が切れます。全身など全体を見せたいときは「全体を収める」を選んでください。
  • ぼかし: 細かいノイズをまとめて、写真を大きな明暗の塊に単純化します。
  • コントラスト: 白黒二値に近づけます(1で無効)。木々や人混みなどごちゃごちゃした写真は、まずぼかしを10〜25pxくらいまで上げ、次にコントラストを5〜10くらいまで上げると、輪郭がすっきりします。

  • 線の数 / 上下の余白 / 山の高さ
  • 横方向のなめらかさ: 線のギザギザを均します。
  • 縦方向の読み取り幅: 1本の線が写真の何ピクセル分の帯を読み取るかです。
  • 明暗を反転: 暗い場所が山になります。
  • 手前の線が奥を隠す(オクルージョン): チェックを外すと、線がすべて透けて重なります。

質感

  • 線の太さ / 線の濃さ

動き

  • ゆらぎの質感の変化: 震えの表情が変わる速さです。
  • 写真そのものの横流れ: 写真ごと横にスクロールします(整数のみ意味があります)。
  • 高低反転ループ: 上げると、ループの半分で山と谷が入れ替わります。
  • ゆらぎの大きさ / ゆらぎだけを横流れさせる: 写真の形とは別に加わる、震えだけの動きです。
  • ループの長さ(秒)/ fps

線と背景の色を自由に選べるほか、「紺インク」「白線・黒」「白線・黒・くっきり」のプリセットがあります。

出力

解像度を選んで「PNG連番を書き出す」で連番画像が書き出されます。最後のフレームは最初のフレームの1コマ手前になっているので、AEなどでループさせても継ぎ目が出ません。「背景を透明にして書き出す」も選べますが、オクルージョンがONのときは背景が塗りつぶされる仕組み上、常に不透明で書き出されます。

設定の保存・読み込み

「設定を保存」で今のスライダーの値をJSONファイルとして保存できます。「設定を読み込む」で復元できるので、気に入った設定は保存しておくと便利です。

使うときのコツ

コントラストが強く、被写体が1つのシンプルな写真が向いています(真上から撮った物、シルエット、風景など)。