import { type Mat } from "../math/linalg.js"; export interface PldaParams { ldaDim: number; scalePre: number; scalePost: number; /** xvec_transform.npz */ xvecTf: { mean1: Float64Array; mean2: Float64Array; lda: Mat; }; /** Post-eigh PLDA matrices */ plda: { mu: Float64Array; tr: Mat; psi: Float64Array; }; } export declare function loadPldaParams(json: unknown): PldaParams; /** * x-vector transformation: * y = (x - mean1) * y = scalePre * L2(y) # (N, 256) * y = y @ lda # (N, 128) * y = y - mean2 * y = scalePost * L2(y) # (N, 128) */ export declare function xvecTransform(embeddings: Mat, p: PldaParams): Mat; /** * PLDA latent projection (post-eigh): * y = (x - mu) @ tr.T # (N, 128) */ export declare function pldaTransform(features: Mat, p: PldaParams): Mat; /** Full PLDA pipeline: 256d ResNet embeddings -> 128d PLDA features. */ export declare function pldaApply(embeddings: Mat, p: PldaParams): Mat; //# sourceMappingURL=plda.d.ts.map