まえがき
先日、ラボの資産として、PsychoPyを使用したオンライン実験についてまとめる必要がありました。調査していると、オンライン実験のイントロダクションについて日本語で解説している記事が見当たらなかったので、簡単にですが記事にしてみます。
目次
- 実行環境
- 事前準備
- HTML, JavaScriptファイルの生成
- Pavlovia上に実験をプッシュ
- 実験のテスト
- さいごに
1. 実行環境
- macOS Catalina 10.15.7
- PsychoPy 2021.1.4
2. 事前準備
- Pavloviaのアカウントを作成
サーバ、コード管理はPavloviaを使用します。PavloviaはPsychoPyと連携することで実験に関わるあれこれを管理してくれます。便利。
ここからアカウントを作成できます。 - PsychoPy Builderを使用して実験を作成
今回は、PsychoPyのGitHubリポジトリ上に公開されているStroop Effectを測定する実験を使用したデモを行います。
リポジトリ全体をクローンするのは面倒なので、下記コマンドで必要なファイルをダウンロードします。
$ wget https://github.com/psychopy/psychopy/blob/release/psychopy/demos/builder/Experiments/stroop/stroop.psyexp -P [保存先パス]
$ wget https://github.com/psychopy/psychopy/blob/release/psychopy/demos/builder/Experiments/stroop/trialTypes.csv -P [保存先パス]
注) 2021年7月現在、PsychoPy Coderのみを使用して作成した実験をオンラインに移植するのは非常に面倒です。具体的には、
- PsychoPyが行ってくれるPython → JavaScriptの変換には様々な成約があり、変換できない部分に関しては手作業になってしまう(Python to JavaScript Crib Sheet参照)
- Pavlovia上でのコードの管理が煩雑になる
などの問題があります。そのため、今回はBuilderを使用して実験を作成していることを想定しています(ある程度簡単な実験であれば、Coderのみを使用して実験を完成させていたとしても、Builderを使用して作り直すほうが手っ取り早いです)。
3. HTML, JavaScriptファイルの生成
以上の手順でフォルダ内にHTML, JavaScriptのファイルが生成されます(Coderが自動的に開きますが、使わないので閉じて構いません)。
JavaScriptのコードがどのように生成されているかについては、こちらの記事で詳しく解説されています。今回は触れません。
4. Pavlovia上に実験をプッシュ
-
サインインを行うためのポップアップが出てくるので指示に従う
-
ポップアップが表示されるので、"Create a project"を選択
-
コミット画面が表示されるので、"Initial commit"などと記載して実行します(内部的には、ローカルで
git init
が実行され、Pavloviaと連携したGitLab上のリモートリポジトリにソースコードがプッシュされているようです)。
https://pavlovia.org にアクセス、ログインし、ダッシュボードに移動すると先程プッシュした実験がリモートに反映されていることが確認できます。
5. 実験のテスト
クリックすると、新しいタブが開き、ブラウザ上で実験のテストを行うことができます。
さいごに
この記事では、オンライン上で実験を確認するところまでを行いました。実際に実験を行うにあたっては、Amazon Mechanical Turk等を使用して被験者を集めたりする必要があります。その手続等についても、必要性を感じたら記事にします。
最後まで読んでいただきありがとうございました。誤り等ありましたら教えていただけると非常に助かります。