掌桥专利:专业的专利平台
掌桥专利
首页

一种音乐生成方法及装置

文献发布时间:2024-04-18 20:01:55


一种音乐生成方法及装置

技术领域

本申请主要涉及汽车辅助创作领域,特别涉及一种音乐生成方法及装置。

背景技术

驾驶过程中,汽车的零部件会产生大量的数据,如方向盘的旋转、油门刹车的开度、车窗的升降等,这些零部件产生的数据用途过于单一,难以给用户带来丰富的行车体验。

发明内容

有鉴于此,本申请提供了一种音乐生成方法及装置,能够将汽车零部件产生的数据转化为音符并生成音乐,扩展汽车零部件的用途,优化行车体验。

一方面,本申请提供了一种音乐生成方法,所述方法包括:

当目标车辆处于目标状态时,按照预设的数据记录规则,记录所述目标车辆的目标零部件产生的多个目标数据,利用所述目标数据组成目标数据序列,所述目标数据序列中的目标数据是按照记录时间排列的;

根据预设的目标数据和音符的映射关系,确定所述目标数据序列对应的目标音符串;

根据所述目标音符串,生成目标音乐。

可选的,所述方法还包括:

基于预设的数据划分规则,将所述目标数据序列划分为多个子数据序列;

针对每个所述子数据序列,根据所述子数据序列中包括的各目标数据,确定所述子数据序列对应的第一参考目标数据;

所述根据预设的目标数据和音符的映射关系,确定所述目标数据序列对应的目标音符串,包括:

根据预设的目标数据和音符的映射关系,确定每个所述第一参考目标数据对应的目标音符;

根据每个所述第一参考目标数据对应的目标音符,确定所述目标数据序列对应的目标音符串。

可选的,所述方法还包括:

根据预设的目标数据和音量的映射关系,确定所述目标数据序列对应的目标音量序列;

所述根据所述目标音符串,生成目标音乐,包括:

根据所述目标音符串和所述目标音量序列,生成目标音乐。

可选的,所述方法还包括:

基于预设的数据划分规则,将所述目标数据序列划分为多个子数据序列;

针对每个所述子数据序列,根据所述子数据序列中包括的各目标数据,确定平均目标数据和最大目标数据;根据所述平均目标数据和所述最大目标数据,确定所述子数据序列对应的第二参考目标数据;

所述根据预设的目标数据和音量的映射关系,确定所述目标数据序列对应的目标音量序列,包括:

根据预设的目标数据和音量的映射关系,确定每个所述第二参考目标数据对应的目标音量;

根据每个所述第二参考目标数据对应的目标音量,确定所述目标数据序列对应的目标音量序列。

可选的,所述方法还包括:

识别所述目标音符串中的连续出现的N个相同音符,基于所述N个相同音符确定重复音符串,所述N>1;

所述根据所述目标音符串,生成目标音乐,包括:

根据所述目标音符串,删除所述重复音符串,得到处理后的目标音符串;

根据所述处理后的目标音符串,生成目标音乐。

可选的,所述方法还包括:

将所述目标音乐拆分成多首固定时长的汽车音乐;

从网络音乐库中选取多首参考音乐;

针对每首所述汽车音乐,计算其与每首所述参考音乐之间的相似度;确定和所述汽车音乐相似度最高的参考音乐,作为所述汽车音乐对应的目标参考音乐,并将所述汽车音乐和所述目标参考音乐之间的相似度作为所述目标参考音乐对应的目标相似度;

对所述目标参考音乐按照所述目标相似度从高到低进行排序,根据所述目标参考音乐和所述目标参考音乐的排序,建立参考歌单。

可选的,所述对每首所述参考音乐和每首所述汽车音乐进行对比,并计算相似度,包括:

将所述汽车音乐拆分成多个最小音符组,每个所述最小音符组包括M个音符,所述M为大于1的整数;

针对每首所述参考音乐,将所述参考音乐拆分为多个最小音符组;基于所述汽车音乐的最小音符组和所述参考音乐的最小音符组进行对比,将所述汽车音乐与所述参考音乐中相匹配的最小音符组作为相似音源,记录相似音源的个数;根据所述相似音源的个数和所述参考音乐包括的最小音符组的个数,计算所述汽车音乐和所述参考音乐的相似度。

可选的,所述目标零部件包括方向盘、油门、刹车、车窗和座椅中的至少一种,所述目标数据包括方向盘旋转角度、油门开度、刹车开度、车窗开合大小、座椅开合大小的至少一种。

