@jaehyun-ko/speaker-verification
Version:
Real-time speaker verification in the browser using NeXt-TDNN models
31 lines • 1.49 kB
TypeScript
import { AudioSegment, SpeakerEmbedding, ModelConfig, MelSpectrogramConfig } from './types';
import { SNormConfig } from './score-normalization';
export declare class SpeakerVerificationEngine {
private model;
private preprocessor;
private scoreNormalizer;
private isInitialized;
private metric;
constructor(modelConfig: ModelConfig, preprocessorConfig?: Partial<MelSpectrogramConfig>, sNormConfig?: Partial<SNormConfig>);
initialize(): Promise<void>;
processAudioSegment(audioSegment: AudioSegment): Promise<SpeakerEmbedding>;
cleanup(): Promise<void>;
static isNormalized(embedding: Float32Array): boolean;
static computeSimilarity(embedding1: Float32Array, embedding2: Float32Array): number;
static computeEuclideanDistance(embedding1: Float32Array, embedding2: Float32Array): number;
static verifySpeaker(embedding1: SpeakerEmbedding, embedding2: SpeakerEmbedding, threshold?: number): boolean;
loadCohortEmbeddings(url: string): Promise<void>;
computeSimilarityWithNorm(embedding1: SpeakerEmbedding, embedding2: SpeakerEmbedding): {
raw: number;
normalized?: number;
metric: 'cosine' | 'euclidean';
};
verifySpeakerWithNorm(embedding1: SpeakerEmbedding, embedding2: SpeakerEmbedding, threshold?: number, useNormalized?: boolean): {
isMatch: boolean;
scores: {
raw: number;
normalized?: number;
};
};
}
//# sourceMappingURL=inference.d.ts.map