- The native baseline now uses two TTS voices: ראאף (generated on demand) and فدوى (used when cached).
Each sound is still measured against the lowest score any voice got on it.
- References are read with wav_for_voice: wav() turned any voice outside playback into ראאף.
- Each Reference carries its voice name; the trace keeps every voice's score per sound
(baseline stage `refs`, references[].voice).
- Trace dashboard: a row per voice under each sound (the voice used in bold), a marker per
voice on the waterfall's baseline step, per-voice tooltip and table columns.
- The mock trace has two voices.
Bench on 2,828 lab recordings (all said right): false rejections 3.6% -> 2.9%
(ħ 6.0 -> 2.8%, h 9.7 -> 5.4%, ɣ 20.6 -> 12.5%, ʕ 12.5 -> 9.5%). Detection is not measured:
the lab has no recordings with a planted mistake yet.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
9 days ago
Add tests for GOP pooling and windowing functionality
- Implemented tests for GOP frame pooling in `test_gop_pooling.py` to validate the scoring of synthetic CTC emissions, including various scenarios for vowel and consonant recognition.
- Created tests for class-based GOP windows in `test_gop_window.py`, ensuring proper handling of vowel and consonant transitions, substitutions, and deletions.
- Added a test for the Minerva import functionality in `test_minerva_import.py` to verify the integrity of the pilot manifest and associated phrases.
10 days ago
Add comprehensive tests for lab functionality and scoring
- Introduced a new test suite in `tests/test_lab.py` to validate the lab scoring system.
- Implemented mock classes for TTS and authentication to facilitate testing.
- Added tests for item validation, lab scores, flagging, and rescore functionality.
- Verified the integration of TTS with lab scoring and ensured proper handling of audio files.
- Included benchmarks for false rejections and caught mistakes in scoring.