В эксперименте, который я готовлю, звуки воспроизводятся из файла CSV, а время измеряется в кадрах. Учитывая тот факт, что каждый звук длится 300 мс, это равняется 18 кадрам.
from psychopy import data
from psychopy import core, visual, gui, data, event
from psychopy.tools.filetools import fromFile, toFile
import numpy, random, csv, time
from psychopy import logging, prefs
prefs.general['audioLib'] = ['pyo'] # Set the Audio Library [pyo (highest performer, check it), sounddevice (looks promessing, check it) or pygame (not good with timing)]
prefs.general['audioDriver']=['coreaudio']
from psychopy import sound
win = visual.Window([400,300], monitor="testMonitor", units="cm", fullscr=False)
stimuli = []
datafile = open("audioStim.csv", "rb")
reader = csv.reader(datafile, delimiter=";")
for row in reader:
stimuli.append(row[0])
#print (stimuli)
datafile.close()
clock = core.Clock()
for stimulus in stimuli:
#print (stimuli)
for frameN in range(18):
#print clock.getTime()
sound_stimulus = sound.Sound(stimulus)
sound_stimulus.play()
win.callOnFlip(clock.reset)
win.flip()
## Closing Section
win.close()
core.quit()
При проведении эксперимента звуки, кажется, смешиваются друг с другом. Они не звучат дискретно.
Результат немного проблематичен, это проблема с Psychopy (не хорошего качества, когда звуки такие короткие?) Или с кодом?
Спасибо за ваше время!
Любые другие рекомендации или предложения по улучшению кода приветствуются.