test
This commit is contained in:
@@ -0,0 +1,116 @@
|
|||||||
|
# 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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
2025-07-22 22:10:54.507 - RealTimeSTT: realtimestt - INFO - Starting RealTimeSTT
|
||||||
|
2025-07-22 22:10:54.520 - RealTimeSTT: realtimestt - INFO - Initializing audio recording (creating pyAudio input stream, sample rate: 16000 buffer size: 512
|
||||||
|
2025-07-22 22:10:54.523 - RealTimeSTT: realtimestt - INFO - Initializing faster_whisper realtime transcription model tiny, default device: cpu, compute type: default, device index: 0, download root: None
|
||||||
|
2025-07-22 22:10:55.181 - RealTimeSTT: realtimestt - DEBUG - Faster_whisper realtime speech to text transcription model initialized successfully
|
||||||
|
2025-07-22 22:10:55.181 - RealTimeSTT: realtimestt - ERROR - Wakeword engine unknown/unsupported or wake_words not specified. Please specify one of: pvporcupine, openwakeword.
|
||||||
|
NoneType: None
|
||||||
|
2025-07-22 22:10:55.181 - RealTimeSTT: realtimestt - INFO - Initializing WebRTC voice with Sensitivity 3
|
||||||
|
2025-07-22 22:10:55.181 - RealTimeSTT: realtimestt - DEBUG - WebRTC VAD voice activity detection engine initialized successfully
|
||||||
|
2025-07-22 22:10:55.838 - RealTimeSTT: realtimestt - DEBUG - Silero VAD voice activity detection engine initialized successfully
|
||||||
|
2025-07-22 22:10:55.838 - RealTimeSTT: realtimestt - DEBUG - Starting realtime worker
|
||||||
|
2025-07-22 22:10:55.838 - RealTimeSTT: realtimestt - DEBUG - Waiting for main transcription model to start
|
||||||
|
2025-07-22 22:11:01.946 - RealTimeSTT: realtimestt - DEBUG - Main transcription model ready
|
||||||
|
2025-07-22 22:11:01.946 - RealTimeSTT: realtimestt - DEBUG - RealtimeSTT initialization completed successfully
|
||||||
|
2025-07-22 22:11:01.946 - RealTimeSTT: realtimestt - INFO - Setting listen time
|
||||||
|
2025-07-22 22:11:01.946 - RealTimeSTT: realtimestt - INFO - State changed from 'inactive' to 'listening'
|
||||||
|
2025-07-22 22:11:01.947 - RealTimeSTT: realtimestt - DEBUG - Waiting for recording start
|
||||||
|
2025-07-22 22:11:01.981 - RealTimeSTT: realtimestt - INFO - State changed from 'listening' to 'wakeword'
|
||||||
Reference in New Issue
Block a user