音乐旋律节奏分析提取方法及装置与流程

文档序号:17152658发布日期:2019-03-19 23:35阅读:757来源:国知局
音乐旋律节奏分析提取方法及装置与流程

本发明涉及计算机技术领域,尤其是涉及一种音乐旋律节奏分析提取方法及装置。



背景技术:

随着科技的发展进步,利用计算机创作音乐也逐渐开始应用,利用计算机创作音乐,可极大减少人类进行音乐创作的工作量,且有望产生挣脱传统思路束缚新颖音乐,即使用计算机生成的音乐还不能与人类的音乐家相比,但机器作品可以为人类提供候选或初级作品,使作曲家创作更加容易,因此利用计算机创作音乐具有非常广阔的应用场景。

在计算机音乐创作、分析过程中,音乐旋律节奏的提取及分析是必不可少的一个过程。目前,现有的技术是通过人工或者可视化工具对节奏时值结构做提取,其很难应用于大量计算的场景,且不能运用大数据技术做科学分析。



技术实现要素:

有鉴于此,本发明的目的在于提出了一种音乐旋律节奏分析提取方法及装置,以改善上述问题。

为了实现上述目的,本发明采用如下技术方案:

第一方面,本发明实施例提供了一种音乐旋律节奏分析提取方法,所述方法包括:

对midi音乐文件进行预处理,得到目标音轨;

遍历所述目标音轨中的所有音符,得到所述目标音轨中每个音符的开始时值和结束时值;

识别出所述目标音轨中和弦音的音根;

将所述目标音轨中多重音处理成多个单音;

根据音符的开始时值和结束时值,对所述音根、所述多个单音以及其余音符进行拼接,得到完整的旋律节奏,所述其余音符为所述目标音轨中除所述和弦音和所述多重音之外的单音。

如上所述的音乐旋律节奏分析提取方法,可选的,所述方法还包括:

识别出所述旋律节奏中的每个乐段;

识别出每个乐段中的乐句;

对所有的乐句进行相似性分析,得到各个乐句的时值相似度;

对每个乐句标记相应的标签,其中相似度超过预设阈值的乐句所对应的标签相同或相似。

如上所述的音乐旋律节奏分析提取方法,可选的,所述方法还包括:

提取出每个乐段的时值结构;

所述识别出每个乐段中的乐句,包括:

根据每个乐段的时值结构,识别出每个乐段中的乐句。

如上所述的音乐旋律节奏分析提取方法,可选的,所述方法还包括:

提取出每个乐句的时值结构;

所述对所有的乐句进行相似性分析,包括:

根据每个乐句的时值结构对所有的乐句进行相似性分析。

如上所述的音乐旋律节奏分析提取方法,可选的,所述对midi音乐文件进行预处理,得到目标音轨,包括:

根据预定义的提取参数对midi文件的音轨进行提取,得到所述目标音轨,所述提取参数包括开始时间和结束时间。

第二方面,本发明实施例提供了一种音乐旋律节奏分析提取装置,所述音乐旋律节奏分析提取装置包括:

预处理模块,用于对midi音乐文件进行预处理,得到目标音轨;

获取模块,用于遍历所述目标音轨中的所有音符,得到所述目标音轨中每个音符的开始时值和结束时值;

识别模块,用于识别出所述目标音轨中和弦音的音根;

处理模块,用于将所述目标音轨中多重音处理成多个单音;

拼接模块,用于根据音符的开始时值和结束时值,对所述音根、所述多个单音以及其余音符进行拼接,得到完整的旋律节奏,所述其余音符为所述目标音轨中除所述和弦音和所述多重音之外的单音。

如上所述的音乐旋律节奏分析提取装置,可选的,所述音乐旋律节奏分析提取装置还包括相似度分析模块和标记模块,所述识别模块还用于识别出所述旋律节奏中的每个乐段;以及

识别出每个乐段中的乐句;

所述相似度分析模块用于对所有的乐句进行相似性分析,得到各个乐句的时值相似度;

所述标记模块用于对每个乐句标记相应的标签,其中相似度超过预设阈值的乐句所对应的标签相同或相似。

