[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