Skip to content

akou 1.3.0

Choose a tag to compare

@github-actions github-actions released this 26 Oct 02:40
· 25 commits to main since this release
e3a7cdd

1.3.0 — Qwen's words get real times, and a server can translate into English

Two things a subtitle client such as WhisperSubs still needed a local engine for now come from akou itself. The best preset's words used to come back with no times, so clients cut subtitle cues by guessing from character counts; now every word is timed. And akou could only transcribe, so English subtitles for foreign audio still needed a local Whisper; now a job can ask for a translation into English. The 8-hour soak did not run for this release: it exercises the call-recording helper, which neither change touches.

Server

  • Qwen's words are timed (#441). After Qwen decodes a piece, Qwen3-ForcedAligner-0.6B runs over the same audio and Qwen's own text through CrispASR, on Metal on Apple silicon and in the amd64 -vulkan image. On 3,585 read English words the median start error was 0.023 s and 99.97 % started within 0.2 s, on both. SRT and VTT cues follow the word times, and OpenAI's verbose_json now carries the timed words. Where the aligner cannot run (the CPU, CUDA and arm64 images, Windows) or a language is outside its 11, words keep no times and the result says why in warnings.
  • Translation into English (#440). POST /v1/jobs takes task=translate, OpenAI's /v1/audio/translations works, and Bazarr's /asr?task=translate returns an English SRT instead of a 400. Canary-1b-v2 translates its 25 languages and Whisper large-v3 everything else and auto; a source neither reads gets 422. GET /v1/server lists capabilities.translate and translate_languages. On four film clips Canary scored chrF 48.4 against Whisper's 48.9 at about a tenth of its decode time, and wrote no lines over music where Whisper wrote ten.
  • A Worker stopped while transcribe-cpp loads or decodes frees the model (#440). It used to keep it, and on Metal the process aborted on exit.

Behind the scenes

  • transcribe-cpp 0.4.1, Biome 2.6.2, gpt-tokenizer 4.1.0 and playwright-core 1.64.1 (#442).

Signed and notarized. The app and the akou command line are signed with a Developer ID and notarized by Apple, so macOS opens them without an extra step, and the microphone and system audio grants should survive updates. Coming from 0.6.0 or older, which were not signed, macOS asks for both grants once more. The speech models are downloaded on first run. See docs/getting-started.md.

What's Changed

  • chore(deps): bump the bun-minor-and-patch group across 1 directory with 4 updates by @dependabot[bot] in #442
  • feat(asr): time every Qwen word on Metal and Vulkan so captions stop guessing by @GeiserX in #441
  • feat(server): translate speech into English, so WhisperSubs needs no local Whisper by @GeiserX in #440
  • release: 1.3.0, Qwen's words get real times and a server can translate into English by @GeiserX in #443

Full Changelog: v1.2.5...v1.3.0