一种发音组件的定制方法和装置与流程

文档序号:16906178发布日期:2019-02-19 18:22阅读:215来源:国知局
一种发音组件的定制方法和装置与流程

本发明涉及信息处理技术领域,特别涉及一种发音组件的定制方法和装置。



背景技术:

目前,八音盒的制作方式分为两种:

第一种是开发模具,一首歌曲对应一个模具,批量生产。

第二种是采取植针技术生产更为精细的八音盒。

无论哪种制作方式,所有乐曲都需要八音盒编曲人员进行专门编曲,一首乐曲对应一个八音盒。

现有八音盒定制方法是:用户选定乐曲,编曲人员对乐曲进行编曲,将编曲结果交给用户审查,编曲人员根据用户意见对编曲进行修订,用户确认后。使用上述两种八音盒制作方式中的任意一种进行八音盒制作。

上述八音盒定制过程中,用户需要反复与编曲人员进行沟通,过程复杂,而且无法满足用户自主编曲的需求。



技术实现要素:

有鉴于此,本发明的目的在于提供一种发音组件的定制方法和装置,能够简化定制过程,降低成本。

为了达到上述目的,本发明提供了如下技术方案:

一种发音组件的定制方法,包括:

记录经用户编辑后的乐曲中包含的所有音符信息;

接收到用户的用于奏出所述乐曲的发音组件的定制请求时,根据所述乐曲中包含的所有音符信息确定所需发音元件信息及分配到每个发音元件上的音符信息;

根据预先设置的用于记录音符信息的音符元件信息、所需发音元件信息、以及分配到每个发音元件上的音符信息确定每个音符在音符元件上的记录位置;

将所有音符在音符元件上的记录位置和音符元件的原始模型相结合,生成音符元件对应的制作模型,以用于发音组件的制作;

其中,所述发音元件和音符元件在外力作用下,作相互运动,并藉由两者之间的预设物理构造关系,驱动发音元件基于音符元件记录的音符信息发声。

一种发音组件的定制装置,包括:记录单元、接收单元、分配单元、处理单元、生成单元;

所述记录单元,用于记录经用户编辑后的乐曲中包含的所有音符信息;

所述接收单元,用于接收用户的用于奏出所述乐曲的发音组件的定制请求;

所述分配单元,用于接收单元接收到用户的用于奏出所述乐曲的发音组件的定制请求时,根据所述乐曲中包含的所有音符信息确定所需发音元件信息及分配到每个发音元件上的音符信息;

所述处理单元,用于根据预先设置的用于记录音符信息的音符元件信息、所需发音元件信息、以及分配到每个发音元件上的音符信息确定每个音符在音符元件上的记录位置;

所述生成单元,用于将所有音符在音符元件上的记录位置和音符元件的原始模型相结合,生成音符元件对应的制作模型,以用于发音组件的制作;

其中,所述发音元件和音符元件在外力作用下,作相互运动,并藉由两者之间的预设物理构造关系,驱动发音元件基于音符元件记录的音符信息发声。

由上面的技术方案可知,本发明中,由用户自行对乐曲进行编辑,根据经用户编辑的乐曲包含的音符信息确定所需发音组件数量及分配到每个发音组件上的音符信息;根据用于记录音符信息的音符元件的尺寸信息和所述发音元件数量及分配到每一发音元件上的音符信息确定每个音符在音符元件上的记录位置;通过所有音符在音符元件上的记录位置和音符元件的原始模型相结合,生成音符元件对应的制作模型,从而使得生产商可以基于该制作模型进行发音组件的制作。本发明提供的定制方案中,省略了用户与编曲人员之间的交互,使得定制过程得到简化,成本也随之降低。

附图说明

图1是本发明实施例发音组件的定制方法流程图;

图2是本发明实施例音符在音符元件上的记录位置示意图;

图3是本发明实施例发音组件的定制装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并据实施例,对本发明的技术方案进行详细说明。

