Fixed ASR
All checks were successful
Publish Library / Build NPM Project (push) Successful in 30s
Publish Library / Tag Version (push) Successful in 4s

This commit is contained in:
2026-02-12 13:31:30 -05:00
parent 46ae0f7913
commit 575fbac099
3 changed files with 10 additions and 7 deletions

View File

@@ -75,6 +75,7 @@ A TypeScript library that provides a unified interface for working with multiple
#### Instructions
1. Install the package: `npm i @ztimson/ai-utils`
2. For speaker diarization: `pip install pyannote.audio`
</details>
@@ -90,8 +91,9 @@ A TypeScript library that provides a unified interface for working with multiple
#### Instructions
1. Install the dependencies: `npm i`
2. Build library: `npm build`
3. Run unit tests: `npm test`
2. For speaker diarization: `pip install pyannote.audio`
3. Build library: `npm build`
4. Run unit tests: `npm test`
</details>

View File

@@ -1,6 +1,6 @@
{
"name": "@ztimson/ai-utils",
"version": "0.6.1",
"version": "0.6.2",
"description": "AI Utility library",
"author": "Zak Timson",
"license": "MIT",

View File

@@ -1,5 +1,5 @@
import {spawn} from 'node:child_process';
import { pipeline } from '@xenova/transformers';
import {pipeline, read_audio} from '@xenova/transformers';
import {AbortablePromise, Ai} from './ai.ts';
export class Audio {
@@ -96,7 +96,8 @@ print(json.dumps(segments))
// Transcript
if(aborted) return resolve(null);
const transcriptResult = await this.whisperPipeline(path, {return_timestamps: speaker ? 'word' : false, chunk_length_s: 30,});
const audio = await read_audio(path, 16000);
const transcriptResult = await this.whisperPipeline(audio, {return_timestamps: speaker ? 'word' : false, chunk_length_s: 30,});
if(!speaker) return resolve(transcriptResult.text?.trim() || null);
// Speaker Diarization