生成乐谱的方法和装置与流程

文档序号:12475758阅读:358来源:国知局
生成乐谱的方法和装置与流程

本发明涉及终端技术领域,特别涉及一种生成乐谱的方法和装置。



背景技术:

随着终端技术的发展,终端所能够支持的功能越来越强大,例如,终端能够支持音乐软件;终端不仅可以通过音乐软件播放歌曲,还可以通过音乐软件生成歌曲的乐谱;在播放歌曲的同时,在当前播放界面上显示歌曲的乐谱。

目前,通常由专业人员反复收听目标歌曲,通过目标歌曲的旋律,识别出目标歌曲的每个音符,从而得到目标歌曲的乐谱。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

专业人员需要反复收听目标歌曲,才能识别出音符,导致上述生成乐谱的效率低;并且,由于受专业人员识谱经验和技术知识等因素的影响,上述方法生成乐谱的准确性差。



技术实现要素:

为了解决现有技术的问题,本发明提供了一种生成乐谱的方法和装置。技术方案如下:

第一方面,本发明实施例提供了一种生成乐谱的方法,所述方法包括:

获取目标多媒体文件的音频信号;

根据每个音符时刻的音频信号的频率,确定所述每个音符时刻的音频信号的音高;

将所述每个音符时刻的音频信号的音高组成音高序列,根据所述音高序列和音符时刻之间的预设间隔,确定所述目标多媒体文件的音符序列;

将所述音符序列划分为多个音符子序列,获取每个音符子序列的节拍;

将所述每个音符子序列和所述每个音符子序列的节拍组成所述目标多媒体文件的乐谱。

可选的,所述根据所述音高序列和音符时刻之间的预设间隔,确定所述目标多媒体文件的音符序列,包括:

将所述音高序列中连续且相同的多个音高合并为一个音高,得到所述目标多媒体文件的音符序列包括的每个音符;

获取所述音符序列中的每个音符在所述音高序列中连续出现的出现次数;

根据所述音符序列中的每个音符的出现次数和所述预设间隔,确定所述音符序列中的每个音符所持续的音长;

将所述音符序列中的每个音符和音长组成所述音符序列。

可选的,所述将所述音符序列划分为多个音符子序列,包括:

根据所述音符序列中的每个音符的音长,在所述音符序列中确定划分节拍的位置;

根据所述划分节拍的位置,将所述音符序列划分为多个音符子序列。

可选的,所述根据所述音符序列中的每个音符的音长,在所述音符序列中确定划分节拍的位置,包括:

根据所述音符序列中的每个音符的音长,统计预设音符的每个音长和每个音长的出现次数;

根据所述每个音长和所述每个音长的出现次数,从所述每个音长中选择满足预设条件的音长;

在所述音符序列中确定音长与选择的音长之间的音长差在预设范围内的预设音符;

将选择的预设音符在所述音符序列中的位置确定为划分节拍的位置。

可选的,所述获取每个音符子序列的节拍,包括:

对于所述每个音符子序列,根据所述音符子序列中的每个音符的音长,从音长范围和子节拍的对应关系中,获取所述音符子序列中的每个音符的子节拍;

将所述音符子序列中的每个音符的子节拍的节拍和作为所述音符子序列的节拍。

可选的,所述将所述每个音符子序列和所述音符子序列的节拍组成所述目标多媒体文件的乐谱之后,所述方法还包括:

获取所述目标多媒体文件对应的字幕文件,所述字幕文件包括所述每个音符时刻和与所述每个音符时刻关联的文字信息;

根据所述每个音符时刻,将所述文字信息插入所述乐谱中。

可选的,所述根据每个音符时刻的音频信号的频率,确定所述每个音符时刻的音频信号的音高,包括:

获取所述每个音符时刻的音频信号的频率;

根据所述每个音符时刻的音频信号的频率,从频率范围和音高的对应关系中,获取所述每个音符时刻的音频信号的音高。

可选的,所述获取所述每个音符时刻的音频信号的频率,包括:

对所述每个音符时刻的音频信号进行模数转换,得到所述每个音符时刻的音频数据;

从所述每个音符时刻的音频数据中获取所述每个音符时刻的音频信号的频率。

第二方面,本发明实施例提供了一种生成乐谱的装置,所述装置包括:

第一获取模块,用于获取目标多媒体文件的音频信号;

第一确定模块,用于根据每个音符时刻的音频信号的频率,确定所述每个音符时刻的音频信号的音高;

第二确定模块,用于将所述每个音符时刻的音频信号的音高组成音高序列,根据所述音高序列和音符时刻之间的预设间隔,确定所述目标多媒体文件的音符序列;

划分模块,用于将所述音符序列划分为多个音符子序列;

第二获取模块,用于获取每个音符子序列的节拍;

组成模块,用于将所述每个音符子序列和所述每个音符子序列的节拍组成所述目标多媒体文件的乐谱。

可选的,所述第二确定模块,包括:

合并单元,用于将所述音高序列中连续且相同的多个音高合并为一个音高,得到所述目标多媒体文件的音符序列包括的每个音符;

第一获取单元,用于获取所述音符序列中的每个音符在所述音高序列中连续出现的出现次数;

第一确定单元,用于根据所述音符序列中的每个音符的出现次数和所述预设间隔,确定所述音符序列中的每个音符所持续的音长;

组成单元,用于将所述音符序列中的每个音符和音长组成所述音符序列。

可选的,所述划分模块,包括:

第二确定单元,用于根据所述音符序列中的每个音符的音长,在所述音符序列中确定划分节拍的位置;

划分单元,用于根据所述划分节拍的位置,将所述音符序列划分为多个音符子序列。

可选的,所述划分单元,还用于根据所述音符序列中的每个音符的音长,统计预设音符的每个音长和每个音长的出现次数;根据所述每个音长和所述每个音长的出现次数,从所述每个音长中选择满足预设条件的音长;在所述音符序列中确定音长与选择的音长之间的音长差在预设范围内的预设音符;将选择的预设音符在所述音符序列中的位置确定为划分节拍的位置。

可选的,所述第二获取模块,还用于对于所述每个音符子序列,根据所述音符子序列中的每个音符的音长,从音长范围和子节拍的对应关系中,获取所述音符子序列中的每个音符的子节拍;

所述第二获取模块,还用于将所述音符子序列中的每个音符的子节拍的节拍和作为所述音符子序列的节拍。

可选的,所述装置还包括:

第三获取模块,用于获取所述目标多媒体文件对应的字幕文件,所述字幕文件包括所述每个音符时刻和与所述每个音符时刻关联的文字信息;

插入模块,用于根据所述每个音符时刻,将所述文字信息插入所述乐谱中。

可选的,所述第一确定模块,包括:

第二获取单元,用于获取所述每个音符时刻的音频信号的频率;

第三获取单元,用于根据所述每个音符时刻的音频信号的频率,从频率范围和音高的对应关系中,获取所述每个音符时刻的音频信号的音高。

可选的,所述第二获取单元,还用于对所述每个音符时刻的音频信号进行模数转换,得到所述每个音符时刻的音频数据;从所述每个音符时刻的音频数据中获取所述每个音符时刻的音频信号的频率。

本发明实施例中,终端可以根据每个音符时刻的音频信号,确定每个音符时刻的音频信号的音高,并将每个音符时刻的音频信号的音高组成音高序列,根据该音高序列和音符时刻之间的预设间隔,确定该目标多媒体文件的音符序列,提高了终端获取音符序列的准确性,同时,终端将该音符序列划分为多个音符子序列,并获取每个音符子序列的节拍,将该每个音符子序列和该音符子序列的节拍组成目标多媒体文件的乐谱。终端通过直接根据该音频信号确定出每个音符子序列的节拍,并将每个音符子序列和每个音符子序列的节拍生成乐谱,提高了终端生成乐谱的效率的同时,也提高了终端生成乐谱的准确性。

