Repository navigation
Releases
Local Transcriber 0.14
Homebrew upgrades no longer hang, and the panel fits the screen again after you unplug a monitor.
Install or update (Apple Silicon, macOS 14+): in the app, “Copy update command”, or
curl -fsSL https://transcriber.teconomix.net/install.sh | bashHomebrew upgrades no longer hang
-
Up to 0.13,
brew upgradestopped in the terminal without a message, because the uninstaller of the installed version waited for an answer it could never receive. By then the app was already removed; your data is safe. -
This one update still needs a manual step if you installed with Homebrew. If the upgrade is already stuck, press Ctrl-C. Then run once:
rm ~/.local/share/transcriber/uninstall.sh; brew upgrade --cask local-transcriber
-
If you use the folder watcher and an upgrade got stuck, run the curl installer once to set it up again. Installs via the curl command are not affected.
-
brew uninstallnow removes the app and the watcher and keeps your data. To remove the data too, runbash ~/.local/share/transcriber/uninstall.shfirst; it asks.
Panel
- After unplugging a large monitor, the panel's content sat too low, far below the menu bar. The panel now takes its height from its content and the current screen.
Also
- New guide on the website: Speaker recognition on the Mac.
Local Transcriber 0.13
The real recording date in every transcript – for the Obsidian plugin 0.3.0.
Install or update (Apple Silicon, macOS 14+): in the app, “Copy update command”, or
curl -fsSL https://transcriber.teconomix.net/install.sh | bashHomebrew: brew upgrade --cask local-transcriber.
Recording date
- Transcripts now store when the audio was recorded (
recordedin.transcript.json): from the audio file's own metadata, otherwise the calendar event, otherwise the file name. - Phone recordings without a date in the name (e.g. “Voice 20 May at 18_18.m4a”) used to be dated by the day they were imported. Now they get the day they were recorded.
- The Obsidian plugin 0.3.0 uses it for the note's
date. Its other new features –categories: [[Meetings]]and ameetinglink to the calendar note of the same event – work with any version; the date needs 0.13. Existing transcripts get the date when they are transcribed again (also “Re-analyze › Separate speakers again”; “Match names again” leaves it as is).
Also
- More reliable self-test for recording sync (development only).
Local Transcriber 0.12
Choose the date format in file names.
Install or update (Apple Silicon, macOS 14+): in the app, “Copy update command”, or
curl -fsSL https://transcriber.teconomix.net/install.sh | bashHomebrew: brew upgrade --cask local-transcriber.
Date in file names
- New in Settings › Recording › “Date in file name”:
2026-10-30 14-03(default),261030 1403,20261030 1403, or a custom format such asyyMMdd_HHmm(only year, month, day, hour, minute and the separators space,-,_,.). A preview shows the result. - Applies to recordings made in the app and to AirDrop. Recordings from the iPhone shortcut keep arriving as
2026-10-30 14-03and are renamed to your format when the app picks them up from iCloud – no need to change the shortcut. - Descriptive names keep the date as set (“Recording 261030 1403 → 261030 1403 Budget planning”). Default names in every listed format are still recognized, so older recordings also get descriptive names after a switch.
- Existing files are not renamed. “All transcripts” reads the recording date from the new name formats too.
Local Transcriber 0.11
Smoother on Macs with 16 GB, transcribe again with one click, and memory data in bug reports.
Install or update (Apple Silicon, macOS 14+): in the app, “Copy update command”, or
curl -fsSL https://transcriber.teconomix.net/install.sh | bashHomebrew: brew upgrade --cask local-transcriber.
Macs with 16 GB
- The update switches speech recognition to 8-bit if you were still on 16-bit: measured just as accurate, about 0.8 GB less memory per loaded model (transcription and dictation). The app tells you once; choose 16-bit again in Settings › Recording › Speech recognition and it stays. The 16-bit model remains on disk until you delete it there.
- Dictation steps aside while transcribing: on Macs with 16 GB or less, the dictation service frees its model while a transcription runs and starts again afterwards. Dictating in between still works (it takes a few seconds longer).
Transcribe again
- Interrupted or failed transcriptions now have “Transcribe again” next to “Report a problem…”.
- Re-analyze › Transcribe audio again redoes speech recognition and speaker separation from scratch for a finished transcript.
- Recordings whose transcription was cut off by a crash or restart show up again under “recordings without a transcript”.
Bug reports
- Reports now include memory data: total memory, memory pressure, swap, how much the Transcriber processes use, the names of the ten largest programs, and the type and time of system reports from the last 14 days (crashes, low memory). Still no recordings, transcripts or voice data.
Also
- The panel button “All” is now “All transcripts”.
- Dictation waits up to 30 s for the service to load (older Macs needed up to 14 s).
Local Transcriber 0.10
Recordings from your iPhone, speech recognition with half the memory, and a thorough review for reliability and privacy.
Install or update (Apple Silicon, macOS 14+): in the app, “Copy update command”, or
curl -fsSL https://transcriber.teconomix.net/install.sh | bashHomebrew: brew upgrade --cask local-transcriber.
New: recordings from your iPhone (Settings › Recording › iPhone, off by default)
- Shortcut “Send to Transcriber”: add it with the QR code or via AirDrop from Settings; share a voice memo to it and it lands on your Mac, gets transcribed and named.
- iCloud inbox: recordings saved to iCloud Drive › Transcriber are moved to
~/Transcriber/iPhoneand removed from iCloud. - AirDrop inbox, no cloud: audio files you AirDrop to the Mac are picked up from Downloads (only audio that arrived via AirDrop after you turned this on – everything else stays where it is).
- Multi-track voice memos (
.qta) are supported. - New and little tested on real iPhones yet – feedback welcome.
New: Whisper in 8-bit
- New installations use Whisper large-v3-turbo in 8-bit: measured on 70 recordings just as accurate as the full model, half the disk space (~0.9 instead of 1.6 GB) and about 0.8 GB less memory, also for dictation.
- Existing installations keep their model. Switch or delete models in Settings › Recording › Speech recognition; the installer accepts
--compact/--fp16.
Also new
- Start the AI server on demand: for a local model, Settings › AI › “Start command” starts it when needed and stops it after a while without use.
- Panel: entries can be collapsed, show the first paragraph of a short summary, and are sorted by last edited (sorting and time range selectable in Settings › General).
- All transcriptions: a window with every transcript under
~/Transcriber– filter by folder, sort, search titles, events and names. - Delete audio after 30 days now covers all of
~/Transcriberincluding subfolders and videos, counted from the transcription date.
More reliable
- Recordings survive a crash: the file is written in fragments, so a crash, forced restart or power loss no longer destroys the whole recording; interrupted recordings show up again when the app starts.
- Warnings during recording if the microphone stops delivering sound or the file cannot be written – instead of noticing only afterwards.
- The All transcriptions window could hang once the library grew past about 100 transcripts – fixed.
- The folder watcher restarts itself after an update and picks up changed settings (e.g. the model) without a restart.
- Dictation: if you switch apps before the text is inserted, it goes to the clipboard instead of the wrong app.
Privacy
- Names protected more thoroughly before a cloud model sees a transcript: also possessive forms (“Anna’s”), all caps, other Unicode forms, and the names of everyone in your voice database – in the transcript and in the title.
- The MCP tool
summarize_transcriptuses a cloud model only if the app allows it without a click. - Deleting: the 30-day deletion checks that a file really is the transcribed one (reused names like “New Recording.m4a”); disconnected drives are never touched; leftover audio copies of failed jobs are removed. Deleting audio and transcript in Finder keeps your voice profiles – “Delete everything” in the app removes them.
- The app's data folder is readable only by you; bug reports also hide folder names.
Fixed
- Installer and website state the current model sizes.
- Many smaller fixes from a full code review (bug reports no longer go to Downloads, settings saved without pressing Return, deleting a template asks first).
Local Transcriber 0.9
AI evaluation: turn conversations into minutes, action items and more – with a local model on your Mac, or a cloud model with names protected. Plus a glossary in the app and better recognition of difficult passages.
Install or update (Apple Silicon, macOS 14+): in the app, “Copy update command”, or
curl -fsSL https://transcriber.teconomix.net/install.sh | bashHomebrew: brew upgrade --cask local-transcriber.
New: evaluate with AI (Settings › AI)
- Templates: minutes (key points, decisions, action items, open questions), short summary, order in the five-paragraph format (situation, mission, execution, support, responsibility & communication – with “still to clarify”), supervision and coaching note (without interpretation), key statements with quotes, follow-up email. Edit them, reset them, or add your own.
- Local or cloud, your choice: any server with an OpenAI-style API – locally Ollama, LM Studio, MTPLX or your own address, so the conversation never leaves the Mac; or OpenAI, Anthropic, Mistral, OpenRouter with your own key (stored in the keychain).
- Names stay with you: before a transcript goes to a cloud model, the names of speakers and calendar attendees (first names too) are replaced with placeholders and put back only in the finished summary on your Mac. On by default.
- Cloud only on click: cloud models never run automatically unless you explicitly allow it. Local models can summarize every new transcript automatically.
- In the panel: “Summarize” below a transcript; the entry shows the first key points and action items with Open · Copy · Share · ⋯. Share opens the macOS share menu – Mail gets a subject and formatted text. Continue in Claude, Claude Code or Codex opens the app with a prepared text (nothing is sent).
- The summary is saved as
<name>.summary.mdnext to the transcript, moves along when you rename, and picks up speaker names you assign later. - MCP: new tools
recent_transcripts,read_transcript,get_summary,list_templates,summarize_transcript; every template is also a prompt (e.g./protokollin Claude Desktop) that your AI client applies with its own model. - Obsidian plugin 0.2.0 (obsidian-local-transcriber): the summary appears as its own section above the transcript – checking off action items does not stop the transcript from updating – and a “Summarize” command.
- Measured on a MacBook Pro M5 Pro with Qwen3.8-27B: a 25-minute conversation in 30–50 s, three hours in about four minutes.
New: glossary and recognition
- Glossary in the app (Settings › Glossary): correct spellings of names and terms with the wrong spellings speech recognition produces; also inside hyphenated words. Apply it to existing transcripts with Re-analyze › Apply glossary. MCP:
show_glossary,add_to_glossary,apply_glossary. - Passages without punctuation are recognized again on their own and only replaced if the new text checks out; word loops are shortened.
- Unknown voices get a “probably” name less often (threshold 0.50 → 0.60).
Changed
- Settings with a sidebar (the tab bar no longer fit).
- Rename by clicking the title of an entry; the separate link is gone.
- The panel background is more opaque, so links stay readable on any desktop picture.
Fixed
- Renaming that only changed upper/lower case added “ 2” to the name (macOS does not distinguish case in file names).
- A transcript was not recognized as Transcriber's own when the file name came from the phone in a different Unicode form, so a second transcript file appeared next to it.
Local Transcriber 0.8.4
Small privacy and safety fix.
Install or update (Apple Silicon, macOS 14+): in the app, “Copy update command” (since 0.8.3), or
curl -fsSL https://transcriber.teconomix.net/install.sh | bashHomebrew: brew upgrade --cask local-transcriber.
Fixed
- Bug reports: names of recordings that were deleted completely, that failed and are gone, or that were transcribed outside
~/Transcriber(command line, MCP) are now redacted too. Before, such names could appear in the attached logs or job files. - Deleting: Escape cancels the confirmation dialog (Return already did); the log names the deleted recording, so it is clear which entry was removed – redacted in bug reports.
- Call detection logs every change of the call app's audio devices (for diagnosing apps that briefly report two microphones before joining).
Local Transcriber 0.8.3
Two small conveniences.
Install or update (Apple Silicon, macOS 14+):
curl -fsSL https://transcriber.teconomix.net/install.sh | bashHomebrew: brew upgrade --cask local-transcriber. Running the installer again updates an existing installation and restarts the folder watcher.
New
- Open at login – Settings › General. Without the app running, finished recordings get no meaningful file name and calls are not detected. If macOS still has to allow the login item, a button opens Login Items.
- Update button copies the command – when a new version is available, "Copy update command" puts the right command on the clipboard (the installer, or
brew upgradefor Homebrew installations), with a one-line hint right below: paste it in Terminal and press Return; recordings, voices and settings are kept. The website's install section now explains updating as well.
Includes the fixes from 0.8.1 and 0.8.2.
Local Transcriber 0.8.2
Bugfix release – recommended for everyone using the folder watcher or the MCP server.
Install or update (Apple Silicon, macOS 14+):
curl -fsSL https://transcriber.teconomix.net/install.sh | bashHomebrew: brew upgrade --cask local-transcriber. Running the installer again updates an existing installation and restarts the folder watcher.
Fixed
- Long-running processes (folder watcher, MCP server) kept the GPU caches of Whisper (MLX) and speaker separation (PyTorch/MPS) after every transcription – about 10 GB, growing with recordings of different lengths. After a batch of recordings the watcher could use all memory and the Mac stopped responding (kernel panic, watchdog timeout). The caches are now released after each job: measured 12 GB → about 3 GB between jobs. Note that
psdoes not show this GPU memory;footprint -p <pid>does. - Includes the 0.8.1 fix (random
FileNotFoundErrorin the progress status file).
Local Transcriber 0.8.1
Bugfix release.
Install or update (Apple Silicon, macOS 14+):
curl -fsSL https://transcriber.teconomix.net/install.sh | bashHomebrew: brew upgrade --cask local-transcriber. The installer downloads exactly these files and verifies them against SHA256SUMS. Running it again updates an existing installation and restarts the folder watcher.
Fixed
- Transcriptions could fail at random with
FileNotFoundError … jobs/….tmp– two threads wrote the progress status file at the same time. Seen in about one in four longer runs from the folder watcher; the app and command line were affected as well. Files that failed this way are retried once they change (e.g.touchthe audio file) or can be started again from the panel.