whisper.rn 0.5.0-rc.1 → 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.
- package/README.md +119 -50
- package/lib/commonjs/AudioSessionIos.js +2 -1
- package/lib/commonjs/AudioSessionIos.js.map +1 -1
- package/lib/commonjs/index.js +1 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/jest-mock.js +126 -0
- package/lib/commonjs/jest-mock.js.map +1 -0
- package/lib/commonjs/realtime-transcription/RealtimeTranscriber.js +831 -0
- package/lib/commonjs/realtime-transcription/RealtimeTranscriber.js.map +1 -0
- package/lib/commonjs/realtime-transcription/SliceManager.js +233 -0
- package/lib/commonjs/realtime-transcription/SliceManager.js.map +1 -0
- package/lib/commonjs/realtime-transcription/adapters/AudioPcmStreamAdapter.js +133 -0
- package/lib/commonjs/realtime-transcription/adapters/AudioPcmStreamAdapter.js.map +1 -0
- package/lib/commonjs/realtime-transcription/adapters/JestAudioStreamAdapter.js +201 -0
- package/lib/commonjs/realtime-transcription/adapters/JestAudioStreamAdapter.js.map +1 -0
- package/lib/commonjs/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js +309 -0
- package/lib/commonjs/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js.map +1 -0
- package/lib/commonjs/realtime-transcription/index.js +27 -0
- package/lib/commonjs/realtime-transcription/index.js.map +1 -0
- package/lib/commonjs/realtime-transcription/types.js +114 -0
- package/lib/commonjs/realtime-transcription/types.js.map +1 -0
- package/lib/commonjs/utils/WavFileReader.js +158 -0
- package/lib/commonjs/utils/WavFileReader.js.map +1 -0
- package/lib/commonjs/utils/WavFileWriter.js +181 -0
- package/lib/commonjs/utils/WavFileWriter.js.map +1 -0
- package/lib/commonjs/utils/common.js +25 -0
- package/lib/commonjs/utils/common.js.map +1 -0
- package/lib/module/AudioSessionIos.js +2 -1
- package/lib/module/AudioSessionIos.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/jest-mock.js +124 -0
- package/lib/module/jest-mock.js.map +1 -0
- package/lib/module/realtime-transcription/RealtimeTranscriber.js +825 -0
- package/lib/module/realtime-transcription/RealtimeTranscriber.js.map +1 -0
- package/lib/module/realtime-transcription/SliceManager.js +226 -0
- package/lib/module/realtime-transcription/SliceManager.js.map +1 -0
- package/lib/module/realtime-transcription/adapters/AudioPcmStreamAdapter.js +124 -0
- package/lib/module/realtime-transcription/adapters/AudioPcmStreamAdapter.js.map +1 -0
- package/lib/module/realtime-transcription/adapters/JestAudioStreamAdapter.js +194 -0
- package/lib/module/realtime-transcription/adapters/JestAudioStreamAdapter.js.map +1 -0
- package/lib/module/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js +302 -0
- package/lib/module/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js.map +1 -0
- package/lib/module/realtime-transcription/index.js +8 -0
- package/lib/module/realtime-transcription/index.js.map +1 -0
- package/lib/module/realtime-transcription/types.js +107 -0
- package/lib/module/realtime-transcription/types.js.map +1 -0
- package/lib/module/utils/WavFileReader.js +151 -0
- package/lib/module/utils/WavFileReader.js.map +1 -0
- package/lib/module/utils/WavFileWriter.js +174 -0
- package/lib/module/utils/WavFileWriter.js.map +1 -0
- package/lib/module/utils/common.js +18 -0
- package/lib/module/utils/common.js.map +1 -0
- package/lib/typescript/AudioSessionIos.d.ts +1 -1
- package/lib/typescript/AudioSessionIos.d.ts.map +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/jest-mock.d.ts +2 -0
- package/lib/typescript/jest-mock.d.ts.map +1 -0
- package/lib/typescript/realtime-transcription/RealtimeTranscriber.d.ts +165 -0
- package/lib/typescript/realtime-transcription/RealtimeTranscriber.d.ts.map +1 -0
- package/lib/typescript/realtime-transcription/SliceManager.d.ts +72 -0
- package/lib/typescript/realtime-transcription/SliceManager.d.ts.map +1 -0
- package/lib/typescript/realtime-transcription/adapters/AudioPcmStreamAdapter.d.ts +22 -0
- package/lib/typescript/realtime-transcription/adapters/AudioPcmStreamAdapter.d.ts.map +1 -0
- package/lib/typescript/realtime-transcription/adapters/JestAudioStreamAdapter.d.ts +44 -0
- package/lib/typescript/realtime-transcription/adapters/JestAudioStreamAdapter.d.ts.map +1 -0
- package/lib/typescript/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.d.ts +75 -0
- package/lib/typescript/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.d.ts.map +1 -0
- package/lib/typescript/realtime-transcription/index.d.ts +6 -0
- package/lib/typescript/realtime-transcription/index.d.ts.map +1 -0
- package/lib/typescript/realtime-transcription/types.d.ts +216 -0
- package/lib/typescript/realtime-transcription/types.d.ts.map +1 -0
- package/lib/typescript/utils/WavFileReader.d.ts +61 -0
- package/lib/typescript/utils/WavFileReader.d.ts.map +1 -0
- package/lib/typescript/utils/WavFileWriter.d.ts +57 -0
- package/lib/typescript/utils/WavFileWriter.d.ts.map +1 -0
- package/lib/typescript/utils/common.d.ts +9 -0
- package/lib/typescript/utils/common.d.ts.map +1 -0
- package/package.json +18 -6
- package/src/AudioSessionIos.ts +3 -2
- package/src/index.ts +4 -0
- package/{jest/mock.js → src/jest-mock.ts} +2 -2
- package/src/realtime-transcription/RealtimeTranscriber.ts +983 -0
- package/src/realtime-transcription/SliceManager.ts +252 -0
- package/src/realtime-transcription/adapters/AudioPcmStreamAdapter.ts +143 -0
- package/src/realtime-transcription/adapters/JestAudioStreamAdapter.ts +251 -0
- package/src/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.ts +378 -0
- package/src/realtime-transcription/index.ts +34 -0
- package/src/realtime-transcription/types.ts +277 -0
- package/src/utils/WavFileReader.ts +202 -0
- package/src/utils/WavFileWriter.ts +206 -0
- 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
|
-
|
|
|
16
|
-
|
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
180
|
-
|
|
181
|
-
|
|
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
|
-
|
|
190
|
-
```js
|
|
191
|
-
import { AudioSessionIos } from 'whisper.rn'
|
|
206
|
+
**Dependencies:**
|
|
192
207
|
|
|
193
|
-
|
|
194
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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.
|
|
@@ -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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAyC,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEzC;AACA;AACA;AAFA,IAGYG,uBAAuB;AASnC;AACA;AACA;AAFAC,OAAA,CAAAD,uBAAA,GAAAA,uBAAA;AAAA,WATYA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;AAAA,GAAvBA,uBAAuB,KAAAC,OAAA,CAAAD,uBAAA,GAAvBA,uBAAuB;AAAA,IAYvBE,6BAA6B;AAUzC;AACA;AACA;AAFAD,OAAA,CAAAC,6BAAA,GAAAA,6BAAA;AAAA,WAVYA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;AAAA,GAA7BA,6BAA6B,KAAAD,OAAA,CAAAC,6BAAA,GAA7BA,6BAA6B;AAAA,IAa7BC,mBAAmB;AAAAF,OAAA,CAAAE,mBAAA,GAAAA,mBAAA;AAAA,WAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;AAAA,GAAnBA,mBAAmB,KAAAF,OAAA,CAAAE,mBAAA,GAAnBA,mBAAmB;AAW/B,MAAMC,aAAa,GAAGA,CAAA,KAAM;EAC1B,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE,MAAM,IAAIC,KAAK,CAAC,uBAAuB,CAAC;
|
|
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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"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -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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"}
|