Chunker API¶
ChunkConfig¶
Configuration dataclass for VAD chunking.
| Field | Type | Default |
|---|---|---|
min_duration_sec |
float |
5.0 |
max_duration_sec |
float |
20.0 |
output_format |
str |
wav |
sample_rate |
Optional[int] |
None |
num_workers |
int |
1 |
overwrite |
bool |
False |
allow_energy_fallback |
bool |
False |
ChunkResult¶
| Field | Type |
|---|---|
source |
Path |
chunks |
list[Path] |
success |
bool |
error |
Optional[str] |
chunk_file(source, output_dir, config=None, detect=None)¶
Chunks one source file. The optional detect argument is primarily useful for
tests or custom VAD implementations.
chunk_batch(input_dir, output_dir, config=None, source_files=None)¶
Discovers supported source audio files under input_dir unless source_files is supplied, then
chunks each file.
Example:
from pathlib import Path
from audio_prep import ChunkConfig, build_chunk_manifest, chunk_batch, write_manifest
config = ChunkConfig(min_duration_sec=5, max_duration_sec=20, sample_rate=16_000)
results = chunk_batch(Path("data/raw_mp3"), Path("data/chunks"), config)
records = build_chunk_manifest(results)
write_manifest(records, Path("data/chunk_manifest.jsonl"))