No description
- Wire EOCChain into audio graph after c15.start() (both start-btn and quick-play paths); guarded by _eocInited flag so init happens once per AudioContext lifetime - getOutputNode() on C15Adapter now returns limiter (last node before destination) so EOC inserts correctly between limiter and destination - Expose limiterNode getter on C15Bridge - Add getCurrentParamValue(i) to EOCModule base class, backed by _paramValues array that setParam() writes to - Add _buildParamSliders() to EOCChainUI: collapsible ▶ params toggle per module row, one range slider per paramMeta entry, calls module.setParam() on input; labelled "manual" when nispsMode=bypass - eoc:change listener in a-app.js logs paramCount (hook point for future modes) - saveState()/loadState() persist eocModules (id, enabled, params) and eocNispsMode; restore re-adds modules via moduleFactory and re-applies values - CSS: eoc-params-section, eoc-params-toggle, eoc-param-row/label/slider; eoc-module-row gains flex-wrap to accommodate params section below controls |
||
|---|---|---|
| .beads | ||
| .claude/worktrees/agent-ae87fe47/playground/js/shapeseq | ||
| .github/workflows | ||
| .vscode | ||
| data | ||
| modes | ||
| nisps-core | ||
| playground | ||
| src | ||
| tests/e2e | ||
| vcv | ||
| voicespaces | ||
| .gitignore | ||
| .gitmodules | ||
| AGENTS.md | ||
| ChannelStripAudioApp.hpp | ||
| CLAUDE.md | ||
| IMLInterface.hpp | ||
| LICENSE | ||
| MEMLNaut-NISPS.ino | ||
| NISPS_CORE_EXTRACTION_PLAN.md | ||
| NISPS_CORE_TASKS.md | ||
| package.json | ||
| PAFSynthAudioApp.hpp | ||
| playwright.config.js | ||
| README.md | ||
| ThruAudioApp.hpp | ||
| XiasriAnalysis.cpp | ||
| XiasriAnalysis.hpp | ||
| XIASRIAudioApp.hpp | ||
Neural Interactive Shaping of Parameter Spaces
https://musicallyembodiedml.github.io/memlnaut/approaches/nisps
Web Playground
Try NISPS in your browser — no hardware required:
cd playground
python3 -m http.server
# Open http://localhost:8000
Train a neural network to map joystick positions to generative visuals through interactive machine learning. Two learning modes: direct example mapping and reinforcement learning with thumbs up/down feedback.
The playground UI includes an Expand toggle on the visual surface so you can make the canvas nearly full-screen while compressing parameter/control panels into a minimal strip beneath it.