whisper.rn 0.5.0-rc.0 → 0.5.0-rc.2

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 (93) hide show
  1. package/README.md +119 -50
  2. package/android/build.gradle +1 -0
  3. package/lib/commonjs/AudioSessionIos.js +2 -1
  4. package/lib/commonjs/AudioSessionIos.js.map +1 -1
  5. package/lib/commonjs/index.js +1 -0
  6. package/lib/commonjs/index.js.map +1 -1
  7. package/lib/commonjs/jest-mock.js +126 -0
  8. package/lib/commonjs/jest-mock.js.map +1 -0
  9. package/lib/commonjs/realtime-transcription/RealtimeTranscriber.js +831 -0
  10. package/lib/commonjs/realtime-transcription/RealtimeTranscriber.js.map +1 -0
  11. package/lib/commonjs/realtime-transcription/SliceManager.js +233 -0
  12. package/lib/commonjs/realtime-transcription/SliceManager.js.map +1 -0
  13. package/lib/commonjs/realtime-transcription/adapters/AudioPcmStreamAdapter.js +133 -0
  14. package/lib/commonjs/realtime-transcription/adapters/AudioPcmStreamAdapter.js.map +1 -0
  15. package/lib/commonjs/realtime-transcription/adapters/JestAudioStreamAdapter.js +201 -0
  16. package/lib/commonjs/realtime-transcription/adapters/JestAudioStreamAdapter.js.map +1 -0
  17. package/lib/commonjs/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js +309 -0
  18. package/lib/commonjs/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js.map +1 -0
  19. package/lib/commonjs/realtime-transcription/index.js +27 -0
  20. package/lib/commonjs/realtime-transcription/index.js.map +1 -0
  21. package/lib/commonjs/realtime-transcription/types.js +114 -0
  22. package/lib/commonjs/realtime-transcription/types.js.map +1 -0
  23. package/lib/commonjs/utils/WavFileReader.js +158 -0
  24. package/lib/commonjs/utils/WavFileReader.js.map +1 -0
  25. package/lib/commonjs/utils/WavFileWriter.js +181 -0
  26. package/lib/commonjs/utils/WavFileWriter.js.map +1 -0
  27. package/lib/commonjs/utils/common.js +25 -0
  28. package/lib/commonjs/utils/common.js.map +1 -0
  29. package/lib/module/AudioSessionIos.js +2 -1
  30. package/lib/module/AudioSessionIos.js.map +1 -1
  31. package/lib/module/index.js +1 -0
  32. package/lib/module/index.js.map +1 -1
  33. package/lib/module/jest-mock.js +124 -0
  34. package/lib/module/jest-mock.js.map +1 -0
  35. package/lib/module/realtime-transcription/RealtimeTranscriber.js +825 -0
  36. package/lib/module/realtime-transcription/RealtimeTranscriber.js.map +1 -0
  37. package/lib/module/realtime-transcription/SliceManager.js +226 -0
  38. package/lib/module/realtime-transcription/SliceManager.js.map +1 -0
  39. package/lib/module/realtime-transcription/adapters/AudioPcmStreamAdapter.js +124 -0
  40. package/lib/module/realtime-transcription/adapters/AudioPcmStreamAdapter.js.map +1 -0
  41. package/lib/module/realtime-transcription/adapters/JestAudioStreamAdapter.js +194 -0
  42. package/lib/module/realtime-transcription/adapters/JestAudioStreamAdapter.js.map +1 -0
  43. package/lib/module/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js +302 -0
  44. package/lib/module/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js.map +1 -0
  45. package/lib/module/realtime-transcription/index.js +8 -0
  46. package/lib/module/realtime-transcription/index.js.map +1 -0
  47. package/lib/module/realtime-transcription/types.js +107 -0
  48. package/lib/module/realtime-transcription/types.js.map +1 -0
  49. package/lib/module/utils/WavFileReader.js +151 -0
  50. package/lib/module/utils/WavFileReader.js.map +1 -0
  51. package/lib/module/utils/WavFileWriter.js +174 -0
  52. package/lib/module/utils/WavFileWriter.js.map +1 -0
  53. package/lib/module/utils/common.js +18 -0
  54. package/lib/module/utils/common.js.map +1 -0
  55. package/lib/typescript/AudioSessionIos.d.ts +1 -1
  56. package/lib/typescript/AudioSessionIos.d.ts.map +1 -1
  57. package/lib/typescript/index.d.ts.map +1 -1
  58. package/lib/typescript/jest-mock.d.ts +2 -0
  59. package/lib/typescript/jest-mock.d.ts.map +1 -0
  60. package/lib/typescript/realtime-transcription/RealtimeTranscriber.d.ts +165 -0
  61. package/lib/typescript/realtime-transcription/RealtimeTranscriber.d.ts.map +1 -0
  62. package/lib/typescript/realtime-transcription/SliceManager.d.ts +72 -0
  63. package/lib/typescript/realtime-transcription/SliceManager.d.ts.map +1 -0
  64. package/lib/typescript/realtime-transcription/adapters/AudioPcmStreamAdapter.d.ts +22 -0
  65. package/lib/typescript/realtime-transcription/adapters/AudioPcmStreamAdapter.d.ts.map +1 -0
  66. package/lib/typescript/realtime-transcription/adapters/JestAudioStreamAdapter.d.ts +44 -0
  67. package/lib/typescript/realtime-transcription/adapters/JestAudioStreamAdapter.d.ts.map +1 -0
  68. package/lib/typescript/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.d.ts +75 -0
  69. package/lib/typescript/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.d.ts.map +1 -0
  70. package/lib/typescript/realtime-transcription/index.d.ts +6 -0
  71. package/lib/typescript/realtime-transcription/index.d.ts.map +1 -0
  72. package/lib/typescript/realtime-transcription/types.d.ts +216 -0
  73. package/lib/typescript/realtime-transcription/types.d.ts.map +1 -0
  74. package/lib/typescript/utils/WavFileReader.d.ts +61 -0
  75. package/lib/typescript/utils/WavFileReader.d.ts.map +1 -0
  76. package/lib/typescript/utils/WavFileWriter.d.ts +57 -0
  77. package/lib/typescript/utils/WavFileWriter.d.ts.map +1 -0
  78. package/lib/typescript/utils/common.d.ts +9 -0
  79. package/lib/typescript/utils/common.d.ts.map +1 -0
  80. package/package.json +23 -11
  81. package/src/AudioSessionIos.ts +3 -2
  82. package/src/index.ts +4 -0
  83. package/{jest/mock.js → src/jest-mock.ts} +2 -2
  84. package/src/realtime-transcription/RealtimeTranscriber.ts +983 -0
  85. package/src/realtime-transcription/SliceManager.ts +252 -0
  86. package/src/realtime-transcription/adapters/AudioPcmStreamAdapter.ts +143 -0
  87. package/src/realtime-transcription/adapters/JestAudioStreamAdapter.ts +251 -0
  88. package/src/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.ts +378 -0
  89. package/src/realtime-transcription/index.ts +34 -0
  90. package/src/realtime-transcription/types.ts +277 -0
  91. package/src/utils/WavFileReader.ts +202 -0
  92. package/src/utils/WavFileWriter.ts +206 -0
  93. package/src/utils/common.ts +17 -0
