whisper-web-transcriber
Version:
Real-time audio transcription in the browser using OpenAI's Whisper model via WebAssembly
47 lines (46 loc) • 1.43 kB
TypeScript
export interface WhisperConfig {
modelUrl?: string;
modelSize?: 'tiny.en' | 'base.en' | 'tiny-en-q5_1' | 'base-en-q5_1';
sampleRate?: number;
audioIntervalMs?: number;
onTranscription?: (text: string) => void;
onProgress?: (progress: number) => void;
onStatus?: (status: string) => void;
debug?: boolean;
}
export declare class WhisperTranscriber {
private config;
private instance;
private mediaRecorder;
private audioContext;
private isRecording;
private audio;
private audio0;
private Module;
private modelLoaded;
private initPromise;
private static readonly MODEL_URLS;
private static readonly MODEL_SIZES;
constructor(config?: WhisperConfig);
private log;
private registerServiceWorkerIfNeeded;
/**
* Returns the COI service worker code that users need to save and serve from their domain
*/
getServiceWorkerCode(): string | null;
/**
* Helper to generate instructions for setting up Cross-Origin Isolation
*/
getCrossOriginIsolationInstructions(): string;
private getScriptBasePath;
private createWorkerFromURL;
private loadWasmModule;
private loadHelpers;
private loadCOIServiceWorker;
initialize(): Promise<void>;
loadModel(): Promise<void>;
startRecording(): Promise<void>;
private startTranscriptionPolling;
stopRecording(): void;
destroy(): void;
}