Usable TodayIn FlightCross-Platform

What Omnivox Carries Forward

Omnivox is a Rust speech server for Emacspeak. It is usable today and still changing. It keeps the working protocol while moving platform speech, audio processing, queues, and fallback engines into separate components.

SwiftMac established a useful macOS implementation. Omnivox separates command parsing, synthesis, and audio routing into portable, testable parts.

SwiftMac proved the local solution. Omnivox generalizes the architecture.

Why Rebuild

The first working answer was valuable. The broader problem needed a broader system.

SwiftMac solved a real accessibility problem on macOS. It made Emacspeak responsive and useful for Robert's daily development work. But a tool shaped tightly around one operating system has a natural ceiling.

Omnivox is the next architecture. It keeps the Emacspeak protocol boundary, but splits the implementation into focused Rust crates for command parsing, TTS engines, audio processing, and CLI/server behavior. That makes the system easier to test, easier to port, and easier to evolve without losing the user-facing behavior that made SwiftMac useful.

SwiftMac lessons and how Omnivox generalizes them
SwiftMac taughtOmnivox generalizes
Native speech can be fast enough for daily workTTS backends behind a shared engine trait
Audio icons and tones matterCommon buffer format for speech, tones, and audio files
Users need independent volume and routingEffects pipeline with volume, silence trimming, and channel routing
Simple protocol boundaries are valuablePlatform-agnostic parser, queue, and state crates
Local tools should not depend on cloud servicesNative and fallback engines running locally

The Architecture

Protocol in, typed state and queues inside, standard audio buffers out.

The Omnivox workspace separates the system into clear parts: omnivox-core for commands, queues, and state; omnivox-tts for platform backends; omnivox-audio for buffers, effects, tones, file loading, and output; and omnivox-cli for the actual server binary.

All generated audio converges on a common stereo floating-point buffer format. From there, effects can trim silence, scale volume, route channels, and send speech, tones, and audio icons through separate streams. That keeps the audio model consistent even when the source is different.

Protocol Core

Command parsing, state, and queues live in platform-agnostic Rust.

TTS Backends

macOS native speech, Windows speech, Linux/espeak paths, and fallback behavior sit behind one interface.

Audio Pipeline

Speech, tones, and audio icons share a buffer and effects pipeline before playback.

Evidence and Limits

The current record is the working code, 170+ tests, and three platform targets.

Omnivox keeps the user need and Emacspeak protocol stable while changing the implementation underneath them. The new structure lets platform speech, command handling, and audio processing be tested and replaced independently.

Omnivox is usable today and still changing. It is Intelligrit Labs and key-personnel work, not customer delivery, a finished product, or a federal deployment. Capabilities separates company work from named-person experience.