如上所述的音乐旋律节奏分析提取装置,可选的,所述音乐旋律节奏分析提取装置还包括提取模块,所述提取模块用于提取出每个乐段的时值结构;

所述识别模块用于根据每个乐段的时值结构,识别出每个乐段中的乐句。

如上所述的音乐旋律节奏分析提取装置,可选的,所述提取模块还用于提取出每个乐句的时值结构;

所述相似度分析模块用于根据每个乐句的时值结构对所有的乐句进行相似性分析。

如上所述的音乐旋律节奏分析提取装置,可选的,所述预处理模块用于根据预定义的提取参数对midi文件的音轨进行提取,得到所述目标音轨,所述提取参数包括开始时间和结束时间。

与现有技术相比,本发明的有益效果在于:

本发明提供的音乐旋律节奏分析提取方法及装置可实现对音乐节奏的提取、分析,能够更好的挖掘节奏结构中隐藏的信息,更好的指导计算机音乐创的研究和发展。现有技术无法细分节奏中的乐段和乐句,无法通过程序准确的定位到音符的开始时值和结束时值,同时也无法准确的分析以此为基础的时值结构节奏的分析、表征节奏的时值结构入库,可视化表示等操作,本专利有利于对上述问题做出很好的解决并解决了其中一些问题。

附图说明

图1为本发明较佳实施例提供的终端设备的方框示意图。

图2为本发明较佳实施例提供的音乐旋律节奏分析提取方法的流程图。

图3为本发明较佳实施例提供的音乐旋律节奏分析提取装置的功能模块示意图。

附图标记说明:100-终端设备;110-音乐旋律节奏分析提取装置;111-预处理模块;112-获取模块;113-识别模块;114-处理模块;115-拼接模块;116-相似度分析模块;117-标记模块;118-提取模块;120-存储器;130-存储控制器;140-处理器;150-外设接口;160-输入输出单元;170-显示单元。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

本发明实施例提供的音乐旋律节奏分析提取方法及装置可应用于如图1所示的终端设备100,本发明实施例中,所述终端设备100可以是个人电脑(personalcomputer,pc)、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)等。可以理解的,在其他的一些实施例中,所述终端设备100也可以是网络服务器、数据库服务器。

请参阅图1,所述终端设备100包括有包括音乐旋律节奏分析提取装置110、存储器120、存储控制器130、处理器140、外设接口150、输入输出单元160、显示单元170。

所述存储器120、存储控制器130、处理器140、外设接口150、输入输出单元160、显示单元170各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述音乐旋律节奏分析提取装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述电子设备100的操作系统(operatingsystem,os)中的软件功能模块。所述处理器140用于执行存储器120中存储的可执行模块,例如所述音乐旋律节奏分析提取装置110包括的软件功能模块或计算机程序。

其中,存储器120可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器120用于存储程序,所述处理器140在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的终端设备100所执行的方法可以应用于处理器140中,或者由处理器140实现。

处理器140可能是一种集成电路芯片,具有信号的处理能力。上述的处理器140可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等,还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述外设接口150将各种输入/输入装置耦合至处理器140以及存储器120。在一些实施例中,外设接口150,处理器140以及存储控制器130可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。

输入输出单元160用于提供给用户输入数据实现用户与所述终端设备100的交互。所述输入输出单元160可以是,但不限于,鼠标和键盘等。

显示单元170在所述终端设备100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元170可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器140进行计算和处理。

请参阅图2,是本发明较佳实施例提供的应用于图1所示的终端设备100的音乐旋律节奏分析提取方法的流程图。下面将对图2所示的具体流程进行详细阐述。

步骤s101,对midi音乐文件进行预处理,得到目标音轨。

本发明实施例中,所述终端设备100中预先存储有用于音乐旋律节奏分析提取的midi音乐文件,在进行音乐旋律节奏分析提取时,终端设备100对预先存储的midi音乐文件进行提取,提取出midi音乐文件中的音轨,得到一个或多个目标音轨,为方便描述后续均以一个音轨进行举例说明。

在对midi音乐文件进行提取时,终端设备100还可根据用户的定义操作,定义midi音乐文件的提取参数,所述提取参数包括开始时间和结束时间,在对midi音乐文件进行提取时终端设备100可根据该提取参数从midi音乐文件提取一段音轨,得到目标音轨。

