UNPKG

@jaehyun-ko/speaker-verification

Version:

Real-time speaker verification in the browser using NeXt-TDNN models

77 lines 2.54 kB
/** * Easy-to-use API for NeXt-TDNN Speaker Verification * * Simple interface for speaker verification that handles all preprocessing, * model loading, and comparison automatically. */ export interface ComparisonResult { similarity: number; processingTime: number; } export interface EmbeddingResult { embedding: Float32Array; processingTime: number; } export interface ModelInfo { id: string; name: string; size: number; channels: number; type: 'standard' | 'mobile' | 'cyclical'; } export declare class SpeakerVerification { private engine; private audioContext; private currentModelId; private modelCache; static readonly MODELS: Record<string, ModelInfo>; constructor(); /** * Initialize with a specific model * @param modelKey Model key from MODELS (e.g., 'standard-256', 'mobile-128') * @param options Additional options */ initialize(modelKey?: string, options?: { modelData?: ArrayBuffer; cacheModel?: boolean; }): Promise<void>; private loadEngine; /** * Compare two audio inputs and return similarity * @param audio1 First audio (File, Blob, ArrayBuffer, or Float32Array) * @param audio2 Second audio (File, Blob, ArrayBuffer, or Float32Array) * @returns Similarity score (0.0-1.0, higher = more similar) */ compareAudio(audio1: File | Blob | ArrayBuffer | Float32Array, audio2: File | Blob | ArrayBuffer | Float32Array): Promise<ComparisonResult>; /** * Extract speaker embedding from audio input * @param audio Audio input (File, Blob, ArrayBuffer, or Float32Array) * @returns Speaker embedding as Float32Array */ getEmbedding(audio: File | Blob | ArrayBuffer | Float32Array): Promise<EmbeddingResult>; /** * Compare two pre-computed embeddings * @param embedding1 First speaker embedding * @param embedding2 Second speaker embedding * @returns Similarity score (0.0-1.0, higher = more similar) */ compareEmbeddings(embedding1: Float32Array, embedding2: Float32Array): number; /** * Process various audio input formats into Float32Array */ private processAudioInput; /** * Simple resampling function */ private resampleAudio; /** * Get information about the current model */ getCurrentModel(): ModelInfo | null; /** * Clean up resources */ cleanup(): Promise<void>; } export default SpeakerVerification; //# sourceMappingURL=easy-api.d.ts.map