Re: [LAD] [Source uploaded to GitHub] GuitarSynth
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 That interests me to. I am familiar the concepts of wavelets from computer vision (haven't worked with them) where they are used for image denoising, feature extraction and so on. Gerald On 26.04.2015 19:00, Tim E. Real wrote: Fons do you have any insight into wavelets and how they might be better for lower latency pitch detection than FFT? -BEGIN PGP SIGNATURE- Version: GnuPG v1 iQEcBAEBAgAGBQJVPWP2AAoJEPcmmqtDfLve17UH/0pdWcb4VAaIyybruRRUcS5h 0GIRaaejPt8B0lxCJ4ZD1OP7mV5e/EzPQ341edOtCMZMMm3OP6rT9w99YGLvZnY+ p9h19QoSJDCDStDw1zTNYMPzx5RTwntsy/zEb5rSlVxnfktQehD+c2QCjwPSOTXm Oxk+0kqdWQL7/f6uvDs24zdkVxQ62mIKTjkEXt58FoTtVYmmPC7iyau9WyOTO/ge aX5O3ZCVpHSzqGKpOSDROpDpXFLhMm34mFT8ubkzcJUx8BqtJ/HhYf4xvLvQBG+O I6MyTtc0spmHF63/DBPlHlX4I+frSptghWNiufr3WQ6nHVwHWmHTraX5qlP9BeY= =3gDd -END PGP SIGNATURE- ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] [Source uploaded to GitHub] GuitarSynth
On Sun, Apr 26, 2015 at 01:00:40PM -0400, Tim E. Real wrote: Fons do you have any insight into wavelets and how they might be better for lower latency pitch detection than FFT? I don't think they will allow you to have better latency if all other aspects of performance are kept equal. Don't expect magic from wavelets - they can't provide information that isn't there. What they allow you to do is modify the tradeoff between resolution in time and frequency. But the product of the two is limited by the 'uncertaintly principle' in all cases: better resolution in time means less resolution in frequency and vice versa. There is no way to break this limit *unless* you make assumptions about the signal to be detected and accept failure if these are not valid. Human hearing seems to do this. In the case of a guitar signal there are some valid assumptions, e.g. the maximum number of notes and the typical exponential decay of their envelope. For the last ten years or so, a new technique called 'compressive sensing' has been a hot topic in DSP. It is being used to do all sorts of things that at first sight seem impossible, such as recovering a signal from random samples well below the Nyquist rate. It again depends on making certain assumptions about the analysed signal, in this case that there exists a 'sparse' representation of it. The whole theory behind CS is a bit counter-intuitive but mathematically perfectly sound. I'm pretty sure it will lead to some new ways to do pitch detection. Ciao, -- FA A world of exhaustive, reliable metadata would be an utopia. It's also a pipe-dream, founded on self-delusion, nerd hubris and hysterically inflated market opportunities. (Cory Doctorow) ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] [Source uploaded to GitHub] GuitarSynth
Oh, thanks. Didn't catchup on the thread :) Gerald On 26.04.2015 19:00, Tim E. Real wrote: OK Albert, I uploaded the source of my polyphonic guitar synth to: https://github.com/terminator356/polyguitsynth ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] [Source uploaded to GitHub] GuitarSynth
On Sun, Apr 26, 2015 at 7:00 PM, Tim E. Real termt...@rogers.com wrote: OK Albert, I uploaded the source of my polyphonic guitar synth to: https://github.com/terminator356/polyguitsynth Great, many thanks! -- Dr. Albert Graf Computer Music Research Group, JGU Mainz, Germany Email: aggr...@gmail.com WWW:https://plus.google.com/+AlbertGraef ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] [Source uploaded to GitHub] GuitarSynth
On April 26, 2015 09:10:30 AM Fons Adriaensen wrote: On Sat, Apr 25, 2015 at 08:35:56PM +0200, Albert Graef wrote: Question: I tried a demo product which did polyphony, with similar latency as my app, which claimed to have a full version with near-zero latency. Is this actually possible? Sounds like snake oil to me, but don't take my word for it. Sound very unlikely. One problem with polyphonic pitch detection is two or more notes that share a number of harmonic frequencies and start at the same time. This will occur with many chords that contain simple intervals like octave and fifth. It is possible to detect which harmonics are shared (they will have a different amplitude / phase profile) but this requires tracking them for some time and hence additional latency. I suspect the same is even true for human perception. If we hear a perfect fifth chord we may have the impression to have detected that it consist of two notes immediately. But there are many examples of our brain playing tricks and 'backdating' the result of an observation which has actually taken more time than we think. Real-time polyphonic pitch detection is still a research topic, just look at the publication dates of some of papers already mentioned. For a guitar it may be easier than the general case due to the restriced frequency range of each string and in general a clear attack of each note. Ciao, OK Albert, I uploaded the source of my polyphonic guitar synth to: https://github.com/terminator356/polyguitsynth The latest version was written in Borland C++ Builder around 2000. The source uses a few of my 'hidden continuous borderless mouse' controls which I discussed in another current LAD thread concerning 'user eXperience in Linux'. You won't be able to actually build the source without those controls' sources, which I did not upload :-( However, I included the finished executable ! And... it *runs* under Wine ! :-) (Gotta love Wine, the older the program, the better it is.) Inspiration for the OP I hope. Try it, both to see how the program works and to see how my 'hidden continuous borderless mouse' controls work. (Press the mouse inside any of the edit boxes and then move the mouse, observe the mouse hides and the edit value rolls on and on...) The source does include the actual DSP library I used. It is the GNU2 licensed 'libdsp' from Philippe Strauss. The program includes the ability to use the PC keyboard as a music keyboard, hence the map on the right. [Fons:] Yeah, believe it or not it works best with *dead* guitar strings and the guitar's tone knob all the way down. Don't want too many rich guitar string harmonics in there! Given that, it works kinda OK. Fons do you have any insight into wavelets and how they might be better for lower latency pitch detection than FFT? Cheers. Tim. ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev