"sndhdr" --- サウンドファイルの識別
***********************************

**ソースコード:** Lib/sndhdr.py

バージョン 3.11 で非推奨、バージョン 3.13 で削除予定: The "sndhdr"
module is deprecated (see **PEP 594** for details and alternatives).

======================================================================

"sndhdr" モジュールには、ファイルに保存されたサウンドデータの形式を識
別するのに便利な関数が定義されています。どんな形式のサウンドデータがフ
ァイルに保存されているのか識別可能な場合、これらの関数は5つの属性、つ
まり("filetype", "framerate", "nchannels", "nframes", "sampwidth")で構
成される "namedtuple()" を返します。 *type* はデータの形式を示す文字列
で、 "'aifc'", "'aiff'", "'au'", "'hcom'", "'sndr'", "'sndt'",
"'voc'", "'wav'", "'8svx'", "'sb'", "'ub'", "'ul'" のうちの一つです。
*sampling_rate* は実際のサンプリングレート値で、未知の場合や読み取るこ
とが出来なかった場合は "0" です。同様に、 *channels* はチャンネル数で
、識別できない場合や読み取ることが出来なかった場合は "0" です。
*frames* はフレーム数で、識別できない場合は "-1" です。タプルの最後の
要素 *bits_per_sample* はサンプルサイズを示すビット数ですが、A-LAWなら
"'A'", u-LAWなら "'U'" です。

sndhdr.what(filename)

   "whathdr()" を使って、ファイル *filename* に保存されたサウンドデー
   タの形式を識別します。識別可能なら上記のnamedtupleを返し、識別でき
   ない場合は "None" を返します。

   バージョン 3.5 で変更: 結果が tuple から namedtuple に変更されまし
   た。

sndhdr.whathdr(filename)

   ファイルのヘッダ情報をもとに、保存されたサウンドデータの形式を識別
   します。ファイル名は *filename* で渡されます。識別可能なら上記の
   namedtuple を返し、識別できない場合は "None" を返します。

   バージョン 3.5 で変更: 結果が tuple から namedtuple に変更されまし
   た。

The following sound header types are recognized, as listed below with
the return value from "whathdr()": and "what()":

+--------------+--------------------------------------+
| 値           | Sound header format                  |
|==============|======================================|
| "'aifc'"     | Compressed Audio Interchange Files   |
+--------------+--------------------------------------+
| "'aiff'"     | Audio Interchange Files              |
+--------------+--------------------------------------+
| "'au'"       | Au Files                             |
+--------------+--------------------------------------+
| "'hcom'"     | HCOM Files                           |
+--------------+--------------------------------------+
| "'sndt'"     | Sndtool Sound Files                  |
+--------------+--------------------------------------+
| "'voc'"      | Creative Labs Audio Files            |
+--------------+--------------------------------------+
| "'wav'"      | Waveform Audio File Format Files     |
+--------------+--------------------------------------+
| "'8svx'"     | 8-Bit Sampled Voice Files            |
+--------------+--------------------------------------+
| "'sb'"       | Signed Byte Audio Data Files         |
+--------------+--------------------------------------+
| "'ub'"       | UB Files                             |
+--------------+--------------------------------------+
| "'ul'"       | uLAW Audio Files                     |
+--------------+--------------------------------------+

sndhdr.tests

   個別のテストを行う関数のリスト。それぞれの関数は二つの引数をとりま
   す: バイトストリームとオープンされたファイルのようにふるまうオブジ
   ェクト。 "what()" がバイトストリームとともに呼び出されたときは、フ
   ァイルのようにふるまうオブジェクトは "None" でしょう。

   テストが成功した場合は、テスト関数は画像形式を表す文字列を返すべき
   です。あるいは、失敗した場合は "None" を返すべきです。

例:

   >>> import sndhdr
   >>> imghdr.what('bass.wav')
   'wav'
   >>> imghdr.whathdr('bass.wav')
   'wav'
