mechvibes-cbc
fork of hainguyents13/mechvibes — actively maintainedv2.4.1

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.

Features

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.

This fork

What's different from upstream

Same soundpack ecosystem, rebuilt runtime. This fork focuses on stability and modernization without breaking compatibility.

Get it running

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.