Skip to content

quicksubs 1.5.0

Latest

Choose a tag to compare

@mattbirchler mattbirchler released this 22 Jul 13:54

Benchmark mode

quicksubs bench transcribes a file repeatedly and reports how fast each run went. It is built for running the same test on several Macs and comparing the results.

quicksubs bench audio.mp3 --runs 20
quicksubs bench audio.mp3 --engine apple --engine parakeet   # compare engines
quicksubs bench audio.mp3 --runs 20 --csv results.csv        # export for graphing

Each run reports words per second, real-time factor, die temperature, and thermal state. The summary adds mean, min, max, standard deviation, and median per engine, and flags when it looks like your Mac throttled rather than just got unlucky.

Details that make the numbers trustworthy:

  • Audio conversion happens once, before any runs, so a timing only ever covers the speech engine.
  • A warmup run (excluded from the statistics) absorbs model loading and cache warming, which would otherwise make run 1 an outlier on every machine.
  • Engines run one at a time, so one engine's heat does not contaminate another's numbers.

Comparing across Macs

Every CSV row carries the device model, OS version, core count, memory, engine, and a SHA-256 of the input file, so results from different machines combine with no preprocessing:

# on each Mac
quicksubs bench bench.mp3 --runs 20 --csv "$(hostname -s).csv"

# then, anywhere
cat *.csv > all.csv

Plotting words_per_second against elapsed_since_start gives you a throttle curve. The file hash is what proves two machines benchmarked the same input.

A better progress bar

The progress bar now fills as a gradient, moves smoothly instead of jumping in chunks, and tells you the real-time multiplier and estimated time remaining. It adapts to your terminal width, and respects NO_COLOR and terminals without truecolor support.

Subcommands

quicksubs now has subcommands, with transcribe as the default. Every existing command keeps working exactly as before: quicksubs audio.mp3 and quicksubs transcribe audio.mp3 do the same thing. Nothing you have scripted needs to change.

Fixed

Repeated transcriptions in a single process could read zero audio after the first one, reporting an instant transcription with no words. This only affected the new benchmark mode, never normal transcription.

Install

brew install mattbirchler/tap/quicksubs
brew upgrade quicksubs

Requires macOS 26 or later.