はじめに
心理学実験、心理物理実験、認知実験やユーザースタディなどを行う研究活動において、あるタスクを所定の条件を変えながら繰り返し行い、実験参加者の行動データを記録して解析するような実験プログラムが必要になります。
そのプログラムを何で実装するか?は切実な問題です。既にチームが所属する機関で共通して使われている実装環境を用いる事が多いとは思いますし、実験プログラミング作成のためのすばらしい環境やフレームワークは数多くあります。(psychoPy, Psychtoolbox, OpenSesame..」)
実験に用いたい機材と実験プログラムを統合したり、プログラムの試作と修正を最速で進めたいとき、TouchDesignerで実験プログラム(システム)を実装したら今の所良かったので、現時点でいくつかまとめてみたいと思います。すでに、心理実験制作のデファクトスタンダードともいえるpsychoPyに敬意を込めて、勝手にpsychoTDと名付けています。
TouchDesignerとは
もともとは、実験プログラム実装用ではありませんが、1. リアルタイムグラフィック、インタラクティブインスタレーションなど、映像や音声のための高い時間制御要件に対応し、2. グラフィックレンダリング、信号処理、ネットワーク、外部機器制御(VRやKinectセンサ等も)への対応も早く、3. 内部においてpythonスクリプトの実行やC++のカスタムモジュールを実装することも可能であり高い拡張性があります。4. そして(慣れると)ノートベースでのプログラム作成の恩恵により試行錯誤が爆速で可能になります。この4点が大変魅力であり、実験環境構築としては未だ未開拓ではあるとは思いますが、大きなポテンシャルを持っていると思います。
また、使用できる映像サイズが1280pixまでの制限や、ごく一部の機能制限を除いてはTouchDesignerは無料で使用ですることができます。その点でも、大変ありがたいです。
TouchDesigner自体の入門は、多くの素晴らしい講義資料・チュートリアルがあるので、そちらを見てからこの記事を見ると良いかもしれません。なので、その点では、この記事はTouchDesignerを用いて何故か心理実験等を作りたくなった場合のニッチにな資料になります。
TouchDesignerで心理学実験システムシリーズ
今シリーズ記事では、分かりやすい視覚刺激課題を実際にTouchDesignerで組むのと、その内容をベースにした筆者が作成したモジュールの紹介をします。
本記事は以前作成した記事のアップデート・拡充版になります。
https://qiita.com/shks/items/6ebdbbfdc64d8ae20897
結果、Qiitaではなく、noteに書いてしまったので、5回分を下記にまとめて記載することにしました。
TouchDesignerで心理学実験システム.001:画面遷移を作る
TouchDesignerで心理学実験システム.002:実験条件からの視覚刺激生成
TouchDesignerで心理学実験システム.003:条件を変えたタスクの繰り返し
TouchDesignerで心理学実験システム.004:反応を取得する
####TouchDesignerで心理学実験システム.005:実験結果を記録する
https://note.com/shks/n/n2aa8ee6f42e8
TouchDesignerで心理学実験システムシリーズは一旦これで終わりますが、気が向いたら他のトピックについても更新、追加したいと思います。