「時間縮小錯覚」の実験パッチ
長嶋 洋一
2002年5月、国際会議IWECと音楽情報科学研究会SIGMUSの
二つの発表の連チャンという6日の出張に出かけました。
その模様(フォトレポート)は
こちら
にあります。
その、音楽情報科学研究会/音楽知覚認知学会の2日目と
なった2002年5月20日の午前セッションで、
九州芸工大の中島祥好先生の研究室の柿葉美帆さんの発表で、
「時間縮小錯覚」に関するものがありました。
だいぶ以前から、この錯覚には興味を持っていたのですが、
ちょうどこの研究会場では、内職用(^_^;)にパソコンを広げて
いたので、発表を聴講しているその時間内に、この錯覚の実験を
行うMax/MSPパッチをアドリブで作ってしまいました。
正確な音楽心理学の実験ツールとしては、なんせ即興で作ったものなので
問題もいくつかありますが(^_^;)、このような音楽心理学的錯覚というものに
触れてみる、というツールとしては教育的に役立つところもあると
思いますので、紹介します。きちんとした研究のためには、中島先生の
積み上げてこられた研究についてちゃんとサーベイして下さい。
予稿によれば、「時間縮小錯覚」の定義とは
というようなもので、実際の実験としては
のように行います。今回作ったパッチは、この図のような実験を
行うためのもので、Max4/MSP2の環境で動作します。
作ってみたパッチをテキスト形式で保存したものが
これ
です。表示すると以下のようなものです。
max v2;
#N vpatcher 222 59 656 185;
#P origin 207 51;
#P button 312 361 15 0;
#P newex 201 412 53 196617 delay 500;
#P newex 292 271 112 196617 if $i1==0 then 0 else 1;
#P user GSwitch2 234 266 39 32 1 0;
#P button 185 263 15 0;
#P number 345 58 46 20 0 13 35 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 397 300 19 196617 -1;
#P number 350 327 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 398 327 27 196617 +;
#P message 346 307 20 196617 11;
#P number 296 333 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 543 24 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 251 376 27 196617 +;
#P newex 174 309 62 196617 random 100;
#P button 172 287 15 0;
#P comment 463 20 64 196628 C -->;
#P button 241 603 15 0;
#P newex 244 569 32 196617 delay;
#P button 198 577 15 0;
#P newex 168 547 59 196617 delay 3000;
#P button 134 533 15 0;
#P newex 118 509 32 196617 delay;
#P user hslider 63 214 17 50 271 1 80 0;
#P number 130 215 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P comment 42 210 22 196628 S;
#P button 68 498 15 0;
#P newex 94 465 32 196617 delay;
#P user hslider 63 185 17 50 221 1 30 0;
#P number 130 186 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P button 85 438 15 0;
#P toggle 1 376 15 0;
#P user GSwitch2 31 402 39 32 1 0;
#P newex 67 324 95 196617 if $i1==1 then bang;
#P newex 41 347 95 196617 if $i1==0 then bang;
#P number 23 323 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 40 294 80 196617 set Tesing Mode;
#P message 52 275 83 196617 set Normal Mode;
#P message 151 274 14 196617 1;
#P message 17 274 14 196617 0;
#P message 48 150 106 196622 Tesing Mode;
#P button 161 150 22 0;
#P button 19 150 22 0;
#P button 271 444 15 0;
#P newex 283 476 45 196617 delay 25;
#P message 283 499 54 196617 1. \, 0. 2;
#P message 334 476 54 196617 0. \, 1. 2;
#P newex 283 544 27 196617 *~;
#P newex 283 522 39 196617 line~ 0;
#P user ezdac~ 258 150 302 183 0;
#P newex 315 544 65 196617 cycle~ 1000;
#P newex 174 368 59 196617 delay 2500;
#P number 240 347 34 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P user hslider 21 18 27 351 200 1 31 0;
#P button 104 53 34 0;
#P comment 145 62 135 196617 Start ! --> about 2500msec;
#P comment 138 1 164 196617 please adjust the final pulse timing;
#P comment 42 181 22 196628 P;
#P comment 319 66 26 196617 TRY;
#P connect 23 0 27 0;
#P hidden connect 16 0 19 0;
#P connect 19 0 23 0;
#P connect 20 0 23 0;
#P connect 27 0 26 0;
#P connect 25 0 22 0;
#P connect 23 0 24 0;
#P hidden connect 21 0 18 0;
#P hidden connect 22 0 18 0;
#P connect 24 0 21 0;
#P connect 7 0 26 1;
#P connect 23 0 25 0;
#P connect 31 0 32 0;
#P connect 26 0 32 0;
#P connect 26 1 28 0;
#P connect 28 0 31 0;
#P hidden connect 29 0 31 1;
#P connect 32 0 36 0;
#P hidden connect 30 0 29 0;
#P hidden connect 35 0 34 0;
#P connect 36 0 37 0;
#P hidden connect 34 0 36 1;
#P hidden connect 17 0 20 0;
#P connect 37 0 38 0;
#P connect 23 0 43 0;
#P connect 43 0 44 0;
#P connect 54 1 7 0;
#P hidden connect 4 0 53 0;
#P connect 38 0 39 0;
#P connect 57 0 56 0;
#P connect 55 0 54 0;
#P hidden connect 5 0 6 0;
#P connect 56 0 6 0;
#P connect 40 0 41 0;
#P connect 39 0 40 0;
#P connect 6 0 45 0;
#P hidden connect 11 0 9 0;
#P connect 53 0 54 1;
#P hidden connect 46 0 40 1;
#P connect 47 0 45 1;
#P connect 41 0 15 0;
#P connect 28 0 15 0;
#P connect 32 0 15 0;
#P connect 37 0 15 0;
#P connect 39 0 15 0;
#P connect 15 0 14 0;
#P connect 14 0 13 0;
#P connect 12 0 10 0;
#P connect 13 0 10 0;
#P connect 10 0 11 0;
#P hidden connect 11 0 9 1;
#P connect 50 0 55 0;
#P connect 44 0 47 0;
#P connect 8 0 11 1;
#P connect 47 0 57 0;
#P connect 15 0 12 0;
#P hidden connect 50 0 52 0;
#P connect 43 0 48 0;
#P connect 48 0 50 0;
#P connect 49 0 50 0;
#P connect 54 1 51 0;
#P connect 51 0 49 0;
#P connect 50 0 49 1;
#P hidden connect 45 0 46 0;
#P pop;
これを
Max4/MSPで読み込めば、誰でも実験できます。(^_^)
以下、簡単に使い方を紹介します。まず、最初の画面としては
というのが出てきます。これは、被験者に実験をしてもらう時の画面で、
余計な情報が隠れています。被験者にはこの状態にして提示して、
- ボタンを押すと実験がスタートして、音が出る
- 横スライダーを調節すると、
この図
のいちばん右側のパルスを移動できる
- 画面内のカウンタの数字がゼロになるともう修正できない
という事だけを知らせる、ということになります。
そして、実験を行う者は、もうちょっと画面を下方向に広げて、
のようにしてセッティングを行います。
最初にスピーカーのマークのボタンをON(図のように凹んだ状態)にして
サウンドをONにしておきます。
あとは、モードを示す窓の左右のボタンで、実験のモードを選択します。
左のボタン「Normal Mode」とは、
この図
で言えば上の方の「対照条件」という実験です。
右のボタンの「Testing Mode」というのが、
この図
で言えば下の方の「先行時間条件」という実験です。
このボタンを押すと、乱数によって、画面内のスライダーの値に
加算される時間が変化します。これは、毎回、視覚的に同じ位置が同じ時間では
問題かな、と思ったので入れました。被験者には、実験ごとに同じスライダーの位置でも
時間は違うよ、とも言う必要があるかもしれません。
そして、被験者に、カウンタがゼロになるまでの範囲で、ボタンを押して
両者の時間が等しいと感じるところに調節してもらい、それが終了、
つまり被験者が「こんなもんでしょ」(^_^;)、という状態になったら、
被験者には見せずに、画面の右側に隠れている部分が見えるように
このようにスライドさせます。
すると、ここで現れるのが、被験者がスライダで設定した「C」の値、
ということです。これを、
ここ
で設定していた「S」の値と比較してみて、そこそこ小さくなっていれば、
そこに「時間縮小錯覚」があった(^_^)、ということになります。
このパッチですが、全体はこんなものです。
そして、Maxを「実行モード」から「編集モード」にしてみたのがこれです。
画面に邪魔となるラインを隠していただけです。
こんなシンプルなものなので、研究発表講演のその場で内職で完成したと
いうわけです。(^_^)
ちなみに、サウンドは1000Hzのサイン波ですが、予稿にあった「10msec幅」という
条件だと、Max/MSPではちょっと十分なサウンドにならなかったので
(立ち上がりのノイズが嫌なので2msecほどの漸増エンベロープをかけています)、
ここでは25msecの幅となっています。その意味では同様の実験装置ではありません。
また、Max4/MSPの内部タイマの時間的精度についてもきちんと検証しないと
(出力サウンドを正確に記録してその時間を計測検証する必要あり)、
このパッチそのままで実験しただけでは、音楽心理学実験としては著しく不備で
ある、ということも強調しておきましょう。(^_^;)
|