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

Vuvuzelas: não há nada que possamos fazer?

Desde que o Mundial da África do Sul se aproximou e ficámos a conhecer melhor as Vuvuzelas, que muitas queixas têm surgido relativamente à irritação provocada pelo “instrumento”. Mas há 2 tipos de irritação:

  1. A irritação nos estádios para quem não está habituado, sejam jogadores, treinadores, árbitros ou público. Quanto a essa, nada a fazer, até porque as práticas que visam incomodar a equipa adversária são comuns em todo o mundo. No caso concreto, a Vuvuzela faria mais sentido nos jogos da África do Sul contra outras nação, mas o uso da Vuvuzela é sistemático na África do Sul e “faz parte da festa”, como é o da Corneta no Brasil e outros aparelhos, como as sirenes em spray que alguns hooligans europeus gostam de usar. Tudo coisas irritantes e incomodativas que contribuem para as “atmosferas dos estádios”.
  2. A irritação para quem assiste remotamente aos jogos através das várias transmissões. Neste caso concreto a Vuvuzela afirma-se como uma prática diferente das outras já citadas, porque objectivamente, o som produzido interfere muitíssimo com todo o ambiente. As razões são várias, como vamos ver.

Uma das razões que fazem da Vuvuzela um aparelho mais irritante é o facto da sua utilização resultar num fluxo contínuo de som. Como produz um único som, as pessoas vão soprando, de forma orgânica e de acordo com as suas possibilidades, excitação e cansaço, o que dá origem a uma onda contínua, mais ou menos densa, dum som único. E porque é que o som é único? Uma das razões é o facto das Vuvuzelas serem, em grande parte exactamente iguais, principalmente num evento altamente patrocinado como é este, onde todo o merchandising é industrializado, Vuvuzelas incluídas. O modelo massificado tem uma medida única, pelo que o som fundamental, que depende do comprimento e largura do tubo, é o mesmo, na esmagadora maioria dos casos. E mesmo nos casos em que há variações e possamos ver Vuvuzelas com fundamentais mais agudas ou graves, a verdade é que todos estes instrumentos são tocados da mesma forma (o som é produzido como numa trompete, pela vibração do ar, que começa nos lábios e é modulada e amplificada pelo tubo) e, sendo do mesmo material, plástico, têm características tímbricas muito semelhantes. O que é que isto quer dizer? O timbre é, de forma resumida, a característica do som que engloba tudo o que não está definido em conceitos como dinâmica (volume) e altura (agudo-grave), ou seja, o que nos permite identificar instrumentos diferentes a tocar a mesma nota (mesma altura) na mesma dinâmica (mesmo volume). Um dos elementos definidores do timbre que nos permite distinguir um saxofone dum clarinete ou dum piano, mas também duma Vuvuzela, é o número de harmónicos e a sua amplitude relativa. Para quem não percebe nada de acústica, uma explicação simples é dizer que, apesar de podermos fazer corresponder diferentes notas musicais (ou alturas) a frequências específicas— o chamado lá central corresponde a 440Hz, por exemplo—, os instrumentos musicais que usamos, não produzem sons puros, ou seja, não produzem ondas sinusóides (ou outra forma de onda) com uma frequência e amplitude única. Esses sons puros podem ser produzidos electronicamente, mas são percebidos como artificiais, porque estamos habituadas aos sons naturais que são complexos. Sons complexos correspondem à soma de várias ondas, com frequências e amplitudes diversas. Os instrumentos musicais têm, normalmente, a característica de produzirem sons que resultam da soma de parciais harmónicos, ou seja, podemos decompôr o seu som numa sequência de ondas simples cujas frequências têm relações harmónicas (o resultado da divisão pela fundamental, onda mais grave, é um número inteiro). Num saxofone, por exemplo, o tal Lá central, ouve-se acompanhado de imensos parciais pares e ímpares, ou seja, a frequência fundamental multiplicada por 2, 3, 4, 5, 6, 7, 8, etc…, enquanto que num clarinete, os harmónicos ímpares (3,5,7, etc.) são muito mais presentes que os pares. A presença destes harmónicos e a sua força relativa permite-nos detectar as diferenças entre instrumentos da mesma formas que nos permite, por exemplo, compreender as diferentes “formantes” que nos fazem distinguir as vogais no nosso discurso. Há também sons enarmónicos, ou seja, sons onde os parciais não são harmónicos e todo este universo é fascinante, garanto-vos. Dentro do som enarmónico, como exemplo extremo, temos o “ruído”, fala-se de “ruído branco” e “ruído rosa”, em termos dos modelos teóricos, mas a característica importante do ruído é a presença de tantos parciais enarmónicos que o espectro audível fica saturado e não conseguimos mesmo distinguir uma fundamental.

Dito isto, que som faz uma Vuvuzela? A Vuvuzela, teoricamente, é semelhante a uma trompete, que tem muitos parciais harmónicos, responsáveis pela sua estridência, mas o facto de ter um corpo de plástico e ser tocado “à maluca”, faz com que só se estejam a produzir parciais mais agudos e, em vez da estridência do metal, temos um efeito indescritível, a que poderíamos chamar a “estridência do plástico”. Conseguimos, por isso, identificar uma fundamental, mas o som parece ser um ruído, porque os parciais acima da fundamental audível estão muito “esborrachados” e próximos (a Matemática disto é simples, a Acústica é que nem por isso) e porque a ressonância do material reforça esses aspectos, emudecendo todo o espectro mais agudo.

“Avança lá para a solução, por amor de Deus!”, dizem os leitores mais desesperados, mas há uma razão para esta introdução labiríntica. E complica.
A questão fundamental seria saber se seria possível “filtrar” o som das Vuvuzelas nas emissões das televisões e das rádios, para que, pelo menos em casa, estivéssemos mais confortáveis.

Há e é simples, mas não adianta nada. “Como disse?”

Com tempo, poderei ilustrar isto com uns gráficos e exemplos, mas o cerne da questão é: a razão pela qual as Vuvuzelas são tão irritantes é que a fundamental percebida se situa bem no centro da nossa capacidade auditiva. Saberão alguns, os que não sabem passam a saber, que os nossos ouvidos não ouvem da mesma forma todas as frequências. Todos sabem que os infrasons são demasiado graves para que os possamos ouvir e que os ultrassons são demasiado agudos. Mas nem todos saberão que a evolução natural nos preparou para estarmos particularmente optimizados, do ponto de vista da audição, para nos percebermos uns aos outros (até parece que é ao contrário, às vezes, não é?), pelo que na região dos 300Hz, que corresponde ao centro do som que produzimos quando falamos, nós ouvimos bastante melhor que acima e abaixo disso. Essa característica psico-acústica permitiu, por exemplo, o desenvolvimento dos filtros, algoritmos e compressores que usamos nos rádios, nos telefones e noutros dispositivos de registo e comunicação de voz, uma vez que, ainda que haja alterações no som, a eliminação de frequências acima e abaixo dessa zona óptima do discurso, não tem impacto significativo na compreensão do discurso normal (estatístico).
Essa mesma característica permite, através da utilização dum equalizador simples, reduzir enormemente o impacto das Vuvuzelas nas transmissões, como sugere o Cliff:

Tune out the vuvuzela buzz on a Samsung TV. Menu/Vol/EQ Drop 300Hz and boost adjacent eqs. Save as Custom. Done!

Vejam a imagem do filtro por EQ das Vuvuzelas, proposto pelo Cliff

Porque é que isto funciona? Porque a fundamental da maioria das Vuvuzelas está ali, à volta dos 300Hz, mas, acima de tudo, porque o que esta equalização faz é corrigir a nossa optimização natural e, com ela, não só estamos mais confortáveis, face às Vuvuzelas, como estamos mais protegidos do discurso dos comentaristas e de tudo. Basicamente, a área que ouvimos melhor, naturalmente, e que é a mais afectada pela Vuvuzela (porque ela foi naturalmente feita para isso), é aliviada com esta compensação, mas não se trata dum filtro anti-Vuvuzela. É o equivalente a um par de tampões nos ouvidos, reduz o volume global e elimina a sensibilidade natural do ouvido. Até podemos aumentar o volume da TV a seguir e percebemos os comentários e o resto dos sons, que soarão, ora mais estridentes (as vozes, por exemplo), ora mais abafados (graves).

Digamos que esta forma de equalização nos protege das Vuvuzelas, mas também nos protege de toda e qualquer coisa que nos soe irritante nas televisões e é, provavelmente, por isso, que os emissores não podem fazer nada na origem.

De facto, como nós fomos evoluindo para ouvirmos como ouvimos, também os instrumentos, incluindo a Vuvuzela, evoluíram para serem eficazes: o saxofone, combinando a facilidade de tocar do clarinete (sistema de chaves Bohm) com a estridência da trompete, para ser usado em marchas militares, a Vuvuzela, encontrando o nosso ponto sensível para irritar e ensurdecer toda a gente.

Há que ter respeito pela Vuvuzela.

EDIT#1
PARA MAIS SOLUÇÕES E MENOS PALEIO:
http://vuvuzelafiltering.com/ com referência a estratégias de equalização mais avançadas (ver aqui, em alemão, seguindo as figuras) e ao Vuvux— o mais recente lançamento da Prosoniq—, um filtro em tempo real, gratuito, com a única desvantagem de só correr em Mac OS X (é Audio Unit).

EDIT #2
E EM LINUX? Aparentemente, ainda mais simples, usando JACK e JACK Rack: vejam aqui http://fetzig.org/2010/06/13/vuvuzela-filter-using-fedora/ e aqui http://ahans.de:8081/blog/entry/7 (o segundo parece mais completo que o primeiro)