Ainda sobre o filtro de Vuvuzelas

Notícias recentes fazem saber que algumas televisões vão transmitir jogos do Mundial sem Vuvuzelas. O Meo prepara-se para oferecer essa opção e a BBC também a estuda. Obviamente não o farão com uma solução parecida com a que andámos a estudar (houve quem perguntasse).

Um fitro de Vuvuzelas, para os emissores de TV, é uma coisa relativamente elementar. Um filtro simples como o que desenvolvemos, aplicado exclusivamente ao som do estádio chegaria para atenuar a irritação, mas podem e devem usar filtros mais avançados, com análise em tempo real de padrões de ruído, como o Vuvux da Prosoniq, específico para Vuvuzelas (gratuito, mas exclusivo para Mac OS) ou o SoundSoapPro da Bias, por exemplo, que é usado para “limpar” registos sonoros ruidosos— desde vinis antigos e riscados a gravações ao ar livre com ruídos de fundo irritantes (motores, ares condicionados, vuvuzelas…). Estes softwares específicos para “limpeza” e/ou “restauro” incluem algoritmos que visam a protecção da voz e, apesar de não fazerem milagres, no caso das Vuvuzelas, a sua aplicação é relativamente elementar e os benefícios evidentes. Considerando que quem transmite tem a possibilidade de separar o som do estádio do som dos comentários e aplicar os filtros de forma doseada, só não se compreende porque é que tardaram tanto a tomar medidas, mas deram-me indicações que o relato da TSF já era relativamente livre de Vuvuzelas, por exemplo. Não tive oportunidade de confirmar.

Entretanto, para quem não tem acesso a emissões pré-filtradas, o filtro que desenvolvemos está disponível para ser usado e melhorado.

Vuvuzela Filter, a PureData approach

As promised, I’ve studied some of the solutions around Vuvuzela filtering and with the help of my good friend Ricardo Lameiro, we’ve started to put up a simple PureData patch to filter, via EQ, the annoying sound of the Vuvuzela. Ricardo’s first attempt was already very good, but I’ve experimented with some recordings of games, and it didn’t seem to filter enough. The secret, apparently, is to duplicate the EQ chain in use, so, instead of having one [biquad~] object for each partial, I’ve made a version that uses 2. That means that the frequency is filtered twice (as in the Logix exemple we saw earlier), and that has a great impact. My first upgrade on the patch is, therefor, that simple duplication of EQ chains, along with a slider to alter the “dry/wet” parameter of the effect. All the way to “dry” you’ll hear only the original source, and all the way to “wet”, you get only the processed version. This way, one can customize the desired amount of noise reduction.

That’s my vuvuzela_basicEQ_filter_static:

Vuvuzela Basic EQ Filtering
Detail of the Vuvuzela EQ filter wit double biquad~ objects

This works pretty good in standard conditions, but I was wondering if it would be possible (and useful) to have a dynamic version of this patch, that would calculate the frequencies of the annoying sound in real time. In some broadcasts this can be usefull, if the noise from the Vuvuzelas is being altered by some oher stuf, but, also as a proof-of-concept, it was important for me. This dynamic patch can be used now for the Vuvuzelas and later for any annoying sound on a recording or on a real time audio source.

The principle is the same, but the frequencies being filtered can be altered by pressing the “Sample Noise” button, wich will rearrange the filter according to what’s being listened to at the time. It should be used, normally, when all you can hear are Vuvuzelas, but you can make different experiments, pressing it over the commentators’ voices and stuf like that. It has a reset button, for standard Vuvuzela mode but will allow you to filter any continuous buzz.

So, here’s my vuvuzela_basicEQ_filter_dynamic:

Vuvuzela Dynamic EQ Filtering

The problem with taking out the main frequencies of the Vuvuzela remains: they are closely linked to the main frequencies of the human voice (our ears softspot, so to say), and that’s why they are so annoying. So any filter will have an impact on the voices and all the other sounds. But this thing works, quite surprisingly, and, since it’s made on PureData, you can use it in any computer, regardless of Operating System, completely free.

Please try it out, if you can.

You can use these recordings I made during a recent match to see for yourselves:

If you have any doubts as to how you can install PureData and use these patches, feel free to comment here or reach me on Facebook or Twitter. Or use the community of PureData users.

And if you need audio examples on how good (or bad) does this sound, here it is:

Here you can hear the unprocessed sound (100% dry), then the processed one (100% wet) and it changes twice from one status to the other. Then, I used the “Sample Noise Button” (I’m using the dynamic version) and the third time you hear only processed sound (100% wet), the profile of the filter sounds better, in my opinion. Then I made some more experiences, just to show other possibilities.

Please share your comments, doubts or suggestions. These are all learning processes.

And, if that’s yout thing, enjoy the soccer matches with or without Vuvuzelas. My interest is purely academical. ;)

PS: The 3rd aproach I was planning was to use a noise gate, based on the examples that come with PureData, but I had no time to figure that one out. If anyone wants to try that, I’ll appreciate to know about the results.

PS para os leitores portugueses: desculpem o psot em inglês, mas esta é uma questão que pareceu interessar mais leitores estrangeiros e/ou portugueses que estão à vontade com o inglês. Se alguém quiser explicações detalhadas, avise.

EDIT#1: After real live testing during today’s match Portugal vs Ivory Coast, I’ve made some adjustments (bandwith values for different partials) and here’s the new and improved patch:
http://dl.dropbox.com/u/8101250/Vuvuzela%20Filtering/vuvuzela_basicEQ_filter_dynamicV2.pd