A simple-to-use sound file writer

Alf P. Steinbach alfps at start.no
Thu Jan 14 15:01:05 CET 2010

* Steve Holden:
> Alf P. Steinbach wrote:
>> Just as a contribution, since someone hinted that I haven't really
>> contributed much to the Python community.
>> The [simple_sound] code will probably go into my ch 3 at <url:
>> http://tinyurl.com/programmingbookP3>, but sans sine wave generation
>> since I haven't yet discussed trig functions, and maybe /with/ changes
>> suggested by you?
> I wouldn't hold back on the sine wave just because it would represent a
> "forward reference". That's OK sometimes. Why not just put a comment in
> to the effect that "The sine wave is created using a function from the
> math module, which we'll be looking at in ..."?
> Since the sine is the basis for all other waveforms its omission would
> seem more than a little strange to anyone knowledgeable about audio, for
> example.

I don't know very much if anything about audio. For example, in the code what I 
called "sawtooth" wave is really "triangle" wave. The sawtooth is simpler, what 
I called "linear" in the code.

And if you wonder, I was just checking the terminology now before starting to 
write it up... Perhaps should have done that before posting code. But once I got 
the idea of posting it I just posted it.

Anyway, as I recall any wave can be decomposed into sine waves, or square waves, 
or almost whatever kind of waves. Think about a square wave of frequency f and 
one of frequency 3f and perhaps third the amplitude (not sure), combined that's 
already a good start on a sine wave. With some ugly staircasing but hey. And as 
a matter of programming practicality, a triangle wave sounds almost like a sine 
wave. It's just a little more edgy or "hairy", a slight buzz.


- Alf

More information about the Python-list mailing list