Skip to main content

Open speech and translation benchmarking toolkit supporting MT, ASR, TTS, SimulST, VC, and paralinguistics with optimized CJK language support

Project description

OpenSTBench

English | Chinese

PyPI version Python 3.9-3.10 License: MIT

OpenSTBench is a speech and translation evaluation toolkit. It covers text translation quality, speech quality, speaker and style preservation, temporal consistency, and streaming latency.

Installation

pip install OpenSTBench

For local development:

pip install -e .

Optional extras:

pip install "OpenSTBench[comet]"
pip install "OpenSTBench[whisper]"
pip install "OpenSTBench[speech_quality]"
pip install "OpenSTBench[emotion]"
pip install "OpenSTBench[paralinguistics]"
pip install "OpenSTBench[all]"

BLEURT is installed separately:

pip install git+https://github.com/lucadiliello/bleurt-pytorch.git

Package Names

  • PyPI package: OpenSTBench
  • Python import: openstbench

Evaluators

Evaluator Scope Main outputs
TranslationEvaluator MT and S2TT text quality sacreBLEU, chrF++, COMET, BLEURT
SpeechQualityEvaluator Generated speech quality and text consistency UTMOS, WER_Consistency, CER_Consistency
SpeakerSimilarityEvaluator Speaker preservation wavlm_similarity, resemblyzer_similarity
EmotionEvaluator Emotion preservation or emotion classification Emotion2Vec_Cosine_Similarity, Audio_Emotion_Accuracy
ParalinguisticEvaluator Non-verbal and paralinguistic preservation Paralinguistic_Fidelity_Cosine, Acoustic_Event_Count_F1, Acoustic_Event_Localization_F1
TemporalConsistencyEvaluator Source-target duration consistency Duration_Consistency_SLC_*, duration diagnostics
LatencyEvaluator Streaming and simultaneous ST latency StartOffset, ATD, CustomATD, RTF

Examples

Usage examples are kept under examples/.

  • examples/python/translation_eval.py
  • examples/python/speech_quality_eval.py
  • examples/python/speaker_similarity_eval.py
  • examples/python/emotion_eval.py
  • examples/python/paralinguistic_eval.py
  • examples/python/paralinguistic_identity_baseline.py
  • examples/python/temporal_consistency_eval.py
  • examples/python/latency_eval.py
  • examples/bash/install_extras.sh
  • examples/bash/run_latency_cli.sh

Latency can also be run from the module CLI:

python -m openstbench.latency.cli --help

Conventions

  • Text inputs generally accept list[str], one-sample-per-line .txt files, and .json files.
  • Audio inputs generally accept folders, list[str], .txt path lists, and .json path lists.
  • For zh, ja, and ko, text-side evaluation uses CJK-aware handling; speech consistency reports CER_Consistency instead of WER_Consistency.
  • Model path arguments use a local-first rule. If the supplied local path exists, OpenSTBench uses it; otherwise it falls back to the configured remote model id.
  • Optional dependencies are loaded only by the evaluator that needs them.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openstbench-1.0.0.tar.gz (38.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openstbench-1.0.0-py3-none-any.whl (44.8 kB view details)

Uploaded Python 3

File details

Details for the file openstbench-1.0.0.tar.gz.

File metadata

  • Download URL: openstbench-1.0.0.tar.gz
  • Upload date:
  • Size: 38.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for openstbench-1.0.0.tar.gz
Algorithm Hash digest
SHA256 20f83cb395dd4c46c1e4102b24dbda9c95b687b29612186988ef10c4260e5f66
MD5 6b939458e560954a6901330beaa7495c
BLAKE2b-256 099f3a6f7a32a8262834e7c0c05ed95a02d33e0aa6c6df91fdccbd9480ad386e

See more details on using hashes here.

File details

Details for the file openstbench-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: openstbench-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 44.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for openstbench-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 66a18f94e46c64564a13e38dd8e67ada41d4e1f99bb239cfeb82eaa9f1d287c8
MD5 f7a6d3128fa449a6abf29454d53f5e87
BLAKE2b-256 87d39b470ad6f94385758487d47e69913291e7d89e5bcf997b4737f2ece16976

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page