PsychPortAudio('CreateBuffer')

bufferhandle = PsychPortAudio('CreateBuffer' [, pahandle], bufferdata);

PortAudioデバイスのための、新しい動的な再生用バッファを作成し、そこに初期データを入力します。

返り値 'bufferhandle' は新しいバッファへのハンドルです。'pahandle' は当該バッファを所有するデバイスのハンドルで、引数としてはオプションです。

'bufferdata' はdouble()型か、single()型の行列になります。それぞれの行はサウンドチャンネルを表し、それぞれの列は1サンプルを表します。 浮動小数点(floating point values)のみがサポートされています。サンプルのレンジは、-1.0 から +1.0 で、0.0 は無音を表します。

これは意図的に制約されたインターフェースです。なるべくlantecyが低くなるよう、かつ、時間制御がよくなるようにするため、最適なフォーマットとサンプリングレートで音声データを作成してください。 so the driver can safe computation time and latency for expensive sample rate conversion, sample format conversion, and bounds checking/clipping.

PsychPortAudio('RefillBuffer') 関数を使えば、バッファの内容をいつでも変更(refill)できます。

バッファが使われなくなったなら、PsychPortAudio('DeleteBuffer') 関数を使って、バッファの内容を消去することができます。

PsychPortAudio('AddToSchedule') 関数を使って、バッファを再生スケジュールに付け加えることができます。

同一のバッファを、スケジュールに加えて、かつ、同時に様々なデバイスで使用することもできます。もしくは、1回以上の再生スケジュールのなかで、複数回利用できます。