so if i would measure at the peak of the sawtooth and would upsample inside the pd patch, i would get higher resolution, right?
any ideas how i can measure at the peak? (using the rpole output on both samphold inputs does not work and delaying one of them is also not working) which i would highly recommend you try this method with your gk-3 equipped guitar (one for each string) since you only have to cover a two octave range per string the error is tolerable. (you can add an offset to make it fit) On 27 Apr 2014, at 12:56, Miller Puckette <m...@ucsd.edu> wrote: > That is an excellent, witty way to measure pulse withs using > only tilde obects - my hat's off to you. > > The methond only has limited accuracy since its measurement is in > samples. For instance, a 1/2 cycle of a 440-hz. tone at 44.1 kHz is > only 50 samples, so there's only 2% accuracy. That's about 1/3 of a > half tone (30-ish cents) which would sound horribly out of tune. > > There's an alternative sine-to-sawtooth recipe described here: > > http://msp.ucsd.edu/Publications/icmc10.pdf > > This is the basis of my guitar processing patch, smeck, but should be more > broadly useful. But it has its own limitations: the sawtooth you get out > is wiggly if the input sn't a pure sinusoid. > > There's also the possibility of simply pitch tracking with sigmund~. Use > a maximum frequency around 6000 and a maximum of 6 partals (default 50!) > for best results. > > cheers > M > > On Sun, Apr 27, 2014 at 11:27:33AM +0200, Simon Iten wrote: >> dear list, >> >> i have a strange problem with my “sinetosawtooth” patch. >> >> it is basically a version of the pitch to voltage conversion used in the old >> gr300 guitar synths from roland. >> >> i cut out all the clutter to make it easier to look at and understand. (cut >> out the adaptive filtering at the input since i use a sine wave for this >> example and not a guitar string) >> >> here is how it works (or should): >> >> -an input signal gets amplified by a large factor and clipped. this squares >> the input. >> >> -the square wave is converted to pulses. >> >> -the pulses from the rising of the square wave are used to set and reset an >> accumulating filter (rpole~) >> >> this results in a sawtooth wave that varies in amplitude depending on the >> frequency of the input. >> >> -a sample and hold samples the peak of the sawtooth and holds it until the >> next peak occurs. this, after a conversion gives us the input frequency. >> yeah! >> >> in the example patch i used the falling edges of the square wave to >> trigger the sample and hold. this samples the sawtooth amplitude after half >> the rising. (this is also why i have 22050 in fexpr~ and not 44100) i could >> not figure out how to sample the peak of the sawtooth, so suggestions here >> are very welcome. >> >> now to the problem: >> >> the extracted frequency does not exactly correspond to the input frequency. >> it is pretty close at low frequencies but gets worse at higher frequencies. >> the factor is not constant. at even higher frequencies (around 5000 hertz) >> the reported frequency gets totally out of control. >> >> i first thought this is because the samphold~ object is inaccurate. but i >> then saw that the sawtooth wave from the rpole~ object has no constant >> amplitude even with the input frequency not changing. so it seems that >> either rpole~ or change~ is not accurate. >> >> or the problem is that i sample in the middle of the rising and not at the >> top ( as described earlier) >> >> attached the sinetosawtooth patch. set your sound card to 44100 or change >> the 22050 in fexpr~ to half the sampling frequency. >> >> i would really appreciate if somebody could have a look at this, >> >> thanks, simon >> > > >> _______________________________________________ >> Pd-list@iem.at mailing list >> UNSUBSCRIBE and account-management -> >> http://lists.puredata.info/listinfo/pd-list > _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list