Points node

Points to Notes

Turns any point cloud into music: each point earns a pitch (position axis, radius, angle, spiral, motion, density, color hue on the circle of fifths…) and a velocity, lands on the chosen Scale or Chord tones inside a note range, reduces to Max Voices, and a quantization clock with 24 rhythm patterns, swing, arpeggio play modes, humanized timing and deterministic variance plays it. A Color Analysis Colors structure plays as a chord -- one voice per color. Cable Notes straight into the MIDI Sender's Notes port.

Inputs

PortTypeDefault
PointsThe cloud that plays. Any point source works, and a Color Analysis Colors structure plays as a chord with one voice per colour. Only the first 512 points are used.structure—
VelocitiesOptional motion vectors, one per point — cable Track Points here so movement drives loudness. If the count does not match the cloud, motion is measured frame to frame instead.structure—
EnableOff silences everything immediately and clears all sounding voices.booltrue
Trigger TimeShape of the Trigger output. 0 = a clean one-frame pulse on every new note. Above 0 = the pulse is held that many milliseconds after the last note fired, and every new note restarts the hold. Clamped to ≥ 0.float0
Magic ModeHands the musical parameters over to a generated spell; the governed controls fold away because they are overridden anyway. Your cables, geometry mappings, BPM and Seed stay yours.boolfalse
MagicThe coordinate in the soundscape — the same value with the same Seed always gives the same sound. Clamped to 0…1; cable a very slow LFO here and the character drifts.float0
Pitch SourceWhat decides a point's pitch: X, Y, Z, radius, angle, spiral, motion speed, index, density, stable random, or colour hue on the circle of fifths. Values outside the list fall back to Y.int1
Pitch SpaceRelative maps pitch to a point's position within the cloud, so a moving hand always spans the whole range. Absolute maps it to a fixed region — the cabled Image, or a range learned from everywhere the cloud has been.int0
ScaleThe set of notes points may land on, from pentatonics and modes through ragas, gamelan and Messiaen modes. Values outside the list fall back to Minor Pentatonic.int0
ChordWhen set, points land on this chord's tones instead of the scale. Values outside the list fall back to None, which keeps the scale melody.int0
RootThe key the scale or chord is built on, 0 being C and 11 being B. Values outside that wrap around, so 12 is C again.int0
Low NoteBottom of the playable range, as a MIDI note number where 48 is C3. Clamped to 0…127; if it ends up above High Note the two swap.int48
High NoteTop of the playable range, as a MIDI note number where 84 is C6. Clamped to 0…127; a narrow window makes the cloud repeat a few notes.int84
Max VoicesHow many notes may sound at once — the crowd reduces to this many. Clamped to 1…16.int6
ReduceWhich notes survive when there are more than Max Voices: merge by peak or sum, keep the loudest, spread evenly, keep the lowest or highest, bass plus top, or alternate ends. Values outside the list merge by peak.int0
Velocity SourceWhat sets a note's loudness: fixed, motion speed, X, Y or Z position, radius from the centre or its inverse, density, colour coverage, or stable random. Values outside the list fall back to Fixed.int0
Velocity MinLoudness of the quietest note. Clamped to 0…1; raise it so soft points still speak.float0.4
Velocity MaxLoudness of the loudest note. Clamped to 1 at the top and never falls below Velocity Min.float0.95
BPMTempo of the step clock that fires the notes. Clamped to 20…300.float112
GridThe note length of one step, from 1/1 down to 1/32 with dotted and triplet variants. Off removes the clock entirely and notes simply follow the points. Values outside the list fall back to 1/8.int6
RhythmWhich steps of the pattern actually fire — straight, offbeat, clave, bossa, dembow, Euclidean patterns, waltz, 7/8, or a fresh random pattern each bar. Values outside the list fall back to Straight.int0
SwingDelays every second step for a shuffled feel. Clamped to 0…1, where 1 pushes the offbeat a third of a step late.float0
GateHow much of a step each note holds before it releases. Clamped to 0.05…1; short values are staccato, 1 is legato.float0.6
Play ModeHow the voices are performed: arpeggios up, down, up-down, random, as ordered or by screen position, chord stab, strum, pulse, hold, sparkle, the button Grid Seq, or Scan where X becomes time. Values outside the list fall back to Arp Up.int0
HumanizeScatters each note's timing slightly so the groove breathes. Clamped to 0…1, reaching about 25 ms of push or drag at 1. The scatter is deterministic — the same Seed gives the same feel.float0.1
Velocity VarianceHow much note loudness wobbles from hit to hit. Clamped to 0…1, reaching about half the level at 1.float0.15
Gate VarianceHow much note length wobbles from hit to hit. Clamped to 0…1; notes never shrink below a fifth of the set gate.float0.1
Octave SpreadChance that a point jumps an octave up or down, opening the voicing out. Clamped to 0…1, which is about a 50 percent chance per point; jumps that would leave the note range are skipped.float0
Drop ChanceChance that a step stays silent, punching holes in the pattern. Clamped to 0…1; the holes are deterministic per bar, so the same Seed gives the same groove.float0
StabilityHow steady a note must be before it sounds and after it disappears — it stops a jittery cloud from machine-gunning. Clamped to 0…1, giving up to 80 ms of attack and 250 ms of release. Only used in Hold or with Grid off.float0.5
SeedFixes every random decision — humanize, drops, sparkle, stable random, the Magic spell. Any whole number works; the same number always plays the same way.int0
Grid ColsHow many button columns the Grid Seq lattice has. Clamped to 2…32.int8
Grid RowsHow many button rows the Grid Seq lattice has. Clamped to 2…32.int8
DirectionWhich way the Grid Seq playhead scans: left to right, right to left, ping-pong, bottom to top, top to bottom, or random. Column scans map rows to pitch, row scans map columns. Values outside the list scan left to right.int0
Min PointsHow many points must sit in a cell before that button counts as pressed. Clamped to 1…16; higher values ignore sparse noise and only fire on dense areas.int1
RegionWhere the Grid Seq lattice sits: Auto follows the area the cloud actually covers, Viewport uses the whole render view, Manual uses the Region rectangle. A cabled Image overrides all three. Values outside the list use Auto.int0
Region XHorizontal centre of the manual lattice rectangle, in Grafit units. Not clamped; the visible frame is roughly -2…2.float0
Region YVertical centre of the manual lattice rectangle, in Grafit units. Not clamped; the visible frame is roughly -2…2.float0
Region WWidth of the manual lattice rectangle, in Grafit units. Never below 0.1; 2 spans the short edge of the view.float2
Region HHeight of the manual lattice rectangle, in Grafit units. Never below 0.1; 2 spans the short edge of the view.float2
ImageCable the source picture the points came from and both the Grid Seq lattice and the Absolute pitch range take exactly its drawn extent, instead of guessing from where the points happen to be.image—

