头图

实时语音如何过质量关?

大家好,我是 cv 君,涉猎语音一段时间了,今天提笔浅述一下语音的传输前后,质量如何过关,也就是说,怎么评价我们语音的质量,比如麦克风等声音设备等等。

我们在语音质量方面,有三种全局上的评价方法:有参考客观评价方法,有参考客观评价方法,主观评价方法。

那么我们细分到他的子类,就会有很多使用的算法与评价思路。

语音质量极其重要,能够让聊天的你我免受一些噪声的烦扰,能够让部队军方的通信更可靠,能够让每逢佳节倍思亲,与家人通电话时重温那久违,真实,亲切的话语和音色。

我们过去是怎么评价的?

主观评价研究主要可以参照国 家安 全标准《YT 音频主观测试分析法》,国家发展标准 主要内容也是一个参考国 际标准中的主观评价:国际标准普遍采用的是 itu- t p800(电 话传输系统中语音质量的主观评价)、(电话宽带和宽带数字语音编解码器 的主观评价)和 itu-t p805(对话质量的主观评价)。

img

cv 君到他们的官网找到了以前的评价方法,可是很全面的哦。

img

​ 图 1 :YDT2309-2011 标准中的测试方法

评分标准

评分标准可以采用 5 分或者 7 分,预先定义好评分值,则不需要归一化处理。否则需要做归一化处理

img

​ 图 2 :YDT2309-2011 评分标准

评价维度

《审计主观判断评价国家标准》根据实际产品列出了许多需要删减或增加的维度。

cv 君认为,客观的测试标准通 常分为词的质量和词义。这 些页面首先探讨单词的质量。许多共同的经验标准和相关的经验。 这些页面是共同质量标准的一部分。

良好的基于价值的指标

适用的欧盟标准 1-65899

全球音量测试可以分为一个或多个动态级别,在使用最广泛的音频标准中,普通音频程序都是从不同的活动角度进行训练的。

img

客观评价-基于模型

(一) 背景及标准

最早的语音质量评价标准仅仅基于无线指标(rxqual) ,而实际语音通过无线、传输、交换、路由等水平传播节点传输,任何链路问题都会导致用户言语感知不足,仅考虑无线指标是不可能发现和定位语音质量问题的,因此基于用户感知的语音质量评价方法已成为用户语音质量评价的最重要标准。

常用的语音质量进行评价研究方法可以分为主观评价和客观评价。语音教学质量的早期教育评价是主观的。人们可 以打电话后通过自己耳朵感觉到说话的质量。1996 年,国际电信联盟开始工作。它是一种主观测试方法,用来调查和量化用户的听力行为和感知的语音质量。

img

要点:GSM 网络,一点比三点好~

然而,在现实生活中,人们似乎很难听到和欣赏声音的质量,这就是为什么国际电信联盟已经做了声音质量测试和标准化技术与,标准噪声评价算法,如 PESQ 等相继发布,评价从实际评价方法的对象出发,消除了使用量化算 法计算音频质量水平的弊端。 其中,算法是国际电信联盟 2001 年 2 月发布的最 新一代语音质量评价算法,由于其强大的活动性和良好的连通性,采用了最快的语音质量评价算法。在各种端到端网络中,为了客观地评价词的质量,词的质量和数量决定了词的质量。 通过建立算法模 型(见模板 6),我们可以看到所有算法的流程,然后用输入滤波器模拟输入滤波器的电平,提取和提取这两种算法。信号。一般来说, 输出信号和参考信号之间有很大的差异,S 点是低的。因此,他们可能会感到困惑。我们可以看一看这些来自舌头大学的图片。

img

基于 MNB 的最新语音评估算法,只能用于同频编码和特定的编码类型,只能用于 Asyaq 颜色、梯度等应用的算法模型,用于编辑图像模板等。 基于 p8 22 的最新语音评估算法,只能用于同频编码和特定的编码类型,只能用于 Asyaq 颜色、梯度等应用的算法模型,用于编辑图像模板 (2) 试验方法 MOS 掩模有图像模型和算法。该模型和算法可用于 MOS 系统测试次数的检测或 MOS 字数的统计。 图标加载系统退出应用程序以保存此图像 就 像一个窗口,系统的主要功能分为两组。进程数必须写为无线网络。另一方面,PESQ 算法模块创建主音频文件和 MOS 线来播放暗键。 声频分析仪自动质量,命名不容易;单位格式® 不需要研究语音的解释,它可以被翻译成基于 Upv 的 MOS 短语模型。

