论文阅读:Example-Guided Physically Based Modal Sound Synthesis

## motivation

我们想要从三维模型合成其振动的声音!

声音合成需要材料的物理特征参数! 这个很难搞!

我们想要通过已有的对应材料物体的真实音频, 来得到其合成声音的材料特征参数!

## contribution

我们从音频中提取感知特征,并设计了一个参数估计算法,利用上述特征和一个优化框架,来指导搜索材料参数。

此外,我们提出了一个补偿合成声音和真实声音之间的差异,来创建最终合成声音的方法,以此保持和真实声音相同的材料感。

即:

基于真实声音估计材料参数的框架;

残差补偿方法;

合成和已有声音材料类似的声音合成方法;

材料参数和残差对不同形状、动态物体的迁移方法。

## 1 introduction

我们提出了一种数据驱动的声音合成技术,其可以从one-shot真实声音提取modal analysis所用到的参数(如M,D,K矩阵),并保留声音的真实性。

我们的一个基本假设是,对于同样材料的物体,例如,不管是打塑料板子,扔塑料盒子,声音听起来都应该像塑料。因此,我们需要从声音中提取材料特征,再将其迁移到各种相同材料的物体。

我们的方法如图:

 

在训练时,首先对样例真实声音建立对应物体模型,接着对真实声音提取特征,然后结合特征和模型得到材料参数,用材料参数合成声音和对应特征;最后比较合成声音与真实声音、合成特征和从真实声音提取的特征之间的差别,记录残差。

在运行时,根据之前提取出来的材料特征和输入物体的模型合成声音,并根据输入模型来修正残差,以此修正最终输出的声音。

## 4 Feature Extraction

这一节描述了如何从真实声音中提取高级特征。

首先,计算音频的功率频谱。采用多级分辨率,每个级别加倍频率分辨率,减半时间分辨率,这是为了根据要分析的模态,选择合适分辨率的频谱图。

接着从多级频谱中扫描极大值(振幅峰值对应的频率),我们把每一个峰值对应到一个潜在模态。对于每一个峰值,我们对其进行局部形状拟合:在(f,d,a)空间中贪心搜索参数,使得由该模态合成的声音与原声音在频谱局部尽可能接近,以此估计该模态的(f,d,a)参数。如图:

 

对于误差小于阈值的模态,我们将其放到已提取的特征集中。

(这里体现了多级分辨率的作用:一个潜在模态在不同分辨率下的频谱对声音特征的捕捉能力,以及能够被拟合的程度会有差别!因此需要搜索最合适的分辨率)

这样一来,我们就从声音中提取出了表示为多个(f,d,a)模态的特征!

## 5. Parameter Estimation

本节介绍基于一种优化框架的参数估计方法,来完成对声音的合成。

首先明确优化目标。

为了计算估计声音,我们需要根据真实声音对应的物体,对其进模出一个虚拟物体!

同时计算其质量矩阵M和刚度矩阵K。可以通过其密度、杨氏模量和泊松比计算,这里假设泊松比定值不变。

接着计算其广义特征值。于是对于不同杨氏模量和密度的物体,可以直接换算出来其特征值$\lambda_j^0$。

接着在虚拟物体指定位置(和真实录音一样的位置)施加单位大小的冲击,激发了某个模态一定振幅的振动$a_j^0$。

现在,根据[[Modal Vibration]], 计算该模态的振动参数$(f_j, d_j,a_j)$

将各个模态的声音混合,即得到了最终的声音,我们希望这个声音和参考声音尽可能接近。于是我们以此优化α,β,γ,σ,其中α,β用来算阻尼和频率,γ为特征值的缩放(针对不同密度和杨氏模量的迁移),σ是对整体振幅的缩放。

然后考虑两个声音相似性的度量标准。感知相似性使用图像域度量(比较二者频谱图图像的相似性),材料相似性在特征域进行计算,比较二者特征在特征域的点的相似性。

关于图像域度量,其根据心理声学对频谱图进行变换[Morchen et al. 2006; Pampalk et al. 2002],比较变换后二者的相似性;

关于特征域度量,我们注意到频率f和阻尼d是衡量材料的关键,而振幅a表示该模式的相对重要性。

因此我们将频率和阻尼映射到一个二维空间:频率根据Bark度量(同图像域度量), 阻尼取倒数,二者各乘一个常数。

接着对这个二维空间中的点进行匹配:我们定义参考到估计匹配比为:

 

为对每个点到集合匹配度的加权,其中点到集合的匹配度定义为:

 

k为点到点的匹配度,只和这两个点的距离相关。

同样也计算估计到参考的匹配比:

 

二者相乘,得到两个声音的特征相似度。

最后,我们使用 Nelder-Mead method [Lagarias et al. 1999] 对参数α,β,γ,σ进行优化。


 

## 6. Residual Compensation

考虑到我们提取出的(f,d,a)模态特征并不能包含所有的声音,我们对特征覆盖不到的声音进行补偿。

首先计算residual。如图:

 

考虑到从真实声音抽出来的特征并不一定都被合成声音所表征,所以通过上一节计算的,点到集合相似度,描述每个特征多大程度上被表征了,以此加权构造Represented声音,用真实声音减去Represented声音,得到residual。

现在考虑residual在不同形状的物体间的transfer。

考虑单个模态由(f,d,a)构成,因此单模态对间,可以通过频率偏移、时间拉伸,振幅拉伸三步来转换,我们对residual施加以相同的变换即可。

现在,source和target有多个模态,因此我们将source和target的模态两两配对,对每一对模态计算变换,并将变换施加在source模块对应频域在residual频谱的一小块区域。

(在$\frac{1}2 (f^s_{i−1} + f^s_i )$到$\frac{1}2 (f^s_{i} + f^s_{i+1} )$之间,转换到target的对应区间)

再将每一部分target residual拼接为最终的residual输出。

看图我们可以发现,真实声音和合成声音在特征上的差别还是蛮大的,反映在residual上也很复杂,或许可以上深度学习?

## 7 results and analysis

1. 从虚拟物体声音中提取参数,比较其和物体内部参数的差别,结果发现误差很小。

2. 对真实物体进行形状迁移,有一定误差,听起来还可以

这里假设物体服从Rayleigh阻尼,但实际上真实物体不一定,是个改进方向

此外,参数估计耗时较长,如下:

 

## 8 perception study

我们找了几十个人,让他们来听真实声音和合成声音,并且让他们分辨声音的材料。结果如下:

 

 

即对真实声音和合成声音的辨识度没有显著差异!

## 9 conclusion and future work

局限性:

为便于计算,假设线性变形和Rayleigh阻尼;

特征提取和参数估计,假设模态之间是独立的,不相互耦合,难以合成薄壳等更广泛形状的物体声音;

假设材料是均匀各向同性的;

虚拟对象建模需要尽可能接近真实物体;

需要注意录制条件,例如物体放在支撑设备上,振动能量就会传到支撑设备;

未考虑房间混响的影响;

未考虑残差受到敲击用的物体的影响,可能需要分离两个物体的声音;

未考虑连续接触的声音;

如果我们有更多数据,可以整数据驱动的机器学习方法!



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值