wave
index
/usr/lib/python1.5/wave.py
 

# Stuff to parse WAVE files.
#
# Usage.
#
# Reading WAVE files:
#       f = wave.open(file, 'r')
# where file is either the name of a file or an open file pointer.
# The open file pointer must have methods read(), seek(), and close().
# When the setpos() and rewind() methods are not used, the seek()
# method is not  necessary.
#
# This returns an instance of a class with the following public methods:
#       getnchannels()  -- returns number of audio channels (1 for
#                          mono, 2 for stereo)
#       getsampwidth()  -- returns sample width in bytes
#       getframerate()  -- returns sampling frequency
#       getnframes()    -- returns number of audio frames
#       getcomptype()   -- returns compression type ('NONE' for linear samples)
#       getcompname()   -- returns human-readable version of
#                          compression type ('not compressed' linear samples)
#       getparams()     -- returns a tuple consisting of all of the
#                          above in the above order
#       getmarkers()    -- returns None (for compatibility with the
#                          aifc module)
#       getmark(id)     -- raises an error since the mark does not
#                          exist (for compatibility with the aifc module)
#       readframes(n)   -- returns at most n frames of audio
#       rewind()        -- rewind to the beginning of the audio stream
#       setpos(pos)     -- seek to the specified position
#       tell()          -- return the current position
#       close()         -- close the instance (make it unusable)
# The position returned by tell() and the position given to setpos()
# are compatible and have nothing to do with the actual postion in the
# file.
# The close() method is called automatically when the class instance
# is destroyed.
#
# Writing WAVE files:
#       f = wave.open(file, 'w')
# where file is either the name of a file or an open file pointer.
# The open file pointer must have methods write(), tell(), seek(), and
# close().
#
# This returns an instance of a class with the following public methods:
#       setnchannels(n) -- set the number of channels
#       setsampwidth(n) -- set the sample width
#       setframerate(n) -- set the frame rate
#       setnframes(n)   -- set the number of frames
#       setcomptype(type, name)
#                       -- set the compression type and the
#                          human-readable compression type
#       setparams(tuple)
#                       -- set all parameters at once
#       tell()          -- return current position in output file
#       writeframesraw(data)
#                       -- write audio frames without pathing up the
#                          file header
#       writeframes(data)
#                       -- write audio frames and patch up the file header
#       close()         -- patch up the file header and close the
#                          output file
# You should set the parameters before the first writeframesraw or
# writeframes.  The total number of frames does not need to be set,
# but when it is set to the correct value, the header does not have to
# be patched up.
# It is best to first set all parameters, perhaps possibly the
# compression type, and then write audio frames using writeframesraw.
# When all frames have been written, either call writeframes('') or
# close() to patch up the sizes in the header.
# The close() method is called automatically when the class instance
# is destroyed.

   
Modules
                        
__builtin__
struct

   
Classes
                        
Chunk
Wave_read
Wave_write

   
class Chunk
              
__init__(self, file)
read(self, length)
rewind(self)
setpos(self, pos)
skip(self)

   
class Wave_read
              
__del__(self)
__init__(self, f)
_read_fmt_chunk(self, chunk)
close(self)
getcompname(self)
getcomptype(self)
getfp(self)
getframerate(self)
getmark(self, id)
getmarkers(self)
getnchannels(self)
getnframes(self)
getparams(self)
getsampwidth(self)
initfp(self, file)
readframes(self, nframes)
rewind(self)
setpos(self, pos)
tell(self)

   
class Wave_write
              
__del__(self)
__init__(self, f)
_ensure_header_written(self, datasize)
_patchheader(self)
_write_header(self, initlength)
close(self)
getcompname(self)
getcomptype(self)
getframerate(self)
getmark(self, id)
getmarkers(self)
getnchannels(self)
getnframes(self)
getparams(self)
getsampwidth(self)
initfp(self, file)
setcomptype(self, comptype, compname)
setframerate(self, framerate)
setmark(self, id, pos, name)
setnchannels(self, nchannels)
setnframes(self, nframes)
setparams(self, (nchannels, sampwidth, framerate, nframes, comptype, compname))
setsampwidth(self, sampwidth)
tell(self)
writeframes(self, data)
writeframesraw(self, data)

   
Constants
                        
Error = 'wave.Error'
WAVE_FORMAT_PCM = 1
big_endian = 0