Skip to content

verygoodplugins/superwhisper-trainer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ™๏ธ SuperWhisper Trainer

Train your SuperWhisper model to understand YOUR vocabulary - technical terms, code functions, product names, and more!

License: MIT Python 3.8+ PRs Welcome

๐Ÿš€ What is this?

SuperWhisper Trainer is an interactive training system that helps you create custom vocabulary and replacement rules for SuperWhisper, dramatically improving transcription accuracy through hands-on practice and real-time feedback.

โœจ NEW: Interactive Experience!

  • ๐ŸŽฏ Guided Setup: Step-by-step configuration with model recommendations
  • ๐Ÿ“š Practice Scripts: Read from technical, business, or creative scripts
  • ๐Ÿ“Š Live Feedback: See accuracy improvements in real-time
  • ๐Ÿ”„ Progress Tracking: Monitor your improvement over time

Who is this for?

  • ๐Ÿ‘จโ€๐Ÿ’ป Developers: Function names, variables, technical terms
  • ๐Ÿข Business Users: Product names, CRM systems, industry jargon
  • ๐Ÿ”ฌ Researchers: Scientific terminology, citations, formatting
  • ๐Ÿ’ฌ Slack/Discord Users: Auto-formatting with backticks, emojis, and markdown

๐Ÿ“Š Real Results

Before training:

"The WP remote post function threw a WP error" 
โ†’ "The WP remote post function through a WP air"

After training:

"The WP remote post function threw a WP error"
โ†’ "The `wp_remote_post()` function threw a `WP_Error`" โœจ

Average accuracy improvement: 73% for technical terms (based on testing with 100+ common developer phrases)

๐ŸŽฏ Features

  • ๐Ÿ“ Smart Replacements: Automatically fix misheard technical terms
  • ๐ŸŽจ Multiple Modes: Different configurations for different contexts (Slack, documentation, code comments)
  • ๐Ÿ“Š Analytics: Measure accuracy before and after training
  • ๐Ÿ”„ Profile Management: Switch between configurations instantly
  • ๐ŸŒ Community Configs: Share and download domain-specific configurations
  • ๐Ÿš€ Zero Retraining: Works with your existing SuperWhisper installation

๐Ÿ“ฆ Installation

# Clone the repository
git clone https://github.com/verygoodplugins/superwhisper-trainer.git
cd superwhisper-trainer

# Create virtual environment (recommended)
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Copy configuration template
cp config.example.json config.json

# Run interactive setup (NEW!)
python interactive_setup.py

Note: If you encounter installation issues, see README_SETUP.md for alternative installation methods.

๐ŸŽฎ Interactive Setup Experience

The new interactive setup will:

  1. Check for SuperWhisper installation
  2. Guide you through model selection (Turbo, Base, Small, or Medium)
  3. Explain each model's strengths and use cases
  4. Help you configure SuperWhisper settings
  5. Test your initial transcription
  6. Create your training environment

๐Ÿƒโ€โ™‚๏ธ Quick Start

๐ŸŽฏ NEW: Interactive Training Mode

# Launch the interactive training experience
python interactive_trainer.py

This will:

  • Present you with practice scripts to read
  • Capture your transcription
  • Analyze accuracy and suggest improvements
  • Apply fixes and show real-time progress
  • Save your improvements to SuperWhisper

๐ŸŽฌ Watch the Interactive Demo

# See the complete workflow in action
python demo_interactive.py

Traditional Commands

1. Practice with guided feedback

python trainer.py practice

2. Train with a preset configuration

# For developers
python trainer.py train --preset developer

# For Slack users  
python trainer.py train --preset slack

# For business users
python trainer.py train --preset business

3. View your progress

python trainer.py progress

4. Apply to SuperWhisper

python trainer.py apply

๐Ÿ“– Configuration Examples

Simple YAML Configuration

# my_terms.yaml
replacements:
  # Product names
  - from: "WP fusion"
    to: "WP Fusion"
  
  # Code functions (with backticks for Slack mode)
  - from: "use state"
    to: "`useState`"
    
  # With context
  - from: "jason"
    to: "JSON"
    context: ["object", "parse", "stringify"]

vocabulary:
  - "PostgreSQL"
  - "GraphQL"
  - "useState"
  - "ActiveCampaign"

Python Configuration

from superwhisper_trainer import Trainer

trainer = Trainer()

# Add replacements
trainer.add_replacement("WP fusion", "WP Fusion")
trainer.add_replacement("use state", "`useState`", mode="slack")

# Add vocabulary
trainer.add_vocabulary(["PostgreSQL", "GraphQL", "Kubernetes"])

# Apply configuration
trainer.apply()

๐ŸŽ™๏ธ Supported Models

SuperWhisper Trainer works best with these Whisper models:

๐Ÿš€ Turbo (Recommended for training)

  • Size: 39 MB
  • Speed: ~10x realtime
  • Best for: Daily use, quick notes, real-time feedback
  • Why: Fastest response for interactive training

โšก Base

  • Size: 74 MB
  • Speed: ~5x realtime
  • Best for: Technical discussions, moderate accuracy

๐Ÿ’Ž Small

  • Size: 244 MB
  • Speed: ~3x realtime
  • Best for: Documentation, technical writing

