1.本发明实施例涉及音频处理的技术领域,尤其涉及一种音频的动画播放、节奏卡点识别方法及相关装置。
背景技术:2.收听音频数据为用户休闲娱乐的方式之一,在播放音频数据时,为了避免可视化的内容过于单调,目前会播放动画、实现动态的视觉效果。
3.这些动画通常是以既定的方式循环播放,如圆形的封面不停旋转,但是,这种循环播放的方式独立于音频数据,一方面,循环播放的方式单一,如果为每一个音频数据设置独立的动画,考虑到海量的音频数据,这像开发工作的工程量十分巨大,难以完成,另一方面,用户的视觉和听觉是统一的,独立的动画会干扰音频数据的播放。
技术实现要素:4.本发明实施例提出了一种音频的动画播放、节奏卡点识别方法及相关装置,以解决动画单一、如何统一播放音频数据与动画的问题。
5.第一方面,本发明实施例提供了一种音频的动画播放方法,包括:
6.查找音频数据中目标乐器演奏时的节奏卡点,节奏卡点具有基于卡点识别模型对音频数据的音频特征信息识别得到的属性信息;
7.为节奏卡点配置与目标乐器适配的动画;
8.为动画配置与属性信息适配的播放参数;
9.当播放音频数据时,根据播放参数播放动画,以使动画同步节奏卡点。
10.第二方面,本发明实施例还提供了一种音频的动画播放方法,包括:
11.显示音频播放器的用户界面;
12.播放音频数据,音频数据中具有目标乐器演奏的节奏卡点;
13.在用户界面上切换至音频数据的播放页面;
14.当音频数据播放至节奏卡点时,在播放页面上播放与节奏卡点适配的动画。
15.第三方面,本发明实施例还提供了一种卡点识别模型的训练方法,包括:
16.将目标乐器演奏的第一音频数据合成第二音频数据;
17.以第一音频数据作为第二音频数据的节奏卡点,记录第一音频数据的属性信息;
18.从第二音频数据中提取特征,作为音频特征信息;
19.以音频特征信息作为样本、属性信息作为标签,训练卡点识别模型,以使卡点识别模型用于识别音频数据中节奏卡点的属性信息。
20.第四方面,本发明实施例还提供了一种节奏卡点的识别方法,包括:
21.获取待识别节奏卡点的音频数据;
22.加载如第三方面的方法训练的卡点识别模型;
23.从第二音频数据中提取特征,作为音频特征信息;
24.将音频特征信息输入卡点识别模型中进行处理,以输出音频数据中目标乐器演奏时的属性信息。
25.第五方面,本发明实施例还提供了一种音频的动画播放装置,包括:
26.属性信息查找模块,用于查找音频数据中目标乐器演奏时的节奏卡点,节奏卡点具有基于卡点识别模型对音频数据的音频特征信息识别得到的属性信息;
27.动画配置模块,用于为节奏卡点配置与目标乐器适配的动画;
28.播放参数配置模块,用于为动画配置与属性信息适配的播放参数;
29.动画播放模块,用于当播放音频数据时,根据播放参数播放动画,以使动画同步节奏卡点。
30.第六方面,本发明实施例还提供了一种计算机设备,包括:
31.屏幕,用于显示音频播放器的用户界面;
32.播放器,用于播放音频数据,音频数据中具有目标乐器演奏的节奏卡点;
33.屏幕,还用于在用户界面上切换至音频数据的播放页面;
34.屏幕,还用于当音频数据播放至节奏卡点时,在播放页面上播放与节奏卡点适配的动画。
35.第七方面,本发明实施例还提供了一种卡点识别模型的训练装置,包括:
36.音频数据合成模块,用于将目标乐器演奏的多个第一音频数据合成第二音频数据;
37.属性信息记录模块,用于以多个第一音频数据作为第二音频数据的节奏卡点,记录第一音频数据的属性信息;
38.音频特征信息提取模块,用于从第二音频数据中提取特征,作为音频特征信息;
39.卡点识别模型训练模块,用于以音频特征信息作为样本、属性信息作为标签,训练卡点识别模型,以使卡点识别模型用于识别音频数据中节奏卡点的属性信息。
40.第八方面,本发明实施例还提供了一种节奏卡点的识别模型,包括:
41.音频数据获取模块,用于获取待识别节奏卡点的音频数据;
42.卡点识别模型加载模块,用于加载第七方面的装置训练的卡点识别模型;
43.音频特征信息提取模块,用于从第二音频数据中提取特征,作为音频特征信息;
44.属性信息识别模块,用于将音频特征信息输入卡点识别模型中进行处理,以输出音频数据中目标乐器演奏时的属性信息。
45.第九方面,本发明实施例还提供了一种计算机设备,计算机设备包括:
46.一个或多个处理器;
47.存储器,用于存储一个或多个程序,
48.当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面或第二方面的音频的动画播放方法,或者,如第三方面的卡点识别模型的训练方法,或者,如第四方面的节奏卡点的识别方法。
49.第十方面,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如第一方面或第二方面的音频的动画播放方法,或者,如第三方面的卡点识别模型的训练方法,或者,如第四方面的节奏卡点的识别方法。
50.在本实施例中,查找音频数据中目标乐器演奏时的节奏卡点,节奏卡点具有属性信息,为节奏卡点配置与目标乐器适配的动画,为动画配置与属性信息适配的播放参数,当播放音频数据时,根据播放参数播放动画,以使动画同步节奏卡点。一方面,动画与目标乐器适配,可以方便分辨目标乐器,动画与节奏卡点适配,可以方便节奏卡点,目标乐器演奏的节奏卡点通常具有独立性,因此,参照目标乐器、节奏卡点设置的动画通常具有独立性,大大丰富了动画的样式,无需为每一个音频数据设置独立的动画,大大降低了开发工作的工程量,适于大规模使用,另一方面,目标乐器演奏的节奏卡点与动画相适配,可以让用户在视觉和听觉保持统一,动画可辅助音频数据的播放,而并非对音频数据的播放造成干扰。
附图说明
51.图1为本发明实施例一提供的一种音频的动画播放方法的流程图;
52.图2为本发明实施例一提供的一种卡点文件的分发示意图;
53.图3为本发明实施例一提供的一种音频播放器的用户界面的示例图;
54.图4a至图4c为本发明实施例一提供的一种动画的播放示例图;
55.图5是本发明实施例二提供的一种音频的动画播放方法的流程图;
56.图6是本发明实施例三提供的一种音频的动画播放方法的流程图;
57.图7是本发明实施例四提供的一种卡点识别模型的训练方法的流程图;
58.图8是本发明实施例四提供的一种卡点识别模型的结构示意图;
59.图9是本发明实施例五提供的一种节奏卡点的识别方法的流程图;
60.图10为本发明实施例六提供的一种音频的动画播放装置的结构示意图;
61.图11为本发明实施例七提供的一种音频的动画播放装置的结构示意图;
62.图12为本发明实施例八提供的一种音频的动画播放装置的结构示意图;
63.图13为本发明实施例九提供的一种音频的动画播放装置的结构示意图;
64.图14为本发明实施例十提供的一种计算机设备的结构示意图。
具体实施方式
65.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
66.实施例一
67.图1为本发明实施例一提供的一种音频的动画播放方法的流程图,本实施例可适用于自适应音频数据中目标乐器的节奏卡点播放动画的情况,该方法可以由音频的动画播放装置来执行,该音频的动画播放装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,如图2所示的移动终端(如手机221、平板222等)、个人电脑223、智能穿戴设备(如智能眼镜、智能手表等),等等,具体包括如下步骤:
68.步骤101、查找音频数据中目标乐器演奏时的节奏卡点。
69.在计算机设备中,可以安装android(安卓)、ios、harmory(鸿蒙)等操作系统,用户可以根据需求在操作系统中安装支持播放音频数据的应用程序,记为音频播放器,例如,独立的音频应用、即时通讯工具、浏览器,等等。
70.如图3所示,在启动音频播放器时,可显示音频播放器的用户界面(user interface,ui),默认会显示主页,主页中通常包括推荐给用户的内容,例如,每日推荐、歌单、电台、排行榜、直播、用户形成的圈子、mv(music video,音乐短片)、跳转至其他页面的元素,等等。
71.本实施例中,音频数据至少包含由至少一种乐器演奏的音乐部分,例如,鼓、镲、萨克斯、提琴、钢琴、吉他,等等。
72.如果音频数据仅包含由至少一种乐器演奏的音乐部分,那么该音频数据又称之为纯音乐,如果音频数据既包含由至少一种乐器演奏的音乐部分,又包含用户演唱的音乐部分,那么该音频数据又称之为歌曲。
73.根据音乐旋律,这些乐器在演奏时会或多或少在节奏上出现显著性的点,记为节奏卡点,又称卡点、节奏点等。
74.对于众多的乐器,可以根据检测节奏卡点的技术、业务、与动画配合的播放效果等因素,选定部分或全部乐器,作为目标乐器,预先使用卡点识别模型对音频数据检测这些目标乐器演奏时的节奏卡点,得到这些目标乐器在时间、类型、强度、频率、能量等方面的属性信息,将这些属性信息记录在卡点文件中,并将该卡点文件关联音频数据,即,节奏卡点具有基于卡点识别模型对音频数据的音频特征信息识别得到的属性信息。
75.其中,卡点识别模型用于识别音频数据中节奏卡点的属性信息,卡点识别模型的结构不局限于机器学习模型,如svm(support vector machine,支持向量机)等,也可以是人工设计的神经网络,还可以是通过模型量化方法优化的神经网络,通过nas(神经网络结构搜索)方法针对音频数据中节奏卡点的特性搜索的神经网络,等等,本实施例对此不加以限制。
76.如图2所示,一般情况下,检测音频数据中目标乐器演奏时的节奏卡点通常使用神经网络,如cnn(convolutional neural networks,卷积神经网络)、rnn(recurrent neural network,循环神经网络),计算量通常较大,可安排在服务器210中执行,因此,音频数据关联的卡点文件可存储在服务器210中,当然,也可以安排音频播放器执行检测音频数据中目标乐器演奏时的节奏卡点的操作,本实施例对此不加以限制。
77.示例性地,步骤101之前,可以获得卡点识别模型,该卡点识别模型的训练步骤包括:
78.将目标乐器演奏的多个第一音频数据合成第二音频数据;
79.以多个第一音频数据作为第二音频数据的节奏卡点,记录第一音频数据的属性信息;
80.从第二音频数据中提取特征,作为音频特征信息;
81.以音频特征信息作为样本、属性信息作为标签,训练卡点识别模型,以使卡点识别模型用于识别音频数据中节奏卡点的属性信息。
82.需要说明的是,卡点识别模型可以预先应用实施例四中的卡点识别模型的训练方法进行训练,节奏卡点的属性信息可以预先应用实施例五中的节奏卡点的识别方法进行识别,相关之处参见实施例四、实施例五的部分说明即可,本实施例在此不加以详述。
83.对于音频数据首次播放的场景,可以向服务器请求该音频数据关联的卡点文件,从而从卡点文件中读取目标乐器演奏时的节奏卡点。
84.如果音频数据为服务器提供的在线的音频数据,则音频播放器可以将该音频数据的id发送至服务器,服务器通过该id查询到音频数据关联的卡点文件,并发送至音频播放器。
85.如果音频数据为计算机设备提供的本地的音频数据,则音频播放器可以将该音频数据的名称、音频指纹(如哈希值)等标识发送至服务器,服务器通过该标识查询是否存在该音频数据的卡点文件,如果有,则将卡点文件发送至音频播放器,如果没有,则可以请求音频播放器上传音频数据,并对该音频数据检测目标乐器演奏时的节奏卡点,使用其属性信息制作相应的卡点文件,并将卡点文件发送至音频播放器。
86.如果音频播放器在音频数据播放时,启动动画的配置操作(即本实施例中的步骤101
‑
步骤104),动画的配置操作会存在一定的耗时,从而导致动画的延时,即,音频数据初始播放时并未显示动画。
87.在部分情况下,例如,用户选定播放某个音频数据,用户选定播放某个歌单中的第一个音频数据,等等,为了保证音频数据的响应速度,优先播放音频数据,此时,动画的延时并不能避免。
88.但是,在某个音频数据播放时,其他待播放的音频数据可以执行预加载的操作(即本实施例中的步骤101
‑
步骤103),即,在正式播放动画之前,预先执行动画的部分加载操作,待播放动画时,可以快速加载动画,大大降低了动画的延时,保证音频数据初始播放时也会显示动画。
89.在预加载时,可以在音频播放器中查找播放列表,该播放列表可显示在音频播放器的用户界面的某个页面中,该播放列表可以是任意的播放列表,例如,用户创建的在线或离线的播放列表,用户点击某个歌单时生成的播放列表,服务器推荐音乐时生成的播放列表,等等,本实施例对此不加以限制。
90.在播放列表中具有音频数据,针对在线的音频数据,可以在播放列表中查询当前正在播放的音频数据,以及,查询待播放的音频数据。
91.进一步而言,针对不同的播放顺序,待播放的音频数据的定义也有所不同,例如,针对顺序播放,待播放的音频数据为排序位于正在播放的音频数据之后的其他音频数据,对于随机播放,待播放的音频数据为通过随机算法计算的其他音频数据,等等。
92.对播放列表中待播放的音频数据可以预加载与目标乐器演奏的节奏卡点适配的动画。
93.进一步而言,针对待播放的音频数据,则可以向服务器请求预先对待播放的音频数据检测的、目标乐器演奏时的节奏卡点。
94.针对本地的音频数据,可以在空闲的时间向服务器请求预先对播放列表中的音频数据检测的、目标乐器演奏时的节奏卡点。
95.此外,如果操作系统支持第三方应用的缓存数据,音频播放器可以将音频数据的卡点文件缓存在计算机设备本地,对于音频数据非首次播放的场景,可以在本地的缓存中差值该音频数据关联的卡点文件,从而快速从卡点文件中读取目标乐器演奏时的节奏卡点。
96.步骤102、为节奏卡点配置与目标乐器适配的动画。
97.在本实施例中,可以预先设计多个动画的样式,这些样式可以包括如下至少一种
类型:
98.1、简单动画
99.简单动画单个动作动画,例如,放大、缩小、偏移、闪光、渐隐渐现,等等。
100.2、复合动画
101.复合动画为两个或两个以上动作的动画,例如,水波、图像数据的像素偏移、图像数据的像素混合,等等。
102.针对音频数据中目标乐器演奏的节奏卡点,可以为其确定与目标乐器的类型适配的动画,使得动画在播放时,用户可从视觉上感知目标乐器在演奏。
103.例如,如果目标乐器的类型为鼓,则可以配置水波作为适配的动画,通过水波表现鼓在敲击时声波传播的状态。
104.又例如,如果目标乐器的类型为镲,则可以配置闪光作为适配的动画,通过闪光表现镲在打击时强烈碰撞的状态。
105.对于预加载的情况,可以在音频数据处于待播放的状态下,为节奏卡点配置与目标乐器适配的动画。
106.一般而言,目标乐器的类型与动画的样式之间的适配关系可以预先设定,并记录在音频播放器中,音频播放器在得到节奏卡点的属性信息时,可从属性信息中读取目标乐器的类型,从而在该适配关系中查询预先对类型设置的动画。
107.如果设置的动画的数量为两个或两个以上,则可以通过哈希取余、随机等方式选择其中一个动画。
108.进一步地,不同类型的目标乐器在发出声音时的特征(如音色、频率等)均有所不同,因此,在不同的播放器的播放环境中,用户对不同类型的目标乐器的敏感程度有所不同,可以预先设置播放器与目标乐器的类型之间的映射关系,以表示播放器与该类型下的目标乐器适配。
109.其中,该播放器可以指物理级别的硬件,例如,通过无线(如蓝牙)或有线连接的耳机、内置的扬声器、通过无线(如蓝牙)或有线连接的外置的音箱,等等。
110.例如,底鼓(目标乐器的类型)的音调较低,军鼓(目标乐器的类型)的音调较高,在使用耳机播放音频数据时,用户对底鼓更加敏感,在使用扬声器、音箱等外放播放音频数据时,用户对军鼓更加敏感,因此,可以预先建立耳机与底鼓之间的映射关系,以及,扬声器、音箱与底鼓之间的映射关系。
111.那么,为目标乐器配置动画时,可以通过调用操作系统提供的函数监听播放器的插拔事件、连接/断开事件,从而查询当前用于播放音频数据的播放器。
112.在预设的映射关系中,确定与该播放器适配的类型,作为目标类型,从而查询预先对目标类型设置的动画,选择与播放器的播放环境适配的目标乐器及其动画,可以提高听觉与视觉之间的统一度。
113.当然,除了预先设定目标乐器的类型与动画的样式之间的适配关系之外,用户也可以对该适配关系进行调整,本实施例对此不加以限制。
114.步骤103、为动画配置与属性信息适配的播放参数。
115.在本实施例中,以节奏卡点的属性信息作为参考,对动画生成播放参数,即,用于播放动画的参数,节奏卡点的属性信息与动画的播放参数相适配,使得动画可以体现节奏
卡点的状态。
116.对于预加载的情况,可以在音频数据处于待播放的状态下,可以为动画配置与属性信息适配的播放参数。
117.步骤104、当播放音频数据时,根据播放参数播放动画,以使动画同步节奏卡点。
118.音频播放器可调用扬声器、耳机等播放器播放器播放音频数据,此时,音频播放器在用户界面上可以切换至该音频数据的播放页面,如图4a至图4c所示,在播放页面中加载有与音频数据相关的元素,例如,封面、名称、演唱者、歌词、播放进度,等等,并提供了多种控件,供用户进行操作,例如,关注演唱者、喜欢、音效、下载、评论、暂停、设置为铃声等等。
119.在播放音频数据的过程中,当音频数据播放至某个目标乐器演奏的节奏卡点时,则可以按照对目标乐器相应的动画配置的播放参数播放该动画,从而播放与节奏卡点适配的动画,实现节奏卡点与动画的同步,所谓同步,可以指节奏卡点的状态与动画的状态相匹配。
120.一般情况下,用户在视觉上的焦点会落在播放页面上,则可以在播放页面上播放与节奏卡点适配的动画。
121.在一种情况中,可以在音频数据的播放页面中查找与音频数据相关的元素,作为目标元素,该目标元素通常可以用于表征音频数据,如图4a所示的封面401等,可将用户的注意力集中在该目标元素。
122.按照播放参数对目标元素进行放大、缩小、偏移、闪光、渐隐渐现、图像数据像素偏移、图像数据像素混合等变化,以实现播放与节奏卡点适配的动画,使动画同步节奏卡点。
123.在另一种情况中,可以在音频数据的播放页面中查找与音频数据相关的目标元素,如图4a所示的封面401等。
124.在目标元素之外按照播放参数播放与节奏卡点适配的动画,如图4b所示的水波402、如图4c所示的水波403等,以使动画同步节奏卡点。
125.具体而言,该目标元素在播放页面中具有第一位置,可以对第一位置往外偏移,可获得动画的第二位置,在该第二位置上按照播放参数显示动画。
126.当然,除了依赖目标元素之外,还可以直接在播放页面生成动画,而并不依赖目标元素,例如,在播放页面之上加载光线闪烁的动画,表现卡拉ok的灯光效果、舞台的灯光效果,等等,本实施例对此不加以限制。
127.对于两种或两种以上目标乐器的节奏卡点的动画同时播放的情况,可以在两个或两个以上的层次播放两种或两种以上目标乐器的节奏卡点的动画,每个层次播放一种动画,从而使得两种或两种以上目标乐器的节奏卡点的动画之间并不产生冲突,可以叠加在一起显示。
128.在本实施例中,查找音频数据中目标乐器演奏时的节奏卡点,节奏卡点具有属性信息,为节奏卡点配置与目标乐器适配的动画,为动画配置与属性信息适配的播放参数,当播放音频数据时,根据播放参数播放动画,以使动画同步节奏卡点。一方面,动画与目标乐器适配,可以方便分辨目标乐器,动画与节奏卡点适配,可以方便节奏卡点,目标乐器演奏的节奏卡点通常具有独立性,因此,参照目标乐器、节奏卡点设置的动画通常具有独立性,大大丰富了动画的样式,无需为每一个音频数据设置独立的动画,大大降低了开发工作的工程量,适于大规模使用,另一方面,目标乐器演奏的节奏卡点与动画相适配,可以让用户
在视觉和听觉保持统一,动画可辅助音频数据的播放,而并非对音频数据的播放造成干扰。
129.实施例二
130.图5为本发明实施例二提供的一种音频的动画播放方法的流程图,本实施例以前述实施例为基础,进一步细化了生成播放参数、播放动画的操作,该方法具体包括如下步骤:
131.步骤601、查找音频数据中目标乐器演奏时的节奏卡点。
132.在本实施例中,节奏卡点具有属性信息,属性信息包括演奏时间、类型、演奏强度,其中,演奏时间为目标乐器演奏的节奏卡点在音频数据出现的时间点(或称时刻),属于相对时间,可精确至毫秒,类型为目标乐器的种类,例如,鼓、镲、萨克斯、提琴、钢琴、吉他,等等,演奏强度为目标乐器演奏的节奏卡点的强度,属于相对强度。
133.在具体实现中,属性信息记录在卡点文件中,示例性地,卡点文件的部分数据如下所示:
134.39.53 0.0 0.053087488
135.42.940.0 0.06448808
136.47.41 0.0 0.08479153
137.47.90 1.0 0.09055309
138.47.90 3.0 0.09055309
139.48.40 0.0 0.17621353
140.48.40 2.0 0.17621353
141.48.64 0.0 0.11059237
142.48.89 1.0 0.10673602
143.49.38 0.0 0.08974022
144.49.87 1.0 0.08762167
145.50.36 0.0 0.08256018
146.50.61 0.0 0.10361756
147.50.86 1.0 0.16179922
148.51.34 0.0 0.16137238
149.其中,第一个字段为演奏时间,第二个字段为类型,0.0表示鼓,1.0表示镲,第三个字段表示演奏强度。
150.为便于后期的处理,可以同一中类型的属性信息划分至同一个集合中,从而对同一个集合配置动画,以及,使用该集合中各个节奏卡点属性信息依次为该动画配置相应的播放参数。
151.针对上述卡点文件的示例,可以对鼓、镲等目标乐器划分集合如下:
152.1、鼓的集合
153.39.53 0.0 0.053087488
154.42.94 0.0 0.06448808
155.47.41 0.0 0.08479153
156.48.40 0.0 0.17621353
157.48.64 0.0 0.11059237
158.49.38 0.0 0.08974022
159.50.36 0.0 0.08256018
160.50.61 0.0 0.10361756
161.51.34 0.0 0.16137238
162.2、镲的集合
163.47.90 1.0 0.09055309
164.48.89 1.0 0.10673602
165.49.87 1.0 0.08762167
166.50.86 1.0 0.16179922
167.步骤602、为节奏卡点配置与目标乐器适配的动画。
168.步骤603、将演奏时间赋值为动画的起始播放时间。
169.在本实施例中,动画的播放参数包括起始播放时间,起始播放时间为动画在音频数据播放的时间点(或称时刻),属于相对时间,可精确至毫秒。
170.对于动画的起始播放时间,可将节奏卡点的演奏时间赋值为相应动画的起始播放时间,使得两者同步出现,统一视觉和听觉,并且,操作简单,耗时小,可以保证实时性。
171.当然,为了便于运算,在将节奏卡点的演奏时间赋值为相应动画的起始播放时间之后,可以对起始播放时间进行向上取整、向下取整等操作,此时,节奏卡点的演奏时间与相应动画的起始播放时间之间存在差异,该差异比较微小,用户一般无感知,并不影响节奏卡点与相应动画同步出现。
172.步骤604、计算同一类型下的演奏间隔时间。
173.步骤605、对动画配置持续播放时间。
174.在本实施例中,动画的播放参数包括持续播放时间,该持续播放时间为动画持续播放的时长(或称时间段),此时,可确定与节奏卡点适配的持续播放时间。
175.对于动画的持续播放时间,考虑到同一种目标乐器的节奏卡点一般不会出现重叠的情况,该节奏卡点相应的动画也一般不会出现重叠的情况,因此,可使用同一类型下的演奏时间计算演奏间隔时间,演奏间隔时间为相邻两个演奏时间之间的差值,即,演奏间隔时间为相邻两个节奏卡点之间的时间差值。
176.进一步而言,节奏卡点是按照时间顺序进行播放的,因此,在遍历节奏卡点时,针对当前的节奏卡点,可以计算当前的节奏卡点与下一个的节奏卡点之间的差值,得到演奏间隔时间。
177.对于当前的节奏卡点相应的动画,可以参考当前的节奏卡点相应的演奏间隔时间,对该动画配置持续播放时间,使得持续播放时间小于或等于演奏间隔时间,保证同一种目标乐器的节奏卡点相应的动画不会出现重叠的情况,使得两者同步消失,统一视觉和听觉,并且,操作简单,耗时小,可以保证实时性。
178.示例性地,考虑到目标乐器都是敲击之后,声音短时存在,可以预先设置目标值,该目标值可以为目标乐器声音消失的时间,如200毫秒,考虑到不同目标乐器声音消失的时间有所不同,但差异很小,用户一般无感知,因此,可以针对所有目标乐器设置同一个目标值,也可以针对每种目标乐器设置一个目标值,本实施例对此不加以限制。
179.在本示例中,针对当前的节奏卡点,可以将当前的节奏卡点的间隔时间与预设的
目标值进行比较。
180.若间隔时间大于或等于目标值,则将目标值赋值为当前的动画的持续播放时间。
181.若间隔时间小述目标值,则将间隔时间赋值为当前的动画的持续播放时间。
182.本示例中,对间隔时间与目标值进行比较,从而选择性将目标值或间隔时间赋值为动画的持续播放时间,操作简单,耗时小。
183.当然,上述计算持续播放时间的方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它计算持续播放时间的方式,例如,筛选所有间隔时间中的最小值,将该最小值赋值为所有动画的持续播放时间,等等,本发明实施例对此不加以限制。另外,除了上述计算持续播放时间的方式外,本领域技术人员还可以根据实际需要采用其它计算持续播放时间的方式,本发明实施例对此也不加以限制。
184.步骤606、对动画配置播放强度。
185.在本实施例中,动画的播放参数包括播放强度,即播放动画时的强烈程度,此时,可确定与节奏卡点适配的播放强度,针对不同的动画,播放强度的意义也有所不同。
186.例如,若动画为放大、缩小、偏移,则播放强度表示放大的比例(播放强度越强、放大的比例越大)、缩小的比例(播放强度越强、缩小的比例越小)、偏移的距离(播放强度越强、偏移的距离越大)。
187.又如,若动画为闪光、渐隐渐现,则播放强度表示亮度(播放强度越强、亮度越大)、透明度(播放强度越强、透明度越小)。
188.再如,若动画为水波,则播放强度表示波纹的数量、粗细(播放强度越强、波纹的数量越多、波纹越粗)。
189.在具体实现中,可以参考节奏卡点的演奏强度生成相应动画的播放强度,使得播放强度与演奏强度正相关,即,参考节奏卡点的演奏强度越高,相应动画的播放强度越高,反之,参考节奏卡点的演奏强度越低,相应动画的播放强度越低,从而统一视觉和听觉。
190.如图4b和图4c所示,在0:03、0:08处均具有鼓的节奏卡点,对鼓配置的动画为水波,在0:03的节奏卡点的演奏强度小于在0:08的节奏卡点的演奏强度,因此,在0:03的水波的播放强度小于在0:08的水波的播放强度,可表现为在0:03的水波的波纹数量(1个)小于在0:08的水波的波纹数量(2个),在0:03的水波的波纹的粗细小于在0:08的水波的波纹的粗细。
191.由于音频数据表达的感情、目标乐器的音色等因素影响,部分目标乐器在演奏时,演奏强度在低强度范围、中强度范围、高强度范围的分布比较均匀,此时,可以直接将节奏卡点的演奏强度赋值为动画的播放强度,使得动画的播放强度在低强度范围、中强度范围、高强度范围的分布比较均匀,用户可以在视觉上分辨出动画在播放强度上的差异。
192.部分目标乐器在演奏时,演奏强度在低强度范围、中强度范围、高强度范围的分布不均匀,可能集中在低强度范围、中强度范围,甚至集中在低强度范围,用户对听觉的灵敏性较高,可以分辨出节奏卡点在演奏强度上的差异,但是,用户对视觉的灵敏性较低,在移动终端、智能可穿戴设备等可视区域较小的计算机设备,灵敏性的降低尤为明显,如果动画的播放强度集中在低强度范围或者中强度范围或者高强度范围,用户可能无法分辨出动画在播放强度上的差异,因此,可以使用min
‑
max、log函数、atan函数、z
‑
score、归一化等算法对演奏强度进行标准化处理,作为动画的播放强度,使得动画的播放强度在低强度范围、中
强度范围、高强度范围均匀分布。
193.示例性地,可以预先设置目标数值范围,目标数值范围表示低强度范围、中强度范围、高强度范围,如[0,1],在目标数值范围可以设置子数值范围,子数值范围表示低强度范围,如[0,0.3]。
[0194]
基于目标数值范围与子数值范围可计算标准化系数,标准化系数为目标数值范围的上限值与子数值范围的上限值之间的比值,如0.33。
[0195]
那么,在本示例中,可以检测同一种目标乐器下的节奏卡点的演奏强度的分布是否符合预设的目标模式,目标模式为分布在目标数值范围中的子数值范围的占比超过的阈值。
[0196]
若演奏强度的分布符合预设的目标模式,则将演奏强度乘以预设的标准化系数,作为动画的播放强度。
[0197]
将动画的播放强度与目标数值范围的上限值进行比较。
[0198]
若动画的播放强度小于或等于目标数值范围的上限值,则确定动画的播放强度有效。
[0199]
若动画的播放强度大于目标数值范围的上限值,则确定动画的播放强度无效,将动画的播放强度设置为目标数值范围的上限值。
[0200]
由于赋值操作、标准化操作等操作简单,耗时小,可以保证实时性。
[0201]
在本实施例中,动画的起始播放时间与节奏卡点的演奏时间匹配,动画的持续播放时间与节奏卡点间的演奏间隔时间匹配,动画的播放强度与节奏卡点间的演奏强度匹配,多维度同步动画与节奏卡点之间的特性,使得动画的状态同步节奏卡点的状态的精确度高。
[0202]
步骤607、当播放音频数据时,查询音频数据当前播放的时间点。
[0203]
音频播放器在音频数据的过程中,可以持续查询音频数据当前播放的时间点,该时间点为相对时间,可以精确至毫秒,从而保证实时性。
[0204]
在具体实现中,可以按照预设的频率查询音频数据当前播放的时间点,假设频率为60hz,相邻两次检测的时间为1/60秒。
[0205]
步骤608、检测时间点与起始播放时间之间的关系。
[0206]
在本实施例中,可以遍历每个动画的起始播放时间,从而判断当前的时间点与起始播放时间之间的关系,即,当前的时间点到达动画的起始播放时间,还是,当前的时间点偏离动画的起始播放时间。
[0207]
考虑到检测当前时间点的频率的因素,当前的时间点与动画的起始播放时间之间完全重合的情况较少,因此,如果当前的时间点与动画的起始播放时间之间在检测当前时间点的周期内,也可以认为当前的时间点到达动画的起始播放时间。
[0208]
进一步而言,可以计算当前的时间点与动画的起始播放时间之间的差值。
[0209]
将差值与预设的时间阈值进行比较,该时间阈值为由频率转换的时间的一半,使得可以覆盖检测当前时间点的周期,假设频率为60hz,则时间阈值为1/60秒的一半,即1/60/2秒。
[0210]
若差值大于预设的时间阈值,则确定当前的时间点偏离动画的起始播放时间。
[0211]
若差值小于或等于预设的时间阈值,则确定时间点与起始播放时间之间的关系为
时间点到达起始播放时间。
[0212]
此外,歌曲、纯音乐等音频数据的时长较长,通常在四分钟到七分钟之间,甚至超十分钟,节奏卡点的数量通常达到数十个,甚至上百个,相应地,动画及其播放参数的数量通常达到数十个,甚至上百个,遍历一遍这些动画的播放参数会消耗一定的时间,这些时间会累积,累积到一定程度可能会导致动画呈现延时的情况,在播放音频数据的后期会越加明显。
[0213]
因此,在本发明的一个实施例中,可以确定时间范围,针对同一种节奏卡点对应的动画,可以将起始播放时间归属同一个时间范围的播放参数写入同一个数据结构中,如哈希表(hash map),其中,该数据结构以时间范围作为索引。
[0214]
进一步地,构建数据结构的操作,可以纳入预操作的范畴,在播放音频数据之前完成构建。
[0215]
示例性地,若起始播放时间精确至毫秒,则可以以秒作为单位划分时间范围,即,将起始播放时间去除秒以外的数据,将秒相同的播放参数写入同一个数据结构中,其中,该数据结构以秒作为索引,如哈希索引(hash index)。
[0216]
对于上述鼓的集合,针对部分属性信息可生成数据结构如下:
[0217]
数据结构_1,索引为48,属性信息如下:
[0218]
48.40 0.0 0.17621353
[0219]
48.64 0.0 0.11059237
[0220]
数据结构_2,索引为50,属性信息如下:
[0221]
50.36 0.0 0.08256018
[0222]
50.61 0.0 0.10361756
[0223]
那么,可以在索引中查找当前的时间点归属的时间范围,作为目标时间范围,读取目标时间范围对应的数据结构,作为目标数据结构,从而在目标数据结构中检测当前时间点与起始播放时间之间的关系。
[0224]
在本实施例中,通过将播放参数按照时间范围的归属情况划分到不同的数据结构中,使得遍历播放参数的范围缩小至数据结构中,大大减少了遍历的数据量,并且,索引的耗时基本可以忽略,从而大大减少了遍历的耗时,大大减少了动画的延时,用户一般无感知。
[0225]
步骤609、对音频数据检测与播放强度相关的因素。
[0226]
步骤610、按照因素对播放强度进行调整。
[0227]
除了节奏卡点自身的演奏强度之外,在音频数据的过程中,还可能存在其他影响动画强度的因素,该因素可用于对动画的播放强度进行调整。
[0228]
这些因素可能是用户设置的,也可能是音频数据在某些维度下的特征,等等。
[0229]
考虑到因素的可调节性较强,为了保证实时性,可以在播放音频数据的过程中对音频数据检测与播放强度相关的因素,从而在原有播放强度的基础上以这些因素作为参考,对播放强度进行自适应调整,使得动画的播放强度效果更优。
[0230]
需要说明的是,检测时间点与起始播放时间之间的关系,以及,按照因素对播放强度进行调整,两者之间属于异步操作,可以由两个独立的线程执行。
[0231]
在本实施例的一个示例中,对播放强度存在影响的因素包括如下的至少一种:
[0232]
1、节奏卡点的密度
[0233]
在本示例中,可以统计同一种目标乐器的节奏卡点在音频数据中的密度,作为与播放强度相关的因素。
[0234]
为降低运算量、减少耗时,可以将动画的持续播放时间设置为相应节奏卡点的密度,此时,动画的持续播放时间与节奏卡点的密度负相关,动画的持续播放时间越大,表示节奏卡点的密度越低,反之,动画的持续播放时间越小,表示节奏卡点的密度越高。
[0235]
当然,除了将动画的持续播放时间设置为相应节奏卡点的密度之外,还可以采用其他方式统计节奏卡点在音频数据中的密度,例如,对同一种目标乐器的节奏卡点添加固定长度的窗口,在滑动窗口的过程中,统计位于该窗口中节奏卡点的数量,作为当前节奏卡点的密度,等等,本实施例对此不加以限制。
[0236]
对于高密度的节奏卡点,目标乐器在演奏时会更加紧促一些,相应地,动画的播放强度会更低一些,保持听觉与视觉的统一。
[0237]
在具体实现中,当因素包括节奏卡点在音频数据中的密度时,可以基于密度生成第一调整系数,从而将播放强度乘以第一调整系数,作为新的播放强度。
[0238]
其中,第一调整系数与密度负相关,实现对播放强度的减弱,从而使得密度越播放强度负相关,即,密度越高,第一调整系数越小,使得新的播放强度减弱越大,新的播放强度越大,反之,密度越低,第一调整系数越大,使得新的播放强度减弱越小,新的播放强度越小。
[0239]
为降低运算量、减少耗时,当动画的持续播放时间为相应节奏卡点的密度时,可以将该密度(即持续播放时间)与预设的目标值进行比较。
[0240]
若密度大于或等于预设的目标值,则表示节奏卡点的密度较低,此时可维持动画的播放强度不变,并不计算第一调整系数。
[0241]
若密度小于预设的目标值,则表示节奏卡点的密度较高,此时可计算密度与目标值之间的比值,作为第一调整系数。
[0242]
2、音量
[0243]
在本示例中,可以在操作系统、音频播放器中查询播放音频数据时设置的音量,作为与播放强度相关的因素,其中,该音量可以为物理级别的播放器的音量和/或软件的音量。
[0244]
用户使用计算机设备的耳机、扬声器等播放器播放音频数据,播放器使用不同的音量播放音频数据,在听觉上给用户的反馈是有所不同的,相应地,针对不同的音量可以反馈不同播放强度的动画,保持听觉与视觉的统一。
[0245]
在具体实现中,当因素包括播放音频数据时设置的音量时,可以通过分段函数、线性函数等方式,基于音量生成第二调整系数,其中,第二调整系数与音量正相关,实现对播放强度的缩放,从而使得音量与播放强度正相关,即,音量越高,第二调整系数越大,播放强度越大,反之,密度越低,第二调整系数越小,播放强度越小。
[0246]
将播放强度乘以第二调整系数,作为新的播放强度,实现对播放强度的调整。
[0247]
3、音效
[0248]
在本示例中,可以在音频播放器中查询播放音频数据时设置的音效,例如,柔和、标准、强烈等,作为与播放强度相关的因素。
[0249]
用户使用不同的音效播放音频数据,对于同一个音频数据,在听觉上给用户的反馈也是有所不同的,例如,在柔和下播放时节奏卡点的演奏强度会比在标准下播放时节奏卡点的演奏强度低,在标准下播放时节奏卡点的演奏强度会比在强烈下播放时节奏卡点的演奏强度低,相应地,针对不同的音效可以反馈不同播放强度的动画,保持听觉与视觉的统一。
[0250]
在具体实现中,当因素包括播放所述音频数据时设置的音效时,一方面,确定为音效配置的第三调整系数,该第三调整系数与音效的特性匹配,例如,对柔和配置的第三调整系数为0.6,对标准配置的第三调整系数为1,对强烈配置的第三调整系数为1.4。
[0251]
另一方面,确定为动画配置的、表示合理性的播放规则,针对不同动画,表示合理性的播放规则有所不同。
[0252]
例如,如果动画为放大,则强度系数要大于1,保证实现放大,而并非缩小,如果动画为水波,则强度系数要大于1,保证波纹可视,等等。
[0253]
在播放规则的约束下,将播放强度乘以第三调整系数,作为新的播放强度。
[0254]
进一步而言,该播放规则可以表达为判断的函数、映射的函数,使用判断的函数判断播放强度乘以第三调整系数的所有乘积是否符合预期,如果所有乘积符合,则可以直接将该乘积设置为新的播放强度,如果任一乘积不符合,则可以使用该映射的函数将所有乘积整体映射至新的数值,直至符合,作为新的播放强度。
[0255]
当然,上述因素及其调整播放强度的方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它因素及其调整播放强度的方式,本发明实施例对此不加以限制。另外,除了上述因素及其调整播放强度的方式外,本领域技术人员还可以根据实际需要采用其它因素及其调整播放强度的方式,本发明实施例对此也不加以限制。
[0256]
步骤611、若关系为时间点到达起始播放时间,则按照播放强度播放动画,直至满足持续播放时间。
[0257]
如果当前的时间点到达动画的起始播放时间,表示目标乐器演奏到了节奏卡点,此时,可以按照播放强度播放该目标乐器对应的动画,直至播放该动画的时长满足持续播放时间,停止播放该动画。
[0258]
实施例三
[0259]
图6为本发明实施例三提供的一种音频的动画播放方法的流程图,本实施例可适用于自适应音频数据中目标乐器的节奏卡点播放动画的情况,该方法可以由音频的动画播放装置来执行,该音频的动画播放装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,个人电脑、移动终端(如手机、平板等)、智能穿戴设备(如智能眼镜、智能手表等),等等,具体包括如下步骤:
[0260]
步骤601、显示音频播放器的用户界面。
[0261]
用户界面中包括播放列表,在一些实施例中,对播放列表中待播放的音频数据预加载与目标乐器演奏的节奏卡点适配的动画。
[0262]
当然,预加载的操作也可以为播放音频数据时的实时加载的操作。
[0263]
在一些实施例中,该预加载的操作/实时加载的操作包括:
[0264]
s1、查找音频数据中目标乐器演奏时的节奏卡点,节奏卡点具有属性信息;
[0265]
s2、为节奏卡点配置与目标乐器适配的动画;
[0266]
进一步地,确定用于播放音频数据的播放器,确定与播放器适配的类型,作为目标类型,确定预先对目标类型设置的动画。
[0267]
s3、为动画配置与属性信息适配的播放参数。
[0268]
在一些实施例中,s1包括:
[0269]
s11、查找播放列表,播放列表中具有音频数据;
[0270]
s12、在播放列表中查询待播放的音频数据;
[0271]
s13、向服务器请求预先对待播放的音频数据检测的、目标乐器演奏时的节奏卡点。
[0272]
在一些实施例中,s2包括:
[0273]
s21、从属性信息中读取目标乐器的类型;
[0274]
s22、查询预先对类型设置的动画。
[0275]
在一些实施例中,属性信息包括演奏时间、类型、演奏强度,播放参数包括起始播放时间、持续播放时间、播放强度;
[0276]
s3包括:
[0277]
s31、将演奏时间赋值为动画的起始播放时间;
[0278]
s32、计算同一类型下的演奏间隔时间,演奏间隔时间为相邻两个演奏时间之间的差值;
[0279]
s33、对动画配置持续播放时间,持续播放时间小于或等于演奏间隔时间;
[0280]
s34、对动画配置播放强度,播放强度与演奏强度正相关。
[0281]
在一些实施例中,s33包括:
[0282]
s331、将间隔时间与预设的目标值进行比较;
[0283]
s332、若间隔时间大于或等于目标值,则将目标值赋值为动画的持续播放时间;
[0284]
s333、若间隔时间小于目标值,则将间隔时间赋值为动画的持续播放时间。
[0285]
在一些实施例中,s34包括:
[0286]
s341、若演奏强度的分布符合预设的目标模式,则将演奏强度乘以预设的标准化系数,作为动画的播放强度,目标模式为分布在目标数值范围中的子数值范围的占比超过的阈值,标准化系数为目标数值范围的上限值与子数值范围的上限值之间的比值;
[0287]
s342、若动画的播放强度大于目标数值范围的上限值,则将动画的播放强度设置为目标数值范围的上限值。
[0288]
在一些实施例中,该预加载的操作/实时加载的操作还包括:
[0289]
s4、确定时间范围;
[0290]
s5、将起始播放时间归属同一个时间范围的播放参数写入同一个数据结构中,数据结构以时间范围作为索引。
[0291]
步骤602、播放音频数据。
[0292]
其中,音频数据中具有目标乐器演奏的节奏卡点。
[0293]
步骤603、在用户界面上切换至音频数据的播放页面。
[0294]
步骤604、当音频数据播放至节奏卡点时,在播放页面上播放与节奏卡点适配的动画。
[0295]
在本发明的一个实施例中,步骤604包括如下步骤:
[0296]
步骤6041、确定与目标乐器的类型适配的动画;
[0297]
步骤6042、确定与节奏卡点适配的播放强度、持续播放时间;
[0298]
步骤6043、按照播放强度播放动画,直至满足持续播放时间。
[0299]
示例性地,节奏卡点包括演奏强度;
[0300]
持续播放时间小于或等于演奏间隔时间,演奏间隔时间为相邻两个节奏卡点之间的时间差值;
[0301]
播放强度与演奏强度正相关。
[0302]
进一步地,若间隔时间大于或等于预设的目标值,则持续播放时间与目标值相等;
[0303]
若间隔时间小于预设的目标值,则持续播放时间与间隔时间相等。
[0304]
在实际应用中,在播放音频数据时具有与播放强度相关的因素,因素用于对播放强度进行调整。
[0305]
示例性地,因素包括如下的至少一种:
[0306]
1、节奏卡点在音频数据中的密度
[0307]
在具体实现中,可统计节奏卡点在音频数据中的密度,其中,密度与播放强度负相关。
[0308]
那么,当因素包括节奏卡点在音频数据中的密度时,基于密度生成第一调整系数,第一调整系数与密度负相关;
[0309]
将播放强度乘以第一调整系数,作为新的播放强度。
[0310]
示例性地,可以将持续播放时间设置为节奏卡点的密度;那么,若密度小于预设的目标值,则计算密度与目标值之间的比值,作为第一调整系数。
[0311]
2、播放音频数据时设置的音量
[0312]
在具体实现中,可查询播放音频数据时设置的音量,音量与播放强度正相关。
[0313]
那么,当因素包括播放音频数据时设置的音量时,基于音量生成第二调整系数,第二调整系数与音量正相关;
[0314]
将播放强度乘以第二调整系数,作为新的播放强度。
[0315]
3、播放音频数据时设置的音效
[0316]
在具体实现中,可查询播放音频数据时设置的音效。
[0317]
那么,当因素包括播放音频数据时设置的音效时,确定为音效配置的第三调整系数;
[0318]
确定为动画配置的、表示合理性的播放规则;
[0319]
在播放规则的约束下,将播放强度乘以第三调整系数,作为新的播放强度。
[0320]
在本发明的另一个实施例中,播放页面显示有与音频数据相关的目标元素,则步骤604包括如下步骤:
[0321]
步骤6044、按照播放参数对目标元素进行变化,以实现播放与目标乐器演奏的节奏卡点适配的动画;
[0322]
和/或,
[0323]
步骤6045、在目标元素之外播放与目标乐器演奏的节奏卡点适配的动画。
[0324]
在一些实施例中,动画配置有起始播放时间、持续播放时间、播放强度;步骤604包括:
[0325]
s5、查询音频数据当前播放的时间点;
[0326]
s6、检测时间点与起始播放时间之间的关系;
[0327]
s7、若关系为时间点到达起始播放时间,则按照播放强度播放动画,直至满足持续播放时间。
[0328]
在一些实施例中,s6包括:
[0329]
s61、在索引中查找时间点归属的时间范围,作为目标时间范围;
[0330]
s62、读取目标时间范围对应的数据结构,作为目标数据结构;
[0331]
s63、在目标数据结构中检测时间点与起始播放时间之间的关系。
[0332]
在一些实施例中,s5包括:
[0333]
s51、按照预设的频率查询音频数据当前播放的时间点;
[0334]
s6包括:
[0335]
s64、计算时间点与起始播放时间之间的差值;
[0336]
s65、若差值小于或等于预设的时间阈值,则确定时间点与起始播放时间之间的关系为时间点到达起始播放时间,时间阈值为由频率转换的时间的一半。
[0337]
需要说明的是,由于实施例三与实施例一、实施例二的应用基本相似,所以描述的比较简单,相关之处参见实施例一、实施例二的部分说明即可,本发明实施例在此不加以详述。
[0338]
在本实施例中,显示音频播放器的用户界面,播放音频数据,音频数据中具有目标乐器演奏的节奏卡点,在用户界面上切换至音频数据的播放页面,当音频数据播放至节奏卡点时,在播放页面上播放与节奏卡点适配的动画。一方面,动画与目标乐器适配,可以方便分辨目标乐器,动画与节奏卡点适配,可以方便节奏卡点,目标乐器演奏的节奏卡点通常具有独立性,因此,参照目标乐器、节奏卡点设置的动画通常具有独立性,大大丰富了动画的样式,无需为每一个音频数据设置独立的动画,大大降低了开发工作的工程量,适于大规模使用,另一方面,目标乐器演奏的节奏卡点与动画相适配,可以让用户在视觉和听觉保持统一,动画可辅助音频数据的播放,而并非对音频数据的播放造成干扰。
[0339]
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0340]
实施例四
[0341]
图7为本发明实施例四提供的一种卡点识别模型的训练方法的流程图,本实施例可适用于制作音频数据作为样本训练用于识别音频数据中节奏卡点的属性信息的卡点识别模型的情况,该方法可以由卡点识别模型的训练装置来执行,该卡点识别模型的训练装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、工作站、个人电脑,等等,具体包括如下步骤:
[0342]
步骤701、将目标乐器演奏的多个第一音频数据合成第二音频数据。
[0343]
在本实施例中,可以预先根据业务的需求将一种或多种类型的乐器设置为目标乐器,即,待识别节奏卡点的乐器,例如,擦、鼓,等等。
[0344]
针对这些目标乐器,可以预先采集其演奏时记录的音频数据,记为第一音频数据,为了丰富样本的形式,可以在多个维度(如音阶、音量、时长等)下、目标乐器演奏时记录的音频数据。
[0345]
进一步而言,第一音频数据可以是第三方公开的数据库中的音频数据,也可以是独立采集的音频数据,还可以是使用软件生成的音频数据,本实施例对此不加以限制。
[0346]
一般情况下,第一音频数据的内容除目标乐器之外,并不包含其他乐器、用户的语音,以及,文件格式为midi,方便后续生成第二音频数据。
[0347]
在本实施例中,第一音频数据一般为短时的音频数据,将多个第一音频数据按照既定的生成方式成长时的第二音频数据,以模拟用户平时使用的音频数据。
[0348]
在一种生成第二音频数据的方式中,可以获取目标乐器演奏的、表示音符(用来记录不同长短音的符号)的第一音频数据,即第一音频数据为歌曲的最小单元,可按照既定的生成方式将第一音频数据合成为表示歌曲的第二音频数据。
[0349]
其中,第二音频数据表示歌曲,可以是指第二音频数据在时间长度、音量等方面模拟歌曲,其可以通过随机穿插等方式生成,并不一定具有符合人体听觉感受的音乐节奏。
[0350]
通过实验表明,遵循人体听觉感受,将第二音频数据高度仿真歌曲(即第二音频数据)所训练的卡点识别模型的性能(如召回率、精确度等)与通过随机穿插生成的歌曲(即第二音频数据)所训练的卡点识别模型的性能(如召回率、精确度等)基本一致,为了节省资源的耗费,可以通过随机穿插生成歌曲(即第二音频数据)。
[0351]
进一步地,不同类型的目标乐器在发出声音时的特征(如音色、频率等)均有所不同,因此,在不同的播放器的播放环境中,用户对不同类型的目标乐器的敏感程度有所不同,可以预先设置播放器与目标乐器的类型之间的映射关系,以表示播放器与该类型下的目标乐器适配。
[0352]
其中,该播放器可以指物理级别的硬件,例如,通过无线(如蓝牙)或有线连接的耳机、内置的扬声器、通过无线(如蓝牙)或有线连接的外置的音箱,等等。
[0353]
例如,底鼓(目标乐器的类型)的音调较低,军鼓(目标乐器的类型)的音调较高,在使用耳机播放音频数据时,用户对底鼓更加敏感,在使用扬声器、音箱等外放播放音频数据时,用户对军鼓更加敏感,因此,可以预先建立耳机与底鼓之间的映射关系,以及,扬声器、音箱与底鼓之间的映射关系。
[0354]
那么,在生成第二音频数据时,可以区分播放器选用相应的目标乐器,具体而言,可以根据业务需求,确定多种物理级别的播放器,在预设的映射关系中,确定与该播放器适配的类型,针对每种播放器,获取类型与该播放器适配的目标乐器演奏的、表示音符的第一音频数据,从而将该第一音频数据合成为表示歌曲的第二音频数据,可以提高听觉与视觉之间的统一度。
[0355]
考虑到真实的歌曲中通常由一种或多种乐器演奏以及,具有用户唱歌,因此,在合成第二音频数据时,可以获取除目标乐器之外的其他乐器演奏的第三音频数据,和/或,表示用户唱歌的语音数据,其中,第三音频数据、语音数据可以是音符级的音频数据,也可以与音符无关。
[0356]
随机选取第三音频数据和/或语音数据,将第三音频数据和/或语音数据作为独立的音轨,将第一音频数据作为独立的音轨,将第三音频数据和/或语音数据、第一音频数据
进行合成,从而将第三音频数据和/或语音数据混入第一音频数据中,以合成表示歌曲的第二音频数据。
[0357]
进一步地,为了保证合成的第二音频数据有效性,第三音频数据的时长与第一音频数据的时长相等,第三音频数据的音量与第一音频数据的音量之间的差异小于预设的第一阈值,即第三音频数据的音量与第一音频数据的音量基本相等,以符合真实的歌曲的特性。
[0358]
语音数据的时长与第一音频数据的时长相等,语音数据的音量与第一音频数据的音量之间的差异小于预设的第二阈值,即语音数据的音量与第一音频数据的音量基本相等,以符合真实的歌曲的特性。
[0359]
当然,上述生成第二音频数据的方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它生成第二音频数据的方式,例如,不参入其他音频数据,单纯使用第一音频数据合成第二音频数据,以模拟纯音乐,或者,除了第三音频数据、语音数据之外,混入噪声(如车声、欢呼声等)到第一音频数据中生成第二音频数据,以模拟现场版(如道路、演唱会等)的歌曲,等等,本发明实施例对此不加以限制。另外,除了上述生成第二音频数据的方式外,本领域技术人员还可以根据实际需要采用其它生成第二音频数据的方式,本发明实施例对此也不加以限制。
[0360]
步骤702、以多个第一音频数据作为第二音频数据的节奏卡点,记录第一音频数据的属性信息。
[0361]
在本实施例中,将多个第一音频数据分别定义为第二音频数据的节奏卡点,即,根据音乐旋律,这些乐器在演奏时会或多或少在节奏上出现显著性的点,记为节奏卡点,又称卡点、节奏点等。
[0362]
在独立的文档中记录每个第一音频数据的属性信息,作为每个节奏卡点的属性信息,属性信息的种类可以根据业务(如播放动画)的需求而进行配置,本实施例对此不加以限制。
[0363]
在一种情况中,属性信息包括节奏卡点位于第二音频数据中的演奏时间、目标乐器的类型。
[0364]
其中,演奏时间通常为节奏卡点在第二音频数据中开始播放的时间。
[0365]
在另一种情况中,属性信息包括节奏卡点位于第二音频数据中的演奏时间、目标乐器的类型、第一音频数据的演奏强度。
[0366]
步骤703、从第二音频数据中提取特征,作为音频特征信息。
[0367]
在本实施例中,可以在频域、时域、倒谱域等维度下从第二音频数据中提取一种或多种特征,记为音频特征信息。
[0368]
在一个示例中,可以使用ft(fourier transformation,傅里叶变换)、fft(fast fourier transform,快速傅里叶变换)等方式将第二音频数据转换为频谱数据,其中,第二音频数据中具有多帧音频信号。
[0369]
通过梅尔刻度(mel
‑
scale)等方式将频谱数据划分为多个频段(又称频率带),其中,梅尔刻度定义如下:
[0370]
[0371]
其中,f是频率,m是梅尔刻度(f为0时,m也为0,f为1000时,m为也1000,m与f的对数成比例)。
[0372]
梅尔刻度可以使用滤波器库进行表示,即,在梅尔刻度的轴上取出等间隔的频段,将这频段里面的频率加起来。
[0373]
将每帧音频信号在多个频段对应的频谱数据作为向量,设置为作为音频特征信息,例如,将频谱数据划分为128个频段,则每帧音频信号具有128维向量。
[0374]
步骤704、以音频特征信息作为样本、属性信息作为标签,训练卡点识别模型,以使卡点识别模型用于识别音频数据中节奏卡点的属性信息。
[0375]
在本实施例中,可以预先设置卡点识别模型,卡点识别模型可以是机器学习模型,例如,svm(support vector machine,支持向量机)、随机森林、lr(logistic regression,逻辑回归),等等,也可以是深度学习模型,例如,cnn、rnn,等等,对于深度学习模型,卡点识别模型的结构不局限于人工设计的神经网络,也可以通过模型量化方法优化的神经网络,通过nas(神经网络结构搜索)方法针对音乐的特性搜索的神经网络,等等,本实施例对此不加以限制。
[0376]
对于卡点识别模型,可以使用有监督学习(又称教师学习)进行训练,得到最优的参数,从而实现识别音频数据中节奏卡点的属性信息的功能,即,将输入的音频数据映射为节奏卡点的属性信息,从而输出节奏卡点的属性信息。
[0377]
具体而言,可以使用部分(如占比为十分之七或99%,随机挑选)音频特征信息作为训练的样本(即训练集),在属性信息(标签tag)的监督下,训练卡点识别模型的参数,可使用部分(如占比为十分之三或1%,随机挑选)音频特征信息作为测试的样本(即测试集/验证集),在属性信息(标签tag)的参照下,测试卡点识别模型是否满足准确率(accuracy)、召回率等要求,如果满足要求,则可以认为卡点识别模型完成训练,记录其参数。
[0378]
进一步而言,卡点识别模型可以是重新训练,也可以是在预训练的模型的基础上进行微调fine
‑
tuning,还可以是对卡点识别模型持续学习,等等,本实施例对此不加以限制。
[0379]
在本发明的一个实施例中,步骤704可以包括如下步骤:
[0380]
步骤7041、将属性信息标注为音频特征信息的标签。
[0381]
针对同一第二音频数据中卡点节奏的属性信息,可以将这些属性信息标注为第二音频数据的音频特征信息的标签tag,作为第二音频数据真实的卡点节奏的属性信息。
[0382]
步骤7042、将音频特征信息输入至卡点识别模型中,以预测节奏卡点的属性信息。
[0383]
将音频特征信息输入至卡点识别模型中,卡点识别模型按照自身的逻辑进行处理,输出节奏卡点的属性信息,作为对第二音频数据预测的节奏卡点的属性信息。
[0384]
在本发明的一个实施例中,如图8所示,在前向传播的方向,卡点识别模型依次分布如下结构:
[0385]
一、多个卷积层(convolutional layer)810
[0386]
在本结构中,将音频特征信息依次输入多个卷积层中提取局部上的特征,作为音频局部特征信息。
[0387]
卷积层对音频特征信息进行局部感知,多个卷积层依次对音频特征信息进行局部感知可以提取较高层次的特征,而较高层次的特征更关注语义信息,利于识别节奏卡点的
属性信息。
[0388]
在具体实现中,提取音频局部特征信息的过程可以如下表示:
[0389]
s1、确定当前卷积层对应的候选特征信息。
[0390]
按照前向传播的方向依次遍历每个卷积层,针对当前的卷积层,可确定输入该卷积层的特征,记为候选特征信息。
[0391]
其中,首个卷积层对应的候选特征信息为音频特征信息,首个卷积层对应的候选特征信息为上一层卷积层输出的特征。
[0392]
s2、将候选特征信息输入当前卷积层中进行卷积处理,以输出特征。
[0393]
将候选特征信息输入当前卷积层中,在当前卷积层中使用卷积核(参数)对候选特征信息进行卷积处理,输出新的特征。
[0394]
进一步地,当前层卷积层输出的特征的维度低于上一层卷积层输出的特征的维度,逐步提取更高层次的特征,保持特征的准确性,并且,特征的维度不断降低,可以压缩数据和参数的数量,减小过拟合,提高卡点识别模型的容错性。
[0395]
s3、判断是否遍历所有卷积层;若否,则执行s4,若是,则执行s5。
[0396]
s4、进入下一层卷积层,返回执行s1。
[0397]
s5、将特征输出为音频局部特征信息。
[0398]
在当前卷积层输出特征时,可以判断是否遍历所有卷积层,如果已遍历完所有卷积层,则将当前卷积层输出的特征记为音频局部特征信息,如果未遍历完所有卷积层,则按照前向传播的方向进入下一个卷积层,继续遍历。
[0399]
当然,上述多个卷积层的处理方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它多个卷积层的其处理方式,例如,针对当前卷积层,使用上一层某个卷积层输出的特征与排序在先超过2层的卷积层输出的特征作为候选特征信息,实现上采样,丰富特征的维度,从而提高当前卷积层输出特征的准确性,等等,本发明实施例对此不加以限制。另外,除了上述多个卷积层的处理方式外,本领域技术人员还可以根据实际需要采用其它多个卷积层的其处理方式,本发明实施例对此也不加以限制。
[0400]
二、第一全连接层(fully connected layers,fc)820
[0401]
当多个卷积层输出音频局部特征信息时,可以将音频局部特征信息输入第一全连接层中映射至音频全局特征信息,即,将音频局部特征信息映射为预设维度的特征,记为音频全局特征信息,便于后续的计算。
[0402]
三、双向长短期记忆网络(bi
‑
directional long short
‑
term memory,bilstm)830
[0403]
当第一全连接层输出音频全局特征信息时,可以将音频全局特征信息输入双向长短期记忆网络中提取时间上的特征,作为音频时间特征信息。
[0404]
双向长短期记忆网络由前向的lstm和后向的lstm组合而成,其中,lstm(long short
‑
term memory,长短期记忆网络)是具有长期记忆能力的一种时间递归的循环神经网络(recurrent neural network)。lstm的网络结构含有一个或多个具有可遗忘和记忆功能的单元组成,可用于解决传统rnn随时间反向传播中参数消失的问题(vanishing gradient problem over backpropagation through time),组成部分包括forget gate(遗忘门)、input gate(输入门)和output gate(输出门),分别负责决定当前输入的特征是否被采纳,
是否被长期记忆以及决定在记忆中的输入是否在当前被输出。
[0405]
四、第二全连接层840
[0406]
当双向长短期记忆网络音频时间特征信息时,可以将音频时间特征信息输入第二全连接层中映射为卡点节奏的属性信息。
[0407]
当然,上述卡点识别模型的结构及其处理方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它卡点识别模型的结构及其处理方式,例如,将bilstm替换为多层lstm,等等,本发明实施例对此不加以限制。另外,除了上述卡点识别模型的结构及其处理方式外,本领域技术人员还可以根据实际需要采用其它卡点识别模型的结构及其处理方式,本发明实施例对此也不加以限制。
[0408]
步骤7043、计算标注的属性信息与预测的属性信息之间的损失值。
[0409]
将标注为标签的属性信息(真实值)与卡点识别模型预测的属性信息(预测值)代入预设的损失函数(loss function,又称代价函数cost function),例如,0
‑
1损失函数(zero
‑
one loss)、绝对值损失函数、log对数损失函数、平方损失函数、指数损失函数(exponential loss)、hinge损失函数、感知损失函数(perceptron loss)、交叉熵损失函数(cross
‑
entropy loss function)、自定义的损失函数,等等,从而计算损失值,用于评价真实值与预测值之间不一样的程度。
[0410]
步骤7044、判断损失值是否收敛;若是,则执行步骤7045,若否,则步骤7046。
[0411]
步骤7045、确定卡点识别模型训练完成。
[0412]
步骤7046、更新卡点识别模型,返回执行步骤7042。
[0413]
在本实施例中,可以预先设置表示损失值收敛(最小)的条件,例如,迭代的次数大于或等于预设的第一阈值,损失值小于或等于预设的第二阈值。
[0414]
卡点识别模型可以看作是一种函数映射,而卡点识别模型的训练过程是一个函数优化求解的过程。优化求解的目标就是不断更新该卡点识别模型所包含的参数,将已标注的样本作为输入的数据,经过卡点识别模型的计算,输出的预测值和真实值之间的损失值最小。
[0415]
在每次迭代训练卡点识别模型时,可以检测是否满足表示损失值收敛的条件。
[0416]
如果满足表示损失值收敛的条件,则确定卡点识别模型训练完成,存储卡点识别模型的结构及参数。
[0417]
如果未满足表示损失值收敛的条件,则通过以随机梯度下降(stochastic gradient descent,sgd)算法为代表的手动设定学习率的优化方式,或者,以自适应矩估计(adaptive moment estimation,adam)为代表的自适应设定学习率的优化方式等优化方式更新卡点识别模型的参数,进入下一次迭代训练。
[0418]
卡点识别模型训练的过程就是参数更新的过程:计算目标函数在当前参数的梯度方向,然后根据损失值和学习速率,计算参数的更新幅度,在梯度相反方向更新参数。
[0419]
假设卡点识别模型的参数表示为w,目标函数为f,则目标函数在第t个时刻时的参数梯度g
t
可以表示为:
[0420][0421]
其中,指卡点识别模型中的某一层(参数为w)在优化第t
‑
1个时刻时的梯度,也可以通指整个卡点识别模型在第t
‑
1个时刻时所有层的梯度。
[0422]
因此,学习率为a时,第t个时刻参数的更新幅度可以表示为:
[0423]
δw
t
=
‑
a
t
·
g
t
[0424]
第t+1个时刻时的更新可以表示为:
[0425]
w
t+1
=w
t
+δw
t
[0426]
目前,训练模型需要海量的样本,尤其是神经网络所需的样本量十分巨大,对样本进行标记是一项十分繁重,对音频数据标记节奏卡点的属性信息同样是一项十分繁重的工作,技术人员播放音频数据,手动寻找节奏卡点并标记其属性信息,耗时十分之大,并且,人为感知节奏卡点容易出错,导致标记的节奏卡点的准确性较差,影响模型的性能。
[0427]
在本实施例中,将目标乐器演奏的第一音频数据合成第二音频数据,以第一音频数据作为第二音频数据的节奏卡点,记录第一音频数据的属性信息,从第二音频数据中提取特征,作为音频特征信息,以音频特征信息作为样本、属性信息作为标签,训练卡点识别模型,以使卡点识别模型用于识别音频数据中节奏卡点的属性信息。以目标乐器演奏的第一音频数据作为基础自动生成第二音频数据,从而在第一音频数据作为第二音频数的节奏卡点时准确地标记节奏卡点的属性信息,可以满足快速标记海量样本的需求,大大简化了标记的工作,降低了标记的成本,并且,节奏卡点可识别出目标乐器,便于后续业务中动画与目标乐器适配,可以方便分辨目标乐器,动画与节奏卡点适配,可以方便节奏卡点,目标乐器演奏的节奏卡点通常具有独立性,因此,参照目标乐器、节奏卡点设置的动画通常具有独立性,大大丰富了动画的样式,无需为每一个音频数据设置独立的动画,大大降低了开发工作的工程量,适于大规模使用,另此外,也方便后续目标乐器演奏的节奏卡点与动画相适配,可以让用户在视觉和听觉保持统一,动画可辅助音频数据的播放,而并非对音频数据的播放造成干扰。
[0428]
实施例五
[0429]
图9为本发明实施例五提供的一种节奏卡点的识别方法的流程图,本实施例可适用于使用卡点识别模型识别音频数据的卡点节奏的属性信息的情况,该方法可以由节奏卡点的识别装置来执行,该节奏卡点的识别装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、工作站、个人电脑、移动终端(如手机、平板电脑等)、智能穿戴设备(如智能眼镜、智能手表等),等等,具体包括如下步骤:
[0430]
步骤901、获取待识别节奏卡点的音频数据。
[0431]
在本实施例中,可以通过不同的方式获取未标记节奏卡点的音频数据,例如,用户上传音频数据、向版权方购买音频数据、技术人员录制音频数据、从网络中爬取音频数据,等等。
[0432]
其中,该音频数据的形式可以为歌手发布的歌曲,从短视频、电影、电视剧等视频数据中分离的音频数据,用户在移动终端录制的语音信号,等等,该音频数据的格式可以包括mp3(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、wma(windows media audio,微软音频格式)、aac(advanced audio coding,高级音频编码),等等,本实施例对此不加以限制。
[0433]
针对多媒体平台的情况,一方面,可为用户提供基于音频的服务,例如,向用户提供歌曲、直播节目、短视频、mv(music video,音乐短片),等等,另一方面,可接收用户上传的携带音频的文件,例如,歌曲、mv、直播数据、短视频,等等。
[0434]
多媒体平台具有配套的、用于播放音频数据的程序,如独立的app(application,应用程序)、页面的应用等,可以安装在用户端的设备上,为配合该程序播放音频数据的业务,可以对部分(如热门的音频数据)或全部音频数据识别卡点节奏。
[0435]
步骤902、加载卡点识别模型。
[0436]
在本实施例中,可以预先通过训练卡点识别模型,该卡点识别模型用于识别音频数据的卡点节奏的属性信息,由于训练的过程与实施例四的应用基本相似,所以描述的比较简单,相关之处参见实施例四的部分说明即可,本实施例在此不加以详述。
[0437]
将卡点识别模型导入至内存进行运行,并将训练的参数加载到卡点识别模型中,实现识别音频数据的卡点节奏的属性信息的功能。
[0438]
步骤903、从音频数据中提取特征,作为音频特征信息。
[0439]
在本实施例中,可以在频域、时域、倒谱域等维度下从音频数据中提取一种或多种特征,记为音频特征信息。
[0440]
在一个示例中,可以使用ft、fft等方式将音频数据转换为频谱数据,其中,音频数据中具有多帧音频信号。
[0441]
通过梅尔刻度(mel
‑
scale)等方式将频谱数据划分为多个频段(又称频率带),其中,梅尔刻度定义如下:
[0442][0443]
其中,f是频率,m是梅尔刻度(f为0时,m也为0,f为1000时,m为也1000,m与f的对数成比例)。
[0444]
梅尔刻度可以使用滤波器库进行表示,即,在梅尔刻度的轴上取出等间隔的频段,将这频段里面的频率加起来。
[0445]
将每帧音频信号在多个频段对应的频谱数据作为向量,设置为作为音频特征信息,例如,将频谱数据划分为128个频段,则每帧音频信号具有128维向量。
[0446]
步骤904、将音频特征信息输入卡点识别模型中进行处理,以输出音频数据中目标乐器演奏时的属性信息。
[0447]
将音频数据的音频特征信息输入卡点识别模型中,卡点识别模型按照自身的逻辑对音频特征信息进行处理,输出该音频数据中目标乐器演奏时的属性信息。
[0448]
在本发明的一个实施例中,在前向传播的方向,卡点识别模型依次分布如下结构:
[0449]
一、多个卷积层
[0450]
在本层结构中,将音频特征信息依次输入多个卷积层中提取局部上的特征,作为音频局部特征信息,并将音频局部特征信息输出第一全连接层。
[0451]
示例性地,确定当前卷积层对应的候选特征信息,首个卷积层对应的候选特征信息为音频特征信息,非首个卷积层对应的候选特征信息为上一层卷积层输出的特征;
[0452]
将候选特征信息输入当前卷积层中进行卷积处理,以输出特征,当前层卷积层输出的特征的维度低于上一层卷积层输出的特征的维度;
[0453]
判断是否遍历所有卷积层;
[0454]
若否,则进入下一层卷积层,返回执行确定当前卷积层对应的候选特征信息;
[0455]
若是,则将特征输出为音频局部特征信息。
[0456]
二、第一全连接层
[0457]
在本层结构中,将音频局部特征信息输入第一全连接层中映射至为音频全局特征信息,并将音频全局特征信息输出双向长短期记忆网络。
[0458]
三、双向长短期记忆网络
[0459]
在本层结构中,将音频全局特征信息输入双向长短期记忆网络中提取时间上的特征,作为音频时间特征信息,并将音频时间特征信息输出第二全连接层。
[0460]
四、第二全连接层
[0461]
在本层结构中,将音频时间特征信息输入第二全连接层中映射为卡点节奏的属性信息。
[0462]
由于卡点识别模型的处理过程与实施例四的应用基本相似,所以描述的比较简单,相关之处参见实施例四的部分说明即可,本实施例在此不加以详述。
[0463]
如果训练时作为标签的属性信息包括作为节奏卡点的第一音频数据位于第二音频数据中的演奏时间、目标乐器的类型、作为节奏卡点的第一音频数据的演奏强度,那么卡点识别模块输出的属性信息包括节奏卡点位于当前音频数据中的演奏时间、目标乐器的类型、节奏卡点的演奏强度。
[0464]
如果训练时作为标签的属性信息包括作为节奏卡点的第一音频数据位于第二音频数据中的演奏时间、目标乐器的类型,那么卡点识别模块输出的属性信息包括节奏卡点位于当前音频数据中的演奏时间、目标乐器的类型。
[0465]
若程序播放音频数据的业务需求节奏卡点的演奏强度,那么,在步骤904之后,可以独立对该音频数据中的节奏卡点计算演奏强度,具体操作如下:
[0466]
步骤905,在音频数据中计算位于演奏时间的音频信号的能量值。
[0467]
在本实施中,在音频数据中定位位于演奏时间的音频信号,用于表示卡点节奏,由于节奏卡点的演奏强度与能量值相关,因此,可以统计节奏卡点的能量值,从而计算其演奏强度。
[0468]
一般情况下,目标乐器的演奏都是瞬时完成的,此时,可以直接统计表示卡点节奏的该帧音频信号的能量值。
[0469]
为了提高能量值的精确度,一方面,可以在第二音频数据中提取位于演奏时间的音频信号,即定位表示节奏卡点的音频信号,另一方面,可以在第二音频数据中与位于演奏时间的音频信号相邻的多帧音频信号,即定位节奏卡点邻域的音频信号。
[0470]
对表示节奏卡点的音频信号、节奏卡点邻域的音频信号中的每帧音频信号计算能量值,从而对能量值计算平均值,作为位于演奏时间的音频信号的能量值。
[0471]
步骤906,针对类型相同的音频信号,将能量值转换为演奏强度。
[0472]
在同一个音频数据中,针对同一类型的目标乐器的节奏卡点(以音频信号表示),可以相互对比能量值,从而将能量值映射为合适的演奏强度。
[0473]
一般情况下,能量值与演奏强度正相关,即,能量值越高、演奏强度越强,反之,能量值越低、演奏强度越弱。
[0474]
在具体实现中,可以确定与业务适配的值域,如[0,1]。
[0475]
针对类型相同的音频信号,使用min
‑
max(最小
‑
最大)归一化、平均归一化、非线性归一化等方式将能量值归一化至该值域,作为演奏强度,从而将有量纲的能量值转换为无
量纲的演奏强度,成为标量。
[0476]
当然,除了归一化之后,还可以使用其他方式将能量值转换为演奏强度,例如,将能量值代入自定义的映射函数中,映射为演奏强度,等等,本实施例对此不加以限制。
[0477]
步骤907,将演奏强度添加至属性信息中。
[0478]
对于节奏卡点的演奏强度,可以添加至该节奏卡点的属性信息中,建立节奏卡点与演奏强度之间的映射关系,此时,节奏卡点的属性信息包括节奏卡点位于当前音频数据中的演奏时间、目标乐器的类型、节奏卡点的演奏强度。
[0479]
实施例六
[0480]
图10为本发明实施例六提供的一种音频的动画播放装置的结构框图,具体可以包括如下模块:
[0481]
属性信息查找模块1001,用于查找音频数据中目标乐器演奏时的节奏卡点,所述节奏卡点具有基于卡点识别模型对所述音频数据的音频特征信息识别得到的属性信息;
[0482]
动画配置模块1002,用于为所述节奏卡点配置与所述目标乐器适配的动画;
[0483]
播放参数配置模块1003,用于为所述动画配置与所述属性信息适配的播放参数;
[0484]
动画播放模块1004,用于当播放所述音频数据时,根据所述播放参数播放所述动画,以使所述动画同步所述节奏卡点。
[0485]
在本发明的一个实施例中,还包括:
[0486]
卡点识别模型获取模块,用于获得卡点识别模型,所述卡点识别模型的训练步骤包括:
[0487]
将目标乐器演奏的多个第一音频数据合成第二音频数据;
[0488]
以多个所述第一音频数据作为所述第二音频数据的节奏卡点,记录所述第一音频数据的属性信息;
[0489]
从所述第二音频数据中提取特征,作为音频特征信息;
[0490]
以所述音频特征信息作为样本、所述属性信息作为标签,训练卡点识别模型,以使所述卡点识别模型用于识别音频数据中节奏卡点的属性信息。
[0491]
在本发明的一个实施例中,所述属性信息查找模块1001包括:
[0492]
播放列表查找模块,用于查找播放列表,所述播放列表中具有音频数据;
[0493]
待播放查询模块,用于在所述播放列表中查询待播放的所述音频数据;
[0494]
服务器请求模块,用于向服务器请求预先对待播放的所述音频数据检测的、目标乐器演奏时的节奏卡点。
[0495]
在本发明的一个实施例中,所述动画配置模块1002包括:
[0496]
类型读取模块,用于从所述属性信息中读取所述目标乐器的类型;
[0497]
动画查询模块,用于查询预先对所述类型设置的动画。
[0498]
在本发明的一个实施例中,所述动画查询模块包括:
[0499]
播放器查询模块,用于查询用于播放所述音频数据的播放器;
[0500]
目标类型确定模块,用于确定与所述播放器适配的所述类型,作为目标类型;
[0501]
目标类型查询模块,用于查询预先对所述目标类型设置的动画。
[0502]
在本发明的一个实施例中,所述属性信息包括演奏时间、类型、演奏强度,所述播放参数包括起始播放时间、持续播放时间、播放强度;
[0503]
所述播放参数配置模块1003包括:
[0504]
起始播放时间赋值模块,用于将所述演奏时间赋值为所述动画的起始播放时间;
[0505]
演奏间隔时间计算模块,用于计算同一所述类型下的演奏间隔时间,所述演奏间隔时间为相邻两个所述演奏时间之间的差值;
[0506]
持续播放时间配置模块,用于对所述动画配置持续播放时间,所述持续播放时间小于或等于所述演奏间隔时间;
[0507]
播放强度配置模块,用于对所述动画配置播放强度,所述播放强度与所述演奏强度正相关。
[0508]
在本发明的一个实施例中,所述持续播放时间配置模块包括:
[0509]
目标值比较模块,用于将所述间隔时间与预设的目标值进行比较;
[0510]
目标值赋值模块,用于若所述间隔时间大于或等于所述目标值,则将所述目标值赋值为所述动画的持续播放时间;
[0511]
间隔时间赋值模块,用于若所述间隔时间小于所述目标值,则将所述间隔时间赋值为所述动画的持续播放时间。
[0512]
在本发明的一个实施例中,所述播放强度配置模块包括:
[0513]
标准化操作模块,用于若所述演奏强度的分布符合预设的目标模式,则将所述演奏强度乘以预设的标准化系数,作为所述动画的播放强度,所述目标模式为分布在目标数值范围中的子数值范围的占比超过的阈值,所述标准化系数为所述目标数值范围的上限值与所述子数值范围的上限值之间的比值;
[0514]
上限值设置模块,用于若所述动画的播放强度大于所述目标数值范围的上限值,则将所述动画的播放强度设置为所述目标数值范围的上限值。
[0515]
在本发明的一个实施例中,所述播放参数包括起始播放时间、持续播放时间、播放强度;
[0516]
所述动画播放模块包括:
[0517]
时间点查询模块,用于查询所述音频数据当前播放的时间点;
[0518]
关系检测模块,用于检测所述时间点与所述起始播放时间之间的关系;
[0519]
参数播放模块,用于若所述关系为所述时间点到达所述起始播放时间,则按照所述播放强度播放所述动画,直至满足所述持续播放时间。
[0520]
在本发明的一个实施例中,还包括:
[0521]
时间范围确定模块,用于确定时间范围;
[0522]
数据结构封装模块,用于将所述起始播放时间归属同一个所述时间范围的播放参数写入同一个数据结构中,所述数据结构以所述时间范围作为索引;
[0523]
所述关系检测模块包括:
[0524]
目标时间范围查找模块,用于在所述索引中查找所述时间点归属的所述时间范围,作为目标时间范围;
[0525]
目标数据结构读取模块,用于读取所述目标时间范围对应的数据结构,作为目标数据结构;
[0526]
目标数据结构检测模块,用于在所述目标数据结构中检测所述时间点与所述起始播放时间之间的关系。
[0527]
在本发明的一个实施例中,所述时间点查询模块包括:
[0528]
频率查询模块,用于按照预设的频率查询所述音频数据当前播放的时间点;
[0529]
所述关系检测模块包括:
[0530]
差值计算模块,用于计算所述时间点与所述起始播放时间之间的差值;
[0531]
到达确定模块,用于若所述差值小于或等于预设的时间阈值,则确定所述时间点与所述起始播放时间之间的关系为所述时间点到达所述起始播放时间,所述时间阈值为由所述频率转换的时间的一半。
[0532]
在本发明的一个实施例中,所述播放参数配置模块1003还包括:
[0533]
因素检测模块,用于对所述音频数据检测与所述播放强度相关的因素;
[0534]
第一调整系数生成模块,用于当所述因素包括所述节奏卡点在所述音频数据中的密度时,基于所述密度生成第一调整系数,所述第一调整系数与所述密度负相关;
[0535]
第一更新模块,用于将所述播放强度乘以所述第一调整系数,作为新的播放强度;
[0536]
第二调整系数生成模块,用于当所述因素包括播放所述音频数据时设置的音量时,基于所述音量生成第二调整系数,所述第二调整系数与所述音量正相关;
[0537]
第二更新模块,用于将所述播放强度乘以所述第二调整系数,作为新的播放强度;
[0538]
第三调整系数确定模块,用于当所述因素包括播放所述音频数据时设置的音效时,确定为所述音效配置的第三调整系数;
[0539]
播放规则确定模块,用于确定为所述动画配置的、表示合理性的播放规则;
[0540]
第三更新模块,用于在所述播放规则的约束下,将所述播放强度乘以所述第三调整系数,作为新的播放强度。
[0541]
在本发明的一个实施例中,所述因素检测模块包括:
[0542]
持续播放时间设置模块,用于将所述持续播放时间设置为所述节奏卡点的密度;
[0543]
所述第一调整系数生成模块包括:
[0544]
比值计算模块,用于若所述密度小于预设的目标值,则计算所述密度与所述目标值之间的比值,作为第一调整系数。
[0545]
在本发明的一个实施例中,所述动画播放模块1004包括:
[0546]
目标元素查找模块,用于查找与所述音频数据相关的目标元素;
[0547]
目标元素变化模块,用于按照所述播放参数对所述目标元素进行变化,以实现所述动画;
[0548]
和/或,
[0549]
目标元素查找模块,用于查找与所述音频数据相关的目标元素;
[0550]
外部播放模块,用于在所述目标元素之外按照所述播放参数播放所述动画。
[0551]
本发明实施例所提供的音频的动画播放装置可执行本发明任意实施例所提供的音频的动画播放方法,具备执行方法相应的功能模块和有益效果。
[0552]
实施例七
[0553]
图11为本发明实施例七提供的一种计算机设备的结构框图,具体可以包括如下模块:
[0554]
屏幕1101,用于显示音频播放器的用户界面;
[0555]
播放器1102,用于播放音频数据,所述音频数据中具有目标乐器演奏的节奏卡点;
[0556]
所述屏幕1101,还用于在所述用户界面上切换至所述音频数据的播放页面;
[0557]
所述屏幕1101,还用于当所述音频数据播放至所述节奏卡点时,在所述播放页面上播放与所述节奏卡点适配的动画。
[0558]
在本发明的一个实施例中,用户界面中包括播放列表,所述计算机设备还包括:
[0559]
处理器,用于对所述播放列表中待播放的所述音频数据预加载与目标乐器演奏的节奏卡点适配的动画。
[0560]
在本发明的一个实施例中,所述所述屏幕1101还用于:
[0561]
确定与所述目标乐器的类型适配的动画;
[0562]
确定与所述节奏卡点适配的播放强度、持续播放时间;
[0563]
按照所述播放强度播放所述动画,直至满足所述持续播放时间。
[0564]
在本发明的一个实施例中,所述所述屏幕1101还用于:
[0565]
确定与所述播放器适配的所述类型,作为目标类型;
[0566]
确定预先对所述目标类型设置的动画。
[0567]
在本发明的一个实施例中,所述节奏卡点包括演奏强度;
[0568]
所述持续播放时间小于或等于演奏间隔时间,所述演奏间隔时间为相邻两个所述节奏卡点之间的时间差值;
[0569]
所述播放强度与所述演奏强度正相关。
[0570]
在本发明的一个实施例中,若所述间隔时间大于或等于预设的目标值,则所述持续播放时间与所述目标值相等;
[0571]
若所述间隔时间小于预设的目标值,则所述持续播放时间与所述间隔时间相等。
[0572]
在本发明的一个实施例中,在播放所述音频数据时具有与所述播放强度相关的因素,所述因素用于对所述播放强度进行调整。
[0573]
在本发明的一个实施例中,所述因素包括如下的至少一种:
[0574]
所述节奏卡点在所述音频数据中的密度、播放所述音频数据时设置的音量、播放所述音频数据时设置的音效;
[0575]
所述密度与所述播放强度负相关,所述音量与所述播放强度正相关。
[0576]
在本发明的一个实施例中,所述播放页面显示有与所述音频数据相关的目标元素;
[0577]
所述屏幕还用于:
[0578]
对所述目标元素进行变化,以实现播放与所述目标乐器演奏的节奏卡点适配的动画;
[0579]
和/或,
[0580]
在所述目标元素之外播放与所述目标乐器演奏的节奏卡点适配的动画。
[0581]
在本发明的一个实施例中,所述处理还用于:
[0582]
查找音频数据中目标乐器演奏时的节奏卡点,所述节奏卡点具有属性信息;
[0583]
为所述节奏卡点配置与所述目标乐器适配的动画;
[0584]
为所述动画配置与所述属性信息适配的播放参数。
[0585]
本发明实施例所提供的计算机设备可执行本发明任意实施例所提供的音频的动画播放方法,具备执行方法相应的功能模块和有益效果。
[0586]
实施例八
[0587]
图12为本发明实施例八提供的一种卡点识别模型的训练装置的结构框图,具体可以包括如下模块:
[0588]
音频数据合成模块1201,用于将目标乐器演奏的多个第一音频数据合成第二音频数据;
[0589]
属性信息记录模块1202,用于以多个所述第一音频数据作为所述第二音频数据的节奏卡点,记录所述第一音频数据的属性信息;
[0590]
音频特征信息提取模块1203,用于从所述第二音频数据中提取特征,作为音频特征信息;
[0591]
卡点识别模型训练模块1204,用于以所述音频特征信息作为样本、所述属性信息作为标签,训练卡点识别模型,以使所述卡点识别模型用于识别音频数据中节奏卡点的属性信息。
[0592]
在本发明的一个实施例中,所述音频数据合成模块1201包括:
[0593]
音符获取模块,用于获取目标乐器演奏的、表示音符的第一音频数据;
[0594]
歌曲合成模块,用于将所述第一音频数据合成为表示歌曲的第二音频数据。
[0595]
在本发明的一个实施例中,所述音符获取模块包括:
[0596]
播放器确定模块,用于确定多种播放器;
[0597]
音频数据筛选模块,用于针对每种所述播放器,获取类型与所述播放器适配的目标乐器演奏的、表示音符的第一音频数据。
[0598]
在本发明的一个实施例中,所述歌曲合成模块包括:
[0599]
其他数据获取模块,用于获取除所述目标乐器之外的其他乐器演奏的第三音频数据,和/或,表示用户唱歌的语音数据;
[0600]
其他数据混入模块,用于将所述第三音频数据和/或所述语音数据混入所述第一音频数据中,以合成表示歌曲的第二音频数据。
[0601]
在具体实现中,所述第三音频数据的时长与所述第一音频数据的时长相等,所述第三音频数据的音量与所述第一音频数据的音量之间的差异小于预设的第一阈值;
[0602]
所述语音数据的时长与所述第一音频数据的时长相等,所述语音数据的音量与所述第一音频数据的音量之间的差异小于预设的第二阈值。
[0603]
在实际应用中,所述属性信息包括所述节奏卡点位于所述第二音频数据中的演奏时间、所述目标乐器的类型;
[0604]
或者,
[0605]
所述属性信息包括所述节奏卡点位于所述第二音频数据中的演奏时间、所述目标乐器的类型、所述第一音频数据的演奏强度。
[0606]
在本发明的一个实施例中,所述音频特征信息提取模块1203包括:
[0607]
频谱转换模块,用于将所述第二音频数据转换为频谱数据,所述第二音频数据中具有多帧音频信号;
[0608]
频段划分模块,用于将所述频谱数据划分为多个频段;
[0609]
音频特征信息设置模块,用于将每帧所述音频信号在多个所述频段对应的所述频谱数据设置为作为音频特征信息。
[0610]
在本发明的一个实施例中,所述卡点识别模型训练模块1204包括:
[0611]
标签标注模块,用于将所述属性信息标注为所述音频特征信息的标签;
[0612]
属性信息预测模块,用于将所述音频特征信息输入至卡点识别模型中,以预测节奏卡点的属性信息;
[0613]
损失值计算模块,用于计算标注的所述属性信息与预测的所述属性信息之间的损失值;
[0614]
收敛判断模块,用于判断所述损失值是否收敛;若是,则调用训练完成确定模块,若否,则调用卡点识别模型更新模块;
[0615]
训练完成确定模块,用于确定所述卡点识别模型训练完成;
[0616]
卡点识别模型更新模块,用于更新所述卡点识别模型,返回调用所述属性信息预测模块。
[0617]
在本发明的一个实施例中,所述卡点识别模型依次分布多个卷积层、第一全连接层、双向长短期记忆网络、第二全连接层;
[0618]
所述属性信息预测模块包括:
[0619]
音频局部特征信息提取模块,用于将所述音频特征信息依次输入多个所述卷积层中提取局部上的特征,作为音频局部特征信息;
[0620]
音频全局特征信息映射模块,用于将所述音频局部特征信息输入所述第一全连接层中映射至为音频全局特征信息;
[0621]
音频时间特征信息提取模块,用于将所述音频全局特征信息输入所述双向长短期记忆网络中提取时间上的特征,作为音频时间特征信息;
[0622]
属性信息映射模块,用于将所述音频时间特征信息输入所述第二全连接层中映射为卡点节奏的属性信息。
[0623]
在本发明的一个实施例中,所述音频局部特征信息提取模块包括:
[0624]
候选特征信息确定模块,用于确定当前所述卷积层对应的候选特征信息,首个所述卷积层对应的候选特征信息为所述音频特征信息,非首个所述卷积层对应的候选特征信息为上一层所述卷积层输出的特征;
[0625]
卷积处理模块,用于将所述候选特征信息输入当前所述卷积层中进行卷积处理,以输出特征,当前层所述卷积层输出的所述特征的维度低于上一层所述卷积层输出的所述特征的维度;
[0626]
遍历判断模块,用于判断是否遍历所有所述卷积层;若否,则调用遍历继续模块,若是,则调用音频局部特征信息输出模块;
[0627]
遍历继续模块,用于进入下一层所述卷积层,返回调用所述候选特征信息确定模块;
[0628]
音频局部特征信息输出模块,用于将所述特征输出为音频局部特征信息。
[0629]
本发明实施例所提供的卡点识别模型的训练装置可执行本发明任意实施例所提供的卡点识别模型的训练方法,具备执行方法相应的功能模块和有益效果。
[0630]
实施例九
[0631]
图13为本发明实施例九提供的一种节奏卡点的识别装置的结构框图,具体可以包括如下模块:
[0632]
音频数据获取模块1301,用于获取待识别节奏卡点的音频数据;
[0633]
卡点识别模型加载模块1302,用于加载实施例八所述的装置训练的卡点识别模型;
[0634]
音频特征信息提取模块1303,用于从所述第二音频数据中提取特征,作为音频特征信息;
[0635]
属性信息识别模块1304,用于将所述音频特征信息输入所述卡点识别模型中进行处理,以输出所述音频数据中目标乐器演奏时的属性信息。
[0636]
在实际应用中,所述属性信息包括所述节奏卡点位于所述音频数据中的演奏时间、所述目标乐器的类型、所述节奏卡点的演奏强度;
[0637]
或者,
[0638]
所述属性信息包括所述节奏卡点位于所述音频数据中的演奏时间、所述目标乐器的类型;
[0639]
所述装置还包括:
[0640]
能量值计算模块,用于在所述音频数据中计算位于所述演奏时间的音频信号的能量值;
[0641]
演奏强度转换模块,用于针对所述类型相同的所述音频信号,将所述能量值转换为演奏强度;
[0642]
演奏强度添加模块,用于将所述演奏强度添加至所述属性信息中。
[0643]
在本发明的一个实施例中,所述能量值计算模块包括:
[0644]
节奏卡点定位模块,用于在所述音频数据中提取位于所述演奏时间的音频信号;
[0645]
邻域定位模块,用于在所述音频数据中与位于所述演奏时间的音频信号相邻的多帧音频信号;
[0646]
帧能量计算模块,用于对每帧所述音频信号计算能量值;
[0647]
平均能量计算模块,用于对所述能量值计算平均值,作为位于所述演奏时间的音频信号的能量值。
[0648]
在本发明的一个实施例中,所演奏强度转换模块包括:
[0649]
值域确定模块,用于确定值域;
[0650]
能量值归一化模块,用于针对所述类型相同的所述音频信号,将所述能量值归一化至所述值域,作为演奏强度。
[0651]
在本发明的一个实施例中,所述卡点识别模型依次分布多个卷积层、第一全连接层、双向长短期记忆网络、第二全连接层;
[0652]
所述属性信息识别模块1304包括:
[0653]
音频局部特征信息提取模块,用于将所述音频特征信息依次输入多个所述卷积层中提取局部上的特征,作为音频局部特征信息;
[0654]
音频全局特征信息映射模块,用于将所述音频局部特征信息输入所述第一全连接层中映射至为音频全局特征信息;
[0655]
音频时间特征信息提取模块,用于将所述音频全局特征信息输入所述双向长短期记忆网络中提取时间上的特征,作为音频时间特征信息;
[0656]
属性信息映射模块,用于将所述音频时间特征信息输入所述第二全连接层中映射
为卡点节奏的属性信息。
[0657]
在本发明的一个实施例中,所述音频局部特征信息提取模块包括:
[0658]
候选特征信息确定模块,用于确定当前所述卷积层对应的候选特征信息,首个所述卷积层对应的候选特征信息为所述音频特征信息,非首个所述卷积层对应的候选特征信息为上一层所述卷积层输出的特征;
[0659]
卷积处理模块,用于将所述候选特征信息输入当前所述卷积层中进行卷积处理,以输出特征,当前层所述卷积层输出的所述特征的维度低于上一层所述卷积层输出的所述特征的维度;
[0660]
遍历判断模块,用于判断是否遍历所有所述卷积层;若否,则调用遍历继续模块,若是,则调用音频局部特征信息输出模块;
[0661]
遍历继续模块,用于进入下一层所述卷积层,返回调用所述候选特征信息确定模块;
[0662]
音频局部特征信息输出模块,用于将所述特征输出为音频局部特征信息。
[0663]
本发明实施例所提供的节奏卡点的识别装置可执行本发明任意实施例所提供的节奏卡点的识别方法,具备执行方法相应的功能模块和有益效果。
[0664]
实施例十
[0665]
图14为本发明实施例十提供的一种计算机设备的结构示意图。图14示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图14显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0666]
如图14所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0667]
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
[0668]
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0669]
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图14未显示,通常称为“硬盘驱动器”)。尽管图14中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd
‑
rom,dvd
‑
rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0670]
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及
程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0671]
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0672]
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的音频的动画播放方法或者卡点识别模型的训练方法或者节奏卡点的识别方法。
[0673]
实施例十一
[0674]
本发明实施例十一还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述音频的动画播放方法或者卡点识别模型的训练方法或者节奏卡点的识别方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0675]
其中,计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd
‑
rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0676]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。