Files
wehub-resource-sync 426e9eeabd
Benchmark Bridge Tests / benchmark (bunx @biomejs/biome check packages/lifeops-bench/src, benchmark-lint) (push) Waiting to run
Benchmark Bridge Tests / benchmark (bunx vitest run --config packages/lifeops-bench/vitest.config.ts --root packages/lifeops-bench --passWithNoTests, benchmark-tests) (push) Waiting to run
Build Agent Image / build-and-push (push) Waiting to run
Chat shell gestures / Chat shell gesture + parity e2e (push) Waiting to run
ci / test (push) Waiting to run
ci / lint-and-format (push) Waiting to run
ci / build (push) Waiting to run
ci / dev-startup (push) Waiting to run
Cloud Gateway Discord / Test (push) Waiting to run
Cloud Gateway Webhook / Test (push) Waiting to run
Cloud Tests / lint-and-types (push) Waiting to run
Cloud Tests / unit-tests (push) Waiting to run
Cloud Tests / integration-tests (push) Waiting to run
Cloud Tests / e2e-tests (push) Blocked by required conditions
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Deploy Apps Worker (Product 2) / Determine environment (push) Waiting to run
Deploy Apps Worker (Product 2) / Deploy apps worker to apps-control host (${{ needs.determine-env.outputs.environment }}) (push) Blocked by required conditions
Deploy Eliza Provisioning Worker / Determine environment (push) Waiting to run
Deploy Eliza Provisioning Worker / Deploy worker to Hetzner host (${{ needs.determine-env.outputs.environment }} @ ${{ needs.determine-env.outputs.deployment_sha }}) (push) Blocked by required conditions
Dev Smoke / Classify changed paths (push) Waiting to run
Dev Smoke / bun run dev onboarding chat (push) Blocked by required conditions
Dev Smoke / Vite HMR dependency-level smoke (push) Blocked by required conditions
Electrobun Submodule Guard / electrobun gitlink is fetchable (push) Waiting to run
gitleaks / gitleaks (push) Waiting to run
Markdown Links / Relative Markdown Links (push) Waiting to run
Publish @elizaos/example-code / check_npm (push) Waiting to run
Publish @elizaos/example-code / publish_npm (push) Blocked by required conditions
Publish @elizaos/plugin-elizacloud / verify_version (push) Waiting to run
Publish @elizaos/plugin-elizacloud / publish_npm (push) Blocked by required conditions
Quality (Extended) / Homepage Build (PR smoke) (push) Waiting to run
Quality (Extended) / Comment-only diff guard (push) Waiting to run
Quality (Extended) / Format + Type Safety Ratchet (push) Waiting to run
Quality (Extended) / Develop Gate (secret scan + UI determinism) (push) Waiting to run
Quality (Extended) / Develop Gate (lint) (push) Waiting to run
Sandbox Live Smoke / Sandbox live smoke (push) Waiting to run
Snap Build & Test / Build Snap (amd64) (push) Waiting to run
Snap Build & Test / Build Snap (arm64) (push) Waiting to run
supply-chain / sbom (push) Waiting to run
supply-chain / vulnerability-scan (push) Waiting to run
Build, Push & Deploy to Phala Cloud / build-and-push (push) Waiting to run
Test Packaging / Validate Packaging Configs (push) Waiting to run
Test Packaging / PyPI on Python ${{ matrix.python }} (push) Waiting to run
Test Packaging / Pack & Test JS Tarballs (push) Waiting to run
Test Packaging / elizaos CLI global-install smoke (node + bun) (push) Waiting to run
UI Fixture E2E / ui-fixture-e2e (push) Waiting to run
UI Fixture E2E / fixture-e2e (push) Waiting to run
UI Story Gate / story-gate (push) Waiting to run
vault-ci / test (macos-latest) (push) Waiting to run
vault-ci / test (ubuntu-latest) (push) Waiting to run
vault-ci / test (windows-latest) (push) Waiting to run
vault-ci / app-core wiring tests (push) Waiting to run
verify-patches / verify patches/CHECKSUMS.sha256 (push) Waiting to run
Voice Benchmark Smoke / voice-emotion fixture smoke (push) Waiting to run
Voice Benchmark Smoke / voiceagentbench fixture smoke (push) Waiting to run
Voice Benchmark Smoke / voicebench-quality unit smoke (push) Waiting to run
Voice Benchmark Smoke / voicebench TypeScript unit (no audio) (push) Waiting to run
Voice Benchmark Smoke / voice bench smoke summary (push) Blocked by required conditions
Windows CI / windows ([bun run --cwd packages/app-core test bun run --cwd packages/elizaos test bun run --cwd packages/cloud/shared test], app-and-cli) (push) Waiting to run
Windows CI / windows ([bun run --cwd packages/scenario-runner test bun run --cwd packages/vault test bun run --cwd packages/security test bun run --cwd plugins/plugin-coding-tools test], framework-packages) (push) Waiting to run
Windows CI / windows ([bun run --cwd plugins/plugin-elizacloud test bun run --cwd plugins/plugin-discord test bun run --cwd plugins/plugin-anthropic test bun run --cwd plugins/plugin-openai test bun run --cwd plugins/plugin-app-control test bun run --cwd plugins/pl… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run build --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/agent --concurrency=4 node packages/scripts/run-bash-linux-only.mjs scripts/verify-riscv64-buildpaths.sh node packages/scripts/run… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run typecheck --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/cloud-shared --concurrency=4 bun run --cwd packages/core test bun run --cwd packages/shared test], core-runtime, 75) (push) Waiting to run
Test Packaging / Build & Test PyPI Package (push) Waiting to run
Voice Workbench / headless workbench (mocked backends) (push) Has been cancelled
Voice Workbench / real acoustic lane (nightly, provisioned only) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:43:05 +08:00
..

