crosspost! sorry about the noise. thanks for the inputs i will try to to this. 
not sure if i can. otherwise i will ask back if that’s ok!
On 27 Apr 2014, at 13:03, Simon Iten <itensi...@gmail.com> wrote:

> 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

Reply via email to