Plz, help me to design ABX auditory discrimination task!!!
Can anybody help me to design neat and clear this task?
I am new to this program and get in trouble with design the manual and operating it, I will be greatly appreciated if any body has the similar template for this experiment. I will do ABX discriminaion task for certain set of phonemic minimal pair, so the stimuli should be in certain set, for example, A-B-A, A-B-B with fixed word set(ex. dad-mad-mad).So far, I designed as follows: but I can't figure out how to manipulate those set with 3 sequential sound sampler with advanced-delay icon.
I'll be appreciated for your help or any similar template that I could take as a reference!!
Thank you~
Comments
Hello,
Well I am no way an expert but the way I would design it would be as follow:
fill your table with the various sequence you want to use, remember each line is a trial so for A-B-C you could get, first_sound: A.wav, second_sound:B.wav, third_sound:C.wav;
create three sampler first_sound_present, second_sound_present, third_sound_present and put the name of the column corresponding to the sound that will be played in [ ], like this (it means it will play the value of the variable between [ ])
And it should work.
But now I do not really get your issue with the advanced delay. Just enter the time you want between sound no?
Best,
Sylvain
Thank you so much for your prompt reply.
One more question, if I put this in random order, will each line be in the same trial but switch with the other trial, I mean the order of each trial can be randomly operated?
If you do this and enter random, it means that the whole sequences (A-B-B...) will be randomized.
The way you could think about it is that each line in your table are and stay a single trial. So if you have:
On randomized you could get for example:
BUT YOU WILL DONT GET:
Lines are randomized, but elements within these lines stick together is what I mean.
I dont know I hope I am clear.
Best,
Sylvain
Sylvain,
Would you help me to operate mouse_response from the beginning of the experiment?
I tried to put python decode message that copied from other forum, but didn't work. Also, after listening to the stimuli, I couldn't click the correct button A or B.
(Yes, delay time is what the interstimuli interval time that I intended to operate)
Thanks.
Yeah I could hep but you need to tell us what you intend to do I do not really get it.
I see from your screen capture that at the end of the sound sequence there is a reaction button slide and mouse response.
What is the task of the subjet then? What do you collect?
The experiment I will perform is ABX discrimination task which the subject should chose one identical sound of the third stimuli. For example, if the subject hear A-B-B sequence words, then he/she should click the button B. So, here are several problems I have.



1. I want to use mouse-response from the beginning of the experiment. (Such as click "ok" button-it didn't work)
2. As you can see below I set the trial with certain matching stimuli played in random order. For example, f1-v1-f1 (trial1) and s1-z1-z1(trial 2) (as a set of trial, but can be placed in any order with other set of trial), x1-y1-y1. Not scrambled like this: f1-v2-f1, or x1-v1-x1, y2-s2-s2. (So far, before I put inline script and mouse_respond decode in script, it seems working, but not now)
3. After the subject listen to the trial, they need to click A or B that is shown in reaction-buttons.
Here are some pictures that I did so far.
I'm deeply appreciated for your kind help and suggestion.
Best regards,
Youngshin
Hey,
In order to do that I would rather use a canvas with a little bit of scripting.
Basically first define the correct answer in your table:
Then just after the third_delay define an inline script. In the prepare phase you are defining every element in the canvas being used for the response:
And in the run phase you present the canvas and collect the response:
I hope the comment will make sense to you and you will be able to adjust them to your own experimental design.
I also join a zip with everything (because there are also wav files you might need to see how it works)
Best,
Sylvain
Thank you Sooooooo~ much for your kind help, Sylvain.


I revised my experimental design that is in the file. However, I cannot figure out how to define canvas. What I understand is my canvas is circle that has two position with text in it. So, I define my_canvas like this and I got this error message. I am a real novice learner of opensesame and python code so I am desperately seeking your help. I attach the error message and my inline script below.
Looking forward your help~
Sincerely
Youngshin
Hey,
Try to remember that your canvas is just like a canvas with a name.
For instance:
my_best_canvas = canvas()
then my_best_canvas would be the name where you will put everything (circles, buttons...).
Here in your script in your first line you are setting up a canvas called my_canvas, then you are drawing circles on a canvas that does not exist (Canvas.Circle).
So what you have to do there:
Best,
Sylvain
Sylvain,
I did deleted and try to run the scrip again as well as look thoroughly the manual you mentioned, however the same error message occurs. If you don't mind would you check my experimental design. I am really sorry to bother you.
Best,
Youngshin
Could you post a zip where you also include your sound otherywise I cannot run it.
Thanks!
Oh, I save the sound file in the file pool. However, if that doesn't work, I'll attach them separately. Thanks.
Hello,
Ok there were several issues:
Here is the script check it and see if everything is correctly logged (should be but double check)
Thank you Sylvain for your kind help with clear explanation.
Though still canvas definition problem remains in my computer. I just run the file you sent with sound file in the pool. (Is that because I didn't put the height of screen? if so, how can I get this height of screen? )May be I'll try keyboard correspondence instead of clicking button.
Here is the message that I got:
Hello,
In line 2 of the script I sent do you have:
If some reason you have:
Just add the parenthesis ()
Best,
Sylvain
Thanks, Sylvain.

I tried to operate with your original file which has parenthesis as you mentioned. However, it's still not working with error message that Canvas is not defined. Like this:
And same with the previous one in inline script

Wow it is so odd.
Two questions:
Yeah, I just add the voice files into the pool. (That's the only thing I did before I run)
the version I'm running is the latest one(version 3.1)
If I could use keyboard response instead of mouse and button, do I still need to type this inline script?
I'm using window 7 is this the problem to run opensesame?
Wow! Finally, it works with the latest version! Thank you so much for your patience and big help!
I was wondering with installing the new one, 'cause the installed icon didn't appear but show like this:
(I don't know why it happens, I just guess there might be some crash or other minor problem~)
However, it finally works perfectly as I expected due to your great effort and care~
I'll definitely donate to this program~.
Have a nice week~
Oh very nice that it works! Yeah I also do not have the icon but it is not really bothering!
Best,
Sylvain