diff --git a/le_petit_prince/README.md b/le_petit_prince/README.md new file mode 100644 index 00000000..ff77ff8b --- /dev/null +++ b/le_petit_prince/README.md @@ -0,0 +1,61 @@ +## Display settings + +* Clone the primary display to the slave monitor. +* Display resolution - 1920 x 1080, refresh rate - 60 Hz. + +## How to run + +* Download the audio files (`.wav` files with suffix `task-lppFR`) from OpenNeuro: https://openneuro.org/datasets/ds003643/versions/2.0.1 +* Print the `protocol/questions_reponses_a_imprimer.pdf` file to mark participant's answers after each run +* Go into the task folder: + + ``` + $ cd le_petit_prince/protocol + ``` + +### Practice + +* No practice + +### Scanner task + +* Run the script `run-lepetitprince-mri.sh` as follows: + + ``` + $ sh run-lepetitprince-mri.sh + ``` + +* Select the run and press Enter. + +* Ask the questions after each run and mark the answers on the printed sheet. Open the file `questions_a_presenter.pdf` for the participant with the command shown, eg.: + + ``` + $ evince -s -p 4 questions_a_presenter.pdf + ``` + +* This would open the pdf at page 4 after run 1 and similarly, prompts after each run show corresponding page number in the pdf. + +## How to quit + +Don't. (`Ctrl + C` in emergency) + +## Responses + +* No responses except for the verbal ones after each acquisition run + +## Design + +* 2 sessions +* 5 runs (session 1) + 4 runs and 1 localizer (session 2) + +## Software info + +* Python 3.8.5, Expyriment 0.10.0. +* Primary script `run-lepetitprince-mri.sh` +* Secondary scripts `lepp_mri.py` for runs 1-9 and `localizer/localizer-speech.py` for the localizer. + +## Other info + +* Specified paths and scripts were originally run and tested on Ubuntu OS, so might need mods for running on Windows OS. +* `instructions_for_participants` contain original instructions in French and their English translations (from Google Translate) with `EN_` prefix +* same goes for `protocol/questions_reponses_a_imprimer.pdf` and `protocol/questions_a_presenter.pdf` diff --git a/le_petit_prince/instructions_for_participants/EN_ins2participants_lpp_session1.docx b/le_petit_prince/instructions_for_participants/EN_ins2participants_lpp_session1.docx new file mode 100644 index 00000000..ae9504f1 Binary files /dev/null and b/le_petit_prince/instructions_for_participants/EN_ins2participants_lpp_session1.docx differ diff --git a/le_petit_prince/instructions_for_participants/EN_ins2participants_lpp_session2.docx b/le_petit_prince/instructions_for_participants/EN_ins2participants_lpp_session2.docx new file mode 100644 index 00000000..44a193d9 Binary files /dev/null and b/le_petit_prince/instructions_for_participants/EN_ins2participants_lpp_session2.docx differ diff --git a/le_petit_prince/instructions_for_participants/ins2participants_lpp_session1.docx b/le_petit_prince/instructions_for_participants/ins2participants_lpp_session1.docx new file mode 100644 index 00000000..908ddd1b Binary files /dev/null and b/le_petit_prince/instructions_for_participants/ins2participants_lpp_session1.docx differ diff --git a/le_petit_prince/instructions_for_participants/ins2participants_lpp_session2.docx b/le_petit_prince/instructions_for_participants/ins2participants_lpp_session2.docx new file mode 100644 index 00000000..6979b724 Binary files /dev/null and b/le_petit_prince/instructions_for_participants/ins2participants_lpp_session2.docx differ diff --git a/le_petit_prince/localizer/list.csv b/le_petit_prince/localizer/list.csv new file mode 100644 index 00000000..faadcf35 --- /dev/null +++ b/le_petit_prince/localizer/list.csv @@ -0,0 +1,73 @@ +subj,ntrial,cond,sent_dur,fname,sent_onset +1,1,french,1948,localizer_01A.wav,2000 +1,2,french,2516,localizer_01B.wav,4448 +1,3,french,1640,localizer_01C.wav,7464 +1,4,control,2358,localizer_r_02A.wav,15104 +1,5,control,3094,localizer_r_02B.wav,17962 +1,6,control,2139,localizer_r_02C.wav,21556 +1,7,french,2292,localizer_03A.wav,29695 +1,8,french,3145,localizer_03B.wav,32487 +1,9,french,2227,localizer_03C.wav,36132 +1,10,control,2013,localizer_r_04A.wav,44359 +1,11,control,2674,localizer_r_04B.wav,46872 +1,12,control,1696,localizer_r_04C.wav,50046 +1,13,french,2805,localizer_05A.wav,57742 +1,14,french,2386,localizer_05B.wav,61047 +1,15,french,2400,localizer_05C.wav,63933 +1,16,control,2241,localizer_r_06A.wav,72333 +1,17,control,2455,localizer_r_06B.wav,75074 +1,18,control,2521,localizer_r_06C.wav,78029 +1,19,french,2288,localizer_07A.wav,86550 +1,20,french,2292,localizer_07B.wav,89338 +1,21,french,2115,localizer_07C.wav,92130 +1,22,control,2698,localizer_r_08A.wav,100245 +1,23,control,3028,localizer_r_08B.wav,103443 +1,24,control,2311,localizer_r_08C.wav,106971 +1,25,french,2260,localizer_09A.wav,115282 +1,26,french,2842,localizer_09B.wav,118042 +1,27,french,1519,localizer_09C.wav,121384 +1,28,control,2609,localizer_r_10A.wav,128903 +1,29,control,2959,localizer_r_10B.wav,132012 +1,30,control,2288,localizer_r_10C.wav,135471 +1,31,french,1924,localizer_11A.wav,143759 +1,32,french,2656,localizer_11B.wav,146183 +1,33,french,1924,localizer_11C.wav,149339 +1,34,control,1948,localizer_r_01A.wav,157263 +1,35,control,2516,localizer_r_01B.wav,159711 +1,36,control,1640,localizer_r_01C.wav,162727 +1,37,control,2260,localizer_r_09A.wav,170367 +1,38,control,2842,localizer_r_09B.wav,173127 +1,39,control,1519,localizer_r_09C.wav,176469 +1,40,french,2358,localizer_02A.wav,183988 +1,41,french,3094,localizer_02B.wav,186846 +1,42,french,2139,localizer_02C.wav,190440 +1,43,control,2292,localizer_r_03A.wav,198579 +1,44,control,3145,localizer_r_03B.wav,201371 +1,45,control,2227,localizer_r_03C.wav,205016 +1,46,french,2013,localizer_04A.wav,213243 +1,47,french,2674,localizer_04B.wav,215756 +1,48,french,1696,localizer_04C.wav,218930 +1,49,control,2805,localizer_r_05A.wav,226626 +1,50,control,2386,localizer_r_05B.wav,229931 +1,51,control,2400,localizer_r_05C.wav,232817 +1,52,french,2241,localizer_06A.wav,241217 +1,53,french,2455,localizer_06B.wav,243958 +1,54,french,2521,localizer_06C.wav,246913 +1,55,control,2288,localizer_r_07A.wav,255434 +1,56,control,2292,localizer_r_07B.wav,258222 +1,57,control,2115,localizer_r_07C.wav,261014 +1,58,french,2609,localizer_10A.wav,269129 +1,59,french,2959,localizer_10B.wav,272238 +1,60,french,2288,localizer_10C.wav,275697 +1,61,control,1924,localizer_r_11A.wav,283985 +1,62,control,2656,localizer_r_11B.wav,286409 +1,63,control,1924,localizer_r_11C.wav,289565 +1,64,french,2111,localizer_12A.wav,297489 +1,65,french,1761,localizer_12B.wav,300100 +1,66,french,1701,localizer_12C.wav,302361 +1,67,french,2698,localizer_08A.wav,310062 +1,68,french,3028,localizer_08B.wav,313260 +1,69,french,2311,localizer_08C.wav,316788 +1,70,control,2111,localizer_r_12A.wav,325099 +1,71,control,1761,localizer_r_12B.wav,327710 +1,72,control,1701,localizer_r_12C.wav,329971 diff --git a/le_petit_prince/localizer/localizer-speech.py b/le_petit_prince/localizer/localizer-speech.py new file mode 100644 index 00000000..5f55e5f3 --- /dev/null +++ b/le_petit_prince/localizer/localizer-speech.py @@ -0,0 +1,142 @@ +#! /usr/bin/env python +# updated: <2016-02-04 Esther LIN> +# -*- coding: utf-8 -*- + +import pandas as pd +import os.path as op +import sys +import expyriment +from expyriment import design, control, stimuli, io, misc +import pygame + +pygame.init() + + +''' +sent1 = stimuli.Audio("fr_localizer_03_22050.wav") +sent1.preload() +sent1.present() +''' + +if len(sys.argv) < 2: + print(sys.argv[0] + " csvfile") + print("The csvfile must contained the list of stimuli and onset times") + sys.exit() +else: + stimuli_table = sys.argv[1] + +exp = design.Experiment(name="bilingue_localizer") + +# comment out the following two lines if running the real experiment: +control.set_develop_mode(True) +control.defaults.open_gl = 2 + +''' +FIXATION_DURATION = 1000 +WORD_DURATION = 300 +BLOC_DURATION = 6000 +RESPONSE_KEYS = [misc.constants.K_b, misc.constants.K_y] +MAX_RESPONSE_DURATION = 1000 # need to be less than (900 + min ITI) +''' + +## +control.initialize(exp) + +## load the stimuli table into a block of trials +stim_tbl = pd.read_csv(stimuli_table) + +block = design.Block(name="block1") + +trial_items = [] + +for (i, stim_info) in stim_tbl.iterrows(): + trial = design.Trial() + trial.set_factor("subj", stim_info.subj) + trial.set_factor("nbloc", stim_info.nbloc) + trial.set_factor("langue", stim_info.langue) + trial.set_factor("sent_onset", stim_info.sent_onset) + trial.set_factor("sent_dur", stim_info.sent_dur) + trial.set_factor("stims", stim_info.fname) + + + + sound_fnames = [str("./sound_files/"+stim_info['fname'])] + trial_items.append(sound_fnames) + # transform the strings into surfaces to be blit on the screen + for w in sound_fnames: + stim = stimuli.Audio(w) + trial.add_stimulus(stim) + block.add_trial(trial) + +exp.add_block(block) # note that there is only one block in this experiment + +exp.data_variable_names = ["subj", "nbloc", "langue", "sent_onset", + "real_sentence_onset_before","real_sentence_onset_after","sent_dur","filename"] + +### A few useful objects and functions + +## define fixation crosses +fixcrossGreen = stimuli.FixCross(size=(45, 45), line_width=5, + colour=(0, 255, 0)) +fixcrossGreen.preload() + +fixcrossGrey = stimuli.FixCross(size=(45, 45), line_width=3, + colour=(192, 192, 192)) +fixcrossGrey.preload() + +''' +http://www.rapidtables.com/web/color/silver-color.htm +lightgray rgb(211,211,211) +silver rgb(192,192,192) +darkgray rgb(169,169,169) +gray rgb(128,128,128) +''' + + +def clear_screen(): + exp.screen.clear() + exp.screen.update() + + +def wait_for_MRI_synchro(): + fixcrossGreen.present(clear=True, update=True) + exp.keyboard.wait_char('t') + + +def wait_until(clock, time): + # busy loop wait + while (clock.time < time): + pass + +############ MAIN LOOP + +control.start(exp) + + +for block in exp.blocks: + wait_for_MRI_synchro() + clear_screen() + + # present the fixation cross + fixcrossGrey.present() + + clock = expyriment.misc.Clock() + + for itrial, trial in enumerate(block.trials): + #print "Trial: #"+itrial + for stim in trial.stimuli: + stim.preload() + + # present the sentence + wait_until(clock, trial.get_factor("sent_onset")) + real_sentence_onset_before = clock.time + stim.present() + real_sentence_onset_after = clock.time + + io.Keyboard.process_control_keys() + + exp.data.add([trial.get_factor("subj"), trial.get_factor('nbloc'), + trial.get_factor('langue'), trial.get_factor('sent_onset'), + real_sentence_onset_before,real_sentence_onset_after,trial.get_factor('sent_dur')," ".join(trial_items[itrial])]) + +control.end() diff --git a/le_petit_prince/localizer/sound_files/aga.csv b/le_petit_prince/localizer/sound_files/aga.csv new file mode 100644 index 00000000..bc054053 --- /dev/null +++ b/le_petit_prince/localizer/sound_files/aga.csv @@ -0,0 +1,74 @@ +0, +0,aga.csv +1948,localizer_01A.wav +2516,localizer_01B.wav +1640,localizer_01C.wav +2358,localizer_02A.wav +3094,localizer_02B.wav +2139,localizer_02C.wav +2292,localizer_03A.wav +3145,localizer_03B.wav +2227,localizer_03C.wav +2013,localizer_04A.wav +2674,localizer_04B.wav +1696,localizer_04C.wav +2805,localizer_05A.wav +2386,localizer_05B.wav +2400,localizer_05C.wav +2241,localizer_06A.wav +2455,localizer_06B.wav +2521,localizer_06C.wav +2288,localizer_07A.wav +2292,localizer_07B.wav +2115,localizer_07C.wav +2698,localizer_08A.wav +3028,localizer_08B.wav +2311,localizer_08C.wav +2260,localizer_09A.wav +2842,localizer_09B.wav +1519,localizer_09C.wav +2609,localizer_10A.wav +2959,localizer_10B.wav +2288,localizer_10C.wav +1924,localizer_11A.wav +2656,localizer_11B.wav +1924,localizer_11C.wav +2111,localizer_12A.wav +1761,localizer_12B.wav +1701,localizer_12C.wav +1948,localizer_r_01A.wav +2516,localizer_r_01B.wav +1640,localizer_r_01C.wav +2358,localizer_r_02A.wav +3094,localizer_r_02B.wav +2139,localizer_r_02C.wav +2292,localizer_r_03A.wav +3145,localizer_r_03B.wav +2227,localizer_r_03C.wav +2013,localizer_r_04A.wav +2674,localizer_r_04B.wav +1696,localizer_r_04C.wav +2805,localizer_r_05A.wav +2386,localizer_r_05B.wav +2400,localizer_r_05C.wav +2241,localizer_r_06A.wav +2455,localizer_r_06B.wav +2521,localizer_r_06C.wav +2288,localizer_r_07A.wav +2292,localizer_r_07B.wav +2115,localizer_r_07C.wav +2698,localizer_r_08A.wav +3028,localizer_r_08B.wav +2311,localizer_r_08C.wav +2260,localizer_r_09A.wav +2842,localizer_r_09B.wav +1519,localizer_r_09C.wav +2609,localizer_r_10A.wav +2959,localizer_r_10B.wav +2288,localizer_r_10C.wav +1924,localizer_r_11A.wav +2656,localizer_r_11B.wav +1924,localizer_r_11C.wav +2111,localizer_r_12A.wav +1761,localizer_r_12B.wav +1701,localizer_r_12C.wav diff --git a/le_petit_prince/localizer/sound_files/localizer_01A.wav b/le_petit_prince/localizer/sound_files/localizer_01A.wav new file mode 100644 index 00000000..cb43df9d Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_01A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_01B.wav b/le_petit_prince/localizer/sound_files/localizer_01B.wav new file mode 100644 index 00000000..99263d0d Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_01B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_01C.wav b/le_petit_prince/localizer/sound_files/localizer_01C.wav new file mode 100644 index 00000000..7b351e68 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_01C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_02A.wav b/le_petit_prince/localizer/sound_files/localizer_02A.wav new file mode 100644 index 00000000..d2399427 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_02A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_02B.wav b/le_petit_prince/localizer/sound_files/localizer_02B.wav new file mode 100644 index 00000000..d57d69af Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_02B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_02C.wav b/le_petit_prince/localizer/sound_files/localizer_02C.wav new file mode 100644 index 00000000..630e3ecb Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_02C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_03A.wav b/le_petit_prince/localizer/sound_files/localizer_03A.wav new file mode 100644 index 00000000..58165584 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_03A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_03B.wav b/le_petit_prince/localizer/sound_files/localizer_03B.wav new file mode 100644 index 00000000..3054b35a Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_03B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_03C.wav b/le_petit_prince/localizer/sound_files/localizer_03C.wav new file mode 100644 index 00000000..56ae4044 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_03C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_04A.wav b/le_petit_prince/localizer/sound_files/localizer_04A.wav new file mode 100644 index 00000000..51f5f92f Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_04A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_04B.wav b/le_petit_prince/localizer/sound_files/localizer_04B.wav new file mode 100644 index 00000000..37e83e05 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_04B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_04C.wav b/le_petit_prince/localizer/sound_files/localizer_04C.wav new file mode 100644 index 00000000..012163f3 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_04C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_05A.wav b/le_petit_prince/localizer/sound_files/localizer_05A.wav new file mode 100644 index 00000000..f9918c8a Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_05A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_05B.wav b/le_petit_prince/localizer/sound_files/localizer_05B.wav new file mode 100644 index 00000000..b85442e8 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_05B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_05C.wav b/le_petit_prince/localizer/sound_files/localizer_05C.wav new file mode 100644 index 00000000..ecbd352b Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_05C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_06A.wav b/le_petit_prince/localizer/sound_files/localizer_06A.wav new file mode 100644 index 00000000..9940e607 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_06A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_06B.wav b/le_petit_prince/localizer/sound_files/localizer_06B.wav new file mode 100644 index 00000000..662b1ca1 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_06B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_06C.wav b/le_petit_prince/localizer/sound_files/localizer_06C.wav new file mode 100644 index 00000000..a839eab0 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_06C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_07A.wav b/le_petit_prince/localizer/sound_files/localizer_07A.wav new file mode 100644 index 00000000..475a7a0b Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_07A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_07B.wav b/le_petit_prince/localizer/sound_files/localizer_07B.wav new file mode 100644 index 00000000..631da90e Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_07B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_07C.wav b/le_petit_prince/localizer/sound_files/localizer_07C.wav new file mode 100644 index 00000000..65249221 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_07C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_08A.wav b/le_petit_prince/localizer/sound_files/localizer_08A.wav new file mode 100644 index 00000000..f693e149 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_08A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_08B.wav b/le_petit_prince/localizer/sound_files/localizer_08B.wav new file mode 100644 index 00000000..7e2ef3c2 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_08B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_08C.wav b/le_petit_prince/localizer/sound_files/localizer_08C.wav new file mode 100644 index 00000000..dc684509 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_08C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_09A.wav b/le_petit_prince/localizer/sound_files/localizer_09A.wav new file mode 100644 index 00000000..8216c35d Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_09A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_09B.wav b/le_petit_prince/localizer/sound_files/localizer_09B.wav new file mode 100644 index 00000000..1a0efca2 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_09B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_09C.wav b/le_petit_prince/localizer/sound_files/localizer_09C.wav new file mode 100644 index 00000000..c9204f14 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_09C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_10A.wav b/le_petit_prince/localizer/sound_files/localizer_10A.wav new file mode 100644 index 00000000..d87436c2 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_10A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_10B.wav b/le_petit_prince/localizer/sound_files/localizer_10B.wav new file mode 100644 index 00000000..1dcf71d0 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_10B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_10C.wav b/le_petit_prince/localizer/sound_files/localizer_10C.wav new file mode 100644 index 00000000..7601630e Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_10C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_11A.wav b/le_petit_prince/localizer/sound_files/localizer_11A.wav new file mode 100644 index 00000000..294f7475 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_11A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_11B.wav b/le_petit_prince/localizer/sound_files/localizer_11B.wav new file mode 100644 index 00000000..d8843c84 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_11B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_11C.wav b/le_petit_prince/localizer/sound_files/localizer_11C.wav new file mode 100644 index 00000000..1be8cf40 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_11C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_12A.wav b/le_petit_prince/localizer/sound_files/localizer_12A.wav new file mode 100644 index 00000000..083245fe Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_12A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_12B.wav b/le_petit_prince/localizer/sound_files/localizer_12B.wav new file mode 100644 index 00000000..14ed6e70 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_12B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_12C.wav b/le_petit_prince/localizer/sound_files/localizer_12C.wav new file mode 100644 index 00000000..c432fdd2 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_12C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_01A.wav b/le_petit_prince/localizer/sound_files/localizer_r_01A.wav new file mode 100644 index 00000000..e1bd370d Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_01A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_01B.wav b/le_petit_prince/localizer/sound_files/localizer_r_01B.wav new file mode 100644 index 00000000..c00c3602 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_01B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_01C.wav b/le_petit_prince/localizer/sound_files/localizer_r_01C.wav new file mode 100644 index 00000000..5db2be50 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_01C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_02A.wav b/le_petit_prince/localizer/sound_files/localizer_r_02A.wav new file mode 100644 index 00000000..08f22532 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_02A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_02B.wav b/le_petit_prince/localizer/sound_files/localizer_r_02B.wav new file mode 100644 index 00000000..4d9ba217 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_02B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_02C.wav b/le_petit_prince/localizer/sound_files/localizer_r_02C.wav new file mode 100644 index 00000000..bc96cf88 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_02C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_03A.wav b/le_petit_prince/localizer/sound_files/localizer_r_03A.wav new file mode 100644 index 00000000..8bbc45da Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_03A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_03B.wav b/le_petit_prince/localizer/sound_files/localizer_r_03B.wav new file mode 100644 index 00000000..82f60275 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_03B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_03C.wav b/le_petit_prince/localizer/sound_files/localizer_r_03C.wav new file mode 100644 index 00000000..14090b91 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_03C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_04A.wav b/le_petit_prince/localizer/sound_files/localizer_r_04A.wav new file mode 100644 index 00000000..4ca6006f Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_04A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_04B.wav b/le_petit_prince/localizer/sound_files/localizer_r_04B.wav new file mode 100644 index 00000000..77d48f94 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_04B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_04C.wav b/le_petit_prince/localizer/sound_files/localizer_r_04C.wav new file mode 100644 index 00000000..2f0d8dab Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_04C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_05A.wav b/le_petit_prince/localizer/sound_files/localizer_r_05A.wav new file mode 100644 index 00000000..b8609587 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_05A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_05B.wav b/le_petit_prince/localizer/sound_files/localizer_r_05B.wav new file mode 100644 index 00000000..f7df5f9d Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_05B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_05C.wav b/le_petit_prince/localizer/sound_files/localizer_r_05C.wav new file mode 100644 index 00000000..b46727b9 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_05C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_06A.wav b/le_petit_prince/localizer/sound_files/localizer_r_06A.wav new file mode 100644 index 00000000..57014a62 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_06A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_06B.wav b/le_petit_prince/localizer/sound_files/localizer_r_06B.wav new file mode 100644 index 00000000..6e8e778a Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_06B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_06C.wav b/le_petit_prince/localizer/sound_files/localizer_r_06C.wav new file mode 100644 index 00000000..07b26e3d Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_06C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_07A.wav b/le_petit_prince/localizer/sound_files/localizer_r_07A.wav new file mode 100644 index 00000000..88917b36 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_07A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_07B.wav b/le_petit_prince/localizer/sound_files/localizer_r_07B.wav new file mode 100644 index 00000000..529af67f Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_07B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_07C.wav b/le_petit_prince/localizer/sound_files/localizer_r_07C.wav new file mode 100644 index 00000000..14a48082 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_07C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_08A.wav b/le_petit_prince/localizer/sound_files/localizer_r_08A.wav new file mode 100644 index 00000000..40a51df4 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_08A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_08B.wav b/le_petit_prince/localizer/sound_files/localizer_r_08B.wav new file mode 100644 index 00000000..d7c67b4b Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_08B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_08C.wav b/le_petit_prince/localizer/sound_files/localizer_r_08C.wav new file mode 100644 index 00000000..1a22d6c0 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_08C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_09A.wav b/le_petit_prince/localizer/sound_files/localizer_r_09A.wav new file mode 100644 index 00000000..4944375f Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_09A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_09B.wav b/le_petit_prince/localizer/sound_files/localizer_r_09B.wav new file mode 100644 index 00000000..be70cad1 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_09B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_09C.wav b/le_petit_prince/localizer/sound_files/localizer_r_09C.wav new file mode 100644 index 00000000..d1f72677 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_09C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_10A.wav b/le_petit_prince/localizer/sound_files/localizer_r_10A.wav new file mode 100644 index 00000000..4f167779 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_10A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_10B.wav b/le_petit_prince/localizer/sound_files/localizer_r_10B.wav new file mode 100644 index 00000000..48f0b654 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_10B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_10C.wav b/le_petit_prince/localizer/sound_files/localizer_r_10C.wav new file mode 100644 index 00000000..64cbff82 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_10C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_11A.wav b/le_petit_prince/localizer/sound_files/localizer_r_11A.wav new file mode 100644 index 00000000..c7420d44 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_11A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_11B.wav b/le_petit_prince/localizer/sound_files/localizer_r_11B.wav new file mode 100644 index 00000000..bd49531b Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_11B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_11C.wav b/le_petit_prince/localizer/sound_files/localizer_r_11C.wav new file mode 100644 index 00000000..67feb000 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_11C.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_12A.wav b/le_petit_prince/localizer/sound_files/localizer_r_12A.wav new file mode 100644 index 00000000..8ab0355b Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_12A.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_12B.wav b/le_petit_prince/localizer/sound_files/localizer_r_12B.wav new file mode 100644 index 00000000..0cde3ed2 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_12B.wav differ diff --git a/le_petit_prince/localizer/sound_files/localizer_r_12C.wav b/le_petit_prince/localizer/sound_files/localizer_r_12C.wav new file mode 100644 index 00000000..bd957ee9 Binary files /dev/null and b/le_petit_prince/localizer/sound_files/localizer_r_12C.wav differ diff --git a/le_petit_prince/protocol/EN_questions_a_presenter.pdf b/le_petit_prince/protocol/EN_questions_a_presenter.pdf new file mode 100644 index 00000000..f64ab22c Binary files /dev/null and b/le_petit_prince/protocol/EN_questions_a_presenter.pdf differ diff --git a/le_petit_prince/protocol/EN_questions_reponses_a_imprimer.pdf b/le_petit_prince/protocol/EN_questions_reponses_a_imprimer.pdf new file mode 100644 index 00000000..00d6128c Binary files /dev/null and b/le_petit_prince/protocol/EN_questions_reponses_a_imprimer.pdf differ diff --git a/le_petit_prince/protocol/lepp_mri.py b/le_petit_prince/protocol/lepp_mri.py new file mode 100644 index 00000000..b90e7ea4 --- /dev/null +++ b/le_petit_prince/protocol/lepp_mri.py @@ -0,0 +1,47 @@ +#! /usr/bin/env python +# Time-stamp: <2019-03-12 16:44:46 christophe@pallier.org> + +import sys +from expyriment import design, control, stimuli, io, misc + +AUDIO = sys.argv[1] + +exp = design.Experiment(name="Le_Petit_Prince") + +control.set_develop_mode(False) +control.defaults.open_gl = 2 +control.defaults.window_mode = True +control.defaults.window_size = (1920, 1080) + +## +control.initialize(exp) + +stim = stimuli.Audio(AUDIO) +stim.preload() + +fixcrossGreen = stimuli.FixCross(size=(45, 45), line_width=5, + colour=(0, 255, 0)) +fixcrossGreen.preload() +fixcrossGrey = stimuli.FixCross(size=(45, 45), line_width=3, + colour=(192, 192, 192)) +fixcrossGrey.preload() + +def clear_screen(): + exp.screen.clear() + exp.screen.update() + +def wait_for_MRI_synchro(): + fixcrossGreen.present(clear=True, update=True) + exp.keyboard.wait_char('t') + +control.start(exp, skip_ready_screen=True) + +wait_for_MRI_synchro() +clear_screen() +fixcrossGrey.present(clear=True, update=True) +exp.clock.wait(5000) +stim.present() +control.wait_end_audiosystem() +io.Keyboard.process_control_keys() + +control.end() diff --git a/le_petit_prince/protocol/questions_a_presenter.pdf b/le_petit_prince/protocol/questions_a_presenter.pdf new file mode 100644 index 00000000..3dff2f48 Binary files /dev/null and b/le_petit_prince/protocol/questions_a_presenter.pdf differ diff --git a/le_petit_prince/protocol/questions_reponses_a_imprimer.pdf b/le_petit_prince/protocol/questions_reponses_a_imprimer.pdf new file mode 100644 index 00000000..fba6628d Binary files /dev/null and b/le_petit_prince/protocol/questions_reponses_a_imprimer.pdf differ diff --git a/le_petit_prince/protocol/run-lepetitprince-mri.sh b/le_petit_prince/protocol/run-lepetitprince-mri.sh new file mode 100755 index 00000000..f7c4291b --- /dev/null +++ b/le_petit_prince/protocol/run-lepetitprince-mri.sh @@ -0,0 +1,61 @@ +#! /bin/bash +# Time-stamp: <2019-03-12 17:19:52 christophe@pallier.org> + +tempfile=`(tempfile) 2>/dev/null` || tempfile=/tmp/test$$ +trap "rm -f $tempfile" 0 $SIG_NONE $SIG_HUP $SIG_INT $SIG_QUIT $SIG_TERM + +QUEST=questions_a_presenter.pdf + +resp=0 + +until [ "$resp" = "Quit" ] +do + next=$(($resp + 1)) + if [ $next = "11" ]; then + next="Quit"; + fi + + dialog --clear --title "Le Petit Prince" "$@" \ + --nocancel --default-item "$next" \ + --menu "Please select the run number and press Enter\n" \ + 24 40 11 \ + 1 "Chapters 1-3" \ + 2 "Chapters 4-5" \ + 3 "Chapters 6-8" \ + 4 "Chapters 9-10" \ + 5 "Chapters 11-13" \ + 6 "Chapters 14-17" \ + 7 "Chapters 18-20" \ + 8 "Chapters 21-23" \ + 9 "Chapters 24-27" \ + 10 "Localizer" \ + Quit "End the experiment" 2>$tempfile + + retvat=$? + resp=$(cat $tempfile) + + case $resp in + 1) python lepp_mri.py 'wav/ch1-3.wav' + dialog --msgbox "evince -s -p 4 ${QUEST}" 6 32 ;; + 2) python lepp_mri.py 'wav/ch4-6.wav' + dialog --msgbox "evince -s -p 11 ${QUEST}" 6 32 ;; + 3) python lepp_mri.py 'wav/ch7-9.wav' + dialog --msgbox "evince -s -p 18 ${QUEST}" 6 32 ;; + 4) python lepp_mri.py 'wav/ch10-12.wav' + dialog --msgbox "evince -s -p 25 ${QUEST}" 6 32 ;; + 5) python lepp_mri.py 'wav/ch13-14.wav' + dialog --msgbox "evince -s -p 31 ${QUEST}" 6 32 ;; + 6) python lepp_mri.py 'wav/ch15-19.wav' + dialog --msgbox "evince -s -p 38 ${QUEST}" 6 32 ;; + 7) python lepp_mri.py 'wav/ch20-22.wav' + dialog --msgbox "evince -s -p 45 ${QUEST}" 6 32 ;; + 8) python lepp_mri.py 'wav/ch23-25.wav' + dialog --msgbox "evince -s -p 52 ${QUEST}" 6 32 ;; + 9) python lepp_mri.py 'wav/ch26-27.wav' + dialog --msgbox "evince -s -p 59 ${QUEST}" 6 32 ;; + 10) (cd ../localizer; python localizer-speech.py list.csv; cd ..) ;; + Quit) echo "Finito!" ;; + *) dialog --msgbox "I do not understand..." 6 32 ;; + esac + +done