Private by design
The model, your audio and your transcripts stay on your machine. The only network access is the one-time model download from Hugging Face.
Open source · macOS & Windows
Visper turns meetings, lectures and interviews into timestamped transcripts with Whisper large-v3, fully offline. Chinese, English, or both in the same recording.
Coming soon Prebuilt downloads are on the way. Today, build from source in a few commands.
我们先看一下这次产品讨论的目标。
zh界面需要更清晰,让主要操作自然出现。
zh语言自动判断,中文和英文都保留原文。
zh接下来讨论导入和转写的反馈
Features
Built for the recordings you already have, in Chinese, English, or a mix of both.
The model, your audio and your transcripts stay on your machine. The only network access is the one-time model download from Hugging Face.
Auto mode splits on silence and detects each stretch as Chinese or English, so a switch mid-meeting doesn't derail the rest. Or lock a recording to one language.
Traditional characters are converted to Simplified with OpenCC before anything is shown or saved.
Metal on macOS, Vulkan on Windows, flash attention on. If the GPU can't be set up, that transcription quietly runs on the CPU.
Drop in as many files as you like. They're transcribed one at a time, with live segments, progress, speed and time remaining.
Every segment is timestamped. Click one to play the recording from exactly that point.
One [HH:MM:SS] text block per segment, ready for notes, docs or your favourite LLM.
Transcripts persist between launches. Re-run, cancel or remove. If a file moves, its transcript stays readable. Your audio is never copied.
Per-stretch language detection
Whisper's built-in auto-detect guesses one language for a whole file, so a later stretch in the other language gets pulled off course. Visper instead decides Chinese or English for every stretch between pauses, then transcribes each in its own language.
English stays English, Chinese stays Chinese. No translation, ever.
Read the design decision (ADR 0002) →[00:00:04] 我们先看一下这次产品讨论的目标。
[00:00:18] 界面需要更清晰,让主要操作自然出现。
[00:00:36] We should keep the workflow simple and predictable.
[00:00:52] 语言自动判断,中文和英文都保留原文。
[00:01:42] 完成之后,可以按分段回听,再导出 Markdown。
How it works
m4a, mp3, wav, flac or aac decoded with Symphonia, resampled to 16 kHz mono with Rubato.
20 ms loudness frames against an adaptive noise floor. Pauses of 400 ms+ separate stretches of up to 30 s.
In Auto mode, each stretch is judged Chinese or English. Neighbours in the same language share one window.
whisper.cpp with beam search on Metal or Vulkan, falling back to the CPU when needed.
OpenCC converts to Simplified Chinese; segments stream to the window and into your local library.
Two models
Choose on first launch, change from the Library footer later. Every transcript remembers which model produced it.
Most accurate
Best for interviews full of names and specialist terms.
ggml-large-v3.bin
Much faster
Slightly less accurate. Great for everyday meetings. Decoder cut from 32 to 4 layers.
ggml-large-v3-turbo.bin
Benchmark on an M3 Pro: Metal ran inference about 1.6× faster than Vulkan through MoltenVK, using about 0.5 GB less memory.
Build from source
Visper needs Rust stable (installed automatically via rust-toolchain.toml) and CMake. On first launch it asks which model to download.
Coming soon Prebuilt packages for both platforms.
# Xcode Command Line Tools + Homebrew
brew install cmake
git clone https://github.com/chiyiangel/visper.git
cd visper
cargo run --release
# Optional: Visper.app + .dmg in target/release/bundle/
scripts/bundle-macos.sh --dmg
# MSVC Build Tools, CMake, LunarG Vulkan SDK
# MSBuild needs a short target dir (260-char path limit)
setx CARGO_TARGET_DIR C:\t
# in a new terminal
git clone https://github.com/chiyiangel/visper.git
cd visper
cargo run --release
Deliberately small
A focused tool that does one job well. These are out of scope by design:
Dual licensed under MIT or Apache-2.0. Issues and pull requests welcome, in English or Chinese.