pyannote-cpp-node 0.2.1 → 0.2.3

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
@@ -22,7 +22,7 @@ The API supports both one-shot processing (`transcribe`) and incremental streami
22
22
  - Integrated transcription + diarization in one pipeline
23
23
  - Speaker-labeled transcript segments with sentence-level text
24
24
  - One-shot and streaming APIs with the same output schema
25
- - Incremental `segments` events for live applications
25
+ - Incremental `segments` events plus separate real-time `audio` chunk streaming
26
26
  - Deterministic output for the same audio/models/config
27
27
  - CoreML-accelerated inference on macOS
28
28
  - TypeScript-first API with complete type definitions
@@ -105,6 +105,7 @@ Runs one-shot transcription + diarization on the full audio buffer.
105
105
  #### `createSession(): PipelineSession`
106
106
 
107
107
  Creates an independent streaming session for incremental processing.
108
+ This method takes no arguments; native segment/audio callbacks are wired internally.
108
109
 
109
110
  #### `close(): void`
110
111
 
@@ -122,7 +123,18 @@ class PipelineSession extends EventEmitter {
122
123
  async finalize(): Promise<TranscriptionResult>;
123
124
  close(): void;
124
125
  get isClosed(): boolean;
125
- // 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];
126
138
  }
127
139
  ```
128
140
 
@@ -138,6 +150,12 @@ Pushes an arbitrary number of samples into the streaming pipeline.
138
150
 
139
151
  Flushes all stages, runs final recluster + alignment, and returns the definitive result.
140
152
 
153
+ ```typescript
154
+ type TranscriptionResult = {
155
+ segments: AlignedSegment[];
156
+ };
157
+ ```
158
+
141
159
  #### `close(): void`
142
160
 
143
161
  Releases native session resources. Safe to call multiple times.
@@ -151,9 +169,18 @@ Returns `true` after `close()`.
151
169
  Emitted after each Whisper transcription result with the latest cumulative aligned output.
152
170
 
153
171
  ```typescript
154
- session.on('segments', (segments: AlignedSegment[], audio: Float32Array) => {
172
+ session.on('segments', (segments: AlignedSegment[]) => {
155
173
  // `segments` contains the latest cumulative speaker-labeled transcript
156
- // `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
157
184
  });
158
185
  ```
159
186
 
@@ -329,6 +356,10 @@ async function runStreaming(audio: Float32Array) {
329
356
  }
330
357
  });
331
358
 
359
+ session.on('audio', (chunk) => {
360
+ console.log(`silence-filtered audio chunk: ${chunk.length} samples`);
361
+ });
362
+
332
363
  const chunkSize = 16000;
333
364
  for (let i = 0; i < audio.length; i += chunkSize) {
334
365
  const chunk = audio.slice(i, Math.min(i + chunkSize, audio.length));
@@ -424,7 +455,7 @@ The integrated pipeline runs in 7 stages:
424
455
  4. Transcription (Whisper sentence-level segments)
425
456
  5. Alignment (segment-level speaker assignment by overlap)
426
457
  6. Finalize (flush + final recluster + final alignment)
427
- 7. Callback/event emission (`segments` updates)
458
+ 7. Callback/event emission (`segments` updates + `audio` chunk streaming)
428
459
 
429
460
  ## Performance
430
461
 
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pyannote-cpp-node",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
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.1",
21
- "@pyannote-cpp-node/darwin-x64": "0.2.1"
20
+ "@pyannote-cpp-node/darwin-arm64": "0.2.3",
21
+ "@pyannote-cpp-node/darwin-x64": "0.2.3"
22
22
  },
23
23
  "devDependencies": {
24
24
  "typescript": "^5.7.0"