UNPKG

react-native-executorch

Version:

An easy way to run AI models in React Native with ExecuTorch

37 lines (36 loc) 1.4 kB
import { SpeechToTextController } from '../../controllers/SpeechToTextController'; export class SpeechToTextModule { module; constructor({ transcribeCallback, overlapSeconds, windowSize, streamingConfig, } = {}) { this.module = new SpeechToTextController({ transcribeCallback: transcribeCallback || (() => { }), overlapSeconds, windowSize, streamingConfig, }); } async load(model, onDownloadProgressCallback = () => { }) { await this.module.load({ modelName: model.modelName, encoderSource: model.encoderSource, decoderSource: model.decoderSource, tokenizerSource: model.tokenizerSource, onDownloadProgressCallback, }); } configureStreaming(overlapSeconds, windowSize, streamingConfig) { this.module.configureStreaming(overlapSeconds, windowSize, streamingConfig); } async encode(waveform) { return await this.module.encode(waveform); } async decode(seq) { return await this.module.decode(seq); } async transcribe(waveform, audioLanguage) { return await this.module.transcribe(waveform, audioLanguage); } async streamingTranscribe(streamAction, waveform, audioLanguage) { return await this.module.streamingTranscribe(streamAction, waveform, audioLanguage); } }