忍者ブログ
おかげさまでspamコメントが増えてきましたので、一応コメントを承認制にしました。基本的には承認します。
[1] [2] [3]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

今日は急に家庭教師が入ってしまい、調整しにいけなかったのですが(つまり、昨日の対処法が正しいかはいまだにわからない)、
検索する暇はあったのでちょっと調べてみました。

IBS JAPANのE-Prime FAQE-Primeから外部のデバイスに信号を送信するにはどうしたらよいでしょうか?

一番びっくりしたのは、

WritePortコマンド内では、ポートアドレスは10進法または16進法にて記されている事があります。詳細に関してはE-BasicヘルプのVal機能を参照してください。16進法表記を使用する場合、アドレスの前に "&H"を付けます。

WritePort &Haddress, value

最もよくある(10進法での)パラレルポートアドレスは888、16進法表記では378ですが、お使いのマシンのシステムプロパティを参照して正しいポートアドレスを探していただく事をお勧めします。


object.OnsetsignalData=H&378の「H&378]の部分を昨日「なんでか不明」と書いたのですが、謎はとけました。
ただ、H&って書いてたんですが、&Hが正式な表現なの?あれー?

で、あまりはっきりしないのですが、
E-StudioのInLine内で記述する場合は、Writeportを利用する
E-runのほうで記述する場合は、Onsetsignalを使う(のかなあ)
ようです。ということは、いろいろ間違ってたんですねー

E-Primeの使い方は、一子相伝というか、かなりローカルに指導されてきたので、
「正式な」ルールはぜんぜんしらないんですね。
これを期にマニュアルに目を通すべきなんだろうか。

拍手[0回]

PR
物凄い汚い絵で申し訳ないけど、32ピンパラレルポートを模式的に書くと、下図のようになり、台形の短いほうの辺のピンは(多分)ぜんぶグランドで、長い方が、この図でいうと左から順に、1,2,3,4…のポートになるようです。

32ピンパラレルポート

で、今回、なぜか4番のポートだけちゃんとトリガーが出て、1,2番から出ない(*)ので困っています。

まだ解決してないので、この手もダメかもしれませんが、一応対応策を検討したので、メモしておきます。

現状
SoundOut1で音刺激を出し、この刺激の開始がオンセットになるので、
SoundOut1の前にInLineを置き、
InLineに、

SoundOut1.OnsetSignalEnabled = True
SoundOut1.OnsetSignalPort = H&378&H378
SoundOut1.OnsetSignalData = c.getattrib("portout")

SoundOut1.OffsetSignalEnabled = True
SoundOut1.OffsetSignalPort = H&378&H378
SoundOut1.OffsetSignalData = 0

と記述して入れていたんですが(**)、さて、これで正しいか。これで動く場合もあるので、間違ってはいないはずですが、もしかしたら変えたらなんとかなるかもしれない。というわけで、以下その対策まとめ。

対策1.
とりあえず、きちんと一回波形をグランドに落としたいので、
最初に
Writeport H&378&h378, 0
と書いとく。

対策2.
OffsetSignalという文は本当に有効なのか。(とくに、6行目)
SoundOut1.OnsetSignalData = 0にしてみたら?という方法

対策3.
同一InLineにOnsetとOffsetを両方記述すると、処理がおっつかないのでは?
渡辺の課題は、InLine1→SoundOut1→Wait1のループなので、
InLine1→SoundOut1→InLine2→Wait1とし、
InLine1にトリガー出せ(上3行)
InLine2にトリガー落とせ(下3行)
としてみる。このとき、下3行はOffsetSignal とOnsetSignalを両方ためす。

これでダメならPC交換かな…短い命であったが

*正確にいうと、出るけど、出っ放しで0におちないので、結果的にトリガーが出ない。普通トリガーは矩形波なので。
わに口クリップに針金を挟み(というのは、32ピンパラレルポートはメスなので。オスならクリップでピンを挟めばそれでOK)、オシロスコープにつないでグランドに一方を、みたいポートにもう一方を差し込めばわかる。


