资讯详情

利用频谱分析实现音乐无缝隙过度

??在网文 介绍了一篇文章 MIT 学生 Henderson国际会议论文发表: , 滑音效实现了两段音乐的平滑过渡(portamento)。 在国际数字音效会议上,该论文被评为最佳学生论文奖。

??通常, 在两个信号 f ( t ) , g ( t ) f\left( t \right),g\left( t \right) f(t),g(t) 切换只需要使用插值因子 r ∈ ( 0 , 1 ) r \in \left( {0,1} \right) r∈(0,1) ,两个信号之间的平滑过渡也可以通过线性插值实现。 h ( t ) = r ? f ( t ) ( 1 ? r ) ? g ( t ) h\left( t \right) = r \cdot f\left( t \right) \left( {1 - r} \right) \cdot g\left( t \right) h(t)=r?f(t) (1?r)⋅g(t) 这种切换没有考虑两个信号内部的结构,所以切换过程为一个信号,另一个信号同时 。 如果考虑到信号本身内部的结构,在平滑过渡中保持这些结构对应关系,可以更好揭示出变化过程对应信息。

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

▲ 图1 两个人脸图像切换

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

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

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

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

  下面再根据插值参数 r ∈ ( 0 , 1 ) r \in \left( {0,1} \right) r∈(0,1) 确定插值音乐中所有音符对应的频率和幅度,最后再通过傅里叶反变换获得插值后的音频数据。

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

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

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

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

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

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


  • Algorithm Uses Math to Blend Musical Notes Seamlessly [Video]
  • AUDIO TRANSPORT: A GENERALIZED PORTAMENTO VIA OPTIMAL TRANSPORT
  • 最优运输

  • 图1 两个人脸图像切换
  • 图2 在两个音乐过渡过程中,保持其中频谱对应关系
  • 图3 两段音乐频谱之间的对应和过渡切换

标签: 旋转电位器r097g

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台