Real aligner alternatives: MFA / aeneas behind the Aligner seam
WhisperXAligner (foley[align]) is the shipped real forced aligner; the Aligner protocol
seam is open. MFA (Montreal Forced Aligner) and aeneas were reserved because both carry
heavy/awkward install stories (conda for MFA; espeak/ffmpeg C deps for aeneas) ill-suited to a
plain pip extra.
Scope
- Add
MFAAligner and/or AeneasAligner behind the existing Aligner protocol, lazy-imported,
with importorskip-guarded round-trip tests (mirroring WhisperXAligner).
- Document the install path per aligner (conda / system deps) and how to inject it
(weave(..., aligner=…) / foley.score(..., aligner=…)), plus a comparison note
(accuracy vs footprint vs license) so users pick deliberately.
- Keep the deterministic
FakeAligner as the default; no new hard dependency.
Acceptance
- A user with MFA (or aeneas) installed can inject it and get word timings; CI stays hermetic.
Real aligner alternatives: MFA / aeneas behind the Aligner seam
WhisperXAligner(foley[align]) is the shipped real forced aligner; theAlignerprotocolseam is open. MFA (Montreal Forced Aligner) and aeneas were reserved because both carry
heavy/awkward install stories (conda for MFA; espeak/ffmpeg C deps for aeneas) ill-suited to a
plain pip extra.
Scope
MFAAlignerand/orAeneasAlignerbehind the existingAlignerprotocol, lazy-imported,with
importorskip-guarded round-trip tests (mirroringWhisperXAligner).(
weave(..., aligner=…)/foley.score(..., aligner=…)), plus a comparison note(accuracy vs footprint vs license) so users pick deliberately.
FakeAligneras the default; no new hard dependency.Acceptance