可选的,所述方法还包括:

执行所述记录所述目标车辆的目标零部件产生的多个目标数据的同时,记录所述目标车辆的车内产生的音视频数据;

根据所述音视频数据和所述目标数据的对应关系,确定所述目标音乐和所述音视频数据的对应关系;

播放所述目标音乐,并同时播放所述目标音乐对应的所述音视频数据。

另一方面,本申请还提供了一种音乐生成装置,所述装置包括:

记录模块,用于当目标车辆处于目标状态时,按照预设的数据记录规则,记录所述目标车辆的目标零部件产生的多个目标数据,利用所述目标数据组成目标数据序列,所述目标数据序列中的目标数据是按照记录时间排列的;

音符串确定模块,用于根据预设的目标数据和音符的映射关系,确定所述目标数据序列对应的目标音符串;

音乐生成模块,用于根据所述目标音符串,生成目标音乐。

另一方面,本申请还提供了一种车辆,所述车辆包括如权利要求8所述的音乐生成装置。

由此可见,本申请实施例有如下有益效果:

本申请中,当目标车辆处于目标状态时,按照预设的数据记录规则,记录目标车辆的目标零部件产生的多个目标数据,利用目标数据组成目标数据序列,其中目标数据序列中的目标数据是按照记录时间排列的;根据预设的目标数据和音符的映射关系,确定目标数据序列对应的目标音符串;根据目标音符串,生成目标音乐。本申请能够将零部件产生的数据转化为音符,生成独特的旋律,扩展了零部件产生的数据的用途,给用户带来新颖的用户体验。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本申请实施例提供的一种音乐生成方法的流程图;

图2为本申请实施例提供的一种音乐生成装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了丰富车辆上零部件产生的数据的用途,本申请提供了一种音乐生成方法及装置,通过将汽车零部件产生的数据转化为音符并生成音乐,从而扩展了汽车零部件的用途,增加了用户使用汽车的趣味性。

为了便于理解,下面结合附图对本申请实施例提供的一种音乐生成方法及装置进行详细的说明。

参考图1所示,为本申请实施例提供的一种音乐生成方法的流程图,该方法可以包括以下步骤:

S101:当目标车辆处于目标状态时,按照预设的数据记录规则,记录所述目标车辆的目标零部件产生的多个目标数据,利用所述目标数据组成目标数据序列,所述目标数据序列中的目标数据是按照记录时间排列的;

在执行步骤S101之前,可以首先确定电源模式。当电源模式为OFF时,需要先开启电源;电源模式为ON时,可以获取目标车辆的不同状态下的功能设置,其中,功能包括音乐生成功能,音乐生成功能可用于确定是否执行本申请实施例提供的音乐生成方法。在本申请实施例中,当目标车辆处于目标状态时,执行本申请实施例提供的音乐生成方法;其中,目标状态下电源模式为ON,音乐生成功能处于开启模式。具体的,目标车辆部署有HUT(HeadUnit,主机)和CEM(Central Electronic Module,中央电控模块)。此时,可以根据HUT的软开关或语音开关,设置目标车辆的不同状态下是否开启音乐生成的功能;具体的,若当前状态下音乐生成功能为开启挡位,HUT将网络信号发送至CEM,CEM用于确定当前状态下音乐生成功能为开启模式。

本申请实施例中,预设的数据记录规则可以为在目标车辆处于目标状态时,持续记录,直到目标车辆不处于目标状态,停止记录;也可以为在目标车辆处于目标状态时周期性记录或定时记录;在此不对预设的数据记录规则作具体的限定。

本申请实施例中,目标车辆的目标零部件可以为方向盘、油门、刹车、车窗和座椅等;目标数据即为目标零部件产生的数据,例如,方向盘旋转角度、油门开度、刹车开度、车窗开合大小、座椅开合大小等。

一种可能的实现方式中,所述目标零部件包括方向盘、油门、刹车、车窗和座椅中的至少一种,所述目标数据包括方向盘旋转角度、油门开度、刹车开度、车窗开合大小、座椅开合大小的至少一种。

具体的,方向盘产生的数据可以由CSA(Combination Switch Assembly,组合开关总成)进行采集;油门和刹车产生的数据可以由PDCU(Powertrain Domain Control Unit,新能源动力与控制器)和ESP(Electronic Stability Program,车身电子稳定系统)进行采集;车窗产生的数据可以由DCM(Door Control Module,车门控制模块)进行采集;座椅产生的数据可以由DSC(Driver Seat Controller,座椅控制器)进行采集。