Outputs

PortType
Notesfloat
Active Notesstructure
Triggerbool
Countint
Stepint
Gate Openbool
PointsThe cloud that plays. Any point source works, and a Color Analysis Colors structure plays as a chord with one voice per colour. Only the first 512 points are used.structure
Linesstructure
ImageCable the source picture the points came from and both the Grid Seq lattice and the Absolute pitch range take exactly its drawn extent, instead of guessing from where the points happen to be.image
Widthfloat
Heightfloat

How It Works

Points to Notes turns any point cloud into a live polyphonic instrument. Every point earns a pitch from its geometry (a position axis, radius, angle, spiral, motion, density, or colour hue mapped onto the circle of fifths) and a velocity (fixed, by position, by motion when a Velocities cable is present, or by density). Pitches are snapped onto the chosen Scale or Chord tones inside a Low/High note range, reduced to Max Voices, and then played by a quantization clock with rhythm patterns, swing, gate and humanized timing.

The main output is a 128-bin POLY Notes array that cables straight into MIDI Sender or an Audio Modular System.

Play Modes

Thirteen ways to play the same cloud: five arpeggios, chord stab, strum, pulse, hold, sparkle, plus three that are instruments in their own right:

  • Grid Seq — the viewport becomes a step-sequencer lattice that the points press; rows and columns, direction modes, region modes, and image anchoring to the picture's true content.
  • Scan — X is time: a scrubber sweeps the cloud and the silhouette is the score.
  • Arp Spatial — the run follows the hand's live order, with a pick marker riding the current point.

Magic Mode collapses the whole configuration space into one float: an endless forest of coherent settings, with the knobs it governs folded away.

Use Cases

  • Play a shape — Geometry to Points or an L-System becomes a chord or an arpeggio.
  • Play the room — Track Points or Vision landmarks with the Velocities cable make motion the dynamics.
  • Sequencer on the wall — Grid Seq with a projected camera image: bodies press the steps.
  • Straight into sound — Notes into the Audio Modular System, or into MIDI Sender for hardware.

Tips

  • The debug Points, Lines and Image outputs draw the instrument each mode actually is — wire them to a Canvas while you dial the settings in.
  • Pitch Space Absolute maps the axis to the screen and learns its range, so a cloud that only occupies part of the frame still uses the whole scale.
  • Everything random is seeded: the same Seed gives the same performance.
  • Trigger Time shapes the Trigger output — 0 for a one-frame pulse, above 0 for a held gate restarted by every new note.

Open Points to Notes in the interactive catalog →

Points to Notes is one of 381 nodes in Grafit Pro.

Free download. Every feature for 7 days, no card. Then €99.99 once — or keep playing your projects as a Player.

More Points nodes