@lichess-org/vosk-browser
Version:
Fork of ccoreilly's vosk-browser v0.0.8
43 lines (42 loc) • 1.84 kB
TypeScript
import { ModelMessage, RecognizerEvent, RecognizerMessage } from './vosk.interfaces';
export * from './vosk.interfaces';
export interface InitVoskOptions {
modelUrl: string;
workerUrl?: string;
wasmUrl?: string;
logLevel?: number;
}
export declare class VoskClient extends EventTarget {
private worker;
private isReady;
private messagePort;
private logger;
private recognizers;
constructor(opts: InitVoskOptions);
private postMessage;
private handleMessage;
on(event: ModelMessage['event'], listener: (message: ModelMessage) => void): void;
registerPort(port: MessagePort): void;
private forwardMessage;
get ready(): boolean;
terminate(): void;
setLogLevel(level: number): void;
registerRecognizer(recognizer: KaldiRecognizer): void;
unregisterRecognizer(recognizerId: string): void;
get KaldiRecognizer(): {
new (sampleRate: number, grammar?: string): {
id: string;
on(event: RecognizerEvent, listener: (message: RecognizerMessage) => void): void;
setWords(words: boolean): void;
acceptWaveform(buffer: AudioBuffer): void;
acceptWaveformFloat(buffer: Float32Array, sampleRate: number): void;
retrieveFinalResult(): void;
remove(): void;
addEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: AddEventListenerOptions | boolean): void;
dispatchEvent(event: Event): boolean;
removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void;
};
};
}
export type KaldiRecognizer = InstanceType<VoskClient['KaldiRecognizer']>;
export declare function createVoskClient(opts: InitVoskOptions): Promise<VoskClient>;