Create and Load Custom Audio Manifests
Create and load custom audio manifests in JSONL format for your speech datasets. This guide covers the required manifest format and how to load manifests into NeMo Curator pipelines.
Manifest Format
NeMo Curator uses JSONL (JSON Lines) format for audio manifests, with one JSON object per line:
NeMo Curator does not provide a generic TSV reader stage. You must convert your data to JSONL format before loading, or use dataset-specific importers like the FLEURS manifest creator.
Resolve local manifest paths to absolute paths on the driver before you build the pipeline. File discovery runs in an executor worker, whose working directory can differ from the directory where you launched the pipeline. Audio file paths in the manifest must be absolute filesystem paths that resolve identically on every executor. If the source audio is remote, download or otherwise materialize it on that shared or mounted filesystem before running audio stages.
Required Fields
Every audio manifest entry must include:
Optional Fields
Additional fields that can enhance processing:
Creating Custom Manifests
You’ll need to create your own manifest files using your preferred tools. Here’s a simple Python example:
Loading Manifests in Pipelines
Using ManifestReader
Load your custom manifest as AudioTask objects using the built-in ManifestReader:
Validation
ManifestReader parses each JSONL row into an AudioTask, but it does not set filepath_key and therefore does not preflight audio-file existence through AudioTask.validate(). Consuming stages enforce their required columns and perform audio I/O. By default, ASRStage logs an unreadable-audio error, writes an empty prediction, and marks the task with _skipme="audio_load_error"; set fail_on_audio_error=True on that stage to raise instead.
For an explicit local preflight check, construct the task with filepath_key and call validate():
Run this check in the same filesystem namespace used by executor workers. In multi-node runs, an existing driver-local path is not sufficient unless it resolves on the workers too.
Example: Complete Workflow
Related Topics
- Audio Processing Overview - Complete audio processing workflow
- FLEURS Dataset - Example of automated dataset loading
- Local Files - Loading audio files from local directories