Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
T

transcribe-anything

> 编程语言
Open source

Multi-backend whisper app. Blazing fast. Mac-arm optimized. Easy install. Input a local file or url and this service will transcribe it using Whisper AI. Comple

1.4K stars0 likes0 views
WebsiteGitHub

About

Multi-backend whisper app. Blazing fast. Mac-arm optimized. Easy install. Input a local file or url and this service will transcribe it using Whisper AI. Comple

transcribe-anything

Every Whisper variant under one app w/ FULL OPTIMIZATIONS! Easiest install ever! Mac/Linux/Win

Over 1200+⭐'s because this program just works! Works great for windows and mac. This whisper front-end app is the only one to generate a speaker.json file which partitions the conversation by who doing the speaking.

How it works

One CLI, one router: --device picks the backend (auto-detected if omitted), and every backend runs in its own isolated environment built on first use — no CUDA/torch dependency hell in your python.

…

Sponsored by Recall.ai

Supporting open-source transcription innovation since September 2025.

Why 1,000+ companies choose Recall.ai

  • Accurate speaker diarization — real participant names, not just “Speaker 1/2”
  • Ultra-low 200 ms latency for real-time transcripts & audio
  • 99.9% uptime SLA with enterprise-grade security (SOC 2, HIPAA, ISO 27001)
  • One API for all meeting platforms — no platform-specific integrations required

New in 4.1! — Intel Arc GPU support

Your Intel Arc GPU is now a transcription device. --device xpu runs the blazing HF-pipeline path on PyTorch's XPU backend — Arc A-series and B-series discrete cards and recent Iris Xe iGPUs, on Windows and Linux.

transcribe-anything video.mp4 --device xpu
  • Whole-hog isolated env: torch+xpu wheels pull from PyTorch's official XPU index only — pinned by exact version and explicit index, so nothing in the XPU dependency chain can ever resolve from an untrusted source (the pytorch-triton-xpu name on PyPI is literally quarantined; we don't go anywhere near it).
  • WhisperX on Arc too: the whisperx backend gains the same XPU wiring.
  • Experimental — file issues with your card model if something misbehaves.

Also in 4.1: dependency security refresh across every isolated backend env (yt-dlp 2026.7.4, cryptography 49.0.0, per-env torch updates, and a 36-package dead-weight drop from the insane env).

Thanks to @Mischala for kicking off the XPU support (#127, closes #23).

New in 4.0!

Three new backends, phoneme-precise word-level timestamps for the fast path, and read-only installs. This is the biggest release since the --device insane debut. If you ran 3.2 and squinted at end-of-audio timestamps, this is the one to upgrade to.

--device insane-flash — guaranteed FlashAttention2 on CUDA

Same blazing insanely-fast-whisper model path as --device insane, but in a separate isolated environment with pinned FlashAttention2 wheels for Windows x86_64, Linux x86_64, and Linux aarch64 (Python 3.11, torch==2.7.0+cu128, flash-attn==2.8.3). It verifies flash_attn and the compiled CUDA extension before transcription starts and fails early with platform diagnostics when no controlled wheel is available. No more sad-path silent fallbacks.

transcribe-anything video.mp4 --device insane-flash --batch-size 8

--align — phoneme-precise word-level timestamps on --device insane / --device insane-flash

The HF-pipeline timestamp drift on long audio is over. Add --align and the transcript gets a WhisperX wav2vec2 forced-alignment post-pass: every chunk grows a words: [{word, start, end, score}] array and segment timestamps tighten to first/last-word boundaries. out.srt and out.vtt inherit the tightened bounds for free. Reuses the WhisperX iso-env, so no new deps in the insane env. Best-effort by design — unsupported language, env build failure, or runner crash falls back to the original output with a stderr warning, never breaks transcription.

# Phoneme-precise timestamps on the fast path:
transcribe-anything video.mp4 --device insane --align
transcribe-anything video.mp4 --device insane-flash --align

# Force a specific wav2vec2 aligner for languages outside the 41 defaults:
transcribe-anything video.mp4 --device insane --align --align_model facebook/wav2vec2-large-960h-lv60-self

️ --device whisperx — alignment + diarization + word timing as a first-class backend

WhisperX is now bundled as a parallel, additive backend (it does not replace --device insane). Built-in VAD chunking, wav2vec2 forced alignment, and pyannote diarization — all from one CLI. Use it when you want word-level timestamps and per-speaker labels from a single backend invocation.

transcribe-anything video.mp4 --device whisperx --diarize --hf_token <hf_xxxx>

Supports --compute_type, --min_speakers / --max_speakers, --align_model, --no_align, --highlight_words, --vad_method, --chunk_size.

--device sensevoice — multilingual non-autoregressive, ~5x faster at comparable WER

New isolated-env backend wrapping FunASR's iic/SenseVoiceSmall model. Non-autoregressive — ~5x faster than whisper-large-v3 at comparable word-error rate. Multilingual out of the box (auto/zh/en/yue/ja/ko/nospeech), built-in fsmn-vad, emotion detection, and event-tag postprocessing. Speaker diarization via cam++ is opt-in with --diarize. Models pull from ModelScope by default; pass --hub hf for HuggingFace.

transcribe-anything video.mp4 --device sensevoice
transcribe-anything video.mp4 --device sensevoice --diarize --language zh

Read-only installs work now

Backend iso-env venvs and the bundled static_ffmpeg binary moved from inside the package directory (<site-packages>/transcribe_anything/venv/...) to the user cache directory (<user_cache_dir>/transcribe-anything/...). That unblocks Nix-store installs, OS-package installs, multi-user shared installs, baked-into-container installs, and pip install --target with a read-only mount. Override the location with TRANSCRIBE_ANYTHING_CACHE_DIR=/somewhere/writable.

One-time cost on upgrade: existing 3.2 installs have a venv cache at the old path. Those caches are orphaned by this move, so the first run of each backend after upgrade re-downloads its dependencies (~10 GB for --device insane). No data loss — just the install-time wheel fetch, once.

❄️ Native Nix flake — community contribution

nix run github:zackees/transcribe-anything -- <url-or-file> --device insane
nix shell github:zackees/transcribe-anything
nix build .#transcribe-anything

A complete uv2nix-based Nix flake is now part of the repo, contributed by community member @eeedean (#68 → #104). One-line install for any Linux / macOS / NixOS user with Nix flakes enabled, the wrapper script puts ffmpeg and uv on PATH automatically, and the dev shell (nix develop) gives you an editable install with yt-dlp pre-installed. Pairs perfectly with the read-only-install support above — backend iso-envs land in your user cache, not the immutable Nix store.

☁️ Cloud / Serverless (no local GPU)

If you don't have a local NVIDIA GPU, community member @victorkjung maintains a turnkey RunPod Serverless deployment. Per-second-billed GPU minutes that scale to zero. See the Cloud / Serverless section below.

Security fix

--hf-token no longer leaks into stderr or the OSError("Failed to execute ...") traceback when the insane backend's subprocess fails. If you ran 3.2 on RunPod, Modal, or any other serverless host that surfaces stdout/stderr or exception messages in job-status APIs, rotate your HuggingFace token — older runs may have logged it. Going forward, the token is masked in both the Running: banner and the failure traceback. The subprocess itself still receives the real token.

Thanks

--device insane-flash, --device whisperx, and the long-form timestamp regression suite were driven by community feedback through the issue tracker. --device sensevoice is wired up against FunASR (FunAudioLLM/SenseVoice). --align reuses the wav2vec2 forced-alignment work from m-bain/whisperX. Special thanks to @aj47 for the MLX backend, @victorkjung for the RunPod Serverless deployment fork, and everyone who filed issues and PRs since 3.2.

New in 3.2!

Turbo Mac acceleration using the new lightning-whisper-mlx backend.

This is a communinity contribution by https://github.com/aj47. On behalf of all the mac users, thank you!

MLX Backend details

  • 4x faster than the mps whisper backend.
  • Supports multiple languages (mps only supports english).
  • Supports custom vocabulary via --initial_prompt.

Usage

# Mac accelerated back-end
transcribe-anything "https://www.youtube.com/watch?v=dQw4w9WgXcQ" --device mlx

Special thank

New in 3.1!

Mac acceleration option using the new lightning-whisper-mlx backend. Enable with --device mlx. Now supports multiple languages, custom vocabulary via --initial_prompt, and both transcribe/translate tasks. 10x faster than Whisper CPP, 4x faster than previous MLX implementations!

Model Storage: MLX models are now stored in ~/.cache/whisper/mlx_models/ for consistency with other backends, instead of cluttering your current working directory.

GPU Accelerated Dockerfile

Recently added in 3.0.10 is a GPU accelerated Dockerfile.

If you are are doing translations at scale, check out the sister project: https://github.com/zackees/transcribe-everything.

You can pull the docker image like so:

docker pull niteris/transcribe-anything

About

Easiest whisper implementation to install and use. Just install with pip install transcribe-anything. All whisper backends are executed in an isolated environment. GPU acceleration is automatic, using the blazingly fast insanely-fast-whisper as the backend for --device insane. CUDA users can choose --device insane-flash for a separate FlashAttention2-backed insane environment with pinned wheel artifacts. WhisperX is also available with --device whisperx for alignment, diarization, and word highlighting; it is additive and does not replace --device insane. This is the only tool to optionally produces a speaker.json file, representing speaker-assigned text that has been de-chunkified.

Hardware acceleration on Windows/Linux --device insane

MacArm acceleration when using --device mlx (now with multi-language support and custom vocabulary)

Input a local file or youtube/rumble url and this tool will transcribe it using Whisper AI into subtitle files and raw text.

Uses whisper AI so this is state of the art translation service - completely free.

Your data stays private and is not uploaded to any service.

The new version now has state of the art speed in transcriptions, thanks to the new backend --device insane, as well as producing a speaker.json file.

…

python api

…

Fastest Transcription - Use insane mode with model large-v3 + batching

This is by far the fastest combination. Experimental, it produces text that tends to be lower quality:

  • Higher chance for repeated text patterns.
  • Timestamps in the vtt/srt files become unaligned.

It's unclear if this is due to batching or large-v3 itself. More testing is needed. If you do this then please let us know the results by filing a bug in the issues page.

Large batch sizes require more significant amounts of Nvidia GPU Ram. For a 12 GB card, it's been experimen

GitHub Issues· 0 open

View all on GitHub

No open issues yet, or sync has not completed.

Highlights

  • •Accurate speaker diarization — real participant names, not just “Speaker 1/2”
  • •Ultra-low 200 ms latency for real-time transcripts & audio
  • •99.9% uptime SLA with enterprise-grade security (SOC 2, HIPAA, ISO 27001)
  • •One API for all meeting platforms — no platform-specific integrations required
  • •WhisperX on Arc too: the whisperx backend gains the same XPU wiring.
  • •Experimental — file issues with your card model if something misbehaves.
  • •4x faster than the mps whisper backend.
  • •Supports multiple languages (mps only supports english).
  • •Supports custom vocabulary via --initial_prompt.
  • •Higher chance for repeated text patterns.

> Tags

Python

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言