* Alf P. Steinbach:
* Steve Holden:
Alf P. Steinbach wrote:
* Steve Holden:
Alf P. Steinbach wrote:
* Grant Edwards:
On 2010-01-15, Steve Holden <st...@holdenweb.com> wrote:

I will, however, observe that your definition of a square wave is
what I
would have to call a "'square' wave" (and would prefer to call a
"pulse
train"), as I envisage a square wave as a waveform having a 50% duty
cycle, as in

 ___     ___
|   |   |   |
|   |   |   |
|   |   |   |
+---+---+---+---+ and so on ad infinitum, (though I might allow you
    |   |   |   |                          to adjust the position
    |   |   |   |                          of y=0 if you want)
    |___|   |___|
That is a square wave.

as opposed to your

         _
        | |
        | |
  ______| |______   ______
                 | |
                 | |
                 |_|
That isn't.

Arguing to the contrary is just being Humpty Dumpty...
Neither I nor Steve has called that latter wave a square wave.

Steve, quoted above, has written that I defined a square wave that way. I have not. So Steve's statement is a misrepresentation (I described it as a sum of two square waves, which it is), whatever the reason for that
misrepresentation.



[snip]
So here you have an interesting example of a
piece of code that is pathological in Python2. All you have to change is
to add

  from __future__ import __division__

and bingo! It's a multi-language program. But try seeing what 2to3 says
about your Python3 code :)

I will forgive you the omission of the ".0" because I too would assume
that it would be slower.

I did not make any such assumption, no. The *1 just lingered from some testing.


[snip]
and so on, but I still get silence from the Quicktime player.

I don't know, sorry.

It might be that [simple_sound] also needs the "from __future__" treatment.

But anyway, with 2.x compatible code you can now see that the sample values produced are correct (just print them, or graph them).

I have now installed CPython 2.6.4 and the code presented upthread (the one with divisions fixed for 2.x compatibility) worked nicely with CPython 2.6.4, even though with a deprecation warning.

It produced the exact same sound file (bytes) as with CPython 3.1.1.

And the QuickTime 7.3 player played it with no problem, a base A pure sinewave, composed utterly of 50% duty cycle square waves, resounding in my headphones -- it also works with WinAmp 5.54, Windows Mediaplayer 10.00 and VLC 0.9.9, i.e. I'm unable to reproduce the problem.

So I suspect that you may lack a suitable codec, or it might be a PEBKAC 
problem?


Cheers & hth.,

- Alf

PS: I had expected some jaggies and such since I only divided the cycle into 100 intervals, but graphing the data in Excel it showed a perfect sine. :-)
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to