**
オブジェクト名.OnsetSignalEnabled = True …ここはおまじないみたいなもの
オブジェクト名.OnsetSignalPort =H&378&h378 …ポートは32ピンパラレルポートを使ってね、という意味。32ピンパラレルポートを示す記号が、H&378&h378(なんでかは知らない)
オブジェクト名.OnsetSignalPort = c.getattrib("portout") …=の右側に書いてあるポートからトリガーを出してね、という意味。
c.getattrib(" ")は、""の中の変数(Listで作るやつ)からもってこいという意味。
渡辺の場合は、Listにportout欄を作り、1とか2とか4とかいれてる(ちなみに、2進数なので3はない…はず)。したがって、名前はportoutである必要はべつにないし、トリガー一種類でよければ、

オブジェクト名.OnsetSignalPort = 1

でも問題なし。

オブジェクト名.OffsetSignalPort = 0は、意図としては、一回波形をキャンセルしてね、ということだけど、この意図通りの挙動をしてくれてるかは前述の通りびみょう。

あと、InLine内で書くなら、

writeport &h378, c.getattrib("portout")
(または、
writeport &h378, 1(←出力したいポート番号))

のほうが正しい表現かもしれないです。
(どうもOnsetSignalxxxxは、E-Basic(E-Run?)で使う表現の様子、まあStudio内で使っても挙動はちゃんとしてますが)

拍手[0回]

去り行く7月を惜しむため(ウソ/書いてたらとんでもなくなった)、いつもより長めの記事になります

○ICMPC10情報

ICMPC10の最終日でポスターをご発表される皆様へ

お世話になっております。ICMPC10でのご発表、ありがとうございます。
さて、ICMPC10では、アメリカの音楽関連助成団体MANNからのご協賛の元、最終日にモエレ沼公園ガラスのピラミッドで行なわれます発表のうち、「公開フォーラム」と「ポスター発表」を、「音楽を科学する世界をのぞいてみよう!」というテーマのもと、一般公開させていただきます。ポスター発表につきましては、「ポスター発表めぐり(ガイド付き)」と題しまして、英語ができる日本人スタッフ(学生ボランティ
アを含む)が興味のある一般来場者を数名ずつのグループに分けて、ポスター発表会場をご案内いたします。もちろん、研究者同士のコミュニケーションの邪魔にならないよう、ご案内させて頂きます。

この企画のための日本語プログラムを別途用意するべく、現在準備を進めております。つきましては、皆様の「ポスター演題の日本語訳」と「お名前、ご所属」、「ご発表内容を一般向けに簡単にまとめた説明文(100~120字程度)」を、メールにてお送りくださいますようお願い申し上げます。なお、印刷の関係上、〆切を8月4日(月)とさせて頂きます。

<5AM2-S02-15>
The Influence of Weak Central Coherence in Auditory Processing
Hayato Watanabe, Harumitsu Murohashi
Hokkaido University, Japan

ご多忙中とは存じますが、研究成果を一般市民の皆様に還元・啓蒙するための本企画に、ご協力のほど、宜しくお願い申し上げます。


ICMPC10 組織委員長 


というメールがきたんですが、渡辺の発表は結局北大構内でやるんじゃなかったっけ、と思ってたら、プログラムのページに、
2) Poster presentations for Day 5 (Aug.29) are to be displayed in Rooms 14 & 15 till Day 4 (Aug.28) afternoon, and then will be moved to the Additional Venue (S02) by the conference staff.

と書いてあってびっくりした。やっぱガラスのピラミッドで発表なんですね!これはうれしいぞー!(いや、ちゃんと読んでれば良かったんですけどね。でも、なんというか、忘れていたへそくりを見つけたというか、別に得してないけど得した気持ち)
29日はモエレ沼で発表です。

(いや、北大がダメってわけじゃないんですけどね?ガラスのピラミッドで発表って、なかなか…というか、普通はないわけで)

一般市民の皆様に還元、はともかく、啓蒙?啓蒙…啓蒙思想家といえばルソーですが、まあルソーには及ばないとして、がんばります。

○月曜日のセルフプレッシャーの結果
 朝は8:30までに着きたい、とかいって8:30に起きたので、あまり効果がないことがわかった。大変無念である。

