.audio
DotAudio
Dictation, live captions, and media files share one local pipeline.
the essence
DotAudio can handle a short dictation, but that is only one path. A global hotkey starts recording, Live listens to a microphone or system audio, and an imported file opens in an editor with timecodes. The result can go to the clipboard or one of the export formats.
Model loading, transcription, capture, and export stay off the GUI thread. Live drafts remain in memory, confirmed segments are stored in SQLite, and the assistant answers beside the original transcript without changing it. Windows has the full integration; Linux and macOS have installers and a shared core, but their end-to-end paths are not yet verified on target machines.
scale
size and timeframe: what stands behind the product.
architecture
Dictation input: PCM blocks are normalized to mono, 16 kHz.
- capture.py
WASAPI loopback on Windows, or a monitor / BlackHole on other OSes.
- capture.py
An imported file with timecodes and word boundaries.
- capture.py
Captures microphone, loopback, and HTTP streams without knowing about QML.
- bounded pipeline
Endpointing, previews, the final queue, and cancellation share one contract.
- faster-whisper decode
Local ASR on CTranslate2, with CPU / GPU profiles and a model cache.
- NeMo Sortformer optional
- Qt Quick / QML
- SQLite history
Optionally labels up to four voices in file transcription only.
- SQLite history
The island, Live scene, editor, and app pages receive Qt signals.
Stores sessions, segments, original text, edits, and local settings.
- 10 exports
- local assistant
TXT, Markdown, subtitles, tables, JSON, and LRC render from the same data.
llama.cpp or Ollama answers over saved chunks and timecodes.
- Qt Quick / QML
stack
- Language 2
- Framework 4
- Data 2
- Infrastructure 4
- Client 3
- AI / ML 3
Language
- Python 3.12
- QML / JavaScript
Framework
- PySide6
- Qt Quick
- faster-whisper
- FastAPI (optional)
Data
- SQLite
- TXT / SRT / VTT / JSON / LRC
Infrastructure
- Git installer
- FFmpeg
- pytest
- Ruff
Client
- Windows hotkeys
- WASAPI loopback
- pynput
AI / ML
- CTranslate2
- NeMo-Speech.cpp
- llama.cpp / Ollama
what it does
the product's key capabilities right now.
Dictation with safe paste
A hotkey starts recording, the final text goes to the clipboard, and an opt-in paste targets the expected window.
Escape cancels dictation without pasting. The app never presses Enter or sends a message for the user.
Live captions from real input
The island shows the real input level and recognition state, while a separate scene projects the current phrase above other windows.
Drafts stay in memory while confirmed phrases are saved. When the model falls behind, the queue is bounded and overload becomes an explicit status.
Media with timecodes
Audio and video open in a segment editor: jump to a phrase, preserve the original text, and export the result.
The export catalog is data-driven: TXT, Markdown, SRT, VTT, CSV, JSON, LRC, and speaker or protocol variants share one renderer.
Speakers as a separate layer
NeMo-Speech.cpp labels voices in file transcription without blocking the text when the optional runtime is unavailable.
Sortformer distinguishes up to four voices. A speaker change splits the phrase at the boundary, and roles can be renamed and filtered.
A local assistant for recordings
llama.cpp or Ollama answers over a selected recording, builds digests, and returns timecodes without pretending to be the transcript.
A long recording is split into chunks and the local model is selected for the machine. Queries run only after an explicit user action.
Work outside the GUI thread
Model loading, inference, capture, and export run in background work while QML receives Qt signals and ready states.
One segment contract joins the local path with the optional FastAPI service. The server mode remains a local adapter, not a public API.
timeline
how the product grew from its first version.
-
7 Sep 2026
The Live pipeline
Microphone and system capture, a bounded queue, the island, and a separate caption scene.
-
8 Sep 2026
Readable text and the assistant
Stable Live composition, a local chat over recordings, chunk digests, and timestamp links from answers.
-
9 Sep 2026
Setup and media
The setup wizard chooses a hardware profile, media gains exports and speakers, and the Windows window behaves like a regular app.
-
10 Sep 2026
Install paths for three OSes
Git-based install and updates for Windows, Linux, and macOS, with one honest caveat: Unix still needs end-to-end checks on target machines.