react-native-executorch
Version:
An easy way to run AI models in React Native with ExecuTorch
37 lines (36 loc) • 1.4 kB
JavaScript
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);
}
}