○引越し(せっかくだから記録しておく)
 看護5Fに移行。完了と書きたかったけどかけない。
 というのは、今、なんていったらいいのかわからないけど、ハシゴ車みたいなので荷物運んでるんですね。エレベータがボロくて狭いので。
 で、実験室は4Fなんですが、駐車場からハシゴを伸ばせる範囲にある部屋は、教育学部/院とは無関係な部屋らしく、明日も5Fから荷物を入れるらしいので、畢竟、ハシゴ車を使う窓と廊下を結ぶ線は荷物をおけないわけで、渡辺がいた研究室の机はそこに置くことになっていたので、大変残念なことに、今日は机も荷物いれたダンボールも廊下に置いておくことに。
 明日は実験室の移行があるので、自分のことをする時間があまりなさそうなので、今日やっちゃいたかったんだんだけどなー
 しかし、ハシゴ車みるのは興奮するよ。一度みてみるといいよ。

○ひさしぶりに自分の作業(せっかくだから記録2)
 引越しも完了したので、MEG室のPC交換。今までは実験室の借り物のラップトップPCを使っていたんですが、これが移行先の実験室でのメインPCになるためです。ま、これ自体はなんの問題もないのですが、問題は、
 ラップトップPCは必要だし、だいぶ前に壊れて(壊して/落とした)から当分もってなかったけど、修士論文も近いしそろそろ潮時だから購入しよう、と思ってカタログとか見るわけじゃないですか。
 そしたらですね、実験刺激を提示するのにE-Primeを使っているんですが、どうも32ピンパラレルポート(昔、プリンタとPCをつなぐのに利用されていた)がないと、トリガが出ないらしいと。ところが、32ピンパラレルポートは、もう「レガシィ」な装置であって、今の新しいノートPCにはついてないと。これは困った。
 で困ってると修了できないので、古いデスクトップPCを借りてきて、どうにか設置したわけなんですけどね。無用な苦労をした。そして、自分用のPCをかいそびれた。

 で、当然といえば当然ながら、PCが変わると音の大きさはまた微妙に変わるので、音圧調整。音圧調整については、前ちょっと書いたのですが、今読み返すと、SLをsensory levelとか書いてますね。あれ、sensation levelじゃなかったっけ。どっちが正しいかわかんなくなったので、あやふやにしておきます。
 で、今回の実験では、それこそSLにあわせようか、とか試行錯誤しまくった結果、9音も使っていて、ちょうど1000-3000Hzの音圧の利得が生じるあたりの音とそうでない音も使っていたりするので、ちょっと難しいだろうという結論になり、SPLをそろえて、その分聴力検査をしっかりやる、ということにしたんですね。
 まあ今まで苦労した経験もあり、音圧も1通りでOKで、というわけで音圧調整自体はさっくり終わりました。お手伝いしてくれた人、ありがとう!

 ただ、この「32ピンパラレルポート問題」は…今後どうなるんでしょうね。
時代はUSBだけど、渡辺が知らないところでもうE-PrimeのトリガもUSBで出せるようになっているでしょうか(どうやってトリガボックスにつなぐのか?)。あとまあ、USBから32ピンに変換するコネクタも売ってるは売ってるので、それでなんとかなるのかもしれないですけどね。

○7月-8月またぎのやることリスト(とりあえず)
・7月31日 MEG被験者(予定)のみなさまにメール
 同 駐車場代金払う(これ、朝起きたらすぐやる)
・8月4日 ICMPC10 日本語原稿(100字って逆につらい)
・8月5日 発達教育臨床共通講義B 土曜教室発表代表
     同日 レポート
・8月8日 国際多元文化教育基礎論Ⅰ レポート(これはだいたいおわった)
・8月11日 心理学と教育学の基礎 最後のレポート

とりあえずこんなもんかなー
これらが終われば、ようやく(本当にようやく/修士2年で単位たりねーとか、ほんとやめたほうがいいよ。しつこいといわれても何度でも書く)講義からは開放される…はずです。いや、不可とかじゃなくてね。渡辺が知らない単位が(あなたの知らない世界、と同じくらい怖い)まだどこかに眠っているのかも…しれなくて…便覧ちゃんと読もう。

あと、実験もMEGは(どうやら)復旧した(らしい)ので、進めていかなくては。あと、乳幼児も準備しないとダメだし、次の実験も考えないといけないし、つくづく引越しは罪だと思うよ。1週間は奪われたもんなー
あと、7月は終わるの早すぎると思うよ。31日まであるとは思えないぜ

拍手[1回]

忙しい言い訳として、心理学実験で音刺激 (聴覚刺激) を使用する際の留意点を書いておこうと思います。

