VoxAtlasPipeline#
Defined in: voxatlas.pipeline.pipeline
- class voxatlas.pipeline.pipeline.VoxAtlasPipeline(audio, units, config)[source]#
Bases:
objectRun a VoxAtlas feature extraction workflow for a single stream.
A pipeline instance combines one audio stream, one unit hierarchy, and a runtime configuration. It validates requested features, resolves dependency layers, executes extractors in order, and stores intermediate results so downstream features can reuse them.
- Parameters:
audio (Audio | None) – Audio stream for the current conversation channel. Acoustic features require this input.
units (Units | None) – Hierarchical unit container for the current stream. Linguistic and alignment-based features require this input.
config (dict) – Runtime configuration containing the requested features and pipeline options.
- Returns:
Configured pipeline instance ready to execute.
- Return type:
Notes
VoxAtlas resolves dependencies through the feature registry and executes each dependency layer sequentially while allowing optional parallelism inside a layer.
Examples
>>> import numpy as np >>> from voxatlas.audio.audio import Audio >>> from voxatlas.pipeline import Pipeline >>> audio = Audio(waveform=np.zeros(16000, dtype=np.float32), sample_rate=16000) >>> pipeline = Pipeline( ... audio=audio, ... units=None, ... config={"features": ["acoustic.pitch.dummy"], "pipeline": {"n_jobs": 1, "cache": False}}, ... ) >>> results = pipeline.run() >>> results.exists("acoustic.pitch.dummy") True
- run()[source]#
Execute the configured feature graph and return computed outputs.
The pipeline validates the requested features, creates an execution plan from registry dependencies, then executes each dependency layer in order. Intermediate outputs are inserted into a feature store so later features can retrieve them.
- Returns:
Store containing requested features and any computed dependencies.
- Return type:
- Raises:
ValueError – Raised when the dependency graph contains a cycle.
KeyError – Raised when a required feature is missing from the store or cache during execution.
Notes
When caching is enabled, cached outputs are loaded before an extractor is scheduled for execution.
Examples
>>> import numpy as np >>> from voxatlas.audio.audio import Audio >>> from voxatlas.pipeline import Pipeline >>> audio = Audio(waveform=np.zeros(16000, dtype=np.float32), sample_rate=16000) >>> pipeline = Pipeline( ... audio=audio, ... units=None, ... config={"features": ["acoustic.pitch.dummy"], "pipeline": {"n_jobs": 1, "cache": False}}, ... ) >>> results = pipeline.run() >>> results.exists("acoustic.pitch.dummy") True