Categorias
ensino música tecnologia

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

10 comentários a “Vuvuzela Filter, a PureData approach”

I know the Prosoniq solution, lakeburn, but it’s a Mac-only solution, and although I’m a Mac user, I prefer open-source cross-platform solutions. And I’ve work on this patch as an exercise, of course.

If anyone wants to compare Vuvux with this patch, using Prosoniq’s examples at http://www.vuvux.com , here is the same original file filtered by our patch:
http://dl.dropbox.com/u/8101250/Vuvuzela%20Filtering/PDvuvux.wav

This was done using the dynamic version of the patch, clicking the “Sample Noise” button a couple of times on the first silence of the commentator.

It’s not as good as Vuvux, for sure. But It doesn’t seem to be as bad as the notch filtering example they’ve put on their site. Anyway, the goal is not to compete, it is to offer different solutions for everyone, regardless of OS.

Acabei de baixar o PureData (Pd extended) pra Windows e tentei todos os seus arquivos, mas não consigo fazer funcionar de jeito nenhum. Como faço para que o som passe pelo PureData antes do output?
Ao abrir os seus arquivos recebo várias mensagens:
error: inlet: expected ” but got ‘float’

Pedro: é a primeira vez que está a usar o PureData?
A primeira coisa que deve fazer é certificar-se que tem o seu sistema bem configurado: precisa de ligar a saída de som da televisão à entrada do computador (placa interna ou externa?) e a saída de som do computador, que emitirá o som “limpo”, pode ligá-la a quaisquer colunas amplificadas, a um sistema de som ou a uns headphones.
Deve certificar-se que tem todas as configurações de entradas e saídas de áudio do computador bem feitas e, no PureData, para se certificar que tem som, pode ir a “Media > Test Audio and Midi” e usar os testes de entrada e saída. Quando ouvir som e vir variações nos números nas caixinhas de “Audio Input”, significa que está pronto. Para mais ajudas nesta fase, o melhor é ir à documentação do PD.
Depois de ter a certeza que tem o som correctamente configurado no Pd, abra um destes patches. Na zona inferior tem um controlador de volume, que está, quando o patch é aberto a zero. Desloque-o para meio, por exemplo e deverá ter o som que entra, vindo da TV, a sair, sem alteração. Mexendo no outro controlador “Dry/Wet” pode aplicar mais ou menos filtro. Se, sem mais alterações o filtro lhe parecer suficiente, está feito. Aproveite.
Se não estiver satisfeito, ou quiser experimentar um pouco mais, espere por momentos em que só se ouçam as Vuvuzelas, para carregar no botão que diz “Sample Noise”. Se ficar muito pior, basta carregar em “Reset”.
Entre estas duas operações (Sample Noise/Reset e ajustar Dry/Wet) deve conseguir ter resultados próximos dos nossos.

Ajudei?

Oi João. Obrigado pela resposta!
É a primeira vez que uso o PureData mesmo mesmo. Nunca tinha ouvido falar dele.
O negócio é que estou utilizando um receptor de tv usb ligada direto no meu notebook e assistindo via software. Ou seja, estou utilizando o som do computador (IDT Audio).
Dá pra usar o PureData nesta situação? Ele precisa capturar o input do software de “televisão” que está instalado aqui, e colocar o output para o audio do windows. Acho que o problema está em capturar o input do software da plaquinha receptora de tv.
Tem idéia de como fazer isso?
O PureData está configurado para utilizar IDT Audio tanto no input quanto no output e no test media está aparecendo sinal nas duas primeiras caixinhas.
Porém quando abro os Pds aparentemente não está interferindo no som que ouço.

Um Abraço,

Pedro

Olá, Pedro.
Para esse setup, o ideal seria então usar qualquer coisa como o JACK http://jackaudio.org/ que vai permitir configurar ligações internas de áudio entre os vários softwares. No PureData tem que escolher usar o Jack no menu Media e tem que configurar o Jack por forma a que o output do software de televisão entre no PD e do PD saia para o sistema.
Eu nunca trabalhei com som em máquinas Windows, por isso não posso dar uma ajuda muito detalhada, mas uso o Jack com sucesso para fazer routing de sinal Audio entre várias aplicações, incluindo PD.
Experimente ver as instruções em http://jackaudio.org/ e, entretanto, vou ver se “recruto” para esta caixa de comentários alguém com experiência em máquinas Windows que lhe possa dar uma ajuda mais detalhada, caso venha a precisar.

Deixe um comentário

O seu endereço de email não será publicado.