进一步的,在对midi音乐文件进行预处理,得到目标音轨后,终端设备100还可根据目标音轨的拍子数(bpm,beatperminute)据和节拍变化,采用相对时间计算音轨节奏的开始时值。

步骤s102,遍历目标音轨中的所有音符,得到目标音轨中每个音符的开始时值和结束时值。

对midi音乐文件进行预处理得到目标音轨后,所述终端设备100遍历目标音轨中的所有音符,得到目标音轨中每个音符的开始时值和结束时值,音符的开始时值即是指音符的在音轨中的开始时间,音符的结束时值即是指音符的在音轨中的结束时间。

本实施例中时值计算可以以64分音符为单位时值,以4分音符为一拍,设音符的开始时间或者结束时间为note_time,其相对应的时值为note_time_value,音符所在该乐段的首个小节的开始时间为basic_start_time,音符所处的速率为bpm,得到如下计算过程:

64分音符的时长unit_second(s):

unit_second=60/(bpm*16)。

音符相对开始或者结束时间计算:

note_relative_time=note_time-basic_start_time。

音符时值计算:

note_time_value=note_relative_time/unit_second。

考虑到节拍和速率会发生变化,设变化之前的最后一个时值为last_note_time_value,并重新计算basic_start_time、unit_secomd、note_relative_time等,计算发生变化之后的时值:

note_time_value=note_relative_time/unit_second+last_note_time_value。

步骤s103,识别出目标音轨中和弦音的音根。

一般一段音轨中包括有和弦音和多重音,多重音是指在同一段时间多个重叠的音符,因此在得到目标音轨后,所述终端设备100根据预定义的乐理(该定义的乐理与实际乐理一致)识别出目标音轨中和弦音的音根(和弦必须是在某一个音上建立,这个音就是根音,也就是基础音。比如在do上建立三和弦就是domisol,该三和弦的音根就是do。re上建立七和弦就是refalado,该七和弦的音根就是re)。

步骤s104,将目标音轨中多重音处理成多个单音。

与此同时,所述终端设备100将多重音中重叠的音符进行分割处理,将多重音中多个重叠的音符处理成多个单音,而目标音轨中原有的单音则保留。

步骤s105,根据音符的开始时值和结束时值,对音根、多个单音以及其余音符进行拼接,得到完整的旋律节奏。

所述终端设备100遍历了目标音轨中的所有音符,并得到目标音轨中每个音符的开始时值和结束时值。在识别出目标音轨中和弦音的音根、目标音轨中多重音处理成多个单音以及其余音符进行拼接,得到完整的旋律节奏。所述其余音符是指目标音轨中除所述和弦音和所述多重音之外的单音。

其中,在进行拼接时,所述终端设备100依据每个音符的开始时值和结束时值,按照先后顺序对音根、多个单音以及其余音符进行拼接,如此即可行成一段完整的符合节奏变化,且具备观赏性的旋律。

步骤s106,识别出旋律节奏中的每个乐段。

进一步的,在拼接得到完整的旋律节奏后,所述终端设备100还可根据该旋律节奏的时值结构识别出旋律节奏中的每个乐段。

步骤s107,识别出每个乐段中的乐句。

然后,所述终端设备100提取每个乐段的时值结构,根据提取的时值结果识别出每个乐段中的乐句。

本发明实施例中音符的时值结构为:

开始时值:音符相对开始时间的时值点。

结束时值:音符相对结束时间的时值点。

由于音轨中的音符为连续对象,所以音轨的时值结构为音符时值结构序列,表示如下:

[(开始时值1,结束时值1),(开始时值2,结束时值2)…]

同时为音轨时值结构还可加入标签信息,标签信息可包括:

乐句相似结构:本专利以此标签阐述流程。

音轨乐器:该音轨使用的乐器,为midi乐器编号。

平均音高:所有音符音高平均值。

平均力度:所有音符力度平均值。

小节数目:包含的小节数量。

情绪分类:情绪分类可通过决策树算法对midi文件做情绪分类。

速率:midi的bpm。

最大音高:音符中出现的音高最大值。

最小音高:音符中出现的音高最小值。

