V0.8.1Windows · macOS · Linux

Give the visuala voice.

A desktop workspace for audio description on Windows, macOS and Linux. Draft timed descriptions with local models, your subscription tools or explicit API connections, edit every cue, and hear them against the soundtrack before you export.

Windows: signed by Scott Converse. Mac: macOS 15+ Apple Silicon, no Apple publisher certificate or notarization; no Intel DMG. Linux: Ubuntu 24.04 x64 tested, unsigned. Portable Linux tar, repository setup and installation. Compare downloads with their release checksums. Ollama, subscription tools and model weights are separate.

trail-sequence.adprojectOllama · gemma4:26b
Video · / 09:56
A lone walker follows the winding trail.
DialogueDescriptions
01:0001:1001:20
Illustrative drawing, not an application screenshot. Descriptions are placed around measured dialogue; a cue that cannot fit pauses the picture.
Describer Workbench — capability sheetDW-081Sheet 01
01Open

MP4 · MKV · MOV · AVI · WebM

Local files, or direct video and YouTube URLs through yt-dlp.

02Draft

Local · subscriptions · APIs

Whole video, next 20 or next 60 seconds, with glossary continuity across chunks.

03Edit

Cues + glossary

Start, end and text per cue. Saved as an .adproject; SRT/VTT import.

04Hear

Native speech

Windows SAPI/OneCore, macOS voices or Linux eSpeak NG; optional OpenAI speech, with soundtrack ducking.

05Time

≤ 1.15× speed

Speech is measured locally; cues that cannot fit become pause narration.

06Export

MP4 · MP3 · WAV · SRT · VTT

Plus TXT and project JSON, with coverage sidecars for every event.

02 · From picture to spoken word

A complete workflow. An editor at the center.

Work in short passages, refine what matters, and hear each description in context. The model drafts; every cue stays yours to change.

01Open

Bring your story

Open a local video or import SRT/VTT cues alongside it. Start manually, or choose a short range for an AI first draft.

VideoSRT / VTTyt-dlp
02Refine

Make every cue count

Edit words and timing inline, correct character cards in Glossary, and use the Scene tab to ask about a scene. You decide what belongs in the description.

GlossaryAsk about sceneExplore
03Listen

Hear the whole picture

Review with your native system voice and the original soundtrack. Export scripts, narrated audio or a complete MP4 with pause narration.

DuckingPause narrationMP4
03 · Your model, your data path

Choose your connection.

Use Ollama, native Codex/Claude/Antigravity, your existing subscription gateway, named OpenAI-compatible servers or explicit Gemini/Anthropic APIs. The picker always shows the exact model, and there is no silent fallback.

Local / cloud

Ollama

Up to eight 640px frames per request. No audio.

Cloud

Google Gemini

Video analysis with your API key.

Tested exact-tag profiles: gemma4:12b, gemma4:26b and qwen3.8:27b-q6_K-vision — thinking off, 32K output, 64K context. Aliases do not inherit the profile.

Does it need an API key?
WorkflowKeyData sent
Manual cues, subtitles, native speech, MP3NoneLocal processing
Ollama on this computerNoneFrames and prompts to local Ollama
Ollama cloud or remoteSet in OllamaSampled frames leave the computer after confirmation
Gemini analysis, Ask, ExploreGemini keyVideo with audio unless silent upload is chosen
Codex / Claude / Antigravity native toolsExisting subscription loginSampled frames and prompts after confirmation
Existing subscription gatewayExisting client-key fileSampled frames through selected gateway account
Compatible server / Anthropic APIProfile or API keySampled frames to the selected endpoint
OpenAI speechOpenAI keyDescription text after confirmation

Cloud use requires provider access and may incur charges. Native tools use their normal subscription sign-in; the gateway retains its existing OAuth accounts. API credits are separate. A catalog listing does not establish account entitlement or vision.

04 · For developers

One engine. Every interface.

Desktop, Python, CLI, authenticated REST/OpenAPI and MCP share one durable job queue: batch submission, cancel and resume, paged reads, edits, coverage, scene tools and exports.

Workbench

Windows / Mac / Linux editor

Python

Import the service

CLI

Native CLI on every host

REST

Authenticated loopback, OpenAPI

MCP

17 tools · stdio + HTTP

DescriptionServiceOne serial, durable queue · checkpoints + explicit resume
A

Protect speech

Pinned local YAMNet detector

B

Observe

Selected vision connection

C

Plan events

Event-bounded slots

D

Synthesize

Measured speech, ≤ 1.15×

E

Place + export

Pauses where nothing fits

05 · Assistance, with editorial care

Good description needs a human ear.

A model can draft. It cannot make the final editorial decision for your audience.

See the limits clearly

Ollama, native subscription tools and compatible connections receive sampled frames without audio. The engine measures speech protection separately. Check visual facts, detector mistakes and missing events yourself.

Work without an AI key

Manual cue editing, subtitle import, native system speech and local MP3 export work without a provider key.

Keep the project editable

Cues and glossary live in an .adproject file. Uncertain observations block complete media exports instead of slipping through.

06 · What was actually checked

Public meeting mode, measured.

For city, council and board meeting videos. It describes only frames that changed, reads slides at up to 1280 pixels, finds votes from a captions file and pauses only for votes, speaker changes, slides and on-screen text. It is turned on in settings.json ("drafting_mode": "Public meeting"); the window has no switch for it yet. How to turn it on.

67.6 %

Correct cues

Up from 29.5 % in 0.8.0. 105 cues on 13 test videos, graded by hand.

3.8 %

Wrong or made up

Down from 15.4 %. Trivial cues fell from 36.5 % to 10.5 %.

100 %

In a gap or a pause

Every cue was spoken between speech or paused the video for a meeting event. Up from 45 % in a gap.

Meeting results come from a small test set with model gemma4:12b; they are not a promise for your video. The model can still report a vote when no hand is up, results change from run to run and some videos get very few cues. Earlier native acceptance (three 120-second clips) kept a wrong person, a short omitted sequence and uncertain text: correct every draft before export. Separate keyed APIs and local compatible servers keep their live-testing limits. The 0.8.1 Mac and Linux builds passed 311 tests on each GitHub test machine (0 failed, 1 skipped); human listening, VoiceOver/Orca and destination subscription entitlement remain unverified. Release notes, verification receipt and checksums ↗

Start with one scene

A clearer story, one cue at a time.

Choose your download

Windows, macOS and Linux · Version 0.8.1. Only Windows has Scott Converse publisher signing. Mac/Linux updates are manual. Compare each download with its release’s SHA256SUMS.txt.