Ordering Spoken Deliberation Without External Telegraphs
“The Analytical Engine has no pretensions whatever to originate anything. It can do whatever we know how to order it to perform. It can follow analysis; but it has no power of anticipating any analytical relations or truths.” — Ada Augusta, Countess of Lovelace, Note G on the Analytical Engine (1843)
Spoken deliberation is transient by nature, yet institutional and technical assemblies frequently involve unpublished inquiry or confidential counsel that ought not to pass through external cloud telegraphs. Steno—a modern annalist for your meetings, an automaton stenographer (steno.com)—confines the entire mechanism of transcription, speaker attribution, and summarization to a single self-bootstrapping Cosmopolitan APE binary on the operator’s own machine.
The apparatus claims no faculty of invention. Its office is strictly mechanical: to sample acoustic vibrations, align them to discrete lexical intervals, partition speakers by vocal timbre, and arrange the resulting text into an indexed transcript and structured abstract. Neither audio waveforms nor text transcripts leave the local filesystem.
Single-Binary Distribution: steno.com
A single Actually Portable Executable (steno.com) encapsulating the desktop interface, transcript and minutes HTML renderers, the five-stage checkpoint engine, and an automatic runtime provisioner. No pre-installed Python is required—double-clicking or running steno.com caches its runtime across macOS, Windows 11, Linux (amd64 & arm64), and Android Termux (aarch64-linux-android), installs desktop and CLI shortcuts automatically, and includes an in-app File → Uninstall Steno… menu (with a Yes/No confirmation dialog) as well as --uninstall to remove all cached files.
Checkpointed Execution & Speaker Attribution
To prevent memory contention on portable machines, the five analytical stages execute sequentially rather than concurrently. Upon completing each operation, the engine writes an atomic JSON checkpoint under .steno_checkpoints/<stem>/ and releases its model weights before the next model is loaded.
If an operation is halted, re-invoking the file resumes from the last verified checkpoint. Individual stages—such as re-binding participant identities or re-computing the final minutes with amended context notes—may be repeated independently in seconds.
1_asr.json): Transcribes raw recordings (.wav, .m4a, .opus, .mp3) via WhisperX, conditioned on domain terminology extracted from the meeting title, participant roster, and attached slide decks (.pptx, .pdf, .docx).
2_align.json): Aligns every transcribed word to exact millisecond boundaries via Wav2Vec2 acoustic alignment models matched to the active language and model tier.
3_diarize.json): Partitions words across distinct speaker clusters (SPEAKER_00, SPEAKER_01, …) via pyannote/speaker-diarization-community-1. Bypassed automatically when locked to a single speaker (--speakers 1) for lectures.
4_speakers.json): Binds anonymous speaker clusters to named participants using opening introductions, direct address patterns, and operator notes. Emits a searchable HTML transcript with inline speaker renaming.
.md / .html): Synthesizes structured Markdown and printable HTML via a managed local Ollama instance, adapting its schema between multi-speaker meeting minutes (with action tables) and single-speaker lecture notes.
Execution on macOS, Windows, Linux, and Termux
steno.com is a Cosmopolitan Actually Portable Executable valid simultaneously as a 64-bit Windows PE32+ executable (running on both amd64 and Windows 11 arm64) and a POSIX shell/Python bundle on macOS, Linux (amd64 & arm64), and Android Termux (aarch64-linux-android). On first launch, it caches Astral’s standalone uv binary (or native Termux pkg packages on Android), an isolated Python runtime, and standalone ffmpeg, whisperx, and ollama binaries in the local application support directory.
Invoking steno.com without arguments (or double-clicking it) installs the desktop shortcut and opens the native desktop window—where File → Uninstall Steno… lets the operator remove all cached files with a Yes/No confirmation dialog at any time. Supplying any file path or flag dispatches directly to the command-line interface.
# 1. Launch desktop GUI (or double-click steno.com on Windows / macOS / Linux)
chmod +x steno.com
./steno.com
# 2. Explicitly install or uninstall CLI & desktop shortcuts and cached runtime
./steno.com --install
./steno.com --uninstall
# 3. Inspect command-line options and hardware profile recommendations
./steno.com --help
./steno.com --check-hw
# 4. Run a 20-second live microphone dBFS level & acoustic check
./steno.com --live-check --live-seconds 20
# 5. Transcribe a 4-speaker meeting with slide context and automatic hardware profile
./steno.com meeting.m4a --profile auto \
--title "Analytical Engine Review – 2026-11-05" \
--speaker-names "Ada Lovelace (Chair), Charles Babbage, Mary Somerville, Luigi Menabrea" \
-c slides.pptx -M draft_notes.docx
Model Selection & Memory Discipline
Before initiating inference, the application measures available system memory, processor architecture, GPU VRAM, and free disk space against the peak sequential footprint of the chosen profile, alerting the operator whenever a lighter configuration is warranted.
“Across twenty evaluated acoustic and language model pairings on a four-speaker benchmark suite, a compact 244M acoustic model paired with a 300M phoneme aligner and a 4B local language model surpassed models six times larger while completing inference in nearly one-third the time.”