IureTranscribe

Local transcription with whisper.cpp: transcribes audio and video files and lists meeting recordings, so the client's model can write summaries and minutes without the audio leaving the computer.

Documentation

Leer en español

IureTranscribe icon

IureTranscribe

Transcribe meetings, calls and recordings on your own computer with Whisper, and get the summary and minutes, without your audio leaving the machine.

Latest release Downloads License Platforms: Linux, Windows, macOS

Download for Linux · Windows · macOS

Recording a video call: the live transcript tags each line with Ana Torres or Other party while the microphone and system meters move; when stopped, the transcript is saved

Why IureTranscribe

  • Your audio stays on your computer. Transcription runs locally with whisper.cpp; no account and no internet connection are needed to transcribe. The installer already includes a model.
  • Records the meeting for you. Microphone and system audio (video calls, meetings in the browser) with a live transcript that says who spoke: you or the other party.
  • Summary and minutes in Markdown, written by OpenRouter with your own key, by your Iurefficient instance, or by the AI assistant you already use (Claude, Copilot) through MCP, with no key at all.
  • Fast on whatever machine you have: CUDA, Vulkan or Metal when there is a GPU, and a CPU variant that runs anywhere.
  • A graphical replacement for the transcribe command-line script. Free and open source (Apache 2.0).

Screenshots

File queue: one file transcribing at 38% with its segments appearing in real time, another queued, two finishedMinutes tab of a finished meeting, with attendees, agenda, decisions and action items
File queue: progress and segments in real time.Minutes generated from the transcript and the meeting details.
Settings, Vocabulary and corrections: a list of names and terms and three automatic correction rowsSettings, AI assistants: Microsoft 365 Copilot with an active token, GitHub Copilot in VS Code ready to connect, Claude Desktop connected
Custom vocabulary and automatic corrections.Connect Claude Desktop, Copilot in VS Code or Microsoft 365 Copilot.

Summary tab in the dark theme
Dark theme.

Features

  • 100% local transcription with whisper.cpp. The installer includes the Base model so it works right away; the other GGML models (Large v3 Turbo recommended) are downloaded from within the app.
  • File queue with drag and drop, live progress and real-time segments.
  • Output as SRT, VTT, TXT and JSON, next to the original file or in a fixed folder.
  • Custom vocabulary (names and terms given to Whisper as context) and automatic corrections for words Whisper keeps misspelling.
  • Summary and minutes in Markdown (OpenRouter, with editable instructions), with meeting details (participants, date, place, notes) that can be entered at any time.
  • Built-in recording of the microphone and the system audio with live transcription and, when both sources are enabled, who spoke: each source is transcribed separately and the segments carry your name or “Other party”.
  • With the minutes generated by Iurefficient, commitments → tasks: the app reads the commitments the instance detects, lets you fix the assignee and date, and creates them as project tasks.
  • GPU acceleration depending on the variant: CUDA (NVIDIA, Linux/Windows), Vulkan (AMD, Intel or NVIDIA, Linux/Windows) or Metal (Apple Silicon). The CPU variant works on any computer.
  • Decodes MP3, WAV, M4A/AAC, MP4, MOV, MKV, FLAC and OGG with no dependencies; if ffmpeg is installed, also Opus, WebM and other formats.
  • English and Spanish interface: English by default, Spanish when the operating system is in Spanish; it can be chosen in Settings → Language. The interface language is independent of the language of the audio being transcribed, and the summary and minutes are written in the language of the transcription.

Download and install

Get the files from the latest release. Each file name carries the variant, e.g. IureTranscribe_0.7.0_1-windows-x64.exe.

PlatformFileNotes
Windows…windows-x64.exe (installer) or …windows-x64.msiCPU, any computer
Windows…windows-x64-vulkan.exeGPU via Vulkan (AMD, Intel, NVIDIA)
Windows…windows-x64-cuda.exeNVIDIA with CUDA 12 runtime included
macOS…macos-arm64.dmgApple Silicon, with Metal (macOS 12 or later)
macOS…macos-x64.dmgIntel Macs, CPU
Linux…linux-x64.AppImage, .deb or .rpmCPU, any computer; the AppImage updates itself
Linux…linux-x64-vulkan.AppImage, .deb or .rpmGPU via Vulkan
Linux…linux-x64-cuda.debNVIDIA, .deb only

