voice-to-text-converter
Version:
A modern, lightweight Node.js package for speech-to-text conversion with support for multiple engines
73 lines • 1.98 kB
TypeScript
import { BaseSpeechRecognitionEngine } from './base-engine';
import { SpeechRecognitionConfig, SpeechRecognitionResult, AudioInputConfig } from '../types';
/**
* Vosk engine for offline speech recognition
*/
export declare class VoskEngine extends BaseSpeechRecognitionEngine {
private vosk;
private model;
private recognizer;
private modelPath;
constructor(modelPath?: string);
/**
* Check if Vosk is available
*/
isAvailable(): boolean;
/**
* Get supported languages based on available models
*/
getSupportedLanguages(): string[];
/**
* Initialize Vosk module and model
*/
private initializeVosk;
/**
* Start speech recognition
*/
start(audioConfig: AudioInputConfig, recognitionConfig?: SpeechRecognitionConfig): Promise<void>;
/**
* Start microphone recognition
*/
private startMicrophoneRecognition;
/**
* Process audio file
*/
private processAudioFile;
/**
* Process audio stream
*/
private processAudioStream;
/**
* Stop speech recognition
*/
stop(): Promise<void>;
/**
* Abort speech recognition
*/
abort(): Promise<void>;
/**
* Process audio file directly
*/
processFile(filePath: string, config?: SpeechRecognitionConfig): Promise<SpeechRecognitionResult[]>;
/**
* Process audio stream directly
*/
processStream(stream: NodeJS.ReadableStream, config?: SpeechRecognitionConfig): Promise<SpeechRecognitionResult[]>;
/**
* Clean up resources
*/
protected cleanup(): void;
/**
* Set model path
*/
setModelPath(modelPath: string): void;
/**
* Get current model path
*/
getModelPath(): string | null;
/**
* Download and setup Vosk model (helper method)
*/
static downloadModel(language: string, modelSize?: 'small' | 'large'): Promise<string>;
}
//# sourceMappingURL=vosk-engine.d.ts.map