本申请实施例中,若目标零部件包括多个,则利用目标数据组成目标数据序列可以有如下实现方式:针对每个目标零部件,根据该目标零部件产生的目标数据以及各目标数据各自对应的记录时间,组成该目标零部件对应的目标数据序列,多个目标零部件具有其各自对应的目标数据序列;或者也可以根据目标数据对应的记录时间的顺序以及其他的预设排序规则,将多个目标零部件产生的目标数据,合并为一个目标数据序列;在此不对目标数据序列的组成方式作任何限定。

S102:根据预设的目标数据和音符的映射关系,确定所述目标数据序列对应的目标音符串;

本申请实施例中,通过预先指定目标数据和音符的映射关系,可以将记录得到的目标数据序列转化为目标音符串,从而可以将汽车的已有大数据转化为音符的序列,为大量无意义的数据赋予创作价值。

一种可能的实现方式中,所述方法还包括:

基于预设的数据划分规则,将所述目标数据序列划分为多个子数据序列;针对每个所述子数据序列,根据所述子数据序列中包括的各目标数据,确定所述子数据序列对应的第一参考目标数据;

所述根据预设的目标数据和音符的映射关系,确定所述目标数据序列对应的目标音符串,包括:

根据预设的目标数据和音符的映射关系,确定每个所述第一参考目标数据对应的目标音符;

根据每个所述第一参考目标数据对应的目标音符,确定所述目标数据序列对应的目标音符串。

本申请实施例中,基于预设的数据划分规则,将目标数据序列划分为多个子数据序列,可以包括但不限于以下的实现方式:例如,基于预设的记录时间间隔,将目标数据序列划分为多个子数据序列;或,基于预设的目标数据个数,将目标数据序列划分为多个子数据序列。具体的,可以每60ms划分为一个子数据序列,或者每10个目标数据划分为一个子数据序列,等等。以上具体的划分方式仅为示例,在此不对预设的数据划分规则作任何限定。

对于包括一个或多个目标数据的每个子数据序列,第一参考目标数据可以为该子数据序列中目标数据的最大值、平均值、中位数或众数等的任意一种。

下面以“每60ms划分为一个子数据序列作为预设的数据划分规则,每个子数据序列中目标数据的最大值作为第一参考目标数据”这种实现方式为例,对不同的目标零部件产生的目标数据和音符的映射关系进行具体说明。需要说明的是,本申请实施例中的音符可以包括七个基本音符,也可以包括基本音符对应的高音、低音,在此不作具体的限定。

1)当目标零部件包括方向盘,目标数据包括方向盘旋转角度时:

以60ms的记录时间间隔划分子数据序列,在每个子数据序列中,确定方向盘旋转角度的最大值,作为第一参考目标数据。用户可以对方向盘旋转方向对应的音区进行自定义,例如,可以定义方向盘逆时针旋转时,对应的音符为高音区音符,例如比基本音符升高一个八度的音符;定义方向盘顺时针旋转时,对应的音符为低音区音符,例如比基本音符降低一个八度的音符。令60ms内方向盘旋转角度的最大值为α,则根据预设的目标数据和音符的映射关系,确定每个第一参考目标数据对应的目标音符,可以为:当0°<α<10°时,该旋转区间对应的方向盘旋转角度多为用户无意识动作,不对应任何音符(或者对应休止符);当10°≤α<50°时,对应音符为do;当50°≤α<90°时,对应音符为re;当90°≤α<150°时,对应音符为mi;当150°≤α<180°时,对应音符为fa;当180°≤α<210°时,对应音符为sol;当210°≤α<240°时,对应音符为la;当240°≤α<540°时,对应音符为xi。上述映射关系仅为示例,具体的方向盘旋转角度和音符的映射关系可以根据方向盘打在各旋转区间的频率进行标定,使得映射得到的目标音符串中各音符的数量尽可能均匀分布。

2)当目标零部件包括油门,目标数据包括油门开度时:

以60ms的记录时间间隔划分子数据序列,在每个子数据序列中,确定油门开度的最大值,作为第一参考目标数据。用户可以自定义油门对应的音区,如高音区或低音区;系统可以默认油门为高音区,在油门开度对应的基本音符的基础上均升高一个八度,符合油门高亢的定位。令60ms内油门开度的最大值为x,则根据预设的目标数据和音符的映射关系,确定每个第一参考目标数据对应的目标音符,可以为:当0<x<2时,该油门开度区间对应的油门开度多为用户无意识动作,不对应任何音符(或者对应休止符);当2≤x<8时,对应音符为do;当8≤x<14时,对应音符为re;当14≤x<20时,对应音符为mi;当20≤x<26时,对应音符为fa;当26≤x<32时,对应音符为sol;当32≤x<38时,对应音符为la;当38≤x<46时,对应音符为xi。上述映射关系仅为示例,具体的油门开度和音符的映射关系可以根据油门踩在各油门开度区间的频率进行确定,使得映射得到的目标音符串中各音符的数量尽可能均匀分布。

3)当目标零部件包括刹车,目标数据包括刹车开度时:

以60ms的记录时间间隔划分子数据序列,在每个子数据序列中,确定刹车开度的最大值,作为第一参考目标数据。用户可以自定义刹车对应的音区,如高音区或低音区;系统可以默认刹车为低音区,在刹车开度对应的基本音符的基础上均降低一个八度,符合刹车厚重的定位。令60ms内刹车开度的最大值为y,则根据预设的目标数据和音符的映射关系,确定每个第一参考目标数据对应的目标音符,可以为:当0<y<2时,该刹车开度区间对应的刹车开度多为用户无意识动作,不对应任何音符(或者对应休止符);当2≤y<8时,对应音符为do;当8≤y<14时,对应音符为re;当14≤y<20时,对应音符为mi;当20≤y<26时,对应音符为fa;当26≤y<32时,对应音符为sol;当32≤y<38时,对应音符为la;当38≤y<46时,对应音符为xi。上述映射关系仅为示例,具体的刹车开度和音符的映射关系可以根据刹车踩在各刹车开度区间的频率进行确定,使得映射得到的目标音符串中各音符的数量尽可能均匀分布。

4)当目标零部件包括车窗,目标数据包括车窗开合大小时:

以60ms的记录时间间隔划分子数据序列,在每个子数据序列中,确定车窗开合大小的最大值,作为第一参考目标数据。具体的,车窗可以包括主驾、副驾、后排左侧和后排右侧等位置的车窗,用户可以自定义不同位置的车窗对应的音区,如高音区、中音区和低音区,高音区对应的音符在基本音符的基础上升高一个八度,中音区不变,低音区对应的音符在基本音符的基础上降低一个八度;系统可以默认主驾车窗为中音区,副驾车窗为低音区,后排左侧和后排右侧车窗为高音区。令60ms内车窗开合大小的最大值为w,则根据预设的目标数据和音符的映射关系,确定每个第一参考目标数据对应的目标音符,可以为:当0<w<10%时,对应音符为do;当10%≤w<30%时,对应音符为re;当30%≤w<40%时,对应音符为mi;当40%≤w<50%时,对应音符为fa;当50%≤w<70%时,对应音符为sol;当70%≤w<80%时,对应音符为la;当80%≤w<100%时,对应音符为xi。上述映射关系仅为示例,在此不对具体的车窗开合大小和音符的映射关系作任何限定。

5)当目标零部件包括座椅,目标数据包括座椅开合大小时:

以60ms的记录时间间隔划分子数据序列,在每个子数据序列中,确定座椅开合大小的最大值,作为第一参考目标数据。具体的,座椅可以包括底座前后、底座上下和靠背前后等多个位置的座椅按键,用户可以自定义不同位置的座椅按键对应的音区,如高音区、中音区和低音区,高音区对应的音符在基本音符的基础上升高一个八度,中音区不变,低音区对应的音符在基本音符的基础上降低一个八度;系统可以默认底座前后按键为中音区,底座上下按键为低音区,靠背前后按键为高音区。令60ms内座椅开合大小的最大值为s,则根据预设的目标数据和音符的映射关系,确定每个第一参考目标数据对应的目标音符,可以为:当0<s<10%时,对应音符为do;当10%≤s<30%时,对应音符为re;当30%≤s<40%时,对应音符为mi;当40%≤s<50%时,对应音符为fa;当50%≤s<70%时,对应音符为sol;当70%≤s<80%时,对应音符为la;当80%≤s<100%时,对应音符为xi。上述映射关系仅为示例,在此不对具体的座椅开合大小和音符的映射关系作任何限定。

