最近、psychopy を使用して奇妙なバグに遭遇しました。私のスクリプトは、終了時に Psychopy を強制終了しません。
これは、ルーチンにサウンドを追加し、サイコピーにサウンドを生成させたり、ファイルからサウンドを再生させたりした場合にのみ発生します。つまり、sound
サイコピーからロードしただけでは、スクリプトが終了できなくなるわけではありません。のようにサウンドを呼び出したときだけでs=sound.Sound(value="C", secs=0.15)
あり、そのサウンドがルーチンで実際に再生されなくても、s.play()
他の人がこの問題を報告したかどうかをグーグルで調べてみましたが、ちょっと寂しいようです. 以下の 2 つの Mac 仕様でテストしました。
MacBook Pro の実行:
- OSX ヨセミテ
- python 2.7を考えました
- 最新のサイコピー (最近インストールされたもの
easy_install
) - ピグレット1.2
- ピョー0.7.5
- Intel Iris グラフィックカード/内蔵
iMac の実行:
- 上記と同様のすべて
- NVIDIA セパレート グラフィックス カード (モデルは今は覚えていません)
ここに私が実行しているいくつかのサンプルコードがあります。これで問題なく終了しますか?何が起こっているのかについて誰か提案がありますか? システムなどについてさらに情報が必要な場合はお知らせください。
#Display a text together with a sound synced
#to the onset of the visual display
#---------------------------------------------
from psychopy import core, visual,sound
win = visual.Window([800,800], color='gray', allowGUI=False, winType='pyglet', monitor='testMonitor',units='pix')
stim = visual.TextStim(win, text="Hi!")
s=sound.Sound(value="C", secs=0.15)
startText=visual.TextStim(win, text="starting")
startText.draw()
win.flip()
core.wait(1)
for i in xrange(2):
for frameN in range(70):
stim.draw()
if frameN == 0:
win.flip()
s.play()
else:
win.flip()
win.flip()
core.wait(.2)
ありがとう :)