Skip to content

dstrub18/visqol-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Visqol-RS

  • Implementation of the Visqol v3.1 algorithm for speech quality evaluation in Rust
  • Builds a command line executable which produces Visqol scores, with a command line interface identical to the C++ implementation.
  • Or you can compute scores within your rust code! Just note that you will need to compile in Release mode.

Audience

  • Researchers, engineers, academics who work within the field of speech enhancement and perceptual audio evaluation.

Build instructions

  • You will need the rust toolchain.
  • A minimum supported Rust version(MSRV) is underway! Submit an issue in case things don't work for you :)
  • So far, the executable builds successfully on macOS 10.15 and WSL2 Ubuntu.
  • There is a known issue when compiling on Windows using MSVC. A fix is underway!

Example

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);

Notes

  • For reasonable computation times, it is recommended to compile this library in Release mode. Due to the high complexity of the gammatone filterbank and computing the corresponding spectrogram, ViSQOL tends to be rather slow in debug mode.
  • This is a spare time project. Please expect delays with regard to issues, pull requests etc.

Papers

I highly encourage you to get familiar with Visqol by reading these papers:

Acknowledgement

  • Since this project was more an exercise for me to learn Rust, none of the actual algorithm creation comes from me. I'd like to thank Jan Skoglund, Michael Chinen and Andrew Hines for their tremendous effort and innovation in the field of perceptual audio evaluation.

About

The speech quality evalutator ViSQOL written in Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages