nice changes with expr~ ! but i think you missed the point of the beginning of 
the patch. read in my first e-mail for an explanation of what this patch does 
exactly. it is an gr300 analog guitar synthesizer clone (well one voice of it). 
it is intended for real-life signals so there needs to be an adaptive filter in 
the beginning (with the pitch info we get from the two rpole~
 objects) and the signal needs to be squared to get the longest possible 
sustain (envelope is re added later obviously). also i think response is faster 
when squared, or not?

thanks for the changes, greatly appreciated!

simon

> Well i know exactly what the Patch does... I just dont know why the two 
> numbers before the Addition Need to be -1 And -2 :-)
> 
> Will Look at your Version asap. 
> 
> Cheers
> 
> Am 29.04.2014 um 02:00 schrieb Alexandre Torres Porres <por...@gmail.com>:
> 
>> I have no idea what the patch is doing either, but I was able to clean it a 
>> lot.
>> 
>> many things that didn't need to be there
>> 
>> cheers
>> 
>> 
>> 2014-04-28 3:52 GMT-03:00 Simon Iten <itensi...@gmail.com>:
>> roman, thanks for your inputs.
>> 
>> i tried both fexpr and expr and sticked to fexpr at some point, don’t know 
>> why though. will change it back!  (i remember reading that fexpr was more 
>> expensive but also more precise)
>> 
>> to make the whole thing work with real world signals (bass guitar in my 
>> case) you have to add an adaptive filter in the beginning of the chain 
>> (which is very easy because you get the frequency information hehe…) this 
>> will filter out overtones and prevent octave jumping.
>> 
>> thanks
>> 
>> simon
>> 
>> On 28 Apr 2014, at 08:39, Roman Haefeli <reduz...@gmail.com> wrote:
>> 
>> > That works very well. Good job and thanks for sharing!
>> >
>> > One minor thing jumped to my eye: Your patch uses some instances of
>> > [fexpr~] and all of them actually don't need [fexpr~] functionality. I
>> > experienced that [fexpr~] is quite expensive, which seems apparent
>> > considering it is designed for feedback algorithms. I don't know if
>> > [fexpr~] is also expensive when you use it not for feedbacks as your
>> > patch does. Anyway, you could replace them by likely less expensive
>> > [expr~] instances:
>> >
>> > [fexpr~ $x1>=0] -> [expr~ $v1>=0]
>> >
>> > Roman
>> >
>> >
>> >
>> > On Mon, 2014-04-28 at 00:59 +0200, simon wrote:
>> >> hey miller and list,
>> >>
>> >>
>> >> find attached a version that works beautifully. it's a dirty hack without 
>> >> upsampling but it works extremly well. don't ask me why, i have no idea.
>> >>
>> >> thanks for all the help miller, really appreciate it! and thanks for pd 
>> >> in general :-)
>> >>
>> >> cheers,
>> >>
>> >> simon
>> >>
>> >> On Apr 27, 2014, at 8:59 PM, Simon Iten wrote:
>> >>
>> >>> sorry this one went off-list :-)
>> >>>
>> >>>
>> >>> On 27 Apr 2014, at 19:05, simon <itensi...@gmail.com> wrote:
>> >>>
>> >>>> sure,
>> >>>>
>> >>>> here is the version with biquad in a subpatch with a block opject to 
>> >>>> upsample. probably i'm doing something wrong, i just copied from the 
>> >>>> block help-patch.
>> >>>>
>> >>>> <sinetosawtoothupsample.pd>
>> >>>>
>> >>>> On Apr 27, 2014, at 5:48 PM, Miller Puckette wrote:
>> >>>>
>> >>>>> Drat, I don't have any explanation for this...  can you send me the 
>> >>>>> patch
>> >>>>> again?
>> >>>>> cheers
>> >>>>> M
>> >>>>>
>> >>>>> On Sun, Apr 27, 2014 at 05:44:22PM +0200, simon wrote:
>> >>>>>> hmm, changing change to biquad does also not work. i mean it does as 
>> >>>>>> long as i don't upsample in the subpatch. as soon as i change the 
>> >>>>>> block object i get square instead of pulses...
>> >>>>>>
>> >>>>>> On Apr 27, 2014, at 3:48 PM, Miller Puckette wrote:
>> >>>>>>
>> >>>>>>> Actually I don't know where the change~ object is from - I've nver 
>> >>>>>>> seen t
>> >>>>>>> before.  I would just use biquad~ 0 0 1 -1 0 (assuming that change~ 
>> >>>>>>> simply
>> >>>>>>> ubtracts the previous sample from teh current one as I guessed from 
>> >>>>>>> the patch :)
>> >>>>>>>
>> >>>>>>> M
>> >>>>>>>
>> >>>>>>> On Sun, Apr 27, 2014 at 03:40:01PM +0200, Simon Iten wrote:
>> >>>>>>>> ok tried to upsample the whole thing (after the osc~) and now 
>> >>>>>>>> change~ does nothing anymore… it just spits out the same square 
>> >>>>>>>> wave i feed in…clues?
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>> On 27 Apr 2014, at 13:05, Simon Iten <itensi...@gmail.com> wrote:
>> >>>>>>>>
>> >>>>>>>>> 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
>> >
>> >
>> >
>> > _______________________________________________
>> > 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
>> 
>> <sinetosawtooth-II.pd>

_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to