Show HN: Resonate – Low-latency, high-resolution spectral analysis
Posted by arjf 10 days ago
Last April I shared about my Resonate project here (https://news.ycombinator.com/item?id=43694157)
A lot has happened since: the work I presented in much more detail at last June's International Computer Music Conference (ICMC) got best paper award. I also gave a talk at the Audio Developer Conference in Bristol last November, the video is on YouTube).
This year's work, which I recently presented at this year's ICMC, starts with known techniques from the phase vocoder literature to build self-tuning filter banks that extract very efficiently the frequency components that are actually present in the input signal. Overview on the project website, more details in the papers, including applications to super-resolution spectrograms and re-synthesis experiments.
As many people have pointed out, none of the techniques I have used are new (some of them even have different names across different fields), but I haven't seen them applied together in this way, and to me the results are incredibly satisfying and sometimes look magical. See for example this demo: https://youtu.be/LasdoIJJkw8
Of course the best way to experience in person is through the free demo app: https://alexandrefrancois.org/Oscillators
Looking forward to feedback from the community!
Comments
Comment by RossBencina 7 days ago
Comment by arjf 6 days ago
Also my primary objective was tonal analysis so that's where I focused my limited time and resources.
I haven't had time to explore what to do with broadband transients much. A tracking resonator bank will certainly capture the energy (either in tracking mode or not). To me the synthesis examples I have posted on the project site sounds very comparable to traditional vocoder results; not bad but not great, especially with transients (as expected...)
From an analysis point of view, I anticipate that a Novelty measure computed from a tracking resonator bank would be quite usable...
Comment by RossBencina 5 days ago
Agree re transients. I think Miller Puckette's "bonk" object did transient detection using filter bank. Can't find the paper right now. In general I think detecting rapid changes in phase performs better than changes in amplitude for transient detection.
I believe that the good sounding phase vocoder algorithms do transient detection and instantaneously reset the phase of the spectral peaks associated with the transient (effectively passing through the original transient without smearing it).
Comment by arjf 1 day ago
Comment by bialamusic 5 days ago
If you want to cooperate - I am open for that and I can share more. But this is public knowledge and should stay that way. Why you are deleting my comments in youtube - I have apps with 100K+ installs using such method and I can share details if you are really interested
Comment by bialamusic 6 days ago
https://play.google.com/store/apps/details?id=com.bialamusic...
https://apps.apple.com/tn/app/chord-detector/id1495811175
https://apps.apple.com/us/app/resonance-chromatic-tuner/id16...
Also Siren's Chore effect and more...
Comment by j-river 7 days ago
Comment by arjf 6 days ago
Comment by _def 7 days ago
Comment by arjf 6 days ago
Comment by bialamusic 10 days ago
Comment by arjf 10 days ago
Comment by bialamusic 6 days ago
Comment by rfgplk 10 days ago
Comment by bialamusic 10 days ago
It is good to see the idea investigated by more people but the man should not try to claim it as his own. We are doing such tings for years and I want this knowledge stays to people so no one should claim it
Comment by arjf 10 days ago
Comment by bialamusic 8 days ago
Comment by deckar01 7 days ago
It would be interesting if the resonators could adaptively model timbre to factor out harmonics while still handling unique timbre at each frequency. That could produce a pitch diagram color coded by instrument.
Edit: I bet you could fork a resonator and run over the window it just finished in reverse to correct the drift.
Comment by arjf 6 days ago
Here is a short video demonstrating the concept (with spectrogram-style visualization): https://youtu.be/STayypC1pvU
This is all pointing towards a dynamic systems approach, with prediction/feedback loops, e.g. establishing a tonal context and feeding it back into the analysis.
I believe some plasticity in the natural frequencies in the bank and tuning of the resonator dynamics would improve the convergence time to some extent, but I think this will only go so far and most of those effects should be addressed via prediction/feedback.
I envision the timbre analysis to take place on these tracked components as well as harmonics should be tracked as components whose frequencies are multiples of a fundamental (so analysis on actual small number of actual frequencies rather than a large number of bins).
Comment by bialamusic 10 days ago
Also very old stuff :)
Comment by jmpman 7 days ago
Comment by arjf 6 days ago
Fun analysis experiments like this are why I made the free demo app (it runs on iPhone/iPad/Mac):
Comment by jmpman 16 hours ago
Comment by arjf 4 hours ago
Comment by jmpman 1 day ago
Comment by arjf 18 hours ago
No inherent limitation of the technique, the resonators can be tuned to much lower frequencies. But indeed you‘ll need a better mic than the iphone’s to get frequencies below 50Hz iirc… too bad - the watermelon ripeness checker could be a really cool app :-)
Comment by jmpman 16 hours ago
Let me know if you update your app or make a watermelon version.
Comment by jmpman 6 days ago
Impressive. Thanks for the pointer.