The .sig, .app.tar.gz and latest.json files are for the in-app updater; you don't need to download them.

If you don't know which graphics card the computer has, install the variant without GPU (linux-x64 or windows-x64): it works on any machine. For a lightweight installer with GPU, use the Vulkan variant.

VariantGPUApproximate size (v0.7.0)
linux-x64, windows-x64none (CPU)130–220 MB
linux-x64-vulkan, windows-x64-vulkanAMD, Intel, NVIDIA (Vulkan)140–225 MB
linux-x64-cuda, windows-x64-cudaNVIDIA (CUDA 12)710–870 MB (includes cuBLAS)
macos-arm64Apple Silicon (Metal)140 MB
macos-x64none (CPU)140 MB

Most of the size of every installer is the bundled Base model (about 140 MB). The CUDA variants include the CUDA 12 runtime (cudart, cublas, cublasLt) inside the installer, so they only need the NVIDIA driver; cublasLt is what takes up almost all the extra size and cannot be left out. On Linux CUDA is distributed only as .deb (the AppImage cannot bundle those libraries).

The CUDA and Vulkan variants check the GPU the first time they are about to transcribe, in a separate process (--gpu-probe), because a driver that does not work makes ggml abort the process instead of returning an error. If the GPU fails, they continue with the CPU and say so in the sidebar with a link to the version without GPU; if not even CPU mode starts, the transcription stops with that same notice instead of closing the application without a trace.

The installers are not code-signed, so the system warns the first time:

  • Windows: SmartScreen may show “Windows protected your PC” / unknown publisher. Click More info → Run anyway.
  • macOS: the app is not notarized. Right-click the app → Open, or go to System Settings → Privacy & Security → Open Anyway. If macOS says the app “is damaged”, run xattr -dr com.apple.quarantine /Applications/IureTranscribe.app.
  • Linux: make the AppImage executable (chmod +x IureTranscribe_*.AppImage) or install the .deb/.rpm with your package manager.

See Code signing policy for how the files are built.

Connecting to Iurefficient

In Settings → Iurefficient account you enter the instance domain, the email and an app password (iurdav_…, the same one IureDav uses; each user generates it in their profile and it requires an administrator to have WebDAV enabled). With the account connected, every transcribed file has a Save to Iurefficient button: you choose the client and project folder (or General) and the transcription (SRT/TXT/…), the summary, the minutes and, optionally, the original audio or video are uploaded. A file with the same name is saved as a new version, not as a duplicate, just like in the web application. Instances do not accept .srt/.vtt by default: in that case they are uploaded as .txt (e.g. meeting.srt.txt).

In addition, when signed in (your regular Iurefficient password, with two-step verification if you have it; the session is stored in the keychain and lasts 30 days) the same button offers two more destinations:

  • Project: search for the project or case, upload the files as documents of the case file and, if you want, log the meeting hours as billable time. Afterwards, in the Minutes tab, “Minutes with the Iurefficient engine” lists your firm's formats (blueprints) and generates the document on the instance, with the attendees and details you entered, without needing an OpenRouter key.
  • CRM: attaches the files to an opportunity or lead and logs a meeting activity with the duration and the summary.

The connector is the shared iurefficient-connect crate, shared with iureditor, IureDav and IureOCR; credentials live in the system keychain (the same WebDAV password entry that IureDav uses), not in the settings file.

Use from Claude, Copilot and other agents (MCP)

IureTranscribe --mcp starts an MCP server over stdio, with no window. Claude Desktop, Claude Code, Copilot in VS Code or any MCP client can transcribe with this computer's Whisper, and the client's own model writes the summary or minutes: no OpenRouter key is needed. The audio never leaves the computer; only the text the agent chooses to read does.

