Manifest¶
Manifests are JSONL files. Each line is one JSON object.
Conversion Manifest¶
build_manifest combines conversion results and validation results.
Fields:
| Field | Type | Meaning |
|---|---|---|
source_path |
string | Original source file path. |
output_path |
string or null | Converted output path, when available. |
status |
string | ok, conversion_failed, or validation_failed. |
duration_sec |
number or null | Validated duration. |
sample_rate |
number or null | Validated sample rate. |
channels |
number or null | Validated channel count. |
error |
string or null | Error or validation reason. |
Example:
{"source_path":"data/raw_mp3/a.mp3","output_path":"data/wav16k/a.wav","status":"ok","duration_sec":1.0,"sample_rate":16000,"channels":1,"error":null}
Chunk Manifest¶
build_chunk_manifest records one row per source file.
Fields:
| Field | Type | Meaning |
|---|---|---|
source_path |
string | Original source file path. |
status |
string | ok or chunking_failed. |
num_chunks |
number | Number of chunks written. |
chunk_paths |
list[string] | Written chunk paths. |
error |
string or null | Chunking error, when any. |
Writing Manifests¶
CLI:
audio-prep convert \
--input-dir data/raw_mp3 \
--output-dir data/wav16k \
--manifest data/manifest.jsonl
audio-prep chunk \
--input-dir data/raw_mp3 \
--output-dir data/chunks \
--manifest data/chunk_manifest.jsonl
Python:
Use write_manifest for both conversion and chunk records:
from audio_prep.manifest import write_manifest
write_manifest(records, "data/manifest.jsonl")
Parent directories are created automatically.