whisper.rn 0.4.0-rc.3 → 0.4.0-rc.4

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.
Files changed (44) hide show
  1. package/android/src/main/CMakeLists.txt +2 -0
  2. package/android/src/main/java/com/rnwhisper/RNWhisper.java +6 -1
  3. package/android/src/main/java/com/rnwhisper/WhisperContext.java +3 -3
  4. package/android/src/main/jni.cpp +6 -2
  5. package/cpp/ggml-alloc.c +413 -280
  6. package/cpp/ggml-alloc.h +67 -8
  7. package/cpp/ggml-backend-impl.h +87 -0
  8. package/cpp/ggml-backend.c +950 -0
  9. package/cpp/ggml-backend.h +136 -0
  10. package/cpp/ggml-impl.h +243 -0
  11. package/cpp/{ggml-metal.metal → ggml-metal-whisper.metal} +591 -121
  12. package/cpp/ggml-metal.h +21 -0
  13. package/cpp/ggml-metal.m +623 -234
  14. package/cpp/ggml-quants.c +7377 -0
  15. package/cpp/ggml-quants.h +224 -0
  16. package/cpp/ggml.c +3773 -4455
  17. package/cpp/ggml.h +279 -146
  18. package/cpp/whisper.cpp +182 -103
  19. package/cpp/whisper.h +48 -11
  20. package/ios/RNWhisper.mm +8 -2
  21. package/ios/RNWhisper.xcodeproj/project.xcworkspace/contents.xcworkspacedata +4 -0
  22. package/ios/RNWhisper.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  23. package/ios/RNWhisper.xcodeproj/project.xcworkspace/xcuserdata/jhen.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  24. package/ios/RNWhisper.xcodeproj/xcuserdata/jhen.xcuserdatad/xcschemes/xcschememanagement.plist +19 -0
  25. package/ios/RNWhisperContext.h +5 -1
  26. package/ios/RNWhisperContext.mm +76 -10
  27. package/jest/mock.js +1 -1
  28. package/lib/commonjs/NativeRNWhisper.js.map +1 -1
  29. package/lib/commonjs/index.js +28 -9
  30. package/lib/commonjs/index.js.map +1 -1
  31. package/lib/commonjs/version.json +1 -1
  32. package/lib/module/NativeRNWhisper.js.map +1 -1
  33. package/lib/module/index.js +28 -9
  34. package/lib/module/index.js.map +1 -1
  35. package/lib/module/version.json +1 -1
  36. package/lib/typescript/NativeRNWhisper.d.ts +7 -1
  37. package/lib/typescript/NativeRNWhisper.d.ts.map +1 -1
  38. package/lib/typescript/index.d.ts +7 -2
  39. package/lib/typescript/index.d.ts.map +1 -1
  40. package/package.json +1 -1
  41. package/src/NativeRNWhisper.ts +8 -1
  42. package/src/index.ts +29 -17
  43. package/src/version.json +1 -1
  44. package/whisper-rn.podspec +1 -2
package/cpp/whisper.h CHANGED
@@ -5,6 +5,14 @@
5
5
  #include <stdint.h>
6
6
  #include <stdbool.h>
7
7
 
8
+ #ifdef __GNUC__
9
+ # define WHISPER_DEPRECATED(func, hint) func __attribute__((deprecated(hint)))
10
+ #elif defined(_MSC_VER)
11
+ # define WHISPER_DEPRECATED(func, hint) __declspec(deprecated(hint)) func
12
+ #else
13
+ # define WHISPER_DEPRECATED(func, hint) func
14
+ #endif
15
+
8
16
  #ifdef WHISPER_SHARED
9
17
  # ifdef _WIN32
10
18
  # ifdef WHISPER_BUILD
@@ -21,7 +29,6 @@
21
29
 
22
30
  #define WHISPER_SAMPLE_RATE 16000
23
31
  #define WHISPER_N_FFT 400
24
- #define WHISPER_N_MEL 80
25
32
  #define WHISPER_HOP_LENGTH 160
26
33
  #define WHISPER_CHUNK_SIZE 30
27
34
 
