UNPKG

react-native-executorch

Version:

An easy way to run AI models in react native with ExecuTorch

52 lines 2.33 kB
import { MODES, STREAMING_ACTION } from '../constants/sttDefaults'; import { AvailableModels } from '../types/stt'; import { ResourceSource } from '../types/common'; import { SpeechToTextLanguage } from '../types/stt'; export declare class SpeechToTextController { private speechToTextNativeModule; sequence: number[]; isReady: boolean; isGenerating: boolean; private overlapSeconds; private windowSize; private chunks; private seqs; private prevSeq; private waveform; private numOfChunks; private streaming; private decodedTranscribeCallback; private modelDownloadProgressCallback; private isReadyCallback; private isGeneratingCallback; private onErrorCallback; private config; constructor({ transcribeCallback, modelDownloadProgressCallback, isReadyCallback, isGeneratingCallback, onErrorCallback, overlapSeconds, windowSize, streamingConfig, }: { transcribeCallback: (sequence: string) => void; modelDownloadProgressCallback?: (downloadProgress: number) => void; isReadyCallback?: (isReady: boolean) => void; isGeneratingCallback?: (isGenerating: boolean) => void; onErrorCallback?: (error: Error | undefined) => void; overlapSeconds?: number; windowSize?: number; streamingConfig?: keyof typeof MODES; }); loadModel(modelName: AvailableModels, encoderSource?: ResourceSource, decoderSource?: ResourceSource, tokenizerSource?: ResourceSource): Promise<void>; configureStreaming(overlapSeconds?: number, windowSize?: number, streamingConfig?: keyof typeof MODES): void; private chunkWaveform; private resetState; private expectedChunkLength; private getStartingTokenIds; private decodeChunk; private handleOverlaps; private trimLeft; private trimRight; private trimSequences; private validateAndFixLastChunk; private tokenIdsToText; transcribe(waveform: number[], audioLanguage?: SpeechToTextLanguage): Promise<string>; streamingTranscribe(streamAction: STREAMING_ACTION, waveform?: number[], audioLanguage?: SpeechToTextLanguage): Promise<string>; encode(waveform: number[]): Promise<number[]>; decode(seq: number[], encodings?: number[]): Promise<number>; } //# sourceMappingURL=SpeechToTextController.d.ts.map