Evaluator Base Classes¶
Abstract base classes and trimming wrappers that define the evaluator architecture.
- class pathbench.evaluator.LookupEvaluator[source]¶
Bases:
ABCEvaluator that maps utterance/speaker IDs to pre-computed scores. Needs only the utterance ID — no audio, transcription, or reference.
- class pathbench.evaluator.ReferenceFreeEvaluator[source]¶
Bases:
ABCUtterance-level evaluator that needs only audio + segment bounds. No transcription, no reference audio, no language.
- class pathbench.evaluator.ReferenceTxtEvaluator[source]¶
Bases:
ABCUtterance-level evaluator that needs transcription + language. Used for ASR-based metrics and FA-trimming wrappers.
- class pathbench.evaluator.ReferenceAudioEvaluator[source]¶
Bases:
ABCUtterance-level evaluator that needs reference audio files. No transcription or language required.
- class pathbench.evaluator.ReferenceTxtAndAudioEvaluator[source]¶
Bases:
ABCUtterance-level evaluator that needs both transcription (for FA trimming) AND reference audio files (for distance computation). Used for TrimmedNADEvaluator.
- pathbench.evaluator.load_audio(audio_path, start_time=0.0, end_time=-1.0, cache=None)[source]¶
Load a single audio file, optionally using a cache.
Returns (audio_ndarray, fs) or (None, None) on failure.
- pathbench.evaluator.load_audios(audio_files, cache=None)[source]¶
Load a list of (path, start, end) tuples into (ndarray, fs) pairs.
Used by script-level dispatch before calling _score_audio_list() on plain (non-trimmed) speaker evaluators. If cache is provided, results are looked up / stored there to avoid redundant disk reads.
- class pathbench.evaluator.ReferenceFreeSpeakerEvaluator[source]¶
Bases:
ABCSpeaker-level evaluator that needs only audio files + segment bounds. No transcription, no language.
Callers load audio with load_audios() and pass the result to _score_audio_list(). The trimmed wrapper (TrimmedReferenceFreeSpeakerEvaluator) does the same after FA-trimming each utterance.
- class pathbench.evaluator.LanguageAwareSpeakerEvaluator[source]¶
Bases:
ABCSpeaker-level evaluator that needs audio + language. Language is required for acoustic model parameters (e.g. vowel formant tables), not only for FA trimming.
Callers load audio with load_audios() and pass the result to _score_audio_list(). The trimmed wrapper (TrimmedLanguageAwareSpeakerEvaluator) does the same after FA-trimming each utterance.
- class pathbench.evaluator.TrimmedReferenceFreeEvaluator(inner, trimmer)[source]¶
Bases:
ReferenceTxtEvaluatorWraps a ReferenceFreeEvaluator with FA trimming.
The inner evaluator stays reference-free — it never sees transcription or language. This wrapper is a ReferenceTxtEvaluator because the trimmer needs transcription + language to perform forced alignment.
- Delegation flow:
Receive (audio_path, transcription, language, start_time, end_time)
If no explicit segment: call trimmer.trim() → trimmed ndarray
Fallback to librosa.load() if trim fails or segment is specified
Call inner._score_audio(audio, fs) ← inner knows nothing about text
- class pathbench.evaluator.TrimmedReferenceFreeSpeakerEvaluator(inner, trimmer)[source]¶
Bases:
objectWraps a ReferenceFreeSpeakerEvaluator with FA trimming.
Trims each utterance in the speaker’s audio list, then delegates to inner._score_audio_list() with the trimmed audio arrays.
- class pathbench.evaluator.TrimmedLanguageAwareSpeakerEvaluator(inner, trimmer)[source]¶
Bases:
objectWraps a LanguageAwareSpeakerEvaluator with FA trimming.
Same delegation as TrimmedReferenceFreeSpeakerEvaluator but passes language through to inner._score_audio_list() since the inner evaluator uses language for its own computation (e.g. VSA vowel formant tables).
- class pathbench.evaluator.Evaluator[source]¶
Bases:
objectDeprecated. Kept for backward compatibility. Use the typed ABCs instead.
- class pathbench.evaluator.SpeakerEvaluator[source]¶
Bases:
objectDeprecated. Kept for backward compatibility. Use the typed ABCs instead.
- class pathbench.evaluator.Utt2ScoreEvaluator(scores)[source]¶
Bases:
LookupEvaluatorMaps utterance IDs to pre-computed scores.