git404hub

what is kbd-audio fr?

ggerganov/kbd-audio — explained in plain English

Analysis updated 2026-06-24

9,001C++Audience · researcherComplexity · 3/5Setup · moderate

tl;dr

A collection of C++ tools that recover what was typed on a keyboard by analyzing the sound of keystrokes through a microphone, demonstrating an acoustic privacy attack with no camera or network required.

vibe map

mindmap
  root((kbd-audio))
    What it does
      Recover typed text from sound
      Acoustic eavesdropping demo
    Tools
      Keytap1 training-based
      Keytap2 stats-based
      Keytap3 fully automated
    Tech Stack
      C++ source
      SDL2 audio and display
    Use Cases
      Security research
      Privacy awareness
      Audio analysis

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Test whether your own typing can be recovered from a microphone recording using the online demo or local Keytap tools.

VIBE 2

Build a security research demo showing how acoustic eavesdropping attacks work without any training data.

VIBE 3

Record, visualize, and analyze keyboard audio waveforms to study the distinct sound profile of individual keys.

what's the stack?

C++SDL2

how it stacks up fr

ggerganov/kbd-audioprusa3d/prusaslicerolive-editor/olive
Stars9,0019,0109,023
LanguageC++C++C++
Setup difficultymoderateeasymoderate
Complexity3/52/53/5
Audienceresearchergeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · moderate time til it works · 1h+

Must compile from source using SDL2, build steps differ across Linux, macOS, and Windows.

No license information is provided in the project description.

in plain english

kbd-audio is a collection of command-line and graphical tools that demonstrate a privacy attack called acoustic keyboard eavesdropping: figuring out what was typed on a keyboard by listening to the sounds the key presses make through a microphone. The most prominent tool is called Keytap. In its first version, Keytap analyzes live microphone audio and attempts to identify which keys were pressed, based on the distinct sound profile each key makes. It works best with some training data first: recordings of the target keyboard through the same microphone, so the system learns what each key sounds like on that particular setup. A second version, Keytap2, removes the need for training data by combining audio analysis with statistical knowledge about the English language. It looks at how often certain letters appear and how letters tend to follow one another, then uses that structure to narrow down what was likely typed without any prior recording of the keyboard. The third version, Keytap3, builds on that approach with improved algorithms and more complete statistics about letter combinations. It is described as fully automated, meaning no manual adjustment is needed during the text recovery process. Online demos for all three versions are available, including a challenge page where you can test whether a recording of your own typing is recoverable. Beyond the Keytap tools, the repository includes utilities for recording audio during typing sessions, playing back recordings, visualizing audio waveforms, and detecting individual key presses. The tools are written in C++ using SDL2 for audio capture and window rendering. They can be compiled from source on Linux, macOS, and Windows. The project is from Georgi Gerganov, who is also known for other open-source projects in audio and machine learning.

prompts (copy fr)

prompt 1
Using kbd-audio's Keytap2, write a Python script that reads a WAV file of keyboard audio and prints the statistically recovered text.
prompt 2
Help me compile kbd-audio on macOS with SDL2 and run Keytap3 on a sample recording to recover typed text.
prompt 3
Explain how Keytap2 uses English letter frequency and bigram statistics to identify typed keys without any training recordings.
prompt 4
Write a bash script that captures 30 seconds of microphone audio and pipes it into kbd-audio's keytap tool for live key detection.
prompt 5
Show me how to use kbd-audio's waveform visualization tool to compare the audio signatures of two different keys.

Frequently asked questions

what is kbd-audio fr?

A collection of C++ tools that recover what was typed on a keyboard by analyzing the sound of keystrokes through a microphone, demonstrating an acoustic privacy attack with no camera or network required.

What language is kbd-audio written in?

Mainly C++. The stack also includes C++, SDL2.

What license does kbd-audio use?

No license information is provided in the project description.

How hard is kbd-audio to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is kbd-audio for?

Mainly researcher.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.