Whisper Plugin

Plugin implementation for OpenAI Whisper transcription

source

WhisperLocalPlugin

 WhisperLocalPlugin ()

OpenAI Whisper transcription plugin.

Testing the Plugin

# Test basic functionality
plugin = WhisperLocalPlugin()

# Check availability
print(f"Whisper available: {plugin.is_available()}")
print(f"Plugin name: {plugin.name}")
print(f"Plugin version: {plugin.version}")
print(f"Supported formats: {plugin.supported_formats}")
Whisper available: True
Plugin name: whisper_local
Plugin version: 1.0.0
Supported formats: ['wav', 'mp3', 'flac', 'm4a', 'ogg', 'webm', 'mp4', 'avi', 'mov']
# Test configuration schema
schema = plugin.get_config_schema()
print("Available models:")
for model in schema["properties"]["model"]["enum"]:
    print(f"  - {model}")
Available models:
  - tiny
  - tiny.en
  - base
  - base.en
  - small
  - small.en
  - medium
  - medium.en
  - large
  - large-v1
  - large-v2
  - large-v3
# Test configuration validation
test_configs = [
    ({"model": "tiny"}, "Valid config"),
    ({"model": "invalid"}, "Invalid model"),
    ({"temperature": 1.5}, "Temperature out of range"),
]

for config, description in test_configs:
    is_valid, error = plugin.validate_config(config)
    print(f"{description}: Valid={is_valid}")
    if error:
        print(f"  Error: {error[:100]}")
Valid config: Valid=True
Invalid model: Valid=False
  Error: 'invalid' is not one of ['tiny', 'tiny.en', 'base', 'base.en', 'small', 'small.en', 'medium', 'mediu
Temperature out of range: Valid=False
  Error: 'model' is a required property

Failed validating 'required' in schema:
    {'$schema': 'http://json
# Test initialization
plugin.initialize({"model": "tiny", "device": "cpu"})
print(f"Current config: {plugin.get_current_config()['model']}")
Current config: tiny