ToolWhat it does
transcribe_fileTranscribes an audio or video file, writes the files (SRT/TXT… as set in Settings) next to it and returns the text; with timestamps, each line with its time
transcription_statusFor long files, transcribe_file returns a jobId after ~50 s and the job keeps running: this tool waits and returns the text; it also reads the rest with offset
read_transcriptReads an existing transcript or minutes, in parts
audio_infoDuration, size and existing transcripts of a file
list_recordingsThe latest recordings made with the app, with duration and whether they are transcribed
transcription_setupModel, language, formats and downloaded models

It uses the model, language, custom vocabulary and corrections from Settings. The model must be downloaded (Models section). The log goes to iuretranscribe-mcp.log.

In Settings → AI assistants the app detects which assistants are installed and connects each one:

  • Microsoft 365 Copilot cannot use programs on the computer, but it can use the instance's MCP server. While signed in, Create access for Copilot generates an iurmcp_… token (one year) and shows the URL and the steps for Copilot Studio (X-MCP-Token header). To let Copilot read a meeting, save its transcript or minutes to Iurefficient. Tokens are revoked from the same row.
  • GitHub Copilot in VS Code: Connect opens the vscode:mcp/install?… link; VS Code asks for confirmation and saves the server.
  • Claude Desktop: Connect adds the entry to claude_desktop_config.json without touching anything else (a .bak-iuretranscribe copy is kept). Then quit and reopen Claude Desktop.

Other clients: claude mcp add iuretranscribe -- /path/to/IureTranscribe --mcp in Claude Code, or the output of IureTranscribe --mcp-config in their configuration.

Recording

PlatformMicrophoneSystem audio (speakers)
LinuxPipeWire (pw-record) or PulseAudio (parec)Monitor of the default output
WindowsWASAPI (cpal)WASAPI loopback of the default output
macOSCoreAudio (cpal)Requires a virtual device (e.g. BlackHole) chosen as the microphone

Recordings are saved as 16 kHz mono WAV in Music/IureTranscribe (configurable) and, if so configured, are added to the queue and transcribed automatically.

Part of the Iurefficient suite

AppWhat it does
IureTranscribeLocal Whisper transcription, live recording with who-spoke, summaries and minutes.
iureditorWYSIWYG Markdown editor with Mermaid, LaTeX and PDF/DOCX export.
IureDavMount a WebDAV server (or Iurefficient) as a drive.
IureOCRLocal OCR that turns scans into searchable PDFs.
iureTIIT asset discovery probe for the Iurefficient inventory.

Contributing

Issues and pull requests are welcome. Good first contributions:

  • Bug reports with the log file attached (its path is shown in Settings and under “Where it stores things” in Technical details).
  • Translations: the interface strings live in src/lib/i18n.svelte.ts; a new UI language is a new dictionary there.
  • Documentation: corrections and clearer instructions in this README.

To build the app, see “Development” under Technical details.

Technical details

Stack
LayerTechnology
Desktop shellTauri 2 (Rust + system WebView)
Transcription enginewhisper.cpp via whisper-rs
Audio decodingsymphonia + own resampling, with ffmpeg fallback
InterfaceSvelte 5 + Vite, TypeScript
Summary/minutesOpenRouter (OpenAI-compatible API) via reqwest
Development

Requirements: Node 22+, stable Rust, CMake, a C++ compiler and libclang (used by bindgen to generate the whisper.cpp bindings). On Linux also the Tauri prerequisites.

# Ubuntu / Debian
sudo apt install build-essential cmake libclang-dev libwebkit2gtk-4.1-dev librsvg2-dev patchelf libssl-dev
# Without sudo: pip install --user libclang  and  export LIBCLANG_PATH=$(python3 -c 'import clang.native,os;print(os.path.dirname(clang.native.__file__))')
# macOS: xcode-select --install && brew install cmake llvm
# Windows: Visual Studio Build Tools (C++), CMake and LLVM (winget install LLVM.LLVM)
npm install
npm run tauri dev                      # CPU
npm run tauri dev -- --features cuda   # NVIDIA (requires CUDA Toolkit / nvcc)
npm run tauri dev -- --features metal  # macOS Apple Silicon / Intel with Metal
npm run tauri dev -- --features vulkan # AMD / Intel / NVIDIA via Vulkan (requires Vulkan SDK)

