W3C home > Mailing lists > Public > public-audio@w3.org > July to September 2012

Re: Wavetable example?

From: Peter van der Noord <peterdunord@gmail.com>
Date: Mon, 23 Jul 2012 11:17:10 +0200
Message-ID: <CAL9tNz9L38YP9sCUyyDcREnkEpPf_9QZZ19-Z0m1Md4-7Bp=8A@mail.gmail.com>
To: Marcus Geelnard <mage@opera.com>
Cc: Ray Bellis <ray@bellis.me.uk>, public-audio@w3.org
Ah, i see. Thanks for those explanations, i learned something :)

Peter

2012/7/23 Marcus Geelnard <mage@opera.com>

> Den 2012-07-22 20:17:06 skrev Ray Bellis <ray@bellis.me.uk>:
>
>
>  On 22/07/2012 13:58, Peter van der Noord wrote:
>>
>>> Hmmm, my math knowledge isnt of the level that i have an immediate idea
>>> about how that would work :)
>>>
>>
>> OK, here's a more concrete example.
>>
>> A square wave is defined as a series of the *odd* harmonics where the
>> contribution of each harmonic is inversely proportional to its harmonic
>> number.
>>
>> So the second, fourth, etc harmonics are all *zero*.
>>
>> The third harmonic is 1/3 the amplitude of the fundamental, and the fifth
>> is 1/5, etc.
>>
>> See http://en.wikipedia.org/wiki/**Square_wave<http://en.wikipedia.org/wiki/Square_wave>
>>
>> So the input "cos" table would just look like:
>>
>> [ 0, 1, 0, 1/3, 0, 1/5, 0, 1/7, 0, 1/9, ... ]
>>
>> The sin table for a square wave doesn't need any values because the
>> harmonics are all in phase.  So just use all zeroes.
>>
>>
> That's right. Another way of thinking of it is that the WaveTable is
> essentially the Fourier transform of a time domain periodic signal. So, if
> you have a single period of a time domain signal that you want to use as a
> WaveTable, take the FFT of that signal and use the real portion as the cos
> table, and the imaginary portion as the sin table (haven't tried it, but it
> should work).
>
> /Marcus
>
> --
> Marcus Geelnard
> Core Graphics Developer
> Opera Software ASA
>
Received on Monday, 23 July 2012 09:17:45 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 23 July 2012 09:17:45 GMT