Data Lab node
Data Art
Shapes a Signal for looks, not for measurement: every update the last Window milliseconds become one row — the Correlation of this window with the previous one (a bell that breathes and leans with the music), a Mirrored log-frequency Spectrum (bass in the middle, Organic lets the two sides drift apart) or a Triggered Waveform window — cropped, spiked by Noise (it multiplies: a few tall separate peaks where the row has energy), smoothed, masked with a raised cosine, normalised and resampled to Columns; History rows pile up into a matrix for Plot’s Ridgeline kind. The unit is stripped and the labels are empty on purpose. For analysis use Correlation, Spectrum and Signal Spectrogram.
Inputs
| Port | Type | Default |
|---|---|---|
| SignalAny Signal: a microphone through a Signal Window, a player, an LFO, an EEG channel. | structure | — |
| ChannelWhich channel of the Signal is shaped. | int | 0 |
| SourceCorrelation: this window against the previous one — a bell whose height breathes with the music and leans with it. Spectrum Mirrored: a log-frequency spectrum folded so the bass meets in the middle. Waveform: the last Size samples, phase-locked by Trigger. | int | 0 |
| WindowThe slice of time each row is made from, ms (default 40). In time, not samples, so a 16 kHz webcam and a 48 kHz microphone draw alike. Spectrum rounds it down to a power of two. | float | 40 |
| ColumnsPoints per row after resampling — the ridgeline’s horizontal resolution (128 is the classic look). | int | 128 |
| MirrorSpectrum: fold into a bell (bass in the middle). Waveform: mirror the half window. The autocorrelation is always symmetric. | bool | true |
| OrganicHow far every row may wander from a mirror: a smooth sideways warp of the row (mountains shift, widen, narrow — differently per row), a bell that leans off centre, and for a mirrored spectrum a right half taken from up to ~0.8 s earlier with its own gain and stretch. 0 = exact symmetry, 1 = fully organic. | float | 0.7 |
| TriggerWaveform only: the level whose last rising crossing centres the window (0 = free running). | float | 0 |
| CropFraction cut from each end of the row before shaping (0…0.45). | float | 0 |
| NoiseMultiplies the row by a sparse per-row field: a few tall, separate peaks where the row already has energy (up to ×4 at 1), slight dips elsewhere; silence stays silence. Different on every row. | float | 0.35 |
| SmoothMoving average over the row: 0 raw, 1 a tenth of the row wide. | float | 0.15 |
| MaskA raised-cosine bell blended over the row: 0 none, 1 the ends go to zero — grows the mountains in the middle. | float | 0.6 |
| NormalizeEvery row to its own peak: a quiet moment still draws a full ridge. Off keeps the loudness. | bool | false |
| GainMultiplies the row after normalising. | float | 1 |
| HistoryHow many rows the matrix keeps (the ridgeline’s depth). | int | 80 |
| Update RateRows per second — how fast the wave drifts back. | float | 20 |
Outputs
| Port | Type |
|---|---|
| Matrix | structure |
| Latest | float |
| Rows | int |
How It Works
Data Art shapes a Signal for looks, not for measurement — and it says so: the unit is stripped and the labels are left empty on purpose, because the output is an image-maker, not a reading.
Every update the last Window milliseconds become one row. Source picks what that row is:
- Correlation — this window correlated with the previous one: a bell that breathes and leans with the music.
- Spectrum — a mirrored log-frequency spectrum with the bass in the middle; Organic warps every row sideways, leans the bell and folds an older, skewed take onto the right, so nothing reads as a plain mirror.
- Waveform — a triggered waveform window.
The row is then cropped, spiked by Noise (which multiplies: a few tall separate peaks where the row has energy, while silence stays silence), smoothed, masked with a raised cosine, optionally normalised, and resampled to Columns. History rows pile up into a matrix.
Feed that matrix to Plot's Ridgeline kind and you have the pulsar plot — the Unknown Pleasures cover, live from a microphone — or to Plot 3D's Surface in Ridgeline style and you can orbit it in real 3D.
Because the window is set in milliseconds, the picture is the same at 16 kHz and at 48 kHz.
Use Cases
- The pulsar plot — A microphone into Data Art into Plot's Ridgeline: white lines on a grainy black field.
- A 3D ridgeline — The same matrix into Plot 3D's Surface with Ridgeline style, orbited with an Interactive Camera.
- Album-cover visuals — Live audio as a generative poster.
- A breathing backdrop — Correlation source with a slow Update Rate gives a calm, organic motion behind other content.
- Material for other consumers — The matrix is a Signal; anything that eats matrices can have it.
Tips
- This node is explicitly not for analysis. For that, use Correlation, Spectrum and Signal Spectrogram, which keep their units.
- Organic is what stops the mirrored spectrum from reading as a mirror. A little goes a long way.
- Noise multiplies rather than adds, so silence stays silent; raise it for drama, not for level.
- History is the number of mountain lines; Columns is their resolution. Both cost.
- Window in milliseconds means a whistle looks the same whatever the device's sample rate — that is deliberate.
Open Data Art in the interactive catalog →
Data Art 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.