@@ -71,6 +78,11 @@ extern "C" {
71
78
 
72
79
  typedef int whisper_token;
73
80
 
81
+ struct whisper_context_params {
82
+ bool use_gpu;
83
+ bool use_coreml;
84
+ };
85
+
74
86
  typedef struct whisper_token_data {
75
87
  whisper_token id; // token id
76
88
  whisper_token tid; // forced timestamp token id
@@ -99,18 +111,40 @@ extern "C" {
99
111
  // Various functions for loading a ggml whisper model.
100
112
  // Allocate (almost) all memory needed for the model.
101
113
  // Return NULL on failure
102
- #ifdef WHISPER_USE_COREML
103
- WHISPER_API struct whisper_context * whisper_init_from_file_no_coreml(const char * path_model);
104
- #endif
105
- WHISPER_API struct whisper_context * whisper_init_from_file(const char * path_model);
106
- WHISPER_API struct whisper_context * whisper_init_from_buffer(void * buffer, size_t buffer_size);
107
- WHISPER_API struct whisper_context * whisper_init(struct whisper_model_loader * loader);
114
+ WHISPER_API struct whisper_context * whisper_init_from_file_with_params(const char * path_model, struct whisper_context_params params);
115
+ WHISPER_API struct whisper_context * whisper_init_from_buffer_with_params(void * buffer, size_t buffer_size, struct whisper_context_params params);
116
+ WHISPER_API struct whisper_context * whisper_init_with_params(struct whisper_model_loader * loader, struct whisper_context_params params);
108
117
 
109
118
  // These are the same as the above, but the internal state of the context is not allocated automatically
110
119
  // It is the responsibility of the caller to allocate the state using whisper_init_state() (#523)
111
- WHISPER_API struct whisper_context * whisper_init_from_file_no_state(const char * path_model);
112
- WHISPER_API struct whisper_context * whisper_init_from_buffer_no_state(void * buffer, size_t buffer_size);
113
- WHISPER_API struct whisper_context * whisper_init_no_state(struct whisper_model_loader * loader);
120
+ WHISPER_API struct whisper_context * whisper_init_from_file_with_params_no_state(const char * path_model, struct whisper_context_params params);
121
+ WHISPER_API struct whisper_context * whisper_init_from_buffer_with_params_no_state(void * buffer, size_t buffer_size, struct whisper_context_params params);
122
+ WHISPER_API struct whisper_context * whisper_init_with_params_no_state(struct whisper_model_loader * loader, struct whisper_context_params params);
123
+
124
+ WHISPER_DEPRECATED(
125
+ WHISPER_API struct whisper_context * whisper_init_from_file(const char * path_model),
126
+ "use whisper_init_from_file_with_params instead"
127
+ );
128
+ WHISPER_DEPRECATED(
129
+ WHISPER_API struct whisper_context * whisper_init_from_buffer(void * buffer, size_t buffer_size),
130
+ "use whisper_init_from_buffer_with_params instead"
131
+ );
132
+ WHISPER_DEPRECATED(
133
+ WHISPER_API struct whisper_context * whisper_init(struct whisper_model_loader * loader),
134
+ "use whisper_init_with_params instead"
135
+ );
136
+ WHISPER_DEPRECATED(
137
+ WHISPER_API struct whisper_context * whisper_init_from_file_no_state(const char * path_model),
138
+ "use whisper_init_from_file_with_params_no_state instead"
139
+ );
140
+ WHISPER_DEPRECATED(
141
+ WHISPER_API struct whisper_context * whisper_init_from_buffer_no_state(void * buffer, size_t buffer_size),
142
+ "use whisper_init_from_buffer_with_params_no_state instead"
143
+ );
144
+ WHISPER_DEPRECATED(
145
+ WHISPER_API struct whisper_context * whisper_init_no_state(struct whisper_model_loader * loader),
146
+ "use whisper_init_with_params_no_state instead"
147
+ );
114
148
 
115
149
  WHISPER_API struct whisper_state * whisper_init_state(struct whisper_context * ctx);
116
150
 
@@ -135,6 +169,7 @@ extern "C" {
135
169
  WHISPER_API void whisper_free (struct whisper_context * ctx);
136
170
  WHISPER_API void whisper_free_state(struct whisper_state * state);
137
171
  WHISPER_API void whisper_free_params(struct whisper_full_params * params);
172
+ WHISPER_API void whisper_free_context_params(struct whisper_context_params * params);
138
173
 
139
174
  // Convert RAW PCM audio to log mel spectrogram.
140
175
  // The resulting spectrogram is stored inside the default state of the provided whisper context.
@@ -445,7 +480,9 @@ extern "C" {
445
480
  void * logits_filter_callback_user_data;
446
481
  };
447
482
 
448
- // NOTE: this function allocates memory, and it is the responsibility of the caller to free the pointer - see whisper_free_params()
483
+ // NOTE: this function allocates memory, and it is the responsibility of the caller to free the pointer - see whisper_free_context_params & whisper_free_params()
484
+ WHISPER_API struct whisper_context_params * whisper_context_default_params_by_ref();
485
+ WHISPER_API struct whisper_context_params whisper_context_default_params(void);
449
486
  WHISPER_API struct whisper_full_params * whisper_full_default_params_by_ref(enum whisper_sampling_strategy strategy);
450
487
  WHISPER_API struct whisper_full_params whisper_full_default_params(enum whisper_sampling_strategy strategy);
451
488
 
package/ios/RNWhisper.mm CHANGED
@@ -48,6 +48,7 @@ RCT_REMAP_METHOD(initContext,
48
48
 
49
49
  NSString *modelPath = [modelOptions objectForKey:@"filePath"];
50
50
  BOOL isBundleAsset = [[modelOptions objectForKey:@"isBundleAsset"] boolValue];
51
+ BOOL useGpu = [[modelOptions objectForKey:@"useGpu"] boolValue];
51
52
  BOOL useCoreMLIos = [[modelOptions objectForKey:@"useCoreMLIos"] boolValue];
52
53
 
53
54
  // For support debug assets in development mode
@@ -77,6 +78,7 @@ RCT_REMAP_METHOD(initContext,
77
78
  initWithModelPath:path
78
79
  contextId:contextId
79
80
  noCoreML:!useCoreMLIos
81
+ noMetal:!useGpu
80
82
  ];
81
83
  if ([context getContext] == NULL) {
82
84
  reject(@"whisper_cpp_error", @"Failed to load the model", nil);
@@ -85,7 +87,11 @@ RCT_REMAP_METHOD(initContext,
85
87
 
86
88
  [contexts setObject:context forKey:[NSNumber numberWithInt:contextId]];
87
89
 
88
- resolve([NSNumber numberWithInt:contextId]);
90
+ resolve(@{
91
+ @"contextId": @(contextId),
92
+ @"gpu": @([context isMetalEnabled]),
93
+ @"reasonNoGPU": [context reasonNoMetal],
94
+ });
89
95
  }
90
96
 
91
97
  - (NSArray *)supportedEvents {
@@ -164,7 +170,7 @@ RCT_REMAP_METHOD(transcribeFile,
164
170
  });
165
171
  }
166
172
  onEnd: ^(int code) {
167
- if (code != 0) {
173
+ if (code != 0 && code != 999) {
168
174
  free(waveFile);
169
175
  reject(@"whisper_cpp_error", [NSString stringWithFormat:@"Failed to transcribe the file. Code: %d", code], nil);
170
176
  return;
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ </Workspace>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>IDEDidComputeMac32BitWarning</key>
6
+ <true/>
7
+ </dict>
8
+ </plist>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>SchemeUserState</key>
6
+ <dict>
7
+ <key>RNWhisper.xcscheme_^#shared#^_</key>
8
+ <dict>
9
+ <key>orderHint</key>
10
+ <integer>0</integer>
11
+ </dict>
12
+ <key>WhisperCpp.xcscheme_^#shared#^_</key>
13
+ <dict>
14
+ <key>orderHint</key>
15
+ <integer>0</integer>
16
+ </dict>
17
+ </dict>
18
+ </dict>
19
+ </plist>
@@ -46,9 +46,13 @@ typedef struct {
46
46
  dispatch_queue_t dQueue;
47
47
  struct whisper_context * ctx;
48
48
  RNWhisperContextRecordState recordState;
49
+ NSString * reasonNoMetal;
50
+ bool isMetalEnabled;
49
51
  }
50
52
 
51
- + (instancetype)initWithModelPath:(NSString *)modelPath contextId:(int)contextId noCoreML:(BOOL)noCoreML;
53
+ + (instancetype)initWithModelPath:(NSString *)modelPath contextId:(int)contextId noCoreML:(BOOL)noCoreML noMetal:(BOOL)noMetal;
54
+ - (bool)isMetalEnabled;
55
+ - (NSString *)reasonNoMetal;
52
56
  - (struct whisper_context *)getContext;
53
57
  - (dispatch_queue_t)getDispatchQueue;
54
58
  - (OSStatus)transcribeRealtime:(int)jobId
@@ -1,30 +1,92 @@
1
1
  #import "RNWhisperContext.h"
2
2
  #import "RNWhisperAudioUtils.h"
3
+ #import <Metal/Metal.h>
3
4
  #include <vector>
4
5
 
5
6
  #define NUM_BYTES_PER_BUFFER 16 * 1024
6
7
 
7
8
  @implementation RNWhisperContext
8
9
 
9
- + (instancetype)initWithModelPath:(NSString *)modelPath contextId:(int)contextId noCoreML:(BOOL)noCoreML {
10
+ + (instancetype)initWithModelPath:(NSString *)modelPath
11
+ contextId:(int)contextId
12
+ noCoreML:(BOOL)noCoreML
13
+ noMetal:(BOOL)noMetal
14
+ {
10
15
  RNWhisperContext *context = [[RNWhisperContext alloc] init];
11
16
  context->contextId = contextId;
12
- #ifdef WHISPER_USE_COREML
13
- if (noCoreML) {
14
- context->ctx = whisper_init_from_file_no_coreml([modelPath UTF8String]);
15
- } else {
16
- context->ctx = whisper_init_from_file([modelPath UTF8String]);
17
+ struct whisper_context_params cparams;
18
+ NSString *reasonNoMetal = @"";
19
+ cparams.use_gpu = !noMetal;
20
+
21
+ cparams.use_coreml = !noCoreML;
22
+ #ifndef WHISPER_USE_COREML
23
+ if (cparams.use_coreml) {
24
+ NSLog(@"[RNWhisper] CoreML is not enabled in this build, ignoring use_coreml option");
25
+ cparams.use_coreml = false;
26
+ }
27
+ #endif
28
+
29
+ #ifndef WSP_GGML_USE_METAL
30
+ if (cparams.use_gpu) {
31
+ NSLog(@"[RNWhisper] ggml-metal is not enabled in this build, ignoring use_gpu option");
32
+ cparams.use_gpu = false;
17
33
  }
18
- #else
19
- context->ctx = whisper_init_from_file([modelPath UTF8String]);
20
34
  #endif
35
+
36
+ #ifdef WSP_GGML_USE_METAL
37
+ if (cparams.use_gpu) {
38
+ #if TARGET_OS_SIMULATOR
39
+ NSLog(@"[RNWhisper] ggml-metal is not available in simulator, ignoring use_gpu option: %@", reasonNoMetal);
40
+ cparams.use_gpu = false;
41
+ #else // TARGET_OS_SIMULATOR
42
+ // Check ggml-metal availability
43
+ NSError * error = nil;
44
+ id<MTLDevice> device = MTLCreateSystemDefaultDevice();
45
+ id<MTLLibrary> library = [device
46
+ newLibraryWithSource:@"#include <metal_stdlib>\n"
47
+ "using namespace metal;"
48
+ "kernel void test() { simd_sum(0); }"
49
+ options:nil
50
+ error:&error
51
+ ];
52
+ if (error) {
53
+ reasonNoMetal = [error localizedDescription];
54
+ } else {
55
+ id<MTLFunction> kernel = [library newFunctionWithName:@"test"];
56
+ id<MTLComputePipelineState> pipeline = [device newComputePipelineStateWithFunction:kernel error:&error];
57
+ if (pipeline == nil) {
58
+ reasonNoMetal = [error localizedDescription];
59
+ NSLog(@"[RNWhisper] ggml-metal is not available, ignoring use_gpu option: %@", reasonNoMetal);
60
+ cparams.use_gpu = false;
61
+ }
62
+ }
63
+ #endif // TARGET_OS_SIMULATOR
64
+ }
65
+ #endif // WSP_GGML_USE_METAL
66
+
67
+ if (cparams.use_gpu && cparams.use_coreml) {
68
+ NSLog(@"[RNWhisper] Both use_gpu and use_coreml are enabled, ignoring use_coreml option");
69
+ cparams.use_coreml = false; // Skip CoreML if Metal is enabled
70
+ }
71
+
72
+ context->ctx = whisper_init_from_file_with_params([modelPath UTF8String], cparams);
21
73
  context->dQueue = dispatch_queue_create(
22
74
  [[NSString stringWithFormat:@"RNWhisperContext-%d", contextId] UTF8String],
23
75
  DISPATCH_QUEUE_SERIAL
24
76
  );
77
+ context->isMetalEnabled = cparams.use_gpu;
78
+ context->reasonNoMetal = reasonNoMetal;
25
79
  return context;
26
80
  }
27
81
 
82
+ - (bool)isMetalEnabled {
83
+ return isMetalEnabled;
84
+ }
85
+
86
+ - (NSString *)reasonNoMetal {
87
+ return reasonNoMetal;
88
+ }
89
+
28
90
  - (struct whisper_context *)getContext {
29
91
  return self->ctx;
30
92
  }
@@ -494,16 +556,17 @@ struct rnwhisper_segments_callback_data {
494
556
  }
495
557
 
496
558
  // abort handler
559
+ bool *abort_ptr = rn_whisper_assign_abort_map(jobId);
497
560
  params.encoder_begin_callback = [](struct whisper_context * /*ctx*/, struct whisper_state * /*state*/, void * user_data) {
498
561
  bool is_aborted = *(bool*)user_data;
499
562
  return !is_aborted;
500
563
  };
501
- params.encoder_begin_callback_user_data = rn_whisper_assign_abort_map(jobId);
564
+ params.encoder_begin_callback_user_data = abort_ptr;
502
565
  params.abort_callback = [](void * user_data) {
503
566
  bool is_aborted = *(bool*)user_data;
504
567
  return is_aborted;
505
568
  };
506
- params.abort_callback_user_data = rn_whisper_assign_abort_map(jobId);
569
+ params.abort_callback_user_data = abort_ptr;
507
570
 
508
571
  return params;
509
572
  }
@@ -516,6 +579,9 @@ struct rnwhisper_segments_callback_data {
516
579
  whisper_reset_timings(self->ctx);
517
580
 
518
581
  int code = whisper_full(self->ctx, params, audioData, audioDataCount);
582
+ if (rn_whisper_transcribe_is_aborted(jobId)) {
583
+ code = -999;
584
+ }
519
585
  rn_whisper_remove_abort_map(jobId);
520
586
  // if (code == 0) {
521
587
  // whisper_print_timings(self->ctx);
package/jest/mock.js CHANGED
@@ -2,7 +2,7 @@ const { NativeModules, DeviceEventEmitter } = require('react-native')
2
2
 
3
3
  if (!NativeModules.RNWhisper) {
4
4
  NativeModules.RNWhisper = {
5
- initContext: jest.fn(() => Promise.resolve(1)),
5
+ initContext: jest.fn(() => Promise.resolve({ contextId: 1 })),
6
6
  transcribeFile: jest.fn(() => Promise.resolve({
7
7
  result: ' Test',
8
8
  segments: [{ text: ' Test', t0: 0, t1: 33 }],
@@ -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,GA0FnCC,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,GAiGnCC,gCAAmB,CAACC,GAAG,CAAO,WAAW,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAJ,QAAA"}
@@ -39,8 +39,17 @@ const updateAudioSession = async setting => {
39
39
  await _AudioSessionIos.default.setActive(setting.active ?? true);
40
40
  };
41
41
  class WhisperContext {
42
- constructor(id) {
43
- this.id = id;
42
+ gpu = false;
43
+ reasonNoGPU = '';
44
+ constructor(_ref) {
45
+ let {
46
+ contextId,
47
+ gpu,
48
+ reasonNoGPU
49
+ } = _ref;
50
+ this.id = contextId;
51
+ this.gpu = gpu;
52
+ this.reasonNoGPU = reasonNoGPU;
44
53
  }
45
54
 
46
55
  /** Transcribe audio file */
@@ -135,7 +144,7 @@ class WhisperContext {
135
144
  let sliceIndex = 0;
136
145
  let tOffset = 0;
137
146
  const putSlice = payload => {
138
- if (!payload.isUseSlices) return;
147
+ if (!payload.isUseSlices || !payload.data) return;
139
148
  if (sliceIndex !== payload.sliceIndex) {
140
149
  var _slices$sliceIndex, _segments;
141
150
  const {
@@ -149,14 +158,14 @@ class WhisperContext {
149
158
  } = payload);
150
159
  slices[sliceIndex] = {
151
160
  ...payload,
152
- data: payload.data ? {
161
+ data: {
153
162
  ...payload.data,
154
163
  segments: payload.data.segments.map(segment => ({
155
164
  ...segment,
156
165
  t0: segment.t0 + tOffset,
157
166
  t1: segment.t1 + tOffset
158
167
  })) || []
159
- } : undefined
168
+ }
160
169
  };
161
170
  };
162
171
  const mergeSlicesIfNeeded = payload => {
@@ -258,13 +267,14 @@ class WhisperContext {
258
267
  }
259
268
  exports.WhisperContext = WhisperContext;
260
269
  const coreMLModelAssetPaths = ['analytics/coremldata.bin', 'weights/weight.bin', 'model.mil', 'coremldata.bin'];
261
- async function initWhisper(_ref) {
270
+ async function initWhisper(_ref2) {
262
271
  let {
263
272
  filePath,
264
273
  coreMLModelAsset,
265
274
  isBundleAsset,
275
+ useGpu = true,
266
276
  useCoreMLIos = true
267
- } = _ref;
277
+ } = _ref2;
268
278
  let path = '';
269
279
  let coreMLAssets;
270
280
  if (coreMLModelAsset) {
@@ -309,15 +319,24 @@ async function initWhisper(_ref) {
309
319
  path = filePath;
310
320
  }
311
321
  if (path.startsWith('file://')) path = path.slice(7);
312
- const id = await _NativeRNWhisper.default.initContext({
322
+ const {
323
+ contextId,
324
+ gpu,
325
+ reasonNoGPU
326
+ } = await _NativeRNWhisper.default.initContext({
313
327
  filePath: path,
314
328
  isBundleAsset: !!isBundleAsset,
329
+ useGpu,
315
330
  useCoreMLIos,
316
331
  // Only development mode need download Core ML model assets (from packager server)
317
332
  downloadCoreMLAssets: __DEV__ && !!coreMLAssets,
318
333
  coreMLAssets
319
334
  });
320
- return new WhisperContext(id);
335
+ return new WhisperContext({
336
+ contextId,
337
+ gpu,
338
+ reasonNoGPU
339
+ });
321
340
  }
322
341
  async function releaseAllWhisper() {
323
342
  return _NativeRNWhisper.default.releaseAllContexts();
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_NativeRNWhisper","_interopRequireDefault","_AudioSessionIos","_version","_RNWhisper$getConstan","obj","__esModule","default","EventEmitter","Platform","OS","NativeEventEmitter","RNWhisper","DeviceEventEmitter","EVENT_ON_TRANSCRIBE_PROGRESS","EVENT_ON_TRANSCRIBE_NEW_SEGMENTS","EVENT_ON_REALTIME_TRANSCRIBE","EVENT_ON_REALTIME_TRANSCRIBE_END","updateAudioSession","setting","AudioSessionIos","setCategory","category","options","mode","setMode","setActive","active","WhisperContext","constructor","id","transcribe","filePath","arguments","length","undefined","path","source","Image","resolveAssetSource","uri","e","Error","startsWith","slice","jobId","Math","floor","random","onProgress","onNewSegments","rest","progressListener","lastProgress","addListener","evt","contextId","progress","removeProgressListener","remove","newSegmentsListener","result","removeNewSegmenetsListener","stop","abortTranscribe","promise","transcribeFile","then","isAborted","catch","transcribeRealtime","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","prevAudioSession","audioSessionOnStartIos","audioSessionOnStopIos","categoryResult","getCurrentCategory","getCurrentMode","startRealtimeTranscribe","subscribe","callback","transcribeListener","endListener","lastPayload","isCapturing","release","releaseContext","exports","coreMLModelAssetPaths","initWhisper","_ref","coreMLModelAsset","isBundleAsset","useCoreMLIos","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","_AudioSessionIos","_version","_RNWhisper$getConstan","obj","__esModule","default","EventEmitter","Platform","OS","NativeEventEmitter","RNWhisper","DeviceEventEmitter","EVENT_ON_TRANSCRIBE_PROGRESS","EVENT_ON_TRANSCRIBE_NEW_SEGMENTS","EVENT_ON_REALTIME_TRANSCRIBE","EVENT_ON_REALTIME_TRANSCRIBE_END","updateAudioSession","setting","AudioSessionIos","setCategory","category","options","mode","setMode","setActive","active","WhisperContext","gpu","reasonNoGPU","constructor","_ref","contextId","id","transcribe","filePath","arguments","length","undefined","path","source","Image","resolveAssetSource","uri","e","Error","startsWith","slice","jobId","Math","floor","random","onProgress","onNewSegments","rest","progressListener","lastProgress","addListener","evt","progress","removeProgressListener","remove","newSegmentsListener","result","removeNewSegmenetsListener","stop","abortTranscribe","promise","transcribeFile","then","isAborted","catch","transcribeRealtime","lastTranscribePayload","slices","sliceIndex","tOffset","putSlice","payload","isUseSlices","data","_slices$sliceIndex","_segments","segments","t1","map","segment","t0","mergeSlicesIfNeeded","mergedPayload","forEach","_mergedPayload$data","_slice$data","_mergedPayload$data2","_slice$data2","processTime","recordingTime","prevAudioSession","audioSessionOnStartIos","audioSessionOnStopIos","categoryResult","getCurrentCategory","getCurrentMode","startRealtimeTranscribe","subscribe","callback","transcribeListener","endListener","lastPayload","isCapturing","release","releaseContext","exports","coreMLModelAssetPaths","initWhisper","_ref2","coreMLModelAsset","isBundleAsset","useGpu","useCoreMLIos","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 +1 @@
1
- {"version":"1.4.2"}
1
+ {"version":"1.4.3"}
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeRNWhisper.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAElD;;AAwFA,eAAeA,mBAAmB,CAACC,GAAG,CAAO,WAAW,CAAC"}
1
+ {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeRNWhisper.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAElD;;AA+FA,eAAeA,mBAAmB,CAACC,GAAG,CAAO,WAAW,CAAC"}
@@ -23,8 +23,17 @@ const updateAudioSession = async setting => {
23
23
  await AudioSessionIos.setActive(setting.active ?? true);
24
24
  };
25
25
  export class WhisperContext {
26
- constructor(id) {
27
- this.id = id;
26
+ gpu = false;
27
+ reasonNoGPU = '';
28
+ constructor(_ref) {
29
+ let {
30
+ contextId,
31
+ gpu,
32
+ reasonNoGPU
33
+ } = _ref;
34
+ this.id = contextId;
35
+ this.gpu = gpu;
36
+ this.reasonNoGPU = reasonNoGPU;
28
37
  }
29
38
 
30
39
  /** Transcribe audio file */
@@ -119,7 +128,7 @@ export class WhisperContext {
119
128
  let sliceIndex = 0;
120
129
  let tOffset = 0;
121
130
  const putSlice = payload => {
122
- if (!payload.isUseSlices) return;
131
+ if (!payload.isUseSlices || !payload.data) return;
123
132
  if (sliceIndex !== payload.sliceIndex) {
124
133
  var _slices$sliceIndex, _segments;
125
134
  const {
@@ -133,14 +142,14 @@ export class WhisperContext {
133
142
  } = payload);
134
143
  slices[sliceIndex] = {
135
144
  ...payload,
136
- data: payload.data ? {
145
+ data: {
137
146
  ...payload.data,
138
147
  segments: payload.data.segments.map(segment => ({
139
148
  ...segment,
140
149
  t0: segment.t0 + tOffset,
141
150
  t1: segment.t1 + tOffset
142
151
  })) || []
143
- } : undefined
152
+ }
144
153
  };
145
154
  };
146
155
  const mergeSlicesIfNeeded = payload => {
@@ -241,13 +250,14 @@ export class WhisperContext {
241
250
  }
242
251
  }
243
252
  const coreMLModelAssetPaths = ['analytics/coremldata.bin', 'weights/weight.bin', 'model.mil', 'coremldata.bin'];
244
- export async function initWhisper(_ref) {
253
+ export async function initWhisper(_ref2) {
245
254
  let {
246
255
  filePath,
247
256
  coreMLModelAsset,
248
257
  isBundleAsset,
258
+ useGpu = true,
249
259
  useCoreMLIos = true
250
- } = _ref;
260
+ } = _ref2;
251
261
  let path = '';
252
262
  let coreMLAssets;
253
263
  if (coreMLModelAsset) {
@@ -292,15 +302,24 @@ export async function initWhisper(_ref) {
292
302
  path = filePath;
293
303
  }
294
304
  if (path.startsWith('file://')) path = path.slice(7);
295
- const id = await RNWhisper.initContext({
305
+ const {
306
+ contextId,
307
+ gpu,
308
+ reasonNoGPU
309
+ } = await RNWhisper.initContext({
296
310
  filePath: path,
297
311
  isBundleAsset: !!isBundleAsset,
312
+ useGpu,
298
313
  useCoreMLIos,
299
314
  // Only development mode need download Core ML model assets (from packager server)
300
315
  downloadCoreMLAssets: __DEV__ && !!coreMLAssets,
301
316
  coreMLAssets
302
317
  });
303
- return new WhisperContext(id);
318
+ return new WhisperContext({
319
+ contextId,
320
+ gpu,
321
+ reasonNoGPU
322
+ });
304
323
  }
305
324
  export async function releaseAllWhisper() {
306
325
  return RNWhisper.releaseAllContexts();
@@ -1 +1 @@
1
- {"version":3,"names":["NativeEventEmitter","DeviceEventEmitter","Platform","Image","RNWhisper","AudioSessionIos","version","EventEmitter","OS","EVENT_ON_TRANSCRIBE_PROGRESS","EVENT_ON_TRANSCRIBE_NEW_SEGMENTS","EVENT_ON_REALTIME_TRANSCRIBE","EVENT_ON_REALTIME_TRANSCRIBE_END","updateAudioSession","setting","setCategory","category","options","mode","setMode","setActive","active","WhisperContext","constructor","id","transcribe","filePath","arguments","length","undefined","path","source","resolveAssetSource","uri","e","Error","startsWith","slice","jobId","Math","floor","random","onProgress","onNewSegments","rest","progressListener","lastProgress","addListener","evt","contextId","progress","removeProgressListener","remove","newSegmentsListener","result","removeNewSegmenetsListener","stop","abortTranscribe","promise","transcribeFile","then","isAborted","catch","transcribeRealtime","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","prevAudioSession","audioSessionOnStartIos","audioSessionOnStopIos","categoryResult","getCurrentCategory","getCurrentMode","startRealtimeTranscribe","subscribe","callback","transcribeListener","endListener","lastPayload","isCapturing","release","releaseContext","coreMLModelAssetPaths","initWhisper","_ref","coreMLModelAsset","isBundleAsset","useCoreMLIos","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","AudioSessionIos","version","EventEmitter","OS","EVENT_ON_TRANSCRIBE_PROGRESS","EVENT_ON_TRANSCRIBE_NEW_SEGMENTS","EVENT_ON_REALTIME_TRANSCRIBE","EVENT_ON_REALTIME_TRANSCRIBE_END","updateAudioSession","setting","setCategory","category","options","mode","setMode","setActive","active","WhisperContext","gpu","reasonNoGPU","constructor","_ref","contextId","id","transcribe","filePath","arguments","length","undefined","path","source","resolveAssetSource","uri","e","Error","startsWith","slice","jobId","Math","floor","random","onProgress","onNewSegments","rest","progressListener","lastProgress","addListener","evt","progress","removeProgressListener","remove","newSegmentsListener","result","removeNewSegmenetsListener","stop","abortTranscribe","promise","transcribeFile","then","isAborted","catch","transcribeRealtime","lastTranscribePayload","slices","sliceIndex","tOffset","putSlice","payload","isUseSlices","data","_slices$sliceIndex","_segments","segments","t1","map","segment","t0","mergeSlicesIfNeeded","mergedPayload","forEach","_mergedPayload$data","_slice$data","_mergedPayload$data2","_slice$data2","processTime","recordingTime","prevAudioSession","audioSessionOnStartIos","audioSessionOnStopIos","categoryResult","getCurrentCategory","getCurrentMode","startRealtimeTranscribe","subscribe","callback","transcribeListener","endListener","lastPayload","isCapturing","release","releaseContext","coreMLModelAssetPaths","initWhisper","_ref2","coreMLModelAsset","isBundleAsset","useGpu","useCoreMLIos","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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"}