How cikay/voice_dataset_pipeline works
This repository prepares paired audio/text data for speech-model training. The principal workflow is configured stage orchestration: enhance source audio, align text to audio and create utterance segments, filter candidates, then cluster segments by speaker; optional scoring and statistics stages enrich or summarize results. Manifests carry metadata between stages. A separate publishing command loads a manifest into a Hugging Face dataset and pushes it to the Hub. The README documents these capabilities, while some stage implementations were not sampled, so their internal wiring is not inferred.
Main entry points: pipeline.py Stage runner · enhancement/stage.py Audio enhancement · segmentation/stage.py Forced alignment segments · push_dataset.py Publish command
Components 16
Pipeline orchestration
- Stage runner
voice_dataset_pipeline/pipeline.py - Manifest utilities
voice_dataset_pipeline/stage.py - Stage manifests
Audio processing
- Audio enhancement
voice_dataset_pipeline/enhancement/stage.py - DeepFilterNet
voice_dataset_pipeline/enhancement/tools/deepfilternet.py - Forced alignment segments
voice_dataset_pipeline/segmentation/stage.py
Curation and analysis
- Segment filtering
voice_dataset_pipeline/filter/stage.py - Quality scoring
voice_dataset_pipeline/quality_score/stage.py - Speaker clustering
voice_dataset_pipeline/speaker_clustering/stage.py - Dataset statistics
voice_dataset_pipeline/stats/stage.py
Dataset publishing
- Publish command
voice_dataset_pipeline/push_dataset.py - Local dataset loader
voice_dataset_pipeline/load_dataset_from_local.py
Other components
- Dataset operator
- Paired source data
- CTC aligner
- Hugging Face Hub
Connections 26
- Dataset operator → Stage runner: starts
- Stage runner → Audio enhancement: dispatches
- Stage runner → Forced alignment segments: dispatches
- Stage runner → Segment filtering: dispatches
- Stage runner → Quality scoring: dispatches
- Stage runner → Speaker clustering: dispatches
- Stage runner → Dataset statistics: dispatches
- Stage runner → Manifest utilities: uses utilities
- Paired source data → Audio enhancement: audio and manifest
- Audio enhancement → DeepFilterNet: invokes tool
- Audio enhancement → Stage manifests: writes enhanced manifest
- Stage manifests → Forced alignment segments: input manifest
- Forced alignment segments → CTC aligner: aligns text and audio
- Forced alignment segments → Stage manifests: writes segments
- Stage manifests → Segment filtering: input manifest
- Segment filtering → Stage manifests: writes filtered manifest
- Stage manifests → Quality scoring: input manifest
- Quality scoring → Stage manifests: writes scores
- Stage manifests → Speaker clustering: input manifest
- Speaker clustering → Stage manifests: writes speaker IDs
- Stage manifests → Dataset statistics: input manifest
- Dataset statistics → Stage manifests: writes statistics
- Dataset operator → Publish command: publishes dataset
- Publish command → Local dataset loader: loads manifest
- Publish command → Hugging Face Hub: pushes dataset
- Stage manifests → Publish command: speaker manifest