本发明中,发音组件的制作涉及到两个元器件:发音元件和音符元件,其中,发音元件用于发出声音,音符元件用于记录音符信息,发音元件和音符元件之间可以按照预设物理构造关系组装成为发音组件,发音元件和音符元件在外力作用下,可以作相互运动,并藉由两者之间的物理构造关系,驱动发音元件基于音符元件记录的音符信息发声,从而可以实现半机械化、机械化或自动化奏乐。

以下对本发明的实现原理进行详细介绍。

参见图1,图1是本发明实施例发音组件的定制方法流程图,如图1所示,该方法包括以下步骤:

步骤101、记录经用户编辑后的乐曲中包含的所有音符信息。

本发明中,当用户需要定制发音组件(如八音盒)时,可以在编曲软件提供的编曲界面上进行编辑乐曲;也可以先在编曲软件中输入待编辑乐曲,在此待编辑乐曲的基础上进行编曲。用户编曲结束后,记录经用户编辑后的乐曲中包含的所有音符信息,这些音符信息可以记录在本地,也可以记录到服务器中。

用户可以通过以下三种方式输入待编辑乐曲到编曲软件:

1、记录用户在编曲软件提供的弹奏界面上弹奏的乐曲:用户在编曲软件提供的编曲界面上弹奏乐曲,弹奏的乐曲被记录到编曲软件中。

2、录入用户演奏、哼唱(包括演唱和哼唱)或播放的待编辑乐曲到编曲软件:用户使用乐器演奏待编辑乐曲,哼唱待编辑乐曲,或使用播放设备播放待编辑乐曲,在用户演奏、哼唱、或播放待编辑乐曲过程中,对用户演奏、哼唱、或播放的待编辑乐曲进行录制,将录制的待编辑乐曲输入到编曲软件。

3、加载用户选择的待编辑乐曲到编曲软件:编曲软件需要提供选择和加载乐曲的功能,用户在编曲软件中选择打开待编辑乐曲,使得待编辑乐曲被加载到编曲软件中。

本发明实施例中,所述编曲软件可以是音序器。

步骤102、接收到用户的用于奏出所述乐曲的发音组件的定制请求时,根据所述乐曲中包含的所有音符信息确定所需发音元件信息及分配到每个发音元件上的音符信息。

在实际应用中,为了便于用户进行发音组件定制,可以提供发音组件定制页面,页面中嵌入了编曲软件(插件),当需要进行发音组件定制时,可以登录发音组件定制页面,用户利用嵌入到页面的编曲软件进行待编辑乐曲的输入和编辑,在编辑过程中,用户可以反复进行试听和编辑操作,试听满意时,可以结束编辑,编辑结束后记录经用户编辑后的乐曲中包含的音符信息,之后,可以通过发音组件定制页面触发用于奏出该乐曲(这里的乐曲是指经用户编辑后的乐曲)的发音组件的定制请求,后台接收到该请求之后,就可以执行后续的发音组件的定制流程,如本步骤中的根据所述乐曲中包含的所有音符信息确定所需发音元件数量及分配到每个发音元件上的音符信息,以及后续步骤103、104的操作。

本发明实施例中,所述的音符信息包括音符、音符的音高、力度和发音时间;其中发音时间包括该音符发音的起始时间和结束时间。

在实际应用中,发音元件分为拨片类发音元件和非拨片类发音元件。其中,拨片类发音元件不能在短时间内连续发音,例如,根据八音盒的音桶(即音符元件)拨动音片(发音元件)的原理,同一个音片在t时间内(t由音片材质决定,也受音高影响),不能被连续拨动,否则就会发出噪音。非拨片类发音元件则无短时间内不能连续发音的限制。

对于拨片类发音元件,由于同一发音元件只能发出一种音符的声音(即只能发出一种音高的声音),又因为同一拨片类发音元件在短时间内不能连续发音,因此,要实现同一音符在短时间内多次发音,需要将这些相同音符分配到相同音高的不同拨片类发音元件上。

因此,本发明实施例中,当发音元件是拨片类发音元件时,根据所述乐曲中包含的所有音符信息确定所需发音元件信息及分配到每一发音元件上的音符信息的具体方法可以为:

按照音符不同将所有音符信息进行分组,并对每个分组中的音符信息按照发音时间从低到高的顺序排序;

针对每一音符对应的分组,按照同一发音元件在该组音符信息的音高对应的最短发音时间间隔内不能连续发音的原则,确定该组音符信息所需的发音元件信息及该组音符信息在这些发音元件中的分配信息;

根据每组音符信息所需的发音元件信息及该组音符信息在这些发音元件中的分配信息,确定所述所有音符信息所需发音元件信息及分配到每一发音元件上的音符信息。

在实际的音乐组件定制中,音乐组件生产商可以提供的可用于发音组件制作的发音元件的数量、位置、和音高可以是受限的,也可以是不受限的。

可用于发音组件制作的发音元件的数量、位置、和音高受限,是指发音元件的数量有限、每个发音元件的位置也是预先设定好的,而且每个位置的发音元件允许发音的音高也是预先设定好的。例如,音乐组件生产商已经预先生产了一种存放多个发音元件的容器,该容器中,发音元件数量、每个发音元件的在该容器中的位置和允许发出的音高均已设定好。用户定制发音组件时,需要也只能基于该容器及其提供的发音元件进行发音组件的制作。

可用于发音组件制作的发音元件的数量、位置、和音高不受限,是指生厂商可以提供足够多的发音元件,而且每个发音元件未被部署在某个固定位置,而且允许发出其可以支持的任一音高的发音,例如对于一个18音的音片,则允许其发出18个音高中任一音高的发音。

因此,本发明实施例中,对于拨片类发音元件,基于发音元件的数量、位置、和音高受限和不受限两种情况,按照同一发音元件在该组音符信息的音高对应的最短发音时间间隔内不能连续发音的原则,确定该组音符信息所需的发音元件数量及该组音符信息在这些发音元件中的分配信息时,采用的方法也不相同。

其中,

可用于发音组件制作的发音元件的数量、位置、和音高不受限时,按照同一发音元件在该组音符信息的音高对应的最短发音时间间隔内不能连续发音的原则,确定该组音符信息所需的发音元件数量及该组音符信息在这些发音元件中的分配信息的方法具体可以为:

对于第j个音符信息,找出前j-1个音符信息中与该第j个音符信息的发音时间间隔最小且发音时间间隔超过所述最短发音时间间隔的第i个音符信息,如果找到该第i个音符信息,则将第j个音符信息分配到该第i个音符信息所在的可用发音元件上;否则,为该分组新分配一个可用发音元件,将该组音符信息所需的发音元件数量增1,并将第j个音符信息分配到该新分配的可用发音元件上,其中,j和i均是大于0的整数。

可用于发音组件制作的发音元件的数量、位置、发音音高受限时,按照同一发音元件在该组音符信息的音高对应的最短发音时间间隔内不能连续发音的原则,确定该组音符信息所需的发音元件数量及该组音符信息在这些发音元件中的分配信息的方法为:

对于该组音符中的第j个音符信息,找出前j-1个音符信息中与该第j个音符信息的发音时间间隔最小且发音时间间隔超过所述最短发音时间间隔的第i个音符信息,如果找到该第i个音符信息,则将第j个音符信息分配到该第i个音符信息所在的可用发音元件上;否则,若存在允许发出该组音符的音高的可用发音元件(由于可用发音元件数量有限,可能存在某个音高的可用发音元件不存在或不足的情况),则为该分组新分配一个允许发出该组音符的音高的可用发音元件,记录该可用发音元件位置,将该组音符信息所需的发音元件数量增1,将第j个音符信息分配到该新分配的可用发音元件上,若不存在允许发出该组音符的音高的可用发音元件,则返回拒绝定制响应并结束定制过程;其中,j和i均是大于0的整数。