package/README.md CHANGED
@@ -11,9 +11,9 @@ React Native binding of [whisper.cpp](https://github.com/ggerganov/whisper.cpp).
11
11
  ## Screenshots
12
12
 
13
13
  | <img src="https://github.com/mybigday/whisper.rn/assets/3001525/2fea7b2d-c911-44fb-9afc-8efc7b594446" width="300" /> | <img src="https://github.com/mybigday/whisper.rn/assets/3001525/a5005a6c-44f7-4db9-95e8-0fd951a2e147" width="300" /> |
14
- | :------------------------------------------: | :------------------------------------------: |
15
- | iOS: Tested on iPhone 13 Pro Max | Android: Tested on Pixel 6 |
16
- | (tiny.en, Core ML enabled, release mode + archive) | (tiny.en, armv8.2-a+fp16, release mode) |
14
+ | :------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------: |
15
+ | iOS: Tested on iPhone 13 Pro Max | Android: Tested on Pixel 6 |
16
+ | (tiny.en, Core ML enabled, release mode + archive) | (tiny.en, armv8.2-a+fp16, release mode) |
17
17
 
18
18
  ## Installation
19
19
 
@@ -49,7 +49,9 @@ You will need to prebuild the project before using it. See [Expo guide](https://
49
49
  If you want to use realtime transcribe, you need to add the microphone permission to your app.
50
50
 
51
51
  ### iOS
52
- Add these lines to ```ios/[YOU_APP_NAME]/info.plist```
52
+
53
+ Add these lines to `ios/[YOU_APP_NAME]/info.plist`
54
+
53
55
  ```xml
54
56
  <key>NSMicrophoneUsageDescription</key>
55
57
  <string>This app requires microphone access in order to transcribe speech</string>
@@ -58,10 +60,13 @@ Add these lines to ```ios/[YOU_APP_NAME]/info.plist```
58
60
  For tvOS, please note that the microphone is not supported.
59
61
 
60
62
  ### Android
61
- Add the following line to ```android/app/src/main/AndroidManifest.xml```
63
+
64
+ Add the following line to `android/app/src/main/AndroidManifest.xml`
65
+
62
66
  ```xml
63
67
  <uses-permission android:name="android.permission.RECORD_AUDIO" />
64
68
  ```
69
+
65
70
  ## Tips & Tricks
66
71
 
67
72
  The [Tips & Tricks](docs/TIPS.md) document is a collection of tips and tricks for using `whisper.rn`.
@@ -83,24 +88,6 @@ const { result } = await promise
83
88
  // result: (The inference text result from audio file)
84
89
  ```
85
90
 
86
- Use realtime transcribe:
87
-
88
- ```js
89
- const { stop, subscribe } = await whisperContext.transcribeRealtime(options)
90
-
91
- subscribe(evt => {
92
- const { isCapturing, data, processTime, recordingTime } = evt
93
- console.log(
94
- `Realtime transcribing: ${isCapturing ? 'ON' : 'OFF'}\n` +
95
- // The inference text result from audio record:
96
- `Result: ${data.result}\n\n` +
97
- `Process time: ${processTime}ms\n` +
98
- `Recording time: ${recordingTime}ms`,
99
- )
100
- if (!isCapturing) console.log('Finished realtime transcribing')
101
- })
102
- ```
103
-
104
91
  ## Voice Activity Detection (VAD)
105
92
 
106
93
  Voice Activity Detection allows you to detect speech segments in audio data using the Silero VAD model.
@@ -157,7 +144,11 @@ const segments = await vadContext.detectSpeechData(base64AudioData, {
157
144
 
158
145
  ```typescript
159
146
  segments.forEach((segment, index) => {
160
- console.log(`Segment ${index + 1}: ${segment.t0.toFixed(2)}s - ${segment.t1.toFixed(2)}s`)
147
+ console.log(
148
+ `Segment ${index + 1}: ${segment.t0.toFixed(2)}s - ${segment.t1.toFixed(
149
+ 2,
150
+ )}s`,
151
+ )
161
152
  console.log(`Duration: ${(segment.t1 - segment.t0).toFixed(2)}s`)
162
153
  })
163
154
  ```
@@ -170,35 +161,57 @@ await vadContext.release()
170
161
  await releaseAllWhisperVad()
171
162
  ```
172
163
 
173
- In iOS, You may need to change the Audio Session so that it can be used with other audio playback, or to optimize the quality of the recording. So we have provided AudioSession utilities for you:
164
+ ## Realtime Transcription
165
+
166
+ The new `RealtimeTranscriber` provides enhanced realtime transcription with features like Voice Activity Detection (VAD), auto-slicing, and memory management.
174
167
 
175
- Option 1 - Use options in transcribeRealtime:
176
168
  ```js
177
- import { AudioSessionIos } from 'whisper.rn'
169
+ // If your RN packager is not enable package exports support, use whisper.rn/src/realtime-transcription
170
+ import { RealtimeTranscriber } from 'whisper.rn/realtime-transcription'
171
+ import { AudioPcmStreamAdapter } from 'whisper.rn/realtime-transcription/adapters'
172
+ import RNFS from 'react-native-fs' // or any compatible filesystem
178
173
 
179
- const { stop, subscribe } = await whisperContext.transcribeRealtime({
180
- audioSessionOnStartIos: {
181
- category: AudioSessionIos.Category.PlayAndRecord,
182
- options: [AudioSessionIos.CategoryOption.MixWithOthers],
183
- mode: AudioSessionIos.Mode.Default,
184
- },
185
- audioSessionOnStopIos: 'restore', // Or an AudioSessionSettingIos
174
+ // Dependencies
175
+ const whisperContext = await initWhisper({
176
+ /* ... */
186
177
  })
178
+ const vadContext = await initWhisperVad({
179
+ /* ... */
180
+ })
181
+ const audioStream = new AudioPcmStreamAdapter() // requires @fugood/react-native-audio-pcm-stream
182
+
183
+ // Create transcriber
184
+ const transcriber = new RealtimeTranscriber(
185
+ { whisperContext, vadContext, audioStream, fs: RNFS },
186
+ {
187
+ audioSliceSec: 30,
188
+ vadPreset: 'default',
189
+ autoSliceOnSpeechEnd: true,
190
+ transcribeOptions: { language: 'en' },
191
+ },
192
+ {
193
+ onTranscribe: (event) => console.log('Transcription:', event.data?.result),
194
+ onVad: (event) => console.log('VAD:', event.type, event.confidence),
195
+ onStatusChange: (isActive) =>
196
+ console.log('Status:', isActive ? 'ACTIVE' : 'INACTIVE'),
197
+ onError: (error) => console.error('Error:', error),
198
+ },
199
+ )
200
+
201
+ // Start/stop transcription
202
+ await transcriber.start()
203
+ await transcriber.stop()
187
204
  ```
188
205
 
189
- Option 2 - Manage the Audio Session in anywhere:
190
- ```js
191
- import { AudioSessionIos } from 'whisper.rn'
206
+ **Dependencies:**
192
207
 
193
- await AudioSessionIos.setCategory(
194
- AudioSessionIos.Category.PlayAndRecord, [AudioSessionIos.CategoryOption.MixWithOthers],
195
- )
196
- await AudioSessionIos.setMode(AudioSessionIos.Mode.Default)
197
- await AudioSessionIos.setActive(true)
198
- // Then you can start do recording
199
- ```
208
+ - `@fugood/react-native-audio-pcm-stream` for `AudioPcmStreamAdapter`
209
+ - Compatible filesystem module (e.g., `react-native-fs`). See [filesystem interface](src/utils/WavFileWriter.ts#L9-L16) for TypeScript definition
200
210
 
201
- In Android, you may need to request the microphone permission by [`PermissionAndroid`](https://reactnative.dev/docs/permissionsandroid).
211
+ **Custom Audio Adapters:**
212
+ You can create custom audio stream adapters by implementing the [AudioStreamInterface](src/realtime-transcription/types.ts#L21-L30). This allows integration with different audio sources or custom audio processing pipelines.
213
+
214
+ **Example:** See [complete example](example/src/RealtimeTranscriber.tsx) for full implementation including file simulation and UI.
202
215
 
203
216
  Please visit the [Documentation](docs/) for more details.
204
217
 
@@ -213,8 +226,10 @@ const whisperContext = await initWhisper({
213
226
  filePath: require('../assets/ggml-tiny.en.bin'),
214
227
  })
215
228
 
216
- const { stop, promise } =
217
- whisperContext.transcribe(require('../assets/sample.wav'), options)
229
+ const { stop, promise } = whisperContext.transcribe(
230
+ require('../assets/sample.wav'),
231
+ options,
232
+ )
218
233
 
219
234
  // ...
220
235
  ```
@@ -233,18 +248,19 @@ module.exports = {
233
248
  ...defaultAssetExts,
234
249
  'bin', // whisper.rn: ggml model binary
235
250
  'mil', // whisper.rn: CoreML model asset
236
- ]
251
+ ],
237
252
  },
238
253
  }
239
254
  ```
240
255
 
241
256
  Please note that:
257
+
242
258
  - It will significantly increase the size of the app in release mode.
243
259
  - The RN packager is not allowed file size larger than 2GB, so it not able to use original f16 `large` model (2.9GB), you can use quantized models instead.
244
260
 
245
261
  ## Core ML support
246
262
 
247
- __*Platform: iOS 15.0+, tvOS 15.0+*__
263
+ **_Platform: iOS 15.0+, tvOS 15.0+_**
248
264
 
249
265
  To use Core ML on iOS, you will need to have the Core ML model files.
250
266
 
@@ -301,9 +317,62 @@ Please follow the [Development Workflow section of contributing guide](./CONTRIB
301
317
  We have provided a mock version of `whisper.rn` for testing purpose you can use on Jest:
302
318
 
303
319
  ```js
304
- jest.mock('whisper.rn', () => require('whisper.rn/jest/mock'))
320
+ jest.mock('whisper.rn', () => require('whisper.rn/jest-mock'))
305
321
  ```
306
322
 
323
+ ## Deprecated APIs
324
+
325
+ ### `transcribeRealtime` (Deprecated)
326
+
327
+ > ⚠️ **Deprecated**: Use `RealtimeTranscriber` instead for enhanced features and better performance.
328
+
329
+ ```js
330
+ const { stop, subscribe } = await whisperContext.transcribeRealtime(options)
331
+
332
+ subscribe((evt) => {
333
+ const { isCapturing, data, processTime, recordingTime } = evt
334
+ console.log(
335
+ `Realtime transcribing: ${isCapturing ? 'ON' : 'OFF'}\n` +
336
+ `Result: ${data.result}\n\n` +
337
+ `Process time: ${processTime}ms\n` +
338
+ `Recording time: ${recordingTime}ms`,
339
+ )
340
+ if (!isCapturing) console.log('Finished realtime transcribing')
341
+ })
342
+ ```
343
+
344
+ In iOS, You may need to change the Audio Session so that it can be used with other audio playback, or to optimize the quality of the recording. So we have provided AudioSession utilities for you:
345
+
346
+ Option 1 - Use options in transcribeRealtime:
347
+
348
+ ```js
349
+ import { AudioSessionIos } from 'whisper.rn'
350
+
351
+ const { stop, subscribe } = await whisperContext.transcribeRealtime({
352
+ audioSessionOnStartIos: {
353
+ category: AudioSessionIos.Category.PlayAndRecord,
354
+ options: [AudioSessionIos.CategoryOption.MixWithOthers],
355
+ mode: AudioSessionIos.Mode.Default,
356
+ },
357
+ audioSessionOnStopIos: 'restore', // Or an AudioSessionSettingIos
358
+ })
359
+ ```
360
+
361
+ Option 2 - Manage the Audio Session in anywhere:
362
+
363
+ ```js
364
+ import { AudioSessionIos } from 'whisper.rn'
365
+
366
+ await AudioSessionIos.setCategory(AudioSessionIos.Category.PlayAndRecord, [
367
+ AudioSessionIos.CategoryOption.MixWithOthers,
368
+ ])
369
+ await AudioSessionIos.setMode(AudioSessionIos.Mode.Default)
370
+ await AudioSessionIos.setActive(true)
371
+ // Then you can start do recording
372
+ ```
373
+
374
+ In Android, you may need to request the microphone permission by [`PermissionAndroid`](https://reactnative.dev/docs/permissionsandroid).
375
+
307
376
  ## Contributing
308
377
 
309
378
  See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.
@@ -102,6 +102,7 @@ android {
102
102
  "**/libreactnative.so",
103
103
  "**/libreactnativejni.so",
104
104
  "**/libturbomodulejsijni.so",
105
+ "**/libreact_nativemodule_core.so",
105
106
  ]
106
107
  }
107
108
 
@@ -51,10 +51,11 @@ exports.AudioSessionModeIos = AudioSessionModeIos;
51
51
  })(AudioSessionModeIos || (exports.AudioSessionModeIos = AudioSessionModeIos = {}));
52
52
  const checkPlatform = () => {
53
53
  if (_reactNative.Platform.OS !== 'ios') throw new Error('Only supported on iOS');
54
+ console.warn('AudioSessionIos is deprecated. To use whisper.rn for realtime transcription, use the new RealtimeTranscriber instead.');
54
55
  };
55
56
 
56
57
  /**
57
- * AudioSession Utility, iOS only.
58
+ * [Deprecated] AudioSession Utility, iOS only.
58
59
  */
59
60
  var _default = {
60
61
  Category: AudioSessionCategoryIos,
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_NativeRNWhisper","_interopRequireDefault","obj","__esModule","default","AudioSessionCategoryIos","exports","AudioSessionCategoryOptionIos","AudioSessionModeIos","checkPlatform","Platform","OS","Error","_default","Category","CategoryOption","Mode","getCurrentCategory","_result$options","result","RNWhisper","getAudioSessionCurrentCategory","category","replace","options","map","option","getCurrentMode","mode","getAudioSessionCurrentMode","setCategory","setAudioSessionCategory","setMode","setAudioSessionMode","setActive","active","setAudioSessionActive"],"sourceRoot":"../../src","sources":["AudioSessionIos.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_NativeRNWhisper","_interopRequireDefault","obj","__esModule","default","AudioSessionCategoryIos","exports","AudioSessionCategoryOptionIos","AudioSessionModeIos","checkPlatform","Platform","OS","Error","console","warn","_default","Category","CategoryOption","Mode","getCurrentCategory","_result$options","result","RNWhisper","getAudioSessionCurrentCategory","category","replace","options","map","option","getCurrentMode","mode","getAudioSessionCurrentMode","setCategory","setAudioSessionCategory","setMode","setAudioSessionMode","setActive","active","setAudioSessionActive"],"sourceRoot":"../../src","sources":["AudioSessionIos.ts"],"mappings":"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"}
@@ -227,6 +227,7 @@ class WhisperContext {
227
227
  /** Transcribe the microphone audio stream, the microphone user permission is required */
228
228
  async transcribeRealtime() {
229
229
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
230
+ console.warn('`transcribeRealtime` is deprecated, use `RealtimeTranscriber` instead');
230
231
  let lastTranscribePayload;
231
232
  const slices = [];
232
233
  let sliceIndex = 0;
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_NativeRNWhisper","_interopRequireDefault","_AudioSessionIos","_version","_RNWhisper$getConstan","obj","__esModule","default","jsiWhisperTranscribeData","jsiWhisperVadDetectSpeech","RNWhisper","installJSIBindings","then","global","whisperTranscribeData","whisperVadDetectSpeech","catch","e","console","warn","EventEmitter","Platform","OS","NativeEventEmitter","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","contextPtr","contextId","ptr","id","transcribeWithNativeMethod","method","data","arguments","length","undefined","jobId","Math","floor","random","onProgress","onNewSegments","rest","progressListener","lastProgress","addListener","evt","progress","removeProgressListener","remove","newSegmentsListener","result","removeNewSegmenetsListener","stop","abortTranscribe","promise","isAborted","transcribe","filePathOrBase64","path","source","Image","resolveAssetSource","uri","Error","startsWith","slice","transcribeData","ArrayBuffer","SharedArrayBuffer","transcribeDataArrayBuffer","jsiOptions","error","transcribeRealtime","lastTranscribePayload","slices","sliceIndex","tOffset","putSlice","payload","isUseSlices","_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","bench","maxThreads","config","nThreads","encodeMs","decodeMs","batchMs","promptMs","JSON","parse","release","releaseContext","exports","coreMLModelAssetPaths","initWhisper","_ref2","filePath","coreMLModelAsset","isBundleAsset","useGpu","useCoreMLIos","useFlashAttn","coreMLAssets","filename","assets","asset","filepath","find","p","includes","filter","initContext","downloadCoreMLAssets","__DEV__","releaseAllWhisper","releaseAllContexts","libVersion","version","useCoreML","coreMLAllowFallback","getConstants","call","isUseCoreML","isCoreMLAllowFallback","WhisperVadContext","_ref3","detectSpeech","vadDetectSpeech","vadDetectSpeechFile","detectSpeechData","audioData","releaseVadContext","initWhisperVad","_ref4","initVadContext","releaseAllWhisperVad","releaseAllVadContexts"],"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","jsiWhisperTranscribeData","jsiWhisperVadDetectSpeech","RNWhisper","installJSIBindings","then","global","whisperTranscribeData","whisperVadDetectSpeech","catch","e","console","warn","EventEmitter","Platform","OS","NativeEventEmitter","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","contextPtr","contextId","ptr","id","transcribeWithNativeMethod","method","data","arguments","length","undefined","jobId","Math","floor","random","onProgress","onNewSegments","rest","progressListener","lastProgress","addListener","evt","progress","removeProgressListener","remove","newSegmentsListener","result","removeNewSegmenetsListener","stop","abortTranscribe","promise","isAborted","transcribe","filePathOrBase64","path","source","Image","resolveAssetSource","uri","Error","startsWith","slice","transcribeData","ArrayBuffer","SharedArrayBuffer","transcribeDataArrayBuffer","jsiOptions","error","transcribeRealtime","lastTranscribePayload","slices","sliceIndex","tOffset","putSlice","payload","isUseSlices","_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","bench","maxThreads","config","nThreads","encodeMs","decodeMs","batchMs","promptMs","JSON","parse","release","releaseContext","exports","coreMLModelAssetPaths","initWhisper","_ref2","filePath","coreMLModelAsset","isBundleAsset","useGpu","useCoreMLIos","useFlashAttn","coreMLAssets","filename","assets","asset","filepath","find","p","includes","filter","initContext","downloadCoreMLAssets","__DEV__","releaseAllWhisper","releaseAllContexts","libVersion","version","useCoreML","coreMLAllowFallback","getConstants","call","isUseCoreML","isCoreMLAllowFallback","WhisperVadContext","_ref3","detectSpeech","vadDetectSpeech","vadDetectSpeechFile","detectSpeechData","audioData","releaseVadContext","initWhisperVad","_ref4","initVadContext","releaseAllWhisperVad","releaseAllVadContexts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+
3
+ var _reactNative = require("react-native");
4
+ if (!_reactNative.NativeModules.RNWhisper) {
5
+ _reactNative.NativeModules.RNWhisper = {
6
+ installJSIBindings: jest.fn(() => Promise.resolve()),
7
+ initContext: jest.fn(() => Promise.resolve({
8
+ contextId: 1
9
+ })),
10
+ transcribeFile: jest.fn(() => Promise.resolve({
11
+ result: ' Test',
12
+ segments: [{
13
+ text: ' Test',
14
+ t0: 0,
15
+ t1: 33
16
+ }],
17
+ isAborted: false
18
+ })),
19
+ transcribeData: jest.fn(() => Promise.resolve({
20
+ result: ' Test',
21
+ segments: [{
22
+ text: ' Test',
23
+ t0: 0,
24
+ t1: 33
25
+ }],
26
+ isAborted: false
27
+ })),
28
+ startRealtimeTranscribe: jest.fn((contextId, jobId) => {
29
+ setTimeout(() => {
30
+ // Start
31
+ _reactNative.DeviceEventEmitter.emit('@RNWhisper_onRealtimeTranscribe', {
32
+ contextId,
33
+ jobId,
34
+ payload: {
35
+ isCapturing: true,
36
+ data: {
37
+ result: ' Test',
38
+ segments: [{
39
+ text: ' Test',
40
+ t0: 0,
41
+ t1: 33
42
+ }]
43
+ },
44
+ processTime: 100,
45
+ recordingTime: 1000
46
+ }
47
+ });
48
+ _reactNative.DeviceEventEmitter.emit('@RNWhisper_onRealtimeTranscribe', {
49
+ contextId,
50
+ jobId,
51
+ payload: {
52
+ isCapturing: false,
53
+ data: {
54
+ result: ' Test',
55
+ segments: [{
56
+ text: ' Test',
57
+ t0: 0,
58
+ t1: 33
59
+ }]
60
+ },
61
+ processTime: 100,
62
+ recordingTime: 2000
63
+ }
64
+ });
65
+ // End event
66
+ _reactNative.DeviceEventEmitter.emit('@RNWhisper_onRealtimeTranscribeEnd', {
67
+ contextId,
68
+ jobId,
69
+ payload: {}
70
+ });
71
+ });
72
+ }),
73
+ bench: jest.fn(() => Promise.resolve({
74
+ config: 'NEON',
75
+ nThreads: 1,
76
+ encodeMs: 1,
77
+ decodeMs: 1,
78
+ batchMs: 1,
79
+ promptMs: 1
80
+ })),
81
+ releaseContext: jest.fn(() => Promise.resolve()),
82
+ releaseAllContexts: jest.fn(() => Promise.resolve()),
83
+ // VAD methods
84
+ initVadContext: jest.fn(() => Promise.resolve({
85
+ contextId: 2,
86
+ gpu: false,
87
+ reasonNoGPU: 'Mock VAD context'
88
+ })),
89
+ vadDetectSpeech: jest.fn().mockResolvedValue([{
90
+ t0: 0.5,
91
+ t1: 2.3
92
+ }, {
93
+ t0: 3.1,
94
+ t1: 5.8
95
+ }, {
96
+ t0: 7.2,
97
+ t1: 9.4
98
+ }]),
99
+ vadDetectSpeechFile: jest.fn().mockResolvedValue([{
100
+ t0: 0.5,
101
+ t1: 2.3
102
+ }, {
103
+ t0: 3.1,
104
+ t1: 5.8
105
+ }, {
106
+ t0: 7.2,
107
+ t1: 9.4
108
+ }]),
109
+ releaseVadContext: jest.fn(() => Promise.resolve()),
110
+ releaseAllVadContexts: jest.fn(() => Promise.resolve()),
111
+ // iOS AudioSession utils
112
+ getAudioSessionCurrentCategory: jest.fn(() => Promise.resolve({
113
+ category: 'AVAudioSessionCategoryPlayAndRecord',
114
+ options: []
115
+ })),
116
+ getAudioSessionCurrentMode: jest.fn(() => Promise.resolve('')),
117
+ setAudioSessionCategory: jest.fn(() => Promise.resolve()),
118
+ setAudioSessionMode: jest.fn(() => Promise.resolve()),
119
+ setAudioSessionActive: jest.fn(() => Promise.resolve()),
120
+ // For NativeEventEmitter
121
+ addListener: jest.fn(),
122
+ removeListeners: jest.fn()
123
+ };
124
+ }
125
+ module.exports = jest.requireActual('whisper.rn/index');
126
+ //# sourceMappingURL=jest-mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","NativeModules","RNWhisper","installJSIBindings","jest","fn","Promise","resolve","initContext","contextId","transcribeFile","result","segments","text","t0","t1","isAborted","transcribeData","startRealtimeTranscribe","jobId","setTimeout","DeviceEventEmitter","emit","payload","isCapturing","data","processTime","recordingTime","bench","config","nThreads","encodeMs","decodeMs","batchMs","promptMs","releaseContext","releaseAllContexts","initVadContext","gpu","reasonNoGPU","vadDetectSpeech","mockResolvedValue","vadDetectSpeechFile","releaseVadContext","releaseAllVadContexts","getAudioSessionCurrentCategory","category","options","getAudioSessionCurrentMode","setAudioSessionCategory","setAudioSessionMode","setAudioSessionActive","addListener","removeListeners","module","exports","requireActual"],"sourceRoot":"../../src","sources":["jest-mock.ts"],"mappings":"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"}