| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | :mod:`sndhdr` --- Determine type of sound file
 | 
					
						
							|  |  |  | ==============================================
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. module:: sndhdr
 | 
					
						
							|  |  |  |    :synopsis: Determine type of a sound file.
 | 
					
						
							| 
									
										
										
										
											2022-03-23 22:13:08 +02:00
										 |  |  |    :deprecated: | 
					
						
							| 
									
										
										
										
											2016-06-11 15:02:54 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | .. 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 16:14:33 +00:00
										 |  |  | .. Based on comments in the module source file.
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-11 15:02:54 -04:00
										 |  |  | **Source code:** :source:`Lib/sndhdr.py`
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | .. index::
 | 
					
						
							|  |  |  |    single: A-LAW
 | 
					
						
							|  |  |  |    single: u-LAW
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-23 22:13:08 +02:00
										 |  |  | .. deprecated:: 3.11
 | 
					
						
							|  |  |  |    The :mod:`sndhdr` module is deprecated (see :pep:`594` for details).
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-01-27 20:38:46 +00:00
										 |  |  | --------------
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00: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 16:59:30 -04: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 14:28:22 +00: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 16:59:30 -04:00
										 |  |  |    :func:`whathdr`.  If it succeeds, returns a namedtuple as described above, otherwise
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  |    ``None`` is returned.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-10-09 16:59:30 -04:00
										 |  |  |    .. versionchanged:: 3.5
 | 
					
						
							|  |  |  |       Result changed from a tuple to a namedtuple.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | .. function:: whathdr(filename)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    Determines the type of sound data stored in a file based on the file  header.
 | 
					
						
							| 
									
										
										
										
											2014-10-09 16:59:30 -04:00
										 |  |  |    The name of the file is given by *filename*.  This function returns a namedtuple as
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  |    described above on success, or ``None``.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-10-09 16:59:30 -04:00
										 |  |  |    .. versionchanged:: 3.5
 | 
					
						
							|  |  |  |       Result changed from a tuple to a namedtuple.
 | 
					
						
							|  |  |  | 
 |