react-native-executorch
Version:
An easy way to run AI models in react native with ExecuTorch
38 lines • 1.75 kB
TypeScript
import { ResourceSource } from '../types/common';
import { MODES } from '../constants/sttDefaults';
export declare class SpeechToTextController {
private nativeModule;
private overlapSeconds;
private windowSize;
private chunks;
sequence: number[];
isReady: boolean;
isGenerating: boolean;
private modelName;
private tokenMapping;
private decodedTranscribeCallback;
private modelDownloadProgessCallback;
private isReadyCallback;
private isGeneratingCallback;
private onErrorCallback;
private config;
constructor({ transcribeCallback, modelDownloadProgessCallback, isReadyCallback, isGeneratingCallback, onErrorCallback, overlapSeconds, windowSize, streamingConfig, }: {
transcribeCallback: (sequence: string) => void;
modelDownloadProgessCallback?: (downloadProgress: number) => void;
isReadyCallback?: (isReady: boolean) => void;
isGeneratingCallback?: (isGenerating: boolean) => void;
onErrorCallback?: (error: Error | undefined) => void;
overlapSeconds?: number;
windowSize?: number;
streamingConfig?: keyof typeof MODES;
});
private fetchTokenizer;
loadModel(modelName: 'moonshine' | 'whisper', encoderSource?: ResourceSource, decoderSource?: ResourceSource, tokenizerSource?: ResourceSource): Promise<void>;
configureStreaming(overlapSeconds?: number, windowSize?: number, streamingConfig?: keyof typeof MODES): void;
private chunkWaveform;
transcribe(waveform: number[]): Promise<string>;
decodeSeq(seq?: number[]): string;
encode(waveform: number[]): Promise<any>;
decode(seq: number[], encodings?: number[]): Promise<any>;
}
//# sourceMappingURL=SpeechToTextController.d.ts.map