๐Ÿ–‹๏ธ

Kalam เค•เคฒเคฎ

Speech-to-text for macOS, built for Hindi + English.
Private by default, fast, and free.

โฌ‡๏ธ Download for Mac macOS 14.0+ • Apple Silicon
Kalam menu-bar popover ready to transcribe with an audio-file button and drag-to-transcribe instruction
One shortcut away, from any app.

How It Works

Hold Cmd+Shift+Space
โ†’
Speak Hindi, English, or both
โ†’
Release
โ†’
Text appears at cursor

Prefer toggling? Tap the hotkey to start, tap again to stop. A floating indicator shows elapsed time while you record.

A Complete Dictation Loop

Speak, review the result, and find it again later without leaving the menu bar.

Kalam showing a completed transcript with private text blurred
Review and copy Your latest transcript stays ready to copy while you begin the next recording.
Kalam searchable transcription history with private text blurred
Search local history Find an earlier recording by phrase and check its date and duration.

Transcript content is intentionally blurred in these public screenshots.

Features

๐Ÿ‡ฎ๐Ÿ‡ณ

22 Indian Languages + English

Optional Sarvam AI engine (Saaras v3) covers Hindi, Tamil, Telugu, Bengali, Marathi, and 17 more โ€” including code-mixed Hinglish. Local Whisper Large Turbo covers offline use.

๐Ÿ”’

Private by Default

The default local engine keeps your voice on your Mac. The cloud engine is opt-in and clearly labeled.

โŒจ๏ธ

Tap or Hold

Tap Cmd+Shift+Space to toggle, or hold it like a walkie-talkie. Works from any app.

๐ŸŽฏ

Auto-Insert

Text appears at your cursor and copies to clipboard. Auto-stops after silence so nothing runs away.

๐Ÿ“–

Personal Dictionary

Teach it names, acronyms, and course codes once โ€” every transcript comes out right.

๐Ÿ’พ

History & Files

Drop WAV, MP3, M4A, AAC, AIFF, CAF, FLAC, Ogg/Opus, MP4, or QuickTime files onto the menu bar icon. Kalam extracts the audio, uses your selected engine, copies the result, and saves it in searchable History.

Set Up Kalam Once

Choose how Kalam transcribes, keep a local fallback ready, and make the shortcut available whenever you need it.

Kalam settings with Sarvam AI selected as the transcription engine
1Choose your engine

Stay offline with local Whisper, or add a Sarvam API key for stronger Hindi and Hinglish transcription.

Kalam settings for downloading and selecting local Whisper models
2Download a local model

Use Base for compact English dictation or Large Turbo for multilingual local use and cloud fallback.

Kalam general settings for launch at login and the global hotkey
3Keep Kalam ready

Start Kalam at login and leave the global hotkey enabled for dictation from any app.

Kalam personal dictionary settings and app information
4Teach it your vocabulary

Add names, acronyms, and specialist terms once so future transcripts use the right spelling.

Quick Install

Run this in Terminal:

curl -sL https://raw.githubusercontent.com/harshvardhaniimi/kalam/main/install.sh | bash

Run the same command again to update to the latest release. Your settings, models, and History are preserved.

After the first installation, right-click the app in Applications โ†’ "Open" once.

Manual Install

  1. Download Kalam.zip and extract it
  2. Move Kalam.app to Applications
  3. Open Terminal and run: xattr -cr /Applications/Kalam.app
  4. Right-click the app โ†’ "Open"
Why the Terminal step? macOS quarantines downloaded apps. This removes the quarantine flagโ€”safe for open-source apps you trust.

Permissions Needed

Good news! The global hotkey (Cmd+Shift+Space) works without any special permissions, and you only grant Microphone/Accessibility once โ€” grants persist across app updates.
Dictating in Hindi? Get a free API key at dashboard.sarvam.ai, paste it in Settings โ†’ Transcription Engine, and pick Sarvam AI. Without a key, Kalam uses on-device Whisper โ€” download the Large Turbo model for usable Hindi.

Uninstall

To completely remove Kalam:

curl -sL https://raw.githubusercontent.com/harshvardhaniimi/kalam/main/uninstall.sh | bash

Feedback Welcome!

This app was entirely vibe coded with Claude Code.

Found a bug? Have a feature idea? Open an issue or submit a PR!