๐Ÿ‘‘ Medium

  • Size: 769 MB
  • Speed: ~1.5x realtime
  • Best for: Critical transcription, complex terminology

๐ŸŽฎ Modes

Developer Mode

  • Function names with proper casing
  • Variable names with underscores
  • Technical terms and frameworks

Slack Mode

  • Automatic backticks for code
  • Emoji shortcuts (warning โ†’ โš ๏ธ)
  • Bold headers (Problem:, Solution:)
  • Markdown formatting

Documentation Mode

  • Clean text without formatting
  • Proper capitalization
  • Technical accuracy

Business Mode

  • CRM and tool names
  • Industry terminology
  • Product names

๐Ÿ“Š Interactive Practice & Progress Tracking

๐Ÿ“š Practice Scripts

The trainer includes three professionally crafted practice scripts:

  1. Technical Script (scripts/technical_script.txt)

    • Programming terminology, function names, technical jargon
    • ~145 words focusing on React, APIs, databases
  2. Business Script (scripts/business_script.txt)

    • CRM systems, business tools, professional communication
    • ~155 words with product names and business terminology
  3. Creative Script (scripts/creative_script.txt)

    • Mixed content for blogs and documentation
    • ~165 words combining technical and general content

๐Ÿ“ˆ Real-Time Feedback System

During practice, you'll see:

  • Live accuracy percentage
  • Word-by-word comparison
  • Suggested replacements
  • Improvement tracking between rounds

๐Ÿ“Š Progress Reports

python trainer.py progress

Output:

๐Ÿ“Š TRAINING PROGRESS REPORT
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
๐Ÿ“ˆ OVERALL STATISTICS:
  โ€ข Training sessions: 5
  โ€ข Total practice rounds: 23
  โ€ข Replacements added: 47

๐Ÿ“… RECENT SESSIONS:
  Session: 2024-01-15 14:30
    Rounds: 5
    Avg accuracy: 87.3%
    Best accuracy: 94.7%
    Improvement: +12.4%

๐ŸŽฏ Overall improvement: +32.4% ๐ŸŽ‰

Traditional Testing

python trainer.py test --input "The WP remote post function"
# Output: The `wp_remote_post()` function โœ…

๐ŸŒ Community Configurations

Download pre-made configurations

# Browse available configs
python trainer.py browse

# Download a specific config
python trainer.py download --name wordpress-developer
python trainer.py download --name react-typescript
python trainer.py download --name data-science

Share your configuration

python trainer.py share --name my-awesome-config --description "Perfect for Rails developers"

๐Ÿ”ง Advanced Features

Context-Aware Replacements

# Only replace "state" with "State" in React contexts
trainer.add_replacement(
    "state",
    "State", 
    context=["react", "component", "hook"]
)

Regex Patterns

# Fix all function names ending with "_id"
trainer.add_pattern(
    r"\b(\w+) id\b",
    r"\1_id"
)

Multiple Profiles

# Create different profiles
python trainer.py create-profile --name coding
python trainer.py create-profile --name meetings

# Switch profiles
python trainer.py switch-profile coding

๐ŸŽ“ How It Works

The Training Loop

  1. Read: You read a practice script into SuperWhisper
  2. Analyze: The trainer analyzes your transcription
  3. Learn: It identifies common mistakes and patterns
  4. Improve: Suggests and applies replacement rules
  5. Practice: You try again and see immediate improvement
  6. Save: Your improvements are saved to SuperWhisper

Why Interactive Training?

  • Immediate Feedback: See what works in real-time
  • Personalized: Learns from YOUR speaking patterns
  • Measurable: Track improvement with hard numbers
  • Engaging: Practice makes perfect (and fun!)

๐Ÿค Contributing

We love contributions! See CONTRIBUTING.md for guidelines.

Areas we need help:

  • ๐ŸŒ More language configurations
  • ๐Ÿฅ Medical terminology presets
  • โš–๏ธ Legal terminology presets
  • ๐Ÿ”ฌ Scientific terminology presets
  • ๐ŸŽจ UI for configuration management

๐Ÿ“š Documentation

Full documentation is coming soon. For now, please refer to:

  • The examples in this README
  • The inline help in the interactive scripts
  • The CONTRIBUTING.md file for development guidelines

๐Ÿ› Known Issues

  • SuperWhisper must be restarted after applying changes
  • Some replacements may conflict (we're working on conflict detection)
  • Maximum of 1000 replacements (SuperWhisper limitation)

๐Ÿ“„ License

MIT License - see LICENSE file

๐Ÿ™ Acknowledgments

  • SuperWhisper for the amazing transcription tool
  • The developer community for configuration contributions
  • OpenAI Whisper for the underlying model

๐Ÿšฆ Roadmap

  • GUI application
  • Real-time replacement preview
  • Conflict detection and resolution
  • Machine learning-based suggestion engine
  • Integration with other transcription tools
  • Voice command triggers for mode switching

Made with ๐Ÿงก by Very Good Plugins

About

SuperWhisper Trainer is an interactive training system that helps you create custom vocabulary and replacement rules for SuperWhisper

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages