whisper.rn 0.3.0-rc.7 → 0.3.1

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/cpp/whisper.h CHANGED
@@ -67,6 +67,7 @@ extern "C" {
67
67
 
68
68
  struct whisper_context;
69
69
  struct whisper_state;
70
+ struct whisper_full_params;
70
71
 
71
72
  typedef int whisper_token;
72
73
 
@@ -110,6 +111,23 @@ extern "C" {
110
111
 
111
112
  WHISPER_API struct whisper_state * whisper_init_state(struct whisper_context * ctx);
112
113
 
114
+ // Given a context, enable use of OpenVINO for encode inference.
115
+ // model_path: Optional path to OpenVINO encoder IR model. If set to nullptr,
116
+ // the path will be generated from the ggml model path that was passed
117
+ // in to whisper_init_from_file. For example, if 'path_model' was
118
+ // "/path/to/ggml-base.en.bin", then OpenVINO IR model path will be
119
+ // assumed to be "/path/to/ggml-base.en-encoder-openvino.xml".
120
+ // device: OpenVINO device to run inference on ("CPU", "GPU", etc.)
121
+ // cache_dir: Optional cache directory that can speed up init time, especially for
122
+ // GPU, by caching compiled 'blobs' there.
123
+ // Set to nullptr if not used.
124
+ // Returns 0 on success. If OpenVINO is not enabled in build, this simply returns 1.
125
+ WHISPER_API int whisper_ctx_init_openvino_encoder(
126
+ struct whisper_context * ctx,
127
+ const char * model_path,
128
+ const char * device,
129
+ const char * cache_dir);
130
+
113
131
  // Frees all allocated memory
114
132
  WHISPER_API void whisper_free (struct whisper_context * ctx);
115
133
  WHISPER_API void whisper_free_state(struct whisper_state * state);
@@ -277,15 +295,16 @@ extern "C" {
277
295
  // Special tokens
278
296
  WHISPER_API whisper_token whisper_token_eot (struct whisper_context * ctx);
279
297
  WHISPER_API whisper_token whisper_token_sot (struct whisper_context * ctx);
280
- WHISPER_API whisper_token whisper_token_prev(struct whisper_context * ctx);
281
298
  WHISPER_API whisper_token whisper_token_solm(struct whisper_context * ctx);
299
+ WHISPER_API whisper_token whisper_token_prev(struct whisper_context * ctx);
300
+ WHISPER_API whisper_token whisper_token_nosp(struct whisper_context * ctx);
282
301
  WHISPER_API whisper_token whisper_token_not (struct whisper_context * ctx);
283
302
  WHISPER_API whisper_token whisper_token_beg (struct whisper_context * ctx);
284
303
  WHISPER_API whisper_token whisper_token_lang(struct whisper_context * ctx, int lang_id);
285
304
 
286
305
  // Task tokens
287
- WHISPER_API whisper_token whisper_token_translate (void);
288
- WHISPER_API whisper_token whisper_token_transcribe(void);
306
+ WHISPER_API whisper_token whisper_token_translate (struct whisper_context * ctx);
307
+ WHISPER_API whisper_token whisper_token_transcribe(struct whisper_context * ctx);
289
308
 
290
309
  // Performance information from the default state.
291
310
  WHISPER_API void whisper_print_timings(struct whisper_context * ctx);
@@ -358,6 +377,9 @@ extern "C" {
358
377
  bool speed_up; // speed-up the audio by 2x using Phase Vocoder
359
378
  int audio_ctx; // overwrite the audio context size (0 = use default)
360
379
 
380
+ // [EXPERIMENTAL] [TDRZ] tinydiarize
381
+ bool tdrz_enable; // enable tinydiarize speaker turn detection
382
+
361
383
  // tokens to provide to the whisper decoder as initial prompt
362
384
  // these are prepended to any existing text context from a previous call
363
385
  const char * initial_prompt;
@@ -460,6 +482,9 @@ extern "C" {
460
482
  WHISPER_API int64_t whisper_full_get_segment_t1 (struct whisper_context * ctx, int i_segment);
461
483
  WHISPER_API int64_t whisper_full_get_segment_t1_from_state(struct whisper_state * state, int i_segment);
462
484
 
485
+ // Get whether the next segment is predicted as a speaker turn
486
+ WHISPER_API bool whisper_full_get_segment_speaker_turn_next(struct whisper_context * ctx, int i_segment);
487
+
463
488
  // Get the text of the specified segment
464
489
  WHISPER_API const char * whisper_full_get_segment_text (struct whisper_context * ctx, int i_segment);
465
490
  WHISPER_API const char * whisper_full_get_segment_text_from_state(struct whisper_state * state, int i_segment);
@@ -488,11 +513,16 @@ extern "C" {
488
513
 
489
514
  // Temporary helpers needed for exposing ggml interface
490
515
 
491
- WHISPER_API int whisper_bench_memcpy(int n_threads);
492
- WHISPER_API const char * whisper_bench_memcpy_str(int n_threads);
493
- WHISPER_API int whisper_bench_ggml_mul_mat(int n_threads);
516
+ WHISPER_API int whisper_bench_memcpy (int n_threads);
517
+ WHISPER_API const char * whisper_bench_memcpy_str (int n_threads);
518
+ WHISPER_API int whisper_bench_ggml_mul_mat (int n_threads);
494
519
  WHISPER_API const char * whisper_bench_ggml_mul_mat_str(int n_threads);
495
520
 
521
+ // Control logging output; default behavior is to print to stderr
522
+
523
+ typedef void (*whisper_log_callback)(const char * line);
524
+ WHISPER_API void whisper_set_log_callback(whisper_log_callback callback);
525
+
496
526
  #ifdef __cplusplus
497
527
  }
498
528
  #endif
package/ios/RNWhisper.mm CHANGED
@@ -80,6 +80,14 @@ RCT_REMAP_METHOD(initContext,
80
80
  resolve([NSNumber numberWithInt:contextId]);
81
81
  }
82
82
 
83
+ - (NSArray *)supportedEvents {
84
+ return@[
85
+ @"@RNWhisper_onTranscribeProgress",
86
+ @"@RNWhisper_onRealtimeTranscribe",
87
+ @"@RNWhisper_onRealtimeTranscribeEnd",
88
+ ];
89
+ }
90
+
83
91
  RCT_REMAP_METHOD(transcribeFile,
84
92
  withContextId:(int)contextId
85
93
  withJobId:(int)jobId
@@ -114,21 +122,34 @@ RCT_REMAP_METHOD(transcribeFile,
114
122
  reject(@"whisper_error", @"Invalid file", nil);
115
123
  return;
116
124
  }
117
- int code = [context transcribeFile:jobId audioData:waveFile audioDataCount:count options:options];
118
- if (code != 0) {
125
+ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
126
+ int code = [context transcribeFile:jobId
127
+ audioData:waveFile
128
+ audioDataCount:count
129
+ options:options
130
+ onProgress: ^(int progress) {
131
+ if (rn_whisper_transcribe_is_aborted(jobId)) {
132
+ return;
133
+ }
134
+ dispatch_async(dispatch_get_main_queue(), ^{
135
+ [self sendEventWithName:@"@RNWhisper_onTranscribeProgress"
136
+ body:@{
137
+ @"contextId": [NSNumber numberWithInt:contextId],
138
+ @"jobId": [NSNumber numberWithInt:jobId],
139
+ @"progress": [NSNumber numberWithInt:progress]
140
+ }
141
+ ];
142
+ });
143
+ }
144
+ ];
145
+ if (code != 0) {
146
+ free(waveFile);
147
+ reject(@"whisper_cpp_error", [NSString stringWithFormat:@"Failed to transcribe the file. Code: %d", code], nil);
148
+ return;
149
+ }
119
150
  free(waveFile);
120
- reject(@"whisper_cpp_error", [NSString stringWithFormat:@"Failed to transcribe the file. Code: %d", code], nil);
121
- return;
122
- }
123
- free(waveFile);
124
- resolve([context getTextSegments]);
125
- }
126
-
127
- - (NSArray *)supportedEvents {
128
- return@[
129
- @"@RNWhisper_onRealtimeTranscribe",
130
- @"@RNWhisper_onRealtimeTranscribeEnd",
131
- ];
151
+ resolve([context getTextSegments]);
152
+ });
132
153
  }
133
154
 
134
155
  RCT_REMAP_METHOD(startRealtimeTranscribe,
@@ -176,12 +197,20 @@ RCT_REMAP_METHOD(startRealtimeTranscribe,
176
197
  }
177
198
  reject(@"whisper_error", [NSString stringWithFormat:@"Failed to start realtime transcribe. Status: %d", status], nil);
178
199
  }
200
+
179
201
  RCT_REMAP_METHOD(abortTranscribe,
180
202
  withContextId:(int)contextId
181
- withJobId:(int)jobId)
203
+ withJobId:(int)jobId
204
+ withResolver:(RCTPromiseResolveBlock)resolve
205
+ withRejecter:(RCTPromiseRejectBlock)reject)
182
206
  {
183
207
  RNWhisperContext *context = contexts[[NSNumber numberWithInt:contextId]];
208
+ if (context == nil) {
209
+ reject(@"whisper_error", @"Context not found", nil);
210
+ return;
211
+ }
184
212
  [context stopTranscribe:jobId];
213
+ resolve(nil);
185
214
  }
186
215
 
187
216
  RCT_REMAP_METHOD(releaseContext,
@@ -48,7 +48,8 @@ typedef struct {
48
48
  - (int)transcribeFile:(int)jobId
49
49
  audioData:(float *)audioData
50
50
  audioDataCount:(int)audioDataCount
51
- options:(NSDictionary *)options;
51
+ options:(NSDictionary *)options
52
+ onProgress:(void (^)(int))onProgress;
52
53
  - (void)stopTranscribe:(int)jobId;
53
54
  - (bool)isCapturing;
54
55
  - (bool)isTranscribing;
@@ -263,10 +263,11 @@ void AudioInputCallback(void * inUserData,
263
263
  audioData:(float *)audioData
264
264
  audioDataCount:(int)audioDataCount
265
265
  options:(NSDictionary *)options
266
+ onProgress:(void (^)(int))onProgress
266
267
  {
267
268
  self->recordState.isTranscribing = true;
268
269
  self->recordState.jobId = jobId;
269
- int code = [self fullTranscribe:jobId audioData:audioData audioDataCount:audioDataCount options:options];
270
+ int code = [self fullTranscribeWithProgress:onProgress jobId:jobId audioData:audioData audioDataCount:audioDataCount options:options];
270
271
  self->recordState.jobId = -1;
271
272
  self->recordState.isTranscribing = false;
272
273
  return code;
@@ -297,7 +298,7 @@ void AudioInputCallback(void * inUserData,
297
298
  [self stopTranscribe:self->recordState.jobId];
298
299
  }
299
300
 
300
- - (int)fullTranscribe:(int)jobId audioData:(float *)audioData audioDataCount:(int)audioDataCount options:(NSDictionary *)options {
301
+ - (struct whisper_full_params)getParams:(NSDictionary *)options jobId:(int)jobId {
301
302
  struct whisper_full_params params = whisper_full_default_params(WHISPER_SAMPLING_GREEDY);
302
303
 
303
304
  const int n_threads = options[@"maxThreads"] != nil ?
@@ -362,6 +363,39 @@ void AudioInputCallback(void * inUserData,
362
363
  };
363
364
  params.encoder_begin_callback_user_data = rn_whisper_assign_abort_map(jobId);
364
365
 
366
+ return params;
367
+ }
368
+
369
+ - (int)fullTranscribeWithProgress:(void (^)(int))onProgress
370
+ jobId:(int)jobId
371
+ audioData:(float *)audioData
372
+ audioDataCount:(int)audioDataCount
373
+ options:(NSDictionary *)options
374
+ {
375
+ struct whisper_full_params params = [self getParams:options jobId:jobId];
376
+ if (options[@"onProgress"] && [options[@"onProgress"] boolValue]) {
377
+ params.progress_callback = [](struct whisper_context * /*ctx*/, struct whisper_state * /*state*/, int progress, void * user_data) {
378
+ void (^onProgress)(int) = (__bridge void (^)(int))user_data;
379
+ onProgress(progress);
380
+ };
381
+ params.progress_callback_user_data = (__bridge void *)(onProgress);
382
+ }
383
+ whisper_reset_timings(self->ctx);
384
+
385
+ int code = whisper_full(self->ctx, params, audioData, audioDataCount);
386
+ rn_whisper_remove_abort_map(jobId);
387
+ // if (code == 0) {
388
+ // whisper_print_timings(self->ctx);
389
+ // }
390
+ return code;
391
+ }
392
+
393
+ - (int)fullTranscribe:(int)jobId
394
+ audioData:(float *)audioData
395
+ audioDataCount:(int)audioDataCount
396
+ options:(NSDictionary *)options
397
+ {
398
+ struct whisper_full_params params = [self getParams:options jobId:jobId];
365
399
  whisper_reset_timings(self->ctx);
366
400
 
367
401
  int code = whisper_full(self->ctx, params, audioData, audioDataCount);
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_default","TurboModuleRegistry","get","exports","default"],"sourceRoot":"../../src","sources":["NativeRNWhisper.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAkD,IAAAC,QAAA,GA6EnCC,gCAAmB,CAACC,GAAG,CAAO,WAAW,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAJ,QAAA"}
1
+ {"version":3,"names":["_reactNative","require","_default","TurboModuleRegistry","get","exports","default"],"sourceRoot":"../../src","sources":["NativeRNWhisper.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAkD,IAAAC,QAAA,GA+EnCC,gCAAmB,CAACC,GAAG,CAAO,WAAW,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAJ,QAAA"}
@@ -20,6 +20,7 @@ if (_reactNative.Platform.OS === 'ios') {
20
20
  if (_reactNative.Platform.OS === 'android') {
21
21
  EventEmitter = _reactNative.DeviceEventEmitter;
22
22
  }
23
+ const EVENT_ON_TRANSCRIBE_PROGRESS = '@RNWhisper_onTranscribeProgress';
23
24
  const EVENT_ON_REALTIME_TRANSCRIBE = '@RNWhisper_onRealtimeTranscribe';
24
25
  const EVENT_ON_REALTIME_TRANSCRIBE_END = '@RNWhisper_onRealtimeTranscribeEnd';
25
26
  class WhisperContext {
@@ -44,9 +45,39 @@ class WhisperContext {
44
45
  }
45
46
  if (path.startsWith('file://')) path = path.slice(7);
46
47
  const jobId = Math.floor(Math.random() * 10000);
48
+ const {
49
+ onProgress,
50
+ ...rest
51
+ } = options;
52
+ let progressListener;
53
+ if (onProgress) {
54
+ progressListener = EventEmitter.addListener(EVENT_ON_TRANSCRIBE_PROGRESS, evt => {
55
+ const {
56
+ contextId,
57
+ progress
58
+ } = evt;
59
+ if (contextId !== this.id || evt.jobId !== jobId) return;
60
+ onProgress(progress);
61
+ });
62
+ }
47
63
  return {
48
- stop: () => _NativeRNWhisper.default.abortTranscribe(this.id, jobId),
49
- promise: _NativeRNWhisper.default.transcribeFile(this.id, jobId, path, options)
64
+ stop: async () => {
65
+ var _progressListener;
66
+ await _NativeRNWhisper.default.abortTranscribe(this.id, jobId);
67
+ (_progressListener = progressListener) === null || _progressListener === void 0 ? void 0 : _progressListener.remove();
68
+ },
69
+ promise: _NativeRNWhisper.default.transcribeFile(this.id, jobId, path, {
70
+ ...rest,
71
+ onProgress: !!onProgress
72
+ }).then(result => {
73
+ var _progressListener2;
74
+ (_progressListener2 = progressListener) === null || _progressListener2 === void 0 ? void 0 : _progressListener2.remove();
75
+ return result;
76
+ }).catch(e => {
77
+ var _progressListener3;
78
+ (_progressListener3 = progressListener) === null || _progressListener3 === void 0 ? void 0 : _progressListener3.remove();
79
+ throw e;
80
+ })
50
81
  };
51
82
  }
52
83
 
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_NativeRNWhisper","_interopRequireDefault","_version","_RNWhisper$getConstan","obj","__esModule","default","EventEmitter","Platform","OS","NativeEventEmitter","RNWhisper","DeviceEventEmitter","EVENT_ON_REALTIME_TRANSCRIBE","EVENT_ON_REALTIME_TRANSCRIBE_END","WhisperContext","constructor","id","transcribe","filePath","options","arguments","length","undefined","path","source","Image","resolveAssetSource","uri","e","Error","startsWith","slice","jobId","Math","floor","random","stop","abortTranscribe","promise","transcribeFile","transcribeRealtime","startRealtimeTranscribe","lastTranscribePayload","slices","sliceIndex","tOffset","putSlice","payload","isUseSlices","_slices$sliceIndex","_segments","segments","data","t1","map","segment","t0","mergeSlicesIfNeeded","mergedPayload","forEach","_mergedPayload$data","_slice$data","_mergedPayload$data2","_slice$data2","result","processTime","recordingTime","subscribe","callback","transcribeListener","addListener","evt","contextId","endListener","lastPayload","isCapturing","remove","release","releaseContext","exports","coreMLModelAssetPaths","initWhisper","_ref","coreMLModelAsset","isBundleAsset","coreMLAssets","filename","assets","asset","filepath","find","p","includes","filter","initContext","downloadCoreMLAssets","__DEV__","releaseAllWhisper","releaseAllContexts","libVersion","version","useCoreML","coreMLAllowFallback","getConstants","call","isUseCoreML","isCoreMLAllowFallback"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_NativeRNWhisper","_interopRequireDefault","_version","_RNWhisper$getConstan","obj","__esModule","default","EventEmitter","Platform","OS","NativeEventEmitter","RNWhisper","DeviceEventEmitter","EVENT_ON_TRANSCRIBE_PROGRESS","EVENT_ON_REALTIME_TRANSCRIBE","EVENT_ON_REALTIME_TRANSCRIBE_END","WhisperContext","constructor","id","transcribe","filePath","options","arguments","length","undefined","path","source","Image","resolveAssetSource","uri","e","Error","startsWith","slice","jobId","Math","floor","random","onProgress","rest","progressListener","addListener","evt","contextId","progress","stop","_progressListener","abortTranscribe","remove","promise","transcribeFile","then","result","_progressListener2","catch","_progressListener3","transcribeRealtime","startRealtimeTranscribe","lastTranscribePayload","slices","sliceIndex","tOffset","putSlice","payload","isUseSlices","_slices$sliceIndex","_segments","segments","data","t1","map","segment","t0","mergeSlicesIfNeeded","mergedPayload","forEach","_mergedPayload$data","_slice$data","_mergedPayload$data2","_slice$data2","processTime","recordingTime","subscribe","callback","transcribeListener","endListener","lastPayload","isCapturing","release","releaseContext","exports","coreMLModelAssetPaths","initWhisper","_ref","coreMLModelAsset","isBundleAsset","coreMLAssets","filename","assets","asset","filepath","find","p","includes","filter","initContext","downloadCoreMLAssets","__DEV__","releaseAllWhisper","releaseAllContexts","libVersion","version","useCoreML","coreMLAllowFallback","getConstants","call","isUseCoreML","isCoreMLAllowFallback"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAOA,IAAAC,gBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAMA,IAAAG,QAAA,GAAAH,OAAA;AAAwC,IAAAI,qBAAA;AAAA,SAAAF,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAExC,IAAIG,YAA2D;AAC/D,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;EACzB;EACAF,YAAY,GAAG,IAAIG,+BAAkB,CAACC,wBAAS,CAAC;AAClD;AACA,IAAIH,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;EAC7BF,YAAY,GAAGK,+BAAkB;AACnC;AAKA,MAAMC,4BAA4B,GAAG,iCAAiC;AAEtE,MAAMC,4BAA4B,GAAG,iCAAiC;AACtE,MAAMC,gCAAgC,GAAG,oCAAoC;AAsEtE,MAAMC,cAAc,CAAC;EAG1BC,WAAWA,CAACC,EAAU,EAAE;IACtB,IAAI,CAACA,EAAE,GAAGA,EAAE;EACd;;EAEA;EACAC,UAAUA,CACRC,QAAyB,EAOzB;IAAA,IANAC,OAA8B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAOnC,IAAIG,IAAI,GAAG,EAAE;IACb,IAAI,OAAOL,QAAQ,KAAK,QAAQ,EAAE;MAChC,IAAI;QACF,MAAMM,MAAM,GAAGC,kBAAK,CAACC,kBAAkB,CAACR,QAAQ,CAAC;QACjD,IAAIM,MAAM,EAAED,IAAI,GAAGC,MAAM,CAACG,GAAG;MAC/B,CAAC,CAAC,OAAOC,CAAC,EAAE;QACV,MAAM,IAAIC,KAAK,CAAE,kBAAiBX,QAAS,EAAC,CAAC;MAC/C;IACF,CAAC,MAAM;MACL,IAAIA,QAAQ,CAACY,UAAU,CAAC,MAAM,CAAC,EAC7B,MAAM,IAAID,KAAK,CAAC,mEAAmE,CAAC;MACtFN,IAAI,GAAGL,QAAQ;IACjB;IACA,IAAIK,IAAI,CAACO,UAAU,CAAC,SAAS,CAAC,EAAEP,IAAI,GAAGA,IAAI,CAACQ,KAAK,CAAC,CAAC,CAAC;IACpD,MAAMC,KAAa,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEvD,MAAM;MAAEC,UAAU;MAAE,GAAGC;IAAK,CAAC,GAAGlB,OAAO;IACvC,IAAImB,gBAAqB;IACzB,IAAIF,UAAU,EAAE;MACdE,gBAAgB,GAAGjC,YAAY,CAACkC,WAAW,CACzC5B,4BAA4B,EAC3B6B,GAAkC,IAAK;QACtC,MAAM;UAAEC,SAAS;UAAEC;QAAS,CAAC,GAAGF,GAAG;QACnC,IAAIC,SAAS,KAAK,IAAI,CAACzB,EAAE,IAAIwB,GAAG,CAACR,KAAK,KAAKA,KAAK,EAAE;QAClDI,UAAU,CAACM,QAAQ,CAAC;MACtB,CAAC,CACF;IACH;IACA,OAAO;MACLC,IAAI,EAAE,MAAAA,CAAA,KAAY;QAAA,IAAAC,iBAAA;QAChB,MAAMnC,wBAAS,CAACoC,eAAe,CAAC,IAAI,CAAC7B,EAAE,EAAEgB,KAAK,CAAC;QAC/C,CAAAY,iBAAA,GAAAN,gBAAgB,cAAAM,iBAAA,uBAAhBA,iBAAA,CAAkBE,MAAM,EAAE;MAC5B,CAAC;MACDC,OAAO,EAAEtC,wBAAS,CAACuC,cAAc,CAAC,IAAI,CAAChC,EAAE,EAAEgB,KAAK,EAAET,IAAI,EAAE;QACtD,GAAGc,IAAI;QACPD,UAAU,EAAE,CAAC,CAACA;MAChB,CAAC,CAAC,CAACa,IAAI,CAAEC,MAAM,IAAK;QAAA,IAAAC,kBAAA;QAClB,CAAAA,kBAAA,GAAAb,gBAAgB,cAAAa,kBAAA,uBAAhBA,kBAAA,CAAkBL,MAAM,EAAE;QAC1B,OAAOI,MAAM;MACf,CAAC,CAAC,CAACE,KAAK,CAAExB,CAAC,IAAK;QAAA,IAAAyB,kBAAA;QACd,CAAAA,kBAAA,GAAAf,gBAAgB,cAAAe,kBAAA,uBAAhBA,kBAAA,CAAkBP,MAAM,EAAE;QAC1B,MAAMlB,CAAC;MACT,CAAC;IACH,CAAC;EACH;;EAEA;EACA,MAAM0B,kBAAkBA,CAAA,EAKrB;IAAA,IALsBnC,OAAkC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAM9D,MAAMY,KAAa,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,EAAE,GAAG,KAAK,CAAC;IACvD,MAAM1B,wBAAS,CAAC8C,uBAAuB,CAAC,IAAI,CAACvC,EAAE,EAAEgB,KAAK,EAAEb,OAAO,CAAC;IAChE,IAAIqC,qBAAsD;IAE1D,MAAMC,MAAyC,GAAG,EAAE;IACpD,IAAIC,UAAkB,GAAG,CAAC;IAC1B,IAAIC,OAAe,GAAG,CAAC;IAEvB,MAAMC,QAAQ,GAAIC,OAAwC,IAAK;MAC7D,IAAI,CAACA,OAAO,CAACC,WAAW,EAAE;MAC1B,IAAIJ,UAAU,KAAKG,OAAO,CAACH,UAAU,EAAE;QAAA,IAAAK,kBAAA,EAAAC,SAAA;QACrC,MAAM;UAAEC,QAAQ,GAAG;QAAG,CAAC,GAAG,EAAAF,kBAAA,GAAAN,MAAM,CAACC,UAAU,CAAC,cAAAK,kBAAA,uBAAlBA,kBAAA,CAAoBG,IAAI,KAAI,CAAC,CAAC;QACxDP,OAAO,GAAG,EAAAK,SAAA,GAAAC,QAAQ,CAACA,QAAQ,CAAC5C,MAAM,GAAG,CAAC,CAAC,cAAA2C,SAAA,uBAA7BA,SAAA,CAA+BG,EAAE,KAAI,CAAC;MAClD;MACA;MAAC,CAAC;QAAET;MAAW,CAAC,GAAGG,OAAO;MAC1BJ,MAAM,CAACC,UAAU,CAAC,GAAG;QACnB,GAAGG,OAAO;QACVK,IAAI,EAAEL,OAAO,CAACK,IAAI,GACd;UACE,GAAGL,OAAO,CAACK,IAAI;UACfD,QAAQ,EACNJ,OAAO,CAACK,IAAI,CAACD,QAAQ,CAACG,GAAG,CAAEC,OAAO,KAAM;YACtC,GAAGA,OAAO;YACVC,EAAE,EAAED,OAAO,CAACC,EAAE,GAAGX,OAAO;YACxBQ,EAAE,EAAEE,OAAO,CAACF,EAAE,GAAGR;UACnB,CAAC,CAAC,CAAC,IAAI;QACX,CAAC,GACDrC;MACN,CAAC;IACH,CAAC;IAED,MAAMiD,mBAAmB,GACvBV,OAAwC,IACJ;MACpC,IAAI,CAACA,OAAO,CAACC,WAAW,EAAE,OAAOD,OAAO;MAExC,MAAMW,aAAkB,GAAG,CAAC,CAAC;MAC7Bf,MAAM,CAACgB,OAAO,CAAE1C,KAAK,IAAK;QAAA,IAAA2C,mBAAA,EAAAC,WAAA,EAAAC,oBAAA,EAAAC,YAAA;QACxBL,aAAa,CAACN,IAAI,GAAG;UACnBhB,MAAM,EACJ,CAAC,EAAAwB,mBAAA,GAAAF,aAAa,CAACN,IAAI,cAAAQ,mBAAA,uBAAlBA,mBAAA,CAAoBxB,MAAM,KAAI,EAAE,KAAK,EAAAyB,WAAA,GAAA5C,KAAK,CAACmC,IAAI,cAAAS,WAAA,uBAAVA,WAAA,CAAYzB,MAAM,KAAI,EAAE,CAAC;UACjEe,QAAQ,EAAE,CACR,IAAI,CAAAO,aAAa,aAAbA,aAAa,wBAAAI,oBAAA,GAAbJ,aAAa,CAAEN,IAAI,cAAAU,oBAAA,uBAAnBA,oBAAA,CAAqBX,QAAQ,KAAI,EAAE,CAAC,EACxC,IAAI,EAAAY,YAAA,GAAA9C,KAAK,CAACmC,IAAI,cAAAW,YAAA,uBAAVA,YAAA,CAAYZ,QAAQ,KAAI,EAAE,CAAC;QAEnC,CAAC;QACDO,aAAa,CAACM,WAAW,GAAG/C,KAAK,CAAC+C,WAAW;QAC7CN,aAAa,CAACO,aAAa,GACzB,CAAC,CAAAP,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEO,aAAa,KAAI,CAAC,IAAIhD,KAAK,CAACgD,aAAa;MAC7D,CAAC,CAAC;MACF,OAAO;QAAE,GAAGlB,OAAO;QAAE,GAAGW,aAAa;QAAEf;MAAO,CAAC;IACjD,CAAC;IAED,OAAO;MACLd,IAAI,EAAEA,CAAA,KAAMlC,wBAAS,CAACoC,eAAe,CAAC,IAAI,CAAC7B,EAAE,EAAEgB,KAAK,CAAC;MACrDgD,SAAS,EAAGC,QAAkD,IAAK;QACjE,IAAIC,kBAAuB,GAAG7E,YAAY,CAACkC,WAAW,CACpD3B,4BAA4B,EAC3B4B,GAAkC,IAAK;UACtC,MAAM;YAAEC,SAAS;YAAEoB;UAAQ,CAAC,GAAGrB,GAAG;UAClC,IAAIC,SAAS,KAAK,IAAI,CAACzB,EAAE,IAAIwB,GAAG,CAACR,KAAK,KAAKA,KAAK,EAAE;UAClDwB,qBAAqB,GAAGK,OAAO;UAC/BD,QAAQ,CAACC,OAAO,CAAC;UACjBoB,QAAQ,CAAC;YACPxC,SAAS;YACTT,KAAK,EAAEQ,GAAG,CAACR,KAAK;YAChB,GAAGuC,mBAAmB,CAACV,OAAO;UAChC,CAAC,CAAC;QACJ,CAAC,CACF;QACD,IAAIsB,WAAgB,GAAG9E,YAAY,CAACkC,WAAW,CAC7C1B,gCAAgC,EAC/B2B,GAAkC,IAAK;UACtC,MAAM;YAAEC,SAAS;YAAEoB;UAAQ,CAAC,GAAGrB,GAAG;UAClC,IAAIC,SAAS,KAAK,IAAI,CAACzB,EAAE,IAAIwB,GAAG,CAACR,KAAK,KAAKA,KAAK,EAAE;UAClD,MAAMoD,WAAW,GAAG;YAClB,GAAG5B,qBAAqB;YACxB,GAAGK;UACL,CAAC;UACDD,QAAQ,CAACwB,WAAW,CAAC;UACrBH,QAAQ,CAAC;YACPxC,SAAS;YACTT,KAAK,EAAEQ,GAAG,CAACR,KAAK;YAChB,GAAGuC,mBAAmB,CAACa,WAAW,CAAC;YACnCC,WAAW,EAAE;UACf,CAAC,CAAC;UACF,IAAIH,kBAAkB,EAAE;YACtBA,kBAAkB,CAACpC,MAAM,EAAE;YAC3BoC,kBAAkB,GAAG,IAAI;UAC3B;UACA,IAAIC,WAAW,EAAE;YACfA,WAAW,CAACrC,MAAM,EAAE;YACpBqC,WAAW,GAAG,IAAI;UACpB;QACF,CAAC,CACF;MACH;IACF,CAAC;EACH;EAEA,MAAMG,OAAOA,CAAA,EAAkB;IAC7B,OAAO7E,wBAAS,CAAC8E,cAAc,CAAC,IAAI,CAACvE,EAAE,CAAC;EAC1C;AACF;AAACwE,OAAA,CAAA1E,cAAA,GAAAA,cAAA;AAiBD,MAAM2E,qBAAqB,GAAG,CAC5B,0BAA0B,EAC1B,oBAAoB,EACpB,WAAW,EACX,gBAAgB,CACjB;AAEM,eAAeC,WAAWA,CAAAC,IAAA,EAIW;EAAA,IAJV;IAChCzE,QAAQ;IACR0E,gBAAgB;IAChBC;EACc,CAAC,GAAAF,IAAA;EACf,IAAIpE,IAAI,GAAG,EAAE;EACb,IAAIuE,YAAuC;EAC3C,IAAIF,gBAAgB,EAAE;IACpB,MAAM;MAAEG,QAAQ;MAAEC;IAAO,CAAC,GAAGJ,gBAAgB;IAC7C,IAAIG,QAAQ,IAAIC,MAAM,EAAE;MACtBF,YAAY,GAAGE,MAAM,aAANA,MAAM,uBAANA,MAAM,CACjB5B,GAAG,CAAE6B,KAAK,IAAK;QACf,MAAM;UAAEtE;QAAI,CAAC,GAAGF,kBAAK,CAACC,kBAAkB,CAACuE,KAAK,CAAC;QAC/C,MAAMC,QAAQ,GAAGT,qBAAqB,CAACU,IAAI,CAAEC,CAAC,IAAKzE,GAAG,CAAC0E,QAAQ,CAACD,CAAC,CAAC,CAAC;QACnE,IAAIF,QAAQ,EAAE;UACZ,OAAO;YACLvE,GAAG;YACHuE,QAAQ,EAAG,GAAEH,QAAS,IAAGG,QAAS;UACpC,CAAC;QACH;QACA,OAAO5E,SAAS;MAClB,CAAC,CAAC,CACDgF,MAAM,CAAEL,KAAK,IAA2BA,KAAK,KAAK3E,SAAS,CAAC;IACjE;EACF;EACA,IAAI,OAAOJ,QAAQ,KAAK,QAAQ,EAAE;IAChC,IAAI;MACF,MAAMM,MAAM,GAAGC,kBAAK,CAACC,kBAAkB,CAACR,QAAQ,CAAC;MACjD,IAAIM,MAAM,EAAE;QACVD,IAAI,GAAGC,MAAM,CAACG,GAAG;MACnB;IACF,CAAC,CAAC,OAAOC,CAAC,EAAE;MACV,MAAM,IAAIC,KAAK,CAAE,kBAAiBX,QAAS,EAAC,CAAC;IAC/C;EACF,CAAC,MAAM;IACL,IAAI,CAAC2E,aAAa,IAAI3E,QAAQ,CAACY,UAAU,CAAC,MAAM,CAAC,EAC/C,MAAM,IAAID,KAAK,CAAC,mEAAmE,CAAC;IACtFN,IAAI,GAAGL,QAAQ;EACjB;EACA,IAAIK,IAAI,CAACO,UAAU,CAAC,SAAS,CAAC,EAAEP,IAAI,GAAGA,IAAI,CAACQ,KAAK,CAAC,CAAC,CAAC;EACpD,MAAMf,EAAE,GAAG,MAAMP,wBAAS,CAAC8F,WAAW,CAAC;IACrCrF,QAAQ,EAAEK,IAAI;IACdsE,aAAa,EAAE,CAAC,CAACA,aAAa;IAC9B;IACAW,oBAAoB,EAAEC,OAAO,IAAI,CAAC,CAACX,YAAY;IAC/CA;EACF,CAAC,CAAC;EACF,OAAO,IAAIhF,cAAc,CAACE,EAAE,CAAC;AAC/B;AAEO,eAAe0F,iBAAiBA,CAAA,EAAkB;EACvD,OAAOjG,wBAAS,CAACkG,kBAAkB,EAAE;AACvC;;AAEA;AACO,MAAMC,UAAkB,GAAGC,gBAAO;AAAArB,OAAA,CAAAoB,UAAA,GAAAA,UAAA;AAEzC,MAAM;EAAEE,SAAS;EAAEC;AAAoB,CAAC,GAAG,EAAA9G,qBAAA,GAAAQ,wBAAS,CAACuG,YAAY,cAAA/G,qBAAA,uBAAtBA,qBAAA,CAAAgH,IAAA,CAAAxG,wBAAS,CAAiB,KAAI,CAAC,CAAC;;AAE3E;AACO,MAAMyG,WAAoB,GAAG,CAAC,CAACJ,SAAS;;AAE/C;AAAAtB,OAAA,CAAA0B,WAAA,GAAAA,WAAA;AACO,MAAMC,qBAA8B,GAAG,CAAC,CAACJ,mBAAmB;AAAAvB,OAAA,CAAA2B,qBAAA,GAAAA,qBAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeRNWhisper.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AA6ElD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,WAAW,CAAC"}
1
+ {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeRNWhisper.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AA+ElD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,WAAW,CAAC"}
@@ -10,6 +10,7 @@ if (Platform.OS === 'ios') {
10
10
  if (Platform.OS === 'android') {
11
11
  EventEmitter = DeviceEventEmitter;
12
12
  }
13
+ const EVENT_ON_TRANSCRIBE_PROGRESS = '@RNWhisper_onTranscribeProgress';
13
14
  const EVENT_ON_REALTIME_TRANSCRIBE = '@RNWhisper_onRealtimeTranscribe';
14
15
  const EVENT_ON_REALTIME_TRANSCRIBE_END = '@RNWhisper_onRealtimeTranscribeEnd';
15
16
  export class WhisperContext {
@@ -34,9 +35,39 @@ export class WhisperContext {
34
35
  }
35
36
  if (path.startsWith('file://')) path = path.slice(7);
36
37
  const jobId = Math.floor(Math.random() * 10000);
38
+ const {
39
+ onProgress,
40
+ ...rest
41
+ } = options;
42
+ let progressListener;
43
+ if (onProgress) {
44
+ progressListener = EventEmitter.addListener(EVENT_ON_TRANSCRIBE_PROGRESS, evt => {
45
+ const {
46
+ contextId,
47
+ progress
48
+ } = evt;
49
+ if (contextId !== this.id || evt.jobId !== jobId) return;
50
+ onProgress(progress);
51
+ });
52
+ }
37
53
  return {
38
- stop: () => RNWhisper.abortTranscribe(this.id, jobId),
39
- promise: RNWhisper.transcribeFile(this.id, jobId, path, options)
54
+ stop: async () => {
55
+ var _progressListener;
56
+ await RNWhisper.abortTranscribe(this.id, jobId);
57
+ (_progressListener = progressListener) === null || _progressListener === void 0 ? void 0 : _progressListener.remove();
58
+ },
59
+ promise: RNWhisper.transcribeFile(this.id, jobId, path, {
60
+ ...rest,
61
+ onProgress: !!onProgress
62
+ }).then(result => {
63
+ var _progressListener2;
64
+ (_progressListener2 = progressListener) === null || _progressListener2 === void 0 ? void 0 : _progressListener2.remove();
65
+ return result;
66
+ }).catch(e => {
67
+ var _progressListener3;
68
+ (_progressListener3 = progressListener) === null || _progressListener3 === void 0 ? void 0 : _progressListener3.remove();
69
+ throw e;
70
+ })
40
71
  };
41
72
  }
42
73
 
@@ -1 +1 @@
1
- {"version":3,"names":["NativeEventEmitter","DeviceEventEmitter","Platform","Image","RNWhisper","version","EventEmitter","OS","EVENT_ON_REALTIME_TRANSCRIBE","EVENT_ON_REALTIME_TRANSCRIBE_END","WhisperContext","constructor","id","transcribe","filePath","options","arguments","length","undefined","path","source","resolveAssetSource","uri","e","Error","startsWith","slice","jobId","Math","floor","random","stop","abortTranscribe","promise","transcribeFile","transcribeRealtime","startRealtimeTranscribe","lastTranscribePayload","slices","sliceIndex","tOffset","putSlice","payload","isUseSlices","_slices$sliceIndex","_segments","segments","data","t1","map","segment","t0","mergeSlicesIfNeeded","mergedPayload","forEach","_mergedPayload$data","_slice$data","_mergedPayload$data2","_slice$data2","result","processTime","recordingTime","subscribe","callback","transcribeListener","addListener","evt","contextId","endListener","lastPayload","isCapturing","remove","release","releaseContext","coreMLModelAssetPaths","initWhisper","_ref","coreMLModelAsset","isBundleAsset","coreMLAssets","filename","assets","asset","filepath","find","p","includes","filter","initContext","downloadCoreMLAssets","__DEV__","releaseAllWhisper","releaseAllContexts","libVersion","useCoreML","coreMLAllowFallback","_RNWhisper$getConstan","getConstants","call","isUseCoreML","isCoreMLAllowFallback"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["NativeEventEmitter","DeviceEventEmitter","Platform","Image","RNWhisper","version","EventEmitter","OS","EVENT_ON_TRANSCRIBE_PROGRESS","EVENT_ON_REALTIME_TRANSCRIBE","EVENT_ON_REALTIME_TRANSCRIBE_END","WhisperContext","constructor","id","transcribe","filePath","options","arguments","length","undefined","path","source","resolveAssetSource","uri","e","Error","startsWith","slice","jobId","Math","floor","random","onProgress","rest","progressListener","addListener","evt","contextId","progress","stop","_progressListener","abortTranscribe","remove","promise","transcribeFile","then","result","_progressListener2","catch","_progressListener3","transcribeRealtime","startRealtimeTranscribe","lastTranscribePayload","slices","sliceIndex","tOffset","putSlice","payload","isUseSlices","_slices$sliceIndex","_segments","segments","data","t1","map","segment","t0","mergeSlicesIfNeeded","mergedPayload","forEach","_mergedPayload$data","_slice$data","_mergedPayload$data2","_slice$data2","processTime","recordingTime","subscribe","callback","transcribeListener","endListener","lastPayload","isCapturing","release","releaseContext","coreMLModelAssetPaths","initWhisper","_ref","coreMLModelAsset","isBundleAsset","coreMLAssets","filename","assets","asset","filepath","find","p","includes","filter","initContext","downloadCoreMLAssets","__DEV__","releaseAllWhisper","releaseAllContexts","libVersion","useCoreML","coreMLAllowFallback","_RNWhisper$getConstan","getConstants","call","isUseCoreML","isCoreMLAllowFallback"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
@@ -29,6 +29,8 @@ export type TranscribeOptions = {
29
29
  speedUp?: boolean;
30
30
  /** Initial Prompt */
31
31
  prompt?: string;
32
+ /** Register onProgress event for transcribe file */
33
+ onProgress?: boolean;
32
34
  };
33
35
  export type TranscribeResult = {
34
36
  result: string;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeRNWhisper.d.ts","sourceRoot":"","sources":["../../src/NativeRNWhisper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAA;AAG/E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oGAAoG;IACpG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC,CAAC;CACJ,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC9B,CAAA;AAED,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,YAAY,IAAI;QACd,SAAS,EAAE,OAAO,CAAA;QAClB,mBAAmB,EAAE,OAAO,CAAA;KAC7B,CAAC;IACF,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7B,uBAAuB,CACrB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;;AAED,wBAAiE"}
1
+ {"version":3,"file":"NativeRNWhisper.d.ts","sourceRoot":"","sources":["../../src/NativeRNWhisper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAA;AAG/E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oGAAoG;IACpG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC,CAAC;CACJ,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC9B,CAAA;AAED,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,YAAY,IAAI;QACd,SAAS,EAAE,OAAO,CAAA;QAClB,mBAAmB,EAAE,OAAO,CAAA;KAC7B,CAAC;IACF,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7B,uBAAuB,CACrB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;;AAED,wBAAiE"}
@@ -1,5 +1,16 @@
1
1
  import type { TranscribeOptions, TranscribeResult } from './NativeRNWhisper';
2
2
  export type { TranscribeOptions, TranscribeResult };
3
+ export type TranscribeFileOptions = TranscribeOptions & {
4
+ /**
5
+ * Progress callback, the progress is between 0 and 100
6
+ */
7
+ onProgress?: (progress: number) => void;
8
+ };
9
+ export type TranscribeProgressNativeEvent = {
10
+ contextId: number;
11
+ jobId: number;
12
+ progress: number;
13
+ };
3
14
  export type TranscribeRealtimeOptions = TranscribeOptions & {
4
15
  /**
5
16
  * Realtime record max duration in seconds.
@@ -54,7 +65,7 @@ export declare class WhisperContext {
54
65
  id: number;
55
66
  constructor(id: number);
56
67
  /** Transcribe audio file */
57
- transcribe(filePath: string | number, options?: TranscribeOptions): {
68
+ transcribe(filePath: string | number, options?: TranscribeFileOptions): {
58
69
  /** Stop the transcribe */
59
70
  stop: () => void;
60
71
  /** Transcribe result promise */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "whisper.rn",
3
- "version": "0.3.0-rc.7",
3
+ "version": "0.3.1",
4
4
  "description": "React Native binding of whisper.cpp",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -30,7 +30,7 @@
30
30
  ],
31
31
  "scripts": {
32
32
  "bootstrap": "./scripts/bootstrap.sh",
33
- "docgen": "typedoc src/index.ts --plugin typedoc-plugin-markdown --readme none",
33
+ "docgen": "typedoc src/index.ts --plugin typedoc-plugin-markdown --readme none --out docs/API",
34
34
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
35
35
  "typecheck": "tsc --noEmit",
36
36
  "prepack": "yarn docgen && bob build",
@@ -31,6 +31,8 @@ export type TranscribeOptions = {
31
31
  speedUp?: boolean,
32
32
  /** Initial Prompt */
33
33
  prompt?: string,
34
+ /** Register onProgress event for transcribe file */
35
+ onProgress?: boolean
34
36
  }
35
37
 
36
38
  export type TranscribeResult = {
package/src/index.ts CHANGED
@@ -24,9 +24,26 @@ if (Platform.OS === 'android') {
24
24
 
25
25
  export type { TranscribeOptions, TranscribeResult }
26
26
 
27
+
28
+ const EVENT_ON_TRANSCRIBE_PROGRESS = '@RNWhisper_onTranscribeProgress'
29
+
27
30
  const EVENT_ON_REALTIME_TRANSCRIBE = '@RNWhisper_onRealtimeTranscribe'
28
31
  const EVENT_ON_REALTIME_TRANSCRIBE_END = '@RNWhisper_onRealtimeTranscribeEnd'
29
32
 
33
+ export type TranscribeFileOptions = TranscribeOptions & {
34
+ /**
35
+ * Progress callback, the progress is between 0 and 100
36
+ */
37
+ onProgress?: (progress: number) => void
38
+ }
39
+
40
+ export type TranscribeProgressNativeEvent = {
41
+ contextId: number
42
+ jobId: number
43
+ progress: number
44
+ }
45
+
46
+ // NOTE: codegen missing TSIntersectionType support so we dont put it into the native spec
30
47
  export type TranscribeRealtimeOptions = TranscribeOptions & {
31
48
  /**
32
49
  * Realtime record max duration in seconds.
@@ -91,7 +108,7 @@ export class WhisperContext {
91
108
  /** Transcribe audio file */
92
109
  transcribe(
93
110
  filePath: string | number,
94
- options: TranscribeOptions = {},
111
+ options: TranscribeFileOptions = {},
95
112
  ): {
96
113
  /** Stop the transcribe */
97
114
  stop: () => void
@@ -113,9 +130,34 @@ export class WhisperContext {
113
130
  }
114
131
  if (path.startsWith('file://')) path = path.slice(7)
115
132
  const jobId: number = Math.floor(Math.random() * 10000)
133
+
134
+ const { onProgress, ...rest } = options
135
+ let progressListener: any
136
+ if (onProgress) {
137
+ progressListener = EventEmitter.addListener(
138
+ EVENT_ON_TRANSCRIBE_PROGRESS,
139
+ (evt: TranscribeProgressNativeEvent) => {
140
+ const { contextId, progress } = evt
141
+ if (contextId !== this.id || evt.jobId !== jobId) return
142
+ onProgress(progress)
143
+ },
144
+ )
145
+ }
116
146
  return {
117
- stop: () => RNWhisper.abortTranscribe(this.id, jobId),
118
- promise: RNWhisper.transcribeFile(this.id, jobId, path, options),
147
+ stop: async () => {
148
+ await RNWhisper.abortTranscribe(this.id, jobId)
149
+ progressListener?.remove()
150
+ },
151
+ promise: RNWhisper.transcribeFile(this.id, jobId, path, {
152
+ ...rest,
153
+ onProgress: !!onProgress
154
+ }).then((result) => {
155
+ progressListener?.remove()
156
+ return result
157
+ }).catch((e) => {
158
+ progressListener?.remove()
159
+ throw e
160
+ }),
119
161
  }
120
162
  }
121
163