Re: [web-audio-api testing] Best way of testing an AudioNode output

Hi Chris,
Thanks for your input and suggestions. Sorry for the delay in my response,
I'm between countries at the moment.
I'll try the approach you suggested via offline rendering, and comparing
the audio buffer.
Hopefully I can get to that this week and send you a pull request to review.

For other tests, can you send me an example of generating expected results
through javascript? Curious about that approach.
In the gain node test that i attach it compares to a pre generated wave
file.

Thanks,
Amitay
On Oct 28, 2013 9:53 AM, "Chris Lowis" <chris.lowis@gmail.com> wrote:

> Hi Amitay,
>
> Thanks for taking a look at this. The approach we decided was to use
> OfflineAudioContext, but to generate the expected output in pure
> javascript where possible (for example, the expected output of the
> OscillatorNode set to generate a sine wave would be compared to that
> generated using Math.sin()) rather than using wav files to contain the
> expected output.
>
> Using OfflineAudioContext allows the tests to run faster than real time.
>
> MediaElementSourceNode might be a bit tricky to test. The Web platform
> tests have a mechanism for serving up test files, so perhaps we could
> use a file delivered through an <audio> tag, compared to the same file
> loaded into an audiobuffer?
>
> Any questions, please ask away - or if you'd like to work on some code
> together, submit a pull request to web platform tests and I can take a
> look.
>
> Cheers,
>
> Chris
>
>
> On 26 October 2013 21:40, Amitay Dobo <amitayd@gmail.com> wrote:
> > Hi,
> > I'm trying to come up with a test for expected
> > MediaElementAudioSourceNode  output behavior.
> > However, I'm not sure what is the preferred way to test it as a unit,
> > without testing other components as a side effect.
> >
> > Some approaches:
> > 1) Using OfflineAudioContext as in the current Web Platform Audio test
> > (
> https://github.com/w3c/web-platform-tests/blob/master/webaudio/the-audio-api/the-gainnode-interface/test.html
> )
> >
> > 2) Using an Analyser node (preliminary test at
> http://jsfiddle.net/UbHHr/8/)
> >
> > 3) Using a ScriptProcessor node (preliminary test at
> > http://jsfiddle.net/Jqmr2/12/ ).
> >
> > I want to to limit as much as possible depenencies in other components.
> > Would be happy to hear your thoughts and suggestions.
> >
> > Cheers,
> > Amitay
> >
> > P.S. This is a test I find important right now, since In firefox
> > nightly and older webkit browsers (i.e. Safari 6) connecting a
> > MediaElement source to either ProcessorNode or AnalyserNode does not
> > yield expected results.
> >
>

Received on Tuesday, 29 October 2013 23:07:42 UTC