wave.readframes() (or conversion?)
Tim Roberts
timr at probo.com
Tue Sep 28 02:29:21 EDT 2004
Tim Roberts <timr at probo.com> wrote:
>andrea valle <andrea.valle at unito.it> wrote:
>>
>>I'm using wave module with success. I'm writing data to wave file.
>>Typically I create a list of values (data) and pass it to
>>.writeframes(data) methods.
>>
>>a = wave.open("/test.wav", "w")
>>a.writeframes([32000, 0])
>
>What version of Python are you using?? On my Win32 Python 2.3, writeframes
>accepts only strings, and only after you have set the frame rate, sample
>size, and number of channels.
For those who may be following this at home, Andrea and I had a private
e-mail exchange during which we discovered why HE was able to pass a list
of integers to wave.writeframes, while I got an error saying that it had to
be a string.
Turns out he's using a Mac, which is big-endian. On big-endian systems,
wave.writeframes passes its first parameter to array.array, calls byteswap,
and uses array.tofile to write it out. array.array accepts a list.
--
- Tim Roberts, timr at probo.com
Providenza & Boekelheide, Inc.
More information about the Python-list
mailing list