macOS menu bar app that records audio with a global hotkey, transcribes it locally using MLX Whisper, and sends the text to a Telegram bot.
- macOS 14+
- Swift 5.10+
- Python 3 with
mlx-whisperinstalled (pip install mlx-whisper) - A Telegram bot (via BotFather)
- Telegram desktop app
-
Clone and build:
git clone https://github.com/<you>/whisper-telegram.git cd whisper-telegram swift build -c release -
Create the config:
mkdir -p ~/.config/whisper-telegram cp config.template.json ~/.config/whisper-telegram/config.json -
Edit
~/.config/whisper-telegram/config.json:telegramBotUsername— your bot's username (without@)whisperModel— Hugging Face model ID (default works well on Apple Silicon)language— ISO 639-1 language codepython3Path— path to python3 withmlx-whisperavailable
-
Run:
.build/release/WhisperTelegram -
Grant microphone and accessibility (System Events) permissions when prompted.
Press Control+T to start recording. Press Control+T again to stop — the audio is transcribed and sent to your Telegram bot chat automatically.
The menu bar icon shows the current state: mic (idle), red mic (recording), arrow (transcribing).