Remix.run Logo
Show HN: Looped Whisper (FOSS) – Voice transcription menubar app for macOS(github.com)
2 points by RatulMaharaj 12 hours ago | 2 comments

I built a free, open-source (MIT) macOS menu-bar app that runs Whisper models locally to assist with dictation. There is also the option to use an LLM (BYOK).

You hold a global hotkey, speak, and the text gets pasted at your cursor similar to other similar/popular apps.

Some details:

  - Transcription runs locally via WhisperKit (CoreML), so it works offline once the model is downloaded. BYO model — tiny through large-v3, auto-downloaded and cached. The base model has been working surprisingly well for me with gpt-5.4-mini as the transformation model.
  - Push-to-talk (hold) and start/stop toggle hotkeys, both configurable.
  - fn/Globe key supported.
  - Realtime mode for live captions as you speak.
  - Optional LLM cleanup to fix typos/punctuation — point it at Anthropic or any OpenAI-compatible endpoint, key stored in the macOS Keychain.
  - A vocabulary feature to bias recognition toward your names, jargon, and identifiers (handy for dictating code).
  - This works as a menu-bar agent, no Dock icon, optional launch at login.
I built this because I wanted local dictation that I could fully own and that handled dev jargon, without a subscription.

Superwhisper/Wispr Flow is a more polished and full-featured - this is just a hackable, open source version.

ipotapov 3 hours ago | parent [-]

Your use of Whisper models on-device for macOS aligns well with the goals of speech-swift (which I maintain), offering robust integration with CoreML for ASR and TTS. It could serve as an alternative with its native Swift async support on Apple Silicon. Explore more here: https://github.com/soniqo/speech-swift

RatulMaharaj 24 minutes ago | parent [-]

I just had a look at some of your youtube videos. It looks awesome, I will definitely take a look at using it. I've been thinking about how I can support other local models in the future - I think this would make a lot of sense for the ASR in my app. Do you have any realtime ASR examples of speech-swift that I could look at?