完整、机器可检查的公开签名在 tests/fixtures/api-contracts.json,CLI 参数在 tests/fixtures/cli-contract.json。测试要求每个源码模块都具有快照,接口变化必须显式更新。
| 模块 | 常用入口 |
|---|---|
| audio.wav_io | Audio(data, sample_rate)、read_wav、write_wav、write_wav_bytes |
| audio.resample | linear_resample(audio, target_sr) |
| features.logmel | log_mel_spectrogram |
| embeddings.baseline | BaselineEmbedder.embed / embed_audio |
| enrollment.book | SpeakerBook、EnrollmentRecord、EnrollmentSegment |
| enrollment.persistence | save_json / load_json、save_npz / load_npz、to_bytes / from_bytes |
| scoring.cosine | CosineBackend |
| scoring.calibration | fit_platt、fit_isotonic、PlattCalibrator、IsotonicCalibrator |
| trials.io | parse / write 及 CSV、TSV、JSON 专用函数 |
| metrics.eer | compute_eer → EerResult |
| metrics.dcf | compute_min_dcf → DcfResult |
| metrics.roc / det | roc_curve、det_curve |
| report.html / markdown | render_html、render_markdown |
音频使用 (samples,) 或 (samples, channels) 的 float32 数组。嵌入使用一维数组;同一次打分的向量维度必须一致。指标标签采用 1=target、0=nontarget。