No description
Find a file
monkey-w1n5t0n 01c1346dfd fix(modular): restore matrix in paramMeta; amp floor via positive-only mod_amp
b290144 made matrix cells opt-in to prevent joystick-silences-voice,
but that broke modular-ui.updateLive(): the matrix DOM stopped
reflecting live MLP outputs because matrixIndexCache was empty when
buildMatrixIndex() walked paramMeta. This was the same regression
6072fe8 had previously fixed.

Fix it structurally at the DSP layer instead: amp_val now computes
as `clamp(base_amp + max(0, mod_amp)) * level * vel_gain`, so matrix
d08_amp cells can only boost the amp floor — never cut it. base_amp
defaults to 1.0 (always audible), and presets that want classic
envelope-gated voices (slow pad, plucky bass, crystal, morphing
drone) drop base_amp to 0 and layer a positive ADSR→amp route on top.

With the DSP guard in place, all 480 matrix cells can safely live
in paramMeta again, and updateLive() gets its live visual feedback
back. Revert the opt-in gate in _rebuildParamMeta and the 32-param
test counts, and add a regression test asserting that every matrix
destination has 48 cells in paramMeta — that's what updateLive needs.
2026-04-11 09:39:58 +02:00
.beads fix(playground): resize canvas when switching output modes in Design B (meml-2c3) 2026-03-22 01:07:52 +02:00
.claude/worktrees/agent-ae87fe47/playground/js/shapeseq hello come back to me 2026-03-30 17:05:45 +03:00
.github/workflows feat(playground): add OSC output bridge for external synth control 2026-03-25 11:55:58 +02:00
.vscode memlnautmodes, channelstrip 2025-11-19 15:17:37 +00:00
data view order 2025-11-04 17:35:24 +00:00
modes verbfx freeverb 2026-03-18 16:29:54 +00:00
nisps-core feat(nisps-core,wasm): add per-sample weights to MLP training 2026-04-02 20:35:24 +01:00
playground fix(modular): restore matrix in paramMeta; amp floor via positive-only mod_amp 2026-04-11 09:39:58 +02:00
src memlib 2026-03-18 16:30:19 +00:00
tests/e2e fix(modular): restore matrix in paramMeta; amp floor via positive-only mod_amp 2026-04-11 09:39:58 +02:00
vcv fix(vcv): resolve 6 critical thread safety issues from code review 2026-03-28 02:02:11 +02:00
voicespaces bypass toggle colours 2025-12-10 17:35:48 +00:00
.gitignore feat(playground): add Modular audio mode with shared mod pool 2026-04-11 07:34:41 +02:00
.gitmodules Changed gitmodules to https 2025-04-29 10:21:43 +01:00
AGENTS.md fix(beads): use independent MEMLNaut-NISPS database, separate from shared beads_src 2026-03-04 23:45:35 +00:00
ChannelStripAudioApp.hpp stereo channel strip 2026-01-13 08:23:01 +00:00
CLAUDE.md docs: update CLAUDE.md with WASM engine architecture, testing, and debug probe 2026-04-03 17:40:12 +01:00
IMLInterface.hpp speed optim, no clicking 2025-05-07 23:58:06 +01:00
LICENSE Initial commit 2025-04-10 14:17:18 +01:00
MEMLNaut-NISPS.ino verbfx freeverb 2026-03-18 16:29:54 +00:00
NISPS_CORE_EXTRACTION_PLAN.md fix: audit and fix nisps-core extraction issues 2026-02-08 18:01:48 +01:00
NISPS_CORE_TASKS.md add nisps-core extraction task graph 2026-02-08 17:03:40 +01:00
package-lock.json feat(playground): add Modular audio mode with shared mod pool 2026-04-11 07:34:41 +02:00
package.json feat(tests): add Playwright e2e suite + debug probe for a-immersive 2026-04-03 16:38:04 +01:00
PAFSynthAudioApp.hpp memlnautmodes, channelstrip 2025-11-19 15:17:37 +00:00
playwright.config.js feat(tests): add Playwright e2e suite + debug probe for a-immersive 2026-04-03 16:38:04 +01:00
README.md playground: add expandable visual mode and docs 2026-02-14 08:47:47 +00:00
ThruAudioApp.hpp refactoring interface into modes 2025-11-24 11:29:33 +00:00
XiasriAnalysis.cpp xiasri latest, and channel strip changes for 4D input 2025-12-10 16:40:00 +00:00
XiasriAnalysis.hpp refactoring interface into modes 2025-11-24 11:29:33 +00:00
XIASRIAudioApp.hpp xiasri latest, and channel strip changes for 4D input 2025-12-10 16:40:00 +00:00

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.