Welcome Guest, you are in: Login

EventIDE Wiki



Search the wiki


LSL Signal Element

Modified on 2018/08/03 21:00 by Administrator Categorized as Elements, Signal Acquisition


Element Icon LSL Signal
Category: Signal Acquisition AddIn: Signal Processing
Creator: OkazoLab Scope: Experiment
Owns Snippets: None Usage: Snippets


NameDescription                              ConstraintsTypeOn
LSL Settings
Stream Type        Defines the LSL stream that delivers signal data                String         
LSL Stream        Defines which LSL stream will be connected at runtime. You must have the LSL stream running, when you change this property for the first time. Note that the channel configuration of the element is updated each time as you change this property                String         
Channel Configuration
Actual Sampling Rate        Returns the actual sampling rate of connected hardware after it the configuration request                Double         
Sample Type        Returns the actual sampling rate of connected hardware after the configuration request                String         
Chink Size        Defines the chuck size (in ms) in signal acquisition                clTime         
Selected Channels        Defines what signal channels are selected for acquisition within EventIDE. Selected channels are registered in the EventIDE signal pool at runtime and become available for the signal analysis elements.                IList         
Selected Channel Count        Indicates how many signal channels are currently selected for acquisition                Int32         
Total Channel Count        Indicates how many signal channels are available for acquisition in the total                Int32         
Buffer Size        Defines the size (in samples) of a circular buffer that stores incoming signal data.                Int32         
Signal Generator
Signal Source        Defines a source for the signal. The emulated rhythmes can be used for offline validation of the chosen analysis settings                enEmul..         
Emulated Sampling Rate        Defines the emulation sampling rate (samples per second), when data is generated or streamed from a file.                Double         
Primary Frequency        Defines the frequency of the primary rhythm in the generated signal, in Hz. Assign the zero to exclude the primary frequency from the generated signal.                Double         
Secondary Frequency        Defines the frequency of the secondary rhythm in the generated signal, in Hz. The secondary frequency magnitude is a half of the primary frequency magnitude. Assign the zero to exclude the secondary frequency from the generated signal.                Double         
Noise Level        Defines the noise level (in % to the norm magnitude of the primary frequency). The noise is added to the generated signal. Assign the zero the exclude the noise from the generated signal.                Double         
External Datafile        Opens the dialog for selecting a data file containing a stream of double numbers representing a signal. If a file name without a path is defined, the data file will be picked up in the location of the experiment file.                String         
Runtime Control
Reset Signals Now        Runtime commands that resets the signal buffers and data acquisition                Boolean         
Is Enabled        If set to false the element is completely omitted when the experiment is run                Boolean         
Title        Title of the element                String         

LSL Signal Element allows reading arbitrary signals sent via Lab streaming layer (LSL) protocal developed in Swartz Center for Computational Neuroscience, UCSD.


The lab streaming layer (LSL) is a protocol for the unified collection of measurement time series in research experiments that handles both the networking, time-synchronization, (near-) real-time access as well as optionally the centralized collection, viewing and disk recording of the data. You can find more details on the LSL project site. The LSL protocol was developed in Swartz Center for Computational Neuroscience, UCSD.

The LSL Signal element automatically detects active LSL streams that are carried by external hardware or software on the same computer or in a network. The LSL stream can incorporate multipe channels, which will be treated as separate signals by the LSL Signal element. The element allows you to select one or more channels for acquisition. 

Note that the LSL protocol can transfer data in wide range of formats. The LSL Signal element can only resolve signals, which carry numerical samples (double, float or integer). 

The current version of the LSL Signal element ignores time stamps of received samples. 

Practical Use

Configuring the element

In order to use LSL signals in your experiment, you need to perform an one-time configuration of the LSL Signal element:

  1. Add the LSL Signal element to any event in your experiment. The element is global and will work during the entire experiment run
  2. Make sure that the source LSL stream is running on your system. For example, you may need to start recording on your LSL-compatible EEG amplifier or run software that writes to a LSL stream
  3. Select the LSL Signal element in GUI to access its properties in the Property panel
  4. Set the Stream Type property to the type of the source LSL stream. You can select the most common LSL stream types from a drop-down list
  5. Open the drop-down list on the LSL Stream property. The list should show currently active LSL streams detected in your system. Select the source stream. If you know a name of the source stream in advance, you can also type it directly.
  6. Once the stream is selected, the element will automatically retrieve the channel configuration in it and updates the corresponding properties: Actual Sampling Rate, Sample Type, etc.
  7. Finally, open an editor on the Selected Channels property and select channels for online acquisition. The selected channels can be then accessed by the signal processing elements.

Testing the element with a simulated signal

If you have no LSL stream available at the moment, you can test the element in the signal simulation mode or, with a data file containing a signal stream:

  1. Browse properties of the OpenViBE Signal element down to the Signal Generator group.
  2. Via the 'Signal Source' property, select either Oscillatory generator or External file options.
  3. If you have selected the Oscillatory generator mode, choose parameters of the generated signal with the following properties: Primary Frequency,Secondary Frequency,Noise Level.
  4. If you have selected the External file mode, define a path to the signal file. If path is made just of file name, the file will be loaded at location of your experiment. The signal file must be in the binary format, with each sample represented by double value (8 bytes or 64-bits).
  5. Define the emulated sample rate, in samples per second, via the corresponding property.

  Name Size
- LSL-Signal-Element-Icon.png 5.01 KB
- LSLIcon.png 4.03 KB

ScrewTurn Wiki version Some of the icons created by FamFamFam.