PsychPortAudio
PsychPortAudio - とても正確な(おそらく時間制御の点において)、PTB3用のサウンドドライバー
PsychPortAudio はPTB3用の新しいサウンドドライバーです。従来のMatlabのコマンドや古いPTBのコマンド(SND)の代わりにPsychPortAudio を利用して下さい。
PsychPortAudio には次のような特徴があります。
- 音刺激の再生時、オンセットの待ち時間(onset latency) が非常に短いです。
- 指定した時間に音刺激を呈示することができます。(例えば視覚刺激の呈示と同時になど)どれぐらい正確かというと、適切な条件下ではsub-millisecond levelです。
- 音刺激が呈示されるまでプログラムを中断するか、待たずに続行するかを選択できます。
(例えば3秒間、音がなるとします。このとき、音を再生するコマンドの次の行を3秒後に行うか、音がなっているあいだもプログラムを続行させるかを選べるということです)
- Asynchronous operation: Matlabのプログラムを動かしているバックグラウンドで音を再生できます。
- 永遠に音刺激を繰り返し呈示させることができます。もしくは繰り返し回数を指定できます。
- 音刺激を呈示した時間や各種ステータスを取得することができます。
- マルチチャンネルに対応。例えば8チャンネルのサウンドカードなど。
- マルチチャンネルの録音、full-duplex の録音・再生に対応。
- 多数のサウンドカードを並列に、列挙して、開いて、使用可能。
- Matlabの音関係の標準機能よりも信頼できる。
- 効率的で、CPUへの負担も少ない。
(音刺激再生の)オンセットの待ち時間(low-latency)に関する詳細は"help InitializePsychSound" を読んで下さい。
音刺激の再生に関する基本的なデモについては"help BasicSoundOutputDemo" をご覧ください。ただし、low-latencyの観点からはもっとよい再生方法があります。
録音についてのデモは"BasicSoundInputDemo"をご覧ください。
"BasicSoundFeedbackDemo" shows how to implement a simple audio feedback loop with controllable delay.
PsychPortAudioがどれぐらいの精度で動作しているかを調べるには、"PsychPortAudioTimingTest" を使って下さい。
このプログラムは、視覚刺激とぴったりに聴覚刺激を呈示したい場合にも参考になると思います。
(コマンドウィンドウに)"PsychPortAudio" とだけ入力すると、サブファンクションに関する情報が表示されます。
特定のサブファンクションにかんするヘルプを表示させるには
"PsychPortAudio Subfunctionname?"
とします。
注意点!
PsychPortAudio 関数を最初に呼び出す前に、必ずInitializePsychSound を呼び出して下さい。
もしこれを忘れると、ドライバの初期化に失敗して、Matlabが "Invalid MEX file" というエラーを表示するでしょう。
PsychPortAudio はフリーのオープンソースPortAudio を元にして作成されています。
PsychPortAudio is built around a modified version of the free, open-source
PortAudio sound library for portable realtime sound: http://www.portaudio.com