No description
Find a file
w1n5t0n c8015da35a feat(shapeseq): implement Layer 1 modules
Four modules that build on the Layer 0 foundation:

- primitive.js: base class with category system (generator/processor/
  timing/converter), param schema validation, boundary enforcement
  (clamp/wrap/scaled), symbolic process() interface, state management
  for freeze, and applyBoundary() utility for delta control
- clock.js: AudioContext lookahead scheduling (25ms interval, 100ms
  window) replacing setTimeout arpeggiator. Reads pattern descriptions
  for per-step swing (timeOffset) and ratchet (subdivisions). Emits
  seq.noteOn/noteOff/step/loopStart via event bus.
- projection.js: composable transform chain with 5 transforms
  (VelocityCurve, GateThreshold, RangeMap, OctaveFolder, StutterMap)
  and 3 presets (expressive, percussive, fullRange). Pitch quantization
  deliberately excluded (handled by Interval Lock primitive).
- step-viz.js: Canvas2D circular step visualizer with even angular
  spacing for any step count. Pitch→radius, velocity→node size,
  accent→color. 60fps-friendly with pre-allocated coordinate buffers.
  Tap interaction for step toggling.
2026-03-24 02:02:01 +02:00
.beads fix(playground): resize canvas when switching output modes in Design B (meml-2c3) 2026-03-22 01:07:52 +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 fix: audit and fix nisps-core extraction issues 2026-02-08 18:01:48 +01:00
playground feat(shapeseq): implement Layer 1 modules 2026-03-24 02:02:01 +02:00
src memlib 2026-03-18 16:30:19 +00:00
voicespaces bypass toggle colours 2025-12-10 17:35:48 +00:00
.gitignore bd init: initialize beads issue tracking 2026-03-13 18:57:30 +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 feat(playground): add tiered synth parameter preset system 2026-03-23 00:50:56 +02: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
PAFSynthAudioApp.hpp memlnautmodes, channelstrip 2025-11-19 15:17:37 +00: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.