写点什么

实时语音如何过质量关?

用户头像
cv君
关注
发布于: 2021 年 05 月 16 日
实时语音如何过质量关?

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


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


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


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

我们过去是怎么评价的?

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



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



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


评分标准


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



​ 图 2 :YDT2309-2011 评分标准


评价维度


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


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

良好 的基于价值的指标

适用 的欧盟标准 1-65899

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


客观评价-基于模型

(一) 背景及标准


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


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



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

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



基于 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 的结果,只指定一个没有上下文的句子,与相同 的内容进行比较。



允许使用 原 始窗口的 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 mathimport numpy as npimport pandas as pdfrom scipy.linalg import solvefrom 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 之间。该语言分为 不同的语言,因此可以彼 此不同。只有一种活动语言。它包含 在语言管理的底部。编码输出与生活质量有 关,如下图所示

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

客观评价结果的映射模型

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

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

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

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


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



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

CNN 设计细节如下:

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

摘要

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



噪声

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


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


环境噪声:鸣笛等,


信号溢出:爆破音


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

解决方法

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


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


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

音频处理预防与调试

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

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

2) 原始取消过程。

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




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 写的 另一篇文章:声网的算法和噪声 等的相关解决方案,这里篇幅原因,有 时间下次整 合一起介绍~ 其实还包括使用强化学习,对抗生成等方 式的解决问题方法,特别强,以后可以详细分析一下。


再会~

发布于: 2021 年 05 月 16 日阅读数: 594
用户头像

cv君

关注

还未添加个人签名 2021.03.22 加入

还未添加个人简介

评论

发布
暂无评论
实时语音如何过质量关?