Contents 7 sections

Softnote is a key sound for laptop typing: one note, A5, for every key. Space, Enter and Backspace get heavier or muted strikes of the same note. It does not imitate a mechanical switch, and I have no evidence that it makes anyone type faster.

It has shipped with OmaThock, the Omarchy plugin that plays a sound on every key press, since pull request 4 merged. The interesting part was deciding how much the sound should say.

Same note, different weight

Space, Enter and Backspace do different jobs, and keyboards usually let you hear it. Android’s audio API has separate sounds for standard, spacebar, delete and return key presses, and all seventeen recorded packs in OmaThock, made from real keyboards, give those keys their own takes.

My first version marked them with pitch: A5 for letters, E5 for Space, F#5 for Backspace and B5 for Enter, all from an A major pentatonic scale. That put a few notes of a scale under every line of typing. Softnote marks them with weight instead. Space and Enter are bigger keys: they ring longer, 40 and 45 ms against 30 for a letter, and darker, Space the darker of the two. Backspace is damped: 24 ms, darker and about 3 dB quieter. Key release is silent. Nothing changes pitch, so a line of typing never turns into a tune.

A letter, then Space; a letter, then Enter; a letter, then Backspace. 600 ms apart, at the pack's full level.

A note the laptop can play

Each take starts with a brief filtered-noise transient. Under it is an 880 Hz fundamental with its second, third and fourth harmonics, and the upper harmonics fade first.

The speakers set the pitch. Small laptop drivers lose the low frequencies where a switch recording keeps most of its body; one calibrated measurement of a Framework laptop fell off quickly below 400 Hz. A cue built on a lower note would lose most of itself there, and 880 Hz sits well clear. I have not measured my own laptop’s speakers.

The short envelope borrows from sound-design research, with a limit. Foley and colleagues found that tones with a percussive envelope were rated less annoying than flat ones and were detected more often, especially at low levels. Shortening a tone’s harmonics also lowered annoyance without a matching loss in detection. Their listeners were students in two online experiments, rating 400 Hz alarm-style tones of 360 to 600 ms. That suggests a shape to try. It says nothing about how a 30 ms key sound feels after an hour.

Struck a little differently each time

One sample repeated exactly starts to sound like a machine, so game audio uses several takes and small random changes in level and pitch.

Pitch is the wrong place for the variation here too. Hearing pitch precisely takes time, and a letter take stays above half its peak for only about 8 ms. Micheyl and colleagues fitted pitch-discrimination data from twelve studies, and their model puts the threshold for a pure tone that short near 2 percent, about 35 to 40 cents. The fit is less certain below 40 ms and harmonics usually help, so treat that as an order of magnitude. Pitch steps small enough to keep one note would barely be heard, and steps large enough to hear would start to sound like a melody.

So each key’s takes vary the way a struck object does. A harder strike is louder and brighter: velocity moves the level over up to 3 dB and lifts the upper harmonics and the noise onset more than the fundamental. Decay varies by up to 8 percent on its own. Letters get eight takes, Space and Backspace three, Enter two.

The eight letter takes, softest to hardest, 450 ms apart, at the pack's full level.
"a quick test of the new sound" with one typo fixed, then Enter, at a simulated pace: a random take each time as the plugin picks them, 232 ms apart on average. Across 168,000 typists, Dhakal and colleagues measured 239 ms.

Timing and level

A confirmation has to arrive with the press. Kaaresoja and colleagues found that audio feedback on a touchscreen button seemed most simultaneous with the touch at about 19 ms of delay, and that rated quality dropped significantly between 70 and 100 ms. OmaThock opens its audio stream when the pack loads, so a press goes to a stream that is already open; in five silent runs the key reached it in a median 0.14 ms. The audio buffer and the speaker add more, and I have not measured the whole path from key to sound. Bluetooth earbuds alone can go past 100 ms; one developer measured AirPods at 155 to 220 ms. Use the laptop speakers or wired earphones.

By K-weighted energy, a rough stand-in for loudness, the letter takes sit at the quiet end of the bundled packs at the same slider setting, about 2.5 dB below Holy Panda, the default. Space and Enter are within 1 dB of the letters. I run it at 20 percent.

What has not been tested

Kim and Tan ran the nearest typing study. Of their twelve touch typists, eleven were analysed; on a keyboard with no key travel, they typed faster with a beep on each key than with no feedback, 51 against 43 words a minute in one condition. The difference did not reach significance in their post hoc tests, and the beep came through earphones over masking noise.

I have not run a preference or typing test with Softnote, tested whether the heavier Space and muted Backspace help anyone, or measured how it carries through laptop speakers over fan noise. It is an optional confirmation sound.

Try it

Softnote comes with OmaThock. Install the plugin, or run omarchy plugin update if you already have it, then pick the pack:

omarchy plugin add https://github.com/TerrifiedBug/omathock.git --enable
omarchy-shell omathock soundpack softnote
omarchy-shell omathock volume 20

Type with it for a day. Then turn it off and notice whether you miss it.

Further reading