Inner Speech Decoding: Building an EEG-Based Imagined Speech Pipeline in Nimbus Studio

Inner speech — the silent voice you hear when you read or think in words — activates many of the same neural circuits as overt speech, but leaves no acoustic signal in the world. That gap is exactly where EEG-based BCI steps in. If a classifier can reliably distinguish the neural correlates of imagining "left" from "right," or "yes" from "no," the result is a communication channel that requires no movement at all.
But inner speech is not motor imagery. The pipelines that work for MI — CSP spatial filters, mu/beta ERD, two-class Bayesian LDA — make assumptions that break down when the signal of interest is covert articulation rather than limb preparation. This post explains the neural signatures that make inner speech distinctive, where classical pipelines fall short, and how to scaffold a working imagined speech decoder in Nimbus Studio using the right feature nodes and NimbusSoftmax for calibrated multi-class output.
But inner speech is not motor imagery. The pipelines that work for MI — CSP spatial filters, mu/beta ERD, two-class Bayesian LDA — make assumptions that break down when the signal of interest is covert articulation rather than limb preparation. This post explains the neural signatures that make inner speech distinctive, where classical pipelines fall short, and how to scaffold a working imagined speech decoder in Nimbus Studio using the right feature nodes and NimbusSoftmax for calibrated multi-class output — with an eye toward learned representations like REVE when hand-tuned filter stacks stop generalizing.
What Makes Inner Speech Different from Motor Imagery
Motor imagery BCIs exploit a well-understood electrophysiological signature: event-related desynchronization (ERD) in the mu (8–12 Hz) and beta (13–30 Hz) bands over sensorimotor cortex, lateralized by limb. Common Spatial Patterns (CSP) is purpose-built to extract those spatial contrasts.
Inner speech activates a broader network: prefrontal and left-lateralized temporal regions associated with phonological planning, Broca's area analogs measurable at scalp, and transient gamma-band (30–70 Hz) bursts tied to articulatory simulation. The signal is:
- Weaker — no actual motor output, so ERD magnitudes are smaller and SNR is lower
- Less spatially focal — spread across frontal and temporal electrodes rather than concentrated over central sensorimotor channels
- Class-specific in spectral content — different words or phoneme categories differ in their time-frequency fingerprint, not just their lateralization
This means CSP on mu/beta data is the wrong tool. Spectral bandpower features across a wider frequency range — or deep embeddings from a foundation model like REVE — generalize much better to the inner speech domain.