S103:根据所述目标音符串,生成目标音乐。

本申请实施例中,确定目标音符串之后,可以根据目标音符串生成目标音乐,具体可以对目标音符串进行进一步处理或加工得到目标音乐。

一种可能的实现方式中,所述方法还包括:

根据预设的目标数据和音量的映射关系,确定所述目标数据序列对应的目标音量序列;

所述根据所述目标音符串,生成目标音乐,包括:

根据所述目标音符串和所述目标音量序列,生成目标音乐。

本申请实施例中,还可以进一步确定目标数据序列对应的目标音量序列,从而使得生成的目标音乐同时具有音调和响度的层次变化。

一种可能的实现方式中,所述方法还包括:

基于预设的数据划分规则,将所述目标数据序列划分为多个子数据序列;

针对每个所述子数据序列,根据所述子数据序列中包括的各目标数据,确定平均目标数据和最大目标数据;根据所述平均目标数据和所述最大目标数据,确定所述子数据序列对应的第二参考目标数据;

所述根据预设的目标数据和音量的映射关系,确定所述目标数据序列对应的目标音量序列,包括:

根据预设的目标数据和音量的映射关系,确定每个所述第二参考目标数据对应的目标音量;

根据每个所述第二参考目标数据对应的目标音量,确定所述目标数据序列对应的目标音量序列。

本申请实施例中,基于预设的数据划分规则,将目标数据序列划分为多个子数据序列,可以包括但不限于以下的实现方式:例如,基于预设的记录时间间隔,将目标数据序列划分为多个子数据序列;或,基于预设的目标数据个数,将目标数据序列划分为多个子数据序列。具体的,可以每60ms划分为一个子数据序列,或者每10个目标数据划分为一个子数据序列,等等。以上具体的划分方式仅为示例,在此不对预设的数据划分规则作任何限定。

对于包括一个或多个目标数据的每个子数据序列,可以根据子数据序列中的平均目标数据和最大目标数据确定子数据序列对应的第二参考目标数据。一种可能的实现方式中,第二参考目标数据可以为平均目标数据和最大目标数据的比值。

下面以“每60ms划分为一个子数据序列作为预设的数据划分规则,第二参考目标数据为平均目标数据和最大目标数据的比值”这种实现方式为例,对不同的目标零部件产生的目标数据和音量的映射关系进行具体说明。需要说明的是,本申请实施例中的标准音量可以为系统默认的最大音量,也可以由用户进行设定。

1)当目标零部件包括方向盘,目标数据包括方向盘旋转角度时:

以60ms的记录时间间隔划分子数据序列,在每个子数据序列中,令方向盘旋转角度的最大值为α,平均值为β,则第二参考目标数据可以表示为α/β。第二参考目标数据对应的目标音量可以表示为(α/β)*标准音量。

2)当目标零部件包括油门,目标数据包括油门开度时:

以60ms的记录时间间隔划分子数据序列,在每个子数据序列中,令油门开度的最大值为x,平均值为

3)当目标零部件包括刹车,目标数据包括刹车开度时:

以60ms的记录时间间隔划分子数据序列,在每个子数据序列中,令刹车开度的最大值为y,平均值为

4)当目标零部件包括车窗,目标数据包括车窗开合大小时:

以60ms的记录时间间隔划分子数据序列,在每个子数据序列中,令车窗开合大小的最大值为w,平均值为

5)当目标零部件包括座椅,目标数据包括座椅开合大小时:

以60ms的记录时间间隔划分子数据序列,在每个子数据序列中,令座椅开合大小的最大值为s,平均值为

上述映射关系仅为示例,在此不对目标数据和音量的映射关系作具体限定。

一种可能的实现方式中,所述方法还包括:

识别所述目标音符串中的连续出现的N个相同音符,基于所述N个相同音符确定重复音符串,所述N>1;

所述根据所述目标音符串,生成目标音乐,包括:

根据所述目标音符串,删除所述重复音符串,得到处理后的目标音符串;

根据所述处理后的目标音符串,生成目标音乐。

由于目标音符串是根据目标数据序列映射得到的,若目标音符串中存在连续出现的相同音符,可能说明在该段记录时间内,目标零部件产生的目标数据也没有较大的改变,例如,车窗开合大小在一段时间保持不变,这种情况下该段记录时间内的音符较为单一,难以生成有价值的目标音乐。因此,为了提高目标音乐的质量和欣赏价值,本申请实施例可以对目标音符串进行部分删减的处理。

