DMDX 由timedx(設定和檢測實驗運行環境的軟硬體特徵如:圖形解析度、刷新頻率、音效卡類型、PIO卡等);dmdx(呈現刺激、記錄反應);utility program(數據分析準備包括unloadAZK、Analyze、concatenate等)
基本介紹
- 軟體名稱:DMDX
- 特點1:簡單易學,穩定性好
- 特點2:適用於不會編程的非專業程式人員
- 功能:編制刺激呈現程式
DMDX簡介,主要功能,主要特點,安裝DMDX,DMDX的安裝步驟,TimeDX的測試步驟,DMDX視窗,DMDX實驗控制程式,說明,範例說明,參數說明,
DMDX簡介
主要功能
編制刺激呈現程式、運行並記錄反應、數據篩選、數據分析準備。
主要特點
1.簡單易學,穩定性好;
2.適用於不會編程的非專業程式人員;
3.目前可以呈現文字、圖片、聲音、視頻片斷等實驗材料;
4.時間精度高,對被試反應得記錄達到了毫秒級;
運行環境:適用於Windows 95/98 2000、XP等系統。
DMDX是一個針對視窗環境設計的心理學實驗設計與控制軟體系統。對一個一般的心理學研究人員而言,DMDX幾乎能夠將一台個人計算機轉化成一部全功能的心理實驗儀器。實驗時,DMDX不但能在個人計算機上呈現視覺或聽覺的實驗刺激,並且能夠收集受試者對實驗刺激的反應(包括語音及按鍵反應;並記錄反應的種類及時間)。
安裝DMDX
DMDX的安裝步驟
依據以下步驟安裝DMDX
(一)DirectX:你的計算機里應已安裝了DirectX 。如果沒有安裝,可以從Microsoft DirectX site 取得DirectX(可以用DirectX為關鍵字,然後再在網上進行搜尋)。
(三)TimeDX 測試:使用DMDX之前,使用者必須先在計算機中進行TimeDX 的測試;這樣 DMDX 才知道你所使用之計算機的特性。
TimeDX的測試步驟
(一)執行TimeDX測試前,請先關閉其它的應用程式。在DMDX資料夾內含有一個TimeDX的捷徑;點選進入TimeDX後,在螢幕左上方的工作列上,點選 Basic Test,然後隨著下面的步驟進行檢測。
(二)Basic tests: Select Video Mode Test。測試目的:確認顯示卡正常驅動。本實驗系統採用<vm 1024,768,768,16,0>。
(三)Basic tests: Millisecond Timer Test。測試目的:確認Millisecond Timer是否處於正常運作狀態之下。
(四)Basic tests: Refresh Rate test。測試目的:確認計算機螢幕的更新頻率,亦即,確認掃瞄螢幕一次,所需的時間是多久。當你計算機的 video mode有更改時,就該重做一次 refresh rate test。註:TimeDX提供了多種 video mode,你不需要測試每一種 Video Mode;你只需要選擇其中一種,進行設定的 工作就好了。
(五) Basic tests完畢後,在工作列上選擇 Advanced tests。
(六)Advanced tests: Time video mode (the Vertical Retrace SyncTest) 。點選 Time video mode,等到出現對話窗後,先點選 Use Automatic Values,將 Step 3 Refresh Rate所測試出來的數值套用在這個測試中,再點右下方的 Do test。做完以上動作後,螢幕會出現很多跳動的數值,等到其中一個 msecs/retrace 的數值穩定 (變化小)後,按一下滑鼠就可以回到對話窗,然後點“save last used values in registry ”儲存測試所得到的數值。這些數值表示的是這部計算機內部的性質,而 TimeDX 能將這些數值儲存下來,提供DMDX使用 ;所以如果你要更換新的 Video mode 或你的計算機更換了新的顯示卡時,你就需要重新做上述(第一到第六步)的測試。
(七)做 Advanced tests:Tachistoscopic Acid Test 。該測試的目的是確認計算機是否具有足夠的記憶容量來執行 DMDX。
(八)回到Basic tests。
(九)Basic tests:sound test。DMDX可以呈現現聲音的刺激材料 ,這個測試的目的是檢驗計算機左右兩個喇叭(或音效系統)的功能是否正常。測試前請檢查你的計算機中是否存放著“聲音檔案”(檔案類型為.wav的文檔),本測試需要這些檔案作為測試的刺激材料。
(十)做完聲音測試後,再回到Advanced tests,進行 Tachistoscopic Acid Test。其目的是看看當聲音材料數值設定後,計算機是否仍然運作無誤。
(十一)Advanced tests:sound latency test。做聲音時間值設定,程式會自動抓取可讀的聲音檔案進行(左右)喇叭的測試。
(十二) Basic tests: input test。做輸入反應鍵等項目的測試。這個test 有兩個功能:(A)確定實驗所使用的“反應鍵”是可運作的,(B)找出這些反應鍵在計算機里的定義碼;編寫DMDX的實驗程式時,你需要用這些定義碼來設定程式的參數。
DMDX視窗
以下是 DMDX 視窗中我們會用到的一些按鍵:
(一)Browse:利用這個鍵,在計算機中找到你所設計的DMDX實驗控制程式,然後將它載入DMDX中。
(二)Run:選擇Run並按滑鼠左鍵兩次後,會將編輯好的實驗控制程式(亦即,以DMDX寫的控制實驗進行的程式)交付計算機執行。
(三)Syntax Check:選擇這個鍵,並按滑鼠左鍵兩次後,DMDX便會檢查實驗控制程式,測試它是否有錯誤。
(四)Exit:選擇這個鍵,並 按滑鼠左鍵兩次後,便可關閉 DMDX 系統。
(五)Help:選擇這個鍵,並按滑鼠左鍵兩次後, 便可打開 DMDX 的說明檔。
(六)Subject ID:受試者的編 號。
(七)Ignore Unknown RTF:DMDX 的控制程式是以 WordPad 編寫;儲存的檔案格式為rtf(rich text file)。然而,由於微軟改版迅速,以及一些不可預知的因素,使得DMDX 無法判讀一些rtf檔案的語法。因此執行實驗控制程式時,如果DMDX發生判讀問題時,可以選用此選項。
DMDX實驗控制程式
下面將以範例的方式說明如何設計DMDX的實驗控制程式。
n24 s24 <d 100> <azk> <cr> <t 5000> <id "鍵盤"> <dbc 0> <dwc 255000255> <mr +Space> <mnr "+左箭頭"> <mpr "+右箭頭">
$
0 "正確的按右箭頭,錯誤的按左箭頭,按空格鍵開始。";
$
+1 *<x 0.4><ms% 900>"A"/ <ms% 500>/ <x 0.6><ms% 900>"A";
+2 *<x 0.4><ms% 900>"B"/ <ms% 500>/ <x 0.6><ms% 900>"B";
+3 *<x 0.4><ms% 900>"H"/ <ms% 500>/ <x 0.6><ms% 900>"h";
+4 *<x 0.4><ms% 900>"P"/ <ms% 500>/ <x 0.6><ms% 900>"p";
-5 *<x 0.4><ms% 900>"D"/ <ms% 500>/ <x 0.6><ms% 900>"F";
-6 *<x 0.4><ms% 900>"C"/ <ms% 500>/ <x 0.6><ms% 900>"P";
-7 *<x 0.4><ms% 900>"G"/ <ms% 500>/ <x 0.6><ms% 900>"F";
-8 *<x 0.4><ms% 900>"J"/ <ms% 500>/ <x 0.6><ms% 900>"A";
$
0<ln -3>"休息一下", <ln +3>"按空格鍵繼續。";
$
+9 *<x 0.4><ms% 900>"D"/ <ms% 1000>/ <x 0.6><ms% 900>"D";
+10 *<x 0.4><ms% 900>"H"/ <ms% 1000>/ <x 0.6><ms% 900>"H";
+11 *<x 0.4><ms% 900>"K"/ <ms% 1000>/ <x 0.6><ms% 900>"k";
+12 *<x 0.4><ms% 900>"J"/ <ms% 1000>/ <x 0.6><ms% 900>"j";
-13 *<x 0.4><ms% 900>"J"/ <ms% 1000>/ <x 0.6><ms% 900>"h";
-14 *<x 0.4><ms% 900>"Y"/ <ms% 1000>/ <x 0.6><ms% 900>"a";
-15 *<x 0.4><ms% 900>"s"/ <ms% 1000>/ <x 0.6><ms% 900>"d";
-16 *<x 0.4><ms% 900>"m"/ <ms% 1000>/ <x 0.6><ms% 900>"n";
$
0<ln -3>"休息一下", <ln +3>"按空格鍵繼續。";
$
+17 *<x 0.4><ms% 900>"K"/ <ms% 2000>/ <x 0.6><ms% 900>"K";
+18 *<x 0.4><ms% 900>"G"/ <ms% 2000>/ <x 0.6><ms% 900>"G";
+19 *<x 0.4><ms% 900>"J"/ <ms% 2000>/ <x 0.6><ms% 900>"j";
+20 *<x 0.4><ms% 900>"V"/ <ms% 2000>/ <x 0.6><ms% 900>"v";
-21 *<x 0.4><ms% 900>"f"/ <ms% 2000>/ <x 0.6><ms% 900>"u";
-22 *<x 0.4><ms% 900>"c"/ <ms% 2000>/ <x 0.6><ms% 900>"k";
-23 *<x 0.4><ms% 900>"s"/ <ms% 2000>/ <x 0.6><ms% 900>"m";
-24 *<x 0.4><ms% 900>"q"/ <ms% 2000>/ <x 0.6><ms% 900>"b";
$
0 "實驗結束,謝謝您。";
$
說明
範例說明
(1)這是一個含有 24 個試驗的實驗。在實驗中,受試者的工作是做“詞義歸類”。在一個試驗中,受試者會看到一個“刺激詞”,而受試者要判斷刺激詞的意義是否代表“食物”;如果答案是“是”,受試者要儘快的按“→ ”(向右鍵),如果答案是“否”,則受試者要儘快的按“←”(向左鍵)。
(2)程式最上面的一行為“參數設定行”;程式設計者在此設定實驗的參數。例如,<id "鍵盤">告訴 DMDX,實驗的 input device (反應輸入裝置)為鍵盤。因為我們的計算機環境為中文,所以 Input 的 id 必須輸入“鍵盤”。如果你用的是英文的計算機環境(例如,用英文版的 windows), Input的 id 為 keyboard。
(3)在實驗中,一個試驗用一個數字代表,所以設定一個試驗的指令啟始於“一個數字”。例如:
+1 *<x 0.4><ms% 900>"A"/ <ms% 500>/ <x 0.6><ms% 900>"A";
這個試驗的編號為 1,實驗刺激為900ms“A”,螢幕刷新500ms後再次呈現“A”。因為刺激詞的意義代表相同,所以受試者應該反應“是”(亦即,正反應);這是為何在試驗編號(1)前有一個“+”號。
<ms% 800>表示“ ”內的文字(亦即,A)出現的時間為800毫秒。
一行指令以“;”標示指令的結束。
(4)當研究者需要給予受試者“指導語”或設定“反應鍵”時,可以在程式中設計一些以 0 為編號的指令。例如,
0 "正確的按右箭頭,錯誤的按左箭頭,按空格鍵開始。";
程式設定了三個反應鍵:
(A)mpr 設定的是“正確反應”的反應鍵;在此為“向右鍵”(→)。
(B)mnr 設定的是“錯誤反應”的反應鍵;在此為“向左鍵”(←)。
亦即,當呈現出來的兩個刺激字母相同時,受試者要按鍵盤上的 → 鍵,若不是,則按鍵盤上的 ←鍵。
(5)實驗刺激較多時,可在實驗的中間插入指導語,讓受試者休息片。請在範例中找到下面這一行指令:
0 <ln -3> "休息一下", <ln +3> "按空格鍵繼續";
這行指令的的功用如下:
(B)將實驗暫時停住,等到受試者“按下空格鍵”後,再繼續開始。
參數說明
1. <n>實驗的數目,但不包括項目為0的項目列。
2. <s>指試驗以隨機呈現的方式進行,而s後面的數值代表進行隨機呈現的數目。
3.<d>控制每一個試驗呈現完,距離下一個試驗呈現之間的時間差。
4.<azk>程式輸出檔案既定格式為 ASCI text format的檔案。
5. <cr>持續呈現每一個試驗,如果沒有這一項參數設定,則每一個試驗反應之後必須按空格鍵才能繼續下一個試驗。
6. <t>即指每一個試驗中定時器激活至結束的時間。
7. <id>輸入儀器定義,可根據實驗需求變更定義輸入儀器。
8. <dbc>設定背景的顏色。
9. <dwc>設定文字刺激的呈現顏色。
10.<$>當實驗以隨機方式呈現刺激時,可以用此設定代表某一行不和其它刺激一起隨機出現。通常實驗的指示語之上下行會做這個設定。範例如下:
$
0<mr +space>“按空格鍵,即可開始”。
$
( $字號放在指示語的上下行。)
11.<0>非實驗列的定義數。
通常放的是指示語,範例如下:
<mr+space>“按空格鍵,即可開始”。
…etc.
12. <mr>要求受試者敲擊鍵盤的設定。
13. <mnr>要求受試者按正確(Yes)反應鍵的設定。
14.<mpr>要求受試者按錯誤(No)反應鍵的設定。
15. <“ ”>欲在螢幕中呈現的文字或符號等刺激必須填入雙引號中。
16.<+1…>反應為正確的試驗編碼。
17. <-1…>反應為錯誤的試驗編碼。
18.<*>定時器的設定。
19. <ms%>刺激呈現時間以毫秒計算。
20.<ln -1>刺激呈現在螢幕中的位置,沒有設定時即呈現在螢幕中央位置;<ln -1>呈現的位置是在中央位置之上一行,反之則在中央位置以下一行。
21.<;>區隔試驗的符號。
注意:
檔案需要用英文保存,保存為RTF格式,編程中的符號需在西文狀態下進行。