新葡萄京官网-新葡萄棋牌388官网-首页

乐器辅助学习器音调保持算法的设计与实现

2020-01-11 01:07:12 工业技术创新 2020年6期

靳思雨 韩宇龙 吴秉坤 苗洪睿 党柳 邵淑颖 宗天禹

摘? ?要: 多普勒效应的存在,使得音频在加速或减速播放时,音调变得尖锐或低沉,无法满足很多场景的应用需求。以乐器辅助学习器为研究对象,兼顾考虑App复杂程度和硬件实现成本,优选时間域的剪贴法,设计2倍速和1/2倍速下的音调保持算法;以有限时长二胡乐曲为例,采用改变音频速度时变调的普通算法和音调保持算法进行音频处理,并对处理结果进行对比分析。研究发现,普通算法2倍速(或1/2倍速)处理得到的音频频率范围明显拓宽(或收窄),同时在原始频率范围内的高频(或低频)段出现了1~2个显著的频率分量,为音调变尖锐(或低沉)提供了理论证据。音调保持算法基本达到了预期效果,实现了“变速不变调”,并且处理步骤简单、易于硬件集成,为乐器辅助学习器等产品的音效处理模块提供了开发思路。

关键词: 音调保持算法;多普勒效应;乐器辅助学习器;时间域;剪贴法;变速不变调

中图分类号:TN912? ? 文献标识码:A? ? 文章编号:2095-8412 (2020) 06-121-06

工业技术创新 URL: http://gyjs.cbpt.cnki.net? ? DOI: 10.14103/j.issn.2095-8412.2020.06.022

引言

在播放音频时,大家常有这样的遭遇:如果加快播放速度,声音的音调就会变得尖锐刺耳;相反,如果降低播放速度,声音的音调就会变得粗而低沉。这是由多普勒效应造成的,该效应在医学、交通和航天等领域同样普遍存在。但是,该效应在很多应用场景中并不受到期待,人们往往希翼声音在播放速度发生改变后,音调仍然保持原样。比如乐器的初学者往往希翼将一些优秀曲目的音频放慢到几分之一倍速,以方便聆听和模仿,或者将自己演奏的音频录下来慢速播放,以便发现演奏过程中存在的问题;再比如外语学习者在练习听力时,也许希翼减慢或加快听力资料的播放,以适应自身的学习状况等。在这些应用场景下,如果声音的音调发生扭曲,就会严重影响声音聆听者的体验。

在音调规整方面,早期的研究论文大多关注算法模型的改进和参数的选择等,而现在的大量研究则聚焦于语音增强[1-2]。这些研究往往并不针对特定的应用场景,不具针对性。本文旨在专门对乐器辅助学习器的音调保持功能进行研究。这是因为随着人们生活质量的提高,人们对乐器学习的需求和要求也越来越高,乐器辅助学习器作为辅助学习乐器的工具,在将音频加速或减速播放时保持音调不变,是其应具有的基础且重要的功能之一。为乐器辅助学习器设计音调保持算法,初衷就是要“变速不变调”,提升乐器初学者的学习体验,解决音调扭曲带来的产品痛点。

1? 基本原理与算法比选

1.1? 音调变化的基本原理

音调是人类相对主观的一种感受。声音中的基频决定了音调的高低,频率越高,音调就会越高;频率降低,音调就会变得更加厚重。谐波分布决定了音乐的音色,而单位时间内的节拍数决定了音乐的快慢。所以,声音的“速”和“调”是两个不同的概念。变速不变调就是指改变播放速度的大小,同时保持基频不变。但二者不是相互独立的,一方的改变会影响另一方,不能完全割裂开来。

音频的音调保持技术是一种时域修正技术,即在保证音频中音调、音色等特征不改变的情况下,对播放时长进行伸缩。

1.2? 音调保持的常见算法

音调保持算法有三大类:时域法、频域法、参量法。

剪贴法和同步波形叠加法是时域法中两种最常用的方法。

剪贴法是时域法中最为基础的一种方式。首先将音乐划分为若干连续不重叠的帧,然后重复这些帧,使得播放速度变慢;或舍弃一些帧,让播放速度变快。这种方法原理和操作都很简单,但在叠加或舍弃帧时会导致相邻两帧之间波形不连续,即使得基音发生断裂,音频质量变差。

