Model Issues

Fixing local model problems

Local models are downloaded from Hugging Face and kept in Speakly's application data folder. You manage them in Settings → Transcription, under Local Model (On-Device).

Where models are stored

  • macOS: ~/Library/Application Support/@speakly/desktop — whisper-models for Whisper, parakeet-models for Parakeet
  • Windows: %APPDATA%\@speakly\desktop — the same two folders

A Whisper model is one .bin file — for example ggml-large-v3-turbo-q8_0.bin. A Parakeet model is four files in a directory of its own (encoder.int8.onnx, decoder.int8.onnx, joiner.int8.onnx and tokens.txt), each downloaded and verified separately; the model counts as present only when all four are, so a download interrupted on the third file resumes without re-fetching the first two. In both cases a download in progress is written to the target name plus .tmp and only renamed once it finishes, so a half-downloaded file can never be mistaken for a complete one. Before that rename, it is checked against the SHA-256 checksum Hugging Face publishes for it; one that does not match is discarded and never used.

A download failed

A dropped or stalled download is not lost: what was already received stays in the .tmp file, and Speakly picks up from there on its own — up to 4 attempts, and an attempt that receives nothing for 60 seconds is dropped and resumed. Only when those run out does it show Download failed. Please try again. To retry:

  1. Check you are online and have the disk space — the large-v3 files run to gigabytes.
  2. Open Settings → Transcription and click Download on the model again. It continues from where it stopped, even after restarting Speakly.
  3. If it keeps failing at the same point, delete the *.tmp file in the folder above, so the next download starts from zero.
  4. If the model is labelled Downloaded but still fails, click its trash icon, confirm Delete Model?, and download it once more.
Cancelling is safe
Clicking Cancel during a download stops it and removes the partial file. Nothing is left half-written under the model's real name, so the next Download starts clean.

What the error messages mean

  • Local model not downloaded, in the recording pill — the selected model is not on disk: it was never downloaded, or it was deleted. Download it in Settings → Transcription, or select a model you already have.
  • Local engine failed to load, in the recording pill — the transcription engine itself (whisper.cpp) could not be loaded; no model file is involved, so downloading the model again does not help. Quit Speakly and open it again; if the message comes back, report it from the Report an issue dialog.
  • Local transcription failed, in the recording pill — any other failure of the local model while transcribing. Try again; if it keeps failing, delete the model in Settings → Transcription and download it again. Local transcription runs in a separate background process, so a crash or a hang there does not take Speakly down: a GPU failure retries the dictation on the CPU, a crash on the CPU is retried once, and a transcription that takes far longer than its audio warrants is stopped. If it still fails, the recording is kept in Recent Activity for a retry.
  • Local transcription returned empty text — the model ran but heard nothing. Check the input device in Settings → General → Microphone.
  • Model <name> is already being downloaded — a second download of the same model was requested; wait for the first to finish.
  • Failed to load model information — Speakly could not read the models folder above.
  • Failed to delete model — the .bin file could not be removed. Quit Speakly, delete the file by hand, and reopen.

The model runs slowly

  • Pick a smaller model in Settings → Transcription — large-v3-turbo-q5_0 is the lightest option.
  • On a Mac with Metal, Settings → Transcription shows Apple Metal detected! Local transcription will be 3x faster on your device. with an Enable checkbox — leave it ticked.
  • The Audio acceleration toggle in Settings → System won't help here — it only applies to API engines; the local model always transcribes the original audio.
  • If the machine is simply too slow, switch to a BYOK provider in Settings → Transcription — the audio is then transcribed by the provider instead of your CPU.
Model Issues — Speakly