UNPKG

@lichess-org/vosk-browser

Version:
43 lines (42 loc) 1.84 kB
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>;