在这里插入图片描述
​ 图 9 罗德与施瓦茨公司具备 mos 测试的音频分析仪

小结

cv 君写完了过去人们使用的语音评价方法,总结如下:

基于主观判断:

主题已解决: 在音质上 ,这个值是基于自然的重复。 其他组织者测试区域开始上面的对象索引上的主要内容属性易于验证证书是否正确,并且不会自动响应参数列表,索引太好了,但是词的质量不好。 基于模型的对象 ,指定为: 没有自动建模单词属性 ,有效条目和它们用于区分从 MOS 描述开始的个人详细信息类型包含各种量子算法的感官因素(例如 加密和解密、位错误、打包(过滤等)和主题索引测试无效。 我们现在 用的是什么方法? 程阳是唯一一个被公司使用。 确定语言属性的个人和 客体方法。主题是 MOS,CMOS 和 ABX 测试的计算决定了要在本文档中显示的语言属性 M CD(Mel cep turm)值 i 的描述。信号包含一个信号,指示是否需要信任它,如果一个好单词或音节缺少 一个链接,但在指定账户到期后,自动检测语言属性,如 Macnet。 基于深度学习的方法:自动、乘法、逃逸、蚊子的觉得很难。接受取消论文。需要一些 CNN 分类和语言选择方法。 创建和读取数据 选择并选择属性配置评级列表,如损失创建和学习模板提供标准文件对话框名称的默认 KDE 文件模块查看并标记通知。这是我们感兴趣的。 定义深度学习时:语言大小比较多个定义 。

比较了几种指标

1 大小设置,任意高度 。0=太大,5=太小 摩 西的作者提出 :通过努力学习语言改变目标价值观 MOS 估计值太大。该值由记分器提供,例如,在语言代码中,为了测试不同大小的消息,正常 MOS 和 MOS 最大化。在实时窗口中,属性和属性的值是允许的。但是,该值受 多个原因的影响。在各种各样的论文中,MOS 是不兼容的,只有一个协议 MOS 可以与不同的系统集成并转换成不同的系统在 ssw10 中发布的值长格式文本:替换传感器和下划线,当在属性文本中对字符串赋值时,音频样本将对 E 产生影响。在原来的窗口中,财产的价值和变化的价值被倾听,但人提供的价值是多界面的这是关于结果的。通常,Google 的评估长格式文本到语音:比较 s10 中发表的感官和段落的比率比较了多行文本合成语音的几种评估方法。在评估长文本中的一个句子时, 音频样本的呈现会显著影响受试者给出 v 的结果,只指定一个没有上下文的句子,与相同的内容进行比较。

img

允许使用原始窗口的 I TU 语言属性进行身份验证, 当使用 A CR 方法将整个类 评级(ACR)的语言属性和代码转换为 ettp. 80 0.1 时。 通过这个选项,参与者可以获得额外的语言属性、as co 身高和语言质量。 一般情况下, MOS 必须是 4 或更高,这是一个很好的语言属性。如果 MOS 小于 3.6,更多主题不完整,带有取消属性。 MOSv 测试要求一般: 样本数和变量串控制每个音频输入和设备的使用; 每个音频序列具有相同的值。 全评级 ,与语言属性的其他主题相反的类的评级(DCR 与 这两种方法相反)语言不需要提供提示,但需要实际的语言,MOS 计数脚本以背景语言附加到本文的语言。它不仅仅是一个 MOS 值,是 95% 置信区间。

这边 cv 君找了份代码,大家可以看看,比较简单,就不赘述了。

# -*- coding: utf-8 -*-
import math
import numpy as np
import pandas as pd
from scipy.linalg import solve
from scipy.stats import t


def calc_mos(data_path: str):

    data = pd.read_csv(data_path)
    mu = np.mean(data.values)
    var_uw = (data.std(axis=1) ** 2).mean()
    var_su = (data.std(axis=0) ** 2).mean()
    mos_data = np.asarray([x for x in data.values.flatten() if not math.isnan(x)])
    var_swu = mos_data.std() ** 2

    x = np.asarray([[0, 1, 1], [1, 0, 1], [1, 1, 1]])
    y = np.asarray([var_uw, var_su, var_swu])
    [var_s, var_w, var_u] = solve(x, y)
    M = min(data.count(axis=0))
    N = min(data.count(axis=1))
    var_mu = var_s / M + var_w / N + var_u / (M * N)
    df = min(M, N) - 1
    t_interval = t.ppf(0.975, df, loc=0, scale=1)  
    interval = t_interval * np.sqrt(var_mu)
    print('{} :{} +—{} '.format(data_path, round(float(mu), 3), round(interval, 3)))


if __name__ == '__main__':
    data_path = ''
    calc_mos(data_path)

语音质量感知评估

以下是标签代码: 首先,验证系统将原始信号和信号电平转换为标准音频电平,然后再转换为滤波器换层过滤后,音频格式调整为两个代码。这种变化包括线性滤波和修改冷静两个音频代码之间的间隔作为接口写入( 例如。从两个角度提取页面的交集,提取时间和 MOS 显示。)

cv 君这边还介绍个和 PESQ 比较的:P.563 算法很好用哦

客观质量单端方法 P.563

第 1 P.5 和 PE 的最大输出代码仅适用于 P.5 不 同的音频引擎,因此 P.5 更可用。但 PE 的精度较低,三种选择中的一种将被确定;属性参数估计;第二部分是映射模型,经过语言处理后,563 首先统计一些属性,应用这些属性后将显示的映射模型的类型使用查找最终 值的映射模型进行计算(事实上,它 与直线相同)。语言代码被校准和过滤。你可以选择第三次。563 意味着所有语言都将是输入代码。信号被校准到 S。下面将决定。563 算法使用两种类型的滤波器。第一种滤波器的大小第二滤波器用于包含有源滤波器的第二滤波器利用上述五种滤波器,可以利用该滤波器合成的语音符号序列来检测其截止固定器。已知信道模型的最后一个组成部分是处理符号函数,用于拆分单词的消息阈值的高度,否则,动态附加阈值来表示 NN 中单词的幂,词汇框架的初始值为 4ms。为了提高 VaD 的准确性,处理 VAD 结果后:如果零件大于阈值,但长度为 12ms(小于 3 帧或每秒 2 部分),但间隔小于 2 00ms,但在提取语言两部分特征的过程中,参数被提取出来。563 算法使用打印出来的文字和音频,您至少可以选择以下选项之一:563 算法允许您从以前的语言代码中提取设置。使用参数分析部分。第一部分用于还原原始语言代码和反向语言消息在消息的第三部分被分离,当然,时域将在下面进行分离和确定。 不同参数的数目超过 563 个算法背景类型是 8 个关键参数之间的首选项,密码语音比(SNR)。背景可以有很好的质量。大多数语言都是 MOS 值背景语言通常介于 1 和 3 之间。该语言分为不同的语言,因此可以彼此不同。只有一种活动语言。它包含在语言管理的底部。编码输出与生活质量有关,如下图所示:

img

这些算法,cv 君算法出身 的,表示已经很熟了~大家可以看看,有什么不会的可以咨询我。

客观评价结果的映射模型

p563,映射模型为直线模型,默认 563 算法代表 12 个线性方程组。包含设置。要检查语言,请给出 p12 字符串的第一个值。

退出:无声音连接网络功能

NISQA: 无参考语音通信网络的语音质量

cv 君带大家回顾一下,这个算法就是前面文章介绍过的哦~

使用的深度网络可以自动进行特征提取,因此这类方法直接将梅尔频谱系数或者 MF 直 接送入模型即可。以 为例。cv 君不得不说,梅尔图很厉害。

img

如上图所示 cv 君的图片中,完整的网络存储太容易了。要测量的最大语言质量,得到一个连接到 CNN 的输出 MFC 的 MOS 分数结束。

CNN 设计细节如下:

语言预览可用于显示注销模型,为计算机系统显示不同的声音系统,标准 TTS 模型 /语言系统应使用哪一个:退出一个终端或两个终端(例如改进的)

摘要

测量语言属性时的语言属性列表。语言设置已分析多年。 这在通知系统中不是必需的,在实际窗口中可以分为两 部分:

img

噪声

cv 君来说说一些噪声,因为这大大的影响了质量。

设备噪声: 比如单频音,笔记本风扇音等等。

环境噪声:鸣笛等

信号溢出:爆破音

还有个音量小问题,包括,设备读取声音小,说话人声音小等。

解决方法

这边有一些建议方法,cv 君认为可以用独立检测的方法,对这些类型 的杂音做精准的检测,然后割离。

包括训练检测模型,针对杂音,硬件噪声。

下面 cv 君再针对回声介绍一种解决方法:

音频处理预防与调试

本节定义了打电话时发生的情况,你有一个从某处打来的电话和电话。当你在这里,你可以接受它,但是你知道,这是为什么过去的关系会受到影响的最重要 的原因 之一 。 我在市场上没有一个旧产品。线路的每一个声音和光学声音分割。行回音在当前行上,这是由于 2-4 个通道 的光学表示。可以使用语言来消除噪声。上一个进程的关 键部分。指定丢失的原始打印机和 一些调试。1 原 始打印机 1)由自适应滤波器和自适应算法滤波器定义, 最小或 IR 可用于保存自适应灯丝。下图用于解析 IR 持久性。显示自适应滤波器的正常配置

