Receive an LSL Stream

Receiving an LSL Stream

To receive the EEG data from a real or simulated stream over LSL, you can use some of the example scripts in the getting started repo.

Time-corrected timestamps are streamed as the timestamp associated with each sample sent over LSL.

Raw Data Stream Names & Format

  • EEG: PetalStream_eeg

    • [channel1 (microvolts µV), channel2 (µV), channel3 (µV), channel4 (µV), channel5 (µV)]

  • Acceleration: PetalStream_acceleration

    • [x, y, z]

  • Gyroscope: PetalStream_gyroscope

    • [x, y, z]

  • Telemetry: PetalStream_telemetry

    • [battery-level (0-100), fuelGaugeVoltage (Volts), temperature (Celcius)]

  • PPG (Muse 2 and S only): PetalStream_ppg

    • [ambient, ir, red]

  • Connection status: PetalStream_connection_status

    • [1/0]

Each channel corresponds to the sensors on muse devices:

Ch. 1: 'TP9'

Ch. 2: 'AF7'

Ch. 3: 'AF8'

Ch. 4: 'TP10'

*Ch. 5: 'aux' (Optional and not available on all device versions)

Example snippet to open an inlet to receive EEG data:

streams = pylsl.resolve_stream('name', 'PetalStream_eeg')
inlet = pylsl.StreamInlet(streams[0])
while True:
    sample, timestamp = inlet.pull_sample()
    print(timestamp, sample)

Last updated