SOUND LAB MANUAL
なまずセルオートマトンシーケンサー 説明書
左・中央・右の3 Cellと8 BitのRuleだけで次の横一列を計算し、成長・出生・死亡・密度・位置を旋律やリズムへ変換する、観察と演奏のためのセル・ワールド楽器です。
このツールでできること
- 同じInitial Seed、Rule、幅、Boundaryなら必ず同じ未来になるElementary Cellular Automatonを、過去・現在・Ghost Futureとして観察できます。
- 全256 Ruleの実計算Preview、8 Bit Rule Editor、Favorite、Bit Morph、Mutation Lockで世界の法則を設計できます。
- ライブPaint、Inject、Ripple、Undo、Original Timeline、Freeze、World A/B Couplingを使い、未来の分岐そのものを演奏できます。
- Melody、Rhythm、Pulse、Texture、Evolutionの5 Mapping、専用Drum Voice、MIDI A/B、WAV録音、Project v2保存に対応します。
クイックスタート
- EASYのMAKE WORLDでSYMMETRICを選び、中央1 CellからRule 90の世界を作ります。
- STEPを押し、NOWのCellを1つ選択してWHY THIS CELLのLEFT / ME / RIGHT → RULE → NEXTを確認します。
- PLAYを押し、MELODYでON Cellの横位置がPitchとPanへ変わる様子を聴きます。
- PERFORMANCEでINJECTまたはRIPPLEを使い、Ghost FutureとOriginal TimelineのDIVERGENCEを観察します。
- 気に入った世界はCAPTURE A–D、なまずポシェット、MIDI A/B、またはWAVへ残します。
EASY / WORLD / PERFORMANCE / ADVANCED
- EASYはMAKE WORLD、Timeline、WHY、Sound Map、World Stateに絞った入口です。
- WORLDはRule Editor、Rule Activity、Rule Morph、Mutation Lock、全256 Rule Atlasを開きます。
- PERFORMANCEはMacro、Freeze、CAPTURE A–D、World Morph、World A/B MixerとCouplingを開きます。
- ADVANCEDは音階、音色、Effect、Boundary、Seed、保存、共有、MIDI/WAVなどの詳細設定を開きます。
3 Cellから次の1 Cellが決まる仕組み
次世代の各Cellは、現在世代のLEFT、CENTER、RIGHTだけを読みます。ON/OFFの3 Bitには000〜111の8通りがあり、Rule Numberの8 Bitが各組み合わせのNEXTを指定します。WHY THIS CELLは、選択Cellについてこの因果関係をそのまま表示します。
通常進化はRule、現在Generation、Boundaryだけから計算し、乱数を使いません。Initial Seed、Rule、Width、Boundaryが同じなら同じGeneration列になります。音色用Noiseや画面描画が未来を変えることもありません。
Past・Now・Ghost Futureとライブ介入
- Timelineは最大128世代の履歴を保持し、NOWから4 / 8 / 16 / 32世代先をGhost FutureとしてRuleで予測します。
- TOGGLE / PAINT / ERASE / SYMMETRYは現在のCellを直接編集し、RANDOMは小範囲へSeed付き確率でLifeを加えます。INJECTは選択位置へ用意された生命形を加え、RIPPLEは周囲を反転します。
- 介入は明示的な分岐として記録されます。UNDOは直前の介入へ戻し、ORIGINALは介入前のTimelineへ戻します。Future Diffは変化Cell数と最初の分岐世代を示します。
- Birth、Death、Survivalは色で区別され、Density、Change、Symmetry、Extinction、Saturation、Stable、OscillationをWorld Stateとして表示します。RESCUE / AUTO RESCUEは全消滅時に中央へ生命を注入します。
Rule Editor・Atlas・Morph・Mutation
- Rule Editorは111〜000の各NEXT Bitを直接ON/OFFします。使用中の近傍はActivity表示で確認できます。
- Rule Atlasは全256 Ruleを実際のECA計算でPreviewし、Number、Density、Activity、Symmetryで並べ替え、Behavior FilterとFavoriteで絞り込めます。Nearbyは現在Ruleから1 Bitだけ違う8 Ruleへ移動します。
- Rule MorphはRule AとRule Bの8 Bitを段階的に置換します。Rule Mutationは指定数のBitを反転し、LOCKした近傍は対象外です。
Cellから音への5つのMapping
- MELODYはON CellのX位置をScale上のPitchへ割り当て、Spatial Panでは同じX位置を左右定位へ渡します。
- RHYTHMはGridを左から4つの連続Zoneへ分け、Kick、Snare、HiHat、Percの専用合成音を鳴らします。MIDIでは36、38、42、45へ対応します。
- PULSEは中央CellがONの世代だけ基準音を鳴らし、OFFならRestにします。
- TEXTUREはDensityをFilterとVelocityへ、重心をPanへ割り当てます。
- EVOLUTIONはBirthを高音、Deathを低音、Survivalを持続的な中央音へ変換します。
World A/B MixerとCoupling
World AとWorld Bは別々のRule、Seed、Mapping、Levelを持つ最大2つの独立Automatonです。MUTE / SOLOで聴き比べ、B Inspectorから別Presetを選べます。
INDEPENDENTは干渉なし、MASKはAがONの位置だけBを通し、XORはA/Bの差を鳴らし、SEEDはAの現在形をBへ混ぜ、CROSS MODはAの位置情報でBを変調します。Coupling Amountは保存されたBの法則を上書きせず、演奏時の可聴Worldだけへ作用します。
Freeze・Snapshot・World Morph
- LIFEは現在WorldをSeed付き順序で目標Densityへ寄せ、CHANGEはCell Mutation傾向を上げ、高い範囲ではRule Bitも変異させます。どちらもSliderを離した時点で介入履歴へ明示的な分岐として記録されます。WIDTHもSliderを離した世代境界で中央基準に拡縮します。
- FREEZEは再生Clockと発音を続けたままGeneration更新だけを止めます。STOPはClockを止めますが、現在のWorldは保持します。
- CAPTURE A–Dは現在Generation、Rule、Boundary、MappingをSceneとして保存します。RECALLでそのWorldへ戻れます。
- Snapshot AとBの幅が同じとき、WORLD A → B MORPHはSeed付き順序でCellを段階的に置換します。
- GridのFIT / NORMAL / LARGEは表示倍率だけを変えます。Width 64でもFITまたはWorld Panel内の横Scrollで操作でき、ページ全体には横Overflowを出しません。
- Spaceキー=PLAY/STOP、S=STEP、I=INJECT、R=RIPPLE、M=MUTATE RULE、F=FREEZE、C=CAPTURE Aです。入力欄へフォーカス中はShortcutを奪いません。対応端末ではHapticsも選べます。
各パラメータ
| 項目 | 範囲・選択肢 | 役割 |
|---|---|---|
| Rule / Rule B / Bit Morph | 0〜255 / 0〜255 / 0〜100% | 111〜000の8近傍出力を指定します。Morphは各BitをSeed付き順序でAからBへ置き換えるため、途中も整数Ruleです。 |
| Width | 4〜64 Cell | 1 Generationの横幅です。変更時は現在WorldとInitial Seedを中央基準で拡縮します。 |
| Boundary | WRAP / FIXED ZERO | WRAPは左右端を輪のように接続し、FIXED ZEROは列の外側を常にOFFとして計算します。 |
| Initial Seed Density | 0〜100% | Random Seed生成時のON確率です。表示中の現在Densityとは別で、進化中の世界へ自動では作用しません。 |
| BPM / Division / Gate | 30〜300 / 1/4・1/8・1/16 / 10〜100% | AudioContextのMaster Clockに対する世代間隔と発音保持時間です。画面描画のタイミングはClockに使いません。 |
| Mapping | MELODY / RHYTHM / PULSE / TEXTURE / EVOLUTION | 現在Generationのどの情報を発音、音程、定位、Filter、Velocityへ渡すかを選びます。Rule計算そのものは変えません。 |
| Max Polyphony / Priority | 1〜32 / EVEN SPREAD・CENTER・LEFT FIRST・RANDOM SEEDED | 同時発音数と採用Cellを決めます。抑制CellはGrid上でも区別され、EVEN SPREADなら左端偏重を避けられます。 |
| Coupling | INDEPENDENT / MASK / XOR / SEED / CROSS MOD、0〜100% | World AからWorld Bへ渡す関係と強さです。AとBの保存されたRuleやSeedを破壊せず、Bの可聴Generationへ適用します。 |
| LIFE / CHANGE / WIDTH / SPACE | 0〜100% | PERFORMANCE用Macroです。LIFEはDensity Bias、CHANGEはCell介入と高域でRule Mutation、WIDTHはWorld幅、SPACEはReverb / Delay / Gateを演奏します。LIFE / CHANGE / WIDTHはSliderを離した時点で明示的に確定します。 |
プリセット
- Rule 30: 不規則に見える枝分かれをMELODYへ変換します。
- Rule 90 Symmetry: 中央1 Cellから対称な三角形を観察します。
- Rule 110 Complex: 規則領域と移動構造が共存する世界です。
- Dense Rhythm: 4つの連続ZoneをKick / Snare / HiHat / Percへ割り当てます。
- Minimal / Ambient Growth: 発音密度を抑え、長い変化と余韻を聴きます。
- Stable / Oscillator: 静止または短周期へ向かうRuleを比較します。
保存・共有・書き出し
- Project v2はWorld AのRule A/B、Morph、Lock、Favorite、Initial Seed、音設定、Coupling、Macro、Snapshot A–Dを保存します。旧version 1 Projectは読み込み時にv2へ移行します。
- なまずポシェットのProjectはWorld A/BとBの有効状態をまとめて保存し、WAV録音も別Itemとして保存できます。
- 共有URLは再現に必要なWorld A設定を圧縮して渡し、名前、Favorite、SnapshotはURLを過度に長くしないため除外します。
- EXPORT MIDI A/Bは実際に発音したNote LogをWorld別Trackへ書き出します。Voice Limitで抑制されたCellはMIDIにも含みません。
- WAVは共有Master Outputを録音するため、専用Drum Voice、World A/B、Effectを含む実際の演奏結果になります。
- USE CURRENT AS SEEDは現在Generationを新しいGeneration 0として固定し、それ以降の再現起点にします。
おすすめ設定
- 法則を理解: SYMMETRIC、Rule 90、Width 31、WORLD、STEP、WHY THIS CELL。
- 旋律を演奏: Rule 30、MELODY、Max Polyphony 4、EVEN SPREAD、Spatial Pan。
- 専用Drumを確認: Dense Rhythm、RHYTHM、World StateのKick / Snare / HiHat / Perc Activity。
- 未来を分岐: Ghost 16、INJECT、Future Diff、UNDO、ORIGINAL。
- 2世界を比較: A=Rule 90、B=Rule 110、INDEPENDENTからMASKやXORへCouplingを上げます。
トラブルシューティング
- 同じRuleなのに未来が違う場合はInitial Seed、Width、Boundary、Rule Morph、途中の介入を確認します。
- 音が密集する場合はMax Polyphonyを下げ、EVEN SPREADを選ぶかPULSE / TEXTUREへ切り替えます。抑制CellはGridの表示で確認できます。
- 音が出ない場合はPLAYをもう一度押してAudioContextを開始し、WorldのMUTE / SOLO、Master Volume、現在GenerationのON Cellを確認します。
- Worldが消滅した場合はRESCUE、INJECT LIFE、RESEED、またはAUTO RESCUEを使います。
- 横幅の大きいWorldはWorld Panel内だけ横Scrollします。ページ全体が横Scrollする場合は対応Browserの表示倍率を標準へ戻してください。
データ・プライバシー
Rule計算、Cell履歴、Preview、音声合成、MIDI/WAV生成はブラウザ内で処理します。Projectや録音はブラウザまたはなまずポシェットへ保存され、明示的な共有操作なしに外部へ自動送信しません。
FAQ
- Rule 30と同じSeedなら毎回同じ未来になりますか?
- はい。Width、Boundary、Rule Morphも同じで、途中にPaint、Inject、Ripple、Mutation、Rescueなどの介入がなければ同じGeneration列になります。介入後も、その時点のGenerationと以後の操作が同じなら同じ分岐を再現できます。
- Initial Seed Densityを変えると再生中の世界も薄くなりますか?
- いいえ。DensityはRandom Initial Seedを作るときだけ使います。再生中のWorldへ反映するにはGENERATE / RESEEDを実行するか、PERFORMANCEのLIFE Macroを使います。
- FREEZEとSTOPの違いは?
- FREEZEは同じGenerationをClockに合わせて鳴らし続け、STOPはSchedulerを停止します。どちらも現在Worldを消去しません。
- 2D Game of Lifeですか?
- いいえ。横一列のLEFT / CENTER / RIGHTという3近傍を使う1次元Elementary Cellular Automatonです。縦方向は時間(Generation)を表します。