PORTAMENTO与LEGATO

  在Algorithm Uses Math to Blend Musical Notes Seamlessly [1] 中介绍了一篇 MIT 学生 Henderson发表的一篇国际会议论文:AUDIO TRANSPORT: A GENERALIZED PORTAMENTO VIA OPTIMAL TRANSPORT[2] , 实现将两段音乐进行平滑过渡的滑音音效(portamento)。这篇论文在国际数字音效会议中被评为“最佳学生论文”奖。希望这篇推文能够给这学期学习信号与系统同学期末小论文选题方面开拓思路。

  通常情况下, 在两个信号 之间进行切换,只需要使用一个插值因子 ,通过线性插值也可以实现两个信号之间的平滑过渡。 

这种切换没有考虑两个信号内部的结构,所以切换过程为一个信号淡出,另一个信号同时淡入 。如果考虑到信号本身内部的结构,在平滑过渡中保持这些结构对应关系,可以更好揭示出变化过程对应信息。


  比如下来是两张人脸照片, 左边是平通的淡入淡出过渡, 右边则是将人脸中主要特征点保持空间一致进行过渡。两种过渡方式不同。

▲ 图1  两个人脸图像切换

  在 MIT 学生 Henderson 论文中, 他们提出了一种对音乐声音进行保持频谱结构的过渡算法, 使得声音过渡产生特有的“滑音”效果。他们的算法也一改传统的通过音量插值的“淡入淡出”方式完成两个音频转换,而是通过傅里叶变换获得他们频谱结构,并保证在转换过程中频谱结构一致。

    下面给出两端对比音乐。第一段是通过“淡入淡出”完成两段音乐的切换。

    第二段则是通过音乐频谱结构映射完成音乐过渡。

        Henderson提出的具体算法是, 首先将两个音频数据都切成 50ms 长度的数据。通过傅里叶变换获得每段数据的频谱,然后通过聚类算法将所有的频率汇聚成独立的合成音符。

  以上还都是通常音频数据处理过程。关键步骤在于他们利用了 最优运输[3] (Optimal  Transport)优化算法获得两个音乐频谱结构之间的对应关系。

▲ 图2  在两个音乐过渡过程中,保持其中频谱对应关系

  下面再根据插值参数 确定插值音乐中所有音符对应的频率和幅度,最后再通过傅里叶反变换获得插值后的音频数据。

  可以通过一个手动滑柄,或者一个旋转电位器确定两个音乐之间比例参数。这种算法不仅可以在两段不同乐器的音乐之间进行切换,也可以在人声之间,或者人声与乐器之间进行平滑切换。

▲ 图3  两段音乐频谱之间的对应和过渡切换

  为了消除切换过程中人为失真痕迹, Henderson 设计了两个关键音频处理算法:

  • 提出了一种频率重新分配(Frequency Reassignment)信号处理技术,将声音频谱进行分配成若干频率段,形成单一音符;
  • 提出了一种音频相位合成算法将相邻 50ms 音频段进行平滑合成,避免窗口之间相互影响。

  基于这种算法, Henderson 希望能够进一步改进, 实现音乐中的连奏 (legato)效果,即在不同音符之间进行光滑变换,达到一些经典音乐演奏效果。

  如果大家感兴趣,可以参见后面他们的论文。

参考资料

[1]

**Algorithm Uses Math to Blend Musical Notes Seamlessly [Video: https://scitechdaily.com/algorithm-uses-math-to-blend-musical-notes-seamlessly-video/

[2]

AUDIO TRANSPORT: A GENERALIZED PORTAMENTO VIA OPTIMAL TRANSPORT: https://arxiv.org/pdf/1906.06763.pdf

[3]

最优运输: https://zhuanlan.zhihu.com/p/82424946





提问与回答


提问:卓老师,关于d车模后挡条的规则有没有定论了?

回复:这种改在是可以的。


提问:智能车实战。

回复:照片中的人们在做什么呢?


建议:卓大大希望今年比赛时间提前。

回复:收到你的建议了。


提问:卓老师,G车模装编码器的位置很难合适的安装编码器,由于洞大小的问题会卡住编码器的转动轴。我们可以把安装编码器部分切割掉换成其他支架吗?


回复:这是可以的。