Re: AnalyzerNode - magnitude/phase

Hi all,

I wrote a similar email out to this group a few weeks ago but never
followed up with it. I agree with the notion that the phase data should be
accessible too, as there are certainly useful possibilities for an
AnalyserNode outside of visualization.

Digging through the webkit source code on github, it seems like it would be
a simple matter to augment the `getFloatFrequencyData()` method to accept
two arrays as arguments (one for the real numbers, one for the imaginary
numbers) and just write the values to both of them rather than calculating
the magnitude:
https://github.com/WebKit/webkit/blob/master/Source/WebCore/Modules/webaudio/RealtimeAnalyser.cpp#L195

With that, I'd put in a vote for Chris' option (i).

Cheers,
Nick


On Fri, Sep 27, 2013 at 10:18 AM, Chris Lilley <chris@w3.org> wrote:

> Hello Chris,
>
> Friday, September 27, 2013, 11:22:52 AM, you wrote:
>
> > i) Allow getFloatFrequencyData() to return an array of complex values
> somehow.
>
> Seems more technically correct and less likely to be implemented (oh
> no, complex numbers)
>
> > ii) Add methods for getRealFrequencyData() and
> getImaginaryFrequencyData()
>
> ditto (name is correct but scary)
>
> > iii) Add getFloatPhaseData() which would return the phase of the
> > calculated spectrum, and leave getFloatFrequencyData() returning the
> > magnitude.
>
> That seems like the best option to me. And yes, getting the phase is
> useful. What about an allpass filter as an example? Square waves in,
> tilted square waves out, that sort of thing.
>
>
> --
> Best regards,
>  Chris                            mailto:chris@w3.org
>
>
>


-- 
Nicholas Thompson
B.S. Computer Science
Cornell University, 2013

Received on Friday, 27 September 2013 17:43:42 UTC