code-my-spec/ear_witness — explained in plain English
Analysis updated 2026-05-18
Transcribe meetings or calls locally without sending audio to any cloud service.
Keep a private, searchable text record of spoken conversations.
Add an audible recording notice so remote call participants know they are being recorded.
Experiment with local voice activity detection and speaker segmentation models.
| code-my-spec/ear_witness | douglascorrea/syscall-agent | gnif/porthole-guest-driver | |
|---|---|---|---|
| Stars | 2 | 2 | 2 |
| Language | C | C | C |
| Last pushed | — | — | 2019-11-12 |
| Maintenance | — | — | Dormant |
| Setup difficulty | hard | moderate | hard |
| Complexity | 4/5 | 4/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Needs specific Erlang and Elixir versions, a C++ compiler, npm, and a separate ~148MB speech model download not included in git.
EarWitness is a desktop app that listens to audio, writes down what is said, and tries to work out who said it, with everything processed entirely on your own computer. No audio is sent anywhere else. It is built with Elixir, a programming language, and a web style interface framework called LiveView, packaged as a native desktop app. The app works in stages. First, it captures raw audio from a microphone or, on Windows and Linux, directly from whatever your computer is playing. Next, it uses a voice detection model to split that audio into separate spoken parts and ignore silence. Then it transcribes those spoken parts into text using a local speech recognition tool called whisper.cpp, entirely on your machine rather than over the internet. Two further stages, detecting when the speaker changes and figuring out who each speaker actually is, are still being built. Finished transcripts are saved as plain text files in a folder inside your Documents. Because the app can record conversations, it includes three consent policies you choose in settings: recording silently with no notice, recording while showing an on screen notice, or recording while playing an audible notice into the call itself so that other people on a video call actually hear that recording has started. That audible notice requires installing a separate virtual microphone driver on macOS, which is not included automatically with the app and must be built and installed separately, without it, the announce option refuses to record rather than recording silently by mistake. Setting the project up requires specific versions of Erlang and Elixir, a C++ compiler, and npm, along with downloading a roughly 148 megabyte speech recognition model that is not stored in the repository itself. Once set up, running a single command opens the desktop recorder window, and recordings are deleted automatically once their transcript has been written.
A privacy focused desktop app that records audio, transcribes it locally with no data leaving your machine, and works toward identifying who said what.
Mainly C. The stack also includes Elixir, C, LiveView.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.