このモジュールはAIFFとAIFF-Cファイルの読み書きをサポートします。 AIFF(Audio Interchange File Format)はデジタルオーディオサンプルをファ イルに保存するためのフォーマットです。 AIFF-CはAIFFの新しいバージョンで、オーディオデータの圧縮に対応していま す。
注意: 操作のいくつかはIRIX上でのみ動作します; そういう操作ではIRIXでのみ利用できるclモジュールをインポート しようとして、ImportErrorを発生します。
オーディオファイルには、オーディオデータについて記述したパラメータがたく さん含まれています。 サンプリングレートあるいはフレームレートは、1秒あたりのオーディオサンプ ル数です。 チャンネル数は、モノラル、ステレオ、4チャンネルかどうかを示します。 フレームはそれぞれ、チャンネルごとに一つのサンプルからなります。 サンプルサイズは、一つのサンプルの大きさをバイト数で示したものです。 したがって、一つのフレームはnchannels*samplesizeバイト からなり、1秒間ではnchannels*samplesize*framerate バイトで構成されます。
例えば、CD品質のオーディオは2バイト(16ビット)のサンプルサイズを 持っていて、2チャンネル(ステレオ)であり、44,100フレーム/秒のフレーム レートを持っています。そのため、フレームサイズは4バイト(2*2)で、 1秒間では2*2*44100バイト(176,400バイト)になります。
aifcモジュールは以下の関数を定義しています:
file[, mode]) |
'r'
か'rb'
のどちらか
で、書き込み用に開くときには'w'
か'wb'
のどちらかでなければ
なりません。
もし省略されたら、file.mode
が存在すればそれが使用され、なけ
れば'rb'
が使われます。
書き込み用にこのメソッドを使用するときには、これから全部でどれだけのサン
プル数を書き込むのか分からなかったり、writeframesraw()と
setnframes()を使わないなら、
ファイルオブジェクトはシーク可能でなければなりません。
ファイルがopen()によって読み込み用に開かれたときに返されるオ ブジェクトには、以下のメソッドがあります:
) |
) |
) |
) |
) |
'NONE'
が返されます。
) |
'not compressed'
が返されます。
) |
) |
id) |
nframes) |
) |
pos) |
) |
) |
ファイルがopen()によって書き込み用に開かれたときに返されるオ ブジェクトには、readframes()とsetpos()を除く上述の全て のメソッドがあります。 さらに以下のメソッドが定義されています。 get*()メソッドは、対応するset*()を呼び出したあとでのみ 呼び出し可能です。 最初にwriteframes()あるいはwriteframesraw()を呼び出す 前に、フレーム数を除く全てのパラメータが設定されていなければなりません。
) |
'.aiff'
で
終わっていればAIFFファイルが作られます。
) |
'.aiff'
で
終わっていればAIFFファイルが作られます。
nchannels) |
width) |
rate) |
nframes) |
type, name) |
nchannels, sampwidth, framerate, com ptype, compname) |
id, pos, name) |
) |
data) |
data) |
) |