ジェネレーティブ音楽・アルゴリズム2 分で読めます公開: 2026-08-20更新: 2026-08-27執筆・検証:甘党工藤

生き物の動きを音にする - 水中生命とスウォームの身体モデル

イカ・クラゲ・タコ・なまずの泳ぎ方、そしてBoids の群知能ルール。異なる身体モデルから音を生成するとき、どの動きをどのパラメータへマッピングするか、実例に沿って比較します。

生き物の動きを音にする - 水中生命とスウォームの身体モデル

水中生命シーケンサーは種別固有の身体運動、スウォームはBoidsの共通近隣規則から動きを作ります。X、Y、Speed、Densityの音への対応を揃え、同じScaleで比較すると、身体モデルと群知能の違いを聞き分けられます。

イカ、クラゲ、タコ、なまずの身体モデル

4種は身体点のつながり、伸縮、推進、旋回の規則が異なります。Speciesを1種、個体数を少数にして、色やTrailではなく輪郭と移動を先に確認します。これは生物学的な精密再現ではなく、特徴を視覚と音へ翻訳した創作モデルです。

BoidsのSeparation、Alignment、Cohesion

関節とばねで動く身体モデルと群れの三原則を使うスウォームの比較図
身体の関節運動と群れの規則を別々に音へ変換

Separationは近づきすぎた個体を離し、Alignmentは近隣の向きへ揃え、Cohesionは近隣の中心へ寄せます。三つを0付近から一つずつ足し、群れが散る、流れる、固まる変化を観察します。係数を同時に上げると原因を追いにくくなります。

X、Y、Speed、Densityのマッピング

YをPitch、XをPan、SpeedをVelocity、DensityをFilter等へ対応させます。最初はY→PitchとX→Panだけを有効にし、個体が上へ行くと音が上がる、右へ行くと右へ定位する等の方向を確認します。SpeedとDensityは群れ全体の変化も含むため後から足します。

群れを動かす操作

水中生命側ではSpecies、School、Softness等、スウォーム側ではBoids係数、Count、Speedを操作します。ポインターで群れへ影響する機能がある場合は、同じ軌跡を厳密に再現できない実時間操作として扱います。比較用には操作なしのSeed固定状態も録音します。

同じスケールで比較する

Scale、Root、BPM相当の速度、出力音量を揃え、個体数も近い値にします。水中生命は1 Species、スウォームは標準Boids係数から始め、30秒程度を録音します。音色差を減らし、位置・速度・密度Mappingの差に注目します。

画面負荷と個体数

個体数、Trail、発音密度を上げると描画とAudio処理の負荷が増えます。フレーム落ちや音切れが出たら、最初に個体数を下げ、次にTrailと発音数を下げます。長時間後の位置は端末性能とフレーム時間で完全一致しない場合があります。

要点

身体モデルとBoids規則を分け、Mappingを揃えて比較します。少数個体で仕組みを確認してから画面を増やします。

この状態はこのブラウザだけに保存されます。