这里,找出前j-1个音符信息中与该第j个音符信息的发音时间间隔最小且发音时间间隔超过所述最短拨动时间间隔的一个音符信息的一种实现方法是:先计算第j-1个音符信息与第j个音符信息的发音时间差值,差值大于所述最短发音时间间隔,则确定第j-1个音符信息即为符合要求的音符信息,结束流程,差值小于所述最短发音时间间隔,则再计算第j-2个音符信息与第j个音符信息的发音时间差值,差值大于所述最短发音时间间隔,则确定第j-2个音符信息即为符合要求的音符信息,结束流程,差值小于所述最短发音时间间隔,则继续计算第j-3个音符信息与第j个音符信息的发音时间差值,以此类推,直至找到符合要求的音符信息,或者确定前j-1个音符信息与第j个音符信息的发音时间差值均小于所述最短发音时间间隔,没有找到符合要求的音符信息。

需要说明的是,音符信息的发音时间实际上包括了发音的开始时间和结束时间,本发明中,可以将两个音符信息的发音的开始时间的差值确定为该两个音符信息的发音时间差值。

在上述方法中,为该组音符信息分配的发音元件总数,即为该组音符所需的发音元件数量,由于确定了该组音符信息中每个音符分配到的发音元件,反过来,也就可以确定每个发音元件上分配了那些音符信息(即该组音符信息在所需的这些发音元件中的分配信息)。

对于非拨片类发音元件,由于同一发音元件只能发出一种音符的声音(即只能发出一种音高的声音),又因为同一非拨片类发音元件没有短时间内不能连续发音的限制,因此,相同的音符都可以分配到同一发音元件上。

另外,对于非拨片类发音元件,可用于发音组件制作的发音元件的数量、位置、和允许的发音音高仍分为受限和不受限两种情况。相应地,根据所述乐曲中包含的所有音符信息确定所需发音元件数量及分配到每一发音元件上的音符信息的具体方法也不相同,

其中,

当发音元件是非拨片类发音元件时,如果可用于发音组件制作的发音元件的数量、位置、和允许的发音音高不受限,则根据所述乐曲中包含的所有音符信息确定所需发音元件数量及分配到每一发音元件上的音符信息的具体方法可以为:

按照音符不同将所有音符信息进行分组;

为每组音符信息分配到一个发音元件。

当发音元件是非拨片类发音元件时,如果可用于发音组件制作的发音元件的数量、位置、和允许的发音音高受限,则根据所述乐曲中包含的所有音符信息确定所需发音元件数量及分配到每一发音元件上的音符信息的具体方法可以为:

按照音符不同将所有音符信息进行分组;

对于每组音符信息,如果不存在允许发出该组音符的音高的可用发音元件,则返回拒绝定制响应并结束定制过程,否则,为该组音符信息分配一个允许发出该组音符的音高的可用发音元件,并记录该可用发音元件的位置。在实际应用中,发音组件支持的发音时长和用户编辑的乐曲的播放时通常是不一致的,如果前者的发音时长较长,则只需要按照乐曲原有播放速度进行发音组件的相关定制操作,如果后者的发音时长较长,则如果还按照乐曲原有播放速度进行发音组件的相关定制操作,则最终定制出的发音组件无法奏出完成的乐曲。

为了使定制的发音组件能够奏出完整的乐曲,需要在接收到用户的用于奏出所述乐曲的发音组件的定制请求之后,根据所述乐曲中包含的所有音符信息确定所需发音元件信息及分配到每个发音元件上的音符信息之前,执行以下操作:比较所述发音组件的发音时长t1和所述乐曲的播放时长t2乐曲的大小,如果t1小于t2,对所述乐曲中所有音符信息中的发音时间按照t1/t2的比例进行归一化处理,使所述乐曲的播放时长归一化到t1。

通过上述归一化处理,可以使乐曲播放时长缩短到与发音组件的发音时长相同,从而再按照归一化处理后的乐曲播放速度进行发音组件的相关定制操作,使得最终定制出的发音组件能够奏出完整的乐曲。