附图说明

图1是本发明实施例提供的一种生成乐谱的方法流程图;

图2是本发明实施例提供的一种生成乐谱的方法流程图;

图3是本发明实施例提供的一种生成乐谱的装置结构示意图;

图4是本发明实施例提供的一种生成乐谱的装置结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明实施例提供了一种生成乐谱的方法,该方法的执行主体可以为终端,参见图1,该方法包括:

步骤101:获取目标多媒体文件的音频信号。

步骤102:根据每个音符时刻的音频信号的频率,确定该每个音符时刻的音频信号的音高。

步骤103:将该每个音符时刻的音频信号的音高组成音高序列,根据该音高序列和音符时刻之间的预设间隔,确定该目标多媒体文件的音符序列。

步骤104:将该音符序列划分为多个音符子序列,获取每个音符子序列的节拍。

步骤105:将该每个音符子序列和该每个音符子序列的节拍组成该目标多媒体文件的乐谱。

可选的,根据该音高序列和音符时刻之间的预设间隔,确定该目标多媒体文件的音符序列,包括:

将该音高序列中连续且相同的多个音高合并为一个音高,得到该目标多媒体文件的音符序列包括的每个音符;

获取该音符序列中的每个音符在该音高序列中连续出现的出现次数;

根据该音符序列中的每个音符的出现次数和该预设间隔,确定该音符序列中的每个音符所持续的音长;

将该音符序列中的每个音符和音长组成该音符序列。

可选的,将该音符序列划分为多个音符子序列,包括:

根据该音符序列中的每个音符的音长,在该音符序列中确定划分节拍的位置;

根据该划分节拍的位置,将该音符序列划分为多个音符子序列。

可选的,根据该音符序列中的每个音符的音长,在该音符序列中确定划分节拍的位置,包括:

根据该音符序列中的每个音符的音长,统计预设音符的每个音长和每个音长的出现次数;

根据该每个音长和该每个音长的出现次数,从该每个音长中选择满足预设条件的音长;

在该音符序列中确定音长与选择的音长之间的音长差在预设范围内的预设音符;

将选择的预设音符在该音符序列中的位置确定为划分节拍的位置。

可选的,获取每个音符子序列的节拍,包括:

对于该每个音符子序列,根据该音符子序列中的每个音符的音长,从音长范围和子节拍的对应关系中,获取该音符子序列中的每个音符的子节拍;

将该音符子序列中的每个音符的子节拍的节拍和作为该音符子序列的节拍。

可选的,将该每个音符子序列和该音符子序列的节拍组成该目标多媒体文件的乐谱之后,该方法还包括:

获取该目标多媒体文件对应的字幕文件,该字幕文件包括该每个音符时刻和与该每个音符时刻关联的文字信息;

根据该每个音符时刻,将该文字信息插入该乐谱中。

可选的,根据每个音符时刻的音频信号的频率,确定该每个音符时刻的音频信号的音高,包括:

获取该每个音符时刻的音频信号的频率;

根据该每个音符时刻的音频信号的频率,从频率范围和音高的对应关系中,获取该每个音符时刻的音频信号的音高。

可选的,获取该每个音符时刻的音频信号的频率,包括:

对该每个音符时刻的音频信号进行模数转换,得到该每个音符时刻的音频数据;

从该每个音符时刻的音频数据中获取该每个音符时刻的音频信号的频率。

本发明实施例中,终端可以根据每个音符时刻的音频信号,确定每个音符时刻的音频信号的音高,并将每个音符时刻的音频信号的音高组成音高序列,根据该音高序列和音符时刻之间的预设间隔,确定该目标多媒体文件的音符序列,提高了终端获取音符序列的准确性,同时,终端将该音符序列划分为多个音符子序列,并获取每个音符子序列的节拍,将该每个音符子序列和该音符子序列的节拍组成目标多媒体文件的乐谱。终端通过直接根据该音频信号确定出每个音符子序列的节拍,并将每个音符子序列和每个音符子序列的节拍生成乐谱,提高了终端生成乐谱的效率的同时,也提高了终端生成乐谱的准确性。

