测试是软件开发不可或缺的一部分。软件工程师了解在开发过程中测试代码的重要性,并在代码成为整个产品的一部分时测试结果。但音频的独特性意味着它给工程师带来了特殊的测试挑战。
代码行可以并排比较,并评估质量和错误。但是您不能同时收听两组音频输出 - 它们必须按顺序进行评估,这使得比较不仅更难,而且更耗时。由于预期结果可能成为分歧的主题,评估变得复杂。对声音的感知因人而异,这意味着“良好音频”的定义不可避免地会因客户而异,也因最终用户而异。
那么,您如何评估音频软件,让自己有最好的机会在最终产品中产生良好的音频呢?
主观评估与客观评估
也许这个问题的根源在于主观评价和客观评价的区别。两者都在测试音频时很重要,但它们需要非常不同的技术。对音频的主观评估意味着让人们听结果,然后给出他们的回应——无论是定量的,使用某种评分系统,还是定性的,通过说他们是否喜欢声音。客观评估需要通过为此目的设计的算法运行音频录制,这将对各种预定指标进行评分。
哪个更好?答案是,主观和客观评估都有其用途,但它们有明显的优缺点。
有人可能会认为主观评估将是音频测试的黄金标准,因为如果真实的人喜欢你的软件产生的声音,那么你就在家里,每个人都会喜欢的产品。但事情并没有那么简单。首先,您需要决定谁将评估您的音频。您可以选择使用“专家听众”——接受过音频聆听培训并有能力使用行业标准标准评估其质量的人。他们会给你详细的反馈,这非常有用,将使您能够调整和改进你的输出。专家听众知道他们在寻找什么,可以帮助您检测例如伪影和失真,而公众几乎肯定听不到。
专家侦听器的局限性
但这里有一个危险——你的产品的最终用户不会是专家听众,而是普通消费者,他们通常没有接受过听力培训,也许对评估音频质量的技术方法知之甚少。但是,他们确实知道自己喜欢什么;取悦他们的声音很可能与一组专家听众“批准”的声音大不相同。这是另一个警告 - 取悦最终用户的声音对您来说可能也不是那么好。因此,仅使用专家小组可以给您带来很高的分数,但最终结果可能是没有人真正想要的产品。
另一方面,如果您要求公众评估您的音频,则需要考虑将进行哪种测试。例如,您可以考虑使用由国际电信联盟 (ITU) 等机构为正式听力测试开发的协议之一,或者您可以开发自己的协议。使用标准协议可使您的测试在客户中具有可信度;开发和使用您自己的测试协议可能更适合专门的用例。无论哪种情况,通过统计查看结果来避免解释问题都很重要。
您还需要决定谁将组成您的收听小组,请记住,每个人听到的音频都不同,并且听到高频的能力会随着年龄的增长而下降。你能招聘多少人?至少 10 个将给出合理的结果。你会包括有一定程度听力障碍的人吗?如果是,在多大程度上?这里的决定是使用面向一种听众的测试小组,还是尝试组建一个包括具有广泛听力类型的人的小组。如果您正在开发听力辅助产品,那么在您的小组中让听力障碍者是必不可少的。但是,您可能无法招募许多听力障碍者。克服此限制的一种方法是为每个人提供一系列具有不同调谐参数选择的选项,并要求他们为每个选项评分。
评估质量和可理解性
无论您的小组组成如何,您都应该要求其成员评估音频的两个不同方面:质量和清晰度。音频质量与整体用户体验有关:聆听舒适还是不舒服?可理解性是关于用户可以正确理解多少语音而不会费力地听到。设置优化参数时,可能需要在两者之间进行权衡。
例如,您可以通过提高某些频率来使某些内容更易于理解,这与平坦频率响应的可取性有权衡。平坦的频率响应使音频听起来就像您在房间里与某人交谈一样:清晰度调整可能会降低噪音,从而使音频声音更加处理。关于降噪,你越积极地降低噪音,你就越会在你真正想要的声音中引入明显的副作用,比如“抽气”。
最后,一些调整参数可能与产品的使用有关,例如涉及电池寿命。用改进的音频性能与缩短电池寿命的成本进行权衡是否值得?您的听力小组会告诉您该走哪条路。
计划主观评估时要做出的最终决定是您将在其中进行测试的环境。是在线测试还是面对面测试?当然,在线是最容易组织的,因为用户可以在家中参加,并且测试只需要您播放使用软件处理的音频。如果是面对面的,您会在实验室的受控环境中设置测试,在那里您可以控制背景噪音,还是将产品带到现实世界中,让用户听到产品设计场景的结果?两者都有其位置,它们并不相互排斥;最佳方法是先进行受控测试,然后再(可能作为最后阶段)将产品取出来。
客观测试的性能指标
使用客观测试而不是主观测试可以克服这些问题吗?答案是肯定的,其中一些 - 但客观评估有其自身的问题。客观测试完全不需要人类:当您使用他们的算法处理音频时,测试会输出数字分数。通过这些测试运行音频比招募人类听众更容易,并且可以让您快速查看哪种音频变体比另一种更好。目前常用的指标可分为性能指标——信噪比(SDR)和信干比(SIR)——和清晰度指标,如短时间客观清晰度(STOI)、语音质量的感知评估(PESQ)和感知客观听力质量分析(POLQA)。
所有这些都是“侵入性的”,这意味着它们需要“基本真相”记录以及处理结果。在计算这些措施时,使用真实的源图像是公认的做法。因此,无论您选择哪种措施,过程都是相同的:
- 通过在低噪声环境中在阵列上分别录制每个声源来创建基本事实,使所有其他环境因素尽可能相似。
- 人为地混合单个源图像以创建混合。麦克风在其动态范围内通常非常线性,因此只要您避免削波和非常小的量化值,这是一个安全的近似值。
- 使用您的算法处理混合物。
- 通过将算法输出与真实记录进行比较来计算所需的性能指标。
使用这些指标进行客观评估时要记住的几点:
- 基本事实需要与处理后的版本在时间上对齐。即使是几毫秒的差异也会损坏测量值。因此,您需要重新对齐真实源图像以考虑处理延迟。
- 像咖啡馆咿咿呀这样的噪音是漫射的,应该在多个扬声器上模拟,理想情况下,扬声器的数量大约是麦克风的两倍。
- 在繁忙的咖啡馆等地方录制的真实世界喋喋不休可用于验证模拟漫反射噪声的性能。
- 至少在某些源图像记录中使用真人是个好主意,因为人与扬声器具有不同的特征,并且通常不太像点源。
- 您可以改变混音比,以将测试数据集的实用性扩展到不同的声学场景。
- 处理现场录制的完整混音的一些录音,并执行听力测试,以验证人工混音是否为现实世界提供了同等的性能。
但是,从它们的名称中可以清楚地看出,这些测试中的每一个都侧重于特定类型的音频质量或失真。存在一种危险,即如果您更改算法以改进其中一个指标的结果,则可能会更改另一个指标的分数。因此,使用其中一个测试的结果来提高该特定分数的数字,存在音频输出总体听起来不符合您或您的客户想要的方式的风险。您需要考虑不同指标的相对显著性及其在使用产品的环境中的适用性。
最后但并非最不重要的一点是,这些模型基于机器学习,并且具有有关训练集限制的所有已知问题。例如,有些人只接受过英语训练,这限制了他们用其他语言对音频进行准确预测的能力。
总之,成功测试音频取决于对测试类型、测试环境以及实际执行测试的人员做出许多决定。为了使您能够做出适当的决策,将音频评估视为不同环境中不同测试的层次结构会很有帮助。
音频测试计划
随着产品在开发生命周期中移动,您的测试应从下到上通过此层次结构进行,从内部测试到在现实世界中与最终用户合作。但是,您不一定需要执行每个阶段列出的所有评估。选择您认为最适合您产品的测试,同时牢记上述注意事项。
数字。音频评估表示为不同环境中各种测试的层次结构:测试应从下到上进行,从内部测试到在现实世界中与最终用户合作。(来源:音频泰利格斯)
但是,在开始之前,请确保您和您的客户就您计划如何测试音频以及你们都认为是好结果达成一致。他们会使用自己的指标来衡量音频吗?他们会要求自己的最终用户面板收听吗?如果您的客户不同意您的测试方法并且不喜欢产生的声音,那么您认为最终音频有多好并不重要。
首先,测试将由工程师在内部完成。当您的代码仍在开发中时,请使用自动质量评估:有许多不同的算法或多或少复杂,用于评估音频质量。一旦您从这些评估中获得合理的结果,下一步就是在您将在产品中使用的阵列上进行记录,并使用您的软件对其进行处理。确保团队中尽可能多的不同人员听取结果并提供反馈。然后,当您拥有第一条生产线原型时,您可以使用这些原型重复此测试。
在此之后,您需要考虑外部测试。这里的层次结构从向训练有素的听众发送录音,到让训练有素的听众在受控环境中进行测试,再到在专用测试环境中与真人一起进行测试。同样,您不一定需要进行所有这些测试:从向训练有素的听众发送录音到在测试环境中与真人进行测试可能就足够了。
真实世界的测试是我们层次结构的顶端,因为它可以说是最重要的测试。但这个级别的成功取决于您的产品至少经历了它下面的一些测试阶段。您不能通过直接进行实际测试来开发音频产品,因为在开发的早期阶段,您需要进行可重复的测试,而这只有在您可以控制环境的情况下才有可能。
结论
考虑所有不同的音频评估方法以及进行测试的各种环境可能会感到不知所措。为了克服测试音频软件带来的挑战,重要的是要记住您的最终目标:产生一种声音,您的产品的最终用户会判断声音足以确保产品的商业成功。牢记这一目标,将测试过程分解为多个阶段,并在开始工作之前决定在软件开发的每个阶段测试最合适和最有用的测试方法。并且不要忘记,所有这些测试将不可避免地花费比您想象的更长的时间 - 确保您在任何项目计划中都有足够的时间来测试结果。