Signal streaming & synchronization · Streaming
Lab Streaming Layer
A protocol and library for sending time-synchronised data streams across a local network.
- Mature
- Widely used
- Real-time ready
What problem does it solve?
Combining an amplifier, a stimulus computer and other sensors requires a shared clock. LSL provides it.
Who is it for?
Anyone combining more than one data source in an experiment
At a glance
- Primary use
- Signal streaming & synchronization
- Licence
- MIT · permissive
- Language
- C++ core; bindings for Python, MATLAB and others
- Current release
- v1.17.7, published 22 Apr 2026
- Development activity
- Last commit 21 Sep 2026 · repository created 28 Feb 2018
- Maintainers
- Swartz Center for Computational Neuroscience and community
- GitHub stars
- 179 as of 3 Oct 2026
- Standards
- XDF
Repository facts are a snapshot read from the GitHub API on 3 Oct 2026; they are reported as found, not scored.
Supported modalities and use
How it fits into a BCI stack
Hardware
2 tools
Acquisition
3 tools
Streaming
Lab Streaming Layer
Processing
6 tools
Decoding
4 tools
Applications
2 tools
Data & standards
3 tools
- Build a real-time EEG BCIas Streaming
- Build an online motor decoderas Real-time synchronization
Getting started
Install liblsl and the pylsl bindings, start any LSL-enabled acquisition app, and record with LabRecorder.
Sources
- 01
github.com/sccn/liblsl (opens in a new tab)
Open-source repositoryGitHubChecked against source 3 Oct 2026
Repository metadata read from the GitHub API.