Overview
MixtureParquetAsrDataset combines parquet storage and ASR task pipelines into a complete fairseq2 dataset implementation. It supports:
- Multilingual datasets with language-corpus partitioning
- Weighted sampling across partitions for balanced training
- Efficient parquet-based storage with streaming support
- Configurable audio/text preprocessing pipelines
Constructor
Path
required
Path to the dataset directory containing parquet files organized by language and corpus partitions.
Example
Class Methods
from_path
Path
required
Path to parquet dataset directory.
MixtureParquetAsrDataset
Initialized dataset instance.
Instance Methods
create_reader
str
required
Dataset split to read (e.g.,
"train", "dev", "test"). Can include corpus filter as "split_corpus" (e.g., "train_librispeech").Tokenizer
required
Tokenizer for text encoding/decoding.
Gangs
required
Gang configuration for distributed data parallel training.
torch.dtype
required
Data type for audio tensors.
int
required
Number of batches to accumulate before yielding.
MixtureParquetStorageConfig
required
Configuration for parquet storage and partition weighting.
AsrTaskConfig
required
Configuration for ASR preprocessing pipeline.
DataReader[Seq2SeqBatch]
Configured data reader yielding
Seq2SeqBatch objects.Complete Usage Example
Dataset Structure
The parquet dataset should be organized with language and corpus partitions:Parquet Schema
Each parquet file should contain:bytes
required
Raw audio data (WAV, MP3, FLAC, etc.)
int
required
Audio length in samples
str
required
Transcription text
str
required
Split name (train/dev/test)
str
required
Language code (e.g., “eng”, “fra”)
str
required
Corpus name (e.g., “librispeech”, “commonvoice”)
Mixture Weighting
Dataset Summary Format
Thedataset_summary_path TSV should contain:
Weight Calculation
beta=1.0: Proportional to hours (high-resource languages dominate)beta=0.5: Square root weighting (balanced)beta=0.0: Uniform sampling (all languages equal)
Split Filtering
Batch Format
The reader yieldsSeq2SeqBatch objects:
See Also
- MixtureParquetStorage - Underlying storage implementation
- AsrTask - Task pipeline configuration
- Audio Processing - Preprocessing details
Source Reference
See implementation atsrc/omnilingual_asr/datasets/impl/mixture_parquet_asr_dataset.py:33