语音质量评估 Speech quality assessment 方法与代码编写

目前常用语音相对评估指标(参考)4个,绝对评估(无参考)指标3个。简述如下所示:**

相对指标:
1、pesq:共综合以下5个方面打分,分别为音频清晰度、音量、背景噪音音频中的可变延迟或滞后、丢失、音频干扰,PESQ 评分是从 -0.5 到 4.5 的分数,分数越高表示质量越好。可根据以下分数区间进行参考:
-0.5 – 1.99:语音质量极差,完全听不清楚语音的具体内容;
2.00 – 2.39 :语音质量很差,需要集中很多精神或注意力才能听清楚具体内容;
2.40 – 2.79 :语音质量较差,需要集中较多的精神或注意力才能听到具体内容;
2.80 – 3.29 :语音质量一般,仅需要稍微集中一下注意力就能听很清楚;
3.30 – 3.79 :语音质量较好,无需集中注意力就可听的很清楚;
3.80 – 4.50 :语音质量极佳,放松简单的就可以听清楚说话内容;

2、stoi:短时客观可懂度,反映人类的听觉感知系统对语音可懂度的客观评价,STOI 值介于0~1 之间,值越大代表语音可懂度越高,越清晰。

3、bsseval:盲源分离指标,用于测试盲源分离的性能指标;

4、sisdr:标度不变源失真比,用于测试盲源分离,值越高越好。越高代表语音干扰越小、失真越小。

绝对指标(无参考):
1、nisq:基于深度学习绝对评价指标,只需入音频。其输出结果共有五个维度,共同评价语音质量:

维度1:mos_pred :语音质量指标,越高音质越好
维度2:noi_pred :噪声等级指标,越高代表噪声越小
维度3:dis_pred :语音连贯性指标,越高代表语音连贯性越好
维度4:col_pred :音色指标,越高越好听
维度5:loud_pred :语音响度指标,越高代表音量更响亮

2、mosnet:深度学习mos评分;

3、srmr:语音混响调制能量比,分数越高,混响越小,越清晰;

用法
(相对pesq、stoi、bsseval、sisdr)
备注:pesq、stoi客观指标测试,其输入的参考音频与测试音频长度必须相等;
pesq:
Windows 环境下需先安装pycharm 。 安装pypesq 库,方法:
安装方法:打开pycharm,点击Terminal,输入
$ git clone https://github.com/ludlows/python-pesq.git
$ cd python-pesq
$ pip install . # for python 2
$ pip3 install . # for python 3
$ cd …
$ rm -rf python-pesq # remove the code folder since it exists in the python package folder

程序编写可参考如下:
使用方法:
import soundfile as sf
from pypesq import pesq
path_ref = ‘gongwei_mic_mono.wav’ //参考语音
path_gen = ‘gongwei_mic_mono.wav’ //测试语音
ref,samplerate = sf.read(path_ref)
gen,samplerate = sf.read(path_gen)
peaq_score = pesq(ref ,gen ,samplerate)
print('peaq_score = ',peaq_score )

stoi:
Windows 环境下需先安装pycharm 。然后 安装stoi库,pip install pystoi ;
安装方法:打开pycharm,点击Terminal,然后输入pip install pystoi即可,具体与上步骤相似,等待安装成功;

使用方法:
程序编写可参考如下:
import soundfile as sf
from pystoi import stoi
clean, fs = sf.read(‘gongwei_mic_mono.wav’) //参考语音
denoised, fs = sf.read(‘gongwei_mic_mono.wav’) //测试语音
stoi_score = stoi(clean, denoised, fs, extended=False)
print('stoi = ’ ,stoi_score)

bsseval、sisdr:
pip install numpy
pip install git+https://github.com/aliutkus/speechmetrics#egg=speechmetrics[cpu]
完成后输入以下脚本:
import speechmetrics window_length = 15 # seconds
path_to_estimate_file = ‘test.wav’ #test audio path
path_to_reference = ‘reference.wav’ #reference audio path
metrics = speechmetrics.load([‘bsseval’, ‘sisdr’], window_length) scores = metrics(path_to_estimate_file, path_to_reference)
print(scores)

(绝对 NISQ、MOSNET、SRMR)
NISQ为基于深度学习绝对评价指标,只需入音频。其输出结果共有五个维度,共同评价语音质量:(网站: gabrielmittag/NISQA: NISQA - Non-Intrusive Speech Quality and TTS Naturalness Assessment (github.com))
维度1:mos_pred :语音质量指标,越高音质越好
维度2:noi_pred :噪声等级指标,越高代表噪声越小
维度3:dis_pred :语音连贯性指标,越高代表语音连贯性越好
维度4:col_pred :音色指标,越高越好听
维度5:loud_pred :语音响度指标,越高代表音量更响亮

使用方法:
在终端执行以下命令:
1、git clone https://github.com/gabrielmittag/NISQA.git
2、conda env create -f env.yml
3、conda activate nisqa
4、创建输出文件的文件夹(输出文件为积分记录表),如输出文件夹在outputfile,就创建一个名为outputfile的文件夹;
5、在步骤4所创建的文件夹中,创建NISQA_outputfile.csv;
6、执行 python run_predict.py --mode predict_file --pretrained_model weights/nisqa.tar --deg test.wav --output_dir outputfile
predict_file:模式选择为推理模式,默认不用改;
weights/nisqa.tar:为推理时所用到的模型,默认不用改;
test.wav:需要评估的音频;
outputfile:音频评估分数表输出目录
结果图例:
在这里插入图片描述

MOSNET、SRMR

pip install numpy
pip install git+https://github.com/aliutkus/speechmetrics#egg=speechmetrics[cpu]
完成后输入以下脚本:
import speechmetrics
window_length = 20# seconds
reference = ‘test.wav’ #audio path
metrics = speechmetrics.load(‘absolute’, window_length)
scores = metrics(reference)
print(scores)
或直接使用以下脚本;

结果图例:
在这里插入图片描述

  • 15
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
fsim: a feature similarity index for image quality assessment代码是用于图像质量评估的一种特征相似性指数。 该代码是在图像处理领域中常用的一种评估指标,用于量化图像质量的好坏程度。它基于图像的特征相似性来评估图像的质量,而不是简单地比较图像的像素值。 该代码的实现基于一系列的图像特征。它会对输入的两幅图像进行特征提取,然后计算这些特征之间的相似性。其中特征可以包括颜色、纹理、对比度等。 通过计算特征之间的相似性,可以得到两幅图像的相似度。这个相似度的数值可以作为图像质量评估指标。如果两幅图像的特征相似度高,那么它们的质量就相似。反之,如果相似度低,则意味着图像质量较差。 这个代码对于图像质量评估非常有用。在图像处理领域中,我们经常需要评估算法对图像质量的影响。通过使用fsim代码,我们可以定量地评估算法对图像质量的改善程度。 同时,这个代码也可以用来比较不同图像处理算法之间的效果。通过计算不同算法处理后图像的质量评估指标,我们可以选择最佳的算法进行图像处理。 总而言之,fsim: a feature similarity index for image quality assessment代码是一种用于图像质量评估的特征相似性指数。它通过计算图像特征之间的相似性来评估图像的质量,可以用于算法的质量评估和算法选择。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值