FOLLOW
0 examples · untrained
Presets
Stopped
Advanced: Raw Parameters

Welcome to NISPS

Neural Interactive Shaping of Parameter Spaces

What is this?

NISPS lets you teach a neural network how to map a 2D joystick position to a rich set of visual or audio parameters. Move the joystick, shape the outputs you want, and the network learns your preferences in real time.

How it works

A small neural network takes your joystick X/Y position as input and produces dozens of output parameters. You teach it by either:

  • Examples — set the parameter sliders to what you want at a given joystick position, add the example, then hit Train. Do this a few times from different positions and the network interpolates between them.
  • Feedback (RL) — move the joystick around. If you like what you see/hear, press + (keep this). If you don't, press − (explore more). The network gradually learns what you prefer.

What to expect

  • Moving the joystick changes all outputs in real time through the network
  • Randomize shuffles the network weights — instant new mapping
  • Train fits the network to your saved examples
  • + / − feedback nudges the network: + reinforces the current mapping, − adds exploration noise
  • Switch between Visual (particle flow field) and Synth (C15 synthesizer) output modes
  • The heatmap bar at the top shows all output parameters at a glance

Controls

Touch / Mouse
Drag joystickMove through parameter space
+ / − buttonsPositive / negative feedback
Bottom barTrain, Randomize, Clear, Follow mode
Keyboard
1Negative feedback (−)
2Positive feedback (+)
Gamepad (Steam Deck, Xbox, etc.)
Left stickJoystick control
LB (left bumper)Negative feedback
RB (right bumper)Positive feedback
ATrain
XRandomize
BClear examples

Tips

  • Start with Randomize a few times to hear/see different mappings, then use feedback to refine
  • Use Follow mode to let the joystick wander automatically while you give feedback
  • In Synth mode, press the play button (top left, pulses orange when audio is off) to start audio, then explore
  • Tap a heatmap cell to see which parameter it controls

Synth Controls

  • Hover any bar in the synth visualizer to see parameter name, current value, range, and curve
  • Hover a group name (e.g. "Env A", "Osc B") at the top to open its control drawer:
    • Group curve — drag the top graph vertically to shape the response curve for the whole group (adjusts all param curves relatively)
    • Per-param curve — drag each small graph to shape that parameter individually (down = exponential, up = logarithmic)
    • Min/Max range — dual-thumb slider constrains the parameter's output range
    • Mute (M) — removes the parameter from NISPS control; its bar disappears and you get a manual value slider instead
  • MIDI input — connect a MIDI controller and it will be detected automatically; MIDI notes trigger the synth directly
  • Arpeggiator — expand the bottom bar to access the built-in arpeggiator with tempo, octave range, offset, and chord progression controls; press Pause to stop it