Metadata-Version: 2.4
Name: pavo-bench
Version: 1.0.0
Summary: PAVO-Bench: 50K-turn voice pipeline benchmark and 85K-param meta-controller for ASR->LLM->TTS routing.
Author: Mohammed Imthathullah
Author-email: NarasingaMoorthy VeiluKanthaPerumal <vnarasingamoorthy@gmail.com>
License: CC-BY-4.0
Project-URL: Homepage, https://github.com/vnmoorthy/pavo-bench
Project-URL: Repository, https://github.com/vnmoorthy/pavo-bench
Project-URL: Dataset, https://huggingface.co/datasets/vnmoorthy/pavo-bench
Project-URL: Bug Tracker, https://github.com/vnmoorthy/pavo-bench/issues
Keywords: asr,llm,tts,voice-pipeline,benchmark,inference-routing,edge-ai,ppo,speech-recognition
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.24
Provides-Extra: hf
Requires-Dist: datasets>=2.14; extra == "hf"
Requires-Dist: huggingface_hub>=0.20; extra == "hf"
Provides-Extra: dev
Requires-Dist: pytest>=7; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Dynamic: license-file

# pavo-bench

PAVO-Bench: a 50,000-turn voice pipeline benchmark and an 85,041-parameter
meta-controller (PPO-trained in 106 seconds) for routing voice-agent calls
through cascaded ASR → LLM → TTS pipelines.

- **Repo:** https://github.com/vnmoorthy/pavo-bench
- **Dataset:** https://huggingface.co/datasets/vnmoorthy/pavo-bench
- **Paper:** *PAVO: Pipeline-Aware Voice Orchestration with Demand-Conditioned Inference Routing* (under review at TMLR)

## Install

```bash
pip install pavo-bench
```

To also install Hugging Face dataset support:

```bash
pip install pavo-bench[hf]
```

## Quick start

```python
import pavo_bench

# Bundled headline result tables (small JSON summaries):
print(pavo_bench.list_results())
print(pavo_bench.load_results("tier3_50k_summary"))

# Full 50K-turn dataset (requires `pavo-bench[hf]`):
ds = pavo_bench.load_dataset()
print(ds)
```

## Headline numbers

- **−10.3% P95 latency** on H100, measured directly on 200 LibriSpeech samples (p = 2×10⁻⁶)
- **−34% median latency**, **−71% energy per turn** vs. fixed-cloud (50K-turn routing simulation, parameterized by measured per-stage latencies)
- **Coupling cliff:** Gemma2 2B mean quality drops from 0.825 → 0.585 as ASR WER crosses 2%
- **Meta-controller:** 85,041 parameters, 3-layer MLP, multi-objective PPO, 106 s training time

## License

Code: MIT.
Dataset: CC-BY 4.0.

## Citation

```bibtex
@article{veilukanthaperumal2026pavo,
  title   = {PAVO: Pipeline-Aware Voice Orchestration with Demand-Conditioned Inference Routing},
  author  = {VeiluKanthaPerumal, NarasingaMoorthy and Imthathullah, Mohammed},
  journal = {Transactions on Machine Learning Research},
  year    = {2026}
}
```
