Cortical Labs Recording Playback Tool
This module provides a command-line tool for playing back HDF5 recording files with visualization support. It streams data from the recording file to a WebSocket server at real-time rate, allowing you to visualize past experiments using the same visualiser as the original application.
Usage
python -m cl.playback <recording_file.h5> [app_directory]
Arguments
- recording_file: Path to the HDF5 recording file to play back.
- app_directory (optional): Path to the application directory or zip file containing
the visualiser. If a directory is provided and contains a
web/folder withvis.htmlandvis.mjs, the app's custom visualiser will be served. If a zip file is provided, it must contain a single top-level directory with aweb/folder inside.
CLI Controls
Once the playback is running, the following keyboard controls are available:
| Key | Action |
|---|---|
| SPACE | Toggle pause/play |
| ← / → | Skip ±5 seconds |
| Shift (Ctrl on Windows) + ← / → | Skip ±1 minute |
| ↑ / ↓ | Speed up / slow down (±0.25x) |
| g | Go to specific timestamp |
| r | Restart from beginning |
| h / ? | Show help |
| q | Quit |
Example
# Play back a recording with the default visualiser
python -m cl.playback my_experiment.h5
# Play back with an application's custom visualiser
python -m cl.playback my_experiment.h5 /path/to/my-app
# Use a different port
python -m cl.playback my_experiment.h5 --port 8080
Features
- Real-time playback of samples, spikes, stims, and data streams
- Starts in paused state for inspection
- Interactive seek and skip controls
- Supports custom application visualisers
- WebSocket server for live data streaming to browser
Notes
- This module is a command-line tool only and cannot be imported directly.
- This module currently is only available in the SDK package, and not on the device.
- Datastream attributes only hold their final value at the end of the recording, so playback cannot accurately reflect attribute changes over time.