transcribe_voice
Transcribe audio files or live microphone recordings locally using faster-whisper. Optionally capture the result as an idea, journal entry, or note.
Instructions
Transcribe an audio file or live mic recording and optionally capture the result.
Uses faster-whisper locally — entirely offline, no API calls, no data leaves
your machine. Supports MP3, WAV, M4A, OGG, FLAC, and most other audio formats.
Args:
audio_path: Path to an audio file to transcribe. Leave empty when using
record_seconds for live mic capture.
route_to: What to do with the transcript after transcription:
- "raw" → return the transcript text only (default)
- "idea" → capture as an idea with cross-pollination
- "journal" → add as a journal entry (mood + energy auto-extracted)
- "note" → append to today's voice-notes markdown file
record_seconds: Seconds to record from the microphone. Requires sounddevice
and numpy. Only used when audio_path is empty.
model_size: faster-whisper model size. Options: "tiny", "base", "small",
"medium", "large-v3". Defaults to METIS_WHISPER_MODEL env var,
or "base". Larger models are more accurate but slower to load.
Returns:
The transcript text and (if routed) confirmation of where it was saved.
Examples:
transcribe_voice(audio_path="/tmp/idea.m4a", route_to="idea")
transcribe_voice(audio_path="/tmp/reflection.mp3", route_to="journal")
transcribe_voice(audio_path="", record_seconds=30, route_to="idea")
transcribe_voice(audio_path="/tmp/note.wav", route_to="note")Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| audio_path | No | ||
| route_to | No | raw | |
| record_seconds | No | ||
| model_size | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |