SquimSubjectiveBundle¶
- class torchaudio.pipelines.SquimSubjectiveBundle[source]¶
Data class that bundles associated information to use pretrained
SquimSubjective
model.This class provides interfaces for instantiating the pretrained model along with the information necessary to retrieve pretrained weights and additional data to be used with the model.
Torchaudio library instantiates objects of this class, each of which represents a different pretrained model. Client code should access pretrained models via these instances.
This bundle can estimate subjective metric scores for speech enhancement, such as MOS. A typical use case would be a flow like waveform -> score. Please see below for the code example.
- Example: Estimate the subjective metric scores for the input waveform.
>>> import torch >>> import torchaudio >>> from torchaudio.pipelines import SQUIM_SUBJECTIVE as bundle >>> >>> # Load the SquimSubjective bundle >>> model = bundle.get_model() Downloading: "https://download.pytorch.org/torchaudio/models/squim_subjective_bvcc_daps.pth" 100%|████████████| 360M/360M [00:09<00:00, 41.1MB/s] >>> >>> # Resample audio to the expected sampling rate >>> waveform = torchaudio.functional.resample(waveform, sample_rate, bundle.sample_rate) >>> # Use a clean reference (doesn't need to be the reference for the waveform) as the second input >>> reference = torchaudio.functional.resample(reference, sample_rate, bundle.sample_rate) >>> >>> # Estimate subjective metric scores >>> score = model(waveform, reference) >>> print(f"MOS: {score}.")
Properties¶
sample_rate¶
Methods¶
get_model¶
- SquimSubjectiveBundle.get_model(*, dl_kwargs=None) SquimSubjective [source]¶
Construct the SquimSubjective model, and load the pretrained weight.
The weight file is downloaded from the internet and cached with
torch.hub.load_state_dict_from_url()
- Parameters:
dl_kwargs (dictionary of keyword arguments) – Passed to
torch.hub.load_state_dict_from_url()
.- Returns:
Variation of
SquimObjective
.