>> jebb said:
Sorry i didn’t find the time to go over all this, plus AlexHarker is right that it should better involve some C or Java (at least for the REASSIGNMENT algorithm.)
>>But this oversampling technique … That was Alexandre’s goal I think.
No! it was just a useless idea i thought about at the beginning of this threat. As AlexHarker pointed many times in the threat – Thanks for your patience, Alex :-) – and explained to us, beginners in fft, OVERSAMPLING in itself will NOT increase resolution in the FFT.
>> Is it possible to find such a High Resolution sonogram ??
I’m sure it is. When i said above: “this reassignment method is only the 3/5 in the way to the best sonogram that can be done.” i should have said the 1/5…
We should think about pixels in sonograms as “probabilities” for a frequency to be there. As many guys pointed above, at a special instant of sound, at a special sample, there is no frequencies at all, we can only guess a probability for that frequency to be around. A sonogram is nothing real or physical. It is just an imagination of a sound. Exactly like our brain treatment, when we listen to music and sounds, is. So, looking for “the deep truth of the signal” is not the good manner to think about sonograms. The only physical truth is the signal itself. So what i dream as an “extremely precise sonogram” is just something that approch the “special treatment of probabilities” that my brain is doing when i listen to sounds and music. The “REASSIGNMENT method” of Izotope RX, used with *32 X and Y overlaps, is far better than standard FFT, but it’s still far from ideal because of the spiderweb-like artifacts produced everywhere…
>>…be able to show just a 1-second-long line of 1 pixel of width at 440hz, but instead, there will always be artefacts.
Using a bunch of mixed sonograms using the “reassignment method”, It will be possible, because, again, the artefacts are MOVING when you change the fft size :
> seejayjames said:
hehe, you americans like ufos! Here below is a not-so-much-more high-res of the ufos. You can make your own using the free trial of RX: http://www.izotope.com/products/audio/rx/download.asp This is not a real “saw” but a kind of dephased saw made from cosines instead of sines* (made using that : http://cycling74.com/forums/topic.php?id=25102 ) (*the first second of the sound attached below)
> Was wondering if there’s any way to put poly~ to work on this
1- Time-overlap is already an option in the fft objects in max, but not Frequency-overlap : Creating it by shifting a bit the sound, 16 or 32 times (using [freqshift~], maybe) should work, i think. (shifting amount = Bin width divided 16 or 32) Then interleave all the 16 or 32 FTTs in one jitter matrix.
2- Find the way to apply the “Reassignment method” on this, either writing a C external object using LORIS: http://www.hakenaudio.com/Loris/ (maybe even swap the first step and process all the FFT inside the external), or using the example from volker: http://cycling74.com/forums/topic.php?id=22200 (patch near the end of the thread)
3- At this point, i think each poly~ should be used to compute a different sonogram using a different FFT window size. And some of the poly~ should also use a resampled sound, like i explained above: it will be equivalent to non-power-of-2 fourier windows sizes: Examining reassigned sonograms in RX, my feeling is that powers of 2 for window sizes are not enough to clear completely the artifacts.
4- Simply mix all the sonograms together. The more sonograms you compute from different FFT sizes, the more clean the result, i think.
Note: Even you have a 24-core cpu, i think you’ll stay far from a real time sonogram from adc~…
Aug 9, 2010 at 7:23pm #176943