Test results comparing all providers on Slovenian folk-pop:
CVETELE SO MALINE:
- Scribe: HALLUCINATED ('finančni moduli...') ❌
- Gemini 3 Pro: correct lyrics, ~100s ✅
- Soniox: PERFECT lyrics in 4 seconds ✅✅
PA PA:
- Scribe: 'se mu pomahala' (wrong: missing M) ❌
- Soniox: 'sem mu pomahala' ✅ + caught 'pa-pa-ra-pa' fillers
ŽENA ME TEPE:
- Scribe: hallucinations + word errors
- Soniox: PERFECT 'Žena me tepe, mi prazni žepe, da vidi, kje in s kom sem bil'
Soniox advantages:
- 4x cheaper than Scribe ($0.10/h vs $0.40/h)
- 5x faster (4-15s vs 10-15s for 180s audio)
- 50x cheaper than Gemini 3 Pro
- 25x faster than Gemini
- Slovenian native quality matches Gemini
- Word-level timestamps + diacritics + punctuation
Implementation:
1. transcribe_with_soniox() function:
- Multipart upload to /v1/files (no SDK dependency)
- Create transcription with stt-async-v4 model
- Auto language hint based on filename (NZ → 'sl')
- Multilingual fallback ['en', 'sl', 'de', 'hr', 'es', 'fr', 'it']
- Poll status, fetch transcript
- Group subword tokens into words → segments
- Auto-cleanup files after transcription
2. New 'soniox_chain' provider mode (default for 'auto'):
- Soniox primary (fast + cheap + accurate)
- Scribe fallback (rare cases when Soniox fails)
- Gemini fallback (last resort, slow but bulletproof)
- Quality gate: coverage >= 50%, no hallucinations
3. Provider modes: auto, soniox, elevenlabs, gemini, hybrid, local
This makes the pipeline reliable for ALL music genres including
Slovenian narodno-zabavni glasbi which Scribe consistently failed on.