是否为主旋律:用于识别主旋律。

是否为乐器solo:用于识别是否为乐器solo。

进一步的,得到的时值结构及其信息标签可以很容易结构化成为sql数据库可存储的结构,并将其存入数据库。

步骤s108,对所有的乐句进行相似性分析,得到各个乐句的时值相似度。

识别出每个乐段中的乐句后,所述终端设备100再次提取出每个乐句的时值结构,并根据每个乐句的时值结构对所有的乐句进行相似性分析,两个乐句的时值结构越接近则说明两个乐句的相似度越高,通过对乐句的时值结构分析即可分析出旋律节奏中各个乐句的相似程度。

步骤s109,对每个乐句标记相应的标签。

相似度越高的乐句,其旋律节奏也越相近,为进一步实现对音乐旋律节奏进行大数据分析,所述终端设备100在分析出旋律节奏中各个乐句的时值相似度后,还对每个乐句标记相应的标签并存储,其中相似度超过预设阈值的乐句所对应的标签相同或相似。如此,对应相同或相近的标签即可以用来定义同一类相似度高的乐句,以便在后计算机音乐创作、分析过程中,能够更好的挖掘节奏结构中隐藏的信息,为计算机音乐创作提供大量的数据支撑,更好的指导计算机音乐创的研究和发展。

请参阅图3,是本发明较佳实施例提供的音乐旋律节奏分析提取装置110的功能模块示意图,所述音乐旋律节奏分析提取装置110包括预处理模块111、获取模块112、识别模块113、处理模块114、拼接模块115、相似度分析模块116、标记模块117和提取模块118。

所述预处理模块111用于对midi音乐文件进行预处理,得到目标音轨。

可以理解的,所述预处理模块111可以用于执行上述的步骤s101。

所述获取模块112用于遍历所述目标音轨中的所有音符,得到所述目标音轨中每个音符的开始时值和结束时值。

可以理解的,所述获取模块112可以用于执行上述的步骤s102。

所述识别模块113用于识别出所述目标音轨中和弦音的音根。

可以理解的,所述识别模块113可以用于执行上述的步骤s103。

所述处理模块114用于将所述目标音轨中多重音处理成多个单音。

可以理解的,所述处理模块114可以用于执行上述的步骤s104。

所述拼接模块115用于根据音符的开始时值和结束时值,对所述音根、所述多个单音以及其余音符进行拼接,得到完整的旋律节奏。

可以理解的,所述拼接模块115可以用于执行上述的步骤s105。

所述提取模块118用于提取出每个乐段的时值结构和每个乐句的时值结构。

所述识别模块113还用于识别出所述旋律节奏中的每个乐段,以及识别出每个乐段中的乐句。

可以理解的,所述识别模块113还可以用于执行上述的步骤s106和步骤s107。

所述相似度分析模块116用于对所有的乐句进行相似性分析,得到各个乐句的时值相似度。

可以理解的,所述相似度分析模块116可以用于执行上述的步骤s108。

所述标记模块117用于对每个乐句标记相应的标签。

可以理解的,所述标记模块117可以用于执行上述的步骤s109。

综上所述,本发明提供的音乐旋律节奏分析提取方法及装置能够遍历预处理后的目标音轨中的所有音符,得到目标音轨中每个音符的开始时值和结束时值,并识别出目标音轨中和弦音的音根以及将目标音轨中多重音处理成多个单音,然后根据音符的开始时值和结束时值,对音根、多个单音以及其余音符进行拼接,得到完整的旋律节奏。如此,可实现对音乐节奏的提取、分析,能够更好的挖掘节奏结构中隐藏的信息,更好的指导计算机音乐创的研究和发展。同时,还可识别出律节奏中的每个乐段以及每个每个乐段中的乐句,并在对所有的乐句进行相似性分析,得到各个乐句的时值相似度后,对相似度超过预设阈值乐句标记相同或相似的标签。如此,对应相同或相近的标签即可以用来定义同一类相似度高的乐句,以便在后计算机音乐创作、分析过程中,进一步能够更好的挖掘节奏结构中隐藏的信息,为计算机音乐创作提供大量的数据支撑,更好的指导计算机音乐创的研究和发展。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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