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 |
---|---|
|
Compressed Audio Interchange Files |
|
Audio Interchange Files |
|
Au Files |
|
HCOM Files |
|
Sndtool Sound Files |
|
Creative Labs Audio Files |
|
Waveform Audio File Format Files |
|
8-Bit Sampled Voice Files |
|
Signed Byte Audio Data Files |
|
UB Files |
|
uLAW Audio Files |
- sndhdr.tests¶
個別のテストを行う関数のリスト。それぞれの関数は二つの引数をとります: バイトストリームとオープンされたファイルのようにふるまうオブジェクト。
what()
がバイトストリームとともに呼び出されたときは、ファイルのようにふるまうオブジェクトはNone
でしょう。テストが成功した場合は、テスト関数は画像形式を表す文字列を返すべきです。あるいは、失敗した場合は
None
を返すべきです。
例:
>>> import sndhdr
>>> imghdr.what('bass.wav')
'wav'
>>> imghdr.whathdr('bass.wav')
'wav'