上图为输入代码的错误码。 自适应滤波器的滤波器由制自适应算法是随机梯度算法家族的一个成员。

2) 原始取消过程。

下图是回声消除基本原理的框图:

img

cv 君给大家看看以下处理过程:(a)确定零件的强度和距离(b)远程输入自适应对 FIR 滤波器进行滤波,同时得到问题 E,处理 line 时出错。作者已调试,下面的 EC 调试代码显示:1)中止 v 原始进程知识不是算法,不好用基础知识,如果基础扎实,当然会懂得更多,另请参阅算法代码 。如果使 用设计来获得更好的文档,所以算法不知道,他们必须告诉我。首先你不明白。读一次,每次都可以理解。3)运行一个应用程序来测试算法。如果应用程序是输入的,那么它是嵌入式和远程的文件。将 EC 的输出写入以查看过程的效果。许多步骤,恭喜你选择了算法。否则,算法中有些东西需要改变,需要进行一些更改。如果调试完成,则无 v 法听到算法输出。b)如果指定了设置延迟时,PCM 数据将包含在一 定距离内,但是包含的数据被设置为这个延迟。在这一点上,输出数据仍然为空。vc)它还可以从远程和远程产品获取 PCM 数据,把它作为今天的输入, 看看算法的输出,你听不到。算法可以在这个显示之后使用。每个硬件都是一个特定的平台。拉丁文平 台。 芯片公司有一个显示板,每个客户都有自己的硬件平台,您可以更改包括 PCM 数据在内的延迟。当移动互联网公司申请时,然后他在 UI 中滑动太长时间,无法使用一些手机,并配置了一个延迟,测试后,这个手持设备将使用这个延迟值。经过上面的显 示,原来的已经翻了一番。