需要说明的是,本申请实施例中的音符可以包括七个基本音符,也可以包括基本音符对应的高音、低音,一种可能的实现方式中,相同音符的判定以音调的不同作为标准,例如“do”的高音、“do”低音和“do”之间,两两均不为相同音符。

一种可能的实现方式中,识别到N个连续相同音符后,可以将N个相同音符作为重复音符串进行删除;另一种可能的实现方式中,若识别到K个连续相同音符,其中K为大于N的整数,则将包括N个相同音符在内的K个连续相同音符作为重复音符串进行删除。例如,当N=3时,识别到目标音符串中“do-mi-mi-mi-mi-fa”,可以删除连续3个“mi”,得到“do-mi-fa”,也可以将连续4个“mi”一起删除,得到“do-fa”。除此之外,还可以有其他的实现方式,在此仅为举例说明,不作具体的限定。

一种可能的实现方式中,所述方法还包括:

将所述目标音乐拆分成多首固定时长的汽车音乐;

从网络音乐库中选取多首参考音乐;

针对每首所述汽车音乐,计算其与每首所述参考音乐之间的相似度;确定和所述汽车音乐相似度最高的参考音乐,作为所述汽车音乐对应的目标参考音乐,并将所述汽车音乐和所述目标参考音乐之间的相似度作为所述目标参考音乐对应的目标相似度;

对所述目标参考音乐按照所述目标相似度从高到低进行排序,根据所述目标参考音乐和所述目标参考音乐的排序,建立参考歌单。

本申请实施例中,可以将目标音乐按照时长拆分成多首汽车音乐,例如拆分成固定时长为4min的汽车音乐,可以表示为C1、C2、C3等等。从网络音乐库中选取多首参考音乐,可以表示为Y1、Y2、Y3,Y4,Y5等等。将汽车音乐和参考音乐进行对比,并计算每首汽车音乐和每首参考音乐的相似度,确定出和汽车音乐相似度最高的参考音乐为目标参考音乐,例如,确定出C1的目标参考音乐为Y2,相似度为0.7;C2的目标参考音乐为Y3,相似度为0.6;C3的目标参考音乐为Y4,相似度为0.8,等等;根据上述例子,可以将目标参考音乐排序为Y4、Y2、Y3,由此可以建立参考歌单为Y4、Y2、Y3。

通过建立参考歌单,可以用于音乐的分析对比,也可以用于欣赏和播放,由于参考歌单是按照相似度排序的目标参考音乐,能够给用户带来与众不同的体验感,增加趣味性。

一种可能的实现方式中,所述对每首所述参考音乐和每首所述汽车音乐进行对比,并计算相似度,包括:

将所述汽车音乐拆分成多个最小音符组,每个所述最小音符组包括M个音符,所述M为大于1的整数;

针对每首所述参考音乐,将所述参考音乐拆分为多个最小音符组;基于所述汽车音乐的最小音符组和所述参考音乐的最小音符组进行对比,将所述汽车音乐与所述参考音乐中相匹配的最小音符组作为相似音源,记录相似音源的个数;根据所述相似音源的个数和所述参考音乐包括的最小音符组的个数,计算所述汽车音乐和所述参考音乐的相似度。

下面具体举例说明本申请实施例提供的方案:

若M为4,则最小音符组可以包括4个音符,若每个音符的时间间隔为60ms,则每个最小音符组的时长为240ms,则每首4min的汽车音乐可以拆分为1000组最小音符组,例如,将汽车音乐C1拆分为C1-1、C1-2……C1-1000;对于每首参考音乐,同样拆分为多个最小音符组,例如,将参考音乐Y1拆分为Y1-1,Y1-2,Y1-3等多个最小音符组。针对参考音乐Y1,可以将Y1中的多个最小音符组和C1中的1000组最小音符组分别进行对比,确定是否匹配。具体的,可以基于Y1和C1中各个最小音符组的顺序,依次进行对比,例如,Y1-1和C1-1进行对比,Y1-2和C1-2进行对比,以此类推。一种可能的实现方式中,两个最小音符组中的4个音符对应的基本音符一致时,可以认为这两个最小音符组匹配,是相似音源。

一种可能的实现方式中,所述根据所述相似音源的个数和所述参考音乐包括的最小音符组的个数,计算所述汽车音乐和所述参考音乐的相似度,包括:

根据所述参考音乐包括的最小音符组的个数,确定所述参考音乐包括的最小音符组的个数是否大于所述汽车音乐的最小音符组的个数;

若是,则根据所述相似音源的个数和所述参考音乐包括的最小音符组的个数的比值,计算所述汽车音乐和所述参考音乐的相似度;

若否,则根据所述相似音源的个数和所述汽车音乐包括的最小音符组的个数的比值,计算所述汽车音乐和所述参考音乐的相似度。

例如,对参考音乐中的所有最小音符组对比结束后,记录相似音源的个数为p;将参考音乐包括的最小音符组个数表示为q,若q大于汽车音乐所包括的最小音符组的组数1000,则Y1和C1的相似度可以为p/q;若q小于或等于汽车音乐所包括的最小音符组的组数1000,则Y1和C1的相似度可以为p/1000。

需要说明的是,上述相似度的具体计算方式仅为示例,不构成任何具体的限定。

通过和网络音乐库的参考音乐进行相似度对比,还可以帮助用户筛选出和主流音乐相似的独特旋律,更接近成熟的音乐产品。

一种可能的实现方式中,所述方法还包括:

执行所述记录所述目标车辆的目标零部件产生的多个目标数据的同时,记录所述目标车辆的车内产生的音视频数据;

根据所述音视频数据和所述目标数据的对应关系,确定所述目标音乐和所述音视频数据的对应关系;

播放所述目标音乐,并同时播放所述目标音乐对应的所述音视频数据。

本申请实施例中,为了方便用户在播放目标音乐时回忆目标音乐对应的生成场景,还可以同时记录车内的音视频数据,具体可以根据HUT、DMS(Driver MonitoringSystem,驾驶员监控系统)、DVR(Digital Video Recorder Controller,行车记录仪)进行记录。通过同时播放目标音乐和目标音乐对应的音视频数据,能够帮助用户回忆精彩瞬间,增加目标音乐播放趣味性。

一种可能的实现方式中,还可以根据HUT对汽车音乐的音符进行识别,并且生成乐谱;具体的,乐谱可以为钢琴谱。生成的乐谱可以在存储在本地或云端,方便用户查看及分享。

一种可能的实现方式中,可以根据HUT存储目标音乐并发送至TBOX(TelematicsBox,车载无线终端),TBOX转发至TSP(Telematics Service Provider,车联网平台),TSP转发至APP(Application,手机应用)端,用户在手机APP上面可下载并分享目标音乐。

一些可能的实现方式中,用户还可以将目标音乐用于交换和升值。

用户可以把目标音乐发到用户社群换取别人的目标音乐,从别人的目标音乐中获取灵感或者思维碰撞;用户在一个交易群中发布自己数据的简介,用户在群里面会有一个昵称,保护用户隐私安全,此昵称的命名采用系统推荐名称+用户自命名合成最终的名称,系统会推荐汽车上面的各个零部件/系统名字作为推荐名称,最终合成的名称可能会是:后背门537、仪表转不动、BCM科科拉、涡轮增压kk7;当他人对自己的数据感兴趣时可以将数据链接(链接就是文本)私发给本机,沟通完成之后买方转账(显示数额),用户领取转账代表接受此笔交易,支付完成之后即可解密文件,买方那个点击刚才的链接即可通过第三方软件(比如酷狗音乐)打开文本,文本支持下载、查看、编辑,交易完成;用户完成交换之后,交换的好友会存到自己的设计好友列表中,方便用户以后有需要共创或者解决问题时联系对方。通过支付完成立即解密数据保护交易双方不被欺骗,通过趣味加密交易昵称,保护用户信息不被泄露,同时体现出交易的趣味性。

本申请实施例提供了一种音乐生成方法,当目标车辆处于目标状态时,按照预设的数据记录规则,记录目标车辆的目标零部件产生的多个目标数据,利用目标数据组成目标数据序列,其中目标数据序列中的目标数据是按照记录时间排列的;根据预设的目标数据和音符的映射关系,确定目标数据序列对应的目标音符串;根据目标音符串,生成目标音乐。本申请实施例能够将零部件产生的数据转化为音符,生成独特的旋律,扩展了零部件产生的数据的用途,给用户带来新颖的用户体验。

基于以上音乐生成方法,本申请实施例还提供了一种音乐生成装置,参考图2所示,该图为本申请实施例提供的一种音乐生成装置的示意图,该装置可以包括:

