Research should be intuitive.
Wire filters, decomposition and models on a canvas, inspect every intermediate result, and hand the whole pipeline to a colleague as one file. Built on the same methods as MNE and EEGLAB.
Version 0.9.2: get the build for your machine.
Windows
Signed MSI built with WiX. Bundles the Python runtime and the CPU build of Torch; a CUDA variant ships separately.
Get the installermacOS
Notarized universal build for Apple Silicon and Intel. Drag it into Applications and open. No command line needed.
Get the .dmgLinux
Self-contained AppImage. Mark it executable and run; no root and no package manager involved.
Get the AppImageRead how it works before you install it.
Core concepts
Cards, the canvas, and how a pipeline actually executes.
Card reference
Anatomy of a card, the full catalog, and how to author your own.
Model layer
The model catalog, expected inputs and outputs, bringing your own.
Data formats
What Signal Studio reads and writes, and how it maps to MNE.
Install & first run
From installer to a first plot on your own recording.
FAQ
Licensing, privacy, formats, and how it sits next to MNE and EEGLAB.
Every signal, every step, visible.
Connect models, filters, and analyses on an infinite canvas. Inspect every intermediate result. Tweak one knob, see the impact downstream, live.
Full control with nodes. App Mode when you don't need it.
Every model, every filter, every transform is a node. Connect them on an infinite canvas where every intermediate state is inspectable. New users start in App Mode: a clean, parameter-only view that hides the graph until you're ready.
- Infinite zoomable canvas with snap-to-grid
- Live preview on every edge. No re-run cycles
- Reroute, group, comment: like a real DAW
- One-click flip between App Mode and Graph Mode
Start from a published pipeline. Share yours back.
Every workflow is a file. Drag one in, run it on your data, fork it, publish your version. The community library covers ERP analysis, ICA decomposition, microstates, sleep staging, source localization: kept up to date by the people doing the research.
- One-click fork: credits the original author
- Versioned, like git: diff your changes
- BIDS-compatible export for paper supplements
- Private workspaces for unpublished work
Eight tabs. Every view you actually need.
Raw waveforms, spectrograms, topographies, ICA components, ERP overlays, source maps, connectivity matrices, statistical reports. Each one is a tab away, all driven by the same node graph. Switch themes for poster prep, lab demos, or late-night sessions.
- GPU-accelerated waveform rendering (60fps on 256ch)
- Synchronized scrubbing across all views
- Export-ready figures at any DPI
- 4 built-in themes: including a high-contrast print mode
Workflows shared by the community.
Every pipeline below was published by a researcher. Open one, run it on your data, then share what you build on top.
ERP CORE: minimal preprocessing
Reference workflow for event-related potentials. Re-referencing, baseline correction, ICA, epoching, averaging.
Sleep staging: YASA + custom epochs
Automated sleep staging pipeline with custom epoch overrides and quality flagging for human review.
Source localization: eLORETA
Forward model from individual MRI, noise covariance estimation, eLORETA inverse solution with bootstrap.
A node is just a Python function.
Wrap any function with @node and it becomes a draggable block: typed inputs, typed outputs, full UI. Publish to the registry with one command. No build system. No yaml hell.
# Drop this in ~/.signal-studio/nodes/. It shows up in the palette. from signal_studio import node, Signal from scipy.signal import butter, filtfilt @node(category="filter", color="#1d4ed8") def bandpass( x: Signal, low: float = 1.0, high: float = 40.0, order: int = 4, ) -> Signal: b, a = butter(order, [low, high], fs=x.sfreq, btype="band") return x.with_data(filtfilt(b, a, x.data))
The interface neuroscience deserves.
Traditional EEG tools were built for the 1990s. Signal Studio is built for how you actually think: visually, iteratively, in conversation with the data.
Intuitive enough for undergrads.
App Mode hides the graph until you need it. Drop in a file, pick a template, hit run. No scripts, no Matlab license, no rage-quitting.
Free, forever. Open source.
No tiers. No paywalls. No "enterprise" footnotes. The whole stack lives on GitHub under MIT: fork it, audit it, ship it.
A real plugin ecosystem.
Write a Python node in under 20 lines. Publish it to the hub. Your lab's preprocessing pipeline becomes everyone's. Reproducibility, by default.
UX from this decade.
Built like a pro audio plugin: macro knobs, animated meters, eight visualization tabs, full theming. EEG analysis that doesn't feel like punishment.
Built with everyone who's tired of writing the same script twice.
An open project belongs to the people who use it. Discord, GitHub, monthly community calls, a public roadmap. Every issue gets read.
"I spent three years writing the same preprocessing script for every new dataset. Signal Studio exists because nobody else's PhD should look like that.", FOUNDING NOTE / 2025
Open the workspace.
See your data differently.
Free, open source, runs locally. No account required to download. Onboarding takes about ninety seconds.