gitwtfhub

wtf is steno?

lunat1q/steno — explained in plain English

Analysis updated 2026-05-18

1C#Audience · generalComplexity · 3/5Setup · easy

TL;DR

A local, privacy-first Windows app that transcribes calls in real time with exact per-speaker labels, plus a companion dictation tool, both running on whisper.cpp.

Mindmap

mindmap
  root((repo))
    What it does
      Live call transcription
      Exact per speaker labels
      Runs fully local
    Tech stack
      C#
      whisper.cpp
      Avalonia
    Use cases
      Transcribe calls live
      Dictate into any app
      Record for later transcription
    Audience
      Remote workers
      General users

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

Why would anyone build with this?

REASON 1

Get a live, accurately speaker-labeled transcript of a Teams, Zoom, or Discord call without any audio leaving your machine.

REASON 2

Dictate text directly into any app, like email or code comments, using the companion Steno Dictate tool.

REASON 3

Record a call for later transcription on machines too slow for real-time speech recognition.

What's in the stack?

C#whisper.cpp.NETAvalonia

How it stacks up

lunat1q/stenoanton-petrov/rsabackdoordarrelmiller/cowpi
Stars111
LanguageC#C#C#
Last pushed2015-01-202017-10-31
MaintenanceDormantDormant
Setup difficultyeasymoderatehard
Complexity3/53/51/5
Audiencegeneralresearchergeneral

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

How do you spin it up?

Difficulty · easy Time to first run · 5min

First run downloads a roughly 1.5GB speech model, a built-in speed test picks the best CPU or GPU mode for your machine.

Wtf does this do

Steno is a Windows app for live transcription of calls that keeps track of who said what without guessing. It runs entirely on your own machine using whisper.cpp for speech recognition, so no audio is sent anywhere else. While a call is happening it listens to two separate audio streams at once, your microphone and whatever sound the system is playing, labeling one as you and the other as the remote party. Because the two streams are captured separately rather than mixed together, the app never has to guess who is speaking, unlike tools that rely on a voice matching model to sort out different speakers. It works with any app that produces sound, including Teams, Zoom, Discord, Google Meet, or a browser, since it captures system audio directly rather than plugging into each app individually. A related smaller app called Steno Dictate uses the same underlying engine but for a different purpose: you speak, and the words get typed directly into whatever program you have selected, correcting itself in place as you talk rather than waiting until you finish a sentence. Installing either app does not require administrator rights or a separate .NET installation, since everything needed is bundled together, and the two apps share the same core libraries so installing both barely costs any extra space. On first launch, the app downloads its speech recognition model, with a medium sized option around 1.5 gigabytes, and offers a smaller, faster model for weaker machines. The app also includes a built in speed test that measures how quickly your own hardware can transcribe a sample sentence and picks the best available option automatically, since integrated graphics chips can sometimes perform worse than the processor itself. Speed varies a lot depending on hardware. On a discrete graphics card the app can show a word appearing about seven tenths of a second after it is spoken, while the same task on a sixteen core processor with no graphics acceleration can take around eleven seconds per phrase, and the app tells you which mode is running at all times. During a call, two level meters and matching colors for each speaker make it easy to notice a muted microphone or misrouted audio, and there is a setting to reduce your microphone picking up the other person's voice through your speakers, though the README notes this is only a rough fix, not true cancellation.

Yoink these prompts

Prompt 1
Explain how Steno tells apart my microphone audio from the remote party's audio without a diarization model.
Prompt 2
Help me choose between the Fast and Balanced whisper.cpp models based on my machine's speed test result.
Prompt 3
Show me how Steno Dictate types corrected text into an app as I speak, like Windows Voice Typing.

Frequently asked questions

wtf is steno?

A local, privacy-first Windows app that transcribes calls in real time with exact per-speaker labels, plus a companion dictation tool, both running on whisper.cpp.

What language is steno written in?

Mainly C#. The stack also includes C#, whisper.cpp, .NET.

How hard is steno to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is steno for?

Mainly general.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.