Designing Your Inner Speech Dataset
Before building a pipeline, you need labeled epochs where event codes map to imagined words. The most common paradigm presents a written cue (e.g., the word "yes" on screen), gives the participant a fixed imagination window (typically 2–4 seconds), and marks onset with a trigger pulse recorded alongside EEG.
In Nimbus Studio, load your recorded HDF5 exports via the Custom Data node — calibration sessions captured with the Trial Protocol and Calibration Recorder nodes are already in this format. For initial benchmarking, the Public Data node gives access to published imagined speech corpora so you can validate your pipeline before running participants.
Keep your label set small to start: two to four words with distinct phonological profiles (e.g., vowel-initial vs. consonant clusters) generalize better from limited calibration data than large vocabularies. The Data Augmentation node (batch-only) can expand effective sample size with noise injection and time warping — especially valuable given the 50–150 trials typical of a calibration session.
If you want to push calibration time down further, you can also use uncertainty to choose which cue to present next — the same principle behind active learning for BCI calibration.
The Preprocessing Chain for Inner Speech
Unlike motor imagery, inner speech pipelines should preserve gamma-band content. A practical preprocessing stack in Nimbus Studio:
- Highpass Filter at 0.5 Hz — removes slow drift without touching any task-relevant band
- Notch Filter at 50/60 Hz — eliminates power-line interference that overlaps with low gamma
- Bandpass Filter at 1–90 Hz — keeps broadband content including gamma while removing EMG-contaminated ultra-high frequencies
- Re-referencing (Common Average Reference) — distributes spatially diffuse inner speech signals more evenly across channels
- EOG Removal and Artifact Rejection — critical here because frontal electrodes (directly over language regions) are most prone to ocular and muscle artifacts
- Epoching — extract 2–4 s windows locked to cue onset, with a 0.2 s pre-stimulus baseline
The Baseline Correction node can then subtract the pre-stimulus mean per trial, removing slow fluctuations that are not specific to the imagined word.
One practical note: because inner speech engages frontal channels heavily, it is worth running the Signal Quality Monitor early in the chain to flag trials corrupted by high frontal muscle or movement artifacts. These can be excluded before Artifact Rejection applies its thresholds, giving you cleaner rejection counts to report.
One practical note: because inner speech engages frontal channels heavily, it is worth running the Signal Quality Monitor early in the chain to flag trials corrupted by high frontal muscle or movement artifacts. These can be excluded before Artifact Rejection applies its thresholds, giving you cleaner rejection counts to report. If you're deploying this pipeline live, also make sure your preprocessing is deploy-safe — causal vs. zero-phase filtering is one of the most common ways an offline-clean pipeline breaks in streaming.
If you need a deeper walkthrough of cleaning before feature extraction, see ICA, EOG removal, and artifact rejection in Nimbus Studio.
Feature Extraction: Spectral Bandpower and Foundation Model Embeddings
Two feature strategies work well for inner speech.
Spectral bandpower via the Bandpower Features (Spectral) node computes log-power per channel across configurable frequency bands. For inner speech, prioritizing theta (4–7 Hz, related to working memory and speech planning), alpha (8–12 Hz, often suppressed during covert articulation), and low gamma (30–60 Hz) captures the most discriminative content. The resulting feature vector is interpretable and works well with Bayesian classifiers on limited data.
Foundation model embeddings via the REVE node extract transformer-based representations that generalize across sessions and subjects. REVE processes raw epoched EEG and produces compact feature vectors pretrained on large multichannel datasets — a strong choice when your calibration corpus is small and you need cross-session robustness without hand-tuned filter banks.
Both strategies benefit from the Feature Selection node, which uses F-score or mutual information to prune features that do not discriminate between word classes, reducing overfitting on the small datasets common in inner speech research.
If you are running a more exploratory study, the Functional Connectivity node can compute phase-locking values (PLV) between frontal and temporal electrode pairs, capturing the network-level synchrony that accompanies phonological planning. Connectivity features work best as a complement to spectral features rather than a replacement, and the Feature Selection node becomes even more important downstream because connectivity matrices can be high-dimensional.
Classification with NimbusSoftmax
Inner speech is inherently a multi-class problem — even a two-word vocabulary requires a classifier that produces calibrated probabilities across all classes, not a binary discriminant. Nimbus Softmax (rxpolya_sdk) is the right tool: it implements Bayesian Multinomial Probit Regression with full predictive distributions, giving you per-class confidence scores alongside predictions.
Those confidence scores matter as much as the predictions themselves. Inner speech signals are highly variable across trials, and low-confidence outputs should trigger abstention rather than a spurious command. Pair Nimbus Softmax with the Decision Policy node for streaming sessions: set a confidence threshold so the decoder emits a word only when the posterior is convincingly peaked.
This is the same core idea behind confidence-gated decoding with entropy and rejection policies: build the system so “I don’t know” is a first-class output, not a failure mode.
The Results Output node in batch mode shows calibration curves and per-class confusion matrices — inspect these before deploying. It is common for inner speech classifiers to be overconfident on frequent words and underconfident on phonologically similar ones; the calibration curve will surface this so you can adjust thresholds accordingly.

The full pipeline sketch:
custom_data → highpass_filter → notch_filter → bandpass_filter
→ rereferencing → eog_removal → artifact_rejection
→ epoching → baseline_correction
→ spectral_features (or reve) → feature_selection → data_augmentation
→ rxpolya_sdk (NimbusSoftmax) → cross_validation → results_output
Conclusion
Inner speech decoding is one of the most demanding problems in non-invasive BCI — but it is tractable with the right pipeline design. The key shifts from motor imagery are: broaden the frequency range to include theta and gamma, prioritize frontal and temporal electrodes rather than central sensorimotor channels, use spectral bandpower or foundation model embeddings rather than CSP, and choose a calibrated multi-class classifier like NimbusSoftmax over a binary discriminant.
Nimbus Studio's node graph makes it straightforward to assemble and iterate on this stack: swap REVE in for spectral features when cross-session robustness matters, add Data Augmentation when trial counts are low, and inspect the calibration curves in Results Output before committing to deployment. As inner speech datasets grow and foundation model pretraining covers more of the speech-network EEG landscape, this paradigm is likely to become the go-to approach for communication BCIs that require no movement whatsoever.