A simple-to-use sound file writer
steve at holdenweb.com
Thu Jan 14 17:07:07 CET 2010
Alf P. Steinbach wrote:
> * Steve Holden:
> With the goal of just a rough approximation you can go about it like this:
> 1. Divide a full cycle of the sine wave into n intervals. With
> sine wave frequency f this corresponds to n*f sample rate for digital
> 2. Each interval will be approximated by a rectangular bar extending
> up to or down to the sine wave. As it happens this (the bar's
> height) is
> the sample value in a digital representation.
> 3. In the first half of the cycle, for each bar create that bar as
> a square wave of frequency f, amplitude half the bar's height, and
> starting at the bar's left, plus same square wave with negative sign
> (inverted amplitude) and phase starting at the bar's right. And voilà,
> not only this bar generated but also the corresponding other-way
> bar in
> second half of cycle.
> 4. Sum all the square waves from step 3.
> 5. Let n go to infinity for utter perfectness! :-)
> And likewise for any other waveform.
> After all, it's the basis of digital representation of sound!
I'm sorry, but this is merely hand-waving. It looks appealing, but
there's no rigor there.
Steve Holden +1 571 484 6266 +1 800 494 3119
PyCon is coming! Atlanta, Feb 2010 http://us.pycon.org/
Holden Web LLC http://www.holdenweb.com/
UPCOMING EVENTS: http://holdenweb.eventbrite.com/
More information about the Python-list