- SDL2 – used to capture audio and to open GUI windows libsdl
- FFTW3 – a number of the helper instruments carry out Fourier transformations fftw
Linux and Mac OS
git clone https://github.com/ggerganov/kbd-audio cd kbd-audio git submodule replace --init mkdir construct && cd construct cmake .. make
(todo, PRs welcome)
Record audio to a uncooked binary file on disk
Usage: ./document-full output.kbd
Playback a recording captured by way of the document-full software
Usage: ./play-full enter.kbd
Record audio solely whereas typing. Useful for gathering coaching information for keytap
Usage: ./document output.kbd
Playback a recording created by way of the document software
Usage: ./play enter.kbd
Detect pressed keys by way of microphone audio seize in actual-time. Uses coaching information captured by way of the document software.
Usage: ./keytap-gui input0.kbd [input1.kbd] [input2.kbd] …
Live demo (WebAssembly threads required)
keytap2 (work in progress)
Detect pressed keys by way of microphone audio seize. Uses statistical data (n-gram frequencies) concerning the language. No coaching information is required. The ‘recording.kbd’ enter file must be generated by way of the document-full software and comprises the audio information that will probably be analyzed. The ‘n-gram.txt’ file has to include n-gram possibilities for the corresponding language.
Usage: ./keytap2-gui recording.kbd n-gram.txt
Any suggestions concerning the efficiency of the instruments is very appreciated. Please drop a remark here.