Metadata-Version: 2.1
Name: opensesame-plugin-omexp
Version: 1.0.1
Summary: BRM_OMEXP plugins for OpenSesame
Home-page: https://github.com/elus-om/BRM_OMEXP
Author: Eleonora Sulas & Pierre-Yves Hasan
Author-email: elus@oticonmedical.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: Environment :: Win32 (MS Windows)
Classifier: Environment :: X11 Applications
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Description-Content-Type: text/markdown
Requires-Dist: numba (>=0.51.2)
Requires-Dist: liesl (>=0.3.4.6)
Requires-Dist: rtmixer (>=0.1.2)
Requires-Dist: resampy (>=0.2.2)
Requires-Dist: soundfile (>=0.10.3.post1)
Requires-Dist: sounddevice (>=0.4.1)
Requires-Dist: scipy (==1.1.0)
Requires-Dist: numpy (==1.18.1)

# OMEXP plugins

We introduce a set of plugins for OpenSesame that enable the implementation of behavioural and cognitive tasks involving advanced audio playback.
For clarity we refer to the OpenSesame platform enhanced with these plugins as the Oticon Medical Experiment Platform (OMEXP).

The list of plugins added to OpenSesame to constitute OMEXP are summarized below and described in details in the following section.
- LSL start: initializes the Lab Streaming Layer (LSL) protocol (see https://labstreaminglayer.readthedocs.io/index.html) and starts the recording. It allows to select the folder in which the recording will be saved and the filename under which the data should be saved. 
- LSL message: allows to timestamp an acquisition stream synchronized with the recording. It is useful, for example, to save the exact instant when a stimulus is shown to the user. The recordings are synchronized and saved in an XDF file format (Extensible Data Format), see https://labstreaminglayer.readthedocs.io/info/intro.html.  
- LSL stop: stops and saves the recordings.
- Adaptive init: implements an adaptive method for psychoacoustic experiments, specifically the transformed up-down methodology implements the procedure introduce by Levitt in 1971. It can specify parameters of the up-down procedure, such as the
step size, the number of reversals or trials after which the step-size change may occur, the variable holding the tracked value and its starting
value.
- Adaptive next: changes the tracked variable according to the settings specified in the adaptive routine init plugin.
- Audio Mixer: allows to play sounds in different audio channels with different levels. for example, this plugin is particularly useful for multi-loudspeaker studies, with for example 5 loudspeakers $(0Â°, 90Â°, 150Â°, 210Â°, 270Â°)$, where the front speaker is to be assigned with a target sound, and side speakers are speech maskers and back speakers are speech masker and noise, and you want to set different dB level for each channel. In addition, LSL markers are created within the Audio Mixer plugin, at the beginning and at the end of the audio sounds sequence.
- Calibration: enables to do the audio calibration of the setup and must be placed before the use of the Mixer plugin.

***
## General information

The code is published under the GNU General Public License (version 3).
However, the standalone libraries are Oticon Medical Copyrighted.

***
## Installation

The instructions and the original  code are available in github: (https://github.com/elus-om/BRM_OMEXP)

***
## Example
We exemplify the use of this extended OpenSesame platform with an implementation of the 3-alternative forced choice amplitude modulation detection test. The test is shared in the example folder in GitHub.

## Acknowledgement

OMEXP plugins extends OpenSesame platform developed by the development team led by Sebastiaan $Math\hat{o}t$. 



