#voice #speech-quality

visqol-rs

基于Rust的Visqol v3.1语音质量评估算法

3个版本

新版本 0.1.2 2024年8月17日
0.1.1 2023年12月12日
0.1.0 2023年7月17日

#328 in 音频

Download history 116/week @ 2024-08-12

每月116次下载
用于visqol

Apache-2.0

195KB
5K SLoC

Visqol-RS

  • 基于Rust实现Visqol v3.1语音质量评估算法
  • 在Rust代码中计算visqol评分!请注意,您需要以发布模式编译。

受众

  • 从事语音增强和感知音频评估领域的研究人员、工程师和学者。

构建说明

  • 您需要Rust工具链
  • 最低支持的Rust版本(MSRV)正在开发中!如果事情不顺利,请提交一个问题 :)
  • 到目前为止,在macOS 10.15和WSL2 Ubuntu上成功构建了可执行文件。
  • 在Windows上使用MSVC编译时存在已知问题。正在修复中!

示例

use visqol_rs::*;
    
let path_to_reference_file = "./test_data/clean_speech/reference_signal.wav";
let path_to_degraded_file = "./test_data/clean_speech/degraded_signal.wav";
let config = visqol_config::VisqolConfig::get_speech_mode_config();
let mut visqol = visqol_manager::VisqolManager::from_config(&config);
let similarity_result = visqol.run(path_to_reference_file, path_to_degraded_file).unwrap();
println!("Mean objective score for degraded file {}: {}", path_to_degraded_file, similarity_result.moslqo);

注释

  • 为了获得合理的计算时间,建议以发布模式编译此库。由于gamma滤波器组和相应的频谱图计算的高复杂性,ViSQOL在调试模式下通常较慢。
  • 这是一个业余项目。请期待关于问题、pull请求等的时间延误。

论文

强烈建议您通过阅读这些论文来熟悉Visqol

致谢

  • 由于这个项目更多是我学习Rust的练习,实际的算法创建并非由我来完成。我想感谢Jan Skoglund、Michael Chinen和Andrew Hines在感知音频评估领域的巨大努力和创新。

依赖项

~68MB
~893K SLoC