react-native-executorch 0.5.10 → 0.5.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/hooks/natural_language_processing/useSpeechToText.js +2 -2
- package/lib/module/hooks/natural_language_processing/useSpeechToText.js.map +1 -1
- package/lib/typescript/hooks/natural_language_processing/useSpeechToText.d.ts +3 -3
- package/lib/typescript/hooks/natural_language_processing/useSpeechToText.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/hooks/natural_language_processing/useSpeechToText.ts +23 -18
|
@@ -43,7 +43,7 @@ export const useSpeechToText = ({
|
|
|
43
43
|
setIsGenerating(false);
|
|
44
44
|
}
|
|
45
45
|
}, [isReady, isGenerating, modelInstance]);
|
|
46
|
-
const stream = useCallback(async
|
|
46
|
+
const stream = useCallback(async options => {
|
|
47
47
|
if (!isReady) throw new Error(getError(ETError.ModuleNotLoaded));
|
|
48
48
|
if (isGenerating) throw new Error(getError(ETError.ModelGenerating));
|
|
49
49
|
setIsGenerating(true);
|
|
@@ -54,7 +54,7 @@ export const useSpeechToText = ({
|
|
|
54
54
|
for await (const {
|
|
55
55
|
committed,
|
|
56
56
|
nonCommitted
|
|
57
|
-
} of modelInstance.stream()) {
|
|
57
|
+
} of modelInstance.stream(options)) {
|
|
58
58
|
setCommittedTranscription(prev => prev + committed);
|
|
59
59
|
setNonCommittedTranscription(nonCommitted);
|
|
60
60
|
transcription += committed;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useCallback","useState","ETError","getError","SpeechToTextModule","useSpeechToText","model","preventLoad","error","setError","isReady","setIsReady","isGenerating","setIsGenerating","downloadProgress","setDownloadProgress","modelInstance","committedTranscription","setCommittedTranscription","nonCommittedTranscription","setNonCommittedTranscription","load","isMultilingual","encoderSource","decoderSource","tokenizerSource","err","message","stateWrapper","fn","args","Error","ModuleNotLoaded","ModelGenerating","apply","stream","transcription","committed","nonCommitted","prev","wrapper","encode","prototype","decode","transcribe","streamStop","streamInsert"],"sourceRoot":"../../../../src","sources":["hooks/natural_language_processing/useSpeechToText.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,WAAW,EAAEC,QAAQ,QAAQ,OAAO;AACxD,SAASC,OAAO,EAAEC,QAAQ,QAAQ,aAAa;AAC/C,SAASC,kBAAkB,QAAQ,8DAA8D;AAGjG,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAC9BC,KAAK;EACLC,WAAW,GAAG;AAIhB,CAAC,KAAK;EACJ,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGR,QAAQ,CAAgB,IAAI,CAAC;EACvD,MAAM,CAACS,OAAO,EAAEC,UAAU,CAAC,GAAGV,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACW,YAAY,EAAEC,eAAe,CAAC,GAAGZ,QAAQ,CAAC,KAAK,CAAC;EACvD,MAAM,CAACa,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGd,QAAQ,CAAC,CAAC,CAAC;EAE3D,MAAM,CAACe,aAAa,CAAC,GAAGf,QAAQ,CAAC,MAAM,IAAIG,kBAAkB,CAAC,CAAC,CAAC;EAChE,MAAM,CAACa,sBAAsB,EAAEC,yBAAyB,CAAC,GAAGjB,QAAQ,CAAC,EAAE,CAAC;EACxE,MAAM,CAACkB,yBAAyB,EAAEC,4BAA4B,CAAC,GAC7DnB,QAAQ,CAAC,EAAE,CAAC;EAEdF,SAAS,CAAC,MAAM;IACd,IAAIQ,WAAW,EAAE;IACjB,CAAC,YAAY;MACXQ,mBAAmB,CAAC,CAAC,CAAC;MACtBN,QAAQ,CAAC,IAAI,CAAC;MACd,IAAI;QACFE,UAAU,CAAC,KAAK,CAAC;QACjB,MAAMK,aAAa,CAACK,IAAI,CACtB;UACEC,cAAc,EAAEhB,KAAK,CAACgB,cAAc;UACpCC,aAAa,EAAEjB,KAAK,CAACiB,aAAa;UAClCC,aAAa,EAAElB,KAAK,CAACkB,aAAa;UAClCC,eAAe,EAAEnB,KAAK,CAACmB;QACzB,CAAC,EACDV,mBACF,CAAC;QACDJ,UAAU,CAAC,IAAI,CAAC;MAClB,CAAC,CAAC,OAAOe,GAAG,EAAE;QACZjB,QAAQ,CAAEiB,GAAG,CAAWC,OAAO,CAAC;MAClC;IACF,CAAC,EAAE,CAAC;EACN,CAAC,EAAE,CACDX,aAAa,EACbV,KAAK,CAACgB,cAAc,EACpBhB,KAAK,CAACiB,aAAa,EACnBjB,KAAK,CAACkB,aAAa,EACnBlB,KAAK,CAACmB,eAAe,EACrBlB,WAAW,CACZ,CAAC;EAEF,MAAMqB,YAAY,GAAG5B,WAAW,CACe6B,EAAK,IAChD,OAAO,GAAGC,IAAmB,KAAsC;IACjE,IAAI,CAACpB,OAAO,EAAE,MAAM,IAAIqB,KAAK,CAAC5B,QAAQ,CAACD,OAAO,CAAC8B,eAAe,CAAC,CAAC;IAChE,IAAIpB,YAAY,EAAE,MAAM,IAAImB,KAAK,CAAC5B,QAAQ,CAACD,OAAO,CAAC+B,eAAe,CAAC,CAAC;IACpEpB,eAAe,CAAC,IAAI,CAAC;IACrB,IAAI;MACF,OAAO,MAAMgB,EAAE,CAACK,KAAK,CAAClB,aAAa,EAAEc,IAAI,CAAC;IAC5C,CAAC,SAAS;MACRjB,eAAe,CAAC,KAAK,CAAC;IACxB;EACF,CAAC,EACH,CAACH,OAAO,EAAEE,YAAY,EAAEI,aAAa,CACvC,CAAC;EAED,MAAMmB,MAAM,GAAGnC,WAAW,
|
|
1
|
+
{"version":3,"names":["useEffect","useCallback","useState","ETError","getError","SpeechToTextModule","useSpeechToText","model","preventLoad","error","setError","isReady","setIsReady","isGenerating","setIsGenerating","downloadProgress","setDownloadProgress","modelInstance","committedTranscription","setCommittedTranscription","nonCommittedTranscription","setNonCommittedTranscription","load","isMultilingual","encoderSource","decoderSource","tokenizerSource","err","message","stateWrapper","fn","args","Error","ModuleNotLoaded","ModelGenerating","apply","stream","options","transcription","committed","nonCommitted","prev","wrapper","encode","prototype","decode","transcribe","streamStop","streamInsert"],"sourceRoot":"../../../../src","sources":["hooks/natural_language_processing/useSpeechToText.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SpeechToTextModelConfig } from '../../types/stt';
|
|
1
|
+
import { DecodingOptions, SpeechToTextModelConfig } from '../../types/stt';
|
|
2
2
|
export declare const useSpeechToText: ({ model, preventLoad, }: {
|
|
3
3
|
model: SpeechToTextModelConfig;
|
|
4
4
|
preventLoad?: boolean;
|
|
@@ -11,8 +11,8 @@ export declare const useSpeechToText: ({ model, preventLoad, }: {
|
|
|
11
11
|
nonCommittedTranscription: string;
|
|
12
12
|
encode: (waveform: number[] | Float32Array<ArrayBufferLike>) => Promise<Float32Array<ArrayBufferLike>>;
|
|
13
13
|
decode: (tokens: number[] | Int32Array<ArrayBufferLike>, encoderOutput: number[] | Float32Array<ArrayBufferLike>) => Promise<Float32Array<ArrayBufferLike>>;
|
|
14
|
-
transcribe: (waveform: number[] | Float32Array<ArrayBufferLike>, options?:
|
|
15
|
-
stream: () => Promise<string>;
|
|
14
|
+
transcribe: (waveform: number[] | Float32Array<ArrayBufferLike>, options?: DecodingOptions | undefined) => Promise<string>;
|
|
15
|
+
stream: (options?: DecodingOptions) => Promise<string>;
|
|
16
16
|
streamStop: () => Promise<void>;
|
|
17
17
|
streamInsert: (waveform: number[] | Float32Array<ArrayBufferLike>) => Promise<void>;
|
|
18
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSpeechToText.d.ts","sourceRoot":"","sources":["../../../../src/hooks/natural_language_processing/useSpeechToText.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"useSpeechToText.d.ts","sourceRoot":"","sources":["../../../../src/hooks/natural_language_processing/useSpeechToText.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE3E,eAAO,MAAM,eAAe,GAAI,yBAG7B;IACD,KAAK,EAAE,uBAAuB,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;;;;;;;;;;uBAyDoB,eAAe;;;CA+CnC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useEffect, useCallback, useState } from 'react';
|
|
2
2
|
import { ETError, getError } from '../../Error';
|
|
3
3
|
import { SpeechToTextModule } from '../../modules/natural_language_processing/SpeechToTextModule';
|
|
4
|
-
import { SpeechToTextModelConfig } from '../../types/stt';
|
|
4
|
+
import { DecodingOptions, SpeechToTextModelConfig } from '../../types/stt';
|
|
5
5
|
|
|
6
6
|
export const useSpeechToText = ({
|
|
7
7
|
model,
|
|
@@ -65,24 +65,29 @@ export const useSpeechToText = ({
|
|
|
65
65
|
[isReady, isGenerating, modelInstance]
|
|
66
66
|
);
|
|
67
67
|
|
|
68
|
-
const stream = useCallback(
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
68
|
+
const stream = useCallback(
|
|
69
|
+
async (options?: DecodingOptions) => {
|
|
70
|
+
if (!isReady) throw new Error(getError(ETError.ModuleNotLoaded));
|
|
71
|
+
if (isGenerating) throw new Error(getError(ETError.ModelGenerating));
|
|
72
|
+
setIsGenerating(true);
|
|
73
|
+
setCommittedTranscription('');
|
|
74
|
+
setNonCommittedTranscription('');
|
|
75
|
+
let transcription = '';
|
|
76
|
+
try {
|
|
77
|
+
for await (const { committed, nonCommitted } of modelInstance.stream(
|
|
78
|
+
options
|
|
79
|
+
)) {
|
|
80
|
+
setCommittedTranscription((prev) => prev + committed);
|
|
81
|
+
setNonCommittedTranscription(nonCommitted);
|
|
82
|
+
transcription += committed;
|
|
83
|
+
}
|
|
84
|
+
} finally {
|
|
85
|
+
setIsGenerating(false);
|
|
80
86
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}, [isReady, isGenerating, modelInstance]);
|
|
87
|
+
return transcription;
|
|
88
|
+
},
|
|
89
|
+
[isReady, isGenerating, modelInstance]
|
|
90
|
+
);
|
|
86
91
|
|
|
87
92
|
const wrapper = useCallback(
|
|
88
93
|
<T extends (...args: any[]) => any>(fn: T) => {
|