Labstreaminglayer
LabStreamingLayer super repository comprising submodules for LSL and associated apps.
Install / Use
/learn @sccn/LabstreaminglayerREADME
Quick Start ###########
The lab streaming layer (LSL) is a system 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.
The most up-to-date version of this document can always be found in the
main repository README <https://github.com/sccn/labstreaminglayer/>_ and the
online documentation <https://labstreaminglayer.readthedocs.io/info/getting_started.html>_.
The most common way to use LSL is to use one or more applications with integrated LSL functionality to stream data from one or more devices (e.g., EEG and eye trackers) and from a task application (NBS Presentation, PsychoPy, etc.) over the local network and record the data with LabRecorder.
Most LSL Applications will come bundled with its own copy of the LSL library (i.e., lsl.dll for a Windows application).
However, many applications and interfaces (e.g., like pylsl) do not ship with liblsl.dylib or liblsl.so on Mac or Linux, respectively.
In those cases, it is necessary to install liblsl separately and make it available to the application or interface.
See the liblsl repo <https://github.com/sccn/liblsl>_ for more info.
-
Take a look at the list of
supported devices <https://labstreaminglayer.readthedocs.io/info/supported_devices.html>_ and follow the instructions to start streaming data from your device. If your device is not in the list then see theGetting Help <https://github.com/sccn/labstreaminglayer#getting-help>_ section below. -
Download
LabRecorder <https://github.com/labstreaminglayer/App-LabRecorder>_ from itsrelease page <https://github.com/labstreaminglayer/App-LabRecorder/releases>. (Note that LabRecorder saves data toExtensible Data Format (xdf) <https://github.com/sccn/xdf>which has its own set of tools for loading data after finishing recording.) -
Use LSL from your scientific computing environment. LSL has many language interfaces, including Python and Matlab.
- Python users need to
pip install pylslthen try some of theprovided examples <https://github.com/labstreaminglayer/liblsl-Python/tree/master/pylsl/examples>_. - The
Matlab interface <https://github.com/labstreaminglayer/liblsl-Matlab/>_ is also popular but requires a little more work to get started; please see its README for more info.
- Python users need to
If you are not sure what you are looking for then try browsing through the code which has submodule links to different repositories for tools and devices (Apps) and language interfaces (LSL). When you land in a new repository then be sure to read its README and look at its Releases page.
.. _support:
Getting Help ############
If you are having trouble with LSL then there are few things you can do to get help.
Read the docs <https://labstreaminglayer.readthedocs.io/>_- Search GitHub issues in the
main repository <https://github.com/sccn/labstreaminglayer>, in the oldarchived repository <https://github.com/sccn/lsl_archived>, and in the submodule for your App or language interface of interest. - Create a new GitHub issue. Please use the repository specific to the item you are having difficulty with. e.g. if you are having trouble with LabRecorder then open a new issue in its repository. If you don't know which repository is best then you can use the parent sccn/labstreaminglayer repository.
- Join the LabStreamingLayer
#userschannel on Slack.Invite Link <https://join.slack.com/t/labstreaminglayer/shared_invite/enQtMzA2NjEwNDk0NjA5LTcyYWI4ZDk5OTY5MGI2YWYxNmViNjhkYWRhZTkwYWM0ODY0Y2M0YzdlZDRkZTg1OTUwZDU2M2UwNDgwYzUzNDg>_. Someone there may be able to get to the bottom of your problem through conversation. - You may also wish to try the very new
labstreaminglayer.org forum <https://forum.labstreaminglayer.org/>_
.. note::
Cite LSL ############
If you are using LSL in your research, please consider citing the Lab Streaming Layer paper published in Imaging Neuroscience. This will help track the use of LSL in emerging research and support continued development of the framework:
Kothe, C., Shirazi, S. Y., Stenner, T., Medine, D., Boulay, C., Grivich, M. I., Artoni, F., Mullen, T., Delorme, A., & Makeig, S. (2025). The Lab Streaming Layer for Synchronized Multimodal Recording. Imaging Neuroscience, 3, IMAG.a.136. https://doi.org/10.1162/IMAG.a.136
BibTeX entry:
.. code-block:: bibtex
@article{kothe2025lab, title={The Lab Streaming Layer for Synchronized Multimodal Recording}, author={Kothe, Christian and Shirazi, Seyed Yahya and Stenner, Tristan and Medine, David and Boulay, Chadwick and Grivich, Matthew I. and Artoni, Fiorenzo and Mullen, Tim and Delorme, Arnaud and Makeig, Scott}, journal={Imaging Neuroscience}, volume={3}, pages={IMAG.a.136}, year={2025}, publisher={MIT Press}, doi={10.1162/IMAG.a.136}, url={https://doi.org/10.1162/IMAG.a.136}, note={Open Access} }
Related Skills
node-connect
342.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.7kCommit, push, and open a PR
