psychopy.org | Reference | Downloads | Github

Staircase level and key-response mismatching to the description

Hello, I have a question about Staircase.
I am using StandalonePsychoPy3-3.1.2-win64.

I would like to do 2AFC Pitch discrimination test by Staircase.

Through Builder, I get a following staircase loop called ‘adap_stair’:
adap_stair = data.StairHandler(startVal=13, extraInfo=expInfo,
stepSizes=1, stepType=‘lin’,
nReversals=3, nTrials=5,
nUp=1, nDown=2,
minVal=1, maxVal=37,
originPath=-1, name=‘adap_stair’)

This is intended to use the level 13 initially, and go up and down by 1.

In each trial, two sounds (lowest pitch, and the current level pitch) are presented in a randomized order. Subjects respond key 1 or 2, to indicate the higher pitch (1st or 2nd sound). The variable from Staircase handler ‘level’ is used to generate sound filename numbers (e.g., ‘P01.wav’, 'P02.wav, …, ‘P37.wav’ from low to high pitch)

However, when I print the variable ‘level’ and ‘key_resp.corr’, despite the correct answer each trial, the level is changing by a different step size each time (instead of going down by 1, it is going up 7 or 8 each time), quickly arriving the max value.

Below is the output:
######## Running: C:\Users\tfujioka\Documents\Experiments\SoundStair.py ########
pygame 1.9.4
Hello from the pygame community. https://www.pygame.org/contribute.html
level is: 13
key_resp.corr is:1
level is: 20
key_resp.corr is:1
level is: 28
key_resp.corr is:1
level is: 36
key_resp.corr is:1
level is: 37
key_resp.corr is:1
level is: 37

Could anyone help me understand why this occurs and how I could make 2-down 1-up with +/- 1 stepsize?

Thanks so much,
Takako