Setup
Installation
Overview
1
Overview
1.1
The Audio Pipeline
1.2
Services
1.3
The Event Bus
1.4
Front End and Back End
Features
1
Capture
1.1
The Capture Layer
1.1.1
AudioChunkCapturedEvent
1.1.2
Audio Capture Service
1
Command Flow
1.1
Overview
1.2
Segmentation
1.2.1
Voice Activity Detection
1.2.2
CommandSegmenterService
1.2.3
SoundSegmenterService
1.3
Recognition
1.3.1
Speech Recognition
1.3.2
Sound Recognition
1.4
Parsing
1.4.1
Output Events
1.5
Execution
1.5.1
Automation
1.5.2
Marks
1.5.3
Grid
1.5.4
Pause / Resume
1
Dictation Flow
1.1
The Session Model
1.1.1
The Speech Engine: Moonshine
1.1.2
The Vosk Side Channel
1.2
Session Modes and the State Machine
1.2.1
Session Modes
1.2.2
The State Machine
1.3
Audio Routing
1.3.1
Routing to Moonshine
1.3.2
The Vosk Side Channel During Dictation
1.4
Text Shaping
1.4.1
Modifiers
1.4.2
Aliases
1.5
Stopping a Session
1.6
LLM Rewriting
1.7
The Popup as a State Mirror
1
User Interface
1.1
The Three-Role Architecture
1.1.1
Views
1.1.2
Controllers
1.2
Main Window and Tabs
1.2.1
Startup and the UI Registry
1.2.2
Tab Summary
1.3
Overlay Windows
1.3.1
The Dictation Popup
1.3.2
The Grid Overlay
1.3.3
The Mark Overlay
1.4
The System Controller
Foundations
1
Event Bus
1.1
The Publish / Subscribe Model
1.2
The Queue and the Worker
1.2.1
Naive Publish Semantics and Their Problems
1.2.2
Queue-Backed Delivery
1.2.3
Within-Event Concurrency
1.2.4
Audio on the Bus
1.3
Subscription Tracking
1.3.1
The
SubscriptionTracker
1
Concurrency
1.1
The Two Concurrency Models
1.1.1
asyncio: One Thread, Many Tasks
1.1.2
Threads: Multiple Threads, Preemptive Switching
1.2
The Vocalance Concurrency Model
1.2.1
The Default: asyncio on One Thread
1.2.2
The Exceptions: Two Categories of Off-Thread Work
1.3
The CPU-Heavy Jobs
1.4
The Thread Crossing Primitives
1.4.1
Moving Results from a Foreign Thread to the Main Thread
1.4.2
The PortAudio Crossing
1.5
run_blocking
: Dispatching Heavy Work to a Background Thread
1.5.1
Why Daemon Threads
1.5.2
Why One Thread Per Call
1.5.3
Serializing OS Input
1.6
Cancellation
1.7
Summary: Three Rules
1
Lifecycle
1.1
Building the Application
1.1.1
The Service Spec Pattern
1.1.2
Initialization
1.1.3
Background Tasks
1.2
Shutting Down
1.2.1
Shutdown Triggers
1.2.2
Cooperative Cancellation
1.2.3
The Teardown Sequence
1
Storage
1.1
The Two Layers
1.2
Raw Persistence: StorageService
1.2.1
Typed Models and Files
1.2.2
Atomic Writes
1.2.3
Cached Reads
1.3
Live Configuration: RuntimeConfigurationStore
1.3.1
What “Live Configuration” Means
1.3.2
Startup: Loading Stored Overrides
1.3.3
Live Updates During a Session
Additional Information
Contact
Vocalance
Index
Edit on GitHub
Index