为减轻基音断裂现象,Roucos等提出了同步波形叠加法(SOLA)[3-8]。如图1所示,该算法有分解、合成两阶段。分解阶段对原始信号进行分帧,在分帧的同时进行加窗平滑处理。合成阶段又分成两步:第一步,确定初步合成重叠距离。在保证第1帧不变的前提下,移动之后的各帧,调整相邻两帧的距离为Ss。第二步,确定最终合成帧的起始位置。在已合成的第m帧第Ss个采样点的某个邻域[-Kmax, Kmax]内,移动搜索与分解阶段第m帧信号的波形相关性最大的位置Km。因为其与叠加部分波形最为相似,因此也就减小了基音断裂,但由于不能精确控制音频处理以后的时间,故容易造成音频的叠加。

频域法可以基于短时傅里叶变换原理,利用最小均方误差原则,通过在时域寻找一个最为靠近理想变速信号频谱的短时傅里叶变换幅度谱,实现变速不变调。

参量法需要首先对语音信号建立模型,然后根据需要修改模型的参数。相位声码器通过带通滤波器将语音分解成无数个正弦信号,然后对幅度和相位进行时域压扩,再合成之,从而实现变速不变调。

考虑到App复杂程度和硬件实现成本,本文采用时间域的剪贴法实现变速过程中的音调保持。

2? 音调保持的App实现

根据章节1.2对剪贴法的先容,构建App实现过程,如图2所示。

图2所示的处理过程也可称为等间隔抽样法,或直线等距抽样法,即把总体所有单元排列成一条直线,设总体的单元数为N,所抽样的样本单元数为n,计算出系统抽样的间隔k,其中k的计算公式为

(1)

如果N不能够被n整除,就取k为最接近的整数(假设为L)。这实际就是把一条长度为N的直线分成n条线段,每条线段包含有k个单元。抽样时,如图3所示,先在第一条线段的1~k个单元中随机抽取一个随机数i,择选第i单元作为第1个样本单元,然后每隔L个单元抽取一个单元,这样就一共抽取了n个样本单元.

这样的规则使得初始样本一旦确定,其他的样本单元也就随之确定了。另外,当

(2)

成立时,无论采用哪种方法,总体单元的入样率都是1/k,即实现了等概率抽样。

總之,在剪贴法中可以用等概率抽样的方法对音频中的某一分段进行重复或丢弃,从而达到变速不变调。

2.1? 2倍速处理

2倍速的处理对象为一段时长为90 s的二胡乐曲片段,处理步骤如下。

第一步:分帧处理,取N=90,因为乐曲时长为90 s;

第二步:取k=0.05,也就是将音频按照每0.05 s进行划分;

第三步:按照式(1)计算得出样本单元数,即n=N/k=90/0.05=1 800;

第四步:重新分组,即把相邻的每两个样本单元不重复地分为一个大组,1 800个样本单元由此变成了900个大组;

第五步:丢弃后原序组合,即丢弃每一个大组中两段音频中的后一段,这样每一大组的时间减少一半,再按照抽取前的顺序,将每个大组保留的音频再次组合起来。

这样得到的音频片段,时间自然缩短了一半。由于只进行了抽取,并未明显改变音频的频率,因此音调也就不会发生大的改变。

人耳由于具有自动填充的功能,因此很难分辨等间隔出现的0.05 s的音频缺失。

2.2? 1/2倍速处理

1/2倍速处理同样使用剪贴法,但分帧后的重新组合与2倍速有所不同,下面是具体处理流程。

第一步至第三步:方法和数据均同2倍速;

第四步:复制插入后按原序组合,不同于2倍速的丢弃,1/2倍速分帧后的每一个样本单元,都以自身为模板进行复制,再将复制后的音频片段直接接续组合到被复制的原音频样本之后,这样得到的组合音频的时间拉长为原来的2倍。

由于第四步只是对原有音频片段进行复制,故频率不会有明显变化,音调也会基本保持不变。

如果要进行更高倍速的快放和慢放,同样可以使用剪贴法。只需记住:快放对应分帧后丢弃,慢放则是分帧后重复,至于如何分帧,则要视情况与需求的不同而定。

这里还需要强调的是:时间划分得过细或过粗都会影响最终的效果。时间划分得过细,间隔就会过多,拼接后产生基音断裂的情况就会越多,这会经常引起刺耳的噪音;反之,时间划分得过粗,丢弃或重复的音频片段过长,人耳无法进行自动填充,导致听到的音频效果面目全非。k=0.05是经过大量测试后优选的较为合适的时间划分值。

3? 结果与讨论

3.1? 测试结果

对于处理后音频相比原音频的变化,有三个方法可以鉴别:实际听觉评价、时域波形分析和频域波形分析。本节列出了同一个音频,在普通情况(即改变音频速度变调的情况)和变速不变调情况下所产生的时域谱和频域谱。

当以2倍速播放时,原音频、普通2倍速和不变调2倍速的时频域波形及对比如图4所示。

