custom-gopt-252-eval
这个仓库只做一件事:把本地保存的整套评测必需模型集中起来,并提供一个“输入 1 个音频,直接输出整体评分”的最短用法。
整体评分看 total,分值范围是 0 到 5。
1. 下载模型包
python - <<'PY'
from huggingface_hub import snapshot_download
snapshot_download(
repo_id="faeea/custom-gopt-252-eval",
repo_type="model",
local_dir="./hf_models/custom-gopt-252-eval",
)
PY
下载后约定:
export BUNDLE_DIR=$PWD/hf_models/custom-gopt-252-eval
2. 下载运行代码
这个模型包不是一个单独的 Transformers 模型;本地推理还要依赖 custom-gopt 的模型定义,以及 Charsiu 的文本到音素处理代码。
git clone https://github.com/hf49w/custom-gopt.git
git clone https://github.com/lingjzhu/charsiu third_party/charsiu_repo
git -C third_party/charsiu_repo checkout 13a69f2a22ca0c0962b75cc693399b0ae23a12c9
3. 安装最小依赖
在 custom-gopt 仓库根目录执行:
pip install -r requirements.txt
python -m pip install nltk
python -m nltk.downloader cmudict averaged_perceptron_tagger averaged_perceptron_tagger_eng
如果你已经有可用环境,这一步只要保证下面这些包能导入即可:
torchtransformerslibrosasoundfileg2p_eng2pMpraationltk
4. 准备一个待评分音频
要求尽量简单:
- 英语单句或单段短语音频
wav最稳妥- 单声道更好
16kHz最理想,不是16kHz也会在脚本里自动重采样
假设你的音频路径是:
export AUDIO_PATH=/path/to/demo.wav
5. 直接跑单音频整体评分
在 custom-gopt 仓库根目录执行:
python "$BUNDLE_DIR/examples/infer_one_audio.py" \
--audio "$AUDIO_PATH" \
--bundle-dir "$BUNDLE_DIR" \
--repo-root "$PWD" \
--charsiu-src-dir "$PWD/../third_party/charsiu_repo" \
--device cuda \
--output-json ./one_audio_score.json
如果你没有 GPU,把 --device cuda 改成:
--device cpu
6. 成功运行后会输出什么
脚本会在终端打印一段 JSON,并在 --output-json 指定的位置写出同样内容。
典型输出结构如下:
{
"status": "ok",
"audio_path": "/path/to/demo.wav",
"transcript": "she had your dark suit in greasy wash water all year",
"utterance_scores": {
"accuracy": 3.91,
"completeness": 4.12,
"fluency": 3.66,
"prosodic": 3.58,
"total": 3.82
},
"overall_score": 3.82
}
其中:
overall_score就是整体评分overall_score和utterance_scores.total是同一个值- 脚本会把最终分数裁到
0-5区间,便于直接使用
7. 最短验证命令
如果你只是想先确认“模型能不能在本地跑通”,可以直接拿 Charsiu 仓库自带的示例音频试一下:
python "$BUNDLE_DIR/examples/infer_one_audio.py" \
--audio "$PWD/../third_party/charsiu_repo/local/SA1.WAV" \
--bundle-dir "$BUNDLE_DIR" \
--repo-root "$PWD" \
--charsiu-src-dir "$PWD/../third_party/charsiu_repo" \
--device cpu
8. 说明
- 这个脚本走的是:
Whisper -> Charsiu -> Streaming GOPT - 输入 1 个音频,不需要你自己提供文本
- 模型会先自动识别文本,再对齐音素,最后输出整体评分
- 训练数据是 SpeechOcean762,所以更适合英语学习者短句朗读场景
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support