Streaming to a computer (LSL)#
Lab Streaming Layer (LSL) lets recording and analysis software on a computer receive
the live signal from a streaming headset over your local network. Tools that consume it
include LabRecorder, MNE-LSL, OpenViBE, BCI2000, MATLAB, and Python via pylsl. The
outlet is controlled from the Live signal viewer at More → Output → LSL outlet.
Turning the outlet on#
The LSL outlet is off by default — nothing is published to the network until you opt in. To turn it on, open the viewer, tap More → Output, and switch on LSL outlet. The choice is remembered for next time.
Warning
Switching the outlet on publishes that headset’s raw EEG to every LSL client on the network you are joined to, for as long as it streams — any client on that network can pick it up. Keep it off on shared or public networks, and turn it on only when you need it.
What is advertised#
While the outlet is on, the headset advertises a single stream:
Property |
Value |
|---|---|
Stream name |
|
Source ID |
A random ID for this headset that stays the same until the app is closed — not the headset’s address or serial number. It is what lets recorders reconnect to the same stream after a restart (see below) |
Type |
|
Channels |
Your active EEG channels; then |
Channel labels |
Your electrode names, with unit |
Sample rate |
The configured rate (250 or 500 Hz) |
Sample format |
32-bit float |
Manufacturer |
Neurotechnology |
Output mode |
|
Requirements#
The phone and the computer must be on the same Wi-Fi network / LAN, and that network must allow multicast and direct connections between clients (many guest and captive networks block this).
Keep the app running. Streaming continues with the screen off while the ongoing notification is present.
Data pushed to LSL is the raw signal — display filters do not apply.
Notes#
Two headsets of the same model advertise the same stream name; tell them apart by the source ID, the channel labels, or by connecting one at a time.
Recorders reconnect by themselves. LSL recorders such as LabRecorder reconnect to a stream that comes back with the same name, source ID and channels, and keep writing the same file. The app keeps all three whenever it can: stopping and starting the stream, running a contact check and returning to the stream, reconnecting the headset after a dropout and streaming again, and switching the outlet off and on all bring back the same stream. Changing the channel set in Config makes a different stream, and closing the app gives the headset a new source ID — start a new recording on the computer after either.
If sending to LSL fails, the app drops that packet and keeps the outlet. If it keeps failing, the app restarts the outlet with the same source ID and settings and tells you; the computer’s recording has a gap of about two seconds while it reconnects. Only if the restart also fails is the outlet switched off. A failure never changes your LSL outlet setting.
If the network drops out, consumers stall and resume when it returns; the app cannot see this. If a consumer stops receiving, toggle LSL outlet off and on again.
See also#
Live signal viewer — where the LSL outlet switch lives.
Connect a headset — bring a headset online before it can stream.
Recording — recordings also store the raw, unfiltered signal on the phone.