CN109448753B - 基于样本的爆炸声音自动合成方法 - Google Patents
基于样本的爆炸声音自动合成方法 Download PDFInfo
- Publication number
- CN109448753B CN109448753B CN201811245126.XA CN201811245126A CN109448753B CN 109448753 B CN109448753 B CN 109448753B CN 201811245126 A CN201811245126 A CN 201811245126A CN 109448753 B CN109448753 B CN 109448753B
- Authority
- CN
- China
- Prior art keywords
- sound
- explosion
- sample
- animation
- combustion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004880 explosion Methods 0.000 title claims abstract description 155
- 238000001308 synthesis method Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 66
- 230000001360 synchronised effect Effects 0.000 claims abstract description 26
- 239000002360 explosive Substances 0.000 claims abstract description 23
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 19
- 238000004088 simulation Methods 0.000 claims abstract description 18
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 16
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 16
- 230000000007 visual effect Effects 0.000 claims abstract description 15
- 238000007781 pre-processing Methods 0.000 claims abstract description 10
- 238000002485 combustion reaction Methods 0.000 claims description 59
- 239000002245 particle Substances 0.000 claims description 38
- 239000000446 fuel Substances 0.000 claims description 36
- 244000027321 Lychnis chalcedonica Species 0.000 claims description 12
- 235000017899 Spathodea campanulata Nutrition 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 11
- 238000002156 mixing Methods 0.000 claims description 9
- 238000000053 physical method Methods 0.000 claims description 8
- 230000003595 spectral effect Effects 0.000 claims description 8
- 238000002360 preparation method Methods 0.000 claims description 7
- 239000012530 fluid Substances 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 4
- 230000005236 sound signal Effects 0.000 claims description 4
- 239000003086 colorant Substances 0.000 claims description 3
- 238000009792 diffusion process Methods 0.000 claims description 3
- 230000005484 gravity Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 230000008447 perception Effects 0.000 claims description 3
- 239000000779 smoke Substances 0.000 claims description 3
- 238000004613 tight binding model Methods 0.000 claims description 3
- 238000011282 treatment Methods 0.000 claims description 3
- 230000003111 delayed effect Effects 0.000 claims description 2
- 238000009432 framing Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 6
- 238000007654 immersion Methods 0.000 abstract description 4
- 239000000047 product Substances 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000005474 detonation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011343 solid material Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T90/00—Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Acoustics & Sound (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及虚拟现实、计算机游戏、影视特效、工程仿真等领域,为提出自动地合成准确的爆炸声的技术方案,可用于影视特效、计算机游戏、工程仿真等领域。不需要专业的拟音师来合成同步的爆炸声音,减少了传统的粒度合成方法中手动同步动画和声音的过程。此外,本发明基于真实的录音样本,能够合成逼真的爆炸声音,增强模拟场景的沉浸感,本发明,基于样本的爆炸声音自动合成方法,步骤如下:步骤1、爆炸动画的视觉模拟;步骤2、爆炸动画的物理信息计算;步骤3、声音样本的准备及预处理;步骤4、爆炸声音的自动合成。本发明主要应用于爆炸声画合成场合。
Description
技术领域
本发明涉及虚拟现实、计算机游戏、影视特效、工程仿真等领域。特别是涉及基于样本的声音合成方法,能够自动地合成与爆炸动画相同步的爆炸声。
背景技术
近年来,随着计算机图形学、虚拟现实技术的快速发展,爆炸动画的视觉模拟得到了广泛的研究[1][2],爆炸动画在影视、游戏中已经成为了一种常见的现象。除了视觉模拟外,爆炸的声音模拟对于增强虚拟环境中的真实感也十分重要。因此开发一种能够为爆炸动画自动地合成同步的声音的方法是一项非常有意义的工作。目前,在计算机图形学领域,声音合成的方法主要分为基于物理的方法,基于物理和非物理相混合的方法以及基于非物理的方法。
基于物理的声音合成方法主要是通过分析声源的发声原理来建模相应的声音。Dobashi等人[3]提出了一种有效地生成基于涡流噪声的空气动力流噪声的方法,并将其有效地应用风声的合成中。在后续的工作中,他们又提出了一种通用的合成空气动力流噪声的方法[4],在他们的实验中还合成了与动画相同步的火焰燃烧声音和爆炸声。然而,火焰和爆炸的声源都是属于多声源的,湍流噪声并不是它们的声音组成的主要部分[5]。完全采用基于物理的方法模拟全部的爆炸声的声源计算复杂度太高,并不适用于计算机图形学中的声音合成领域。
基于混合的方法是目前常用的一种合成具有多声源的声音的方法。2011年,Chadwick和James[6]率先使用基于物理的方法来合成低频的火焰声音,然后使用频谱带宽扩展或声音纹理合成的方法来补充高频的声音细节,该方法可以合成与火焰动画同步的声音效果。在此基础上,Liu和Yu[7][8]提出了一种更加有效的计算低频火焰声音的方法,并为低频内容加入了中高频的小波细节来得到了最终的火焰声音。目前最新的火焰声音合成方法是由Yin和Liu[9]提出的根据固体材料合成不同火焰声音的方法。该方法同时考虑了直接燃烧噪声,湍流噪声和由于不同物质燃烧产生的交互声,合成了与不同的材料燃烧动画相同步的火焰声音。Yin和Liu[9]还将爆炸作为火焰的一种表现形式,通过在产生的火焰声中添加声音纹理来获得爆炸声。然而,其所合成的爆炸声音中存在许多不正确的噪声点。
基于非物理的声音合成方法也能够合成符合要求的声音。利用录音来为计算机动画合成同步的声音是一个传统的经典方法。例如,Schwarz和Schell[10]提出了一种基于描述符的声音纹理合成方法,从而能够控制所得到的声音纹理。为了更好地覆盖整个目标描述符空间,它们通过应用转换来自动生成录音粒子的变体来扩展语料库。在Schwarz和Schell[10]的研究基础上,Schwarz和O’Leary[11]提出了一种通过控制粒子间的音色相似性来自动地合成任意长度的声音纹理的方法。该方法可以合成非常自然、光滑的声音纹理。然而,声画同步对于提高虚拟现实的真实性起着不可或缺的作用,基于非物理的声音合成方法由于缺少与动画相同步的信息,不能自动合成与动画同步的声音。Schwarz和Caramiaux[12]提出了一种半自动的交互式声音纹理合成方法,该方法可以合成与影片相同步的声音效果。然而,在这种方法中,录音仍然需要人工注释,不会完全地自动合成与影片同步的声音。
综上所述,目前现有的声音合成方法并不能自动地合成准确的爆炸声。然而,随着虚拟现实技术的广泛应用,越来越多的爆炸动画的视觉模拟被应用。为了增强模拟场景的沉浸感,爆炸的声音模拟成为了虚拟现实中增强沉浸感的必不可少的一部分。
[1]Feldman B E,O′Brien J F,Arikan O.Animating suspended particleexplosions[C]//ACM SIGGRAPH.2003:708-715.
[2]Yngve G D,O′Brien J F,Hodgins J K.Animating explosions[J].[C]//ACMSIGGRAPH.2000:29-36.
[3]Dobashi Y,Yamamoto T,Nishita T.Real-time rendering of aerodynamicsound using sound textures based on computational fluid dynamics[J].ACMTransactions on Graphics,2003,22(3):732-740.
[4]Dobashi Y,Yamamoto T,Nishita T.Synthesizing Sound from TurbulentField using Sound Textures for Interactive Fluid Simulation[J].ComputerGraphics Forum,2004,23(3):539-545.
[5]Ihme M,Pitsch H,Bodony D.Radiation of noise in turbulent non-premixed flames[J].Proceedings of the Combustion Institute,2009,32(1):1545-1553.
[6]Chadwick J N,James D L.Animating fire with sound[C]//ACMSIGGRAPH.2011:84.
[7]刘世光,俞卓均.基于物理的火焰声音合成方法:CN,CN 103854642 B[P].2016.
[8]Liu S,Yu Z.Sounding fire for immersive virtual reality[J].VirtualReality,2015,19(3-4):291-302.
[9]Q.Yin and S.Liu,Sounding Solid Combustibles:Non-Premixed FlameSound Synthesis for Different Solid Combustibles[J].IEEE Transactions onVisualization and Computer Graphics,2018,24(2):1179-1189.
[10]Schwarz D,Schnell N.Descriptor-based Sound Texture Sampling[C]//Sound and Music Computing.2015:510-515.
[11]Schwarz D,′Leary S O.Smooth Granular Sound Texture Synthesis byControl of Timbral Similarity[C]//Sound and Music Computing.2015:471-476.
[12]Schwarz D,Caramiaux B.Interactive Sound Texture Synthesis ThroughSemi-Automatic User Annotations[C]//International Symposium on Computer MusicModeling and Retrieval.2014:372-392。
发明内容
为克服现有技术的不足,本发明旨在提出自动地合成准确的爆炸声的技术方案,增强模拟场景的沉浸感。为此,本发明采取的技术方案是,基于样本的爆炸声音自动合成方法,步骤如下:
步骤1、爆炸动画的视觉模拟,具体包括以下处理:
采用基于物理的解决方案来建模爆炸动画,对爆炸进行模拟,并导出每帧中所需要的相关数据,包括燃料供应量、速度和燃料燃烧率;
步骤2、爆炸动画的物理信息计算,具体包括以下处理:
爆炸动画的物理信息计算包括计算冲击声的发生和持续时间以及计算低频的爆炸声音,对于冲击声的发生和持续时间的计算,利用从每帧动画中导出的燃料源体积数据计算出爆炸过程中冲击声的发生时间和持续时间,这将用于爆炸过程中冲击声的匹配;对于低频的爆炸声音的计算,采用基于物理的声音生成方法,生成低频的爆炸声音;
步骤3、声音样本的准备及预处理,具体包括以下处理:
采用两种类型的声音样本,即将真实的爆炸声和燃烧声音的录音作为样本输入,在利用声音样本合成爆炸声音前,需要对两种声音样本分别进行特定的预处理操作:
首先,利用得到的冲击声的持续时间,采用一定的方法从爆炸录音样本中提取出所需要的冲击声样本;然后,对燃烧录音进行分帧,并计算出每帧录音的音色特征,为后期爆炸动画中燃烧部分的声音合成来做准备;
步骤4、爆炸声音的自动合成,具体包括以下处理:
首先利用前面得到的爆炸动画中的物理信息和声音样本,分两部分分别合成爆炸过程中产生的冲击声和燃烧噪声两种声音,之后混合得到的冲击声和燃烧噪声,获得最终的与爆炸动画相同步的爆炸声。
1)爆炸动画的视觉模拟
采用稍作修改的不可压缩流体方程来建模爆炸的气体燃料和爆炸产物,具体是使用如下的纳维-斯托克斯Navier-Stokes方程组进行建模:
其中,v代表流体的速度,公式(1)中p表示压强,ρ是密度,f为外力,包括涡度约束力,重力和浮力,t表示时间,公式(2)中是与温度变化成比例的散度源。另外,还利用密度场和温度场来控制烟雾的引入、平流和扩散,并且在模拟的爆炸动画中引入了涡度约束来提高模拟的爆炸动画的视觉真实感,在整个爆炸过程中,燃料作为整个爆炸过程的能量供应,是用带有速度和温度的体积场来存储的。
2)爆炸动画的物理信息计算
具体做法如下:
通过三次样条插值法将导出的每帧动画中的燃料源体积数据进行重构,得到爆炸动画的燃料源体积变化曲线,然后,选取变化曲线中最大值et的两个相邻的极小值的时间间隔t作为火球现象发生的持续时间,其中左边的极小值为初始爆炸时刻;将边界点当作极值点来处理,考虑到爆炸声的衰减延迟,假定冲击声的最终持续时间为3t;
然后,采用基于物理的声音生成方法生成低频的爆炸声音,具体为:
采用格林函数来求解爆炸产物的波动方程,得到声压公式:
其中,c0,γ分别表示环境声速和比热比,x为听者位置,y为声源位置,t表示时间。忽略距离衰减和时间延迟,去掉常数因子,并采用高斯散度定理将曲面积分转化为体积积分,得到简化后的声压公式:
根据类移动立方体marching-cube-like方法计算爆炸声音。将模拟的动画空间均匀的离散为M×N×L个立方体,并计算每个立方体顶点处燃烧场中的值在得到后,遍历每个立方体并得到它的卷积δv,如果δv>0,速度散度为否则为0,将所有立方体上和δv的乘积相加,得到最终的速度散度积分:
3)声音样本的准备及预处理
分别对爆炸声的录音样本和燃烧声音的录音样本进行如下预处理:
对于爆炸声的录音样本,结合确定的冲击声的持续时间从爆炸录音的样本中提取出需要的冲击声样本;
对于燃烧声音的录音样本,对其预处理操作为:首先,将燃烧声音的录音样本通过低通滤波处理得到低频的燃烧声音样本,然后,将原始录音、低频的燃烧录音和前面采用物理的方法生成的低频的燃烧噪声部分全都分割成800毫秒的短小声音粒子,最后,计算出每个粒子的音调、响度、频谱平坦度、频谱质心和能量的平均值作为每个声音粒子的音色特征;
4)爆炸声音的自动合成
分两部分分别合成与爆炸动画中火球同步的冲击声和与燃烧现象相同步的燃烧噪声,之后将这两种声音混合得到最终的爆炸声音,具体为:
首先,合成与爆炸动画中火球相同步的冲击声。基于得到的冲击声样本及其相应的燃料供给,首先将声音样本信号及相应时间内的燃料变化曲线分为帧长为30毫秒的帧,然后,对声音信号的每一帧si进行如下处理:
s′i=si·∫e(t)dt (6)
其中s′i表示每帧更新后的信号,e是每个帧的燃料曲线中随时间变化的值,采用辛普森法来计算燃料供应的积分,从而得到爆炸动画中与火球匹配的爆炸声;
然后,采用基于粒子间音色相似性的方法合成燃烧噪声,基于预处理的声音样本粒子和采用物理的方法得到的燃烧噪声粒子,以第一个用物理的方法产生的低频粒子开始,从低频的录音样本中选取与其音色特征最近的粒子;然后从原始录音样本粒子中选取与低频的录音粒子相对应的样本粒子,如此循环,直到完成全部的粒子选取以合成最近的燃烧噪声;
最后,根据计算爆炸物理信息中得到的冲击声的发生和持续时间,混合冲击声和燃烧噪声,并将得到的声音进行归一化处理得到最终的爆炸声音。
根据人类的听觉感知,在实际的声音混合过程中中将冲击声的发生时间推迟200毫秒。
本发明的特点及有益效果是:
本发明能够自动合成与爆炸动画相同步的爆炸声音,可用于影视特效、计算机游戏、工程仿真等领域。不需要专业的拟音师来合成同步的爆炸声音,减少了传统的粒度合成方法中手动同步动画和声音的过程。此外,本发明基于真实的录音样本,能够合成逼真的爆炸声音。
附图说明:
图1基于样本的爆炸声音自动合成流程图。
图2利用本发明模拟的爆炸场景及合成的声音信号的频谱图。第一行:模拟的爆炸动画的视觉模型和使用的声音样本的频谱图;第二行(从左到右):分别表示产生的低频爆炸声、合成的燃烧噪声以及最终合成的爆炸声的频谱图。
图3利用本发明模拟的爆炸场景及合成的声音信号的波形图。第一行:模拟的爆炸动画的视觉模型;第二行(从左到右)分别表示生成的低频爆炸声、合成的燃烧噪声和最终的爆炸声的波形图。
具体实施方式
本发明的技术方案是:一种基于样本的爆炸声音自动合成方法,所述方法包括如下步骤:
步骤1、爆炸动画的视觉模拟,具体包括以下处理:
采用基于物理的解决方案来建模爆炸动画,对爆炸进行模拟,并导出每帧中所需要的相关数据,包括燃料供应量(燃料供应曲线)、速度和燃料燃烧率。
步骤2、爆炸动画的物理信息计算,具体包括以下处理:
爆炸动画的物理信息计算包括计算冲击声的发生和持续时间以及计算低频的爆炸声音。
对于冲击声的发生和持续时间的计算,本发明利用从每帧动画中导出的燃料源体积数据计算出爆炸过程中冲击声的发生时间和持续时间,这将用于爆炸过程中冲击声的匹配。对于低频的爆炸声音的计算,本发明采用基于物理的声音生成方法,生成低频的爆炸声音。
步骤3、声音样本的准备及预处理,具体包括以下处理:
本发明采用了两种类型的声音样本,即将真实的爆炸声和燃烧声音的录音作为样本输入。在利用声音样本合成爆炸声音前,需要对两种声音样本分别进行特定的预处理操作。
首先,利用得到的冲击声的持续时间,采用一定的方法从爆炸录音样本中提取出所需要的冲击声样本,包括低频的冲击声。然后,对燃烧录音进行分帧,并计算出每帧录音的音色特征,为后期爆炸动画中燃烧部分的声音合成来做准备,即基于能量驱动的声音合成。
步骤4、爆炸声音的自动合成,具体包括以下处理:
首先利用前面得到的爆炸动画中的物理信息和声音样本,分两部分分别合成爆炸过程中产生的冲击声和燃烧噪声两种声音。之后混合得到的冲击声和燃烧噪声,获得最终的与爆炸动画相同步的爆炸声。
下面结合附图和具体实例进一步详细说明本发明。
本发明提出了一种基于样本的爆炸声音自动合成方法,主要包括以下步骤:
1)爆炸动画的视觉模拟
采用基于物理的解决方案对爆炸进行模拟,并导出每帧动画的燃料源体积供应量,速度场和燃烧场。本发明采用稍作修改的不可压缩流体方程来建模爆炸的气体燃料和爆炸产物。
该方法具体使用如下的Navier-Stokes(纳维-斯托克斯方程)方程组进行建模:
其中,v代表流体的速度,公式(1)中p表示压强,ρ是密度,f为外力,包括涡度约束力,重力和浮力。公式(2)中是与温度变化成比例的散度源。除了速度场之外,本发明还利用密度场和温度场来控制烟雾的引入、平流和扩散。并且在模拟的爆炸动画中引入了涡度约束来提高模拟的爆炸动画的视觉真实感。在整个爆炸过程中,燃料作为整个爆炸过程的能量供应,是用带有速度和温度的体积场来存储的。
2)爆炸动画的物理信息计算
爆炸动画的物理信息计算主要包括计算冲击声的发生和持续时间以及计算低频的爆炸声音。首先,利用从每帧动画中导出的燃料源体积数据可以计算出爆炸过程中冲击声的发生时间和持续时间,这将用于爆炸过程中冲击声的匹配。具体做法如下:
通过三次样条插值法将导出的每帧动画中的燃料源体积数据进行重构,得到爆炸动画的燃料源体积变化曲线。然后,选取变化曲线中最大值et的两个相邻的极小值的时间间隔t作为火球现象发生的持续时间,其中左边的极小值为初始爆炸时刻。本发明也将边界点当作极值点来处理。考虑到爆炸声的衰减延迟,假定冲击声的最终持续时间为3t。
然后,采用基于物理的声音生成方法生成低频的爆炸声音(360HZ),具体为:
采用格林函数来求解爆炸产物的波动方程,得到声压公式:
其中,c0,γ分别表示环境声速和比热比,x为听者位置,y为声源位置,t表示时间。忽略距离衰减和时间延迟,去掉常数因子,并采用高斯散度定理将曲面积分转化为体积积分,可得到简化后的声压公式:
根据marching-cube-like(类移动立方体算法)方法计算爆炸声音。将模拟的动画空间均匀的离散为M×N×L个立方体,并计算每个立方体顶点处燃烧场中的值在得到后,遍历每个立方体并得到它的卷积δv。如果δv>0,速度散度为否则为0。将所有立方体上和δv的乘积相加,得到最终的速度散度积分:
3)声音样本的准备及预处理
本发明采用了两种类型的声音样本,即爆炸声的录音样本和燃烧声音的录音样本。其中爆炸声音的录音样本中包含有明显的冲击声。
本发明分别对这两种声音样本进行如下预处理:
对于爆炸声的录音样本,由于在爆炸声的声音样本中,冲击声部分包含的高频内容最多。因此,结合前面确定的冲击声的持续时间可以从爆炸录音的样本中提取出需要的冲击声样本。
对于燃烧声音的录音样本,对其预处理操作为:首先,将燃烧声音的录音样本通过低通滤波处理得到低频的燃烧声音样本。然后,将原始录音、低频的燃烧录音和前面采用物理的方法生成的低频的燃烧噪声部分全都分割成800毫秒的短小声音粒子。最后,计算出每个粒子的音调、响度、频谱平坦度、频谱质心和能量的平均值作为每个声音粒子的音色特征。
4)爆炸声音的自动合成
本发明分两部分分别合成与爆炸动画中火球同步的冲击声和与燃烧现象相同步的燃烧噪声,之后将这两种声音混合得到最终的爆炸声音。具体为:
首先,合成与爆炸动画中火球相同步的冲击声。基于前面得到的冲击声样本及其相应的燃料供给,首先将声音样本信号及相应时间内的燃料变化曲线分为帧长为30毫秒的帧,然后,对声音信号的每一帧si进行如下处理:
s′i=si·∫e(t)dt (6)
其中s′i表示每帧更新后的信号,e是每个帧的燃料曲线中随时间变化的值。本发明采用辛普森法来计算燃料供应的积分,从而得到爆炸动画中与火球匹配的爆炸声。
然后,合成与爆炸动画中燃烧相同步的燃烧噪声。本发明采用基于粒子间音色相似性的方法合成燃烧噪声,基于前面预处理的声音样本粒子和采用物理的方法得到的燃烧噪声粒子,以第一个用物理的方法产生的低频粒子开始,从低频的录音样本中选取与其音色特征最近的粒子。然后从原始录音样本粒子中选取与低频的录音粒子相对应的样本粒子。如此循环,直到完成全部的粒子选取以合成最近的燃烧噪声。
最后,根据计算爆炸物理信息中得到的冲击声的发生和持续时间,混合冲击声和燃烧噪声,并将得到的声音进行归一化处理得到最终的爆炸声音。根据人类的听觉感知,本发明在实际的声音混合过程中中将冲击声的发生时间推迟了200毫秒。
Claims (3)
1.一种基于样本的爆炸声音自动合成方法,其特征是,步骤如下:
步骤1、爆炸动画的视觉模拟,具体包括以下处理:
采用基于物理的解决方案来建模爆炸动画,对爆炸进行模拟,并导出每帧中所需要的相关数据,包括燃料供应量、速度和燃料燃烧率;
步骤2、爆炸动画的物理信息计算,具体包括以下处理:
爆炸动画的物理信息计算包括计算冲击声的发生和持续时间以及计算低频的爆炸声音,对于冲击声的发生和持续时间的计算,利用从每帧动画中导出的燃料源体积数据计算出爆炸过程中冲击声的发生时间和持续时间,这将用于爆炸过程中冲击声的匹配;对于低频的爆炸声音的计算,采用基于物理的声音生成方法,生成低频的爆炸声音;
步骤3、声音样本的准备及预处理,具体包括以下处理:
采用两种类型的声音样本,即将真实的爆炸声和燃烧声音的录音作为样本输入,在利用声音样本合成爆炸声音前,需要对两种声音样本分别进行特定的预处理操作:
首先,利用得到的冲击声的持续时间,采用一定的方法从爆炸录音样本中提取出所需要的冲击声样本;然后,对燃烧录音进行分帧,并计算出每帧录音的音色特征,为后期爆炸动画中燃烧部分的声音合成来做准备;
步骤4、爆炸声音的自动合成,具体包括以下处理:
首先利用前面得到的爆炸动画中的物理信息和声音样本,分两部分分别合成爆炸过程中产生的冲击声和燃烧噪声两种声音,之后混合得到的冲击声和燃烧噪声,获得最终的与爆炸动画相同步的爆炸声,具体地,
1)爆炸动画的视觉模拟
采用稍作修改的不可压缩流体方程来建模爆炸的气体燃料和爆炸产物,具体是使用如下的纳维-斯托克斯Navier-Stokes方程组进行建模:
其中,v代表流体的速度,公式(1)中p表示压强,ρ是密度,f为外力,包括涡度约束力,重力和浮力,t表示时间,公式(2)中是与温度变化成比例的散度源,另外,还利用密度场和温度场来控制烟雾的引入、平流和扩散,并且在模拟的爆炸动画中引入了涡度约束来提高模拟的爆炸动画的视觉真实感,在整个爆炸过程中,燃料作为整个爆炸过程的能量供应,是用带有速度和温度的体积场来存储的;
2)爆炸动画的物理信息计算
具体做法如下:
通过三次样条插值法将导出的每帧动画中的燃料源体积数据进行重构,得到爆炸动画的燃料源体积变化曲线,然后,选取变化曲线中最大值et的两个相邻的极小值的时间间隔t作为火球现象发生的持续时间,其中左边的极小值为初始爆炸时刻;将边界点当作极值点来处理,考虑到爆炸声的衰减延迟,假定冲击声的最终持续时间为3t;
然后,采用基于物理的声音生成方法生成低频的爆炸声音,具体为:
采用格林函数来求解爆炸产物的波动方程,得到声压公式:
其中,c0,γ分别表示环境声速和比热比,x为听者位置,y为声源位置,t表示时间,忽略距离衰减和时间延迟,去掉常数因子,并采用高斯散度定理将曲面积分转化为体积积分,得到简化后的声压公式:
根据类移动立方体marching-cube-like方法计算爆炸声音,将模拟的动画空间均匀的离散为M×N×L个立方体,并计算每个立方体顶点处燃烧场中的值在得到后,遍历每个立方体并得到它的卷积δv,如果δv>0,速度散度为否则为0,将所有立方体上和δv的乘积相加,得到最终的速度散度积分:
3)声音样本的准备及预处理
分别对爆炸声的录音样本和燃烧声音的录音样本进行如下预处理:
对于爆炸声的录音样本,结合确定的冲击声的持续时间从爆炸录音的样本中提取出需要的冲击声样本和低频的燃烧噪声;
对于燃烧声音的录音样本,对其预处理操作为:首先,将燃烧声音的录音样本通过低通滤波处理得到低频的燃烧声音样本,然后,将原始录音、低频的燃烧噪声和前面通过低通滤波处理得到低频的燃烧声音样本全都分割成800毫秒的短小声音粒子,最后,计算出每个粒子的音调、响度、频谱平坦度、频谱质心和能量的平均值作为每个声音粒子的音色特征;
4)爆炸声音的自动合成
分两部分分别合成与爆炸动画中火球同步的冲击声和与燃烧现象相同步的燃烧噪声,之后将这两种声音混合得到最终的爆炸声音。
2.如权利要求1所述的基于样本的爆炸声音自动合成方法,其特征是,
步骤4)具体细化如下:
首先,合成与爆炸动画中火球相同步的冲击声,基于得到的冲击声样本及其相应的燃料供给,首先将声音样本信号及相应时间内的燃料变化曲线分为帧长为30毫秒的帧,然后,对声音信号的每一帧si进行如下处理:
si'=si·∫e(t)dt (6)
其中s'i表示每帧更新后的信号,e是每个帧的燃料曲线中随时间变化的值,采用辛普森法来计算燃料供应的积分,从而得到爆炸动画中与火球匹配的爆炸声;
然后,采用基于粒子间音色相似性的方法合成燃烧噪声,基于预处理的声音样本粒子和采用物理的方法得到的燃烧噪声粒子,以第一个用物理的方法产生的低频粒子开始,从低频的录音样本中选取与其音色特征最近的粒子;然后从原始录音样本粒子中选取与低频的录音粒子相对应的样本粒子,如此循环,直到完成全部的粒子选取以合成最近的燃烧噪声;
最后,根据计算爆炸物理信息中得到的冲击声的发生和持续时间,混合冲击声和燃烧噪声,并将得到的声音进行归一化处理得到最终的爆炸声音。
3.如权利要求1所述的基于样本的爆炸声音自动合成方法,其特征是,根据人类的听觉感知,在实际的声音混合过程中将冲击声的发生时间推迟200毫秒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811245126.XA CN109448753B (zh) | 2018-10-24 | 2018-10-24 | 基于样本的爆炸声音自动合成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811245126.XA CN109448753B (zh) | 2018-10-24 | 2018-10-24 | 基于样本的爆炸声音自动合成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109448753A CN109448753A (zh) | 2019-03-08 |
CN109448753B true CN109448753B (zh) | 2022-10-11 |
Family
ID=65547649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811245126.XA Active CN109448753B (zh) | 2018-10-24 | 2018-10-24 | 基于样本的爆炸声音自动合成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109448753B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110823849B (zh) * | 2019-09-25 | 2021-04-27 | 北京航空航天大学 | 一种瞬态燃烧场定量测量方法及装置 |
CN112233209B (zh) * | 2020-12-14 | 2021-03-16 | 成都完美时空网络技术有限公司 | 虚拟环形波扩散动画的生成方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09198075A (ja) * | 1996-01-12 | 1997-07-31 | Meidensha Corp | 音声合成における韻律制御方法 |
GB9923360D0 (en) * | 1999-10-05 | 1999-12-08 | Weidlinger Associates Limited | Shock testing of naval vessels using seismic airgun arrays |
WO2004105034A1 (de) * | 2003-05-20 | 2004-12-02 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V. | Vorrichtung und verfahren zum synchronisieren eines audiosignals mit einem film |
JP2006323194A (ja) * | 2005-05-19 | 2006-11-30 | Yamaha Motor Co Ltd | エンジン音合成装置およびそれを備えた車両システム、ならびにエンジン音合成方法 |
US7310604B1 (en) * | 2000-10-23 | 2007-12-18 | Analog Devices, Inc. | Statistical sound event modeling system and methods |
WO2013021513A1 (ja) * | 2011-08-08 | 2013-02-14 | ヤマハ発動機株式会社 | 走行連動音発生装置 |
CN103854642A (zh) * | 2014-03-07 | 2014-06-11 | 天津大学 | 基于物理的火焰声音合成方法 |
CN106342298B (zh) * | 2013-01-22 | 2015-05-27 | 北京军区军事训练模拟仿真研发服务中心 | 一种多点爆炸效果的实时生成方法 |
-
2018
- 2018-10-24 CN CN201811245126.XA patent/CN109448753B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09198075A (ja) * | 1996-01-12 | 1997-07-31 | Meidensha Corp | 音声合成における韻律制御方法 |
GB9923360D0 (en) * | 1999-10-05 | 1999-12-08 | Weidlinger Associates Limited | Shock testing of naval vessels using seismic airgun arrays |
US7310604B1 (en) * | 2000-10-23 | 2007-12-18 | Analog Devices, Inc. | Statistical sound event modeling system and methods |
WO2004105034A1 (de) * | 2003-05-20 | 2004-12-02 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V. | Vorrichtung und verfahren zum synchronisieren eines audiosignals mit einem film |
JP2006323194A (ja) * | 2005-05-19 | 2006-11-30 | Yamaha Motor Co Ltd | エンジン音合成装置およびそれを備えた車両システム、ならびにエンジン音合成方法 |
WO2013021513A1 (ja) * | 2011-08-08 | 2013-02-14 | ヤマハ発動機株式会社 | 走行連動音発生装置 |
CN106342298B (zh) * | 2013-01-22 | 2015-05-27 | 北京军区军事训练模拟仿真研发服务中心 | 一种多点爆炸效果的实时生成方法 |
CN103854642A (zh) * | 2014-03-07 | 2014-06-11 | 天津大学 | 基于物理的火焰声音合成方法 |
Non-Patent Citations (3)
Title |
---|
A real time particle system for display of ship wakes;Michael E. Goss University of Texas at Dallas and Merit Technolo;《Motion Simulation》;19901231;第30-35页 * |
Motion-driven Concatenative Synthesis of Cloth Sounds;Steven S. An;《IEEE Transactions on Visualization and》;20180731;第1-10页 * |
地表火蔓延的真实感仿真;刘世光;《自然灾害学报》;20120428;第21卷(第2期);第180-186页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109448753A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chadwick et al. | Animating fire with sound | |
CN108984169B (zh) | 一种跨平台多元集成开发系统 | |
CN109448753B (zh) | 基于样本的爆炸声音自动合成方法 | |
Webanck et al. | Procedural cloudscapes | |
Dobashi et al. | Synthesizing sound from turbulent field using sound textures for interactive fluid simulation | |
US11756252B2 (en) | Method for simulating combustion in digital imagery with equilibrium and non-equilibrium conditions | |
US10911885B1 (en) | Augmented reality virtual audio source enhancement | |
Nowak et al. | Modeling and rendering of volumetric clouds in real-time with unreal engine 4 | |
Liu et al. | Sounding fire for immersive virtual reality | |
Yin et al. | Sounding solid combustibles: non-premixed flame sound synthesis for different solid combustibles | |
Liu et al. | Automatic synthesis of explosion sound synchronized with animation | |
CN103854642B (zh) | 基于物理的火焰声音合成方法 | |
Liu et al. | Animating explosion with exploding sound and rigid‐body sound | |
Huang et al. | Physically-based modeling, simulation and rendering of fire for computer animation | |
Mullen | INTRODUCING CHARACTER ANIMATION WITH BLENDER (With CD) | |
Kivistö | Hybrid animation: the process and methods of implementing 2D style in 3D animation | |
WO2021201695A1 (en) | Method for simulating combustion in digital imagery | |
Ge et al. | Application of virtual reality technology in computer-aided design of electronic music | |
Kubelka | Interactive music visualization | |
CN110992450A (zh) | 基于OpenGL的音乐喷泉模拟系统 | |
Li et al. | Simulation of real-time explosion smoke based on Simplex-Noise | |
CN108580154A (zh) | 一种喷泉模拟系统 | |
Sato et al. | Feedback control of fire simulation based on computational fluid dynamics | |
Chen | Research on the Production Process of Digital Media 3D Animation:--Taking Blender as an Example | |
Xia | Windmill |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |