Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Audio Meter — Broadcast & NGA System

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.

Funktionen

  • 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

Schnellstart

Die App ist statisch — einfach index.html über einen beliebigen Webserver ausliefern:

python -m http.server 8099
# dann http://localhost:8099 öffnen

Audio startet nach dem ersten Klick ins Fenster (Web-Audio-Richtlinie der Browser).

AES67 / Ravenna Bridge

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

Technische Grundlagen

  • 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).

Dateien

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)

About

Browserbasiertes Broadcast-Audiomessgerät: EBU R128 / ITU-R BS.1770-4 Lautheit, Multichannel-PPM, True Peak, Vektorskop/Surround-Analyzer, Terzband-Spektrum und AES67/Ravenna-Empfang. Vanilla JavaScript, kein Build-Schritt, keine Abhängigkeiten.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages