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'