Re: [Bug 21980] New: WaveTable is highly underspecified

On Wed, May 8, 2013 at 8:46 PM, <rbj@audioimagination.com> wrote:

>
>
> it seems to me that if the createWaveTable() method is, essentially, an
> inverse DFT.  is it anything else?
>
That's the basic idea, but then this time-domain version has to be sampled
at many different rates, so we want to avoid aliasing.  In WebKit (Blink is
the same) we use a multi-table approach (similar to mipmaps for graphics)
where each table uses an inverse DFT, culling out an appropriate number of
aliasing harmonics.  Then when we render the waveform, we select which two
adjacent tables to use, interpolate between those two, and then use linear
interpolation...
https://svn.webkit.org/repository/webkit/trunk/Source/WebCore/Modules/webaudio/WaveTable.cpp
https://svn.webkit.org/repository/webkit/trunk/Source/WebCore/Modules/webaudio/OscillatorNode.cpp

We have tests where we load up a WaveTable and use it with an
OscillatorNode, sweeping the frequency from very low to high (something
like 10Hz -> 20KHz), checking that the aliasing isn't too bad...

Chris




>
> ---------------------------- Original Message ----------------------------
> Subject: [Bug 21980] New: WaveTable is highly underspecified
> From: bugzilla@jessica.w3.org
> Date: Wed, May 8, 2013 11:10 pm
> To: public-audio@w3.org
> --------------------------------------------------------------------------
>
>
> > https://www.w3.org/Bugs/Public/show_bug.cgi?id=21980
> >
> > Bug ID: 21980
> > Summary: WaveTable is highly underspecified
> > Classification: Unclassified
> > Product: AudioWG
> > Version: unspecified
> > Hardware: PC
> > OS: All
> > Status: NEW
> > Severity: normal
> > Priority: P2
> > Component: Web Audio API
> > Assignee: crogers@google.com
> > Reporter: ehsan@mozilla.com
> > QA Contact: public-audio@w3.org
> >
> > It's not clear what it really needs to do with its real and imaginary
> > arguments.
> >
>
>

Received on Thursday, 9 May 2013 03:55:23 UTC