Skip to content
h3x-leviPublic

About

Utter-Whisper

Resources

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

93 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Utter app icon: seven red, gold and blue bars on black tape

Utter

Voice dictation for the Mac that never leaves the Mac.

Hold a key, say it, let go. Your words appear wherever the cursor is.
The speech model runs on your Mac, so it works offline, with no account and no subscription.

Download Utter 1.2.0 for Mac   Utter Live Website

macOS 14 or later · Apple silicon and Intel · 192 MB, speech model included · All releases · Official Website

Website License: Apache 2.0 Runs on-device Contributions welcome


🎬 Watch the Utter promo video (16:9 Landscape)


Utter's Library: today as a cassette tape with Side A and Side B tracklists and running times, and the open track on the right with Paste again, Copy and Delete

How it works

  1. Hold fn in any app: Mail, Slack, Notes, Xcode, a terminal, a browser.
  2. Talk. The pill at the bottom of the screen turns red and shows it's listening.
  3. Let go. Utter turns your speech into text on your Mac and types it at the cursor.

Double-tap fn to keep listening hands-free, and press Esc to cancel.

The pill's six looks: a small red, gold and navy stripe at rest, red with white bars while listening, hands-free with a lock, thinking, navy with a tick once typed, and gold when something needs you

At rest the pill is a 32 by 6 point stripe. It only grows while you talk.

If no text box was selected when you finished, your words wait in the island, so nothing you said is lost. Copy them, or save them as a note.

The island: 'No text box selected, so your words are here', the transcript, Copy and Save as note buttons, and an Esc to close hint


Local-first by design

Utter was built to keep your voice on your Mac. This is how the code behaves out of the box:

Where speech becomes text In the Utter process on your Mac, with whisper.cpp (or the optional Whistle engine). Audio is never uploaded.
When it goes online Only when you choose to download another speech model. The model that ships in the app works with Wi-Fi off.
Accounts and tracking None. No sign-in, no analytics, no telemetry.
Where your data lives Plain JSON files in ~/Library/Application Support/Utter, a folder only your user account can read. Delete it and everything is gone.
Cost Free and open source under Apache 2.0.

Read PRIVACY.md for the details.


What's inside

The menu bar: today's tape, one click away

Click the Utter icon in the menu bar to see today's tracks, newest first.

  • ↩ types a track again into the app you were just in.
  • ⌘C copies it, and ⌘O opens it in the Library.
  • Search looks through every day, note and meeting.
  • Start hands-free, a new note or a meeting recording from the keys underneath.

The red stripe across the top fills up as you talk toward your daily word goal.

The menu-bar hub: a red 'Ready, hold fn' stripe with today's word count, a search line, today's tracks with running times, and Hands-free, New note and Record meeting keys

Library: every dictation, note and meeting

Each day is a tape. Morning tracks go on Side A and the afternoon and evening on Side B, each with its running time. Pick a track and it opens on the right, where you can paste it again, copy it, turn it into a note or delete it. Deleting can be undone.

Dictate straight into a note with ⌃⌥N. When a Zoom, Teams, FaceTime, Webex, Slack or Discord call starts, Utter can offer to transcribe it. It records your microphone and the call audio and labels the two sides You and Others, all on your Mac.

Words: teach it your vocabulary

  • Dictionary: names and terms Utter should always spell your way, such as colleagues, products and jargon. When Utter hears a new name, it offers to add it.
  • Snippets: say a short phrase and it expands into longer text, with [date], [time], [day] and [clipboard] filled in when it expands.
  • Voice commands: select text in any app and say what to do with it ("make this shorter", "fix the punctuation"). On Macs with Apple Intelligence these run on the on-device model.

Companion: a small friend beside the pill

An optional robot that floats near the pill, listens along with you, and sleeps when you're idle. It can remind you to stretch, drink water or take a break, and keep private reminders you speak with ⌃⌥R. It goes quiet by itself while you share your screen or record a meeting. Turn it on in Settings → Companion.

Settings, Companion tab: the robot preview, show beside the pill, size, head shape, quiet mode and reminders

Two speech engines

Engine Best for Size
Accurate (Whisper small.en, included) Everyday dictation with the best results 190 MB
Fast (Whistle, included) Text that appears instantly; Apple silicon on macOS 26 17 MB

In Settings → Speech you can switch engines, or download larger Whisper models, including multilingual ones.

Settings window with General, Speech, Shortcuts, Companion and Privacy tabs, under a red Daily tape stripe

Made for macOS

Utter is a native Swift app, designed like a cassette J-card: white ruled card, navy ink, and a red stripe for today's tape. In Dark mode it becomes chrome tape. It lives in the menu bar and stays out of the Dock unless you ask for it there.


Keyboard shortcuts

Anywhere

Shortcut What it does
Hold fn (or Right ⌥, Right ⌘, Right ⌃) Dictate into the app you're using
Double-tap fn, or ⌃⌥Space Hands-free: keep listening until you stop
⌃⌥N Dictate into a new Utter note
⌃⌥R Tell your companion a private reminder
⌃⌥U Open the Library
Esc Cancel

You can change the dictation key in Settings → Shortcuts.

In the menu-bar hub

Shortcut What it does
↑ ↓ Choose a track
↩ Type it again into the app you were in (opens a meeting instead)
⌘C Copy it
⌘O Open it in the Library
⌘N New note
⌘, Settings

In the Library

Shortcut What it does
↑ ↓ Choose a track
↩ Paste a dictation again
⌘C Copy the track
⌫ or ⌘⌫ Delete the track
⌘Z Undo the delete
⌘N New note
⌘F Search
⌘1 to ⌘4 Everything, Dictations, Notes, Meetings
⌘5 Words

Install

  1. Download Utter-1.2.0.dmg and open it.
  2. Drag Utter into Applications.
  3. Open Utter. Setup asks for two permissions:
    • Microphone, to hear you.
    • Accessibility, to notice the fn key and type into other apps.

First-run setup, step 1 of 3: 'Talk instead of typing', with an fn key beside the red listening pill

Note

Utter is signed but not notarized, because notarization needs a paid Apple developer account. The first time you open a downloaded copy, macOS says it can't verify the app. Go to System Settings → Privacy & Security and click Open Anyway. Installing on another Mac has the details.


Build it yourself

You need macOS 26 with Xcode 26 or its Command Line Tools, because the app uses the macOS 26 SDK. The app itself runs on macOS 14 and later.

git clone https://github.com/h3x-levi/Utter.git
cd Utter
swift build                                  # compile
swift test                                   # run the test suite
bash scripts/build-app.sh --no-dmg           # make build/Utter.app
bash scripts/build-app.sh --version=1.2.0    # make build/Utter-1.2.0.dmg too

To try a build without touching your own notes and history, point it at a throwaway folder:

open --env UTTER_DATA_DIR=/tmp/utter-dev build/Utter.app --args --open-window

Contributing

Utter is a community project and contributions are welcome, whether code, design, bug reports or docs.

  • Found a bug? Open an issue. Include your macOS version, Mac model and microphone. Settings → General → Report an Issue fills most of this in for you.
  • Want to build something? Open an issue first for anything large so we can agree on the shape, then send a pull request.
  • Before you start, read CONTRIBUTING.md. Above all, never log or upload audio, transcripts or anything the user typed.

How the code is laid out:

Folder What lives there
Sources/UtterCore Audio, speech engines, storage, the dictation pipeline. No UI.
Sources/UtterKit Every window and view: pill, island, menu-bar hub, Library, Words, Settings and the companion.
Sources/Utter The app's entry point.
Tests/UtterKitTests The test suite. UTTER_SCREEN_SNAPSHOTS=1 swift test also renders every screen to .build/screen-snapshots/.

Credits

  • whisper.cpp (MIT) for the Accurate engine.
  • Whistle by Cactus Compute (Apache 2.0) for the Fast engine.
  • The companion robot is a native port of a design by CX-ArtLab (MIT).

Full notices are in THIRD_PARTY_NOTICES.md.

License

Apache License 2.0. See LICENSE.

About

Utter-Whisper

Resources

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages