Audio node
Scope Voice
Oscilloscope music: an ordered Points path becomes stereo audio — left is x, right is y — scanned once per revolution at Frequency (or a MIDI Note), so the drawing is the timbre and the scan rate is the pitch. A Geometry instead of Points is drawn as a wireframe: its feature edges (boundaries and creases sharper than Crease Angle) projected by the Camera cable, or flat without one — a rotating 3D Text becomes wireframe sound. Play it through Audio Output and into a Signal Window → Plot XY (Phosphor, Dwell) and the sound draws itself. Retrace walks every contour there and back so jumps between contours cancel on the scope; Constant Speed spaces the samples by arc length so thin parts stay visible. A non-finite point in the path lifts the pen (Image Trace, Text Outline). Path is the drawing after Rotation / Scale / Position, in Grafit units — ±1 fills the scope. Cable a MIDI Receiver’s or Points to Notes’ Notes stream into Notes and the voice goes polyphonic: every held key scans the same drawing at its own pitch and velocity, up to Max Voices, and the chord’s sum is what the scope shows — the way the polyphonic pieces are made. Release is the tail after a key lifts. Latency is how far behind the graph the speakers read (ms): lower for a tighter feel under a MIDI keyboard, higher if a heavy graph makes it click.
Inputs
| Port | Type | Default |
|---|---|---|
| EnableOff = silence (the Path still comes out). | bool | true |
| PointsAn ordered path: a Superformula, a Path node, a 3D Text Outline, an Image Trace… A non-finite point lifts the pen between contours. ±1 in Grafit units fills the scope. | structure | — |
| GeometryA mesh instead of Points: its feature edges become the drawing — a rotating 3D Text (through Geometry Transform) as wireframe sound. Points is ignored while a Geometry is cabled. | structure | — |
| CameraProjects the Geometry’s edges through a Camera node (perspective or orthographic); without one z is dropped. | structure | — |
| Crease AngleGeometry only: an edge counts when its two faces meet at more than this angle (or it has one face). 30° keeps letters’ outlines and corners, drops curves’ facets. | float | 30 |
| FrequencyRevolutions per second = the pitch, Hz. The picture does not change with it, only its brightness; ~60…800 Hz is the musical range, below ~30 Hz the tone drops out of hearing. | float | 110 |
| NoteMIDI note 1…127 instead of Frequency (69 = A 440); 0 = use Frequency. | float | 0 |
| NotesA 128-bin note stream (MIDI Receiver, Points to Notes): every held key scans the same drawing at its own pitch and velocity — a chord on the scope. Replaces Note / Frequency while cabled. | float | — |
| Max VoicesHow many keys sound at once; the loudest, then the newest, win and the rest release. | int | 6 |
| ReleaseThe tail after a key lifts, ms — a lifted voice fades instead of cutting, so nothing clicks. | float | 80 |
| AmplitudeSignal size 0…1: the picture’s size on the scope and the loudness — they are the same thing here. | float | 0.8 |
| RotationTurns the drawing, degrees clockwise. | float | 0 |
| ScaleScales the drawing before Amplitude. | float | 1 |
| Position XMoves the drawing on the scope (a DC offset in the audio). | float | 0 |
| Position YMoves the drawing on the scope (a DC offset in the audio). | float | 0 |
| RetraceWalk every contour there and back so each jump between contours is crossed twice and cancels on the scope. Off: straight jumps, brighter and rawer. | bool | true |
| OrderAs given, or nearest-neighbour: each next contour starts where the pen is, reversed if that is shorter — shorter jumps, quieter clicks. | int | 0 |
| Constant SpeedSamples spaced by arc length so the beam moves evenly and thin parts stay visible. Off keeps the path’s own point spacing — dense parts glow brighter. | bool | true |
| GlideSmoothing of pitch and level changes, ms. | float | 10 |
| LatencyHow far behind the graph the speakers read, ms (default 20). Lower = a tighter feel under a MIDI keyboard; if a heavy graph stalls longer than this the sound clicks once — raise it then. Add the Audio Output Buffer on top. | float | 20 |
Outputs
| Port | Type |
|---|---|
| Audio | structure |
| Path | structure |
| Revolutions | float |
| Samples per Revolution | int |
| Voices | int |
How It Works
Scope Voice is oscilloscope music in the graph: an ordered Points path becomes stereo audio, where left is x and right is y. The path is scanned once per revolution at Frequency (or a MIDI Note), so the drawing is the timbre and the scan rate is the pitch. Send the result to Audio Output, and through a Signal Window into Plot XY the sound draws itself back on a phosphor scope.
A Geometry cable instead of Points is drawn as a wireframe in sound: its feature edges — boundaries and creases sharper than Crease Angle — projected through the Camera cable, or flattened without one. A rotating 3D Text is the classic demo.
Three details make it sound right. Retrace walks every contour there and back, so the jumps between contours cancel on the scope instead of drawing bright streaks. Constant Speed spaces the samples by arc length, so thin parts of the drawing stay visible. And a non-finite point lifts the pen — which is how Image Trace and 3D Text's Outline mark the gaps between contours.
Cable a 128-bin Notes stream from a MIDI Receiver or Points to Notes and the voice goes polyphonic: every held key scans the same drawing at its own pitch and velocity, up to Max Voices, and the chord's sum is what the scope shows — the way polyphonic oscilloscope pieces are actually made. A lifted key fades over Release rather than cutting. Latency (ms) sets how far behind the graph the speakers read: lower for a tight feel under a keyboard, higher if a heavy graph starts to click.
Use Cases
- Hear a shape — A Superformula or Curve into Scope Voice; morph the shape and the timbre morphs with it.
- Wireframe sound — A rotating 3D Text through a Camera: the word is audible and legible at the same time.
- Draw with a pen — Hold a drawing up to the camera, trace it with Image Trace, and hear the line.
- Play it as an instrument — A MIDI keyboard into Notes makes the drawing a polyphonic synth.
- Visual feedback loop — Audio into a Signal Window into Plot XY with Phosphor, Persistence and Dwell: the authentic vector-scope picture.
Tips
Pathoutputs the drawing after Rotation, Scale and Position, in Grafit units — ±1 fills the scope. Cable that, not the original points, into the Signal Window.- Constant Speed is what stops thin details from disappearing; turn it off only when you want speed-dependent brightness.
- Keep the path's point count modest: on a scope the samples are the resolution, and too many make the pitch unstable.
- With Audio Output's Buffer at 256, a Latency of 20 ms gives roughly 35 ms of key-to-sound — tight enough to play.
- Glide smooths pitch changes between notes; set it to 0 for stepped, sequencer-like playing.
Open Scope Voice in the interactive catalog →
Scope Voice 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.