Local speech-to-text that runs entirely on your Mac. No cloud, no API keys, no latency.
Uses whisper.cpp with Metal GPU acceleration for fast transcription.
- Always listening - Auto-detects when you start/stop speaking
- Never misses speech - Concurrent architecture transcribes while still listening
- Transcribe audio files - Drag-and-drop a file onto the window, press
Ffor a file picker, or runseashell file.mp3β wav, mp3, ogg, flac and more (auto-converted) - 30-second chunking - Long recordings are automatically split for faster transcription
- Pause/resume - Space to pause, transcribes captured audio before pausing
- Copy to clipboard - Press C to copy transcript
- GPU accelerated - Uses Apple Metal for fast inference
- macOS (Apple Silicon recommended)
- Bun - JavaScript runtime
- sox - Audio recording (
brew install sox) - cmake - For building whisper.cpp (
brew install cmake) - git - For cloning whisper.cpp
# Clone the repo
git clone https://github.com/stupart/seashell.git
cd seashell
# Run the installer
chmod +x install.sh
./install.shThe installer will:
- Build whisper.cpp with Metal support
- Download the Whisper large-v3-turbo model (547MB)
- Download the Silero VAD model
- Install dependencies
- Create global
seashellcommand
seashell| Key | Action |
|---|---|
Space |
Pause/Resume |
F |
Transcribe an audio file (opens a file picker) |
C |
Copy transcript to clipboard |
Delete |
Clear transcript |
Q or Esc |
Quit |
Got an existing recording? seashell transcribes files too β no mic required:
seashell interview.m4a # prints the transcript to stdout
seashell voicmemo.mp3 meeting.wav # transcribe several, in orderSupported out of the box: wav, mp3, ogg, flac β anything else is auto-converted via afconvert first. Because it writes to stdout, it pipes: seashell talk.mp3 > talk.txt.
Or do it live from inside the TUI: drag an audio file from Finder onto the window (its path pastes in and transcribes), or press F for a native file picker. The mic pauses while the file transcribes, shows progress, and resumes listening when it's done.
- sox listens for voice activity (1.5% threshold)
- When speech is detected, recording begins
- After 2 seconds of silence (or 30 seconds max), recording stops
- whisper.cpp transcribes the audio using GPU
- A new listener starts immediately (concurrent with transcription)
- Transcribed text appears in the terminal
- Whisper large-v3-turbo-q5_0 - Main transcription model (547MB, quantized)
- Silero VAD v6.2.0 - Voice activity detection
MIT
Sea Shell is the local-first STT engine behind conch, a hands-free voice loop for Claude Code.
A small open experiment from Blueprint Studio β we build AI products that feel good to use.
