as the world cup is the main sport event and the Vuvuzelas are the most annoying sound in the world, I had an idea to remove them definitively by reading this new ( http://www.popsci.com/diy/article/2010-06/simple-software-can-filter-out-vuvuzela-whine) that told us that the sound has some frequencies at 233Hz + 466,932,1864Hz.
I have already made a lot of Android application by myself but never touching the signal analysis and filtering part, so here are a few questions, I do not ask for precise answer but maybe links and tutorial to find something to work on. I guess that a new Android phone has the CPU and power to make real-time filtering.
1) How can I intercept the sound coming from the Jack microphone - Line-IN plug- ( I plan to link my TV to my phone with Jack to Jack plug). My question is totally software and coding, I have all the wires and adapters to plug a jack into my android phone Line IN.
2) Are there some Fourier analysis librairies, may I have a look to Java libraries on the web and import them to my Android project?
I really apologize because my question seem not precise, but I think that would be something great.
Thank you for your answers.
Great question!
I don't see the line-in connector listed explicitly as an audio source option but perhaps you might want to start by getting data from the microphone source to get your code working, then find a way to obtain audio from the jack.
For the Fourier analysis/translation you may also consider this stackoverflow question
Well, if you want to filter fixed frequencies (233 hz, 466 hz, etc.) you should look also to other forms of digital eq-filtering. Doing through the FFT will use a lot of processing, and will make a real-time application became really heavy. On this website there is some directions on the mathematical ideas behind other filtering methods: http://mysite.mweb.co.za/residents/cyb00746/audiodocs/Digital_EQ.htm