Files
tooling/STT_STATUSBAR_USAGE.md
dingfeng.wong 0ad663c835 test
2025-07-22 22:11:37 +08:00

3.5 KiB

STT Status Bar App Usage

Overview

The STT (Speech-to-Text) status bar app provides a convenient macOS menu bar interface for controlling speech-to-text functionality using wake word activation.

Features

  • Start/Stop/Pause/Resume: Full control over STT recording
  • Status Indicators: Visual status in menu bar (🎙️🔴 recording, 🎙️⏸️ paused, 🎙️ stopped)
  • Configurable Settings: Change wake words and models on the fly
  • File Output: Save transcriptions to a file
  • Notifications: Real-time notifications for transcriptions and status changes

Usage

Starting the Status Bar App

# Launch the status bar app
tooling stt statusbar

# Or using the full CLI path
python -m tooling.cli stt statusbar

Menu Options

Main Controls

  • Start STT: Begin speech-to-text with current settings
  • Stop STT: Stop speech-to-text completely
  • Pause: Temporarily pause recognition (keeps recorder alive)
  • Resume: Resume recognition from pause

Settings

  • Wake Word: Choose from predefined options:

    • jarvis (default)
    • alexa
    • hey google
    • hey siri
    • computer
  • Model: Select Whisper model:

    • tiny (fastest, least accurate)
    • base (default, good balance)
    • small (more accurate)
    • medium (most accurate, slower)

File Management

  • Show Recent Transcriptions: Display last 10 transcription entries
  • Save to File...: Set output file for saving transcriptions

Status Indicators

Icon Status Description
🎙️ Stopped STT is not running
🎙️🔴 Recording STT is active and listening
🎙️⏸️ Paused STT is paused but can be resumed

Workflow Example

  1. Launch the app: tooling stt statusbar
  2. Look for the 🎙️ icon in your macOS menu bar
  3. Click the icon to open the menu
  4. Set your preferences:
    • Choose wake word from Settings > Wake Word
    • Select model from Settings > Model
    • Optionally set output file with "Save to File..."
  5. Click "Start STT" to begin
  6. Say your wake word (e.g., "jarvis") to trigger recording
  7. Speak clearly after the wake word is detected
  8. Get notifications with your transcribed text
  9. Use Pause/Resume as needed
  10. Click "Stop STT" when done

Notifications

The app provides notifications for:

  • STT started/stopped/paused/resumed
  • Transcribed speech (shows first 100 characters)
  • Settings changes (when STT is running)
  • File operations

File Output

When you set an output file:

  • Transcriptions are saved with timestamps
  • Sessions are marked with start/end timestamps
  • File is automatically created in ~/Documents/ by default
  • Each transcription includes: [HH:MM:SS] transcribed text

Requirements

  • macOS (rumps requires macOS and PyObjC)
  • RealtimeSTT library
  • Working microphone
  • Python 3.11+

Troubleshooting

  • No menu bar icon: Make sure you're running on macOS and rumps is installed
  • No transcriptions: Check microphone permissions and try speaking louder
  • Wake word not detected: Try adjusting sensitivity or use a different wake word
  • High CPU usage: Consider using the "tiny" model for better performance

Advanced Configuration

The status bar app uses sensible defaults, but you can modify the underlying configuration by editing the STTStatusBarApp class in src/tooling/stt_cli.py.

Default settings:

  • Wake word: "jarvis"
  • Model: "base"
  • Sensitivity: 0.6
  • Device: auto-detect (CUDA if available, otherwise CPU)
  • Realtime display: enabled