CN116631359A - 乐曲的生成方法、装置、计算机可读介质及电子设备 - Google Patents

乐曲的生成方法、装置、计算机可读介质及电子设备 Download PDF

Info

Publication number
CN116631359A
CN116631359A CN202210128261.6A CN202210128261A CN116631359A CN 116631359 A CN116631359 A CN 116631359A CN 202210128261 A CN202210128261 A CN 202210128261A CN 116631359 A CN116631359 A CN 116631359A
Authority
CN
China
Prior art keywords
data
note
music
basic
musical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210128261.6A
Other languages
English (en)
Inventor
袁微
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210128261.6A priority Critical patent/CN116631359A/zh
Publication of CN116631359A publication Critical patent/CN116631359A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • G10H1/0025Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/101Music Composition or musical creation; Tools or processes therefor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/571Chords; Chord sequences

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

本申请公开了一种乐曲的生成方法、装置、计算机可读介质以及电子设备,所述方法包括:获取用于生成目标乐曲数据的基础乐曲信息,基础乐曲信息包括至少一种类型的乐曲数据;对基础乐曲信息进行格式转换处理,得到基础乐曲信息对应的基础乐器数字接口数据;根据基础乐器数字接口数据中各类型的乐曲数据生成乐曲事件,并对各乐曲事件进行排序,生成乐曲事件序列;对乐曲事件序列进行特征提取和映射处理,并基于处理结果得到目标乐曲数据。本申请技术方案实现了乐曲的自动创作,减少了乐曲创作过程的人工依赖性。无论基础乐曲信息是一段音频数据,还是一个乐曲数据,都能够生成目标乐曲数据,乐曲创作者在不熟悉乐理知识的情况下也能够实现乐曲创作。

Description

乐曲的生成方法、装置、计算机可读介质及电子设备
技术领域
本申请属于数据处理技术领域,具体涉及一种乐曲的生成方法、装置、计算机可读介质以及电子设备。
背景技术
音乐在人们的日常生活中占有很重要的作用,而传统的音乐创作依赖于人工进行,且对作曲人具有较高的要求,作曲人不仅要懂得乐理知识,而且还要有创作灵感,如此,使得音乐创作的门槛以及人工成本都很高。并且,随着技术的发展,音乐的种类越来越多,音乐创作中所用到的技术或设备也越来越繁杂,即使是懂得乐理知识的用户,也很可能由于创作过程中复杂的软硬件操作等问题而无法作出合心意的乐曲,这进一步提升了乐曲的创作门槛。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请的目的在于提供一种乐曲的生成方法、装置、计算机可读介质以及电子设备,以解决传统乐曲创作操作复杂且成本较高的问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种乐曲的生成方法,包括:
获取用于生成目标乐曲数据的基础乐曲信息,所述基础乐曲信息包括至少一种类型的乐曲数据;
对所述基础乐曲信息进行格式转换处理,得到所述基础乐曲信息对应的基础乐器数字接口数据;
根据所述基础乐器数字接口数据中各类型的乐曲数据生成乐曲事件,并对各乐曲事件进行排序,生成乐曲事件序列;
对所述乐曲事件序列进行特征提取和映射处理,并基于处理结果得到目标乐曲数据。
根据本申请实施例的一个方面,提供一种乐曲的生成装置,包括:
数据获取模块,用于获取用于生成目标乐曲数据的基础乐曲信息,所述基础乐曲信息包括至少一种类型的乐曲数据;
格式转换模块,用于对所述基础乐曲信息进行格式转换处理,得到所述基础乐曲信息对应的基础乐器数字接口数据;
乐曲事件生成模块,用于根据所述基础乐器数字接口数据中各类型的乐曲数据生成乐曲事件,并对各乐曲事件进行排序,生成乐曲事件序列;
目标乐曲生成模块,用于对所述乐曲事件序列进行特征提取和映射处理,并基于处理结果得到目标乐曲数据。
在本申请的一个实施例中,所述基础乐曲信息是由多种乐曲数据构成的音频数据;格式转换模块包括:
格式转换单元,用于对所述音频数据进行格式转换处理,得到原始乐器数字接口数据;
节拍检测单元,用于对所述音频数据进行节拍检测,得到节拍检测结果,所述节拍检测结果包括所述音频数据中每个节拍的实际发生时间;
校对单元,用于根据所述节拍检测结果对所述原始乐器数字接口数据进行校对,得到所述基础乐曲信息对应的基础乐器数字接口数据。
在本申请的一个实施例中,所述校对单元具体用于:
根据所述节拍检测结果中第一节拍与第二节拍之间的时间间隔确定所述第一节拍对应的每分钟节拍数,所述第二节拍是在所述第一节拍之后且与所述第一节拍相邻的节拍;
根据所述第一节拍对应的每分钟节拍数确定所述第一节拍对应的第一音符在所述原始乐器数字接口数据中的目标时长;
若所述第一节拍在所述原始乐器数字接口数据中的记录时长与所述目标时长不同,则根据所述目标时长调整所述记录时长。
在本申请的一个实施例中,所述各类型的乐曲数据包括小节数据、和弦数据和音符数据;乐曲事件生成模块包括:
和弦事件生成单元,用于对所述基础乐器数字接口数据进行和弦识别,得到和弦数据,并根据所述和弦数据生成和弦事件;
小节事件生成单元,用于根据所述节拍检测结果确定所述基础乐器数字接口数据的小节数据,并根据所述小节数据生成小节事件;
音符事件生成单元,用于检测所述基础乐器数字接口数据中的音符数据,并根据所述音符数据生成音符事件;
事件序列生成单元,用于将所述和弦事件、所述小节事件和所述音符事件按照时间序列排列,生成乐曲事件序列。
在本申请的一个实施例中,所述和弦事件生成单元具体用于:
以时间维度为基准,通过预设长度的窗口在所述基础乐器数字接口数据中滑动,根据各个窗口的色度特征确定所述基础乐器数字接口数据中的和弦数据。
在本申请的一个实施例中,所述音符数据包括音符位置、音符种类、音符持续时间和音符力度,所述音符事件包括音符位置事件、音符持续时间事件和音符力度事件;所述音符事件生成单元具体用于:
根据所述基础乐器数字接口数据中的音符种类生成音符种类事件;
将所述基础乐器数字接口数据中的每个小节的时长划分为多个第一时刻,将距离音符的起始时间最近的第一时刻作为所述音符的起始时刻,并根据各个音符的起始时刻生成各个音符对应的音符位置事件;
将所述基础乐器数字接口数据中的每个小节的时长划分为多个第二时刻,将距离音符的结束时间最近的第二时刻作为所述音符的结束时刻,根据各个音符对应的起始时刻和结束时刻确定音符持续时间,并根据各个音符对应的音符持续时间生成各个音符对应的音符持续时间事件;
基于预设映射规则将所述基础乐器数字接口数据中每个音符的音符力度表示映射至目标力度表示,并根据各个音符的目标力度表示生成各个音符对应的音符力度事件。
在本申请的一个实施例中,所述基础乐曲信息由一种类型的乐曲数据构成;格式转换模块用于:
根据所述基础乐器数字接口数据的数据格式对所述乐曲数据进行格式转换处理,得到所述乐曲数据对应的基础乐器数字接口数据。
在本申请的一个实施例中,目标乐曲生成模块具体用于:
通过预设序列预测模型对所述乐曲事件序列进行特征提取和映射处理,得到指定时长的目标乐曲序列,所述目标乐曲序列包括多个目标乐曲事件;
将所述目标乐曲序列中的多个目标乐曲事件转化为目标乐器数字接口数据,得到目标乐曲数据。
在本申请的一个实施例中,所述装置还包括模型构建模块,所述模型构建模块具体用于:
对样本音频数据进行音源分离处理,以提取所述样本音频数据的样本音轨数据;对所述样本音轨数据进行格式转换处理,得到样本乐器数字接口数据;根据所述样本乐器数字接口数据中各乐曲数据所生成样本乐曲事件;将预设数量的样本乐曲事件进行排序,生成样本乐曲事件序列,并基于所述样本乐曲事件序列训练预测模型,得到预设序列预测模型。
根据本申请实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的乐曲的生成方法。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行如以上技术方案中的乐曲的生成方法。
根据本申请实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的乐曲的生成方法。
在本申请实施例提供的技术方案中,通过基础乐曲信息生成基础乐器数字接口数据,进而生成乐曲事件序列,最后通过乐曲事件序列得到目标乐曲数据,实现了乐曲的自动创作,减少了乐曲创作过程的人工依赖性。无论基础乐曲信息是一段音频数据,还是一个乐曲数据,都能够生成目标乐曲数据,乐曲创作流程简单,乐曲创作者在不熟悉乐理知识的情况下也能够实现乐曲创作,降低了乐曲创作的门槛和成本。并且,当基础乐曲信息是一段音频数据时,相当于实现了基于该音频数据的乐曲续写;当基础乐曲信息是一个乐曲数据时,相当于基于一个乐曲数据从零开始生成了一首新的乐曲;可见,乐曲创作有多种模式,且目标乐曲数据的时长可以指定,极大地提高了乐曲创作的灵活性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性地示出了应用本申请技术方案的示例性***架构框图。
图2示意性地示出了本申请一个实施例提供的乐曲的生成方法的流程图。
图3示意性地示出了本申请一个实施例提供的格式转换处理过程的流程图。
图4示意性地示出了本申请一个实施例提供的生成乐曲事件序列的流程图。
图5示意性地示出了本申请一个实施例提供的乐曲的生成方法的流程图。
图6示意性地示出了本申请实施例提供的乐曲的生成装置的结构框图。
图7示意性示出了适于用来实现本申请实施例的电子设备的计算机***结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示意性地示出了应用本申请技术方案的示例性***架构框图。
如图1所示,***架构100可以包括终端设备110、网络120和服务器130。终端设备110可以包括智能手机、平板电脑、笔记本电脑、智能语音交互设备、智能家电、车载终端等等。服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云计算服务的云服务器。网络120可以是能够在终端设备110和服务器130之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路或者无线通信链路。
根据实现需要,本申请实施例中的***架构可以具有任意数目的终端设备、网络和服务器。例如,服务器130可以是由多个服务器设备组成的服务器群组。另外,本申请实施例提供的技术方案可以应用于终端设备110,也可以应用于服务器130,或者可以由终端设备110和服务器130共同实施,本申请对此不做特殊限定。
在本申请的一个实施例中,本申请实施例提供的乐曲的生成方法通过终端设备110实施。举例而言,终端设备110获取用于生成目标乐曲数据的基础乐曲信息,基础乐曲信息包括至少一种类型的乐曲数据,例如,基础乐曲信息为一段具有一定时长的音频数据,基础乐曲信息也可以就是一个乐曲数据(如乐曲速度、乐曲和弦等)。然后终端设备110对基础乐曲信息进行格式转换处理,得到基础乐曲信息对应的基础乐器数字接口数据。一般的,乐器数字接口数据为MIDI(Musical Instrument Digital Interface,乐器数字接口)数据,当基础乐曲信息为一段音频数据时,对音频数据进行转录处理,得到基础MIDI数据;当基础乐曲信息是一个乐曲数据时,直接将该乐曲数据作为基础MIDI数据。接下来终端设备110根据基础乐器数字接口数据中各类型的乐曲数据生成乐曲事件,并对各乐曲事件进行排序,生成乐曲事件序列,乐曲事件如速度事件、和弦事件等。最后终端设备110对乐曲事件序列进行特征提取和映射处理,并基于处理结果得到目标乐曲数据,该特征提取和映射处理可以通过预先训练好的模型实现。
在本申请的一个实施例中,本申请实施例提供的乐曲的生成方法通过服务器130实施。举例而言,服务器130获取用于生成目标乐曲数据的基础乐曲信息,基础乐曲信息包括至少一种类型的乐曲数据,该基础乐曲信息可以是从终端设备110中获取的,也可以是服务器130自身存储的。然后服务器130对基础乐曲信息进行格式转换处理,得到基础乐曲信息对应的基础乐器数字接口数据。接下来服务器130根据基础乐器数字接口数据中各类型的乐曲数据生成乐曲事件,并对各乐曲事件进行排序,生成乐曲事件序列。最后服务器130对乐曲事件序列进行特征提取和映射处理,并基于处理结果得到目标乐曲数据。服务器130生成目标乐曲数据后,可以将目标乐曲数据发送至终端设备110,由终端设备110将目标乐曲数据反馈至目标对象,以便目标对象播放该目标乐曲数据。
下面结合具体实施方式对本申请提供的乐曲的生成方法做出详细说明。
图2示意性地示出了本申请一个实施例提供的乐曲的生成方法的流程图,如图2所示,该方法包括步骤210至步骤240,具体如下:
步骤210、获取用于生成目标乐曲数据的基础乐曲信息,基础乐曲信息包括至少一种类型的乐曲数据。
具体的,目标乐曲数据是指通过本申请实施例的乐曲生成方法所生成的乐曲数据,基础乐曲信息是生成目标乐曲数据的参考数据。基础乐曲信息包括至少一种类型的乐曲数据,乐曲数据的类型主要该乐曲数据在基础乐曲信息中的含义,如乐曲数据的类型可以是小节、和弦、音符、节拍速度、时长等等。
在本申请的一个实施例中,基础乐曲信息可以是一段具有一定时长的音频数据,在这种情况下,基础乐曲信息相当于一小段乐曲,应包括多种类型的乐曲数据,如小节数据、和弦数据、音符数据等等。
在本申请的一个实施例中,基础乐曲信息可以就是一个乐曲数据,如一种和弦、一种节拍速度、一种乐曲时长等。此时的乐曲数据可以是外部输入的,也可以是随机生成的。
步骤220、对基础乐曲信息进行格式转换处理,得到基础乐曲信息对应的基础乐器数字接口数据。
具体的,乐器数字接口数据为MIDI(Musical Instrument Digital Interface,乐器数字接口)数据,MIDI是编曲界最广泛的音乐标准格式,是用音符的数字控制信号来记录音乐的格式,也即,MIDI数据记录的不是声音信号,而是音符、控制参数等指令,MIDI数据指示能够处理MIDI数据的设备要做什么、怎么做,如演奏哪个音符、多大音量等。
一般的,当基础乐曲信息是具有一定时长的音频数据时,音频数据通常记录的是声音信号,其格式为声音信号的存储格式,如MP3格式、WAVE格式等。为了使计算机能够对基础乐曲信息进行进一步处理,故而需要对基础乐曲信息进行格式转换处理,得到对应的基础乐器数字接口数据。该格式转换处理可以通过转录技术实现,如通过基于onset检测器与framewise检测器的转录技术进行格式转换处理。
在本申请的一个实施例中,当基础乐曲信息为音频数据时,考虑到音频数据可能由一种主要乐器的演奏乐曲结合多种辅助乐器的演奏乐曲构成,而辅助乐器的演奏乐曲通常可替代性比较大,那么在对基础乐曲信息进行处理时,对主要乐器的演奏乐曲进行处理即可。因此,在对音频数据进行格式转换处理之前,还可以通过音源分离技术将音频数据中各乐器对应的乐曲数据分离开来,如spleeter音源分离技术。一种乐器所对应的乐曲数据称为一种音轨数据,如钢琴演奏的乐曲数据为钢琴音轨数据,贝斯演奏的乐曲数据为贝斯音轨数据等。一般的,音频数据中的主要乐器多为钢琴,对音频数据的格式转换处理过程包括:首先通过音源分离技术提取该音频数据中的钢琴音轨数据,然后通过钢琴转录技术将钢琴音轨数据转化为对应的基础MIDI数据。
在本申请的一个实施例中,当基础乐曲信息是由一种类型的乐曲数据构成时,根据MIDI数据的数据格式要求对该乐曲数据进行转换即实现了格式转换处理。例如,MIDI数据采用十六进制编码进行数据记录,格式转换处理就是将乐曲数据转换为对应的十六进制编码数据。
在本申请的一个实施例中,当基础乐曲信息为音频数据时,其格式转换处理过程如图3所示,包括步骤310至步骤330,具体为:
步骤310、对音频数据进行格式转换处理,得到原始乐器数字接口数据。
具体的,对音频数据进行格式转换处理,转换完成后的数据就是原始音频数据接口数据。
步骤320、对音频数据进行节拍检测,得到节拍检测结果,节拍检测结果包括音频数据中每个节拍的实际发生时间。
具体的,节拍检测就是检测出音频数据中的每个节拍(简称拍)的实际发生时间,也就是每个节拍在音频数据中的起始时间位置,比如,音频数据中0分12秒处有一节拍,则0分12秒就是这一节拍的实际发生时间。节拍检测还可以检测出每个节拍是强拍还是弱拍,一般的,音乐中的小节通常以强拍为起点,故而节拍检测还可以确定小节的开始时间。节拍检测可以通过基于循环神经网络的节拍检测器实现。
步骤330、根据节拍检测结果对原始乐器数字接口数据进行校对,得到基础乐曲信息对应的基础乐器数字接口数据。
具体的,在音频数据中,每个节拍的时长是相同的,而由于音频数据和原始乐器数字接口数据有关于乐曲数据的记录方式不同,在转换过程中可能存在误差,导致原始乐器数字接口数据中每个节拍的时长与音频数据中每个节拍的实际时长不符。根据节拍检测结果对原始乐器数字接口数据进行校对,就是校对每个节拍的时长,由此得到最终所需的基础乐器数字接口数据,这样使得后续处理的基础乐器数字接口数据中的节拍与音频数据中的节拍相一致,从而提高生成的目标乐曲数据的乐曲质量。
在本申请的一个实施例中,校对过程包括:根据节拍检测结果中第一节拍与第二节拍之间的时间间隔确定第一节拍对应的每分钟节拍数,第二节拍是在第一节拍之后且与第一节拍相邻的节拍;根据第一节拍对应的每分钟节拍数确定第一节拍对应的第一音符在原始乐器数字接口数据中的目标时长;若第一音符在原始乐器数字接口数据中的记录时长与目标时长不同,则根据目标时长调整记录时长。
具体的,由于节拍检测结果中记录的是每个节拍的起始时间位置,那么相邻两个节拍的起始时间位置的时间间隔,起始就是一个节拍的节拍长度,即节拍时长。每分钟节拍数(Beat Per Minute,BPM)是指每1分钟所包含的节拍数量,当知晓了一个节拍的节拍时长,既可以得出每分钟节拍数。例如,第一节拍的实际发生时间为0分12秒,与第一节拍相邻的第二节拍的实际发生时间为0分13秒,则第一节拍与第二节拍之间的时间间隔为1秒,也就是第一节拍的节拍时长为1秒,那么bpm为60。
在MIDI数据中,以tick为时间单位,MIDI规定了一个音符为多少tick,并规定每个节拍间的bpm都是默认值,故而原始乐器数字接口数据中,每个节拍间的bpm是相同的,而实际情况可能是每个节拍间具有不同的bpm。一般来说,一个音符对应一拍,故而第一节拍对应的bpm就是第一音符的目标时长。假设原始乐器数字接口数据中,默认每分钟节拍数为100bpm,第一音符的记录时长为200tick,而计算得到的每分钟节拍数为50bpm,那么该第一音符的目标时长应为400tick,可见第一音符的记录时长与目标时长不一致,故而将第一音符的记录时长调整为400tick。
继续参考图2,步骤230、根据基础乐器数字接口数据中各类型的乐曲数据生成乐曲事件,并对各乐曲事件进行排序,生成乐曲事件序列。
具体的,一个乐曲事件体现乐曲数据的一种类型,例如,小节数据生成小节事件,和弦数据生成和弦事件,音符数据生成音符事件等。将各乐曲事件按顺序排列,即可生成乐曲事件序列。
在本申请的一个实施例中,当基础乐曲信息为音频数据时,生成乐曲事件序列的过程如图4所示,包括步骤410至步骤440,具体如下:
步骤410、对基础乐器数字接口数据进行和弦识别,得到和弦数据,并根据和弦数据生成和弦事件。
具体的,在进行和弦识别时,以时间维度为基准,通过预设长度(如两个节拍的长度)的窗口在基础乐器数字接口数据中滑动,然后计算滑窗内的色度特征,通过各个滑窗的色度特征所表示的音高间隔确定和弦数据。色度特征是色度向量和色度图谱的统称。色度向量是一个含有12个元素的向量,这些元素分别代表在滑窗所限定的时间内12个音级中的能量,不同八度的同一音级能量累加。色度图谱则是色度向量的序列。音高间隔是指音之间的间隔,比如,1(do)和2(re)之间间隔为1,1(do)和3(mi)之间间隔为2。
色度特征的计算过程为:将滑窗内的数据做傅里叶变换,从时域转变为频域,将每一个音高在每一滑窗内的能量记录下来,将同一音级、不同八度的音符的能量(以响度计)叠加,得到色度特征。
和弦数据包括和弦种类(或称为和弦品质)和根音。和弦种类如major(大三和弦)、minor(小三和弦)、diminished(减和弦)、augmented(增和弦)、dominant(属和弦)等。根音是指和弦中最低的音,如C、C#、D、D#、E、F、F#、G、G#、A、A#、B等音。
在本申请的一个实施例中,事件表示为event,和弦事件即和弦event,和弦even包括和弦种类even、和弦根音event。
步骤420、根据节拍检测结果确定基础乐器数字接口数据的小节数据,并根据小节数据生成小节事件。
如前所述,音乐中的小节通常以强拍为起点,那么节拍检测结果中强拍的实际发生事件就是小节开始时间,在小节开始时间处标记小节,生成小节event。
步骤430、检测基础乐器数字接口数据中的音符数据,并根据音符数据生成音符事件。
具体的,基础MIDI数据中记录了音符数据,音符数据包括音符位置、音符种类、音符持续时间和音符力度,对应的,音符事件包括音符位置事件、音符种类事件、音符持续时间事件和音符力度事件。
在本申请的一个实施例中,生成音符事件的过程包括:根据基础乐器数字接口数据中的音符种类生成音符种类事件;将基础乐器数字接口数据中的每个小节的时长划分为多个第一时刻,将距离音符的起始时间最近的第一时刻作为音符的起始时刻,并根据各个音符的起始时刻生成各个音符对应的音符位置事件;将基础乐器数字接口数据中的每个小节的时长划分为多个第二时刻,将距离音符的结束时间最近的第二时刻作为音符的结束时刻,根据各个音符对应的起始时刻和结束时刻确定音符持续时间,并根据各个音符对应的音符持续时间生成各个音符对应的音符持续时间事件;基于预设映射规则将基础乐器数字接口数据中每个音符的音符力度表示映射至目标力度表示,并根据各个音符的目标力度表示生成各个音符对应的音符力度事件。
具体的,基础MIDI数据中用一个0-127的编码表示音符种类,也就是音符种类共有128种,例如,0表示最低音C-1,127为最高音G9。根据每个音符的种类,生成音符种类event。一般的,音符种类even记录在基础MIDI数据中音符的起始时间位置,而本申请实施例对音符的起始时间位置进行了量化。
将基础MIDI数据中识别出的一个小节划分为多个第一时刻,然后将小节中各个音符的起始时间与各个第一时刻进行匹配,将距离音符的起始时间最近的第一时刻作为该音符对应的起始时刻,然后将该音符平移,使得音符的起始时间与对应的起始时刻重合,并在起始时刻的位置生成音符位置event。需要说明的是,在对音符的起始时间量化的过程中,对音符的平移是对整个音符进行平移,也就是音符的起始时间和结束时间同步平移。示例性的,将一个小节划分为16份,即16个第一时刻(不包括小节的起始时刻),那么音符的起始时刻为这16个第一时刻中的一种,比如音符的起始时刻在第1个第一时刻,则音符位置event在小节的1/16位置。
在对音符的起始时间量化后,接下来继续对音符的结束时间进行量化,其量化过程与音符起始时间的量化过程相似,具体为:将基础MIDI数据中识别出的一个小节划分为多个第二时刻,然后将小节中各个音符的结束时间与各个第二时刻进行匹配,确定与音符的结束时间最近的第二时刻,该距离最近的第二时刻就是该音符对应的结束时刻。然后将该音符的结束时间移动至对应的结束时刻,那么,由音符的起始时刻和结束时刻,就可以确定该音符的持续时间,也就是音符的时长,从而生成音符持续时间event。需要说明的是,在移动音符结束时间的过程中,音符的起始时刻已经固定,故而只是对音符的结束时间进行移动。一般的,最短音符长度为32分音符,故而可以将一个小节划分为32份,即32个第二时刻,那么音符的结束时刻为这32个第二时刻中的一种,比如音符的结束时刻在第3个第二时刻,相当于音符的结束时刻为3/32小节位置,若音符的起始时刻为1/16小节位置,则音符的持续时间为3/32-1/16=1/32小节时长。有时候,最长音符达到2个小节,故而可能存在一个音符的起始时刻在第一小节,其结束时刻在于第一小节相邻的第二小节。
基础MIDI数据中用一个0-127之间的编码表示音符力度,在本申请实施例中,通过预设映射规则将基础MIDI数据中的音符力度表示映射为所需的目标力度表示,进而生成音符力度event。例如,将音符的目标力度表示设为32种,即将0-127映射至1-32,0-3映射为1,4-6映射为2,7-9映射为3,以此类推。
在本申请的一个实施例中,音符事件还包括速度event,速度event记录在每个音符的起始时刻处,速度表示每分钟节拍数。在进行格式转换处理时,已对MIDI数据进行了校对,从校对后的基础MIDI数据中即可获取每个音符对应的速度信息,从而生成速度event。在本申请实施例中,速度共有180种,范围是30-209bpm。
根据以上处理可知,本申请实施例中生成的乐曲事件包括:小节事件、音符位置事件、音符种类事件、音符持续时间事件、音符力度事件、速度事件、和弦种类事件和和弦根音事件。在一个示例性实施例中,各乐曲事件的具体内容如下表1所示:
表1
事件类型 数量 具体内容
小节 1 /
音符位置 16 1-16
音符种类 128 0(C-1)-127(G9)
音符持续时间 32 1-32
音符力度 32 1-32
速度 180 30–209bpm
和弦根音 12 C,C#,D,D#,E,F,F#,G,G#,A,A#,B
和弦种类 5 major,minor,diminished,augmented,dominant
需要说明的是,表1中的数量是指对应事件类型的种类,而不是指根据基础MIDI数据只能生成对应数量的乐曲事件。例如,小节的数量为1,是指在基础MIDI数据中小节只有一种,但是生成的小节event可以是多个。又例如,音符种类为128,是指在基础MIDI数据中最大可能包括128种音符,但是每种音符生成的音符种类event可以是多个,比如,基础MIDI数据中包括多个G9音符,则可以生成多个G9音符对应的音符种类event。
步骤440、将和弦事件、小节事件和音符事件按照时间序列排列,生成乐曲事件序列。
具体的,将各个乐曲事件按照事件序列排列,生成乐曲事件序列。例如,各乐曲事件的排列顺序可以是:第一个小节event、第一个音符位置event、音符速度event、和弦种类event、和弦根音event、音符种类event、音符持续时间event、音符力度event、第二个音符位置event等等。
在本申请的一个实施例中,当基础乐曲信息为一个乐曲数据时,那么基础乐器数字接口数据中也是一个乐曲数据,根据基础乐器数字接口数据只生成一个乐曲事件,此时可以将该乐曲事件与其他类型的预设乐曲事件排序,生成乐曲事件序列。预设乐曲事件可以是空值,也可以是上述各类型乐曲事件中的一种。示例性的,由基础乐器数字接口数据生成的乐曲事件为一个速度事件,其他类型的预设乐曲事件均为0,则该速度事件与预设乐曲事件结合,生成乐曲事件序列。又例如,由基础乐器数字接口数据生成的乐曲事件为和弦事件(可以是和弦根音事件、和弦种类事件或和弦根音事件与和弦种类事件的结合),预设速度事件可以是100bpm,其余预设速度事件设为0,由此生成包括和弦事件和预设速度事件的乐曲事件序列。
继续参考图2,步骤240、对乐曲事件序列进行特征提取和映射处理,并基于处理结果得到目标乐曲数据。
在本申请实施例中,对乐曲事件序列的特征提取和映射处理可以通过预设序列预测模型实现。将乐曲事件序列输入预设序列预测模型,预设序列预测模型对其进行特征提取和映射处理,以预测与该乐曲时间序列之后的下一目标乐曲事件,预测的目标乐曲事件也按照时间序列排列,当预测的目标乐曲事件的排列达到指定长度,就相当于生成了指定时长的目标乐曲序列。其中,指定时长可以通过外部输入确定,也可以是随机生成的参数,或是预设序列预测模型的设定参数。
由于目标乐曲序列实际上是多个目标乐曲事件的排列,其无法通过计算机或音频播放设备识别,故而需要对其进行转化,将目标乐曲序列转化为目标乐器数字接口数据,得到能够由计算机识别的目标乐曲数据。目标乐曲序列转化为目标乐器数字接口数据的过程实际上是event序列与MIDI数据之间的转化,相当于根据基础MIDI数据生成乐曲事件序列的逆过程,故而基于前述步骤230中的逆过程,就可以实现目标乐曲序列转化为目标乐器数字接口数据的过程。
具体而言,首先确定各个目标乐曲事件的类型,目标乐曲事件的类型包括:小节事件、音符位置事件、音符种类事件、音符持续时间事件、音符力度事件、速度事件、和弦种类事件和和弦根音事件。然后根据各目标乐曲事件类型对应的转化规则将目标乐曲事件转化为MIDI数据,例如,将1/16位置事件转化为对应的音符起始时刻(表示为几分几秒);又例如,音符力度事件对应的音符力度为32,则转化后MIDI数据中的音符力度为127。
在得到目标乐器数字接口数据后,可以直接将其作为目标乐曲数据,也可以进一步对其进行格式转换处理,得到能够由音频播放设备播放的目标音频数据。此过程的格式转换处理相当于前文步骤220中的逆过程。
在本申请实施例提供的技术方案中,通过基础乐曲信息生成基础乐器数字接口数据,进而生成乐曲事件序列,最后通过乐曲事件序列得到目标乐曲数据,实现了乐曲的自动创作,减少了乐曲创作过程的人工依赖性。无论基础乐曲信息是一段音频数据,还是一个乐曲数据,都能够生成目标乐曲数据,乐曲创作流程简单,乐曲创作者在不熟悉乐理知识的情况下也能够实现乐曲创作,降低了乐曲创作的门槛和成本。并且,当基础乐曲信息是一段音频数据时,相当于实现了基于该音频数据的乐曲续写;当基础乐曲信息是一个乐曲数据时,相当于基于一个乐曲数据从零开始生成了一首新的乐曲;可见,乐曲创作有多种模式,且目标乐曲数据的时长可以指定,极大地提高了乐曲创作的灵活性。
在本申请的一个实施例中,本申请技术方案还包括预设序列预测模型的构建过程,具体为:对样本音频数据进行音源分离处理,以提取样本音频数据的样本音轨数据;对样本音轨数据进行格式转换处理,得到样本乐器数字接口数据;根据样本乐器数字接口数据中各乐曲数据所生成样本乐曲事件;将预设数量的样本乐曲事件进行排序,生成样本乐曲事件序列,并基于样本乐曲事件序列训练预测模型,得到预设序列预测模型。
具体的,获取多个样本音频数据,然后对每个样本音频数据进行音源分离处理,提取样本音频数据中的样本音轨数据,一般的,样本音轨数据为钢琴音轨数据。然后对样本音轨数据进行MIDI转录处理,转换为样本乐器数字接口数据,样本音轨数据与样本MIDI数据实际所表达的音乐内容相同,只是二者对音乐的存储格式不同。接下来根据样本音频数据生成样本乐曲事件,通过对样本音频数据进行节拍检测、校对、和弦识别、小节检测、音符数据检测等过程,生成多个样本乐曲事件,该过程可以参考前文根据基础乐器数字接口数据生成乐曲事件过程的相关描述,在此不再赘述。最后根据样本乐曲事件生成样本乐曲事件序列,使用样本乐曲事件序列对预测模型进行训练,得到预设序列预测模型。
样本乐曲事件序列是从将各样本乐曲事件按照时间顺序排列后,从中截取的预设数量的样本乐曲事件构成的,例如,将各样本乐曲事件按照时间顺序排列后,截取第1-512个样本乐曲事件构成一个样本乐曲事件序列,截取第513-1024个样本乐曲事件构成一个样本乐曲事件序列等。如此,一个样本音频数据可以生成多个样本乐曲事件序列,相较于相关技术中使用大量样本音频进行模型训练的方法,本申请技术方案基于少量样本音频数据实现模型训练,极大地减少了预测模型训练所需的样本音频的数据量。
在本申请的一个实施例中,预测模型使用能够对长距离片段建立依赖的网络,如Transformer-XL模型。在预测模型的训练过程中,模型的每次迭代,都会存储本次训练所得到的隐藏层权重(weight),在下一次迭代时将算出的该隐藏层权重与存储的隐藏层权重进行拼接,再进行后续网络运算,在本申请实施例中,将一定数量的样本乐曲事件作为一组训练样本,每对该组训练样本训练一次,缓存一次隐藏层权重。例如,以5个样本乐曲事件作为一组训练样本来缓存隐藏层权重。
在本申请的一个实施例中,预测模型的训练目标是模型输出的预测乐曲与样本音频之间的音乐差距越小越好。音乐差距可以通过曲调、节奏、音色、力度、和声等音乐元素体现。同时,曲调、节奏、音色、力度、和声等音乐元素也提下了一首乐曲的音乐风格,那么模型训练的目标也就是预测乐曲的音乐风格与样本音频的音乐风格越相似越好。同样的,在使用训练好的预设序列预测模型生成目标乐曲数据时,若基础乐曲信息是一段音频数据,则生成的目标乐曲数据的音乐风格应与该音频数据所对应的音乐风格一致;若基础乐曲信息是一个乐曲数据,则生成的目标乐曲数据的音乐风格将与样本音频的音乐风格一致。
示例性的,图5示意性地示出了本申请一个实施例提供的乐曲的生成方法的流程图,如图5所示,该方法包括:
S501、获取样本音频数据。
S502、对样本音频数据进行音源分离处理,提取样本音频数据中的钢琴音轨数据。
S503、对钢琴音轨数据进行节拍检测,得到节拍检测结果,节拍检测结果包括钢琴音轨数据中每个节拍的实际发生时间。节拍包括强拍与弱拍,强拍的实际发生时间表示小节开始的时间。
S504、对钢琴音轨数据进行格式转换处理,得到原始样本MIDI数据。
S505、根据节拍检测结果对原始样本MIDI数据进行校对,得到样本MIDI数据。其中,校对的具体操作内容可以参考前文步骤320中的相关描述,在此不再赘述。
S506、对样本MIDI数据进行和弦识别,得到样本和弦数据,并根据样本和弦数据生成样本和弦事件。样本和弦事件包括样本和弦种类时间和样本和弦根音事件。
S507、对样本MIDI数据进行小节数据检测和音符数据检测,生成样本小节事件和样本音符事件;并根据所有按时间顺序排列的事件生成多个样本乐曲事件序列。其中,样本音符事件包括样本音符位置事件、样本音符种类事件、样本音符持续时间事件、样本音符力度事件和样本速度事件。事件生成过程以及事件序列的生成过程可以参考前文步骤410-步骤440中的相关描述,在此不再赘述。
S508、使用样本乐曲事件序列训练预测模型,得到训练好的预设序列预测模型。
S509、获取基础乐曲信息并将其转换为基础乐器数字接口数据,根据基础乐器数字接口数据生成乐曲事件序列,并通过预设序列预测模型对乐曲事件序列进行处理,生成目标乐曲序列。本步骤的具体过程可以参考前文相关描述,在此不再赘述。
S510、对目标乐曲序列进行事件逆转化处理,得到目标MIDI数据。本步骤的具体过程可以参考前文相关描述,在此不再赘述。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的乐曲的生成方法。图6示意性地示出了本申请实施例提供的乐曲的生成装置的结构框图。如图6所示,本申请实施例提供的乐曲的生成装置包括:
数据获取模块610,用于获取用于生成目标乐曲数据的基础乐曲信息,所述基础乐曲信息包括至少一种类型的乐曲数据;
格式转换模块620,用于对所述基础乐曲信息进行格式转换处理,得到所述基础乐曲信息对应的基础乐器数字接口数据;
乐曲事件生成模块630,用于根据所述基础乐器数字接口数据中各类型的乐曲数据生成乐曲事件,并对各乐曲事件进行排序,生成乐曲事件序列;
目标乐曲生成模块640,用于对所述乐曲事件序列进行特征提取和映射处理,并基于处理结果得到目标乐曲数据。
在本申请的一个实施例中,所述基础乐曲信息是由多种乐曲数据构成的音频数据;格式转换模块620包括:
格式转换单元,用于对所述音频数据进行格式转换处理,得到原始乐器数字接口数据;
节拍检测单元,用于对所述音频数据进行节拍检测,得到节拍检测结果,所述节拍检测结果包括所述音频数据中每个节拍的实际发生时间;
校对单元,用于根据所述节拍检测结果对所述原始乐器数字接口数据进行校对,得到所述基础乐曲信息对应的基础乐器数字接口数据。
在本申请的一个实施例中,所述校对单元具体用于:
根据所述节拍检测结果中第一节拍与第二节拍之间的时间间隔确定所述第一节拍对应的每分钟节拍数,所述第二节拍是在所述第一节拍之后且与所述第一节拍相邻的节拍;
根据所述第一节拍对应的每分钟节拍数确定所述第一节拍对应的第一音符在所述原始乐器数字接口数据中的目标时长;
若所述第一节拍在所述原始乐器数字接口数据中的记录时长与所述目标时长不同,则根据所述目标时长调整所述记录时长。
在本申请的一个实施例中,所述各类型的乐曲数据包括小节数据、和弦数据和音符数据;乐曲事件生成模块630包括:
和弦事件生成单元,用于对所述基础乐器数字接口数据进行和弦识别,得到和弦数据,并根据所述和弦数据生成和弦事件;
小节事件生成单元,用于根据所述节拍检测结果确定所述基础乐器数字接口数据的小节数据,并根据所述小节数据生成小节事件;
音符事件生成单元,用于检测所述基础乐器数字接口数据中的音符数据,并根据所述音符数据生成音符事件;
事件序列生成单元,用于将所述和弦事件、所述小节事件和所述音符事件按照时间序列排列,生成乐曲事件序列。
在本申请的一个实施例中,所述和弦事件生成单元具体用于:
以时间维度为基准,通过预设长度的窗口在所述基础乐器数字接口数据中滑动,根据各个窗口的色度特征确定所述基础乐器数字接口数据中的和弦数据。
在本申请的一个实施例中,所述音符数据包括音符位置、音符种类、音符持续时间和音符力度,所述音符事件包括音符位置事件、音符持续时间事件和音符力度事件;所述音符事件生成单元具体用于:
根据所述基础乐器数字接口数据中的音符种类生成音符种类事件;
将所述基础乐器数字接口数据中的每个小节的时长划分为多个第一时刻,将距离音符的起始时间最近的第一时刻作为所述音符的起始时刻,并根据各个音符的起始时刻生成各个音符对应的音符位置事件;
将所述基础乐器数字接口数据中的每个小节的时长划分为多个第二时刻,将距离音符的结束时间最近的第二时刻作为所述音符的结束时刻,根据各个音符对应的起始时刻和结束时刻确定音符持续时间,并根据各个音符对应的音符持续时间生成各个音符对应的音符持续时间事件;
基于预设映射规则将所述基础乐器数字接口数据中每个音符的音符力度表示映射至目标力度表示,并根据各个音符的目标力度表示生成各个音符对应的音符力度事件。
在本申请的一个实施例中,所述基础乐曲信息由一种类型的乐曲数据构成;格式转换模块620用于:
根据所述基础乐器数字接口数据的数据格式对所述乐曲数据进行格式转换处理,得到所述乐曲数据对应的基础乐器数字接口数据。
在本申请的一个实施例中,目标乐曲生成模块640具体用于:
通过预设序列预测模型对所述乐曲事件序列进行特征提取和映射处理,得到指定时长的目标乐曲序列,所述目标乐曲序列包括多个目标乐曲事件;
将所述目标乐曲序列中的多个目标乐曲事件转化为目标乐器数字接口数据,得到目标乐曲数据。
在本申请的一个实施例中,所述装置还包括模型构建模块,所述模型构建模块具体用于:
对样本音频数据进行音源分离处理,以提取所述样本音频数据的样本音轨数据;对所述样本音轨数据进行格式转换处理,得到样本乐器数字接口数据;根据所述样本乐器数字接口数据中各乐曲数据所生成样本乐曲事件;将预设数量的样本乐曲事件进行排序,生成样本乐曲事件序列,并基于所述样本乐曲事件序列训练预测模型,得到预设序列预测模型。
本申请各实施例中提供的乐曲的生成装置的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
图7示意性地示出了用于实现本申请实施例的电子设备的计算机***结构框图。
需要说明的是,图7示出的电子设备的计算机***700仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机***700包括中央处理器701(Central Processing Unit,CPU),其可以根据存储在只读存储器702(Read-Only Memory,ROM)中的程序或者从存储部分708加载到随机访问存储器703(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器703中,还存储有***操作所需的各种程序和数据。中央处理器701、在只读存储器702以及随机访问存储器703通过总线704彼此相连。输入/输出接口705(Input/Output接口,即I/O接口)也连接至总线704。
以下部件连接至输入/输出接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至输入/输出接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理器701执行时,执行本申请的***中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (12)

1.一种乐曲的生成方法,其特征在于,包括:
获取用于生成目标乐曲数据的基础乐曲信息,所述基础乐曲信息包括至少一种类型的乐曲数据;
对所述基础乐曲信息进行格式转换处理,得到所述基础乐曲信息对应的基础乐器数字接口数据;
根据所述基础乐器数字接口数据中各类型的乐曲数据生成乐曲事件,并对各乐曲事件进行排序,生成乐曲事件序列;
对所述乐曲事件序列进行特征提取和映射处理,并基于处理结果得到目标乐曲数据。
2.根据权利要求1所述的乐曲的生成方法,其特征在于,所述基础乐曲信息是由多种乐曲数据构成的音频数据;对所述基础乐曲信息进行格式转换处理,得到所述基础乐曲信息对应的基础乐器数字接口数据,包括:
对所述音频数据进行格式转换处理,得到原始乐器数字接口数据;
对所述音频数据进行节拍检测,得到节拍检测结果,所述节拍检测结果包括所述音频数据中每个节拍的实际发生时间;
根据所述节拍检测结果对所述原始乐器数字接口数据进行校对,得到所述基础乐曲信息对应的基础乐器数字接口数据。
3.根据权利要求2所述的乐曲的生成方法,其特征在于,根据所述节拍检测结果对所述原始乐器数字接口数据进行校对,包括:
根据所述节拍检测结果中第一节拍与第二节拍之间的时间间隔确定所述第一节拍对应的每分钟节拍数,所述第二节拍是在所述第一节拍之后且与所述第一节拍相邻的节拍;
根据所述第一节拍对应的每分钟节拍数确定所述第一节拍对应的第一音符在所述原始乐器数字接口数据中的目标时长;
若所述第一节拍在所述原始乐器数字接口数据中的记录时长与所述目标时长不同,则根据所述目标时长调整所述记录时长。
4.根据权利要求2所述的乐曲的生成方法,其特征在于,所述各类型的乐曲数据包括小节数据、和弦数据和音符数据;根据所述基础乐器数字接口数据中各类型的乐曲数据生成乐曲事件,并对各乐曲事件进行排序,生成乐曲事件序列,包括:
对所述基础乐器数字接口数据进行和弦识别,得到和弦数据,并根据所述和弦数据生成和弦事件;
根据所述节拍检测结果确定所述基础乐器数字接口数据的小节数据,并根据所述小节数据生成小节事件;
检测所述基础乐器数字接口数据中的音符数据,并根据所述音符数据生成音符事件;
将所述和弦事件、所述小节事件和所述音符事件按照时间序列排列,生成乐曲事件序列。
5.根据权利要求4所述的乐曲的生成方法,其特征在于,对所述基础乐器数字接口数据进行和弦识别,得到和弦数据,包括:
以时间维度为基准,通过预设长度的窗口在所述基础乐器数字接口数据中滑动,根据各个窗口的色度特征确定所述基础乐器数字接口数据中的和弦数据。
6.根据权利要求4所述的乐曲的生成方法,其特征在于,所述音符数据包括音符位置、音符种类、音符持续时间和音符力度,所述音符事件包括音符位置事件、音符持续时间事件和音符力度事件;检测所述基础乐器数字接口数据中的音符数据,并根据所述音符数据生成音符事件,包括:
根据所述基础乐器数字接口数据中的音符种类生成音符种类事件;
将所述基础乐器数字接口数据中的每个小节的时长划分为多个第一时刻,将距离音符的起始时间最近的第一时刻作为所述音符的起始时刻,并根据各个音符的起始时刻生成各个音符对应的音符位置事件;
将所述基础乐器数字接口数据中的每个小节的时长划分为多个第二时刻,将距离音符的结束时间最近的第二时刻作为所述音符的结束时刻,根据各个音符对应的起始时刻和结束时刻确定音符持续时间,并根据各个音符对应的音符持续时间生成各个音符对应的音符持续时间事件;
基于预设映射规则将所述基础乐器数字接口数据中每个音符的音符力度表示映射至目标力度表示,并根据各个音符的目标力度表示生成各个音符对应的音符力度事件。
7.根据权利要求1所述的乐曲的生成方法,其特征在于,所述基础乐曲信息由一种类型的乐曲数据构成;对所述基础乐曲信息进行格式转换处理,得到所述基础乐曲信息对应的基础乐器数字接口数据,包括:
根据所述基础乐器数字接口数据的数据格式对所述乐曲数据进行格式转换处理,得到所述乐曲数据对应的基础乐器数字接口数据。
8.根据权利要求1-7任一项所述的乐曲的生成方法,其特征在于,对所述乐曲事件序列进行特征提取和映射处理,并基于处理结果得到目标乐曲数据,包括:
通过预设序列预测模型对所述乐曲事件序列进行特征提取和映射处理,得到指定时长的目标乐曲序列,所述目标乐曲序列包括多个目标乐曲事件;
将所述目标乐曲序列中的多个目标乐曲事件转化为目标乐器数字接口数据,得到目标乐曲数据。
9.根据权利要求8所述的乐曲的生成方法,其特征在于,所述方法还包括:
对样本音频数据进行音源分离处理,以提取所述样本音频数据的样本音轨数据;
对所述样本音轨数据进行格式转换处理,得到样本乐器数字接口数据;
根据所述样本乐器数字接口数据中各乐曲数据所生成样本乐曲事件;
将预设数量的样本乐曲事件进行排序,生成样本乐曲事件序列,并基于所述样本乐曲事件序列训练预测模型,得到预设序列预测模型。
10.一种乐曲的生成装置,其特征在于,包括:
数据获取模块,用于获取用于生成目标乐曲数据的基础乐曲信息,所述基础乐曲信息包括至少一种类型的乐曲数据;
格式转换模块,用于对所述基础乐曲信息进行格式转换处理,得到所述基础乐曲信息对应的基础乐器数字接口数据;
乐曲事件生成模块,用于根据所述基础乐器数字接口数据中各类型的乐曲数据生成乐曲事件,并对各乐曲事件进行排序,生成乐曲事件序列;
目标乐曲生成模块,用于对所述乐曲事件序列进行特征提取和映射处理,并基于处理结果得到目标乐曲数据。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至9中任意一项所述的乐曲的生成方法。
12.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器执行所述可执行指令使得所述电子设备执行权利要求1至9中任意一项所述的乐曲的生成方法。
CN202210128261.6A 2022-02-11 2022-02-11 乐曲的生成方法、装置、计算机可读介质及电子设备 Pending CN116631359A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210128261.6A CN116631359A (zh) 2022-02-11 2022-02-11 乐曲的生成方法、装置、计算机可读介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210128261.6A CN116631359A (zh) 2022-02-11 2022-02-11 乐曲的生成方法、装置、计算机可读介质及电子设备

Publications (1)

Publication Number Publication Date
CN116631359A true CN116631359A (zh) 2023-08-22

Family

ID=87601332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210128261.6A Pending CN116631359A (zh) 2022-02-11 2022-02-11 乐曲的生成方法、装置、计算机可读介质及电子设备

Country Status (1)

Country Link
CN (1) CN116631359A (zh)

Similar Documents

Publication Publication Date Title
JP4640407B2 (ja) 信号処理装置、信号処理方法及びプログラム
CN112382257B (zh) 一种音频处理方法、装置、设备及介质
US7288710B2 (en) Music searching apparatus and method
Stein et al. Automatic detection of audio effects in guitar and bass recordings
CN103597543A (zh) 语义音轨混合器
US9892758B2 (en) Audio information processing
CN110211556B (zh) 音乐文件的处理方法、装置、终端及存储介质
US11271993B2 (en) Streaming music categorization using rhythm, texture and pitch
Kirchhoff et al. Evaluation of features for audio-to-audio alignment
US11948542B2 (en) Systems, devices, and methods for computer-generated musical note sequences
Su et al. Sparse modeling of magnitude and phase-derived spectra for playing technique classification
CN112365868A (zh) 声音处理方法、装置、电子设备及存储介质
Zhang et al. Melody extraction from polyphonic music using particle filter and dynamic programming
CN113781989B (zh) 一种音频的动画播放、节奏卡点识别方法及相关装置
CN108369800B (zh) 声处理装置
CN109410972B (zh) 生成音效参数的方法、装置及存储介质
JP2012506061A (ja) デジタル音楽音響信号の分析方法
Kitahara et al. Musical instrument recognizer" instrogram" and its application to music retrieval based on instrumentation similarity
CN115331648A (zh) 音频数据处理方法、装置、设备、存储介质及产品
CN116631359A (zh) 乐曲的生成方法、装置、计算机可读介质及电子设备
Kitahara et al. Instrogram: A new musical instrument recognition technique without using onset detection nor f0 estimation
Eronen Signal processing methods for audio classification and music content analysis
CN114664277A (zh) 音频评估方法及装置
CN116710998A (zh) 信息处理***、电子乐器、信息处理方法及程序
Von Coler et al. Vibrato detection using cross correlation between temporal energy and fundamental frequency

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination