Filtrare le vuvuzelas dalle partite dei Mondiali in South Africa

Probabilmente saprete già tutti di cosa parlo: per chi avesse vissuto le ultime settimane su un altro pianeta o non avesse seguito alcuna partita dei mondiali, per vuvuzelas intendo quelle FASTIODIOSISSIME trombette che gli africani suonano incessantemente dall’inizio alla fine in ogni partita.

Oltre ad imprecare in ogni lingua africana, perché già dopo 5 minuti non si sopportano più, mi sono chiesto (per la serie “Siccome sono un Ingegnere…”) se esistesse un modo per filtrare dalla telecronaca il suono di quelle trombette, lasciando inalterato tutto il resto. Beh è bastata qualche ricerca su Google e un paio di prove per rendersi conto che c’era chi ci aveva già pensato prima di me !

La teoria è semplice:
c’è chi si è preso la briga di analizzare le frequenze emesse dalle trombette. Oltre la frequenza fondamentale (a circa 230 Hz) sono state individuate delle armoniche forti intorno a 470, 700, 940, 1171, 1400 e 1630 hertz. L’idea è quella di utilizzare un software che riesca a filtrare selettivamente quelle frequenze e restituirci un audio pulito, con le trombette quantomeno attenuate (eliminarle del tutto senza alterare anche la telecronaca è impossibile). Il risultato che si ottiene non è magico, ma più che accettabile: il fastidioso rumore di sottofondo non si sente quasi più… rimane solo il tifo dello stadio ed il rumore della folla.

Per inciso, ho letto in giro che c’è chi propone (o addirittura vende !!) dei file audio mp3 con registrato il suono delle vuvuzelas a fase invertita: suonandoli con uno stereo in contemporanea alle partite, dovrebbero eliminare il suono disturbante. Per chi ha un minimo di dimestichezza con fasi e onde, sa benissimo che perché questa procedura possa funzionare (e per esempio funziona benissimo nelle cuffie che cancellano il rumore ambientale), la forma d’onda invertita deve essere esattamente quella che vogliamo eliminare, catturata in realtime ed invertita. Non può certo funzionare con un pezzo preregistrato, soprattutto perché stiamo parlando di un rumore complesso, e non frequenze chiare e precise !

Adesso che abbiamo definito il nostro obiettivo, vediamo come realizzarlo praticamente.

Visto che ho un Mac, descriverò principalmente la soluzione che ho adottato per Mac Os X. Premetto che esistono soluzioni anche per Windows e Linux, basta utilizzare i programmi giusti, ma io non entrerò nei dettagli.

Ho trovato in rete varie soluzioni: C’è chi ha provato ad usare Logic Express, chi GarageBand, chi filtri personalizzati. I risultati migliori li ho avuti utilizzando un ottimo programma di terze parti, Audio Hijack Pro, dopo aver letto questo articolo. Ha l’unico inconveniente di essere pagamento, ma è disponibile una versione demo.

Come sorgente audio possiamo voler utilizzare sia uno stream riprodotto dal computer (per esempio dal browser oppure da un media player) oppure una televisione esterna. In quest’ultimo caso ovviamente dovremmo collegare l’uscita audio della TV (quella per le cuffie) all’ingresso line-in del computer. Possiamo poi collegare delle casse amplificate al computer, oppure utilizzare semplicemente gli altoparlanti integrati.

Qualsiasi sorgente utilizzeremo, le impostazioni del nostro programma saranno più o meno le stesse.

Audio Hijack Pro (Mac)

La schermata degli effetti di Hijack, a lavoro concluso

Nella colonna sinistra, selezioniamo la sorgente. Se non è il browser web,  è possibile personalizzare l’ingresso dal tab “input” sulla scheda centrale. Qui possiamo selezionare l’ingresso audio esterno, un’applicazione oppure l’audio generale del sistema. Per quest’ultimo caso avremo bisogno di Soundflower installato (un framework audio che si occupa di reindirizzare l’audio di sistema, del tutto gratuito).
Come output di solito scegliamo quello predefinito “Built-in Output”.

Adesso andiamo nel tab “Effects” e iniziamo ad inserire i filtri nei riquadri vuoti. Tenete conto che i moduli vengono applicati in cascata, da sinistra verso destra.

Dopo aver fatto click sul primo riquadro in alto a sinistra, selezionare AudioUnit Effect > Apple > AUParametricEQ

Cliccare sul bottone EDITOR del modulo appena inserito, ed impostare i parametri della frequenza da tagliare. Basta cliccare sul puntino bianco ed inserire questi valori:

Freq: 233 Hz
Gain: -20 dB
Q: 20

Premere invio e verificare che il picco si sia effettivamente spostato dove vogliamo.

Adesso dobbiamo ripetere questa procedura per inserire i filtri a tutte le altre armoniche. Io ho inserito in tutto altri 6 moduli ed il risultato è più che buono.

I valori da inserire nei moduli sono gli stessi per Gain e Q, cambiano solo le frequenze, che sono:

2) 466 Hz
3) 700 Hz
4) 932 Hz
5) 1170 Hz
6) 1400 Hz
7) 1630 Hz

In fondo a questi 7 moduli ho deciso di inserire anche un filtro passa basso, per eliminare le frequenze troppo alte che potrebbero disturbare (il modulo si chiama AUFilter. La frequenza di taglio potete sceglierla voi, io ho iniziato a scendere sopra i 6500 Hz).

Adesso verificate che tutti i moduli siano attivati (il led accanto al titolo di ciascuno deve essere verde, altrimenti cliccate su “bypass” per accenderlo), cliccate sul bottone “Hijack” in alto a sinistra della finestra e testate il risultato 🙂

Per migliorare il suono potrete anche aumentare il guadagno (Gain) totale ed il Dry/Wet Mix dai controlli a sinistra dei moduli inseriti.

Se non volete fare tutti i passaggi manualmente potete scaricare anche questo file che contiene tutti gli effetti già pronti per il programma. Basta importarli da “Control > Import Effects Patch..

http://www.mediafire.com/file/zdwntiizk0z/AntiVuuzelas.fxpatch.zip

GarageBand (Mac)

Schermata di GarageBand, dopo la creazione dei filtri

Lo stesso procedimento visto sopra è possibile farlo anche con GarageBand, incluso nel pacchetto iLife di ogni Mac.

E’ sufficiente creare una nuova traccia “Strumento Reale” e sulla parte destra (tab Composizione) inserire i filtri  nello stesso modo descritto sopra. Anche il modulo è esattamente lo stesso (AUParametricEQ).

L’unica accortezza è quella di selezionare la sorgente audio giusta nelle preferenze del programma, ed attivare la modalità monitor (senza feedback) presente in basso nella colonna destra (tab Sfoglia)
L’unico incoveniente qui è che potendo scegliere al massimo 4 filtri, dovremo inserire la frequenza fondamentale + le prime tre armoniche. Il risultato sarà un po’ inferiore, ma comunque accettabile. Eventualmente anche qui è possibile impostare l’equalizzatore grafico per tagliare le alte frequenze.

Ecco anche il file con la traccia ed i filtri già impostati:
http://www.mediafire.com/file/d204nuqjtzg/AntiVuvuzelas-4filter.zip

Un ulteriore problemino riscontrato con GarageBand è una latenza di 3-4 secondi introdotta dall’elaborazione, che risulta quindi fuori syncro col video. Probabilmente con un Mac più potente o una configurazione migliore questo non succede. In ogni caso la latenza con Hijack è pressoché assente.

Altre soluzioni

Elenco qui di seguito altre proposte o soluzioni trovate, anche per gli altri sistemi operativi:

Filter The Vuvuzela Horn Out of the World Cup; Learn JACK Routing on Linux (Linux)

Vuvuzela Filter using Fedora (Linux)

Vedere i mondiali di calcio dal pc ed eliminare il fastidioso rumore delle vuvuzela (Windows, VLC)

Come eliminare il suono delle vuvuzela, usando VLC (Multipiattaforma, VLC)

Vuvuzela Filtering (blog che raccoglie varie soluzioni trovate in rete)

Vuvuzela Filter (Mac, Logic Express)

Vuvuzela Filter (Windows, Reaper)

A proposito Alessandro

Ingegnere delle Telecomunicazioni con propensione al web2.0 ed il pallino della tecnologia; toscano & casentinese, vivo a Firenze