记录模块201,用于当目标车辆处于目标状态时,按照预设的数据记录规则,记录所述目标车辆的目标零部件产生的多个目标数据,利用所述目标数据组成目标数据序列,所述目标数据序列中的目标数据是按照记录时间排列的;

音符串确定模块202,用于根据预设的目标数据和音符的映射关系,确定所述目标数据序列对应的目标音符串;

音乐生成模块203,用于根据所述目标音符串,生成目标音乐。

一种可能的实现方式中,所述装置还包括:第一参考目标数据确定模块,用于:

基于预设的数据划分规则,将所述目标数据序列划分为多个子数据序列;

针对每个所述子数据序列,根据所述子数据序列中包括的各目标数据,确定所述子数据序列对应的第一参考目标数据;

所述音符串确定模块具体用于:根据预设的目标数据和音符的映射关系,确定每个所述第一参考目标数据对应的目标音符;

根据每个所述第一参考目标数据对应的目标音符,确定所述目标数据序列对应的目标音符串。

一种可能的实现方式中,所述装置还包括:目标音量序列确定模块,用于:

根据预设的目标数据和音量的映射关系,确定所述目标数据序列对应的目标音量序列;

所述音乐生成模块具体用于:根据所述目标音符串和所述目标音量序列,生成目标音乐。

一种可能的实现方式中,所述装置还包括:第二参考目标数据确定模块,用于:

基于预设的数据划分规则,将所述目标数据序列划分为多个子数据序列;

针对每个所述子数据序列,根据所述子数据序列中包括的各目标数据,确定平均目标数据和最大目标数据;根据所述平均目标数据和所述最大目标数据,确定所述子数据序列对应的第二参考目标数据;

所述目标音量序列确定模块具体用于:

根据预设的目标数据和音量的映射关系,确定每个所述第二参考目标数据对应的目标音量;

根据每个所述第二参考目标数据对应的目标音量,确定所述目标数据序列对应的目标音量序列。

一种可能的实现方式中,所述装置还包括:重复音符串确定模块,用于:

识别所述目标音符串中的连续出现的N个相同音符,基于所述N个相同音符确定重复音符串,所述N>1;

所述音乐生成模块具体用于:根据所述目标音符串,删除所述重复音符串,得到处理后的目标音符串;

根据所述处理后的目标音符串,生成目标音乐。

一种可能的实现方式中,所述装置还包括参考歌单确定模块,用于:

将所述目标音乐拆分成多首固定时长的汽车音乐;

从网络音乐库中选取多首参考音乐;

针对每首所述汽车音乐,计算其与每首所述参考音乐之间的相似度;确定和所述汽车音乐相似度最高的参考音乐,作为所述汽车音乐对应的目标参考音乐,并将所述汽车音乐和所述目标参考音乐之间的相似度作为所述目标参考音乐对应的目标相似度;

对所述目标参考音乐按照所述目标相似度从高到低进行排序,根据所述目标参考音乐和所述目标参考音乐的排序,建立参考歌单。

一种可能的实现方式中,所述参考歌单确定模块具体用于:

将所述汽车音乐拆分成多个最小音符组,每个所述最小音符组包括M个音符,所述M为大于1的整数;

针对每首所述参考音乐,将所述参考音乐拆分为多个最小音符组;基于所述汽车音乐的最小音符组和所述参考音乐的最小音符组进行对比,将所述汽车音乐与所述参考音乐中相匹配的最小音符组作为相似音源,记录相似音源的个数;根据所述相似音源的个数和所述参考音乐包括的最小音符组的个数,计算所述汽车音乐和所述参考音乐的相似度。

一种可能的实现方式中,所述目标零部件包括方向盘、油门、刹车、车窗和座椅中的至少一种,所述目标数据包括方向盘旋转角度、油门开度、刹车开度、车窗开合大小、座椅开合大小的至少一种。

一种可能的实现方式中,所述装置还包括播放模块,用于:

所述记录模块用于执行所述记录所述目标车辆的目标零部件产生的多个目标数据的同时,记录所述目标车辆的车内产生的音视频数据;

根据所述音视频数据和所述目标数据的对应关系,确定所述目标音乐和所述音视频数据的对应关系;

播放所述目标音乐,并同时播放所述目标音乐对应的所述音视频数据。

基于以上的音乐生成方法,本申请实施例还提供了一种车辆,所述车辆包括上述的音乐生成装置。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术分类

06120116571316