Commit 020160a
Zenflow
add podcast_to_moshi_dataset.py — pipeline for moshi-finetune dataset
Converts Gemischtes Hack Podcast episodes to moshi-finetune format:
- 48kHz stereo PCM-16 double-mono WAV per speaker turn
- JSON with word-level timestamps {alignments: [[word,[s,e],spk],...]}
Key design decisions:
- Never loads full episode at 48kHz (would OOM on 2h episodes at ~1.5GB)
- Audio stays at 16kHz for all whisperx work; 48kHz decoded per-chunk via ffmpeg
- Whisperx forced-alignment in 300s batches; word assignment by time-overlap
not positional index (fixes segment-split bug that caused index skew)
- Alignment cache (podcast_alignment_cache.json) consumed for intro offsets
and mid-roll ad-break positions — no re-correlation needed
- --skip-existing flag for resumable runs
Known issue (to be fixed next): transcript segment timestamps from the
mlx-whisper transcription are systematically off vs actual audio content.
Fix: replace segment timestamps with fresh whisper-cpp transcription of
each episode, use existing transcripts only for speaker labels.1 parent 7d84392 commit 020160a
1 file changed
Lines changed: 618 additions & 0 deletions
0 commit comments