1.アタック音が出る
 人工的な音(pure toneでも complex toneでも)は、基本的に一気に振幅が100%になるためか、
開始時と終了時にアタック音(プチッという音、クリック音?)が出ます。
こう聞こえてしまう原理は誰か詳しい人教えて欲しいのですが、原理はともあれ単純に気になってしまうので除去する必要があります。
 一番楽なのは fade in/outをかけてしまうことなのですが、そうすると音が100%になるまで何msかはかかってしまうわけで、このあたりが剰余変数になるような実験だと使えないかもしれません(その場合の方法は、自分で調べてください…ごめんね)。このアタック音というのか、クリック音というのか、ノイズというのかわかりませんが、こういうのがあるぞ、ということは確実に押さえておいたほうが良いと思います。

2.スピーカを過信してはいけない
 中学理科では、「振幅が等しい周波数は音の大きさも等しい」と習ったかと思いますが、現実的には、電気信号段階では確かにそうなんですが、いったんスピーカを通すとそれはウソになります。
 スピーカによっては、低音を減衰させてしまったり、その逆があったりして、80dBで設定したはずが、高音は79dBになっていたりします。どっちみち座る場所によって聞こえ方が違ったりもしますし、イアホンつけてもつけかたで聞こえ方は変化するのが当然といえば当然です。なので、1dB程度の誤差は多くの場合問題にはならないと思いますが、次の点には留意してください。
 たとえば、同じスピーカを利用した場合、低音が減衰するならば、ふつうその傾向は一貫するので(つまり、低ければ低いほど減衰し、高ければ高いほど減衰しない)、「高音のほうが低音より聞き取りやすい」というような聴覚課題を実施する場合には、音圧操作は気を使う必要があります。というのは、実際は人間の機能上低音が聞き取りにくいのではなく、スピーカから(わずか1dBとかかもしれませんが)減衰して提示されたために「聞き取りにくい」という結果が現れたのかもしれないのです。少なくともそういう突っ込みが入る可能性は充分あります。
 というわけで、必要に応じてしっかり音圧は計測しましょう。

3.ヒトの聴力は左右等しくない
 これは当たり前といえば当たり前で、視力だって左右で異なるのだから、聴力も左右異なるのは直観としてわかると思います。このあたりは、実験内容によっては、被験者の数を充分に増やせば、sound pressure level (SPL)、すなわち、スピーカから出てる音圧がそろっていることを示せば、影響はキャンセルできるとも考えられます。
 問題は、たとえば左右に異なった音源を提示するだとか、左右の脳活動の差を見る、とかいうときで、この場合は当然左右の音圧は(実験条件に関係していれば当然、していなければなおさら)、被験者の聴力に(これをsensory level; SLという)そろえる必要があります。そのためには、事前に被験者の閾値を調査し、その上で刺激の音圧を左右独立に調整する必要があります。被験者の閾値を測定したあとに調整をするというのは難しいことも多いので(特に単音ではなく、メロディ系列を用いる場合)、そのような場合は事前に何パターンか音圧を変えた刺激を作成しておくほうが良いかもしれません。(たとえば、左80dB-右82dBで提示するようなメロディを作成しておくなど)

4.E-Prime使用時のポイント
 箇条書きにします。
・Experimental Object(だったかな?最初からある青いEのアイコン)をクリックし、
Devices→Sound(メガホンみたいなアイコン)のチェックをオンにする→使用する音刺激のサンプルレート、ビットレート、チャンネル(モノラルか、ステレオか)を設定
*サンプルレート、ビットレートくらいは多分検索したらすぐ出てくるでしょう
・使用できる拡張子は.wavのみ、またファイルサイズも上限があるので注意
・一応Sound Out ツールアイコン上で、[-10000から0]の範囲で、音量の調整もできる
・これは未確認ですが、Attributeに[sound]という文字列は使えない(エラーが出る)模様…[melody]とかにしておこう

5.結論?
 可能であれば使う音はなるべく少ないほうが良い(1000Hzと1500Hzとかね)。
 音が多くなればなるほど、特に音圧の面で調整しなくてはならない分量が増えます。
 

拍手[2回]



忍者ブログ [PR]
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
メールはこちらから
プロフィール
HN:
渡辺隼人
性別:
男性
ブログ内検索
カウンター
コガネモチ