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
|
jeremy@38
|
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> <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
|
m@1
|
15 <midi device> is an integer specifying the midi device to use (usually 0).
|
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
|
jeremy@38
|
40 if <debug> is 1 debug information is written to the terminal, if 0 it is not.
|
jeremy@38
|
41
|
m@1
|
42 See runExperiment.bat for an example.
|
m@0
|
43
|
m@0
|
44 To use in a study:
|
m@0
|
45
|
m@4
|
46 1. put the relevant midi files in the directory specified by <midi
|
marcus@15
|
47 file directory>. When playing the clock, the program can be a little
|
marcus@15
|
48 fussy about the onsets and durations of the notes in the midi files
|
marcus@15
|
49 being exact integer multiples of each other.
|
m@0
|
50
|
m@7
|
51 2. edit pfilelist.txt and filelist.txt (also in <midi file directory>)
|
m@7
|
52 to contain the midi files played in the practice and main blocks
|
m@4
|
53 respectively: put one file on each line followed by a list of note
|
m@11
|
54 numbers to probe with the visual clock (e.g., 1 = the first note).
|
marcus@15
|
55 NB: only use a single space between filenames and note numbers;
|
marcus@15
|
56 also, the last line of these files must terminate with a newline.
|
m@0
|
57
|
marcus@15
|
58 3. create a set of instructions for the study in an html file.
|
m@0
|
59
|
marcus@15
|
60 The results are written to files in the specified directory which must
|
marcus@15
|
61 exist.
|
m@0
|
62
|
m@6
|
63 4. responses can be given either using the mouse or using the numeric
|
m@6
|
64 keys (except in the case of a scalelength of 2 where the keys 'q' and
|
m@6
|
65 'p' are used).
|
m@0
|
66
|
m@0
|
67 DEVELOPMENT
|
m@0
|
68
|
m@0
|
69 The code is organised according to a MVC structure:
|
m@0
|
70
|
m@0
|
71 Model: Experiment.java
|
m@0
|
72 - FileList.java
|
m@0
|
73 - ProbeID.java
|
m@0
|
74 - MidiPlayer.java
|
m@0
|
75 - MelodyResults.java
|
m@0
|
76 - SubjectResults.java
|
m@0
|
77 - Block.java
|
m@0
|
78
|
m@0
|
79 View: ExperimentGui.java
|
m@0
|
80 - Clock.java
|
m@0
|
81 - InstructionsPanel.java
|
m@0
|
82 - StimulusPanel.java
|
m@0
|
83 - SubjectDataPanel.java
|
m@0
|
84 - InterBlockPanel.java
|
m@0
|
85
|
m@0
|
86 Controller: ExperimentController.java
|
marcus@15
|
87
|
marcus@15
|
88 Icons/:
|
marcus@15
|
89 - contains icons used for the GUI
|
marcus@15
|
90
|
marcus@15
|
91
|