「時間縮小錯覚」の実験パッチ長嶋 洋一
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の内部タイマの時間的精度についてもきちんと検証しないと (出力サウンドを正確に記録してその時間を計測検証する必要あり)、 このパッチそのままで実験しただけでは、音楽心理学実験としては著しく不備で ある、ということも強調しておきましょう。(^_^;)
|