本发明实施例提供了一种生成乐谱的方法,该方法的执行主体可以为终端,参见图2,该方法包括:

步骤201:终端获取目标多媒体文件的音频信号。

当终端生成乐谱时,用户选择一个待生成乐谱的多媒体文件,终端将用户选择的多媒体文件确定为目标多媒体文件,该目标多媒体文件可以为终端中存储的多媒体文件,也可以为服务器中存储的多媒体文件。

如果该目标多媒体文件为终端中存储的多媒体文件,则本步骤可以为:终端从该目标媒体文件中获取该目标多媒体文件的音频信号。

如果该目标多媒体文件为服务器中存储的多媒体文件,则本步骤可以为:

终端向服务器发送获取请求,该获取请求携带该目标多媒体文件的文件标识;服务器接收终端发送的获取请求,根据该目标媒体文件的文件标识,从文件标识和音频信号的对应关系中,获取该目标媒体文件的文件标识对应的音频信号,即该目标多媒体文件的音频信号,向终端发送该目标多媒体文件的音频信号;终端接收服务器发送的该目标多媒体文件的音频信号。

目标多媒体文件可以为音频文件或者视频文件。目标多媒体文件的文件标识可以为目标多媒体文件的名称或者编号等。

步骤202:终端根据每个音符时刻的音频信号的频率,确定每个音符时刻的音频信号的音高。

本步骤中,终端存储了频率范围和音高的对应关系,终端获取每个音符时刻对应的音频信号的频率后,可以从频率范围和音高的对应关系中,获取该频率对应的音高,因此,本步骤可以通过以下步骤2021-2022实现。

步骤2021:终端获取每个音符时刻的音频信号的频率。

本发明实施例中,终端每隔预设间隔从该目标多媒体文件的音频信号中获取一个音符时刻对应的音频信号,该音频信号为该音符时刻对应的模拟信号,终端需要先将该音频信号转换为音频数据,根据该音频数据,计算出每个音符时刻的音频信号的频率。因此,本步骤为:终端对每个音符时刻的音频信号进行模数转换,得到每个音符时刻的音频数据;终端从每个音符时刻的音频数据中获取该每个音符时刻的音频信号的频率。

本步骤中,终端对每个音符时刻的音频信号进行模数转换,将该音符时刻的音频信号转换为音频数据,该音频数据为该音符时刻的对应的一段数字信号,该数字信号中存储了该音符时刻对应的音频信号的频率,终端通过对该音符时刻对应的一段数字信号进行计算,从而确定出该音符时刻对应的音频信号的频率。

其中,终端可以将每个音符时刻对应的音频信号的频率存储在该音符时刻对应的音频数据的预设字段中,因此,终端从每个音符时刻的音频数据中获取该每个音符时刻的音频信号的频率的步骤可以为:终端获取每个音符时刻对应的音频数据的预设字段,根据该预设字段中存储的音频数据,计算得到该音符时刻的音频信号的频率。

其中,该预设字段可以根据用户需要设置并更改,本发明实施例对此不作具体限定,例如,如果该音符时刻对应的一段数字信号为“01111000101001011000-00111000011100110010”,该预设字段可以为该音频数据的第21至第40字段,因此,该预设字段中存储的音频数据的可以为“00111000011100110010”。

其中,预设间隔可以根据用户需要设置并更改,本发明实施例对此不作具体限定。例如,该预设间隔可以为1秒、10毫秒等。

步骤2022:终端根据每个音符时刻的音频信号的频率,从频率范围和音高的对应关系中,获取每个音符时刻的音频信号的音高。

本步骤中,终端根据每个音符时刻的音频信号的频率,确定该频率所在的频率范围,由于终端存储了标准乐谱中频率范围和音高的对应关系,因此,终端可以根据该频率所在的频率范围,从频率范围和音高的对应关系中,获取该频率对应的音高,即该频率对应的音符时刻的音频信号的音高。

