deathbyguitar
Power User
Ugh. This is Joel de Guzman's company. That guy is a bit naive about DSP and signal processing in general. He came on here years ago trying to tell me that video cards were the future of audio DSP. I tried to explain to him that audio DSP is inherently a sequential problem and that massive parallelism doesn't help you. It's the assembly line conundrum. Parallelism makes more shoes per minute but it doesn't make the pair you want any faster.
A couple years ago he was trumpeting his pitch detection "invention" based on bitwise autocorrelation using XOR. He said "I can't believe how great it works and how no one else has ever thought of this because it's so simple and elegant". I didn't have the heart to tell him:
1. It's not a new idea. The very first digital guitar tuners used precisely this technique. There's a patent from the early 80s. So, no, not new. Been around for about 40 years.
2. It doesn't work well. It's extremely prone to false octaves. You have to heavily filter the signal to prevent octave errors and even then it's not great. It useless for trying to find the period of a chord, even a simple one.
3. It exhibits considerable frequency error unless your sample rate is upwards of a MHz. Those old guitar tuners did essentially that. They used a single bit A/D (comparator) running at a very high sample rate. The error is up to one half the sample period. At 48 kHz your period error would be up to 10.4 us. At 440 Hz that's around 5 cents of error.
4. In general, if something seems simple and you "can't believe no one else has ever thought of this" it's almost assured that someone else has, in fact, thought of it. Only after doing this for nearly 40 years now am I at the point where I believe some of my ideas are actually unique. Over the years I've thought I was being clever only to find out someone had already done it before.
I could read stuff like this all damn day.