Installers:

npm run tauri build -- --features cuda   # .deb/.rpm/.AppImage, .msi/.exe or .dmg depending on the system

The GPU features are compile-time: the resulting binary shows the backend in the sidebar and in Settings. If the GPU fails at runtime, turn off “Use GPU” in Settings to fall back to the CPU.

The screenshots and the GIF in this README are generated from the real interface with scripts/readme-media/.

CI

.github/workflows/build.yml builds on every push and, when a vX.Y.Z tag is created, publishes a release with installers for Linux (CPU, CUDA and Vulkan), Windows (CPU, CUDA and Vulkan) and macOS (Apple Silicon with Metal and Intel). The artifacts of each push (without a tag) are kept in the repository's Actions tab.

Updates

On startup, the app checks the GitHub releases. If the installation allows it (AppImage on Linux, Windows, macOS) it offers to download and install the new version from within the app, with signed artifacts (latest.json per platform and variant); with .deb/.rpm it only notifies and links to the download. It can be turned off in Settings → Appearance → “Notify about new versions”.

Where it stores things
WhatLinuxWindowsmacOS
Models~/.local/share/com.iurefficient.iuretranscribe/models%APPDATA%\com.iurefficient.iuretranscribe\models~/Library/Application Support/com.iurefficient.iuretranscribe/models
Settings~/.config/com.iurefficient.iuretranscribe/settings.json%APPDATA%\com.iurefficient.iuretranscribe\settings.json~/Library/Application Support/com.iurefficient.iuretranscribe/settings.json
Log~/.local/share/com.iurefficient.iuretranscribe/logs/iuretranscribe.log%APPDATA%\com.iurefficient.iuretranscribe\logs\iuretranscribe.log~/Library/Application Support/com.iurefficient.iuretranscribe/logs/iuretranscribe.log

The log is reset on every start and the previous one is kept as iuretranscribe.prev.log. If the app closes unexpectedly, the last thing it wrote is there; the exact path is shown in Settings. With the variable RUST_LOG=debug more detail is written.

On Linux, the first time it imports OPENROUTER_API_KEY and OPENROUTER_MODEL from ~/.config/transcribe/config if they exist (the original script's file).

Code signing policy

The Windows and macOS installers are not code-signed at the moment: Windows SmartScreen may show an unknown-publisher warning, and macOS asks for confirmation the first time because the app is not notarized (see Download and install for the steps).

  • Every installer is built from this repository by GitHub Actions (.github/workflows/build.yml) and published only on the releases page. Download it from there.
  • What is signed: the update packages (.AppImage, Windows -setup.exe and macOS .app.tar.gz) carry a Tauri updater signature (.sig, listed in latest.json). The app verifies it against the public key built into it before installing an update, so an update that was not produced by this workflow is rejected.
  • Maintainer: Eduardo Llaguno (@ellaguno).

Privacy policy

This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it.

Transcription runs entirely on the user's computer with whisper.cpp; audio never leaves the machine. Specifically, IureTranscribe connects only to:

  • huggingface.co, when the user asks to download a Whisper model in the Models section;
  • the Iurefficient instance that the user configures, and only when the user signs in, saves a transcript there or asks that instance to write a summary or minutes;
  • OpenRouter, only if the user enters their own API key and asks for a summary or minutes with it; the transcript text is sent for that request only;
  • GitHub (api.github.com, github.com), to check whether a newer release exists: once at start-up, which can be turned off in Settings (“Notify about new versions”), and when Settings → Iurefficient apps shows the latest version of each app. Updates are downloaded from the releases page only when the user accepts them.

It collects no telemetry and no usage statistics. Credentials are stored in the operating system keychain, never in configuration files.

License

Apache License 2.0 — see LICENSE.