Remote EQ
hotovoVST3 plugin s dvacetipásmovým grafickým ekvalizérem, který servíruje vlastní webové rozhraní. Otevřete prohlížeč na tabletu kdekoliv na místní WiFi a držíte v ruce mixák.
Problém
Mixák stojí na špatném místě
Živý zvuk má starý problém: mixák je vzadu v sále, jenže sál zní všude jinak. Doladíte to, co slyšíte z jednoho rohu, a doufáte, že se zbytek místnosti nebude vzpírat.
Remote EQ přesune ovládání tam, kde zrovna stojíte. Samotný ekvalizér zůstává uvnitř pluginu na master busu, kam patří — cestuje jenom rozhraní.
Co to umí
Funkce
-
20 nezávislých pásem
Peak/bell filtry, na krajích low a high shelf, k tomu notch. Frekvence 20 Hz až 20 kHz, gain ±15 dB, Q od 0,1 do 10 a každé pásmo se dá vypnout zvlášť.
-
Stavěné na živák, ne do studia
DSP čte parametry výhradně z lock-free atomik a síťová vrstva běží na vlastních vláknech. V audio threadu se nikdy nic neblokuje. Gain, frekvence i Q se vyhlazují a bypass přechází crossfadem, takže při ladění uprostřed setu nic nelupne.
-
Webové rozhraní je uvnitř pluginu
HTTP a WebSocket server je zabudovaný přímo v pluginu a statické soubory taky. Na tablet se nic neinstaluje a nemusí běžet žádná druhá aplikace — stačí prohlížeč namířený na plugin.
-
Všichni klienti drží krok
Změňte pásmo z tabletu, z notebooku, z okna pluginu nebo z hostitele a všichni ostatní to okamžitě vidí. Jeden společný stav, který se při každé změně rozešle.
-
Presety
Pojmenované konfigurace všech dvaceti pásem, ukládané na disk. Celý stav navíc cestuje uvnitř pluginu jako běžné VST parametry, takže přežije znovunačtení projektu i restart.
Rozhraní
Tři pohledy, a je to záměr
Živé vystoupení a zvukovka potřebují od stejného pluginu něco jiného, takže rozhraní má tři režimy místo jednoho kompromisu.
| Ladění | Výchozí pohled. Dvacet svislých faderů na gain a za nimi naznačená křivka EQ. Rychlé, hrubé, těžko pokazitelné. |
|---|---|
| Rychlé řešení | Jedno velké tlačítko zap/vyp na pásmo a k němu malý fader. Pro chvíli, kdy něco pískne a musí to okamžitě zmizet. |
| Detail | Tažitelná křivka nad živým spektrem. Bod nahoru a dolů mění gain, do stran frekvenci, kolečko nebo dva prsty Q, dvojklik pásmo vypne. |
Přepínač do Detailu je záměrně jinde než přepínač pohledů — jiná barva, jiný roh — aby se za živého setu nedal omylem zmáčknout.
Pod kapotou
Čím to drží pohromadě
Celý návrh stojí na jednom pravidle: síť nesmí mít nikdy možnost přerušit zvuk.
┌──────────── Plugin (hostitel VirtualDJ) ────────┐
zvuk ──────►│ EQProcessor ── 20× EQBand (biquad + vyhlazení) │ ─► zvuk ven
│ ▲ čte atomiky každých 32 vzorků │
│ │ ▼ vzorky za EQ │
│ AudioProcessorValueTreeState SpectrumAnalyzer │
│ ▲ (FFT, lock-free)│
│ │ │
│ WebSocketServer (HTTP + WS, vlastní vlákna) │
└───────────────┬─────────────────────────────────┘
│ ws:// JSON + http:// statické UI
┌─────────────┼──────────────┐
Tablet Notebook Vestavěný WebView
-
Audio vlákno jenom čte
Vytáhne si atomické hodnoty parametrů a zapíše vzorky do lock-free ring bufferu pro analyzér. Nikdy nečeká na síť, na GUI ani na zámek.
-
Síťová vlákna jenom mluví
Přijímací, klientská a broadcastová vlákna obsluhují změny parametrů a rozesílají stav zpátky. Spektrum teče zhruba patnácti snímky za sekundu, a jen ke klientům, kteří mají otevřený Detail.
-
Ztráta tabletu nic nestojí
Spojení je pouhé dálkové ovládání. Odpojte ho, odejděte z dosahu, nechte baterku umřít — cesta zvuku je nedotčená a plugin dělá dál přesně to, co dělal.
Dostupnost
Jak to stojí
Remote EQ je hotový a používá se. Psal jsem ho pro VirtualDJ na master bus a je to standardní VST3, takže ostatní hostitelé by fungovat měli — ale otestované to proti nim není.
Zatím není ke stažení. Jestli děláte živý zvuk a tohle vám dává smysl, napište mi — radši si nejdřív poslechnu, co byste potřebovali.