Hi. I'm Bohdan Trotsenko

And this is how my name looks on spectrum

I have invented the simplest acoustic model:

A bit of explanation:

I have more videos on my youtube channel and on the dedicated facebook page.

Questions and answers

The simplest?

I can probably write it in about 30 lines of quite simple Python (no dependencies) – it's that simple.

It's so simple that sometimes I think it could be found with brute force of simplest algorithms over an input. But that's just an author's bias, of course: I had to go through a couple hundred non-working ones over months to find this one.

It's not Fourier (Wow, I compete with Fourier!) or Gabor transform" (for the same reason).

It's extremely lightweight – I can produce a spectrum using less than 10 * N * F operations overall. It's highly likely that I have invented the most efficient/lightweight spectrum algorithm ever!
It is very lightweight, but {the current edition} is comparable to FFT.

It's also conceptually the simplest. I think I could convey the idea in 5 sentences to anyone who passed codejam's round 1 (or, maybe, round 2). A4 sheet of information would be enough for a 14 year old (probably, a bit math inclined).

More on comparison with FFT
Fourier transform works perfectly on a periodic signal. In order to be applied to sound, a 'sliding window trick' is used. Moreover: as a random window doesn't perfectly match at ends, another 'smoothing' must be used.
Pick a window too wide, and you're likely to lose high frequencies. Pick a window too narrow, and you're restricted from analyzing low frequencies.
All this suggests that there's a better way.
Please compare analysis of modem handshake sound: FFT vs mine.
Or this FFT vs mine.
Or violin sound decomposed.
Facebook's wav2letter uses 25 ms sliding window and 10 ms stride. I simply don't need this.
While technically FFT can be computed O(N·logN) at best, given that the sliding window's length is fixed, that's O(N) time complexity to process the signal. However, in practice my method would need 10-100 times less operations to build a spectrogram.
More on comparison with ...
I tried searching the web for existing solution. What I have is far from log power spectrum or Mel-frequency cepstrum or linear predictive coding (which is a bit obvious after the statement on simplicity, but I'm constantly asked about this).
Possible applications
The algorithm can largely improve the quality of home speakers and online speech-to-text services. It can largely save battery on phones (especially for hot phrase detection) and even enable speech recognition on watches and earbuds!
It's certainly useful for all kinds of signal processing. E.g. real time software-defined radios could raise their limits.
Can I try it?
Yes (questions are welcome).


Me in social networks:
My facebook page, my tweets, LinkedIn, my stackoverflow page, my GitHub, CV and my email: spambox (wait for javascript).

Other (and somewhat outdated links):
Old coding blog, coursera's page, goodreads and old thoughts on life.

Updated on: Mar 15, 2021.