m@0
|
1 AUTHOR
|
m@0
|
2
|
marcus@15
|
3 Marcus Pearce <marcus.pearce@eecs.qmul.ac.uk>
|
m@0
|
4
|
m@0
|
5
|
m@0
|
6 USAGE
|
m@0
|
7
|
c@41
|
8 java Experiment <show clock?> <multiple> <n> <midi device> <scale length> <low anchor> <high anchor> <midi file directory> <instructions file> <results directory> <familiarity> <pleasantness> <questionnaire> <fullscreen> <debug>
|
m@0
|
9
|
m@3
|
10 where <show clock?> specifies whether to show the clock (0 = no; 1 =
|
m@3
|
11 yes) and <multiple> and <n> are integers: the clock runs for <n> time
|
m@0
|
12 units before a probed event where the time unit is a multiple of the
|
m@3
|
13 tatum as specified by <multiple>.
|
m@1
|
14
|
c@41
|
15 <midi device> is an integer specifying the midi device to use (usually 0) or a boolean String ("true" or "false") where "true" specifies that the program should use the default midi device and "false" specifies that the program should not use the default midi device, and should list the available midi devices on start up.
|
m@1
|
16
|
m@1
|
17 <scale length> is the number of levels of the rating scale and <low
|
m@1
|
18 anchor> and <high anchor> are its high and low anchors respectively
|
m@1
|
19 (e.g., "highly unexpected", "highly expected" with a scale length of
|
m@1
|
20 7).
|
m@1
|
21
|
m@4
|
22 <midi file directory> is the directory where the midi files are stored
|
m@4
|
23
|
m@7
|
24 <instructions file> is an html file containing the instructions for
|
m@7
|
25 the participant which will be displayed at the beginning of the
|
m@7
|
26 experiment.
|
m@7
|
27
|
jeremy@25
|
28 <results directory> is the directory where the results will be written.
|
marcus@15
|
29
|
m@8
|
30 If <familiarity> is 1 the participant is asked to rate the familiarity
|
m@8
|
31 of each stimulus, if it is 0 the question is omitted.
|
m@8
|
32
|
m@8
|
33 If <pleasantness> is 1 the participant is asked to rate the pleasantness
|
m@8
|
34 of each stimulus, if it is 0 the question is omitted.
|
m@8
|
35
|
m@8
|
36 if <questionnaire> is 1, experiment ends with a compulsory
|
m@8
|
37 questionnaire on age, sex, musical training etc.; if it is 0 the
|
m@8
|
38 questionnaire is optional.
|
m@8
|
39
|
c@41
|
40 If <fullscreen> is 1, the program will produce a fixed full screen GUI which can't be resized if the device allows this; if it is 0 then the program will produce a resizable full screen GUI.
|
c@41
|
41
|
jeremy@38
|
42 if <debug> is 1 debug information is written to the terminal, if 0 it is not.
|
jeremy@38
|
43
|
m@1
|
44 See runExperiment.bat for an example.
|
m@0
|
45
|
m@0
|
46 To use in a study:
|
m@0
|
47
|
m@4
|
48 1. put the relevant midi files in the directory specified by <midi
|
marcus@15
|
49 file directory>. When playing the clock, the program can be a little
|
marcus@15
|
50 fussy about the onsets and durations of the notes in the midi files
|
marcus@15
|
51 being exact integer multiples of each other.
|
m@0
|
52
|
m@7
|
53 2. edit pfilelist.txt and filelist.txt (also in <midi file directory>)
|
m@7
|
54 to contain the midi files played in the practice and main blocks
|
m@4
|
55 respectively: put one file on each line followed by a list of note
|
m@11
|
56 numbers to probe with the visual clock (e.g., 1 = the first note).
|
marcus@15
|
57 NB: only use a single space between filenames and note numbers;
|
marcus@15
|
58 also, the last line of these files must terminate with a newline.
|
m@0
|
59
|
marcus@15
|
60 3. create a set of instructions for the study in an html file.
|
m@0
|
61
|
marcus@15
|
62 The results are written to files in the specified directory which must
|
marcus@15
|
63 exist.
|
m@0
|
64
|
m@6
|
65 4. responses can be given either using the mouse or using the numeric
|
m@6
|
66 keys (except in the case of a scalelength of 2 where the keys 'q' and
|
m@6
|
67 'p' are used).
|
m@0
|
68
|
m@0
|
69 DEVELOPMENT
|
m@0
|
70
|
m@0
|
71 The code is organised according to a MVC structure:
|
m@0
|
72
|
m@0
|
73 Model: Experiment.java
|
m@0
|
74 - FileList.java
|
m@0
|
75 - ProbeID.java
|
m@0
|
76 - MidiPlayer.java
|
m@0
|
77 - MelodyResults.java
|
m@0
|
78 - SubjectResults.java
|
m@0
|
79 - Block.java
|
m@0
|
80
|
m@0
|
81 View: ExperimentGui.java
|
m@0
|
82 - Clock.java
|
m@0
|
83 - InstructionsPanel.java
|
m@0
|
84 - StimulusPanel.java
|
m@0
|
85 - SubjectDataPanel.java
|
m@0
|
86 - InterBlockPanel.java
|
m@0
|
87
|
m@0
|
88 Controller: ExperimentController.java
|
marcus@15
|
89
|
marcus@15
|
90 Icons/:
|
marcus@15
|
91 - contains icons used for the GUI
|
marcus@15
|
92
|
marcus@15
|
93
|