MOD·08 / Analysis

TELESCOPE

An audio analyser that also concludes: one engine, thirteen lenses and a rules engine that writes what it found — with the number and the rule next to each line. Bit-exact pass-through.

Free · AGPLv3 VST3 · AU · LV2 macOS · Windows · Linux beta

macOS 11+ signed & notarized · Windows 10+ VST3 · unsigned ZIP: SmartScreen may warn · Linux x86_64 VST3 + LV2 · beta, not yet tried in a real DAW

TELESCOPE plugin interface
// What it does

Twelve lenses show. One says.

TELESCOPE puts thirteen lenses over one analysis engine: loudness to the broadcast standard, dynamics, spectrum and sonograms, notes and key, stereo and pan, and your tonal balance against a reference. The thirteenth, VERDICT, turns what was measured into sentences — each one with the number that produced it and the id of the rule that fired. It is not a mix assistant: it measures, it doesn't judge. Measurement, not taste. And it never touches your audio: 0 samples of latency, bit-exact pass-through.

LOUDNESS

Integrated, short-term and momentary LUFS, LRA and true peak — also per channel. Against ITU-R BS.1770 gating, EBU Tech 3342 for LRA and the literal FIR table of BS.1770 Annex 2 for true peak.

DYNAMICS

How much headroom is left: PSR over the last 3 s, PLR since reset (AES TD1004), a 61-bin short-term histogram and clip events on a 10-minute timeline. Silence stays out of the histogram: only short-term values above −70 LUFS count.

SPECTRUM

FFT from 1 024 to 32 768 points with Hann, Blackman-Harris or Kaiser, and free, ⅓-octave (ISO 266) or Bark bands — every bin in dBFS referred to a full-scale sine, with an exact coherent-gain correction.

SPECTROGRAM

Level over time: 512 log rows from 20 Hz to 20 kHz, 10 / 30 / 60 s of history and level as colour — the instantaneous power, never an average.

WATERFALL

The same data in depth: level as height, time receding from now. A 2.5D oblique projection drawn in software — no GPU — with an occlusion proven identical to the painter's algorithm.

CQT

The spectrum by note: constant-Q at 24 bins per octave from A0, a chromagram and a key estimated against the Krumhansl & Kessler profiles — never shown without its confidence and its share of time.

SPIRAL

The same constant-Q coiled, one turn per octave: equal notes line up on one radius, so the octave structure of what is playing reads at a glance.

SCOPE

Correlation, width, balance and mono loss over 100 / 300 / 1000 ms, as Lissajous, POLAR SAMPLE or POLAR LEVEL: a half-circle with one ray per degree, where what is out of phase folds onto the base and prints its percentage.

BAND CORRELATION

SCOPE's figures per ⅓-octave band, so mono bass and open highs stop averaging into one number. Its band-wide figure, computed from the STFT bins, matches the time-domain meter to 0.00076 in correlation.

STEREO SPECTROGRAM

The sonogram with phase as colour — red out of phase, green wide, white mono — and level as brightness. A cell with no energy is black, not dim red.

FIELD

Energy by pan direction × frequency on a 64 × 96 grid, with decay and a trail, in a 2.5D view. The label under its axis cannot be switched off: energy by pan direction · not localisation.

TONAL BALANCE

Your mix against a reference track you load, each normalised by its own integrated LUFS: tilt at equal loudness, so the delta sums to zero — checked band by band to 0.006 dB. Drag on the reference’s waveform to compare against just one section of it; the section is saved with the session.

VERDICT

21 deterministic rules over a per-second history: within range, how it will feel, where it translates, and what to check and where — every line with its number and its rule. Until the window has had audio above −70 LUFS it says “waiting for audio”, and nothing else. It reflows at 125 % and 150 % in all six languages, with its accents and a MODE button that names the whole mode. Measurement, not taste.

// How it measures

Measured, with the test next to it.

Every measurement quoted here comes from a test in the plug-in's repository, run against a synthetic signal — and what is not measured is not listed.

An open window no longer stalls the DAW

The fix that matters most in 0.2. In 0.1.0 the editor re-baked its full-window background on every lens frame, 30 times a second — 12–80 ms each, more than a second of the main thread per second at size M on a Retina screen — and 11 of the 13 lenses kept redrawing the same silence with the transport stopped. Now the background is baked once and a lens repaints only when something visible changes. At 125 % and 150 % it also lands on whole pixels instead of being resampled every frame.

Bit-exact pass-through

It reads L and R, pushes them to a lock-free bus and writes nothing back: 0 samples of latency, 0 tail. Deterministic noise through all 13 lenses, with bypass on and off, in blocks of 1 / 7 / 64 / 4096 samples and from a mono source — 0 mismatches.

True peak, errors included

The literal 4 × 12 polyphase FIR of BS.1770 Annex 2, and a K-weighting recalculated per sample rate, checked against the published 48 kHz table to 8.9·10⁻¹⁶. The known 4× under-read is written down, not rounded away: EBU test 3341-17 reads −6.3160 dBTP against a real −6.0.

File = live, to the bit

Drop a track and it is measured offline with the same classes: integrated, LRA, true peak, the 30 measured ⅓-octave bands and the per-second history come out equal to the bit — and equal to the bit to 0.1.0, checked against 13 golden dumps of its engine. 60 s of audio in 0.63–1.82 s on an M4 under load (ten runs, measured on 0.2).

Not localisation

FIELD and POLAR LEVEL show energy by pan direction: no HRTF, no ITD, no azimuth. Recovering where a sound was from a finished stereo mix has no unique solution, and TELESCOPE does not pretend it has one.

Rules, not a model

VERDICT is a threshold table with the source of every number — no model, no telemetry, nothing sent anywhere: the same signal gives the same report, word for word. Its per-device checks are generic, with no speaker curve inside. No findings is not the same as finished.

Two themes, labels you can read

A light theme next to the dark one, chosen in the lens strip (THEME) and remembered per user. In the light theme SPECTROGRAM, WATERFALL, STEREO SPECTROGRAM and FIELD keep their dark screen and palette, so the data reads the same. Every axis label is at 4.5:1 contrast or better, with an 11 px floor: 0 of 1 272 below it, in both themes.

telescope-measure, from the source

A command-line tool on the same analysis engine, in the source code: JSON Lines in — a file, and optionally a section in seconds — and one JSON line out per request, the same bytes on macOS and on Windows. It is not in the installer: it is there for anyone who builds TELESCOPE from source.

A card for EYEPIECE, on the Mac

Since 0.2, the first time the window opens on a Mac, a card inside it introduces EYEPIECE, OVNI’s free Mac app that reads your project and turns it into a snapshot you can paste into any AI. It blocks nothing and shows once. Its button opens EYEPIECE if you have it, or ovniaudio.com/eyepiece in your browser — only if you click it. On Windows there is no card.

Formats: VST3 · AU (macOS 11+, universal) Latency: 0 samples · bit-exact pass-through Loudness: ITU-R BS.1770 · EBU Tech 3341 tests 1–5 & 15–19 · Tech 3342 tests 1–4 True peak: BS.1770 Annex 2 · 4× FIR below 96 kHz Channels: mono or stereo in → stereo out · stereo only Languages: EN · ES (reviewed) · PT · FR · DE · IT (pending native review) Theme: dark (default) · light Licence: AGPLv3 · open-source Windows: VST3 x64 · Windows 10+ · unsigned ZIP Linux: VST3 + LV2 · x86_64 · beta, not yet tried in a real DAW
// New in 0.3

0.3 fixes what was reported on 0.2.

On Windows the spectrograms scroll again, and removing or moving TELESCOPE no longer hangs or crashes the DAW. WATERFALL flows instead of jittering, and the SPECTRUM peak hold holds. And there is a first build for Linux, in beta.

On Windows, the spectrograms scroll again

In 0.1 and 0.2, SPECTROGRAM and STEREO SPECTROGRAM stood still on Windows — only the newest edge changed — and moved only when you clicked a button. The picture was shifted on the graphics card while the new columns went into a copy in memory that did not have the shift. Now both happen in the same place, in memory. On a Mac nothing changes: the pictures are equal to the bit.

Removing it no longer hangs the DAW

Stopping one of TELESCOPE’s background threads used to give it 2 seconds and then kill it, which on Windows can leave a lock taken inside the DAW’s process. Now no thread is ever killed: TELESCOPE asks it to stop and waits for it, and the threads it waits for no longer start at low priority.