从图4a~4c的时域波形可以清楚地看到:时长为90 s的原音频经过普通2倍速和不变调2倍速的处理后,时间均变为45 s,达到了2倍速的目的。

为了更加明显地观察音频处理后的变化,将三个音频的频域波形综合在一起,如图4d所示。可以很明显地看出,原音频和变速不变调的2倍速音频的频率全部集中在3 kHz以内;而经过普通2倍速的处理以后,一部分能量出现在5.5 kHz左右,增加了约2.5 kHz(近一倍),同时在3 kHz附近出现了一个比较明显的频率分量,这些都使音调变得尖锐刺耳在情理之中了。对比原音频和不变调2倍速的频谱,二者近似程度更高,尽管也不可避免地产生了一些音调的变化,但已基本能满足变速不变调的要求。

1/2倍速处理的情况与2倍速类似,只是音频时间由原来的90 s变为180 s。限于篇幅,仅给出频域的对比图,如图5所示。不难看出,原音频频率主要集中在3 kHz以内,而普通1/2倍速音频的频率范围却少了约一半,主要集中在1 kHz~1.5 kHz之间;同时,普通1/2倍速音频在100 Hz以内出现了2个比较明显的频率分量,这就使得声音听起来显得更慢且低沉,音调变化明显。而经过不变调处理后的音频,依旧保持着与原音频相近的频率,失真有限,声音听上去只是速度变慢而已。

3.2? 讨论与引申

由章节3.1展示的结果可知,利用时域剪贴法进行2倍速和1/2倍速处理,基本实现了音调保持的目的。如果要进一步实现4倍速或1/4倍速处理,也可以用同样的方法直接实现,或者连续调用2次2倍速或1/2倍速的处理程序。这种方法的优点是实现步骤少,实现成本低,且易于在硬件平台上集成,适用于对产品成本敏感且对音频处理质量要求不是很高的场合。

但是,如果继续以时域剪贴法进行更高或更低倍速下的音调保持处理,音频中信息的损失也会随之加大,这时可以结合使用同步波形叠加法或其他更为复杂的改进处理方法。

当然,音调保持只是音效处理的情景之一,后续还可以进一步探索在放慢或加速乐曲时,保持相对强弱、频率和音色等特征不变的处理算法。

4? 结束语

对于学习乐器或声乐的人,通过乐器辅助学习器,随时能得到一份学习者能理解的练习效果评估明细单,对提高学习效果和质量都大有裨益。

但是,如何对音效及其处理结果进行量化和精确评价,是很有挑战性的工作。目前的评价体系还是以质化为主,结论依赖人的实际感受,容易受到测试者的生理、心理还有环境等的影响,不仅费时费力,也很难保证客观和公正。后续研究可以在这方面努力突破。

基金项目:

2020年北京市级大学生创新创业训练计划项目

参考文献

[1] 周俊, 陈砚圃, 谭薇, 等. 语音时长规整SOLA算法的最佳参数选择[J]. 微电子学与计算机, 2007(24): 54-58, 62.

[2] 郑展恒, 曾庆宁. 语音增算法的研究与改进[J]. 现代电子技术, 2020(43): 27-30.

[3] MOULINES E, LAROCHE J. Non-parametric technique for pitch-scale and time-scale modification of speech[J]. Speech Communication, 1995, 16(2): 175-205.

[4] LAELOR B, FAGAM A D. A novel high quality efficient algorithm for time-scale modification of speech[C]// Proc of the 6th European Conference on Speech Communication and Technology, Budapest, Hungary, 1999: 231-235.

[5] 楊洪柏, 陈蕾蕾, 李战伟. 基于短时傅里叶变换的音频变速算法及其DSP实现[J]. 微型机与应用, 2013(16): 42-44, 47.

[6] 郭华帅, 王晖, 李传珍. 音频原声变速App的设计与应用[J]. 广播与电视技术, 2008(1): 51-54.

[7] 刘刚, 张琴珠. 语音变速不变调软体化处理方法[J]. 计算机应用与App, 2005(7): 47-48, 96.

[8] 杨波, 傅汝林, 张知易. 一种改进的客观音质评价方法[J]. 成都理工大学学报(自然科学版), 2004, 31(1): 108-110.

[9] 胡冰心. 录音设备音质评价系统的研究[D]. 北京: 北京化工大学, 2015.

编辑概况:

靳思雨(1998—),通信编辑,女,汉族,北京人,硕士在读。研究方向:信号处理。

E-mail: 497817035@qq.com

(收稿日期:2020-11-16)

新葡萄京官网|新葡萄棋牌388官网

XML 地图 | Sitemap 地图