Skip to content

Latest commit

 

History

History
51 lines (36 loc) · 1.95 KB

sndhdr.rst

File metadata and controls

51 lines (36 loc) · 1.95 KB

:mod:`sndhdr` --- Determine type of sound file

.. module:: sndhdr
   :synopsis: Determine type of a sound file.

.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>

Source code: :source:`Lib/sndhdr.py`

.. index::
   single: A-LAW
   single: u-LAW


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 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 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
   :func:`whathdr`.  If it succeeds, returns a namedtuple as described above, otherwise
   ``None`` is returned.

   .. versionchanged:: 3.5
      Result changed from a tuple to a namedtuple.


.. function:: whathdr(filename)

   Determines the type of sound data stored in a file based on the file  header.
   The name of the file is given by *filename*.  This function returns a namedtuple as
   described above on success, or ``None``.

   .. versionchanged:: 3.5
      Result changed from a tuple to a namedtuple.