Audio MMAU — Massive Multi-task Audio Understanding

Disambiguation: This is the audio MMAU benchmark (Sakshi et al., ICLR 2025, gamma-lab-umd/MMAU-test-mini). It is not related to Salesforce's MMAU agent-capability benchmark (Yin et al., arXiv:2407.18961). The PyPI distribution is published as elizaos-mmau-audio to reflect this. Use the mmau-audio package path, python -m elizaos_mmau_audio, or the installed mmau-audio / elizaos-mmau-audio console scripts.

Vendored Python implementation of Audio MMAU (ICLR 2025) for the elizaOS benchmark suite.

What MMAU Measures

10,000 audio clips across three domains, 27 reasoning skills (12 information retrieval, 15 reasoning), expert-level multiple choice.

Category What it covers
speech Spoken utterances: speaker identification, emotion, language ID, dialogue reasoning, paralinguistic cues.
sound Environmental / non-speech audio: source inference, temporal event ordering, scene reasoning.
music Musical clips: instrument ID, tempo, key, genre, music-theory knowledge.

Every sample is pure MCQ. Scoring is exact match on the parsed answer letter — no LLM-judge is ever required.

Layout

packages/benchmarks/
  mmau-audio/
    elizaos_mmau_audio/
      __init__.py
      __main__.py
      cli.py           argparse CLI (`python -m elizaos_mmau_audio`)
      types.py         MMAUSample / MMAUPrediction / MMAUResult / MMAUReport / MMAUConfig
      dataset.py       JSONL fixture + Hugging Face streaming loader
      evaluator.py     Deterministic MCQ scoring + per-skill aggregation
      agent.py         OracleMMAUAgent, CascadedSTTAgent, AgentFn / SttFn types
      runner.py        load -> dispatch -> score -> report -> persist
    fixtures/
      smoke.jsonl      8-sample bundled fixture (covers all 3 categories)
    tests/             pytest suite — exercises evaluator, dataset, runner, CLI

Run

Use the canonical module path from scripts and the registry, or the installed console scripts when the package is installed. Run from this package root or with it on PYTHONPATH:

# canonical module path (preferred from scripts / the registry)
python -m elizaos_mmau_audio --mock --limit 2
python -m elizaos_mmau_audio --mock --output ./results --json

# installed console scripts (preferred when installed)
mmau-audio --mock --limit 2
elizaos-mmau-audio --mock --output ./results --json

Run through the elizaOS bridge (cascaded STT -> text agent baseline):

python -m elizaos_mmau_audio --agent eliza --split test-mini --limit 100 \
    --output ./results
python -m elizaos_mmau_audio --agent hermes --split test --category speech \
    --output ./results
python -m elizaos_mmau_audio --agent openclaw --split test --category sound,music

The CLI accepts --category {speech,sound,music,all} (or a comma-separated subset) and --split {test-mini,test}. Pass --hf to stream from Hugging Face instead of the bundled fixture; the audio bytes are pulled along with each record, so the dataset cache eats real disk space for full runs.

Cascaded STT baseline (and its limitation)

The default eliza / hermes / openclaw adapters run a cascaded pipeline: Groq Whisper (whisper-large-v3-turbo) transcribes the clip, then the text agent reasons over the transcript plus the MCQ choices.

This baseline is lossy on the sound and music categories — the STT throws away non-speech semantic information. Treat cascaded numbers on those two categories as a floor, not a ceiling. A future direct-audio-input adapter (Gemini-style audio-in, native audio models, etc.) should supersede this baseline; the AgentFn callable in agent.py already accepts the raw audio_bytes so a richer adapter can ignore the transcript and consume the audio directly.

Environment

Variable Purpose
GROQ_API_KEY Whisper STT (cascaded baseline only).
HF_TOKEN Optional — needed only if the upstream dataset becomes gated.

The mock / oracle run path needs no credentials.

Verification

cd packages/benchmarks/mmau-audio
python -m pytest tests/ -x
python -m elizaos_mmau_audio --mock --limit 2

Both must pass before publishing run results.

Registry entry

mmau is registered in packages/benchmarks/registry.py with a deterministic score extractor that reports overall accuracy plus per-category breakdown. No LLM-judge dispatch is wired up — MCQ scoring is enough.

License & citation

  • Code (this package): Apache-2.0, matching the upstream MMAU repo.
  • Project site (mmaubench.github.io): CC-BY-SA-4.0.
  • Dataset itself: per the upstream HF dataset card — verify before publishing benchmark scores, as the upstream maintainers may change terms.
@inproceedings{sakshi2025mmau,
  title     = {MMAU: A Massive Multi-Task Audio Understanding and Reasoning Benchmark},
  author    = {Sakshi, S. and others},
  booktitle = {International Conference on Learning Representations (ICLR)},
  year      = {2025},
  url       = {https://arxiv.org/abs/2410.19168}
}