stable-audio-metrics
用于评估音乐和音频生成模型的指标集合:
- 基于Openl3的48kHz Fréchet距离。
- 基于PaSST的32kHz Kullback–Leibler散度。
- 基于CLAP-LAION的48kHz CLAP分数。
stable-audio-metrics
调整了既有指标以评估更真实的长形式全频段立体声生成用例。所有指标都可以处理可变长度的输入。
安装
克隆此仓库,创建Python虚拟环境python3 -m venv env
,激活它source env/bin/activate
,然后安装依赖pip install -r requirements.txt
。
- GPU支持 – 我们仅支持GPU使用,因为在CPU上可能过慢。
- 故障排除 – 由于Openl3依赖项,可能需要较旧版本的CUDA。如果发现无法按预期在GPU上运行,请尝试CUDA 11.8。
文档
主要文档可在以下位置找到:
- 基于Openl3的Fréchet距离:
src/openl3_fd.py
- 基于PaSST的Kullback–Leibler散度:
src/passt_kld.py
- CLAP-LAION分数:
src/clap_score.py
每个示例脚本(使用musiccaps)进一步详细说明了如何使用:
- 基于Openl3的Fréchet距离:
examples/musiccaps_openl3_fd.py
- 基于PaSST的Kullback–Leibler散度:
examples/musiccaps_passt_kld.py
- CLAP-LAION分数:
example/musiccapss_clap_score.py
我们的文档包含如何使用以下数据集进行评估的示例:
- MusicCaps数据集
- AudioCaps数据集
- Song Describer数据集
使用方法
修改我们的示例,使其指向您想要评估的文件夹,然后运行它。例如,修改并运行:CUDA_VISIBLE_DEVICES=6 python examples/audiocaps_no-audio.py
以使用audiocaps进行评估。查看更多示例请参阅我们的文档。
- 无数据集的指标 –
no-audio
示例允许在不下载数据集的情况下运行评估,因为参考统计数据和嵌入已在load
中计算。我们不提供CLAP分数的任何预计算嵌入,因为计算速度很快。 - 与Stable Audio比较 – 要与Stable Audio进行比较,您必须按照
no-audio
示例中的设置所有参数。即使您的模型以不同的采样率输出单声道音频。stable-audio-metrics
将进行重采样和单声道/立体声处理,以提供公平的比较。
数据结构
为每个数据集中的每个提示生成一个音频,并以其对应的ID命名每个生成的音频。
我们的musiccaps示例假设以下结构,其中5,521个生成音频以提示文件load/musiccaps-public.csv
中的ytid
命名:your_model_outputsfolder/-kssA-FOzU.wav
、your_model_outputs_folder/_0-2meOf9qY.wav
、... your_model_outputs_folder/ZzyWbehtt0M.wav
。
我们的audiocaps示例假设以下结构,其中4,875个生成音频以提示文件load/audiocaps-test.csv
中的audiocap_id
命名:
your_model_outputsfolder/3.wav
、your_model_outputs_folder/481.wav
、... your_model_outputs_folder/107432.wav
。
将此数据结构扩展到您的数据集,就像我们在song describer数据集中作为额外示例所做的那样。查看示例的文档。