CN110992450B - 基于OpenGL的音乐喷泉模拟系统 - Google Patents

基于OpenGL的音乐喷泉模拟系统 Download PDF

Info

Publication number
CN110992450B
CN110992450B CN201911189375.6A CN201911189375A CN110992450B CN 110992450 B CN110992450 B CN 110992450B CN 201911189375 A CN201911189375 A CN 201911189375A CN 110992450 B CN110992450 B CN 110992450B
Authority
CN
China
Prior art keywords
music
fountain
beat
opengl
simulation system
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
Application number
CN201911189375.6A
Other languages
English (en)
Other versions
CN110992450A (zh
Inventor
赵岩鑫
韩芳
金文清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Donghua University
Original Assignee
Donghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Donghua University filed Critical Donghua University
Priority to CN201911189375.6A priority Critical patent/CN110992450B/zh
Publication of CN110992450A publication Critical patent/CN110992450A/zh
Application granted granted Critical
Publication of CN110992450B publication Critical patent/CN110992450B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/2053D [Three Dimensional] animation driven by audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Special Spraying Apparatus (AREA)

Abstract

本发明涉及一种基于OpenGL的音乐喷泉模拟系统,其特征在于,包括:音乐特征提取单元,对音乐进行特征提取,选取合适的特征向量表征一首歌曲;音乐特征信号融合单元;音乐喷泉模拟软件后台,使用基于OpenGL的粒子系统;音乐喷泉控制前台。目前市面上的软件都是基于特定音乐的软件,并且画面制作都非常简洁,在本发明中使用OpenGL进行后台设计,模拟出喷泉效果,并且对外提供接口,可使得用户调用。在整个系统中引入音乐分析部分,使得可以对新加入的音乐分析其特征,根据特征参数进行动作的选择以及展示。

Description

基于OpenGL的音乐喷泉模拟系统
技术领域
本发明属于音乐信号分析及仿真领域,具体涉及一个基于OpenGL仿真技术的音乐喷泉模拟系统。
背景技术
随着社会的进步,人们对居住环境的要求也越来越高。由于水上景观形态多变,刚柔并济,故水景对城市公共空间的装饰变得尤其重要。面积较大的水池可以有效的增强空间感,如果在其中放入喷头形成喷泉,便可以使得空间充满动感的美,使景观更加生动活泼,增添了城市景观的风韵。
喷泉是在城市环境中再现自然地一种特殊手段。将艺术设计和喷泉设计结合,可以还原出大自然的感觉。对于喷泉的形态、声音、色彩进行艺术的设计,可以有机的和周围的建筑结合,为环境增添了无限的生机。音乐喷泉是将美妙的音乐和基本的喷泉相结合,根据播放音乐的旋律、节拍等信息来控制喷泉造型的变化。
一个设计良好的音乐喷泉可以将喷泉空间形式融入音乐形象之中,唤起人们无穷的联想和想象。同时,随着计算机技术的不断发展,运用计算机来分析音乐信号提取音乐特征已经逐渐成熟。并且随着机器学习和深度学习的兴起,已经可以使用算法来分析一段音乐,提取出很多可用的特征。将音乐特征提取算法应用到音乐喷泉当中,可以更好地控制喷泉,展现不同的水型。
随着喷泉规模的增大,造型复杂程度的提高,使用电脑平面图进行设计以及渐渐地无法胜任喷泉的设计任务。于是出现了三维动画设计,视频效果演示等全新的设计展示方式。在三维空间中进行设计,最大的优势是可以立体的、动态的、多角度、多镜头等非常直观的方式设计、展示音乐喷泉的设计效果。设计出一个效果逼真,水型优美的喷泉设计展示软件有着很重要的意义。
发明内容
本发明的目的是:提供一套更加美观、灵活、方便用户交互的音乐喷泉模拟系统。
为了达到上述目的,本发明的技术方案是提供了一种基于OpenGL的音乐喷泉模拟系统,其特征在于,包括:
音乐特征提取单元,对音乐进行特征提取,选取合适的特征向量表征一首歌曲;
音乐特征信号融合单元,用于根据特征向量进行音乐风格分类,不同音乐风格对应水型库中不同的喷泉水型,经过音乐风格分类确定当前歌曲对应的喷泉水型,在对音乐风格进行分类后,提取当前歌曲的节拍,使用信号能量的变化大小来描述音乐的起伏程度,在所有节拍所对应的时间点中,选择前后能量变化大于设定阈值的时间点作为喷泉水型改变的时间点;
音乐特征提取单元及音乐特征信号融合单元整体由三个过程组成,首先对音乐进行特征提取,选取合适的特征向量表征一首歌曲,并根据特征向量选取算法进行风格分类。对音乐风格进行分类是因为不同风格的音乐,给人主观的感受差距很大,所以对应的水型库中的喷泉水型差别也很大,首先经过分类可以更加精确地选择歌曲对应的水型,给人更加美好的感官体验。之后对一首歌曲的节拍进行了提取,因为每一首音乐都有对应的节拍,人们在听音乐时虽然无法明确的说出节拍出现位置,但却能感性的认识到节拍的存在。音乐水型发生变化的时间点是包含于音乐的节拍点中的。故在对风格进行分类后,要将一首歌曲的节拍提出出来。最后,由于一首歌的节拍点是非常有规律并且数量非常庞大的,如果每一个节拍点水型都发生变化,会使得观看者应接不暇,会影响观看体验,故要选择音乐整体发生较大变化的时间点。音乐本质上也是一种信号,故本发明使用了信号能量的变化大小来描述音乐的起伏程度。在音乐的节拍时间点中,选取出那些前后能量变化大于设定阈值的时间点作为喷泉水型改变的时间点;
音乐喷泉模拟软件后台,使用基于OpenGL的粒子系统,本发明在粒子系统的渲染方面使用了双缓存技术,由于模拟需要渲染的粒子数量非常庞大,我们需要维护每一个粒子的位置、速率、颜色、生命周期等属性,并且在每一帧都更新粒子属性,并且渲染粒子。其中更新粒子属性的计算过程发生在CPU,而渲染粒子的过程则是在GPU中完成,这样就会导致大量的数据在CPU和GPU之间来回拷贝,降低了运算速度。在本发明中,使用了双缓存技术,将变换之后的图元存放在一个特殊的缓存-Transform Feedback中。每次在下一帧的渲染时,上一帧输出的顶点信息可以在这一帧中作为顶点缓存使用。为了加速运算,在对水滴进行渲染的时候,使用了广告牌技术,它建立了一种始终朝向摄像机的四边形,当相机在场景中发生运动时,渲染出来的图形也随之转动,因此,我们将始终看到物体的全貌;
音乐喷泉控制前台,在音乐媒体播放器的基础上,加入了音乐喷泉控制按钮。同时加入了增添歌曲自动分析,选择歌曲可以自动与后台通信,歌曲音量调节以及歌曲切换等功能。结合可以控制音乐喷泉高度、角度、颜色等功能按钮,可以使用户自义定水型以及更加方便的改变喷泉的形态,同时也可以同步观察音乐喷泉的演示效果。
优选地,所述音乐特征信号融合单元采用基于逻辑回归的OneVSall算法进行音乐风格分类,在逻辑回归中,使用的损失函数如下式(1)所示:
Figure BDA0002293178240000031
式(1)中,J(θ)是损失函数;θ是模型参数向量;m是训练样本个数;x(i)代表第i个训练样本;y(i)代表第i个训练样本对应的标签;hθ(x)是激活函数,
Figure BDA0002293178240000032
优选地,所述音乐特征信号融合单元依据节拍跟踪的评价函数从提取的所有节拍中剔除一些不需要喷泉水型变化的节拍点,最终输出喷泉水型变化时间点,其中,节拍跟踪的评价函数如下式(2)所示:
Figure BDA0002293178240000033
式(2)中,{ti}是音乐的时间序列;C({ti})是节拍识别的评价函数;O(ti)是音频强度的包络;α平衡两部分的平衡系数;F(ti-ti-1p)是衡量拍子间隔和目标拍子间隔一致性的评价指标;τp是目标拍子间隔。
本发明首先使用了机器学习的算法对一千首歌曲提取了梅尔频谱倒谱系数,并使用此特征对音乐风格进行分类,将音乐分为了十种风格,同时使用算法将音乐节拍提取出来。基于此,提出了一种信号融合的方法,根据风格选取动作库,并且在音乐节拍点中选取能量发生较大变化的时间点,作为音乐水型变化的点。之后,根据较为常见的音乐喷泉水型,针对每一种风格的音乐搭建对应动作库。最后使用OpenGL技术来实现音乐喷泉效果演示软件的后台,对单独的喷泉形态进行设计,并结合Qt框架实现前台界面的设计,在界面中结合喷泉控制和音乐多媒体部分,方便了用户的使用。
目前市面上的软件都是基于特定音乐的软件,并且画面制作都非常简洁,在本发明中使用OpenGL进行后台设计,模拟出喷泉效果,并且对外提供接口,可使得用户调用。在整个系统中引入音乐分析部分,使得可以对新加入的音乐分析其特征,根据特征参数进行动作的选择以及展示。
附图说明
图1为音乐喷泉系统架构;
图2为双缓存技术渲染流程图;
图3为音乐信号融合过程。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
基于OpenGL的音乐喷泉模拟系统主要包括音乐特征提取及融合、音乐喷泉模拟系统的后台、音乐喷泉模拟系统前台三大部分。
音乐特征提取及融合模块主要用于将输入的音乐信号进行分析,提取出后续系统所需要的、重要的特征。在本发明中主要使用音乐风格的类别,以及音乐节拍作为形成控制信号的特征。本发明将音乐风格分类模型作为系统最开始的输入,使用已经训练好的模型来对音乐风格分成十类中一类,并根据相应的类别选择对应的水型动作库。之后使用节拍跟踪算法将音乐的节拍点识别出来,再根据音乐信号能量大小的变化来剔除部分节拍点,最后输出喷泉形态应该发生改变的时间点。
音乐喷泉模拟系统的后台采用了OpenGL的库作为底层API,使用了其中的粒子系统来模拟喷泉的喷出效果,以此来增强对系统的控制。首先是针对单个喷泉头进行了动作设计,包括常见的摇摆、旋转、变色等动作。之后在此基础上增添了扩展喷泉个数的功能,使得用户可以自定义喷头的数量以及摆布形状,使得整个喷泉系统更加美观。之后在渲染过程中使用双缓存技术和广告牌技术,减少了渲染的计算量,加快了渲染速度。同时使用了天空盒渲染技术将整个喷泉置于不同环境中,使得演示效果更加逼真。
音乐喷泉模拟系统的前台采用了Qt的库作为底层API,首先使用Qt中的多媒体技术开发一个音乐播放器,其中包含显示音乐播放列表以及当前正在播放的音乐,添加、移除、清空音乐播放列表,音乐的开始、暂停、停止,音乐的音量调节以及音乐的播放进度显示等功能。在此基础上,加入了喷泉高度、喷泉角度、喷泉颜色、喷泉开启与否等喷泉设置按钮。通过本发明中的界面设计,将音乐播放和喷泉演示的控制紧密结合在一起,方便了用户操作以及实时观看效果。
具体实施方式如下,首先采用基于逻辑回归的OneVSall算法,这种算法是将当前某一类看成一类,其他所有类别看作一类,这样其实就是一个二分类问题。将本类分出来以后,对其他的所有类在此使用本算法,这样进行多次二分类,便可以实现多分类问题。在逻辑回归中,使用的损失函数如下所示:
Figure BDA0002293178240000051
Figure BDA0002293178240000052
其中J(θ)是损失函数,θ是模型参数向量,m是训练样本个数,x(i)代表第i个训练样本,y(i)代表第i个训练样本对应的标签,hθ(x)是激活函数。
在风格分类后,对音乐节拍进行提取,之后根据音乐的能量变化剔除一些不需要变化的节拍点,最终输出水型变化时间点。节拍跟踪的评价函数如下:
Figure BDA0002293178240000053
其中{ti}是音乐的时间序列,C({ti})是节拍识别的评价函数,O(ti)是音频强度的包络,α平衡两部分的平衡系数,F(ti-ti-1p)是衡量拍子间隔和目标拍子间隔一致性的评价指标,τp是目标拍子间隔。
在喷泉模拟系统的后台部分,将喷泉所需要的数据和粒子封装成一个类,对于一个喷泉头构建一个对象,对于每一个喷泉头都可以设置其粒子的数量、粒子的初始速度,也可以设置喷泉头摆放的位置坐标以及喷泉的形态特征。这样可以动态的人为的添加喷泉头,并且可以按照某种形状来摆放,形成图案,非常接近于现实中的喷泉效果。最终形成一个控制参数矩阵,其中横坐标代表喷泉头的编号,纵坐标代表影响某个喷头的参数,本发明中总共设置了六个,分别是喷泉高度、喷泉X轴角度、喷泉Y轴角度、喷泉颜色、喷泉是否开启自旋、喷泉散开程度。
在粒子渲染的部分,使用双缓存技术,将每次粒子计算的结果存在系统提供的缓存中,下一帧就直接从这个缓存中读取数据。并且选择了一个二维的水滴作为纹理采样源,结合广告牌技术,使得无论从任何角度来观察水滴,都好像是三维的样子。最后场景的渲染使用天空盒技术进行,将一张720度全景图拆分成一个立方体的六个面,围绕摄像机进行渲染,使得观察者仿佛置身其中。将喷泉以及环境分开渲染,使用整个系统的两部分进行了松耦合,两部分可以分别的进行改进,且相互不影响。可以在同一个环境中演示不同的喷泉水型,也可以在不同的环境中演示相同的喷泉水型,大大提高了系统的灵活程度。
在喷泉模拟系统的前台部分,使用Qt框架搭建一个音乐媒体播放器。其中首先对三个功能按钮的槽函数进行了改变。在用户点击播放的时候,相应的槽函数会自动打开喷泉模拟系统后台的可执行文件,之后后台便会根据所选的乐曲的风格选择对应的水型库,之后根据读取系统需要改变水型的时间点。在每一帧渲染的时候读取从渲染开始到当前的时间,对比读取进来的点,来进行水型的变化。在音乐停止按钮的槽函数中,加入了关闭进程的函数。在添加按钮的槽函数中,加入了对新添加音乐的分析,当点下添加按钮时,会使用训练好的模型对新来的音乐进行风格分类,以及节拍提取。将控制信息保存在特定路径下,当用户点击此音乐时,便会重复点击播放按钮时候的步骤来进行效果演示。
在音乐播放器的基础上,添加了几对信号-槽函数。可以自定义喷泉的高度、角度、颜色等,也可以选择开启喷泉头阵列的哪些。将两部分放在一起进行前台设计可以在音乐播放的同时观看喷泉演示效果。

Claims (3)

1.一种基于OpenGL的音乐喷泉模拟系统,其特征在于,包括:
音乐特征提取单元,对音乐进行特征提取,选取合适的特征向量表征一首歌曲;
音乐特征信号融合单元,用于根据特征向量进行音乐风格分类,不同音乐风格对应水型库中不同的喷泉水型,经过音乐风格分类确定当前歌曲对应的喷泉水型,在对音乐风格进行分类后,提取当前歌曲的节拍,使用信号能量的变化大小来描述音乐的起伏程度,在所有节拍所对应的时间点中,选择前后能量变化大于设定阈值的时间点作为喷泉水型改变的时间点;
音乐喷泉模拟软件后台,使用基于OpenGL的粒子系统,在粒子系统的渲染方面使用双缓存技术,将变换之后的图元存放在一个缓存Transform Feedback中,每次在下一帧的渲染时,上一帧输出的顶点信息在这一帧中作为顶点缓存使用,在对水滴进行渲染的时候,使用广告牌技术,建立一种始终朝向摄像机的四边形,当相机在场景中发生运动时,渲染出来的图形也随之转动;
音乐喷泉控制前台在音乐媒体播放器的基础上加入了音乐喷泉控制按钮,同时加入了增添歌曲自动分析,选择歌曲自动与后台通信,歌曲控制功能结合可以控制音乐喷泉的功能按钮使用户自定义喷泉水型以及改变喷泉的形态,同时也可以同步观察音乐喷泉的演示效果。
2.如权利要求1所述的一种基于OpenGL的音乐喷泉模拟系统,其特征在于,所述音乐特征信号融合单元采用基于逻辑回归的OneVSall算法进行音乐风格分类,在逻辑回归中,使用的损失函数如下式(1)所示:
Figure FDA0004134452330000011
式(1)中,J(θ)是损失函数;θ是模型参数向量;m是训练样本个数;x(i)代表第i个训练样本;y(i)代表第i个训练样本对应的标签;hθ(x)是激活函数,
Figure FDA0004134452330000012
3.如权利要求1所述的一种基于OpenGL的音乐喷泉模拟系统,其特征在于,所述音乐特征信号融合单元依据节拍跟踪的评价函数从提取的所有节拍中剔除一些不需要喷泉水型变化的节拍点,最终输出喷泉水型变化时间点,其中,节拍跟踪的评价函数如下式(2)所示:
Figure FDA0004134452330000021
式(2)中,{ti}是音乐的时间序列;C({ti})是节拍识别的评价函数;O(ti)是音频强度的包络;α平衡两部分的平衡系数;F(ti-ti-1p)是衡量拍子间隔和目标拍子间隔一致性的评价指标;τp是目标拍子间隔。
CN201911189375.6A 2019-11-28 2019-11-28 基于OpenGL的音乐喷泉模拟系统 Active CN110992450B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911189375.6A CN110992450B (zh) 2019-11-28 2019-11-28 基于OpenGL的音乐喷泉模拟系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911189375.6A CN110992450B (zh) 2019-11-28 2019-11-28 基于OpenGL的音乐喷泉模拟系统

Publications (2)

Publication Number Publication Date
CN110992450A CN110992450A (zh) 2020-04-10
CN110992450B true CN110992450B (zh) 2023-06-20

Family

ID=70087676

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911189375.6A Active CN110992450B (zh) 2019-11-28 2019-11-28 基于OpenGL的音乐喷泉模拟系统

Country Status (1)

Country Link
CN (1) CN110992450B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113009848B (zh) * 2021-02-08 2022-04-15 南京理工大学紫金学院 一种智能音乐喷泉分布式控制系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010047444A1 (ko) * 2008-10-22 2010-04-29 연세대학교 산학협력단 음악분수 구동장치 및 방법과 이를 위한 음악분수 시나리오 생성장치 및 방법
CN105701851A (zh) * 2014-11-28 2016-06-22 星际空间(天津)科技发展有限公司 一种基于地理信息的三维渲染引擎系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8929877B2 (en) * 2008-09-12 2015-01-06 Digimarc Corporation Methods and systems for content processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010047444A1 (ko) * 2008-10-22 2010-04-29 연세대학교 산학협력단 음악분수 구동장치 및 방법과 이를 위한 음악분수 시나리오 생성장치 및 방법
CN105701851A (zh) * 2014-11-28 2016-06-22 星际空间(天津)科技发展有限公司 一种基于地理信息的三维渲染引擎系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
胡运江 ; .基于OpenGL的喷泉动画设计.中国科技信息.2009,(第12期),113-114. *

Also Published As

Publication number Publication date
CN110992450A (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
CN107750005B (zh) 虚拟互动方法和终端
CN109690450B (zh) Vr场景下的角色模拟方法和终端设备
CN104602772B (zh) 游戏机、用于该游戏机的控制方法
CN110213613B (zh) 图像处理方法、装置及存储介质
JP2021192222A (ja) 動画インタラクティブ方法と装置、電子デバイス、コンピュータ可読記憶媒体、及び、コンピュータプログラム
TWI486904B (zh) 律動影像化方法、系統以及電腦可讀取記錄媒體
CN107329980A (zh) 一种基于音频的实时联动显示方法及存储设备
KR19990066862A (ko) 캐릭터 화상의 표시 제어방법 및 장치, 기록매체
US20200365123A1 (en) Information processing method
TW202139052A (zh) 互動物件的驅動方法、裝置、設備以及儲存媒體
CN110214343A (zh) 信息处理装置、信息处理方法及其程序
CN115631287A (zh) 一种虚拟舞台人物数字化展现系统
CN113781609A (zh) 一种基于音乐节奏的舞蹈动作实时生成系统
CN106909217A (zh) 一种增强现实的全息投影交互方法、装置及系统
CN110992450B (zh) 基于OpenGL的音乐喷泉模拟系统
CN101924847B (zh) 多媒体播放装置及其播放方法
Magalhäes et al. Physics-based concatenative sound synthesis of photogrammetric models for aural and haptic feedback in virtual environments
CN100454342C (zh) 三维植物体音乐动画系统
Sul et al. Virtual stage: a location-based karaoke system
Nakatsuka et al. Audio-guided Video Interpolation via Human Pose Features.
CN112750184A (zh) 数据处理、动作驱动与人机交互方法及设备
Tzanetakis et al. 3D graphics tools for sound collections
CN112587915B (zh) 光照效果呈现方法、装置、存储介质及计算机设备
Hakim et al. Virtual guitar: Using real-time finger tracking for musical instruments
Hwang Exploring real-time video interactivity with Scratch

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