Keyboard sound app for macOS and Windows

Bring the keyboard sounds you loveto every keystroke.

A keyboard and pointer-sound app that lives in the menu bar or system tray. From browsers and editors to chat apps, it gives every keystroke clear, natural mechanical feedback on Mac and Windows.

macOS 13+ · Windows 10/11 x64 · Latest version 1.2.2

Try it online first
Battuta neon-green mechanical keycap icon
21keyboard sound profiles
5click styles
265local recordings
macOS + Windows · Local processing · No typed text recorded

No install needed—hear the real feel first

Try typing a sentence.

This web preview uses the same press, release, and large-key recordings as Battuta. The desktop app maps physical keys and keeps the effect available in every app.

Current profileBCP (Suit80)Loading sound profiles
Recommended profiles

Preparing web audio…

Keystrokes are sampled every 100 ms and summarized into one-second bars and a trend. Clear or refresh to reset.

Mobile keyboards can track typing rhythm but cannot reliably expose physical keys or release events. Use a desktop browser for the full heatmap and release mapping.

A keyboard that is not on your desk

You do not need a new keyboardto find a new feel.

Battuta maps real press, release, and large-key recordings to every keystroke. Add crisp feedback while coding, use a softer voice for long-form writing, or choose something quieter late at night.

Real input, real response

A sound on press. Another on release.

It is more than one recording on loop. Rows, space, return, and backspace use different samples. With natural variation enabled, each sound rotates evenly through four subtle recipes so continuous typing never turns into a machine gun.

Turn on sound to hear itThree sound profiles · about 24 seconds
01

Sound is ready before you type

Battuta warms the audio engine on launch and preloads samples when you choose a profile. Typing never waits for a disk read.

02

Natural, not random noise

Small gain and playback-rate changes rotate evenly, so adjacent keystrokes do not repeat the same recipe.

03

From keyboard to trackpad

Keyboard and click volume are controlled independently, so left, right, middle, and trackpad clicks can all have their own feedback.

21 keyboard sound profiles

From light and crisp
to deep and weighty.

Built-in profiles cover tactile, clicky, linear, electro-capacitive, and buckling-spring switches. The new BCP (Suit80) profile adds 28 recordings across rows, large keys, and alternating small keys; none of them is simply a filter.

Tactile

Clear feedback without excessive volume.

Holy Panda · MX Brown · BCP (Suit80) · G915 Brown

Clicky

Crisp, decisive, and articulate.

MX Blue · BOX Navy · BOX White · Blue Alps

Linear

Smooth and continuous for longer sessions.

Cream · Alpaca · Black Ink · Keychron Red

Classic mechanisms

A different kind of tactile memory.

Topre · IBM Buckling Spring

Hear it, then see it

Your typing habitsbecome a map.

Review today’s total, peak speed, active apps, seven-day trends, annual heatmaps, and per-key distribution. 1.2.1 keeps the classic neon-green and cyan palette and adjusts its continuous scale from current data; hover or select a cell to see its time and count. Statistics retain only aggregates, physical key codes, time, and the foreground app—never the text you write.

Local typing statisticsMuted looping preview
TodayTotal input, peak speed, and the apps you use most
HistorySeven-day trends, an annual heatmap, and active hours
KeyboardA per-key heatmap that shows physical key use

Make it your own

Choose a sound.Then make one.

DIY sound editor

One recording, split into press and release.

Import WAV, AIFF, CAF, M4A, and other common audio formats. Let Battuta suggest cut points, then preview and fine-tune the waveform. You can cover a whole keyboard, a row, large keys, or one specific key.

Battuta DIY sound editor with full keyboard mapping, press and release audio, and sound-pack inspectorView full image ↗

Mouse and trackpad

Five click styles.

Classic microswitch, silent microswitch, sharp gaming click, heavy office click, and glass trackpad feedback stay independent of keyboard volume.

Everyday use

Launch at login. Update with ease.

macOS users upgrading from 1.1.1 need one manual replacement install. Version 1.1.2 and later can keep using in-app updates. The Windows Store edition updates through the Store; the portable ZIP updates from GitHub releases.

Battuta is running

Privacy is a boundary, not a switch

It knows a key was pressed.
It never knows what you wrote.

Battuta recognizes only the hardware events needed for sound playback and aggregate statistics: physical key codes, pointer buttons, press or release state, time, and the foreground app.

Characters, passwords, and pointer locations are never read, saved, or uploaded. Sounds, DIY sound packs, and typing statistics stay on your device.

Never reads typed textNever uploads typing statisticsMIT-licensed source available to inspect
Read the full privacy policy

Get started

Three steps to give your computera sound you love.

macOS is available as a DMG. For Windows, Microsoft Store is recommended, with a portable ZIP for offline or no-install use.

01

Choose how to install

Download the DMG for macOS and move it to Applications. On Windows, Microsoft Store is recommended, with a portable ZIP that runs after full extraction.

02

Complete first-run approval

macOS requires a manual first-open approval and Input Monitoring. The Windows Store edition uses Store signing; the portable ZIP can prompt SmartScreen.

03

Keep it close at hand

Battuta lives in the macOS menu bar or Windows system tray, and it can launch automatically when you sign in.

Battuta 1.2.2 · macOS + Windows

Give the next keystroke a sound.

macOS Universal app, about 9 MB · Windows 10/11 x64 · MIT license

macOS is available as a Universal DMG. On Windows, install from the Store or download a portable ZIP for the same release.

Frequently asked questions

Before you install,
you may want to know.

Does Battuta read what I type?

No. Battuta uses only hardware key codes and press/release state to choose sounds. It never reads characters or saves or uploads passwords, typed text, or pointer locations.

Why does it need system input access?

Battuta needs global physical keyboard and pointer events to work across browsers, editors, and chat apps. macOS asks for Input Monitoring; Windows uses system input APIs. Neither implementation reads characters.

Will the sound keep up with typing?

The app warms the audio engine on launch and preloads selected samples as 48 kHz PCM. A real keystroke only looks up and plays audio in memory, without disk reads or format conversion on the input path.

Can I make my own sounds?

Yes. The DIY editor supports general press and release sounds, rows, large keys, and per-key overrides. It can also split one complete keystroke recording into separate press and release sounds.