You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
transcribe_audio accepts an optional language argument (ISO 639-1 code,
or "auto"), passed through as --language to mw.
MACWHISPER_LANGUAGE_DEFAULTS env var maps directories to a default
language (e.g. ~/Desktop/DK=da) — files in a matching directory (or its
subdirectories) get --language automatically, most-specific match wins.
An explicit language argument always overrides the directory default.
Applies to both transcribe_audio and watch-folder transcriptions.
New engine argument on transcribe_audio ("macwhisper" default, or "whisper-cpp") — an independent transcription backend using a standalone whisper-cli binary that does not go through MacWhisper at all. New MACWHISPER_WHISPERCPP_BINARY / MACWHISPER_WHISPERCPP_MODEL_DIR env vars.
v1 supports .wav/.mp3/.flac input only; see README for setup and
limitations. list_models() now also lists whisper-cpp models when MACWHISPER_WHISPERCPP_MODEL_DIR is configured.
Changed
transcribe.py now validates the request and dispatches to a new engines.py module (MacWhisper and whisper-cpp backends); behavior of the
MacWhisper path is unchanged. Test mock target for subprocess.Popen moved
from macwhisper_mcp.transcribe to macwhisper_mcp.engines accordingly.
The 10 MB output cap is now a single shared MAX_OUTPUT_BYTES constant in config.py, imported by transcribe.py and watcher.py so the two paths
can never enforce different limits.
Fixed
cancel_transcription no longer raises IndexError (surfaced to the client
as an error) when the running transcription finishes and clears the proc
list in the gap between cancel's non-empty check and its subscript. Cancel
now uses a single atomic subscript and degrades to "no transcription
running" instead.
__version__ is now read from the installed distribution metadata instead of
a hardcoded literal, so it can no longer drift from pyproject.toml on
semantic-release bumps.
start_watch now rejects a watch session when the "done" directory falls
outside the configured allow-list (previously it silently wrote there). The
done directory is overridable via the new MACWHISPER_WATCH_DONE_DIR env
var; the default remains <incoming>/../done.