| 
									
										
										
										
											1999-01-05 23:09:12 +00:00
										 |  |  | \section{\module{sndhdr} --- | 
					
						
							|  |  |  |          Determine type of sound file.} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \declaremodule{standard}{sndhdr} | 
					
						
							|  |  |  | \modulesynopsis{Determine type of a sound file.} | 
					
						
							|  |  |  | \sectionauthor{Fred L. Drake, Jr.}{fdrake@acm.org} | 
					
						
							|  |  |  | % Based on comments in the module source file.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The \module{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 tuple \code{(\var{type}, \var{sampling_rate}, | 
					
						
							|  |  |  | \var{channels}, \var{frames}, \var{bits_per_sample})}.  The value for | 
					
						
							|  |  |  | \var{type} indicates the data type and will be one of the strings | 
					
						
							|  |  |  | \code{'aifc'}, \code{'aiff'}, \code{'au'}, \code{'hcom'}, | 
					
						
							|  |  |  | \code{'sndr'}, \code{'sndt'}, \code{'voc'}, \code{'wav'}, | 
					
						
							|  |  |  | \code{'8svx'}, \code{'sb'}, \code{'ub'}, or \code{'ul'}.  The | 
					
						
							|  |  |  | \var{sampling_rate} will be either the actual value or \code{0} if | 
					
						
							|  |  |  | unknown or difficult to decode.  Similarly, \var{channels} will be | 
					
						
							|  |  |  | either the number of channels or \code{0} if it cannot be determined | 
					
						
							|  |  |  | or if the value is difficult to decode.  The value for \var{frames} | 
					
						
							|  |  |  | will be either the number of frames or \code{-1}.  The last item in | 
					
						
							|  |  |  | the tuple, \var{bits_per_sample}, will either be the sample size in | 
					
						
							|  |  |  | bits or \code{'A'} for A-LAW\index{A-LAW} or \code{'U'} for | 
					
						
							|  |  |  | u-LAW\index{u-LAW}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{what}{filename} | 
					
						
							|  |  |  |   Determines the type of sound data stored in the file \var{filename} | 
					
						
							| 
									
										
										
										
											1999-01-06 15:21:19 +00:00
										 |  |  |   using \function{whathdr()}.  If it succeeds, returns a tuple as | 
					
						
							|  |  |  |   described above, otherwise \code{None} is returned. | 
					
						
							| 
									
										
										
										
											1999-01-05 23:09:12 +00:00
										 |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{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 \var{filename}.  This | 
					
						
							|  |  |  |   function returns a tuple as described above on success, or | 
					
						
							|  |  |  |   \code{None}. | 
					
						
							|  |  |  | \end{funcdesc} |