m@0: AUTHOR m@0: marcus@15: Marcus Pearce m@0: m@0: m@0: USAGE m@0: marcus@15: java Experiment m@0: m@3: where specifies whether to show the clock (0 = no; 1 = m@3: yes) and and are integers: the clock runs for time m@0: units before a probed event where the time unit is a multiple of the m@3: tatum as specified by . m@1: m@1: is an integer specifying the midi device to use (usually 0). m@1: m@1: is the number of levels of the rating scale and and are its high and low anchors respectively m@1: (e.g., "highly unexpected", "highly expected" with a scale length of m@1: 7). m@1: m@4: is the directory where the midi files are stored m@4: m@7: is an html file containing the instructions for m@7: the participant which will be displayed at the beginning of the m@7: experiment. m@7: jeremy@25: is the directory where the results will be written. marcus@15: m@8: If is 1 the participant is asked to rate the familiarity m@8: of each stimulus, if it is 0 the question is omitted. m@8: m@8: If is 1 the participant is asked to rate the pleasantness m@8: of each stimulus, if it is 0 the question is omitted. m@8: m@8: if is 1, experiment ends with a compulsory m@8: questionnaire on age, sex, musical training etc.; if it is 0 the m@8: questionnaire is optional. m@8: m@1: See runExperiment.bat for an example. m@0: m@0: To use in a study: m@0: m@4: 1. put the relevant midi files in the directory specified by . When playing the clock, the program can be a little marcus@15: fussy about the onsets and durations of the notes in the midi files marcus@15: being exact integer multiples of each other. m@0: m@7: 2. edit pfilelist.txt and filelist.txt (also in ) m@7: to contain the midi files played in the practice and main blocks m@4: respectively: put one file on each line followed by a list of note m@11: numbers to probe with the visual clock (e.g., 1 = the first note). marcus@15: NB: only use a single space between filenames and note numbers; marcus@15: also, the last line of these files must terminate with a newline. m@0: marcus@15: 3. create a set of instructions for the study in an html file. m@0: marcus@15: The results are written to files in the specified directory which must marcus@15: exist. m@0: m@6: 4. responses can be given either using the mouse or using the numeric m@6: keys (except in the case of a scalelength of 2 where the keys 'q' and m@6: 'p' are used). m@0: m@0: DEVELOPMENT m@0: m@0: The code is organised according to a MVC structure: m@0: m@0: Model: Experiment.java m@0: - FileList.java m@0: - ProbeID.java m@0: - MidiPlayer.java m@0: - MelodyResults.java m@0: - SubjectResults.java m@0: - Block.java m@0: m@0: View: ExperimentGui.java m@0: - Clock.java m@0: - InstructionsPanel.java m@0: - StimulusPanel.java m@0: - SubjectDataPanel.java m@0: - InterBlockPanel.java m@0: m@0: Controller: ExperimentController.java marcus@15: marcus@15: Icons/: marcus@15: - contains icons used for the GUI marcus@15: marcus@15: