Every keyboard should sound like a mechanical one.
Mechvibes-cbc brings realistic mechanical keyboard audio to whatever you're typing on — laptop, membrane, silent office keyboard — on Windows, macOS, and Linux.
Click or tab through the keys — this row runs on the same audio engine as the app.
Built to feel like a real board
The engine, the soundpacks, and the interface are all tuned around one goal: keys should feel instant and sound right.
Realistic simulation
Faithful mechanical keyboard audio, mapped key-by-key rather than looped generically.
Soundpack v1 – v3
Full backward compatibility with the original soundpack formats, plus the new v3 spec.
Low-latency engine
A Web Audio playback pipeline rebuilt for consistent timing under heavy typing.
Output device select
Route playback to any connected audio device without leaving the app.
Dark mode
An interface that matches the hours most mechanical-keyboard enthusiasts keep.
Keyboard & mouse
Sound simulation isn't limited to keystrokes — clicks and scrolls are covered too.
What's different from upstream
Same soundpack ecosystem, rebuilt runtime. This fork focuses on stability and modernization without breaking compatibility.
- runtime Modernized Electron runtime
- input Updated global input hook
- windows Improved Windows stability
- release Better release automation
- soundpack Soundpack v3 support
- audio Lower audio latency
- safety Safer soundpack management
Install or build from source
Grab a packaged release, or build it yourself — requires Node.js 22.22.0.
# run it npm ci npm run verify npm start
# build an installer npm run build:win npm run build:mac npm run build:linux
On Linux, native input hooks need X11 headers (libx11-dev, libxtst-dev, libxt-dev, and friends) installed before building.