Playing sound with low latency and jitter in OpenSesame

OpenSesame is probably the greatest software for creating experiments for psychology, neuroscience, etc. It has a graphical interface for the most useful components, such as playing a sound file (sampler) or creating own tone (synth). However, the way these components are implemented (using PyGame) may not provide good temporal accuracy (latency), meaning the sound can be delayed, which might not be that bad, neither good temporal precision (jitter), meaning that the delay may vary from trial to trial, which can be very bad (for things like ERPs, etc.). You should read about these matters here.

In this post I want to show how I managed to significantly improve the timing of my auditory stimuli using inline code, PyAudio and ASIO API, even using onboard sound card in Windows 7.

Continue reading

Analýza dat kognitivně-psychologického experimentu: Posnerova úloha

Pokračujeme v našem malém úvodním seriálu o kognitivní psychologii ilustrovaném na příkladu klasického Posnerova výzkumu skryté zrakové pozornosti. Již jsme se dozvěděli něco o psychologickém konceptu pozornosti, jak se dá takový kognitivistický konstrukt objektivně zkoumat, jak se přistupuje k designu konkrétního experimentu a sběru dat, a v tomto příspěvku si získaná data základně zanalyzujeme.

Možná že někomu bude tento příspěvek připadat suchý, ale takto skutečně vypadá podstatná část vědecké práce (a není nic krásnějšího, než si moci hrát s výsledky své práce – a nalézt tam vážně to, co jsme nalézt chtěli!:-)). Snad to bude pro někoho prakticky užitečné; kéž bych tohle vše například znal v době, kdy jsem dělal na své diplomové práci! Kroky zpracování dat budu vysvětlovat slovně i ilustrovat pomocí jazyka R, což je jeden z nejpoužívanějších statistických nástrojů vůbec, a navíc, je zadarmo (doporučuji k práci grafické prostředí R Studio). Pokud chcete pracovat s daty, naučit se R se rozhodně vyplatí. Excel ani SPSS vám takovou jednoduchost a sílu nenabídnou.

Analýza a vizualizace dat je zábava!

Analýza a vizualizace dat je zábava!

Continue reading

Design kognitivně-psychologického experimentu: Posnerova úloha

Posledně jsem napsal něco o tom, jakými behaviorálními a neurovědnými metodami se dá podívat pod pokličku fenoménu zvaného skrytá zraková pozornost. Tohle téma bych teď rád rozvedl ve větším detailu. Na příkladu jednoho z nejslavnějších experimentů kognitivní psychologie si ukážeme, jak se navrhuje (a implementuje) takový experiment. To třeba kdybyste si chtěli nějaký sami provést nebo alespoň získat vhled nejen do teorií, ale i do praxe experimentální psychologie.

 Úvod

Ke konci 70. let 20. století provedl slavný kognitivní psycholog a neurovědec Michael Posner (a samozřejmě množství dalších výzkumníků) sérii experimentů, ve kterých si pokládal několik otázek mj. ohledně zaměřené pozornosti – a výzkumná otázka je přesně to, co by mělo stát na začátku návrhu jakéhokoli experimentu. Otázka by se měla vztahovat k aktuálním teoriím a publikovanému výzkumu. Jaké výsledky kdo získal, jak se to kdo snažil systematizovat ve formě teorie, jaké jsou v tom nedostatky a podobně. My to zde vezmeme méně formálně, jen s troškou teorie na ukázku, můžete zde jasně vidět přístup kognitivismu:

Michael Posner

Michael Posner (Zdroj)

Continue reading

Posner cueing task: online demonstration

I have tried searching for a nice online demonstration of the classic Posner’s cueing paradigm without much success. A pretty good one can be found at the APA Online Psychology Laboratory. It is nice in the way that it allows adjustment of the visual angle for individual conditions. But the experimental procedure for example lacked a blank ITI (inter-trial interval), which made it very difficult to prepare for the upcoming trial (thus virtually unusable), and in the end the app crashed so I did not get my results. Importantly, it does not allow you to tweak the parameters of the task.

So I’ve decided to create my own online demo! It allows you to choose between a central (endogenous) arrow cue, central symbolic cue, and a peripheral (exogenous) cue, you can set the ratio of valid to invalid to neutral cue trials, and you can adjust the SOA (stimulus onset asynchrony) between the cue and the target. Hope someone will find it useful.

It is not meant for real data acquisition, but solely as a demonstration for educational purposes. No warranties.

You can run it from this separate page, which also provides the description on how to use it, what to try, etc, including the whole source code. A nice general explanation what the Posner task is about can be found on Wikipedia or at the APA website.

posner-online-preview

Click the image to open the experiment

It is implemented as a Java applet in NetLogo, which is not really suited for such things (it is a simulation tool, where precise real-world timing usually is not a concern), but still it works remarkably well, I must say.

You are likely to get security warnings because the app does not have a digital signature. But you can trust me that it won’t do anything bad to your PC, so just accept and allow everything and it should run just fine. Some browsers may refuse to run it anyway (security reasons) if you do not have the latest Java version. You can find it here. Note that even if you have a 64bit system, your browser can be a 32bit application, so get both versions to be sure. Some browsers, like my Firefox, still refused to run it, so I had to manually add an exception in the Java control panel. It is simple: In Windows, open the Control Panel (in the Start menu) > Java icon > Security tab > button “Edit Site List…” > button “Add” > enter “http://www.ondrejhavlicek.com” > Ok buttons.

If you like it, drop a comment, if not, do that as well please!