其中,标准乐谱的音高可以为由不同音阶的七个基本音符表示的,每个音高对应不同的频率范围,该频率范围可以根据用户需要设置并更改,本发明实施例对此不作具体限定。例如,该频率范围435赫兹至445赫兹的频率范围对应的音高为1。

需要说明的是,为了更精确的获取该目标多媒体文件在每个音符时刻的音频信号的频率,终端可以重复执行步骤202,并且每次执行202时,对应的预设间隔不同。例如,终端第一次执行步骤202时,以每隔1秒的预设间隔从该目标多媒体文件的音频信号中获取一个音符时刻对应的音频信号,终端下次可以每隔0.1秒的预设间隔从该目标多媒体文件的音频信号中获取一个音符时刻对应的音频信号。这样,终端可以通过减小预设间隔,进而提高了获取该多媒体音频文件中音频信号对应的音高的精确性。

步骤203:终端将该每个音符时刻的音频信号的音高组成音高序列,根据该音高序列和音符时刻之间的预设间隔,确定该目标多媒体文件的音符序列。

本步骤中,终端可以将该目标多媒体文件的多个音符时刻的音频信号的音高组成一个音高序列,然后,终端根据该目标多媒体文件中相邻音符时刻之间的预设间隔,确定音高序列中每个音高对应的音符持续的时间,进而确定出该目标多媒体文件对应的音符序列,因此,本步骤可以通过以下步骤2031-2032实现。

步骤2031:终端将该音高序列中连续且相同的多个音高合并为一个音高,得到该目标多媒体文件的音符序列包括的每个音符。

本步骤中,终端检测在该音高序列中连续出现且相同的多个音高,当终端检测到该音高序列中连续出现且相同的多个音高时,将该多个音高合并为一个音高,由于音高可以为由不同音阶的七个基本音符表示,因此,终端根据该合并后的音高序列,得到该目标多媒体文件的音符序列,该音符序列包括多个音符。

例如,该音高序列中包括的其中一段音高序列可以为“111022200666”,将该音高序列中连续出现的1、2、6合并之后,该音高序列对应的音符序列可以为“10206”。

步骤2032:终端获取该音符序列中的每个音符在该音高序列中连续出现的出现次数,终端根据该音符序列中的每个音符的出现次数和该预设间隔,确定该音符序列中的每个音符所持续的音长。

本步骤中,该每个音符在该音高序列中连续出现的出现次数,即该音高序列中该音符对应的音高连续出现的出现次数,该预设间隔为该目标多媒体文件中相邻两个音符时刻之间的时间间隔。对于每个音符,终端根据该音符的出现次数以及预设间隔,将该音符的出现次数与该预设间隔的乘积,作为该音符所持续的时长,即该音符所持续的音长。

例如,该音高序列中包括的其中一段音高序列可以为“1110222006666”,该音高序列对应的音符序列可以为“10206”,如果预设间隔为0.3秒,则“10206”中,音符1、2持续的音长为0.9秒,音符6持续的音长为1.2秒。

步骤2033:终端将该音符序列中的每个音符和音长组成该音符序列。

本步骤中,音长即为该音符序列中每个音符持续的时长,终端根据该音符序列中的每个音符的位置,将每个音符和该音符对应的音长组成该目标多媒体文件对应的音符序列。

其中,该音符序列中每个音符所持续的时长可以用音符的类型表示。例如,如果预设四分音符的音长为2秒,而音符序列中“2”的音长为2秒,则可以将“2”表示为一个音长为2秒的四分音符:2;如果预设八分音符的音长为1秒,而音符序列中“3”的音长为1秒,则可以将“3”表示为一个音长为1秒的八分音符:3。

同理,为了更精确的获取该目标多媒体文件音符序列,终端可以重复执行步骤202与203,并且每次执行202时,对应的预设间隔不同。

步骤204:终端将该音符序列划分为多个音符子序列,获取每个音符子序列的节拍。

