AMEONUIY studio EN CZ
Studio

Remote EQ

hotovo

VST3 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.

C++JUCEVST3WebSocket JavaScriptDSPLock-free

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.