- Joined
- May 27, 2008
- Messages
- 3,628 (0.63/day)
System Name | Ultra 64 |
---|---|
Processor | NEC VR4300 (MIPS R4300i) |
Motherboard | proprietary design |
Cooling | Fanless aircooled |
Memory | 4.5MB 250 MHz RDRAM |
Video Card(s) | 62.5 MHz Reality Coprocessor |
Storage | 32 - 512 Mbit ROM Cartridge |
Display(s) | 720x576 |
Case | Clear Blue Funtastic |
Audio Device(s) | 16-bit CD quality |
Power Supply | proprietary design |
Mouse | N64 mouse for use with N64DD |
Keyboard | N64 keyboard for use with N64DD |
Well i posted a question not too long ago about FFT's as im building a automatic feedback suppressor for my final year project at university. Well ive developed all the various sections, the bit where it detects feedback during a sort of auto-ringing out procedure, the bit where it monitors the frequencies to see if detected feedback frequencies are reaching the threshold where they begin to feedback and the section that actually deals with the audio samples and cuts the various frequencies.
All of this has been developed in Matlab and im confident with my code just need to port it over to the VST SDK in C++ with just syntax and other little issues like how they address arrays etc.
Right my question. In Matlab due to my sound card its sampling frequency is 8K now thanks to Mr Nyquist my highest detectable frequency is 4K which means my FFT isn't too large to calculate at a resolution high enough for that band of frequencies, 20Hz - 4K. However when i roll this out to the VST SDK ill be working up to the full 20K so the required FFT size will be much much larger for the same resolution and wile processing the audio in real time this won't be plausible.
Now my possible solution, i don't know if this is pioneering stuff here or a current method already about, is to band limit the audio spectrum into maybe three bands. Perform a much smaller FFT to get the same resolution on these bands then collate the results from each to hopefully get the same resolution of the audio spectrum as a whole with, hopefully much smaller computing requirements.
My issue with this is to calculate the frequencies of your bin's from the FFT you:
Bin no * FFT size / Sampling Frequency
However this assumes that the full frequency spectrum is being passed through it so how would i adjust this to reflect the band limited input? I'm assuming it has something to do with the Sampling Frequency value.
Now i haven't done any form of testing on this idea, currently at University and it just poped into my head now, but i will be having a play with it tonight and hoped for some points from you guys of where to start to make quicker or even a name of the method if this process is common place.
Thanks all
All of this has been developed in Matlab and im confident with my code just need to port it over to the VST SDK in C++ with just syntax and other little issues like how they address arrays etc.
Right my question. In Matlab due to my sound card its sampling frequency is 8K now thanks to Mr Nyquist my highest detectable frequency is 4K which means my FFT isn't too large to calculate at a resolution high enough for that band of frequencies, 20Hz - 4K. However when i roll this out to the VST SDK ill be working up to the full 20K so the required FFT size will be much much larger for the same resolution and wile processing the audio in real time this won't be plausible.
Now my possible solution, i don't know if this is pioneering stuff here or a current method already about, is to band limit the audio spectrum into maybe three bands. Perform a much smaller FFT to get the same resolution on these bands then collate the results from each to hopefully get the same resolution of the audio spectrum as a whole with, hopefully much smaller computing requirements.
My issue with this is to calculate the frequencies of your bin's from the FFT you:
Bin no * FFT size / Sampling Frequency
However this assumes that the full frequency spectrum is being passed through it so how would i adjust this to reflect the band limited input? I'm assuming it has something to do with the Sampling Frequency value.
Now i haven't done any form of testing on this idea, currently at University and it just poped into my head now, but i will be having a play with it tonight and hoped for some points from you guys of where to start to make quicker or even a name of the method if this process is common place.
Thanks all