本步骤中,终端先将音符序列划分为多个音符子序列,根据每个音符子序列中每个音符的音长以及相邻两个音符的停顿时长,确定每个音符子序列的节拍。因此,本步骤可以通过以下步骤2041-2043实现。

步骤2041:终端根据该音符序列中的每个音符的音长,在该音符序列中确定划分节拍的位置,终端根据该划分节拍的位置,将该音符序列划分为多个音符子序列。

本发明实施例中,终端将音符序列中预设音符的音长确定为相邻两个音符之间停顿的时长,根据该停顿在该音符序列中的位置,确定划分节拍的位置,因此,本步骤可以通过以下步骤2041a-2041c实现。

步骤2041a终端根据该音符序列中的每个音符的音长,统计预设音符的每个音长和每个音长的出现次数。

本步骤中,该预设音符可以为音高为预设阈值的音符,该预设阈值可以根据用户需要设置并更改,本发明实施例对此不做具体限定。例如,该预设阈值可以为音高为0赫兹、0.1赫兹的音高。

步骤2041b:终端根据该每个音长和该每个音长的出现次数,从该每个音长中选择满足预设条件的音长。

本步骤中,终端将每个预设音符作为该音符序列在该预设音符处的一次停顿,则该预设音符在该音符序列中的位置即为停顿的位置,预设音符在该音符序列中的音长即为停顿的音长,终端确定出该音符序列中每个停顿的时长以及位置,根据该每个音长和该每个音长的出现次数,从多个音长中选择满足预设条件的音长。

其中,该预设条件可以根据用户需要设置并更改,本发明实施例对此不作具体限定,例如,该预设条件可以为出现次数最多;或者,出现次数超过第一预设次数,或者出现次数超过第二预设次数且音长大于预设音长。例如,预设条件可以为出现次数大于30次且音长大于1秒。

该预设音长、第一预设次数和第二预设次数可以根据用户需要设置并更改,本发明实施例对此不作具体限定。例如,该预设音长可以为1秒、0.5秒等,该第一预设次数可以为30次或者该音符序列中所有预设音符的总出现次数的80%等,该第二预设次数可以为50次或者该音符序列中所有预设音符的总出现次数的一半等。

步骤2041c:终端在该音符序列中确定音长与选择的音长之间的音长差在预设范围内的预设音符,终端将选择的预设音符在该音符序列中的位置确定为划分节拍的位置。

本发明实施例中,由于该目标多媒体文件的音频信号经过一系列的压缩转换等过程,经压缩后的音频信号不能准确的反应该目标多媒体文件的音符序列中每个音符的音长,因此,本步骤中,终端还需对预设音符的音长进行进一步的筛选,从而准确的确定出划分节拍的位置。

本步骤中,终端先对步骤2041b中终端选择的满足预设条件的多个音长取平均值,得到该多个选择的音长的平均音长,终端在该音符序列中确定音长与该平均音长之间的音长差在预设范围内的预设音符。

其中,该预设范围可以根据用户需要设置并更改,本发明实施例对此不做具体限定。例如,该预设范围可以为0.01秒、0.03秒等。

然后,终端获取该预设音符在该音符序列中的位置,将该位置确定为划分节拍的位置。

需要说明的是,划分节拍的位置即乐谱中节拍线的位置,对于一段音符序列,终端可以将选择的音高为零的预设音符作为节拍线的位置。这样,终端就把该音符序列划分为多个音符子序列。

本发明实施例中,如果该音符序列中有预设音符的音高并非划分节拍的位置,终端还需根据该预设音符的音长,确定该预设音符的类型,例如,如果该预设音符的音长为2秒,终端可以将该预设音符确定为一个四份休止符:0。

步骤2042:对于该每个音符子序列,终端根据该音符子序列中的每个音符的音长,从音长范围和子节拍的对应关系中,获取该音符子序列中的每个音符的子节拍,终端将该音符子序列中的每个音符的子节拍的节拍和作为该音符子序列的节拍。

