pyannote-cpp-node 0.2.0 → 0.2.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 CHANGED
@@ -3,7 +3,7 @@
3
3
  ![Platform](https://img.shields.io/badge/platform-macOS-lightgrey)
4
4
  ![Node](https://img.shields.io/badge/node-%3E%3D18-brightgreen)
5
5
 
6
- Node.js native bindings for integrated Whisper transcription + speaker diarization with speaker-labeled, word-level output.
6
+ Node.js native bindings for integrated Whisper transcription + speaker diarization with speaker-labeled segment output.
7
7
 
8
8
  ## Overview
9
9
 
@@ -14,16 +14,15 @@ Given 16 kHz mono PCM audio (`Float32Array`), it produces cumulative and final t
14
14
  - speaker label (`SPEAKER_00`, `SPEAKER_01`, ...)
15
15
  - segment start/duration in seconds
16
16
  - segment text
17
- - per-word timestamps
18
17
 
19
18
  The API supports both one-shot processing (`transcribe`) and incremental streaming (`createSession` + `push`/`finalize`). All heavy operations are asynchronous and run on libuv worker threads.
20
19
 
21
20
  ## Features
22
21
 
23
22
  - Integrated transcription + diarization in one pipeline
24
- - Speaker-labeled, word-level transcript output
23
+ - Speaker-labeled transcript segments with sentence-level text
25
24
  - One-shot and streaming APIs with the same output schema
26
- - Incremental `segments` events for live applications
25
+ - Incremental `segments` events plus separate real-time `audio` chunk streaming
27
26
  - Deterministic output for the same audio/models/config
28
27
  - CoreML-accelerated inference on macOS
29
28
  - TypeScript-first API with complete type definitions
@@ -106,6 +105,7 @@ Runs one-shot transcription + diarization on the full audio buffer.
106
105
  #### `createSession(): PipelineSession`
107
106
 
108
107
  Creates an independent streaming session for incremental processing.
108
+ This method takes no arguments; native segment/audio callbacks are wired internally.
109
109
 
110
110
  #### `close(): void`
111
111
 
@@ -123,7 +123,18 @@ class PipelineSession extends EventEmitter {
123
123
  async finalize(): Promise<TranscriptionResult>;
124
124
  close(): void;
125
125
  get isClosed(): boolean;
126
- // Event: 'segments' -> (segments: AlignedSegment[], audio: Float32Array)
126
+ on<K extends keyof PipelineSessionEvents>(
127
+ event: K,
128
+ listener: (...args: PipelineSessionEvents[K]) => void
129
+ ): this;
130
+ }
131
+ ```
132
+
133
+ ```typescript
134
+ interface PipelineSessionEvents {
135
+ segments: [segments: AlignedSegment[]];
136
+ audio: [audio: Float32Array];
137
+ error: [error: Error];
127
138
  }
128
139
  ```
129
140
 
@@ -139,6 +150,12 @@ Pushes an arbitrary number of samples into the streaming pipeline.
139
150
 
140
151
  Flushes all stages, runs final recluster + alignment, and returns the definitive result.
141
152
 
153
+ ```typescript
154
+ type TranscriptionResult = {
155
+ segments: AlignedSegment[];
156
+ };
157
+ ```
158
+
142
159
  #### `close(): void`
143
160
 
144
161
  Releases native session resources. Safe to call multiple times.
@@ -152,9 +169,18 @@ Returns `true` after `close()`.
152
169
  Emitted after each Whisper transcription result with the latest cumulative aligned output.
153
170
 
154
171
  ```typescript
155
- session.on('segments', (segments: AlignedSegment[], audio: Float32Array) => {
172
+ session.on('segments', (segments: AlignedSegment[]) => {
156
173
  // `segments` contains the latest cumulative speaker-labeled transcript
157
- // `audio` contains the chunk submitted for this callback cycle
174
+ });
175
+ ```
176
+
177
+ #### Event: `'audio'`
178
+
179
+ Emitted in real-time with silence-filtered PCM chunks (`Float32Array`) as the pipeline processes audio.
180
+
181
+ ```typescript
182
+ session.on('audio', (chunk: Float32Array) => {
183
+ // `chunk` is silence-filtered audio emitted for streaming consumers
158
184
  });
159
185
  ```
160
186
 
@@ -162,108 +188,104 @@ session.on('segments', (segments: AlignedSegment[], audio: Float32Array) => {
162
188
 
163
189
  ```typescript
164
190
  export interface ModelConfig {
165
- /** Path to segmentation GGUF model file. */
191
+ // === Required Model Paths ===
192
+ /** Path to segmentation GGUF model */
166
193
  segModelPath: string;
167
194
 
168
- /** Path to embedding GGUF model file. */
195
+ /** Path to embedding GGUF model */
169
196
  embModelPath: string;
170
197
 
171
- /** Path to PLDA GGUF model file. */
198
+ /** Path to PLDA GGUF model */
172
199
  pldaPath: string;
173
200
 
174
- /** Path to embedding CoreML .mlpackage directory. */
201
+ /** Path to embedding CoreML .mlpackage directory */
175
202
  coremlPath: string;
176
203
 
177
- /** Path to segmentation CoreML .mlpackage directory. */
204
+ /** Path to segmentation CoreML .mlpackage directory */
178
205
  segCoremlPath: string;
179
206
 
180
- /** Path to Whisper GGUF model file. */
207
+ /** Path to Whisper GGUF model */
181
208
  whisperModelPath: string;
182
209
 
183
- /** Optional path to Silero VAD model file; enables silence compression. */
210
+ // === Optional Model Paths ===
211
+ /** Path to Silero VAD model (optional, enables silence compression) */
184
212
  vadModelPath?: string;
185
213
 
186
- /** Enable GPU for Whisper. Default: true. */
214
+ // === Whisper Context Options (model loading) ===
215
+ /** Enable GPU acceleration (default: true) */
187
216
  useGpu?: boolean;
188
217
 
189
- /** Enable flash attention when supported. Default: true. */
218
+ /** Enable Flash Attention (default: true) */
190
219
  flashAttn?: boolean;
191
220
 
192
- /** GPU device index. Default: 0. */
221
+ /** GPU device index (default: 0) */
193
222
  gpuDevice?: number;
194
223
 
195
224
  /**
196
- * Enable Whisper CoreML encoder.
197
- * Default: false.
198
- * Requires a matching `-encoder.mlmodelc` next to the GGUF model.
225
+ * Enable CoreML acceleration for Whisper encoder on macOS (default: false).
226
+ * The CoreML model must be placed next to the GGUF model with naming convention:
227
+ * e.g., ggml-base.en.bin -> ggml-base.en-encoder.mlmodelc/
199
228
  */
200
229
  useCoreml?: boolean;
201
230
 
202
- /** Suppress Whisper native logs. Default: false. */
231
+ /** Suppress whisper.cpp log output (default: false) */
203
232
  noPrints?: boolean;
204
233
 
205
- /** Number of decode threads. Default: 4. */
234
+ // === Whisper Decode Options ===
235
+ /** Number of threads for Whisper inference (default: 4) */
206
236
  nThreads?: number;
207
237
 
208
- /** Language code for transcription. Default: 'en'. Omit for auto-detect behavior with model settings. */
238
+ /** Language code (e.g., 'en', 'zh'). Omit for auto-detect. (default: 'en') */
209
239
  language?: string;
210
240
 
211
- /** Translate to English. Default: false. */
241
+ /** Translate non-English speech to English (default: false) */
212
242
  translate?: boolean;
213
243
 
214
- /** Force language detection pass. Default: false. */
244
+ /** Auto-detect spoken language. Overrides 'language' when true. (default: false) */
215
245
  detectLanguage?: boolean;
216
246
 
217
- /** Base sampling temperature. Default: 0.0 (greedy). */
247
+ // === Sampling ===
248
+ /** Sampling temperature. 0.0 = greedy deterministic. (default: 0.0) */
218
249
  temperature?: number;
219
250
 
220
- /** Temperature increment for fallback sampling. Default: 0.2. */
251
+ /** Temperature increment for fallback retries (default: 0.2) */
221
252
  temperatureInc?: number;
222
253
 
223
- /** Disable temperature fallback ladder. Default: false. */
254
+ /** Disable temperature fallback. If true, temperatureInc is ignored. (default: false) */
224
255
  noFallback?: boolean;
225
256
 
226
- /** Beam size. Default: -1 (greedy with best_of). */
257
+ /** Beam search size. -1 uses greedy decoding. >1 enables beam search. (default: -1) */
227
258
  beamSize?: number;
228
259
 
229
- /** Number of candidates in best-of sampling. Default: 5. */
260
+ /** Best-of-N sampling candidates for greedy decoding (default: 5) */
230
261
  bestOf?: number;
231
262
 
232
- /** Compression/entropy threshold. Default: 2.4. */
263
+ // === Thresholds ===
264
+ /** Entropy threshold for decoder fallback (default: 2.4) */
233
265
  entropyThold?: number;
234
266
 
235
- /** Average logprob threshold. Default: -1.0. */
267
+ /** Log probability threshold for decoder fallback (default: -1.0) */
236
268
  logprobThold?: number;
237
269
 
238
- /** No-speech probability threshold. Default: 0.6. */
270
+ /** No-speech probability threshold (default: 0.6) */
239
271
  noSpeechThold?: number;
240
272
 
241
- /** Optional initial prompt text. Default: undefined. */
273
+ // === Context ===
274
+ /** Initial prompt text to condition the decoder (default: none) */
242
275
  prompt?: string;
243
276
 
244
- /** Disable context carry-over between decode windows. Default: true. */
277
+ /** Don't use previous segment as context for next segment (default: true) */
245
278
  noContext?: boolean;
246
279
 
247
- /** Suppress blank tokens. Default: true. */
280
+ /** Suppress blank outputs at the beginning of segments (default: true) */
248
281
  suppressBlank?: boolean;
249
282
 
250
- /** Suppress non-speech tokens. Default: false. */
283
+ /** Suppress non-speech tokens (default: false) */
251
284
  suppressNst?: boolean;
252
285
  }
253
286
 
254
- export interface AlignedWord {
255
- /** Word text (may include leading space from Whisper tokenization). */
256
- text: string;
257
-
258
- /** Word start time in seconds. */
259
- start: number;
260
-
261
- /** Word end time in seconds. */
262
- end: number;
263
- }
264
-
265
287
  export interface AlignedSegment {
266
- /** Global speaker label (for example, SPEAKER_00). */
288
+ /** Global speaker label (e.g., SPEAKER_00). */
267
289
  speaker: string;
268
290
 
269
291
  /** Segment start time in seconds. */
@@ -272,11 +294,8 @@ export interface AlignedSegment {
272
294
  /** Segment duration in seconds. */
273
295
  duration: number;
274
296
 
275
- /** Segment text (concatenated from words). */
297
+ /** Transcribed text for this segment. */
276
298
  text: string;
277
-
278
- /** Word-level timestamps for the segment. */
279
- words: AlignedWord[];
280
299
  }
281
300
 
282
301
  export interface TranscriptionResult {
@@ -337,6 +356,10 @@ async function runStreaming(audio: Float32Array) {
337
356
  }
338
357
  });
339
358
 
359
+ session.on('audio', (chunk) => {
360
+ console.log(`silence-filtered audio chunk: ${chunk.length} samples`);
361
+ });
362
+
340
363
  const chunkSize = 16000;
341
364
  for (let i = 0; i < audio.length; i += chunkSize) {
342
365
  const chunk = audio.slice(i, Math.min(i + chunkSize, audio.length));
@@ -407,11 +430,7 @@ The pipeline returns this JSON shape:
407
430
  "speaker": "SPEAKER_00",
408
431
  "start": 0.497000,
409
432
  "duration": 2.085000,
410
- "text": "Hello world",
411
- "words": [
412
- {"text": " Hello", "start": 0.500000, "end": 0.800000},
413
- {"text": " world", "start": 0.900000, "end": 1.200000}
414
- ]
433
+ "text": "Hello world"
415
434
  }
416
435
  ]
417
436
  }
@@ -433,17 +452,17 @@ The integrated pipeline runs in 7 stages:
433
452
  1. VAD silence filter (optional compression of long silence)
434
453
  2. Audio buffer (stream-safe FIFO with timestamp tracking)
435
454
  3. Segmentation (speech activity over rolling windows)
436
- 4. Transcription (Whisper sentence + word timestamps)
455
+ 4. Transcription (Whisper sentence-level segments)
437
456
  5. Alignment (segment-level speaker assignment by overlap)
438
457
  6. Finalize (flush + final recluster + final alignment)
439
- 7. Callback/event emission (`segments` updates)
458
+ 7. Callback/event emission (`segments` updates + `audio` chunk streaming)
440
459
 
441
460
  ## Performance
442
461
 
443
462
  - Diarization only: **39x real-time**
444
463
  - Integrated transcription + diarization: **~14.6x real-time**
445
464
  - 45-minute Korean meeting test (6 speakers): **2713s audio in 186s**
446
- - Alignment reduction: **701 Whisper segments -> 186 aligned speaker segments**
465
+ - Each Whisper segment maps 1:1 to a speaker-labeled segment (no merging)
447
466
  - Speaker confusion rate: **2.55%**
448
467
 
449
468
  ## Platform Support
@@ -1 +1 @@
1
- {"version":3,"file":"Pipeline.d.ts","sourceRoot":"","sources":["../src/Pipeline.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAsB;IAEpC,OAAO;WAIM,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAiBnD,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAOnE,aAAa,IAAI,eAAe;IAUhC,KAAK,IAAI,IAAI;IACb,IAAI,QAAQ,IAAI,OAAO,CAAiC;CACzD"}
1
+ {"version":3,"file":"Pipeline.d.ts","sourceRoot":"","sources":["../src/Pipeline.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAsB;IAEpC,OAAO;WAIM,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAiBnD,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAOnE,aAAa,IAAI,eAAe;IAWhC,KAAK,IAAI,IAAI;IACb,IAAI,QAAQ,IAAI,OAAO,CAAiC;CACzD"}
package/dist/Pipeline.js CHANGED
@@ -36,9 +36,7 @@ export class Pipeline {
36
36
  if (this.native.isClosed)
37
37
  throw new Error('Pipeline is closed');
38
38
  const session = new PipelineSession();
39
- const nativeSession = this.native.createSession((segments, audio) => {
40
- session._onNativeCallback(segments, audio);
41
- });
39
+ const nativeSession = this.native.createSession((segments) => session._onSegmentsCallback(segments), (audio) => session._onAudioCallback(audio));
42
40
  session._setNative(nativeSession);
43
41
  return session;
44
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Pipeline.js","sourceRoot":"","sources":["../src/Pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAA4B,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,MAAM,OAAO,QAAQ;IACX,MAAM,CAAsB;IAEpC,YAAoB,MAA2B;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAmB;QACnC,MAAM,aAAa,GAAG;YACpB,MAAM,CAAC,YAAY;YACnB,MAAM,CAAC,YAAY;YACnB,MAAM,CAAC,QAAQ;YACf,MAAM,CAAC,UAAU;YACjB,MAAM,CAAC,aAAa;YACpB,MAAM,CAAC,gBAAgB;SACxB,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,aAAa;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,YAAY;YAAE,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEzD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAmB;QAClC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAChE,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;QACnF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,QAAe,EAAE,KAAmB,EAAE,EAAE;YACvF,OAAO,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,KAAW,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtC,IAAI,QAAQ,KAAc,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;CACzD"}
1
+ {"version":3,"file":"Pipeline.js","sourceRoot":"","sources":["../src/Pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAA4B,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,MAAM,OAAO,QAAQ;IACX,MAAM,CAAsB;IAEpC,YAAoB,MAA2B;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAmB;QACnC,MAAM,aAAa,GAAG;YACpB,MAAM,CAAC,YAAY;YACnB,MAAM,CAAC,YAAY;YACnB,MAAM,CAAC,QAAQ;YACf,MAAM,CAAC,UAAU;YACjB,MAAM,CAAC,aAAa;YACpB,MAAM,CAAC,gBAAgB;SACxB,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,aAAa;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,YAAY;YAAE,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEzD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAmB;QAClC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAChE,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;QACnF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAC7C,CAAC,QAAe,EAAE,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAC1D,CAAC,KAAmB,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CACzD,CAAC;QACF,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,KAAW,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtC,IAAI,QAAQ,KAAc,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;CACzD"}
@@ -2,14 +2,16 @@ import { EventEmitter } from 'node:events';
2
2
  import type { NativePipelineSession } from './binding.js';
3
3
  import type { AlignedSegment, TranscriptionResult } from './types.js';
4
4
  export interface PipelineSessionEvents {
5
- segments: [segments: AlignedSegment[], audio: Float32Array];
5
+ segments: [segments: AlignedSegment[]];
6
+ audio: [audio: Float32Array];
6
7
  error: [error: Error];
7
8
  }
8
9
  export declare class PipelineSession extends EventEmitter {
9
10
  private native;
10
11
  constructor();
11
12
  _setNative(native: NativePipelineSession): void;
12
- _onNativeCallback(segments: any[], audio: Float32Array): void;
13
+ _onSegmentsCallback(segments: any[]): void;
14
+ _onAudioCallback(audio: Float32Array): void;
13
15
  push(audio: Float32Array): Promise<boolean[]>;
14
16
  finalize(): Promise<TranscriptionResult>;
15
17
  close(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"PipelineSession.d.ts","sourceRoot":"","sources":["../src/PipelineSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC5D,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;CACvB;AAED,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,MAAM,CAAsC;;IAMpD,UAAU,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAI/C,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAKvD,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAW7C,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAQ9C,KAAK,IAAI,IAAI;IAMb,IAAI,QAAQ,IAAI,OAAO,CAEtB;CACF"}
1
+ {"version":3,"file":"PipelineSession.d.ts","sourceRoot":"","sources":["../src/PipelineSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IACvC,KAAK,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;CACvB;AAED,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,MAAM,CAAsC;;IAMpD,UAAU,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAI/C,mBAAmB,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI;IAI1C,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAIrC,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAW7C,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAQ9C,KAAK,IAAI,IAAI;IAMb,IAAI,QAAQ,IAAI,OAAO,CAEtB;CACF"}
@@ -7,9 +7,11 @@ export class PipelineSession extends EventEmitter {
7
7
  _setNative(native) {
8
8
  this.native = native;
9
9
  }
10
- _onNativeCallback(segments, audio) {
11
- const typedSegments = segments;
12
- this.emit('segments', typedSegments, audio);
10
+ _onSegmentsCallback(segments) {
11
+ this.emit('segments', segments);
12
+ }
13
+ _onAudioCallback(audio) {
14
+ this.emit('audio', audio);
13
15
  }
14
16
  async push(audio) {
15
17
  if (!this.native || this.native.isClosed) {
@@ -1 +1 @@
1
- {"version":3,"file":"PipelineSession.js","sourceRoot":"","sources":["../src/PipelineSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAU3C,MAAM,OAAO,eAAgB,SAAQ,YAAY;IACvC,MAAM,GAAiC,IAAI,CAAC;IAEpD;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,UAAU,CAAC,MAA6B;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,iBAAiB,CAAC,QAAe,EAAE,KAAmB;QACpD,MAAM,aAAa,GAAqB,QAA4B,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAmB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9C,CAAC;CACF"}
1
+ {"version":3,"file":"PipelineSession.js","sourceRoot":"","sources":["../src/PipelineSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAW3C,MAAM,OAAO,eAAgB,SAAQ,YAAY;IACvC,MAAM,GAAiC,IAAI,CAAC;IAEpD;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,UAAU,CAAC,MAA6B;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,mBAAmB,CAAC,QAAe;QACjC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAA4B,CAAC,CAAC;IACtD,CAAC;IAED,gBAAgB,CAAC,KAAmB;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAmB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9C,CAAC;CACF"}
package/dist/binding.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { ModelConfig, TranscriptionResult } from './types.js';
2
2
  export interface NativePipelineModel {
3
3
  transcribe(audio: Float32Array): Promise<TranscriptionResult>;
4
- createSession(callback: (segments: any[], audio: Float32Array) => void): NativePipelineSession;
4
+ createSession(segmentsCb: (segments: any[]) => void, audioCb: (audio: Float32Array) => void): NativePipelineSession;
5
5
  close(): void;
6
6
  isClosed: boolean;
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAInE,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9D,aAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,qBAAqB,CAAC;IAC/F,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9C,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzC,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,KAAK,MAAM,EAAE,WAAW,KAAK,mBAAmB,CAAC;IAChE,eAAe,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,qBAAqB,CAAC;CACpE;AAoCD,wBAAgB,UAAU,IAAI,aAAa,CAyB1C"}
1
+ {"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAInE,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9D,aAAa,CACX,UAAU,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,IAAI,EACrC,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GACrC,qBAAqB,CAAC;IACzB,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9C,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzC,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,KAAK,MAAM,EAAE,WAAW,KAAK,mBAAmB,CAAC;IAChE,eAAe,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,qBAAqB,CAAC;CACpE;AAoCD,wBAAgB,UAAU,IAAI,aAAa,CAyB1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"binding.js","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAIvC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAqB/C,IAAI,aAAa,GAAyB,IAAI,CAAC;AAE/C,SAAS,cAAc;IACrB,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,yBAAyB,OAAO,CAAC,QAAQ,oDAAoD,CAC9F,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,iCAAiC,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC3B,OAAO,+BAA+B,CAAC;IACzC,CAAC;IAED,MAAM,IAAI,KAAK,CACb,sCAAsC,OAAO,CAAC,IAAI,8CAA8C,CACjG,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,KAAgC,CAAC;IACnD,OAAO,CACL,OAAO,SAAS,CAAC,aAAa,KAAK,UAAU;QAC7C,OAAO,SAAS,CAAC,eAAe,KAAK,UAAU,CAChD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CACb,iCAAiC,WAAW,gEAAgE,OAAO,EAAE,CACtH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,sCAAsC,WAAW,6DAA6D,CAC/G,CAAC;IACJ,CAAC;IAED,aAAa,GAAG,MAAM,CAAC;IACvB,OAAO,aAAa,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"binding.js","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAIvC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAwB/C,IAAI,aAAa,GAAyB,IAAI,CAAC;AAE/C,SAAS,cAAc;IACrB,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,yBAAyB,OAAO,CAAC,QAAQ,oDAAoD,CAC9F,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,iCAAiC,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC3B,OAAO,+BAA+B,CAAC;IACzC,CAAC;IAED,MAAM,IAAI,KAAK,CACb,sCAAsC,OAAO,CAAC,IAAI,8CAA8C,CACjG,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,KAAgC,CAAC;IACnD,OAAO,CACL,OAAO,SAAS,CAAC,aAAa,KAAK,UAAU;QAC7C,OAAO,SAAS,CAAC,eAAe,KAAK,UAAU,CAChD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CACb,iCAAiC,WAAW,gEAAgE,OAAO,EAAE,CACtH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,sCAAsC,WAAW,6DAA6D,CAC/G,CAAC;IACJ,CAAC;IAED,aAAa,GAAG,MAAM,CAAC;IACvB,OAAO,aAAa,CAAC;AACvB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { Pipeline } from './Pipeline.js';
2
2
  export { PipelineSession } from './PipelineSession.js';
3
- export type { AlignedSegment, AlignedWord, ModelConfig, TranscriptionResult, } from './types.js';
3
+ export type { AlignedSegment, ModelConfig, TranscriptionResult, } from './types.js';
4
4
  export type { NativePipelineModel, NativePipelineSession, NativeBinding, } from './binding.js';
5
5
  export { getBinding } from './binding.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EACV,cAAc,EACd,WAAW,EACX,WAAW,EACX,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EACV,cAAc,EACd,WAAW,EACX,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAYvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAWvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
package/dist/types.d.ts CHANGED
@@ -60,17 +60,11 @@ export interface ModelConfig {
60
60
  /** Suppress non-speech tokens (default: false) */
61
61
  suppressNst?: boolean;
62
62
  }
63
- export interface AlignedWord {
64
- text: string;
65
- start: number;
66
- end: number;
67
- }
68
63
  export interface AlignedSegment {
69
64
  speaker: string;
70
65
  start: number;
71
66
  duration: number;
72
67
  text: string;
73
- words: AlignedWord[];
74
68
  }
75
69
  export interface TranscriptionResult {
76
70
  segments: AlignedSegment[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAE1B,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IAGzB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oFAAoF;IACpF,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yFAAyF;IACzF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kDAAkD;IAClD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAE1B,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IAGzB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oFAAoF;IACpF,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yFAAyF;IACzF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kDAAkD;IAClD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pyannote-cpp-node",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -17,8 +17,8 @@
17
17
  "access": "public"
18
18
  },
19
19
  "optionalDependencies": {
20
- "@pyannote-cpp-node/darwin-arm64": "0.2.0",
21
- "@pyannote-cpp-node/darwin-x64": "0.2.0"
20
+ "@pyannote-cpp-node/darwin-arm64": "0.2.2",
21
+ "@pyannote-cpp-node/darwin-x64": "0.2.1"
22
22
  },
23
23
  "devDependencies": {
24
24
  "typescript": "^5.7.0"