[PD-dev] oscillator lib

Hans-Christoph Steiner hans at eds.org
Sat Dec 22 01:36:03 CET 2007


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






More information about the Pd-dev mailing list