[PD-dev] oscillator lib

Andy Farnell padawan12 at obiwannabe.co.uk
Sat Dec 22 02:07:21 CET 2007



Two quick thoughts;

Watch out for clashes with square~ (as in x^2) - I thinkk I've seen patches
with that trivial abstraction, but it might have been [squared~]

Maybe truncate trianglebl~ and varitriangle~ to tribl~ varitri~ (good to keep
names less than 8 chars)

On Fri, 21 Dec 2007 16:36:03 -0800
Hans-Christoph Steiner <hans at eds.org> wrote:

> 
> I think we can safely eliminate the "osc" from the names since there  
> won't be a lot of overlap.  Also, since everything is a float, I  
> think it makes sense to standardize on 0-to-1 range.  That's the  
> standard range for amplitude, OpenGL colors, and the mapping library,  
> and I think it makes sense to use it here.
> 
> For example, the pulse width could be 0.000001 to 1, with 1 being  
> DC.  For parameters that are an angle, then radians makes the most  
> sense, and Hertz for frequency, IMHO.  Here's my sketch for the names:
> 
> > square~     (50% duty cycle standard square)
> > squarebl~   (bandlimited square type)
> > triangle~     (standard triangle)
> > trianglebl~   (bandlimited triangle)
> > pwm~     (pulse width 0.0001 to 1 duty)
> > sawtooth~     (sawtooth - just a 0 centered phasor)
> > sawtoothbl~   (bandlimited saw)
> > varitriangle~     (vari-slope triangle, from sawtooth to inverse  
> > sawtooth)
> > circle~    (circle - square root of cosine)
> > pulse~   (sin(x)/x pulse with variable width)
> 
> Are there existing Pd implementations of all these?  I think there  
> could be an 'oscillators' lib made of all Pd patches.  Then someone  
> could make a 'simd_oscillators' with the exact same names and  
> interface, for optimization.
> 
> .hc
> 
> On Dec 21, 2007, at 3:20 PM, Andy Farnell wrote:
> 
> >
> >
> > Yes! Must have implemented them all a hundered times over
> > by now and getting rather fed up of it.
> >
> >
> > I suggest the names
> >
> > sqrosc~     (50% duty cycle standard square)
> > sqrblosc~   (bandlimited square type)
> > triosc~     (standard triangle)
> > triblosc~   (bandlimited triangle)
> > pwmosc~     (pulse width 0.0001 to 99.9999 duty)
> > sawosc~     (sawtooth - just a 0 centered phasor)
> > sawblosc~   (bandlimited saw)
> > vstosc~     (vari-slope triangle, from sawtooth to inverse sawtooth)
> > circosc~    (circle - square root of cosine)
> > pulseosc~   (sin(x)/x pulse with variable width)
> >
> >
> >
> >
> >
> > On Fri, 21 Dec 2007 12:43:17 -0800
> > Hans-Christoph Steiner <hans at eds.org> wrote:
> >
> >>
> >> There are a number of standard oscillators used in synthesis, I think
> >> it would be very useful to have a standard library of them.  I think
> >> at this point there are already implementations of all of the
> >> oscillators that I can think of, what needs to be done now is to
> >> define a standard interface and naming scheme, and collect them into
> >> a standard library.
> >>
> >> One question I have is whether they should all be bandwidth-limited,
> >> based on the current sample rate, or whether this library should have
> >> both versions.
> >>
> >> Anyone interested in working on this?  I think this would also be a
> >> building block for the standard synth lib that Ed is proposing.
> >>
> >> .hc
> >>
> >> --------------------------------------------------------------------- 
> >> ---
> >> ----
> >>
> >>                    ¡El pueblo unido jamás será vencido!
> >>
> >>
> >>
> >> _______________________________________________
> >> PD-dev mailing list
> >> PD-dev at iem.at
> >> http://lists.puredata.info/listinfo/pd-dev
> >
> >
> > -- 
> > Use the source
> >
> > _______________________________________________
> > PD-dev mailing list
> > PD-dev at iem.at
> > http://lists.puredata.info/listinfo/pd-dev
> 
> 
> 
> ------------------------------------------------------------------------ 
> ----
> 
> As we enjoy great advantages from inventions of others, we should be  
> glad of an opportunity to serve others by any invention of ours; and  
> this we should do freely and generously.         - Benjamin Franklin
> 
> 


-- 
Use the source




More information about the Pd-dev mailing list