トップへ戻る | Cdrom || Color || Cursors || Display || Draw || Event || Examples || Font || Gfxdraw || Image || Joystick || Key || Locals || Mixer || Mouse || Movie || Music || Overlay || Pixelarray || Pygame || Rect || Scrap || Sndarray || Sprite || Surface || Surfarray || Tests || Time || Transform |
pygame.sndarray.array - Soundオブジェクト形式のサンプルデータをコピーし、配列形式に変換します。 |
pygame.sndarray.samples - 配列形式のデータを通して、Soundオブジェクト形式のサンプルデータを操作します。 |
pygame.sndarray.make_sound - 配列型の音声データをSoundオブジェクト型に変換します。 |
pygame.sndarray.use_arraytype - 配列型の音声データで使われる配列形式を設定します。 |
pygame.sndarray.get_arraytype - 現在設定されている既定の配列形式を取得します。 |
pygame.sndarray.get_arraytypes - pygameが、現時点で対応している配列形式を取得します。 |
この命令では、音声データをSoundオブジェクト形式と配列形式との間で相互変換できます。このモジュールは、numpyかNumericどちらかの拡張モジュールをインストールしている場合にのみ使用できます。
音声データは1秒あたり数千のサンプルによって構成されており、サンプルとは特定の時点における波の振れ幅のことです。例えば22キロヘルツの音声の場合、配列型音声データの5番目の要素には、22000分の5秒時点での波の振れ幅の値が格納されています。
取得されるサンプルの値は8bitか16bitの整数となり、どちらになるかは音声データの形式によって変わります。ステレオ形式の音声はファイルでは一サンプルあたり二つの値を持ち、モノラル形式の音声はファイルでは一サンプルあたり一つの値を持ちます。
下記の配列形式をサポートしています。
numpy numeric
numpyモジュールがインストールされていた場合、それが既定の配列として使用されます。numpyモジュールがインストールされておらず、Numericモジュールがインストールされていた場合は、そちらが既定の配列として使用されます。numpyライブラリとNumericライブラリのどちらもインストールされていない場合は、ImportErrorのエラーが発生します。
use_arraytype()命令で上記numpyとnumericのどちらかを設定することで、使用する配列の種類を状況に応じて変更することができます。
補足: numpy形式のデータとNumeric形式のデータは完全に互換性があるわけはありません。一方の形式では正常に動作した配列操作が、もう一方の形式では異なる動作をしたりデータを壊してしまったりすることさえあります。
さらに言うと、numpy形式ではNumeric形式と違って符号なしの16bit整数を使用することができます。そのため16bitデータの音声を扱う場合、サンプルデータの種類によっては符号なし整数として扱われます。一方で Numeric形式は、常に符号付整数で値を表します。このpygame.sndarrayの命令を使用して取得された値がおかしいと思ったときは、それぞれの配列形式の違いを思い出してください。
サンプルデータをコピーして、配列形式の音声データを新規に作成します。pygame.mixer.get_init命令で取得される配列形式が使用されます。
Soundオブジェクト形式のサンプルデータを参照する配列形式の音声データを、新規に作成します。配列形式のデータを編集すると、元となったSoundオブジェクト形式のデータにもその結果が反映されます。pygame.mixer.get_init命令で取得される配列形式が使用されます。
配列型の音声データから、再生可能なSoundオブジェクト型の音声データを新規に作成します。この命令を使用するには、mixerモジュールが初期化されており、引数として渡す配列がmixerの音声形式に対応したものでなければなりません。
この命令で設定したものが、sndarrayモジュールの各命令で使われる配列形式となります。現在は下記の配列形式に対応しています:
numeric numpy
対応していない配列形式を設定した場合、ValueErrorのエラーが発生します。
この命令はpygameのバージョン1.8で新たに実装されました。
現在設定されている配列形式名を戻り値として返します。ここで取得できる値は、get_arraytypes()命令で取得できるタプル型の値にも含まれています。タプル型の中で、配列を作成するのに使用される既定の配列モジュールの方が取得されます。
この命令はpygameのバージョン1.8で新たに実装されました。
どの配列形式が使用できるかを調べ、使用できるものをタプル型の文字列の戻り値として返します。取得されたタプル型の各値は、pygame.sndarray.use_arraytype()命令の引数としてそのまま使用できます。対応している配列形式が見つからない場合、None値が戻り値として返されます。
この命令はpygameのバージョン1.8で新たに実装されました。
トップへ戻る | Cdrom || Color || Cursors || Display || Draw || Event || Examples || Font || Gfxdraw || Image || Joystick || Key || Locals || Mixer || Mouse || Movie || Music || Overlay || Pixelarray || Pygame || Rect || Scrap || Sndarray || Sprite || Surface || Surfarray || Tests || Time || Transform |