本步骤中,对于每个音符子序列,终端获取每个音符子序列中每个音符的音长,从音长范围和子节拍的对应关系中,获取该音符子序列中的每个音符的子节拍,即该音符的类型,确定该音符子序列中每个音符的子节拍,然后,终端将每个音符子序列中每个音符的子节拍的和,作为该音符子序列的节拍。目标多媒体文件中,音符序列包括的多个音符子序列的节拍通常是相同的。

其中,该音符子序列的节拍可以用拍号分数表示,例如,可以用“3/4”表示该音符子序列的节拍。

例如,相邻的两个音符子序列“|2 3|5 6|”中,|2 3|为一个音符子序列,该小节有两拍,|5 6|为一个音符子序列,该小节有两拍,2、3、5、6的音符类型均为四分音符,|2 3|音符子序列中,音符2和音符3对应的子节拍均为1/4拍,因此,|2 3|音符子序列的节拍为2/4,即以四分音符为一拍,每小节有两拍。同理,|5 6|音符子序列的节拍也为2/4拍。

需要说明的是,本步骤中,由于终端还需获取每个预设音符的音长,即相邻两个预设音符以外的其他音符之间的停顿时长,同理,为了更精确的划分目标多媒体文件音符子序列,并获取每个音符子序列的节拍,终端可以重复执行步骤202-204,并且每次执行202时,对应的预设间隔不同。

步骤205:终端将该每个音符子序列和该每个音符子序列的节拍组成该目标多媒体文件的乐谱。

本步骤中,终端获取每个音符子序列和该每个音符子序列的节拍,将该音符子序列组成该目标多媒体文件的乐谱,并将该用于表示该音符序列包括的多个音符子序列均一致的节拍添加在该乐谱中。

终端生成目标多媒体文件的乐谱之后,终端还可以通过以下步骤206,为该乐谱添加字幕信息。

步骤206:终端获取该目标多媒体文件对应的字幕文件,该字幕文件包括该每个音符时刻和与该每个音符时刻关联的文字信息,根据该每个音符时刻,将该文字信息插入该乐谱中。

本发明实施例中,如果该目标多媒体文件中包括字幕文件,终端还可以将目标多媒体文件对应的字幕文件插入该乐谱中,由于该字幕文件包括该每个音符时刻和与该每个音符时刻关联的文字信息,因此,终端可以根据音符序列中每个音符对应的音符时刻,从字幕文件中获取该音符时刻对应的文字信息,进而将该文字信息插入该乐谱中该音符时刻对应的音符的位置。

本发明实施例中,终端可以根据每个音符时刻的音频信号,确定每个音符时刻的音频信号的音高,并将每个音符时刻的音频信号的音高组成音高序列,根据该音高序列和音符时刻之间的预设间隔,确定该目标多媒体文件的音符序列,提高了终端获取音符序列的准确性,同时,终端将该音符序列划分为多个音符子序列,并获取每个音符子序列的节拍,将该每个音符子序列和该音符子序列的节拍组成目标多媒体文件的乐谱。终端通过直接根据该音频信号确定出每个音符子序列的节拍,并将每个音符子序列和每个该音符子序列的节拍生成乐谱,提高了终端生成乐谱的效率的同时,也提高了终端生成乐谱的准确性。

本发明实施例提供了一种生成乐谱的装置,该装置可以应用在终端上,参见图3,该装置包括:

第一获取模块301,用于获取目标多媒体文件的音频信号;

第一确定模块302,用于根据每个音符时刻的音频信号的频率,确定该每个音符时刻的音频信号的音高;

第二确定模块303,用于将该每个音符时刻的音频信号的音高组成音高序列,根据该音高序列和音符时刻之间的预设间隔,确定该目标多媒体文件的音符序列;

划分模块304,用于将该音符序列划分为多个音符子序列;

第二获取模块305,用于获取每个音符子序列的节拍;

组成模块306,用于将该每个音符子序列和该每个音符子序列的节拍组成目标多媒体文件的乐谱。

可选的,该第二确定模块303,包括:

合并单元,用于将该音高序列中连续且相同的多个音高合并为一个音高,得到该目标多媒体文件的音符序列包括的每个音符;

第一获取单元,用于获取该音符序列中的每个音符在该音高序列中连续出现的出现次数;

第一确定单元,用于根据该音符序列中的每个音符的出现次数和该预设间隔,确定该音符序列中的每个音符所持续的音长;

组成单元,用于将该音符序列中的每个音符和音长组成该音符序列。

可选的,该划分模块304,包括:

第二确定单元,用于根据该音符序列中的每个音符的音长,在该音符序列中确定划分节拍的位置;

划分单元,用于根据该划分节拍的位置,将该音符序列划分为多个音符子序列。

可选的,该划分单元,用于根据该音符序列中的每个音符的音长,统计预设音符的每个音长和每个音长的出现次数;根据该每个音长和该每个音长的出现次数,从该每个音长中选择满足预设条件的音长;在该音符序列中确定音长与选择的音长之间的音长差在预设范围内的预设音符;将选择的预设音符在该音符序列中的位置确定为划分节拍的位置。

可选的,该第二获取模块305,还用于对于该每个音符子序列,根据该音符子序列中的每个音符的音长,从音长范围和子节拍的对应关系中,获取该音符子序列中的每个音符的子节拍;

该第二获取模块305,还用于将该音符子序列中的每个音符的子节拍的节拍和作为该音符子序列的节拍。

可选的,该装置还包括:

第三获取模块,用于获取该目标多媒体文件对应的字幕文件,该字幕文件包括该每个音符时刻和与该每个音符时刻关联的文字信息;

插入模块,用于根据该每个音符时刻,将该文字信息插入该乐谱中。

可选的,该第一确定模块302,包括:

第二获取单元,用于获取该每个音符时刻的音频信号的频率;

第三获取单元,用于根据该每个音符时刻的音频信号的频率,从频率范围和音高的对应关系中,获取该每个音符时刻的音频信号的音高。

可选的,该第二获取单还用于对该每个音符时刻的音频信号进行模数转换,得到该每个音符时刻的音频数据;从该每个音符时刻的音频数据中获取该每个音符时刻的音频信号的频率。

本发明实施例中,终端可以根据每个音符时刻的音频信号,确定每个音符时刻的音频信号的音高,并将每个音符时刻的音频信号的音高组成音高序列,根据该音高序列和音符时刻之间的预设间隔,确定该目标多媒体文件的音符序列,提高了终端获取音符序列的准确性,同时,终端将该音符序列划分为多个音符子序列,并获取每个音符子序列的节拍,将该每个音符子序列和该音符子序列的节拍组成目标多媒体文件的乐谱。终端通过直接根据该音频信号确定出每个音符子序列的节拍,并将每个音符子序列和每个音符子序列的节拍生成乐谱,提高了终端生成乐谱的效率的同时,也提高了终端生成乐谱的准确性。

需要说明的是:上述实施例提供的生成乐谱的装置在生成乐谱时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的生成乐谱的装置与生成乐谱的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图4是本发明实施例提供的一种终端的结构示意图。该终端可以用于实施上述实施例所示出的生成乐谱的方法中的终端所执行的功能。具体来讲:

终端400可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、传输模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图4中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他终端通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。

存储器120可用于存储软件程序以及模块,如上述示例性实施例所示出的终端所对应的软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理,如实现基于视频的交互等。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端400的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。

输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入终端132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的链接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入终端132。具体地,其他输入终端132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端400的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图4中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。

终端400还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端400移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端400还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路160、扬声器161,传声器162可提供用户与终端400之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端400的通信。

终端400通过传输模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线或有线的宽带互联网访问。虽然图4示出了传输模块170,但是可以理解的是,其并不属于终端400的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器180是终端400的控制中心,利用各种接口和线路链接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端400的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。

终端400还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,终端400还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行上述一个或者一个以上程序包含用于执行上述生成乐谱的方法。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1