Removing or moving it no longer crashes the DAW

It used to crash when a reference track (TONAL BALANCE) or a VERDICT file was still being analysed — for example right after opening a session, or when the DAW recreates the plug-in to move it. In a test host loading the VST3, 200 of 200 remove-and-move cycles now pass.

Stopping a file analysis is immediate

Loading another reference, or removing TELESCOPE, while a file is being analysed stops it within a few milliseconds, at any point. The numbers it measures did not change.

WATERFALL flows

Each line is now a fixed slice of time that moves back smoothly, showing the average power of its slice — not a single instant whose pick shifted every frame. Changing the DAW’s buffer size no longer wipes the waterfall, or the loudness history.

The SPECTRUM peak hold holds

A peak now stays still for 2 seconds, then falls at the rate you chose (12 or 30 dB/s; ∞ never falls). The same applies to CQT and SPIRAL.

Less work per frame

On a Retina Mac at size L the slowest lens went from 4.8–6.6 ms to 4.0–4.7 ms per frame, and the thirteen lenses take 22–33 % less (WATERFALL about half). And no memory is allocated on the audio thread any more.

Ready for the next version of EYEPIECE

With TELESCOPE on a track and the next version of EYEPIECE open in the same DAW, TELESCOPE will share what it measured — numbers only, per bar, in a local file, never audio and never over the network, and only while EYEPIECE is open. Without EYEPIECE, TELESCOPE writes nothing at all.

What a file measures did not change

The thirteen golden dumps of the engine are equal to the bit, and telescope-measure gives the same lines as in 0.2.

The full list, with the source and the test behind every line: the 0.3.0 CHANGELOG ↗

// Linux · beta

Linux, in beta.

VST3 and LV2 for x86_64, built on Ubuntu 22.04. It passes TELESCOPE’s automated tests and pluginval at strictness 10 on a build server, but it has not been tried in a real DAW yet — if you try it, tell us how it went: hello@ovniaudio.com.

Formats: VST3 · LV2 Architecture: x86_64 · not built for ARM Needs: glibc 2.35 · libstdc++ GLIBCXX_3.4.30 or newer Distributions: Ubuntu 22.04, Debian 12 or any at least that recent Also: FreeType · Fontconfig Installer: none — you copy two folders, no root
  1. Download the .tar.gz — the Linux button below — and extract it.
  2. From the extracted folder, copy the plug-ins into your user’s folders, with no root: the three commands below.
  3. Rescan plug-ins in your host. You only need the format your host uses.
mkdir -p ~/.vst3 ~/.lv2
cp -r TELESCOPE.vst3 ~/.vst3/
cp -r TELESCOPE.lv2  ~/.lv2/

At size S some small labels are drawn thinner than on macOS and Windows, and on the build server size S at 100 % scale costs about 3.5 ms more per frame to draw; sizes M and L read better. Neither changes what TELESCOPE measures. To uninstall: rm -rf ~/.vst3/TELESCOPE.vst3 ~/.lv2/TELESCOPE.lv2.

TELESCOPE is free. And open.

TELESCOPE on its own, ready to go — the Mac installer (VST3 + AU, universal, macOS 11+) drops it straight into your plug-in folders: double-click, done. On Windows: VST3 (64-bit, 10+) as a ZIP. On Linux, in beta: VST3 + LV2 (x86_64) in a .tar.gz.

macOS 11+ signed & notarized · Windows 10+ VST3 · unsigned ZIP: SmartScreen may warn · Linux x86_64 VST3 + LV2 · beta, not yet tried in a real DAW

More modules coming soon — see what's next →

4738 downloads and counting

The code is free forever (AGPLv3), and so are the installers for ORBIT, SUPERNOVA and TELESCOPE — no deadline. New products released later may be paid.

Free and open-source (AGPLv3) · VST3 · AU · macOS universal · Windows (VST3) · Linux beta (VST3 · LV2)

First time? How to install on Mac and Windows, and in your DAW → Linux beta: how to install it ↑

// Signal

Updates for TELESCOPE — and whatever lands next.

New versions, new modules, and the odd studio trick. Straight to your inbox — nothing else.

Double opt-in — confirm in your inbox; if it is not there, look in Spam / Junk. No spam, unsubscribe anytime.

Subscribe and you get the Launch Preset Pack free when it drops.