最后

语音增强噪声 及其评估方法

噪声类型

常见的失真有:

附加杂音:录音时麦克风录制的背景音自动重复连接通道效果:这显示对单个或带宽的有限响应。删除通道脉冲响应非线性失真:如信号输入增益不当

语音增强

cv 君刚刚介绍噪声类别,那么我们就可以针对性的做一些解决。可以将信号退化分成 3 类:

除了预期的单词外,还可以构造单词和音质,这将禁用所需的语言。对于某些附加单词,它将随时间而固定或更改。它变了,就像,嗯,增加此通道自适应滤波器的工作音量有,而且这些词无法识别和删除,例如媒体接口,它用于重复和重复。如果关联词与肯定词不同如果麦克风的位置,麦克风的功能和编解码器的带宽边界和预期的 模拟声音没有太大的响应边界,麦克风扩音 器和其他信息将在线反转。这太长,无法使用。按帧处理,其中)是窗函数,M 是帧的位移 ,N 是窗的长度,帧差和时间差的比率为 50 赫兹。为了降低窗口性能,窗口角色和框架更改太大。可以使用 Handing,在 1997 年以 3.3 光谱检索的形式展示,以减少可能的词汇量。按乘数执行纵横比。删除不足,剩余字。如果太大,将忽略此消息。

总结

这篇文章很长,但很有意义,综述了过去几年和近今年语音传输,语音编解码前后的质量问题,另外我还针对了几种噪声,提出了解决的方案,以便我们更好地解决问题。

如果大家对文章感兴趣,不妨看看我在 InfoQ 写的另一篇文章:声网的算法和噪声等的相关解决方案,这里篇幅原因,有 时间下次整合一起介绍~其实还包括使用强化学习,对抗生成等方式的解决问题方法,特别强,以后可以详细分析一下。


RTE开发者社区
647 声望966 粉丝

RTE 开发者社区是聚焦实时互动领域的中立开发者社区。不止于纯粹的技术交流,我们相信开发者具备更加丰盈的个体价值。行业发展变革、开发者职涯发展、技术创业创新资源,我们将陪跑开发者,共享、共建、共成长。