W3C home > Mailing lists > Public > public-audio@w3.org > October to December 2012

Re: Phase offset for OscillatorNodes?

From: redman <redman@redman.demon.nl>
Date: Tue, 27 Nov 2012 05:53:18 +0100
Message-ID: <50B4473E.8060408@redman.demon.nl>
To: public-audio@w3.org
Hi Kumar,

Maybe i can explain.
Such a parameter would affect the whole cycle so every component is 
shifted by an equal amount of time.
The difference with a delay is that phase wraps around.

In fact, a simple but common implementation of an oscillator is scanning 
through an array containing one cycle of sample data.
Scanning means you have a pointer to an element in the array and for 
every required sample you read the vale at that position and increase 
the position by some amount related to frequency.
When you reach the end of the array you simply wrap around to the beginning.
The phase offset would just be a further offset in the position that you 
scan.

It allows for setting a precise and frequency related phase relation 
between oscillators when used statically.
It can be used for sound effects when modulated at slow rates.
And it can be used for phase modulation synthesis when modulated at 
audio frequencies with periodic sginals.

greets,
red

On 27-Nov-12 4:47, Srikumar Karaikudi Subramanian wrote:
> Hi Jussi and others,
>
> Some questions came to my mind -
>
> When an oscillator node generates a signal based on a given wavetable (or "fourier series" or whatever it is going to be renamed as) that has multiple frequency components in it, which component(s) would such a phase offset change? Only the fundamental f0? ... or will n x phaseOffset will be used for each of the n x f0 frequency components, which amounts to a time delay of the signal? ... Or is it going to apply only in the sine/square/triangle cases and remain an unused parameter in the case of wavetables?
>
> If the n x phaseOffset approach is going to be taken, why not just call it "delay"? ... and what are the cases in which tacking on a delay node to the current oscillator node won't do to achieve the phase shift?
>
> Best,
> -Kumar
>
> On 27 Nov, 2012, at 3:08 AM, Jussi Kalliokoski<jussi.kalliokoski@gmail.com>  wrote:
>
>> +1 indeed!
>>
>> On Nov 26, 2012 11:06 PM, "Chris Wilson"<cwilso@google.com>  wrote:
>>> +1!
>>>
>>>
>>> On Mon, Nov 26, 2012 at 12:30 PM, Patrick Borgeat<patrick.borgeat@gmail.com>  wrote:
>>>> Sounds awesome!
>>>>
>>>>
>>>> 2012/11/26 Chris Rogers<crogers@google.com>
>>>>> Yeah, .phaseOffset is really what it needs to be I think.  This would be additive with the cummulative phase from .frequency (and .detune).  This seems nice since if you set .frequency to 0, then there would be no cummulative phase and you could control the phase directly with .phaseOffset.  How does that sound?
>>>>
>
Received on Tuesday, 27 November 2012 04:53:50 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:50:03 UTC