SPX Benchmarks Platform Docs API GitHub →
SPX — Silent Productivity Index 50 Tasks · 5 Domains · 11 Commands

Shape the frontier of silent speech

Hardware-agnostic middleware connecting surface electromyography to LLM-driven agents via compressed articulatory shorthand. Offline, auditable, and open vocabulary — from signal to intent in <1 ms.

74.0% heuristic @ 0.36 ms 100% GOTO · CLICK · SCROLL 1.66 ms 1D CNN · 102k params MIT licensed
pip install subvocal
Try the 20-line silent-typing demo — no hardware or API keys.
SPXSilent Productivity Index

The benchmark for silent speech productivity

50 shorthand→intent tasks across 5 domains. Evaluates articulatory phonetic decoding + context-aware reconstruction. Heuristic baseline 74% @ 0.36 ms; hybrid LLM path targets 96% with SubvocalPipeline bounded execution.

50 Tasks 5 Domains 11 Commands 0.36 ms avg
SPX-Intent LeaderboardView all →
1Hybrid LLM (target)96.0%
2Heuristic (offline)74.0%
3GOTO · CLICK · SCROLL100%
4SEARCH30%
5TYPE40%
Failure hotspot: srch nrl ntwk → Neural network (singular bias)
Paper — coming soon Code — subvocal/shorthand

What is Subvocal SDK?

Open-source, hardware-agnostic middleware. sEMG capture → conditioning → classification → articulatory shorthand → context-aware intent → action. Swap drivers, classifiers, and LLM providers without changing pipeline code.

Articulatory Shorthand
Bypasses 5–8 word vocabulary ceiling. Compressed consonant strings decoded via asymmetric Levenshtein with physiological confusion clusters (Labial, Alveolar, Velar, Rhotic).
Context Prioritization
Dynamic filtering against active contacts (TYPE), calendar (SEARCH), browser URLs (GOTO), and on-screen elements (CLICK) — then LLM rescoring when needed.
Signal
Physiological conditioning
1.3–50 Hz bandpass for slow articulatory gestures + correctly plumbed 50/60 Hz notch. TD10 features, 840-d per segment.
Runtime
Hardened v2 pipeline
Bounded OpsQueue with backpressure, thread-safe inject_token, 5s deadlock-free step, JSONL tracing with 10 MB rotation (opt-out).
Protocol
MCP stdio server
Expose intent decoders as Model Context Protocol tools. Works with Claude Desktop: subvocal-mcp

Built for privacy first

Fully offline. Raw biopotentials, feature vectors, and shorthand logs stay on local CPU threads — never sent to external cloud. Pipeline JSONL tracing is opt-out via telemetry.trace_enabled / runtime.trace_enabled and capped at 10 MB.

Data residency
Local-only · opt-out tracing
Per-user dirs, SUBVOCAL_DATA_DIR override
Security
Validated models · sanitized paths
torch.load(weights_only=True), traversal guards

FAQ

How does it avoid vocabulary ceilings?+
Whole-word sEMG classifiers degrade beyond ~8 words. Subvocal uses compressed phonetic shorthand (consonant strings like g gl for Google) decoded via asymmetric Levenshtein over anatomical confusion clusters, then context + LLM rescoring.
Do I need custom neckbands or sensors?+
No. Supports OpenBCI Cyton, Delsys Trigno, FileReplay, and Synthetic generators. BrainFlow-compatible BoardShim fallback is pure-Python with bounded buffers — no native deps.
Which LLM providers are supported?+
Claude, OpenAI, Gemini, and local Llama via Ollama. resolve_provider() picks the best available (env API key → heuristic offline). Per-request timeouts + exponential backoff on 408/429/5xx.
What is the MCP server?+
A stdio Model Context Protocol server exposing get_pipeline_status, get_token_buffer, inject_token (thread-safe), process_phrase, trigger_calibration, and resource subvocal://intent/history.
What changed in 2.0.1?+
Security & reliability hardening: restricted unpickling, path-traversal guards, HMAC padding fix, TTS injection sanitization, bounded queues, deadlock-free pipeline (5s HardwareError), validated Frame/CommandToken, low-cardinality Prometheus (no session_id).
Is it open source?+
MIT licensed. GitHub → includes v2.0.1 hardening + research frontier modules under subvocal[ml] (handcrafted 112, SPD, adaptor, MONA/LISA, SpeechNet, etc.).