另外,在实际实现中,由于技术原因或人为规定,导致发音组件能够支持的音高数量受限,当乐曲的音符中包含的音高数量超过发音组件能够支持的音高数量时,无法制作能够奏出该乐曲的发音组件。例如,假设预先设置发音装置支持的最大音高数量为18(18种频率,和音高一一对应)。如果经用户编辑后的乐曲中包括18个以上的音高的音符,则无法定制能够凑出该乐曲的发音组件。

为此,接收到用户的用于奏出所述乐曲的发音组件的定制请求之后,根据所述乐曲中包含的所有音符信息确定所需发音元件数量及分配到每个发音元件上的音符信息之前,还需要判断所述所有音符信息中包含的不同音高的音符数量,如果不同音高的音符数量超出预设的发音组件支持的最大音高数量,则确定无法制作用于奏出所述乐曲的发音组件,此时可返回拒绝定制响应给用户,否则,确定可以制作用于奏出所述乐曲的发音组件,因此,继续执行根据所述乐曲中包含的所有音符信息确定所需发音元件数量及分配到每个发音元件上的音符信息等后续操作。

发音元件和音符元件作相互运动时,发音元件在音符元件上对应有一个相互运动区域,如果发音元件过多,会使得音符元件上无法分配出相应多的相互运动区域,最终致使无法制作发音组件。

因此,本发明实施例中,根据所述乐曲中包含的所有音符信息确定所需发音元件信息之后,就可以确定所需发音元件的数量,此时还需要进一步比较所述所有音符信息所需发音元件数量和预设的发音组件支持的最大发音元件数量的大小,如果所述所有音符信息所需发音元件数量超过预设的发音组件支持的最大发音元件数量,则可以确定无法制作用于奏出所述乐曲的发音组件,应返回拒绝定制响应给用户,否则,才可以继续执行后续的步骤103、104的定制操作流程。

步骤103、根据预先设置的用于记录音符信息的音符元件信息、所需发音元件信息、以及分配到每个发音元件上的音符信息确定每个音符在音符元件上的记录位置。

本发明实施例中,每一发音元件在音符元件上对应一相互运动区域,将分配到该发音元件的音符信息按照时间先后顺序沿预设方向记录到该相互运动区域,则在发音元件和音符元件作相互运动时,可以藉由两者的物理构造关系,使得发音元件可以基于音符元件上该相互运动区域内各记录位置处记录的音符发出声音。

根据可用于发音组件制作的发音元件的数量、位置、和允许的发音音高受限和不受限两种情况,本步骤103的具体实现也相应不同。

其中,

对于可用于发音组件制作的发音元件的数量、位置、和允许的发音音高不受限的情况,可以按照任意顺序部署发音元件,只要使得每个发音元件在音符元件上对应的相互运动区域不重叠即可,例如可以按照发音元件的分配时间先后顺序部署,部署所需各发音元件的位置之后,则每个发音元件在音符元件中对应的相互运动区域也相应能够确定。这种情况下,音符元件信息应包括音符元件尺寸信息;发音元件信息应包括发音元件尺寸信息;根据预先设置的用于记录音符信息的音符元件信息、所需发音元件信息、以及分配到每一发音元件上的音符信息确定每个音符在音符元件上的记录位置的方法为:根据音符元件的尺寸信息、发音元件的尺寸信息及部署位置,确定每个发音元件在音符元件中对应的相互运动区域,对于分配到该发音元件上的各音符信息,按照发音时间先后顺序沿预设方向部署到该发音元件在音符元件中对应的相互运动区域,每个音符的部署位置即为该音符在音符元件上的记录位置。

对于可用于发音组件制作的发音元件的数量、位置、和允许的发音音高受限的情况,发音元件的位置都是预先设定好的,每个发音元件在音符元件上对应的相互运动区域也已经确定。

这种情况下,音符元件信息应包括音符元件的尺寸信息;发音元件信息应包括发音元件的尺寸信息、位置信息、音高等信息(音高信息在根据所有音符信息确定所需发音元件信息时使用)。根据预先设置的用于记录音符信息的音符元件信息、所需发音元件信息、以及分配到每一发音元件上的音符信息确定每个音符在音符元件上的记录位置的方法具体为:

根据音符元件的尺寸信息和每个发音元件的尺寸信息及位置信息,确定该发音元件在音符元件中对应的相互运动区域,对于分配到该发音元件上的各音符信息,按照发音时间先后顺序沿预设方向部署到该发音元件在音符元件中对应的相互运动区域,每个音符的部署位置即为该音符在音符元件上的记录位置。

需要说明的是,同一发音元件上两个音符在音符元件上应该按照时间先后顺序沿预设方向部署,此预设方向与发音元件和音符元件做相互运动时发音元件的运动方向保持一致,且不属于同一发音元件上两个音符,在音符元件上也应该按照时间先后顺序沿预设方向部署。例如,x1、x2、x3、x4、x5是按时间先后顺序排列的5个音符,其中,x1、x2、x4为相同音符,且分配到同一发音元件,x3、x5是相同音符,且分配到同一发音元件,假设发音元件和音符元件做相互运动时发音元件的运动方向为垂直方向上从上到下,则这5个音符在音符元件上的记录位置如图2所示,其中,x1、x2、x4按时间先后顺序沿从上到下的方向排序,x3、x5按时间先后顺序沿从上到下的方向排序,且在垂直方向上,x3位于x2下方x4上方,x5位于x4的下方。

步骤104、将所有音符在音符元件上的记录位置和音符元件的原始模型相结合,生成音符元件对应的制作模型,以用于发音组件的制作。

本发明中,由于所有音符在音符元件上的记录位置已知,而且发音元件自己的尺寸大小和音符元件的原始模型(例如音桶的3d模型)均已预先确定,因此,只需要将所有音符在音符元件上的记录位置和音符元件的原始模型相结合,即在音符元件的原始模型中标出每个音符所对应的记录位置(例如在每个音符所对应的记录位置处设置凸点,以此标示出该音符),即可得到音符元件的制作模型。

之后,可以将该音符元件的制作模型提供给发音组件生产商,发音组件生产商只需要基于该制作模型进行音符元件的制作,配合对应的发音元件,然后再加上合适的发音组件底座,就可以完成整个发音组件的制作。本发明中,根据音符元件的制作模型制作发音组件时,制作工艺可以是现有技术支持的任何一种制作工艺,例如开模具、3d打印、植针等,本发明对具体的制作工艺不做限制。

本发明实施例中,发音组件可以是机动排钟、手摇风琴、轮擦提琴、或八音盒(包括圆筒八音盒,纸带八音盒,圆盘八音盒等)等,特别地,当发音组件是圆筒八音盒时,发音元件和音符元件分别是音片和音筒。

以上对本发明实施例发音组件的定制方法进行了详细说明,本发明还提供了一种发音组件的定制装置,以下结合图3进行详细说明。

参见图3,图3是本发明实施例发音装置的定制设备的结构示意图,如图3所示,该装置包括:记录单元301、接收单元302、分配单元303、处理单元304、生成单元305;其中,

所述记录单元301,用于记录经用户编辑后的乐曲中包含的所有音符信息;

所述接收单元302,用于接收用户的用于奏出所述乐曲的发音组件的定制请求;

所述分配单元303,用于接收单元302接收到用户的用于奏出所述乐曲的发音组件的定制请求时,根据所述乐曲中包含的所有音符信息确定所需发音元件信息及分配到每个发音元件上的音符信息;

所述处理单元304,用于根据预先设置的用于记录音符信息的音符元件信息、所述发音元件信息以及分配到每一发音元件上的音符信息确定每个音符在音符元件上的记录位置;

所述生成单元305,用于将所有音符在音符元件上的记录位置和音符元件的原始模型相结合,生成音符元件对应的制作模型,以用于发音组件的制作;

其中,所述发音元件和音符元件在外力作用下,作相互运动,并藉两者之间的预设物理构造关系,驱动发音元件基于音符元件记录的音符信息发声。

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

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