2007-08-15 11:28:22 -03:00
|
|
|
:mod:`sndhdr` --- Determine type of sound file
|
|
|
|
==============================================
|
|
|
|
|
|
|
|
.. module:: sndhdr
|
|
|
|
:synopsis: Determine type of a sound file.
|
|
|
|
.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
|
Merged revisions 59605-59624 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r59606 | georg.brandl | 2007-12-29 11:57:00 +0100 (Sat, 29 Dec 2007) | 2 lines
Some cleanup in the docs.
........
r59611 | martin.v.loewis | 2007-12-29 19:49:21 +0100 (Sat, 29 Dec 2007) | 2 lines
Bug #1699: Define _BSD_SOURCE only on OpenBSD.
........
r59612 | raymond.hettinger | 2007-12-29 23:09:34 +0100 (Sat, 29 Dec 2007) | 1 line
Simpler documentation for itertools.tee(). Should be backported.
........
r59613 | raymond.hettinger | 2007-12-29 23:16:24 +0100 (Sat, 29 Dec 2007) | 1 line
Improve docs for itertools.groupby(). The use of xrange(0) to create a unique object is less obvious than object().
........
r59620 | christian.heimes | 2007-12-31 15:47:07 +0100 (Mon, 31 Dec 2007) | 3 lines
Added wininst-9.0.exe executable for VS 2008
Integrated bdist_wininst into PCBuild9 directory
........
r59621 | christian.heimes | 2007-12-31 15:51:18 +0100 (Mon, 31 Dec 2007) | 1 line
Moved PCbuild directory to PC/VS7.1
........
r59622 | christian.heimes | 2007-12-31 15:59:26 +0100 (Mon, 31 Dec 2007) | 1 line
Fix paths for build bot
........
r59623 | christian.heimes | 2007-12-31 16:02:41 +0100 (Mon, 31 Dec 2007) | 1 line
Fix paths for build bot, part 2
........
r59624 | christian.heimes | 2007-12-31 16:18:55 +0100 (Mon, 31 Dec 2007) | 1 line
Renamed PCBuild9 directory to PCBuild
........
2007-12-31 12:14:33 -04:00
|
|
|
.. Based on comments in the module source file.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
.. index::
|
|
|
|
single: A-LAW
|
|
|
|
single: u-LAW
|
|
|
|
|
2011-01-27 16:38:46 -04:00
|
|
|
**Source code:** :source:`Lib/sndhdr.py`
|
|
|
|
|
|
|
|
--------------
|
|
|
|
|
2007-08-15 11:28:22 -03:00
|
|
|
The :mod:`sndhdr` provides utility functions which attempt to determine the type
|
|
|
|
of sound data which is in a file. When these functions are able to determine
|
2014-10-09 17:59:30 -03:00
|
|
|
what type of sound data is stored in a file, they return a
|
|
|
|
:func:`~collections.namedtuple`, containing five attributes: (``filetype``,
|
|
|
|
``framerate``, ``nchannels``, ``nframes``, ``sampwidth``). The value for *type*
|
2007-08-15 11:28:22 -03:00
|
|
|
indicates the data type and will be one of the strings ``'aifc'``, ``'aiff'``,
|
|
|
|
``'au'``, ``'hcom'``, ``'sndr'``, ``'sndt'``, ``'voc'``, ``'wav'``, ``'8svx'``,
|
|
|
|
``'sb'``, ``'ub'``, or ``'ul'``. The *sampling_rate* will be either the actual
|
|
|
|
value or ``0`` if unknown or difficult to decode. Similarly, *channels* will be
|
|
|
|
either the number of channels or ``0`` if it cannot be determined or if the
|
|
|
|
value is difficult to decode. The value for *frames* will be either the number
|
|
|
|
of frames or ``-1``. The last item in the tuple, *bits_per_sample*, will either
|
|
|
|
be the sample size in bits or ``'A'`` for A-LAW or ``'U'`` for u-LAW.
|
|
|
|
|
|
|
|
|
|
|
|
.. function:: what(filename)
|
|
|
|
|
|
|
|
Determines the type of sound data stored in the file *filename* using
|
2014-10-09 17:59:30 -03:00
|
|
|
:func:`whathdr`. If it succeeds, returns a namedtuple as described above, otherwise
|
2007-08-15 11:28:22 -03:00
|
|
|
``None`` is returned.
|
|
|
|
|
2014-10-09 17:59:30 -03:00
|
|
|
.. versionchanged:: 3.5
|
|
|
|
Result changed from a tuple to a namedtuple.
|
|
|
|
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
.. function:: whathdr(filename)
|
|
|
|
|
|
|
|
Determines the type of sound data stored in a file based on the file header.
|
2014-10-09 17:59:30 -03:00
|
|
|
The name of the file is given by *filename*. This function returns a namedtuple as
|
2007-08-15 11:28:22 -03:00
|
|
|
described above on success, or ``None``.
|
|
|
|
|
2014-10-09 17:59:30 -03:00
|
|
|
.. versionchanged:: 3.5
|
|
|
|
Result changed from a tuple to a namedtuple.
|
|
|
|
|