cjm-transcription-plugin-whisper

OpenAI Whisper plugin for the cjm-transcription-plugin-system library - provides local speech-to-text transcription with configurable model selection and parameter control.

Install

pip install cjm_transcription_plugin_whisper

Project Structure

nbs/
└── plugin.ipynb # Plugin implementation for OpenAI Whisper transcription

Total: 1 notebook across 1 directory

Module Dependencies

graph LR
    plugin[plugin<br/>Whisper Plugin]

No cross-module dependencies detected.

CLI Reference

No CLI commands found in this project.

Module Overview

Detailed documentation for each module in the project:

Whisper Plugin (plugin.ipynb)

Plugin implementation for OpenAI Whisper transcription

Import

from cjm_transcription_plugin_whisper.plugin import (
    WhisperLocalPlugin
)

Classes

class WhisperLocalPlugin:
    def __init__(self):
        """Initialize the Whisper plugin with default configuration."""
        self.logger = logging.getLogger(f"{__name__}.{type(self).__name__}")
        self.config = {}
        self.model = None
        self.device = None
        self.model_dir = None
    
    @property
    def name(
        self
    ) -> str: # the plugin name identifier
    "OpenAI Whisper transcription plugin."
    
    def __init__(self):
            """Initialize the Whisper plugin with default configuration."""
            self.logger = logging.getLogger(f"{__name__}.{type(self).__name__}")
            self.config = {}
            self.model = None
            self.device = None
            self.model_dir = None
        
        @property
        def name(
            self
        ) -> str: # the plugin name identifier
        "Initialize the Whisper plugin with default configuration."
    
    def name(
            self
        ) -> str: # the plugin name identifier
        "Get the plugin name identifier."
    
    def version(
            self
        ) -> str: # the plugin version string
        "Get the plugin version string."
    
    def supported_formats(
            self
        ) -> List[str]: # list of supported audio file formats
        "Get the list of supported audio file formats."
    
    def get_config_schema(
        ) -> Dict[str, Any]: # the configuration schema dictionary
        "Return configuration schema for Whisper."
    
    def get_current_config(
            self
        ) -> Dict[str, Any]: # the current configuration dictionary
        "Return current configuration."
    
    def initialize(
            self,
            config: Optional[Dict[str, Any]] = None # configuration dictionary to initialize the plugin
        ) -> None
        "Initialize the plugin with configuration."
    
    def execute(
            self,
            audio: Union[AudioData, str, Path], # audio data or path to audio file to transcribe
            **kwargs # additional arguments to override config
        ) -> TranscriptionResult: # transcription result with text and metadata
        "Transcribe audio using Whisper."
    
    def is_available(
            self
        ) -> bool: # True if Whisper and its dependencies are available
        "Check if Whisper is available."
    
    def cleanup(
            self
        ) -> None
        "Clean up resources."