Ein browserbasiertes, professionelles Audiomessgerät für Broadcast- und NGA-Produktionen (EBU R128 / ITU-R BS.1770-4). Reines Vanilla JavaScript, HTML und CSS — keine externen JS-Bibliotheken, kein Build-Schritt.
➜ Direkt im Browser öffnen — keine Installation, kein Klonen. Audio startet nach dem ersten Klick ins Fenster; die AES67-Bridge läuft weiterhin nur lokal (siehe unten).
Entwickelt von Jens Rühl.
- Pegelmesser — Multichannel-PPM mit Peak-Hold, RMS, True-Peak-Overload-Warnung und umschaltbarer Kanalreihenfolge (ITU/EBU oder Film/SMPTE)
- Lautheitsmessung — Momentary / Short-Term / Integrated (LUFS), LRA, Max True Peak; Plattform-Presets (Spotify, YouTube, Netflix, TikTok u. v. m.)
- Sichtgerät — Lissajous-Vektorskop (Stereo) bzw. Surround-Analyzer (5.1 / 7.1 / 7.1.4) mit drei Darstellungen: radiale Balken, Energiewolke, Leuchtpunkte
- Lautheitsverlauf — Langzeitgraph mit konfigurierbaren Kurven
- Spektrumanalyzer — 31 ISO-Terzbänder (IEC 61260)
- Mehrkanal-Testsignale — Sinus, Sweep, Pink Noise, Multiton, Kanal-Rundlauf
- AES67 / Ravenna over IP — siehe unten
- Vollbild-/Kiosk-Modus, 20 Presets, frei platzierbare Panels
Die App ist statisch — einfach index.html über einen beliebigen Webserver ausliefern:
python -m http.server 8099
# dann http://localhost:8099 öffnenAudio startet nach dem ersten Klick ins Fenster (Web-Audio-Richtlinie der Browser).
aes67-bridge.js macht das Messgerät zu einem AES67-Empfänger — ohne npm-Pakete,
nur mit Node.js-Bordmitteln:
node aes67-bridge.js- SAP-Listener entdeckt eingehende AES67-Flows automatisch (auch Dante im AES67-Modus)
- tritt deren Multicast bei, empfängt L16/L24-RTP und leitet es per WebSocket an den Browser
- veröffentlicht die Kanalbeschriftungen im SDP-Announcement (sichtbar in Ravenna-/AES67-Software)
- Netzwerk-Interface zur Laufzeit umschaltbar
Im Messgerät unter Einstellungen → Audio over IP (AoIP) aktivieren.
Hinweis: Der Dante Controller findet die Bridge nicht in seiner Routing-Matrix (dafür wäre Audinates proprietäres SDK nötig) — die AES67-Flow-Interoperabilität über SAP/RTP funktioniert jedoch vollständig.
test-aes67-sender.js simuliert eine AES67-Quelle zum Testen ohne Hardware:
node test-aes67-sender.js- K-Gewichtungsfilter (ITU-R BS.1770-4), zweistufiger Biquad
- True-Peak-Detektor mit 4× Oversampling (Polyphase-FIR)
- Loudness-Integrator mit Dual-Gating (EBU R128), LRA nach EBU Tech 3342
- Web Audio API, 48 kHz (AES67-Standard)
Details im Hilfe-Bereich der App (Tab Technik).
| Datei | Inhalt |
|---|---|
index.html |
Oberfläche |
app.js |
Controller, Web Audio, Rendering |
dsp.js |
DSP-Engine (K-Weighting, True Peak, Loudness, FFT) |
style.css |
Design |
aes67-bridge.js |
AES67/Ravenna-Bridge (Node.js) |
test-aes67-sender.js |
AES67-Test-Sender (Node.js) |