CN117496963A - 音乐生成方法、音乐生成模型的训练方法及装置 - Google Patents

音乐生成方法、音乐生成模型的训练方法及装置 Download PDF

Info

Publication number
CN117496963A
CN117496963A CN202210887742.5A CN202210887742A CN117496963A CN 117496963 A CN117496963 A CN 117496963A CN 202210887742 A CN202210887742 A CN 202210887742A CN 117496963 A CN117496963 A CN 117496963A
Authority
CN
China
Prior art keywords
music
score
musical
tone
initial
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
CN202210887742.5A
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 CN202210887742.5A priority Critical patent/CN117496963A/zh
Publication of CN117496963A publication Critical patent/CN117496963A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • 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
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Theoretical Computer Science (AREA)
  • Auxiliary Devices For Music (AREA)

Abstract

本申请公开了一种音乐生成方法、音乐生成模型的训练方法、装置、计算机设备、存储介质及计算机程序产品,属于音频技术领域。本申请通过对不同音乐风格配置定制化的音乐生成模型,根据给定的音乐风格信息,能够找到支持生成对应音乐风格的目标音乐生成模型,再通过该目标音乐生成模型来生成给定的初始乐谱之后的预测乐谱,使得预测乐谱既与初始乐谱具有一定关联性,也能够与该音乐风格信息所指示的音乐风格相适配,进而基于预测乐谱来生成具有该音乐风格的目标音乐,能够满足对任意音乐风格来定制化生成音乐的业务需求。

Description

音乐生成方法、音乐生成模型的训练方法及装置
技术领域
本申请涉及音频技术领域,特别涉及一种音乐生成方法、音乐生成模型的训练方法、装置、计算机设备、存储介质及计算机程序产品。
背景技术
随着音频技术的发展和进步,普遍存在利用机器来生成音乐的业务需求,目前,在生成音乐时,通常是利用Transformer模型来生成一段REMI(Revamped MIDI-DerivedEvents,改进型MIDI衍生事件)格式的乐谱,再将乐谱转换成MIDI(Musical InstrumentDigital Interface,乐器数据接口)格式的音乐。
由于Transformer模型是在约数千首流行音乐的数据集上训练得到的,模型能够生成多样化的流行音乐,但无法满足定制化地生成某种指定风格的音乐的业务需求。
发明内容
本申请实施例提供了一种音乐生成方法、音乐生成模型的训练方法、装置、计算机设备、存储介质及计算机程序产品,能够满足对任意音乐风格来定制化生成音乐的业务需求。该技术方案如下:
一方面,提供了一种音乐生成方法,所述方法包括:
获取待生成的音乐风格信息和初始乐谱,所述音乐风格信息用于指示待生成音乐的音乐风格;
基于所述音乐风格信息,从多个音乐生成模型中,确定与所述音乐风格信息相匹配的目标音乐生成模型,所述目标音乐生成模型用于合成具有所述音乐风格信息所指示音乐风格的乐谱;
将所述初始乐谱输入所述目标音乐生成模型,通过所述目标音乐生成模型生成所述初始乐谱之后的预测乐谱;
基于所述预测乐谱,生成具有所述音乐风格信息所指示音乐风格的目标音乐。
一方面,提供了一种音乐生成模型的训练方法,所述方法包括:
获取公共训练集和多个音乐风格各自关联的多个目标训练集;
基于所述公共训练集,训练得到初始音乐模型,所述初始音乐模型用于基于输入乐谱来合成所述输入乐谱之后的预测乐谱;
基于多个所述目标训练集,分别对所述初始音乐模型进行训练,得到所述多个音乐风格各自关联的多个音乐生成模型,所述音乐生成模型用于基于输入乐谱来合成所述输入乐谱之后且具有所关联的音乐风格的预测乐谱。
一方面,提供了一种音乐生成装置,所述装置包括:
获取模块,用于获取待生成的音乐风格信息和初始乐谱,所述音乐风格信息用于指示待生成音乐的音乐风格;
确定模块,用于基于所述音乐风格信息,从多个音乐生成模型中,确定与所述音乐风格信息相匹配的目标音乐生成模型,所述目标音乐生成模型用于合成具有所述音乐风格信息所指示音乐风格的乐谱;
乐谱生成模块,用于将所述初始乐谱输入所述目标音乐生成模型,通过所述目标音乐生成模型生成所述初始乐谱之后的预测乐谱;
音乐生成模块,用于基于所述预测乐谱,生成具有所述音乐风格信息所指示音乐风格的目标音乐。
在一些实施例中,所述目标音乐生成模型包括多个级联的解码子网络,所述解码子网络用于提取输入乐谱的语义信息;
所述乐谱生成模块包括:
解码子模块,用于将所述初始乐谱和所述预测乐谱中的已有乐音输入所述多个级联的解码子网络,通过多个所述解码子网络对所述初始乐谱和所述已有乐音进行解码,得到乐谱语义特征;
获取子模块,用于基于所述乐谱语义特征,获取所述预测乐谱中的下一个乐音;
其中,所述预测乐谱中的第一个乐音基于所述初始乐谱预测得到,所述预测乐谱中除了所述第一个乐音以外的乐音均基于所述初始乐谱和所述乐音之前的已有乐音预测得到。
在一些实施例中,所述解码子模块包括:
提取单元,用于对任一解码子网络,基于上一解码子网络输出的语义特征,提取所述下一个乐音的相关性特征和注意力特征,所述相关性特征表征所述下一个乐音与邻域乐音之间的关联程度,所述注意力特征表征所述下一个乐音与乐谱序列在音乐风格上的匹配程度,所述乐谱序列包括所述初始乐谱和所述已有乐音;
生成单元,用于基于所述相关性特征和所述注意力特征,生成所述解码子网络的语义特征,将所述解码子网络的语义特征输入到下一解码子网络中;
确定单元,用于重复执行上述解码操作,将最后一个解码子网络输出的语义特征确定为所述乐谱语义特征。
在一些实施例中,所述提取单元包括:
第一提取子单元,用于将所述上一解码子网络输出的语义特征输入到所述解码子网络的局部注意力层,通过所述局部注意力层的预设滑动窗口,提取所述下一个乐音与所述预设滑动窗口内所包含的邻域乐音之间的所述相关性特征。
在一些实施例中,所述提取单元包括:
第二提取子单元,用于将所述上一解码子网络输出的语义特征输入到所述解码子网络的全局注意力层,通过所述全局注意力层,提取所述下一个乐音与所述乐谱序列中所包含的乐音之间的初始注意力特征;
压缩子单元,用于对所述初始注意力特征进行压缩,得到所述注意力特征,其中,所述注意力特征的维度小于所述初始注意力特征的维度。
在一些实施例中,所述生成单元用于:
对所述相关性特征和所述注意力特征进行融合,得到所述下一个乐音的结构性特征;
将所述结构性特征确定为所述解码子网络的语义特征;或,基于所述结构性特征,生成所述解码子网络的语义特征。
在一些实施例中,所述获取子模块用于:
基于所述乐谱语义特征,生成所述下一个乐音属于多个音高的预测概率;
将预测概率最大的音高所指示的乐音确定为所述下一个乐音。
在一些实施例中,所述获取模块用于:
获取初始音乐的音乐文件;
对所述音乐文件进行编码,得到所述初始乐谱;
其中,所述初始乐谱包括所述初始音乐中包含的多个乐音各自的特征向量,所述乐音的特征向量用于表征所述乐音在所述初始乐谱中的至少两个特征属性值。
在一些实施例中,在所述音乐文件为乐器数据接口MIDI文件的情况下,所述乐音的特征向量用于表征所述乐音在所述MIDI文件中的至少两个关联事件。
在一些实施例中,所述初始音乐为基于所述音乐风格信息配置的预设音乐;或,所述初始音乐为外部输入的前奏音乐;或,所述初始音乐为随机初始化得到的随机音乐。
在一些实施例中,所述获取模块还用于:获取音调指示信息,所述音调指示信息用于指示待生成音乐的调式;
所述装置还包括:
删除模块,用于在所述目标音乐中,删除与所述音调指示信息不匹配的离调音,所述离调音是指偏离所述音调指示信息所指示调式的乐音。
在一些实施例中,所述装置还包括:
检索模块,用于在所述目标音乐的预测乐谱中,若存在多个乐音位于所述预测乐谱的同一小节的同一位置上,在所述多个乐音中检索目标乐音,所述目标乐音是指与所述多个乐音中任一乐音的音程之差小于音程阈值的乐音;
删除模块,用于在所述目标乐音和与所述目标乐音的音程之差小于所述音程阈值的乐音中,删除音高最低的乐音。
一方面,提供了一种音乐生成模型的训练装置,所述装置包括:
获取模块,用于获取公共训练集和多个音乐风格各自关联的多个目标训练集;
第一训练模块,用于基于所述公共训练集,训练得到初始音乐模型,所述初始音乐模型用于基于输入乐谱来合成所述输入乐谱之后的预测乐谱;
第二训练模块,用于基于多个所述目标训练集,分别对所述初始音乐模型进行训练,得到所述多个音乐风格各自关联的多个音乐生成模型,所述音乐生成模型用于基于输入乐谱来合成所述输入乐谱之后且具有所关联的音乐风格的预测乐谱。
在一些实施例中,所述第二训练模块包括:
乐谱预测子模块,用于对任一目标训练集中的样本乐谱,将所述样本乐谱输入所述初始音乐模型,输出所述样本乐谱之后的预测乐谱;
参数调整子模块,用于基于所述样本乐谱和所述预测乐谱之间的差异,调整所述初始音乐模型的参数,得到与所述目标训练集的音乐风格相关联的所述音乐生成模型。
在一些实施例中,在所述样本乐谱为具有所述目标训练集的音乐风格的前奏乐谱的情况下,所述预测乐谱的调式与所述前奏乐谱的调式相同。
在一些实施例中,所述乐谱预测子模块包括:
获取单元,用于获取音调指示信息,所述音调指示信息用于指示待生成音乐的调式;
提取单元,用于将所述样本乐谱和所述预测乐谱中的已有乐音输入所述初始音乐模型,通过所述初始音乐模型提取到乐谱语义特征;
生成单元,用于基于所述乐谱语义特征,生成所述已有乐音的下一个乐音属于多个音高的预测概率;
确定单元,用于从与所述音调指示信息相匹配的多个目标音高中,将预测概率最大的目标音高所指示的乐音确定为所述下一个乐音。
在一些实施例中,所述乐谱预测子模块还包括:
配置单元,用于将与所述音调指示信息不匹配的离调音的预测概率配置为目标概率,所述目标概率小于或等于所述多个目标音高各自的多个预测概率中的最小预测概率,所述离调音是指偏离所述音调指示信息所指示调式的乐音。
一方面,提供了一种计算机设备,该计算机设备包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器加载并执行以实现如上述任一种可能实现方式的音乐生成方法或音乐生成模型的训练方法。
一方面,提供了一种存储介质,该存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现如上述任一种可能实现方式的音乐生成方法或音乐生成模型的训练方法。
一方面,提供一种计算机程序产品或计算机程序,所述计算机程序产品或所述计算机程序包括一条或多条程序代码,所述一条或多条程序代码存储在计算机可读存储介质中。计算机设备的一个或多个处理器能够从计算机可读存储介质中读取所述一条或多条程序代码,所述一个或多个处理器执行所述一条或多条程序代码,使得计算机设备能够执行上述任一种可能实施方式的音乐生成方法或音乐生成模型的训练方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过对不同音乐风格配置定制化的音乐生成模型,根据给定的音乐风格信息,能够找到支持生成对应音乐风格的目标音乐生成模型,再通过该目标音乐生成模型来生成给定的初始乐谱之后的预测乐谱,使得预测乐谱既与初始乐谱具有一定关联性,也能够与该音乐风格信息所指示的音乐风格相适配,进而基于预测乐谱来生成具有该音乐风格的目标音乐,能够满足对任意音乐风格来定制化生成音乐的业务需求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还能够根据这些附图获得其他的附图。
图1是本申请实施例提供的一种音乐生成方法的实施环境示意图;
图2是本申请实施例提供的一种音乐生成方法的流程图;
图3是本申请实施例提供的一种音乐生成方法的原理性示意图;
图4是本申请实施例提供的一种音乐生成方法的流程图;
图5是本申请实施例提供的一种特征序列编码方式的原理性示意图;
图6是本申请实施例提供的一种自回归式乐音预测的流程图;
图7是本申请实施例提供的一种音乐生成模型的训练方法的流程图;
图8是本申请实施例提供的一种音乐生成模型的微调阶段的流程图;
图9是本申请实施例提供的一种音乐生成模型的训练过程的原理性示意图;
图10是本申请实施例提供的一种音乐生成装置的结构示意图;
图11是本申请实施例提供的一种音乐生成模型的训练装置的结构示意图;
图12是本申请实施例提供的一种计算机设备的结构示意图;
图13是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上,例如,多个第一位置是指两个或两个以上的第一位置。
本申请中术语“包括A或B中至少一项”涉及如下几种情况:仅包括A,仅包括B,以及包括A和B两者。
本申请中涉及到的用户相关的信息(包括但不限于用户的设备信息、个人信息、行为信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,当以本申请实施例的方法运用到具体产品或技术中时,均为经过用户许可、同意、授权或者经过各方充分授权的,且相关信息、数据以及信号的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的训练集中的训练样本都是在充分授权的情况下获取的。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括音频处理技术、计算机视觉技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中音频处理技术(Speech Technology,也称语音处理技术)成为未来最被看好的人机交互方式之一,具体包括语音合成技术(Text To Speech,TTS,也称文语转换技术)、自动语音识别技术(Automatic Speech Recognition,ASR)、语音分离技术等。
随着AI技术的发展,音频处理技术在多个领域展开了研究和应用,例如常见的智能音箱、智能语音助手、语音购物系统、语音识别产品、智能家居、智能穿戴设备、虚拟助理、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、自动驾驶、智慧交通等,相信随着AI技术的发展,音频处理技术将在更多的领域得到应用,发挥越来越重要的价值。
本申请实施例涉及音频处理领域内的音乐合成技术(或称为音乐生成技术),是指由计算机根据一段输入乐谱,自动预测得到输入乐谱之后的预测乐谱,并将预测乐谱转换成一段音乐的技术,可适用于各种存在音乐合成需求的应用场景,比如,利用本申请实施例的音乐生成方法,能够生成游戏场景中的背景音乐,又或者,利用本申请实施例的音乐生成方法,还能够辅助作曲人员进行前奏续写等。
下面,对本申请实施例涉及的术语进行解释。
MIDI(Musical Instrument Digital Interface,乐器数据接口):MIDI是一种编码电子音乐的技术标准,它描述了连接各种电子乐器、计算机和相关音频设备以进行播放、编辑和录音的通信协议、数字接口和电气连接器。MIDI将乐谱中的要素,如音高、起始时间、结束时间等信息进行编码,再由相关音频设备进行播放。
REMI(Revamped MIDI-Derived Events,改进型MIDI衍生事件):指一种改进型MIDI编码方式,它将MIDI中的要素整合编码为音高、持续时间、时长、和弦等信息,以将更多的音乐信息编码其中。
Transformer(变换器):一种基于自注意力机制的神经网络结构,在自然语言处理、语音技术和计算机视觉等领域有广泛的应用。
自回归训练:是指一种神经网络的训练方法,自回归方式训练得到的模型,能够根据序列的历史信息,预测下一个时刻的信息。
随着音频技术的发展和进步,普遍存在利用机器来生成音乐的业务需求。目前的音乐生成系统,主要采用REMI+Transformer的生成方法,即,先将原始的MIDI格式的音乐文件编码成为REMI格式的训练样本,再在训练样本构成的数据集上训练得到Transformer音乐生成模型,通常,训练样本对应的音乐文件包括数千首流行风格的音乐。Transformer音乐生成模型的训练方式采取自回归训练,在自回归训练方式下,模型的优化目标为根据历史序列中所有时间步的音乐内容,预测下一个时刻的音乐内容,针对REMI格式的乐谱来说,每个时间步对应于乐谱中的一个乐音,每个乐音具有唯一对应的音高(或称为音符),换言之,上述自回归方式相当于,根据乐谱序列中的已有乐音,预测乐谱序列中的下一个乐音。通过训练完毕的Transformer音乐生成模型,能够合成音乐的REMI格式的乐谱,再将乐谱转换成MIDI格式的音乐。
在上述REMI+Transformer的方式,一方面,由于Transformer模型是在约数千首流行音乐的数据集上训练得到的,模型能够生成多样化的流行音乐,但无法满足定制化地生成某种指定风格的音乐的业务需求;另一方面,由于REMI格式的编码长度较长,导致Transformer模型生成的乐谱,在时间长度超过1分钟以后,音乐风格会产生突变,因此合成音乐的前后连续性较差,且音乐风格不连贯;另一方面,Transformer模型无法稳定地生成高质量的音乐,即,Transformer模型在生成阶段的生成结果中,会出现一定比例的低质量音乐(Bad Case);另一方面,Transformer模型捕捉音乐的结构性的能力较差,导致生成音乐的结构性较差,音乐中前后乐音的关联关系也比较不稳定。
有鉴于此,本申请实施例提出一种音乐生成方法和音乐生成模型的训练方法,由于训练方法划分成两个阶段,大数据预训练阶段和定制化数据微调阶段,在大数据预训练阶段利用10万余首(或更多或更少数量的样本)音乐来对模型进行训练,在训练完毕后得到一个初始音乐模型,接着,收集不同音乐风格(如欢快、舒缓等)的小数据集若干,来定制每种音乐风格自身的目标训练集,在初始音乐模型的基础上,分别使用不同的目标训练集进行微调,以针对每种音乐风格都单独训练得到一个定制化的音乐生成模型,保证训练完毕的音乐生成模型的输出音乐与目标训练集中样本音乐的音乐风格一致,能够满足针对不同音乐风格的定制化需求,并且得益于预训练阶段的大数据样本,使得定制化的音乐生成模型的输出音乐又具有一定的多样性。
进一步的,在Transformer模型的解码器的基础上来构建音乐生成模型,传统Transformer模型包括编码器-解码器架构,本申请实施例中将Transformer模型的解码器,改造成Transformer-LS(Long Sort Transformer,长短变换器)模型的解码器架构,即,Transformer-LS模型的解码器中,将分别提取输入乐谱中的局部特征(即本申请实施例涉及的相关性特征)和全局特征(即本申请实施例涉及的注意力特征),并将两种特征聚合来实现更强的结构性特征提取能力,这样能够增强输出乐谱所合成音乐的结构性,使得合成音乐中前后乐音的关联关系更加稳定,且避免了音乐风格产生突变。
进一步的,通过重新设计REMI编码,能够将传统一维的REMI编码改成二维的特征编码,在新的编码方式下,每一个时间步对应于一个乐音和所有与当前乐音有关的音乐事件,如小节编号、在小节中的位置、音高、时长、力度、速度、音调、乐器等,并且除了按照时间步排序之外,新的编码方式下可以按照任意音乐事件进行排序,比如按照乐器排序、按照音高排序、按照音调排序等,能够使用不同类型音乐的查看需求,例如,针对合成的交响乐可以按照乐器排序,便于使用不同乐器的人员查看自身乐器所需演奏的乐谱,这一新的编码方式还能够极大缩短编码长度,使得稳定生成的音乐时长变长,降低了低质量音乐的生成概率。
进一步的,涉及了一种基于乐理规则的后处理模块,能够对输出音乐进行质量把控,比如,在设定了音调指示信息的情况下,能够在输出音乐中删除离调音,或者还能够处理小二度音(指在同一小节的同一位置出现的两个音程之差小于2的乐音)等,由于离调音会降低合成音乐与指定音乐风格的匹配程度,小二度音会降低合成音乐的音乐质量,因此通过后处理能够提升合成音乐与指定音乐风格适配程度,且还能够提升合成音乐的音乐质量。
下面,将对本申请实施例的实施环境进行介绍。
图1是本申请实施例提供的一种音乐生成方法的实施环境示意图。参见图1,该实施环境中包括终端101和服务器102。
终端101用于提供初始乐谱,终端101上可以安装和运行有支持播放音乐的应用程序,如游戏应用、音频播放应用、音频编辑应用、音视频应用、音频合成应用、音频后期应用等。
以辅助作曲场景为例进行说明,作曲人员在该终端101上登录该应用程序,并向该应用程序中输入数字化的前奏音乐,接着,作曲人员可以选择本次待生成音乐的音乐风格信息,并点击辅助作曲选项,触发终端101向服务器102发送辅助作曲请求,该辅助作曲请求中至少携带账号标识、该前奏音乐和该音乐风格信息,例如前奏音乐是MIDI格式的音乐文件,服务器102接收到该辅助作曲请求后,解析得到账号标识、该前奏音乐和该音乐风格信息,对账号标识进行鉴权验证通过后,将前奏音乐重编码得到初始乐谱,并利用音乐风格信息从模型库中挑选出来本次待使用的目标音乐生成模型,再利用目标音乐生成模型来合成初始乐谱之后的预测乐谱,基于预测乐谱所合成的目标音乐,就是根据前奏音乐进行续写,且与该音乐风格信息相匹配的音乐。
以生成游戏背景音乐场景为例进行说明,技术人员在终端101上登录该应用程序,并向应用程序中输入游戏中待合成的背景音乐的音乐风格信息,接着,可以点击背景音乐生成选项,触发终端101向服务器102发送背景音乐生成请求,该背景音乐生成请求中至少携带账号标识和该音乐风格信息,服务器102接收到该背景音乐生成请求后,解析得到账号标识和该音乐风格信息,对账号标识进行鉴权验证通过后,可以随机初始化得到一个初始乐谱,或者选择一个与音乐风格信息相匹配的初始乐谱,接着,利用音乐风格信息从模型库中挑选出来本次待使用的目标音乐生成模型,再利用目标音乐生成模型来合成初始乐谱之后的预测乐谱,基于预测乐谱所合成的目标音乐,就是对指定的音乐风格信息定制化生成游戏背景音乐。
终端101以及服务器102能够通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
服务器102用于提供音乐生成服务,可选地,服务器102包括一台服务器、多台服务器、云计算平台或者虚拟化中心中的至少一种。可选地,服务器102可以承担主要音乐生成工作,终端101可以承担次要音乐生成工作;或者,服务器102承担次要音乐生成工作,终端101承担主要音乐生成工作;或者,终端101和服务器102两者之间采用分布式计算架构进行协同音乐生成。
在一些实施例中,服务器102侧训练并存储有多种不同音乐风格各自分别对应的多个音乐生成模型,在接收到音乐生成请求(如辅助作曲请求、背景音乐生成请求等)之后,根据音乐生成请求中携带的音乐风格信息,来选择本次使用的目标音乐生成模型,又或者,在音乐生成请求中缺省音乐风格信息的情况下,可以选择默认的音乐风格信息对应的目标音乐生成模型,本申请实施例对此不进行具体限定。
在上述过程中,仅以各个音乐生成模型的训练侧和使用侧均在服务器端实施为例进行说明,这样能够节约终端101的处理资源。
在另一些实施例中,服务器102还可以在训练完毕各个音乐生成模型之后,将各个训练完毕的音乐生成模型下发到终端101上,这样终端101能够在本地实现音乐合成,而无需与服务器102进行通信交互,从而能够节约一定的通信开销。
在另一些实施例中,各个音乐生成模型的训练侧和使用侧也可以均部署在终端101,这样终端101本地训练得到能够生成定制化音乐风格的音乐的音乐生成模型,并利用训练得到的音乐生成模型来合成指定音乐风格的音乐,无需服务器102参与,也能够节约一定的通信开销。
在一些实施例中,服务器102是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。
在一些实施例中,终端101泛指多个终端中的一个,终端101的设备类型包括但不限于:智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能语音交互设备、智能家电、车载终端、飞行器、电视机、电子书阅读器、MP3(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器等,但并不局限于此。
本领域技术人员可以知晓,上述终端101的数量可以更多或更少。比如上述终端101可以仅为一个,或者上述终端101为几十个或几百个,或者更多数量。本申请实施例对终端101的数量和设备类型不加以限定。
以下,对本申请实施例涉及的音乐生成流程进行简单说明。
图2是本申请实施例提供的一种音乐生成方法的流程图。参见图2,该实施例由服务器执行,服务器是计算机设备的一种示例性说明,该实施例包括下述步骤:
201、服务器获取待生成的音乐风格信息和初始乐谱,该音乐风格信息用于指示待生成音乐的音乐风格。
可选地,该音乐风格信息可以是设定的音乐风格的风格名称、风格编号、风格标识(Identification,ID)等能够唯一标识音乐风格的信息,本申请实施例对音乐风格信息的信息类型不进行具体限定。
在一些实施例中,服务器获取外部输入的音乐风格信息;或者,服务器从本地读取该音乐风格信息;或者,服务器从云端下载该音乐风格信息;或者,服务器接收终端的音乐生成请求,解析该音乐生成请求得到该音乐风格信息;又或者,服务器接收到的音乐生成请求中缺省了音乐风格信息,则服务器确定默认的音乐风格信息,本申请实施例对音乐风格信息的来源不进行具体限定。
在一些实施例中,服务器获取外部输入的初始乐谱;或者,服务器从本地读取该初始乐谱;或者,服务器从云端下载该初始乐谱;或者,服务器接收终端的音乐生成请求,解析该音乐生成请求得到该初始乐谱;又或者,服务器接收到的音乐生成请求中缺省了初始乐谱,则服务器选择与该音乐风格信息相匹配的预设乐谱作为初始乐谱,或服务器随机初始化得到一个初始乐谱,本申请实施例对初始乐谱的来源不进行具体限定。
在另一些实施例中,初始乐谱是由服务器基于初始音乐获取到的。可选地,初始音乐是外部输入的音乐文件;或者,服务器从本地读取该初始音乐;或者,服务器从云端下载该初始音乐;又或者,服务器接收终端的音乐生成请求,解析该音乐生成请求得到该初始音乐,再对该初始音乐进行重编码,得到该初始乐谱;又或者,服务器接收到的音乐生成请求中缺省了初始音乐,则服务器选择与该音乐风格信息相匹配的预设音乐作为初始音乐,或服务器随机初始化得到一个初始音乐,再对上述获取到的初始音乐进行重编码,得到初始乐谱,本申请对服务器直接获取初始乐谱,还是通过初始音乐来获取初始乐谱不进行具体限定。
在一些实施例中,在基于初始音乐重编码得到初始乐谱的时候,以初始音乐为MIDI格式的音乐文件为例,可以将MIDI格式的初始音乐编码为REMI格式的初始乐谱,还可以将MIDI格式的初始音乐,使用本申请实施例提供的二维编码方式,对每个乐音编码得到一个多维的特征向量,使用多个乐音的多个特征向量构成的特征序列作为初始乐谱,本申请实施例对初始乐谱的编码方式不进行具体限定,在下一实施例中,将对编码方式进行详细描述。
202、服务器基于该音乐风格信息,从多个音乐生成模型中,确定与该音乐风格信息相匹配的目标音乐生成模型,该目标音乐生成模型用于合成具有该音乐风格信息所指示音乐风格的乐谱。
在一些实施例中,服务器侧维护有一个模型库,在该模型库中至少存储有多个音乐生成模型,每个音乐生成模型用于合成具有一种特定音乐风格的乐谱,即,音乐生成模型和对应音乐风格的风格标识进行关联存储,服务器基于上述步骤201获取到的音乐风格信息,确定该音乐风格信息所指示音乐风格的风格标识,接着,以该风格标识为索引,查询到与该风格标识关联存储的音乐生成模型,将该查询到的音乐生成模型确定为本次待使用的目标音乐生成模型。例如,上述步骤201获取到的音乐风格信息为风格名称“欢快的”,服务器基于风格名称“欢快的”查询到风格标识为001,接着以风格标识001为索引,查询到与该风格标识001关联存储的音乐生成模型A,将查询得到的音乐生成模型A确定为本次的目标音乐生成模型。
203、服务器将该初始乐谱输入该目标音乐生成模型,通过该目标音乐生成模型生成该初始乐谱之后的预测乐谱。
其中,该预测乐谱与该初始乐谱相关联,比如,预测乐谱可以是按照初始乐谱(相当于前奏乐谱)续写得到的乐谱,并且,该预测乐谱与该音乐风格信息相匹配,即,基于预测乐谱合成的目标音乐具有该音乐风格信息所指示的音乐风格。
在一些实施例中,服务器将上述步骤201获取到初始乐谱输入到上述步骤202确定到的目标音乐生成模型中,接着,通过该目标音乐生成模型以自回归的方式逐个输出预测乐谱中的每个乐音。
在一些实施例中,以自回归的方式逐个输出预测乐谱中的每个乐谱是指:将初始乐谱输入到目标音乐生成模型中,通过目标音乐生成模型输出该预测乐谱中的第一个乐音,接着,将该初始乐谱和该第一个乐音输入到目标音乐生成模型中,通过目标音乐生成模型输出该预测乐谱的第二个乐音,以此类推,将该初始乐谱和已有的i个乐音输入到目标音乐生成模型中,通过目标音乐生成模型输出第i+1个乐音,最终在符合停止条件时,目标音乐生成模型停止预测,得到逐个输出的各个乐音构成的一个预测乐谱。
可选地,该停止条件可以是目标音乐生成模型输出了终止符,又或者,该停止条件可以是预测乐谱的乐谱长度到达设定长度,设定长度为任一大于0的整数,又或者,该停止条件可以是预测乐谱所合成的目标音乐的音乐时长大于设定时长,设定时长为任一大于0的数值,本申请实施例对停止条件不进行具体限定。
204、服务器基于该预测乐谱,生成具有该音乐风格信息所指示音乐风格的目标音乐。
在一些实施例中,服务器基于该预测乐谱,该预测乐谱的文件格式与上述步骤201中初始乐谱的编码方式保持一致,比如,若步骤201中得到的是REMI格式的初始乐谱,则目标音乐生成模型也会输出REMI格式的预测乐谱,又比如,若步骤201中重编码得到特征序列格式的初始乐谱,则目标音乐生成模型也会输出特征序列格式的预测乐谱,本申请实施例对此不进行具体限定。
在服务器获取到上述预测乐谱的基础上,服务器可以将该预测乐谱转换成为可播放格式的目标音乐,比如,将预测乐谱转换成MIDI格式的目标音乐,或者,将预测乐谱转换成其他格式(如MP3、MP4格式)的目标音乐等,本申请实施例对目标音乐的文件格式不进行具体限定。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过对不同音乐风格配置定制化的音乐生成模型,根据给定的音乐风格信息,能够找到支持生成对应音乐风格的目标音乐生成模型,再通过该目标音乐生成模型来生成给定的初始乐谱之后的预测乐谱,使得预测乐谱既与初始乐谱具有一定关联性,也能够与该音乐风格信息所指示的音乐风格相适配,进而基于预测乐谱来生成具有该音乐风格的目标音乐,能够满足对任意音乐风格来定制化生成音乐的业务需求。
图3是本申请实施例提供的一种音乐生成方法的原理性示意图,如图3所示,用户301可以自定义一个音乐风格信息,如用户301选择音乐风格为“欢快的”,即,用户301输入音乐风格信息302为“欢快的”,服务器基于音乐风格信息302“欢快的”,从定制风格的模型库303中,查询得到与该音乐风格信息302“欢快的”相匹配的目标音乐生成模型3031,接着,利用目标音乐生成模型3031来生成具有“欢快的”音乐风格的目标音乐304。
在上述过程中,由于在模型库303中会存在各种各样不同音乐风格各自的音乐生成模型,这样能够满足定制化风格的音乐生成需求,通过细化音乐风格的粒度和属性,还能够进行精细化的定制风格的音乐生成,比如,用户可以不输入音乐风格信息,而是输入一段待配乐的视频,由服务器根据该视频提取到待合成的音乐风格信息,再基于该音乐风格信息查找到对应的目标音乐生成模型,以通过该目标音乐生成模型来合成视频的背景音乐,能够广泛适用于各种各样存在定制化风格的音乐合成需求的场景。
在一个示例性场景中,上述实施例涉及的音乐生成方法可应用于游戏背景音乐生成场景,根据不同游戏场景的场景需求,可确定不同场景需求对应的音乐风格信息,从而使用不同的目标音乐生成模型来生成具有不同音乐风格的背景音乐,并且由于对任意指定的音乐风格,都能够找到对应的音乐生成模型来合成具有该音乐风格的背景音乐,这样能够实现定制化风格的音乐生成方案,并且,针对不同的游戏场景能够设置具有不同风格的背景音乐,这些不同风格的背景音乐由不同的音乐生成模型来自动生成,而无需人工耗时耗力进行编曲。
在一个示例性场景中,上述实施例涉及的音乐生成方法可应用于辅助作曲场景,作曲人员通过指定不同的音乐风格信息,能够使用不同的音乐生成模型来生成不同的目标音乐,再从合成的目标音乐中提取可能有用的片段、旋律等信息,能够很好地辅助作曲人员进行作曲,为作曲人员提供灵感,提高作曲人员的作曲效率,并且,作曲人员还可以预先编写一段前奏音乐,这样通过将前奏音乐的前奏乐谱设置成初始乐谱,能够促使音乐生成模型根据前奏乐谱来进行续写,输出的预测乐谱能够为作曲人员续写提供参考,极大节约了作曲时间,提高了作曲效率。
图4是本申请实施例提供的一种音乐生成方法的流程图,如图4所示,该实施例由服务器执行,服务器是计算机设备的一种示例性说明,该实施例包括下述步骤:
401、服务器获取待生成的音乐风格信息、音调指示信息和初始音乐的音乐文件。
其中,该音乐风格信息用于指示待生成音乐的音乐风格,该音乐风格信息可以是设定的音乐风格的风格名称、风格编号、风格标识等能够唯一标识音乐风格的信息,例如,音乐风格信息为风格名称“欢快的”,本申请实施例对音乐风格信息的信息类型不进行具体限定。
其中,该音调指示信息用于指示待生成音乐的调式,该音调指示信息可以是设定的音乐风格相适配的调式名称、调式编号、调式标识等能够唯一标识音乐调式的信息,例如,音调指示信息为调式名称“C大调”,本申请实施例对音调指示信息的信息类型不进行具体限定。
其中,该初始音乐的音乐文件可以是各类音频数据的存储格式的文件,比如,音乐文件可以是MIDI文件、MP3文件、MP4文件等,本申请实施例对初始音乐的音乐文件的文件类型不进行具体限定。
在一些实施例中,服务器获取外部输入的音乐风格信息;或者,服务器从本地读取该音乐风格信息;或者,服务器从云端下载该音乐风格信息;或者,服务器接收终端的音乐生成请求,解析该音乐生成请求得到该音乐风格信息;又或者,服务器接收到的音乐生成请求中缺省了音乐风格信息,则服务器确定默认的音乐风格信息,本申请实施例对音乐风格信息的来源不进行具体限定。
在一些实施例中,服务器获取外部输入的音调指示信息;或者,服务器从本地读取该音调指示信息;或者,服务器从云端下载该音调指示信息;或者,服务器接收终端的音乐生成请求,解析该音乐生成请求得到该音调指示信息;又或者,服务器接收到的音乐生成请求中缺省了音调指示信息,则服务器确定默认的音调指示信息,本申请实施例对音调指示信息的来源不进行具体限定。
在一些实施例中,服务器获取外部输入的初始音乐的音乐文件;或者,服务器从本地读取该初始音乐的音乐文件;或者,服务器从云端下载该初始音乐的音乐文件;或者,服务器接收终端的音乐生成请求,解析该音乐生成请求得到该初始音乐的音乐文件;又或者,服务器接收到的音乐生成请求中缺省了初始音乐的音乐文件,则服务器确定默认的初始音乐的音乐文件,本申请实施例对初始音乐的音乐文件的来源不进行具体限定。
在一些实施例中,上述获取到的初始音乐,可以是服务器基于该音乐风格信息所配置的预设音乐,比如,服务器对每种音乐风格都预先配置有多个预设音乐,进而在用户未指定初始音乐的情况下,从该音乐风格信息所指示音乐风格对应的多个预设音乐中,随机选择一个作为本次的初始音乐。
在一些实施例中,上述获取到的初始音乐,可以是外部输入的前奏音乐,比如,用户在终端侧录入一段前奏音乐,并通过终端将该前奏音乐发送至服务器,如将前奏音乐、音乐风格信息和音调指示信息均封装在音乐生成请求中,并将音乐生成请求发送至服务器。
在一些实施例中,如果服务器既没有配置不同音乐风格配置预设音乐,也没有获取到用户指定的前奏音乐,那么还可以将随机初始化得到的随机音乐确定为本次的初始音乐,本申请实施例对初始音乐的获取方式不进行具体限定。
在本申请实施例中,将以服务器基于初始音乐编码得到初始乐谱为例进行说明,这样使得用户无需关注初始乐谱的乐谱格式或编码方式,只需要给定初始音乐或者服务器自动获取初始音乐即可,能够提高人机交互效率,在另一些实施例中,服务器还可以直接获取到初始乐谱,这样能够简化获取初始乐谱的流程,详细请参考上一实施例中步骤201的描述,这里不做赘述。
402、服务器对该初始音乐的音乐文件进行编码,得到初始乐谱。
在一些实施例中,该初始乐谱包括该初始音乐中包含的多个乐音各自的特征向量,该乐音的特征向量用于表征该乐音在该初始乐谱中的至少两个特征属性值。
在一些实施例中,若该初始音乐的音乐文件为MIDI文件,服务器可以直接将MIDI文件转换成REMI格式的初始乐谱,并基于REMI格式的初始乐谱来执行后续流程,这样无需对MIDI文件进行复杂的特征向量编码,能够简化初始乐谱的获取流程。
在一些实施例中,若该初始音乐的音乐文件为MIDI文件,服务器还可以对初始乐谱中的每个乐音,都将该乐音在该MIDI文件中的至少两个关联事件编码成为该乐音的特征向量,最终得到该初始乐谱中各个乐音的特征向量构成的特征序列,这一特征序列作为后续目标音乐生成模型的输入信号,这样相较于REMI编码方式来说,由于每个乐音的特征向量都用于表征该乐音在MIDI文件中的至少两个关联事件,这样能够极大缩短特征序列的编码长度,换言之,相较于REMI的一维编码方式来说,本申请实施例涉及的这种编码方式,能够将一维REMI数据转换成多维的特征向量,而在待编码的信息量不变的情况下,将会极大缩短编码长度。
在一些实施例中,上述关联事件包括:该乐音的小节编号、在小节中的位置、音高、时长、力度、速度、乐器或者节拍中的至少两个。由于REMI编码方式不会引入乐器和节拍这两个维度的特征属性值(特征属性值在MIDI文件中称为关联事件),因此本申请实施例涉及的编码方式,能够在缩短编码长度的前提下,引入更多待编码的信息,从而提升了特征向量的表达能力。
图5是本申请实施例提供的一种特征序列编码方式的原理性示意图,如图5所示,在对MIDI音乐文件501进行编码后,以乐音为单位,将MIDI文件中所有与当前乐音有关的关联事件编码成一个8维的特征向量502。其中,每个乐音的特征向量502包括8个关联事件:乐音的小节编号、在小节中的位置、音高、时长、力度、速度、乐器和节拍,这样的特征序列编码方式,编码所得的特征序列中的每个特征向量502都包含上述8个特征属性值,这8个特征属性值也代表了当前乐音的8个关联事件的事件状态值。
在一个示例中,当关联事件“音高”取值为60时,代表了当前乐音的音高为MIDI文件中的第60个音(如中央C),又例如,当关联事件“速度”取值为120时,代表了当前乐音的速度为MIDI文件中的第120个编号所指示的速度,又比如,当关联事件“乐器”取值为1时,代表了当前乐音的演奏乐器是钢琴,又比如,当关联事件“节拍”取值为9时,代表了当前乐音的节拍为4/4拍,这里不做赘述。
在上述过程中,通过将MIDI格式的初始音乐,编码成为初始乐谱的特征序列,特征序列能够不但能够详尽表征初始乐谱中各个乐音的特征属性值,而且还能够极大缩短编码长度,有利于后续目标音乐生成模型能够稳定地生成时间更长的目标音乐。
在一些实施例中,若该初始音乐的音乐文件不是MIDI文件,可以将该音乐文件(如MP3文件、MP4文件)转换成MIDI文件之后,再通过上述任一编码方式来进行编码得到初始乐谱,本申请实施例对此不进行具体限定。
在上述步骤401-402中,提供了服务器基于初始音乐获取初始乐谱的一种可能实施方式,这样使得用户无需关注初始乐谱的乐谱格式或编码方式,只需要给定初始音乐或者服务器自动获取初始音乐即可,能够提高人机交互效率,在另一些实施例中,服务器还可以直接获取到初始乐谱,这样能够简化获取初始乐谱的流程,详细请参考上一实施例中步骤201的描述,这里不做赘述。
403、服务器基于该音乐风格信息,从多个音乐生成模型中,确定与该音乐风格信息相匹配的目标音乐生成模型。
其中,该目标音乐生成模型用于合成具有该音乐风格信息所指示音乐风格的乐谱。
在一些实施例中,服务器侧维护有一个模型库,在该模型库中至少存储有多个音乐生成模型,每个音乐生成模型用于合成具有一种特定音乐风格的乐谱,即,音乐生成模型和对应音乐风格的风格标识进行关联存储,服务器基于上述步骤401获取到的音乐风格信息,确定该音乐风格信息所指示音乐风格的风格标识,接着,以该风格标识为索引,查询到与该风格标识关联存储的音乐生成模型,将该查询到的音乐生成模型确定为本次待使用的目标音乐生成模型。例如,上述步骤401获取到的音乐风格信息为风格名称“欢快的”,服务器基于风格名称“欢快的”查询到风格标识为001,接着以风格标识001为索引,查询到与该风格标识001关联存储的音乐生成模型A,将查询得到的音乐生成模型A确定为本次的目标音乐生成模型。
404、服务器将该初始乐谱输入该目标音乐生成模型,通过该目标音乐生成模型生成该初始乐谱之后的预测乐谱。
可选地,该预测乐谱与该初始乐谱相关联,比如,预测乐谱可以是按照初始乐谱(相当于前奏乐谱)续写得到的乐谱,并且,该预测乐谱与该音乐风格信息相匹配,即,基于预测乐谱合成的目标音乐具有该音乐风格信息所指示的音乐风格。
在一些实施例中,服务器将上述步骤402获取到初始乐谱输入到上述步骤403确定到的目标音乐生成模型中,接着,通过该目标音乐生成模型以自回归的方式逐个输出预测乐谱中的每个乐音。
在一些实施例中,以自回归的方式逐个输出预测乐谱中的每个乐谱是指:将初始乐谱输入到目标音乐生成模型中,通过目标音乐生成模型输出该预测乐谱中的第一个乐音,即,接着,将该初始乐谱和该第一个乐音输入到目标音乐生成模型中,通过目标音乐生成模型输出该预测乐谱的第二个乐音,以此类推,将该初始乐谱和已有的i个乐音输入到目标音乐生成模型中,通过目标音乐生成模型输出第i+1个乐音,最终在符合停止条件时,目标音乐生成模型停止预测,得到逐个输出的各个乐音构成的一个预测乐谱。换言之,该预测乐谱中的第一个乐音基于该初始乐谱预测得到,该预测乐谱中除了该第一个乐音以外的乐音均基于该初始乐谱和该乐音之前的已有乐音预测得到。其中,i为大于或等于1的整数。
在一些实施例中,上述能够以自回归方式输出预测乐谱的目标音乐生成模型,是以自回归方式训练得到的与该音乐风格信息所指示音乐风格相匹配的音乐生成模型,下面,将以一种可能的自回归式的目标音乐生成模型所具有的模型结构为例,说明利用目标音乐生成模型如何以自回归方式,基于初始乐谱和预测乐谱中的已有乐音来预测下一个乐音。
在一些实施例中,该目标音乐生成模型包括多个级联的解码子网络,该解码子网络用于提取输入乐谱的语义信息,图6是本申请实施例提供的一种自回归式乐音预测的流程图,如图6所示,假设在任一时间步的情况下,可以通过下述步骤4041-4042来实现自回归式的乐音预测:
4041、服务器将初始乐谱和预测乐谱中的已有乐音输入该多个级联的解码子网络,通过多个该解码子网络对该初始乐谱和该已有乐音进行解码,得到乐谱语义特征。
在一些实施例中,服务器可以获取初始乐谱和预测乐谱中的已有乐音,再将该初始乐谱和该已有乐音构成的乐谱序列输入到该多个级联的解码子网络中,由于解码子网络之间是级联的,代表上一解码子网络的输出信号会作为当前解码子网络的输入信号。需要说明的是,在预测第一个乐音时,已有乐音可以缺省。
在上述过程中,服务器将乐谱序列输入到目标音乐生成模型的第一个解码子网络中,提取到第一个解码子网络的语义特征,再将该第一个解码子网络的语义特征输入到第二个解码子网络中,提取到第二个解码子网络的语义特征,再将第二个解码子网络的语义特征输入到第三个解码子网络中,以此类推,这些解码子网络之间是级联的。
下面将以任一解码子网络为例,介绍单个解码子网络的解码流程,对任一解码子网络来说,服务器可执行如下步骤A1-A3以实现单个子网络的解码流程:
A1、服务器基于上一解码子网络输出的语义特征,提取该下一个乐音的相关性特征和注意力特征。
其中,该相关性特征表征该下一个乐音与邻域乐音之间的关联程度,换言之,该相关性特征能够反映出来该下一个乐音与其局部相邻乐音之间的关联程度,能够聚焦于和弦走向等局部特征。
其中,该注意力特征表征该下一个乐音与乐谱序列在音乐风格上的匹配程度,该乐谱序列包括该初始乐谱和该已有乐音,换言之,该注意力特征能够反映出来该下一个乐音与乐谱序列中各个乐音之间的全局相关性,能够聚焦于音乐风格等全局特征。
在一些实施例中,在当前的解码子网络中设置有局部注意力层和全局注意力层,局部注意力层用于提取下一个乐音的相关性特征,全局注意力层用于提取下一个乐音的注意力特征。可选地,在局部注意力层之后可设置有残差归一化层,即,将局部注意力层提取到的相关性特征以及上一解码子网络输出的语义特征进行拼接后,输入到残差归一化层中进行归一化处理。可选地,在全局注意力层之后也可设置有残差归一化层,即,将全局注意力层提取到的注意力特征以及上一解码子网络输出的语义特征进行拼接后,输入到残差归一化层中进行归一化处理。需要说明的是,不同的残差归一化层可具有不同的层内参数,本申请实施例对此不进行具体限定。
在一些实施例中,服务器可以将上一解码子网络输出的语义特征输入到该解码子网络的局部注意力层中,通过该局部注意力层的预设滑动窗口,提取该下一个乐音与该预设滑动窗口内所包含的邻域乐音之间的该相关性特征。换言之,在局部注意力层中设置有预设滑动窗口,预设滑动窗口的尺寸可以是固定长度的(例如固定长度为64、128或其他数值),通常,由于在预测过程中,未来时刻的乐音是无法看到的,因此预设滑动窗口可以以下一个乐音作为滑窗右端点,这样基于预设滑动窗口的固定长度,能够确定出来预设滑动窗口中所包含的各个邻域乐音,这些邻域乐音就是与下一个乐音最邻近的乐音,通过仅针对下一个乐音和每个邻域乐音,都通过注意力机制计算得到一个相关性矩阵作为相关性特征,使得在预测下一个乐音的相关性特征时,仅需要关于一个小的邻域范围内的乐音之间的关联程度,通过不断平移预设滑动窗口,这样能够使得在预测下一个乐音时能够在局部而非整个乐谱序列实现注意力机制,使得模型能够更多关注音乐的局部特征,如和弦走向就是一类典型的局部特征。
在一些实施例中,服务器可以将上一解码子网络输出的语义特征输入到该解码子网络的全局注意力层中,通过该全局注意力层,提取该下一个乐音与该乐谱序列中所包含的乐音之间的初始注意力特征,即,在预测下一个乐音时,对下一个乐音和乐谱序列中的每个乐音,都通过注意力机制计算得到一个注意力矩阵作为初始注意力特征,由于上述注意力矩阵能够反映下一个乐音与整体乐谱序列中每个乐音之间的关联程度,这样使得模型能够忽略掉一些局部特征,而是更多关注音乐的全局特征,如音乐风格就是一类典型的全局特征;进一步的,服务器还可以对该初始注意力特征进行压缩,得到该注意力特征,其中,该注意力特征的维度小于该初始注意力特征的维度,换言之,通过压缩初始注意力特征的维度,能够在聚焦于全局特征的前提下,压缩输出特征的维度,从而能够节约预测乐谱的获取时长,提升音乐生成效率。需要说明的是,上述压缩初始注意力特征的维度的处理,是可选操作,即,服务器也可以直接使用初始注意力特征作为注意力特征投入到下述步骤A2,本申请实施例对是否向输出特征进行维度压缩不进行具体限定。
需要说明的是,为了更加关注乐谱序列中各个乐音之间的时序关系,在将上一解码子网络输出的语义特征输入到当前的解码子网络之前,还可以对上一解码子网络输出的语义特征提取到一个位置编码向量,接着,将上一解码子网络输出的语义特征和其位置编码向量进行拼接,得到拼接向量,将拼接向量输入到当前的解码子网络中,这时当前的解码子网络中的局部注意力层和全局注意力层的输入信号都会变成拼接向量而非语义特征自身,从而能够在预测下一个语音时更加关注乐谱序列中各个乐音之间的时序关系,提升预测乐谱的合成质量。
相较于传统Transformer模型来说,Transformer模型的解码器的核心是多头自注意力机制(Multi-Head Self Attention),多头自注意力机制对乐谱序列中的每个乐音,都会计算当前乐音与整个乐谱序列中所有乐音之间的相似性。
示意性地,对第i个乐音来说,基于自注意力机制计算第i个乐音的相似性矩阵Hi时,依赖于Q(Query,查询)向量、K(Key,键)向量和V(Value,值)向量进行权重运算,例如,相似性矩阵Hi的计算方式如下:
其中,表征Q向量的权重矩阵,/>表征对第i个乐音通过权重矩阵运算得到的Q向量,/>表征K向量的权重矩阵,/>表征对第i个乐音通过权重矩阵运算得到的K向量,/>表征V向量的权重矩阵,/>表征对第i个乐音通过权重矩阵运算得到的V向量,Attention表征自注意力机制,softmax表征指数归一化操作,dk表征K向量的维度,()T表征求转置矩阵。
在上述公式中,将表示为变量Ai,即可得到等式最右侧的恒等转换。
在上述基于自注意力机制计算相似性矩阵Hi的前提下,多头自注意力机制是指设置多个自注意力机制模块,并将多个自注意力机制模块的输出进行聚合,因此,假设设置了h(h≥1)个自注意力机制模块,多头自注意力机制的多头相似性矩阵MultiHead(Q,K,V)的表达式如下:
MultiHead(Q,K,V)=Concat(H1,H2,...,Hh)WO
其中,Concat表征拼接操作,H1表征第1个自注意力机制模块提取到的相似性矩阵,H2表征第2个自注意力机制模块提取到的相似性矩阵,以此类推,Hh表征第h个自注意力机制模块提取到的相似性矩阵,WO则表征多头自注意力机制在进行向量聚合时所需施加的权重矩阵。
可以看出,上述传统Transformer模型在提取层内的相似性矩阵时,基于多头自注意力机制,对每个乐音都会计算该乐音与整体乐谱序列的相关性,会导致生成的音乐结构性比较差,换言之,由于模型无法分辨局部和全局特征,也就无法稳定的生成高质量的音乐。
而在本申请实施例中,对多头注意力机制进行了改进,即通过一个全局注意力层来提取全局的注意力特征,并通过一个局部注意力层来提取局部的相关性特征,再将注意力特征和相关性特征进行融合,以整合考虑局部注意力和全局注意力,由于兼顾了全局特征和局部特征,从而能够增强生成音乐的结构性。
A2、服务器基于该相关性特征和该注意力特征,生成该解码子网络的语义特征,将该解码子网络的语义特征输入到下一解码子网络中。
在一些实施例中,服务器可以对该相关性特征和该注意力特征进行融合,得到该下一个乐音的结构性特征,比如,服务器将该相关性特征和该注意力特征进行拼接,得到该结构性特征,或者,服务器将该相关性特征和该注意力特征进行按元素相加,得到该结构性特征,或者,服务器将该相关性特征和该注意力特征进行按元素相乘,得到该结构性特征,或者,服务器将该相关性特征和该注意力特征进行双线性汇合,得到该结构性特征等,本申请实施例对特征融合方式不进行具体限定。
在一些实施例中,在得到上述结构性特征之后,服务器可以直接将该结构性特征确定为该解码子网络的语义特征,并将该解码子网络的语义特征输入到级联的下一解码子网络中,对下一解码子网络执行步骤A1-A2的解码操作,以此类推。通过将相关性特征和注意力特征在当前的解码子网络的输出端进行融合,通过这一融合所得的结构性特征,使得模型既关注到了如和弦走向等局部特征,又关注到了如音乐风格等全局特征,并且能够显式区分全局特征和局部特征,使得模型能够对输出音乐的结构性进行更好地把握,从而有利于提升生成的预测乐谱的结构性。
在一些实施例中,在得到上述结构性特征之后,服务器还可以基于该结构性特征,生成该解码子网络的语义特征,比如,对该结构性特征进行残差归一化处理(即将该结构性特征与上一解码子网络的语义特征进行拼接后,再进行归一化处理),以避免在经过多个解码子网络后梯度爆炸,又或者,对该结构性特征进一步进行维度压缩(如进行池化操作),以减少后续解码子网络的计算量等,本申请实施例对如何处理结构性特征来获取当前解码子网络的语义特征不进行具体限定。
在上述过程中,由于全局注意力层提取到了下一个乐音在全局上的注意力特征,相当于一个较长(Long)的全局特征,而局部注意力层则提取到了下一个乐音在局部上的相关性特征,相当于一个较短(Short)的局部特征,因此,本申请实施例涉及到的每个解码子网络内部对结构性特征的提取方式,可称为Transformer-LS(Long Sort Transformer,长短变换器)的解码器架构,基于这一解码器架构,能够生成结构更加鲜明的音乐的预测乐谱。
进一步的,由于局部注意力机制本身会在一个固定长度的预设滑动窗口上实现,而预设滑动窗口的长度显然小于乐谱序列的长度,因此提取到的局部的相关性特征的维度显著降低,并且,全局注意力机制下又会对提取到全局的初始注意力特征进行维度压缩,因此提取到的全局的注意力特征的维度也会显著降低,因此,相较于传统Transformer模型的耗时来说,Transformer-LS解码器架构的生成训练时间和生成任一音乐的预测乐谱的时间,约为传统Transformer模型的60%,可见这种Transformer-LS解码器架构,不但能够提升音乐生成模型的训练效率,而且能够显著提升音乐生成效率。
A3、服务器重复执行上述A1-A2的解码操作,将最后一个解码子网络输出的语义特征确定为该乐谱语义特征。
在一些实施例中,在通过上述步骤A2提取到当前解码子网络的语义特征之后,可以将当前解码子网络的语义特征输入到下一解码子网络中,以下一解码子网络作为新的当前解码子网络,重复执行步骤A1-A2,直到获取到最后一个解码子网络的语义特征,将最后一个解码子网络的语义特征作为上述步骤4041所欲提取的乐谱语义特征。
在另一些实施例中,在通过上述步骤A2提取到当前解码子网络的语义特征之后,可以获取当前解码子网络的语义特征的位置编码向量,将当前解码子网络的语义特征和其位置编码向量进行拼接,得到拼接向量,将拼接向量输入到下一解码子网络中,以下一解码子网络作为新的当前解码子网络,重复执行步骤A1-A2,直到获取到最后一个解码子网络的语义特征,将最后一个解码子网络的语义特征作为上述步骤4041所欲提取的乐谱语义特征。
在上述步骤A1-A3中,提供了如何基于Transformer-LS解码器架构来获取乐谱语义特征的一种可能实施方式,这样有利于输出结构性更加鲜明的音乐的乐谱,可选地,服务器也可以基于传统Transformer模型的多头自注意力机制来提取到乐谱语义特征,本申请实施例对乐谱语义特征提取方式不进行具体限定。
4042、服务器基于该乐谱语义特征,获取该预测乐谱中的下一个乐音。
在一些实施例中,服务器基于该乐谱语义特征,生成该下一个乐音属于多个音高的预测概率,比如,将该乐谱语义特征输入到一个全连接层中进行全连接处理,得到一个全连接语义特征,在对该全连接语义特征进行softmax(指数归一化)处理,从而输出该下一个乐音属于多个音高的预测概率,比如,假设MIDI文件中划分了100个不同的音高,那么在通过softmax处理后,将会输出下一个乐音分别属于100个音高各自的100个预测概率。
在一些实施例中,在获取到上述多个预测概率的情况下,服务器可以直接将预测概率最大的音高所指示的乐音确定为该下一个乐音,比如,假设预测概率最大的音高为“音高:60”,预测概率高达89%,那么可以直接将“音高:60”所指示的乐音“中央C”确定为预测乐谱的下一个乐音。
需要说明的是,由于输入的初始乐谱中,对每个乐音都会生成一个特征向量,而特征向量中包括至少两个特征属性值,因此,在获取预测乐谱时,也需要对下一个乐音的特征向量进行整体性预测,换言之,对下一个乐音也需要预测至少两个特征属性值,这里预测乐谱中乐音的特征属性值的数量需要与初始乐谱中乐音的特征属性值的数量保持一致,比如初始乐谱中每个乐音都编码到一个8维特征向量(即8个特征属性值),那么模型也需要对预测乐谱中的每个乐音输出一个8维预测向量(即预测8个特征属性值)。
可以理解的是,上述对音高的预测过程仅是对“音高”这一种特征属性值的示例性说明,对其他的特征属性值如小节编号、在小节中的位置、时长、力度、速度、乐器和节拍,服务器均可以通过将乐谱语义特征先后输入到全连接层、softmax层来获取多个预测概率,并选择预测概率最大的特征属性值作为下一个乐音的特征属性值,其他特征属性值的预测方式与“音高”特征属性值的预测方式类似,这里不做赘述。
在一些实施例中,除了上述直接选择预测概率最大的特征属性值的预测方式以外,服务器还可以选择预测概率最大的topK(前K个)特征属性值,并在topK特征属性值中随机采样到下一个乐音的特征属性值,这样能够在预测过程中引入一些随机性,避免生成音乐的乐谱过拟合。
在上述步骤4041-4042中,示出了自回归式的乐音预测过程中,如何根据已有乐音来预测下一个乐音,服务器迭代执行上述步骤4041-4042,能够不断生成预测乐谱中的下一个乐音,直到在符合停止条件时停止预测,得到逐个输出的各个乐音构成的一个预测乐谱。
可选地,该停止条件可以是目标音乐生成模型输出了终止符,又或者,该停止条件可以是预测乐谱的乐谱长度到达设定长度,设定长度为任一大于0的整数,又或者,该停止条件可以是预测乐谱所合成的目标音乐的音乐时长大于设定时长,设定时长为任一大于0的数值,本申请实施例对停止条件不进行具体限定。
405、服务器基于该预测乐谱,生成具有该音乐风格信息所指示音乐风格的目标音乐。
在一些实施例中,服务器基于该预测乐谱,该预测乐谱的文件格式与上述步骤402中初始乐谱的编码方式保持一致,比如,若步骤402中得到的是REMI格式的初始乐谱,则目标音乐生成模型也会输出REMI格式的预测乐谱,又比如,若步骤402中重编码得到特征序列格式的初始乐谱,则目标音乐生成模型也会输出特征序列格式的预测乐谱,本申请实施例对此不进行具体限定。
在服务器获取到上述预测乐谱的基础上,服务器可以将该预测乐谱转换成为可播放格式的目标音乐,比如,将预测乐谱转换成MIDI格式的目标音乐,或者,将预测乐谱转换成其他格式(如MP3、MP4格式)的目标音乐等,本申请实施例对目标音乐的文件格式不进行具体限定。
在一些实施例中,在生成了目标音乐之后,服务器可以直接输出目标音乐,以简化目标音乐的生成流程,又或者,本申请实施例还提供如下述步骤406所示的离调音删除的后处理方式,以过滤掉目标音乐中的离调音,又或者,本申请实施例还提供如下述步骤407-408所示的又一后处理方式,以过滤掉目标音乐中某些影响听感的乐音,从而进一步提升生成的目标音乐的音乐质量。
需要说明的是,下述步骤406所示的后处理方式是可选步骤,下述步骤407-408所示的又一后处理方式也是可选步骤,服务器可以不执行上述两种后处理方式,或者执行任一种后处理方式,或者执行两种后处理方式,本申请实施例对此不进行具体限定。
406、服务器在该目标音乐中,删除与该音调指示信息不匹配的离调音。
其中,该离调音是指偏离该音调指示信息所指示调式的乐音。
在一些实施例中,服务器基于上述步骤401获取到的音调指示信息,确定了目标音乐本身应该具有的调式,接着,在目标音乐中删除偏离该调式的所有乐音(即离调音),从而能够在用户指定了音调指示信息的情况下,保证模型能够根据指定调式来合成目标音乐,通过删除离调音,能够保证生成的目标音乐中乐曲调式的稳定性。
在一个示例中,在合成完毕的目标音乐中,对所有乐音进行检索,若出现离调音,则将该离调音删除,在删除时可以在目标音乐和预测乐谱中均删除离调音。比如,若音调指示信息所指示的调式为C大调,那么遍历目标音乐中的所有乐音,若出现离调音(如#C),由于#C在C大调中属于离调音,因此,需要在目标音乐中删除#C这一离调音,同时,在预测乐谱中删除#C这一离调音的特征向量,如对MIDI格式的预测乐谱来说,即删除#C这一离调音所对应时间步内的所有关联事件。
在另一个示例中,在上述步骤404获取的预测乐谱中,对所有乐音进行检索,若出现离调音,则在预测乐谱中删除该离调音的特征向量,进一步的,基于删除了离调音之后的预测乐谱来合成目标音乐,这样相当于直接在预测乐谱上进行后处理,而无需在目标音乐上进行后处理,能够简化后处理流程。
407、服务器在该目标音乐的预测乐谱中,若存在多个乐音位于该预测乐谱的同一小节的同一位置上,在该多个乐音中检索目标乐音。
其中,该目标乐音是指与该多个乐音中任一乐音的音程之差小于音程阈值的乐音,音程阈值为任一大于0的数值,例如,音程阈值为2。
在一些实施例中,服务器可以基于上述步骤404获取的预测乐谱,先检测是否存在多个乐音位于预测乐谱的同一小节的同一位置上,比如,在预测乐谱中每个乐音的特征向量中包括“小节编号”和“在小节中的位置”这两个特征属性值的情况下,服务器可以遍历预测乐谱,确定是否存在特征向量中“小节编号”和“在小节中的位置”这两个特征属性值取值相同的多个乐音,从而判断是否存在多个乐音位于预测乐谱的同一小节的同一位置。
在预测乐谱的特征序列中,若存在特征向量中“小节编号”和“在小节中的位置”这两个特征属性值取值相同的多个乐音,那么,在该多个乐音中进一步检索目标乐音,即,对该多个乐音中每个乐音,计算该乐音与该多个乐音中的其他乐音之间的音程之差,比如,计算该乐音与每个其他乐音的“音高”特征属性值之间的差值作为音程之差,如果音程之差小于音程阈值,则确定当前乐音为目标乐音;否则,继续遍历该多个乐音中的下一个乐音,重复执行上述操作直到遍历该多个乐音中的所有乐音,这样能够检索到所有的目标乐音。
在预测乐谱的特征序列中,若不存在特征向量中“小节编号”和“在小节中的位置”这两个特征属性值取值相同的多个乐音,代表预测乐谱中不存在2个或2个以上同时出现的乐音,这时可以退出流程,或者,若预测乐谱中存在2个或2个以上同时出现的乐音,但是这些乐音之间没有检索到目标乐音,即,这些乐音中任意两个乐音的音程之差都大于或等于音程阈值,这时不会影响到合成音乐的音乐质量,因此也可以退出流程。
408、服务器在该目标乐音和与该目标乐音的音程之差小于该音程阈值的乐音中,删除音高最低的乐音。
在一些实施例中,针对上述步骤407中检索到的目标乐音,在目标乐音和与该目标乐音的音程之差小于音程阈值的乐音(根据目标乐音的定义可知这一乐音必定是另一目标乐音),删除音高最低的乐音,比如,在预测乐谱中删除音高最低的乐音的特征向量,这样相当于直接在预测乐谱上进行后处理,而无需在目标音乐上进行后处理,能够简化后处理流程。
在上述过程中,以音程阈值为2为例进行说明,在音程阈值为2时,音程之差小于2的乐音称为“小二度音”,若在预测乐谱中存在2个同时出现的乐音的音程之差小于2,则这两个乐音互为小二度音(小二度音是目标乐音的一种示例性说明),小二度音在目标乐音构成乐曲中会影响音乐效果,因此通过步骤408来删除小二度音中的低音,保留小二度音中的高音,能够从乐理规则的角度,对预测乐谱进行进一步矫正和质量把控,这样能够提升目标音乐的音乐质量。
在上述步骤407-408中,提供了预测乐谱上直接删除某类目标乐音的可能实施方式,而可选地,服务器还可以在输出的目标音乐中,检索所有同时出现的乐音(即同一个小节同一个位置上出现的多个乐音),如果存在两个同时出现的乐音的音程之差小于音程阈值,则在目标音乐和预测乐谱中均删除低音保留高音,本申请实施例对此不进行具体限定。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过对不同音乐风格配置定制化的音乐生成模型,根据给定的音乐风格信息,能够找到支持生成对应音乐风格的目标音乐生成模型,再通过该目标音乐生成模型来生成给定的初始乐谱之后的预测乐谱,使得预测乐谱既与初始乐谱具有一定关联性,也能够与该音乐风格信息所指示的音乐风格相适配,进而基于预测乐谱来生成具有该音乐风格的目标音乐,能够满足对任意音乐风格来定制化生成音乐的业务需求。
在本申请实施例中,提出的基于Transformer-LS解码器架构的可风格定制的音乐生成方法,相较于传统Transformer模型,能够更好地捕捉全局特征和局部特征,使得生成音乐具有更强的结构性和稳定性,换言之,能够稳定地生成不同音乐风格的目标音乐,且生成的目标音乐的效果的结构性显著增强、进一步的,由于对MIDI文件通过特征序列编码方式得到乐谱,代替了传统REMI编码方式来获取乐谱,极大缩短了乐谱的编码长度,使得模型在生成相同编码长度的乐谱时,这一乐谱所合成音乐的时长会大幅提升,具体地,生成的目标音乐的时长大于3分钟。
进一步的,提出的基于乐理规则的两种后处理方式,一方面能够删除离调音,另一方面能够删除影响听感的目标乐音,从而能够在输出端的目标音乐上整体把控音乐生成质量,删除掉一些不符合乐理的乐音,提升目标音乐的合成质量。
综上所述,相较于传统REMI+Transformer的音乐合成方式来说,在合成不稳定、音乐时长短、结构性差等问题上均得到了显著改善和性能提升。
在上一实施例中,详细介绍了本申请实施例涉及的音乐生成流程,而在本申请实施例中,则会详细介绍各种不同音乐风格的音乐生成模型的训练流程,下面进行说明。
图7是本申请实施例提供的一种音乐生成模型的训练方法的流程图,参见图7,该实施例由服务器执行,服务器是计算机设备的一种示例性说明,该实施例包括下述步骤:
701、服务器获取公共训练集和多个音乐风格各自关联的多个目标训练集。
在一些实施例中,服务器先获取多个样本音乐,并基于如上一实施例中步骤401-402中对初始音乐的编码方式,对该多个样本音乐进行类似处理,得到多个样本音乐各自的样本乐谱,并对多个样本乐谱进行一些数据清洗之后,得到由多个样本乐谱构成的公共训练集,这一公共训练集用于训练初始音乐模型,通常公共训练集的样本容量较大,例如,公共训练集的样本容量约10万首音乐。
在另一些实施例中,技术人员对每种音乐风格,都定制化一个目标训练集,比如,对每种音乐风格,都由技术人员标注多个携带该音乐风格标签的样本音乐,并通过如上一实施例中步骤401-402中对初始音乐的编码方式,进行携带该音乐风格标签的样本音乐进行类似处理,得到多个样本音乐各自的样本乐谱,这些携带该音乐风格标签的样本乐谱构成了对该音乐风格定制化的目标训练集,这一目标训练集用于训练专用于生成具有该音乐风格的音乐的音乐生成模型,通常,目标训练集的样本容量相较于公共训练集来说较小,比如,目标训练集的样本容量约20首音乐。重复执行上述操作,即可对多种音乐风格定制化得到各自的目标训练集。
702、服务器基于该公共训练集,训练得到初始音乐模型,该初始音乐模型用于基于输入乐谱来合成该输入乐谱之后的预测乐谱。
在一些实施例中,服务器在公共训练集上训练得到初始音乐模型,这一基于公共训练集的训练过程可视为一个预训练过程,即,服务器将公共训练集中任一样本乐谱,输入到原始Transformer-LS模型中,通过原始Transformer-LS模型获取样本乐谱之后的预测乐谱,预测方式与上一实施例中步骤404描述的预测方式类似,这里不做赘述。接着,基于该样本乐谱和该预测乐谱之间的差异,获取初始音乐模型在本次迭代过程的损失函数值,在损失函数值大于或等于第一损失阈值且迭代次数不超过第一次数阈值时,迭代调整该原始Transformer-LS模型的参数,直到损失函数值小于第一损失阈值或迭代次数超过第一次数阈值,停止预训练,得到预训练完毕的初始音乐模型。其中,该第一损失阈值为任一大于0的数值,该第一次数阈值为任一大于或等于1的整数。
在一个示例性场景中,在预训练阶段,公共训练集的样本容量约10万首音乐,且这10万首音乐能够覆盖到各类音乐风格和各类乐器,在公共训练集上使用硬件配置达到Nvidia Tesla V100或以上的服务器来获取初始音乐模型,在训练过程中采取批处理机制,批处理的模式尺度(Batch Size)设置为16,训练的优化过程采用Adam(Adaptive MomentEstimation,适应性矩估计)优化器,并将迭代的第一次数阈值(即迭代步数)设置为100万步。这里仅是对一种预训练方式的示例性说明,但不应构成对服务器硬件配置、批处理的模式尺度、优化器选择以及迭代步数中任一项超参数设置的具体限定。其中,Adam优化器是一种通过计算梯度的一阶矩估计和二阶矩估计,而为不同的参数设计独立的自适应性学习率的模型优化算法。
在上述过程中,通过在公共训练集上预训练得到初始音乐模型,使得初始音乐模型能够对音乐由足够的认识,并且由于公共训练集中样本音乐在音乐风格、乐器种类上的多样化配置,使得初始音乐模型能够学习到音乐的不同特征,可以使得输出音乐具有多样性,但是,由于公共训练集中样本音乐的风格庞杂,导致初始音乐模型无法根据指定音乐风格来合成具体指定音乐风格的预测乐谱。
703、服务器基于多个该目标训练集,分别对该初始音乐模型进行训练,得到该多个音乐风格各自关联的多个音乐生成模型。
其中,该音乐生成模型用于基于输入乐谱来合成该输入乐谱之后且具有所关联的音乐风格的预测乐谱。
在一些实施例中,由于步骤703中,服务器对每种音乐风格都配置了一个目标训练集,因此,在每个目标训练集上,对上述步骤702预训练得到的初始音乐模型进行微调(Finetune),即可得到用于生成指定音乐风格的音乐的音乐生成模型。图8是本申请实施例提供的一种音乐生成模型的微调阶段的流程图,如图8所示,以单个音乐生成模型在对应目标训练集上的训练流程为例进行说明,与上述步骤702的预训练阶段相比,这一过程可视为是在预训练得到的初始音乐模型上微调得到音乐生成模型,该微调过程包括下述步骤7031-7035:
7031、服务器获取音调指示信息,该音调指示信息用于指示待生成音乐的调式。
在一些实施例中,技术人员可以针对指定音乐风格配置对应的音调指示信息,以通过下述步骤7034,在微调阶段的音乐输出端,控制音乐生成模型在规定的调式下进行作曲,从而微调得到能够按照指定音乐风格和指定调式进行作曲的音乐生成模型。可选地,技术人员也可以不指定音调指示信息,这样无需执行步骤7031和7034,能够简化音乐生成模型的微调流程。
7032、对任一目标训练集中的样本乐谱,服务器将该样本乐谱和预测乐谱中的已有乐音输入该初始音乐模型,通过该初始音乐模型提取到乐谱语义特征。
在一些实施例中,对目标训练集中的任一样本乐谱,服务器通过如上一实施例中步骤4041的解码方式,通过初始音乐模型对样本乐谱进行类似处理,得到乐谱语义特征,这里不做赘述。
7033、服务器基于该乐谱语义特征,生成该已有乐音的下一个乐音属于多个音高的预测概率。
在一些实施例中,对目标训练集中的任一样本乐谱,服务器通过如上一实施例中步骤4042的处理方式,对乐谱语义特征进行类似处理,得到下一个乐音属于多个音高的预测概率,这里不做赘述。
7034、服务器从与该音调指示信息相匹配的多个目标音高中,将预测概率最大的目标音高所指示的乐音确定为该下一个乐音。
在一些实施例中,服务器可以先从上述步骤7033的多个音高中,过滤掉偏离该音调指示信息所指示调式的音高,经过过滤后剩余的各个音高即为多个目标音高,接着,在多个目标音高中,将预测概率最大的目标音高所指示乐音确定为预测乐谱中的下一个乐音。比如,音调指示信息所指示调式为“C大调”,那么在上述步骤7033的多个音高中,过滤掉偏离C大调的各个音高,经过过滤后剩余的各个音高均为符合C大调的多个目标音高,再从符合C大调的多个目标音高中,选择预测概率最大的目标音高所指示乐音作为下一个乐音。
在另一些实施例中,在上述步骤7033中获取预测概率时,通过softmax层来对基于乐谱语义特征变换得到的全连接语义特征进行指数归一化时,可以将与该音调指示信息不匹配的离调音的预测概率均配置为目标概率,其中,该目标概率小于或等于该多个目标音高各自的多个预测概率中的最小预测概率,例如,目标概率可以是0或者其他数值,其中,该离调音是指偏离该音调指示信息所指示调式的乐音。示意性地,音调指示信息所指示调式为“C大调”,那么在通过softmax层对全连接语义特征进行指数归一化时,可以将偏离C大调的离调音的预测概率均用掩码强制设置为0,这样由于离调音的预测概率都被强制设置为目标概率了,而目标概率又小于或等于目标音高(指符合C大调的各个音高)中的最小预测概率,这样在进行预测时不可能选择到离调音,从而能够强制使得模型在规定的调式下进行作曲。
在上述步骤7031-7034中,对任一目标训练集中的样本乐谱,提供了一种将该样本乐谱输入该初始音乐模型,输出该样本乐谱之后的预测乐谱的一种可能实施方式,即通过步骤7031将音调指示信息作为额外的监督信号,并通过步骤7034来将避免预测出离调音,能够规定模型在指定调式下进行作曲,进一步提升了音乐生成模型的可操控度,这一音调控制方式可称为在模型输出端的采样控制方式。
在另一些实施例中,还可以通过控制样本乐谱来进行前奏控制,即,通过将样本乐谱设定为具有该目标训练集的音乐风格的前奏乐谱,这样,在该样本乐谱为具有该目标训练集的音乐风格的前奏乐谱的情况下,该预测乐谱的调式与该前奏乐谱的调式相同,这类音调控制方式可称为前奏控制方式,由于前奏乐谱的调式的确定的,模型在根据前奏乐谱续写整首乐曲时,能够保证调式与前奏乐谱保持一致。
在另一些实施例中,服务器也可以不在微调获取音乐生成模型的阶段,对合成的预测乐谱的调式进行控制,能够避免音乐生成模型仅输出一种调式的音乐,提升同类音乐风格下进行音乐合成的多样性,本申请实施例对是否引入音调指示信息作为监督信号不进行具体限定。
7035、服务器基于该样本乐谱和该预测乐谱之间的差异,调整该初始音乐模型的参数,得到与该目标训练集的音乐风格相关联的该音乐生成模型。
在一些实施例中,服务器在目标训练集上训练得到指定音乐风格的音乐生成模型,这一基于目标训练集的训练过程可视为一个微调过程,在通过上述步骤7031-7034获取到预测乐谱之后,基于该样本乐谱和该预测乐谱之间的差异,获取音乐生成模型在本次迭代过程的损失函数值,在损失函数值大于或等于第二损失阈值且迭代次数不超过第二次数阈值时,迭代调整该初始音乐模型的参数,直到损失函数值小于第二损失阈值或迭代次数超过第二次数阈值,停止迭代,得到微调完毕的音乐生成模型。其中,该第二损失阈值为任一大于0的数值,该第二次数阈值为任一大于或等于1的整数。
在一个示例性场景中,在微调阶段,目标训练集的样本容量约20首音乐,且这20首音乐均携带经过标注的指定音乐风格标签,即这20首音乐的音乐风格保持一致,在目标训练集上使用硬件配置达到Nvidia Tesla V100或以上的服务器来对初始音乐模型进行微调,最终得到指定音乐风格的音乐生成模型,进而将该音乐生成模型与对应的音乐风格在模型库中进行关联存储,以备投入到后续的音乐生成流程中。可选地,在微调过程中采取批处理机制,批处理的Batch Size设置为4,训练的优化过程采用Adam优化器,并将迭代的第二次数阈值(即迭代步数)设置为2000步。这里仅是对一种微调方式的示例性说明,但不应构成对服务器硬件配置、批处理的Batch Size、优化器选择以及迭代步数中任一项超参数设置的具体限定。
需要说明的是,不同音乐风格的音乐生成模型,可以具有相同或者不同的服务器硬件配置、批处理的Batch Size、优化器选择以及迭代步数等超参数,并且可以配置在相同或者不同的机器上进行微调,本申请实施例对此不进行具体限定。
在上述微调过程中,单个音乐生成模型的微调耗时约1-2小时,不同音乐风格各自的音乐生成模型可以并行进行微调,通过将同类音乐风格的高质量样本乐音挑选到目标训练集中,使得在目标训练集上,能够对预训练完毕的初始音乐模型进行微调,使得微调后的音乐生成模型能够输出与标注的音乐风格类似的音乐,并且还具备一定的多样性,例如,目标训练集的音乐风格标签为“欢快的”,那么微调得到音乐生成模型能够输出各不相同的欢快的音乐。
图9是本申请实施例提供的一种音乐生成模型的训练过程的原理性示意图,如图9所示,技术人员在公共训练集即预训练数据901的基础上,对原始Transformer-LS模型900进行预训练,得到初始音乐模型即预训练模型910。接着,对多种不同音乐风格分别定制各自的目标训练集902,接着,在不同音乐风格的目标训练集902上,分别对预训练模型910进行微调,得到不同的音乐生成模型920,如在携带“欢快的”音乐风格标签的目标训练集上,微调得到用于生成“欢快的”音乐的音乐生成模型,又如在携带“舒缓的”音乐风格标签的目标训练集上,微调得到用于生成“舒缓的”音乐的音乐生成模型。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过针对不同音乐风格分别定制各自的目标训练集,进而对公共训练集所预训练得到的初始音乐模型,在不同的目标训练集上分别进行微调,以得到用于合成具有不同音乐风格的音乐的多个音乐生成模型,通过将这多个音乐生成模型与各自的音乐风格进行关联存储,能够用于提供定制化生成指定音乐风格的音乐的业务服务,满足定制化生成指定音乐风格的音乐的业务需求。
在本申请实施例涉及的大数据预训练和精细化风格定制数据微调的模型训练方式下,由于初始音乐模型有大数据的预训练基础,使得模型生成的音乐具有一定的多样性和趣味性,又由于施加了高质量同种风格的目标训练集作为监督信号,使得能够满足定制化生成指定音乐风格的音乐的业务需求,可应用于各类存在音乐生成需求的场景,如游戏背景音乐生成场景、辅助作曲等各类场景,具有广泛的适用度。
图10是本申请实施例提供的一种音乐生成装置的结构示意图,如图10所示,该装置包括:
获取模块1001,用于获取待生成的音乐风格信息和初始乐谱,该音乐风格信息用于指示待生成音乐的音乐风格;
确定模块1002,用于基于该音乐风格信息,从多个音乐生成模型中,确定与该音乐风格信息相匹配的目标音乐生成模型,该目标音乐生成模型用于合成具有该音乐风格信息所指示音乐风格的乐谱;
乐谱生成模块1003,用于将该初始乐谱输入该目标音乐生成模型,通过该目标音乐生成模型生成该初始乐谱之后的预测乐谱;
音乐生成模块1004,用于基于该预测乐谱,生成具有该音乐风格信息所指示音乐风格的目标音乐。
本申请实施例提供的装置,通过对不同音乐风格配置定制化的音乐生成模型,根据给定的音乐风格信息,能够找到支持生成对应音乐风格的目标音乐生成模型,再通过该目标音乐生成模型来生成给定的初始乐谱之后的预测乐谱,使得预测乐谱既与初始乐谱具有一定关联性,也能够与该音乐风格信息所指示的音乐风格相适配,进而基于预测乐谱来生成具有该音乐风格的目标音乐,能够满足对任意音乐风格来定制化生成音乐的业务需求。
在一些实施例中,该目标音乐生成模型包括多个级联的解码子网络,该解码子网络用于提取输入乐谱的语义信息;
基于图10的装置组成,该乐谱生成模块1003包括:
解码子模块,用于将该初始乐谱和该预测乐谱中的已有乐音输入该多个级联的解码子网络,通过多个该解码子网络对该初始乐谱和该已有乐音进行解码,得到乐谱语义特征;
获取子模块,用于基于该乐谱语义特征,获取该预测乐谱中的下一个乐音;
其中,该预测乐谱中的第一个乐音基于该初始乐谱预测得到,该预测乐谱中除了该第一个乐音以外的乐音均基于该初始乐谱和该乐音之前的已有乐音预测得到。
在一些实施例中,基于图10的装置组成,该解码子模块包括:
提取单元,用于对任一解码子网络,基于上一解码子网络输出的语义特征,提取该下一个乐音的相关性特征和注意力特征,该相关性特征表征该下一个乐音与邻域乐音之间的关联程度,该注意力特征表征该下一个乐音与乐谱序列在音乐风格上的匹配程度,该乐谱序列包括该初始乐谱和该已有乐音;
生成单元,用于基于该相关性特征和该注意力特征,生成该解码子网络的语义特征,将该解码子网络的语义特征输入到下一解码子网络中;
确定单元,用于重复执行上述解码操作,将最后一个解码子网络输出的语义特征确定为该乐谱语义特征。
在一些实施例中,基于图10的装置组成,该提取单元包括:
第一提取子单元,用于将该上一解码子网络输出的语义特征输入到该解码子网络的局部注意力层,通过该局部注意力层的预设滑动窗口,提取该下一个乐音与该预设滑动窗口内所包含的邻域乐音之间的该相关性特征。
在一些实施例中,基于图10的装置组成,该提取单元包括:
第二提取子单元,用于将该上一解码子网络输出的语义特征输入到该解码子网络的全局注意力层,通过该全局注意力层,提取该下一个乐音与该乐谱序列中所包含的乐音之间的初始注意力特征;
压缩子单元,用于对该初始注意力特征进行压缩,得到该注意力特征,其中,该注意力特征的维度小于该初始注意力特征的维度。
在一些实施例中,该生成单元用于:
对该相关性特征和该注意力特征进行融合,得到该下一个乐音的结构性特征;
将该结构性特征确定为该解码子网络的语义特征;或,基于该结构性特征,生成该解码子网络的语义特征。
在一些实施例中,该获取子模块用于:
基于该乐谱语义特征,生成该下一个乐音属于多个音高的预测概率;
将预测概率最大的音高所指示的乐音确定为该下一个乐音。
在一些实施例中,该获取模块1001用于:
获取初始音乐的音乐文件;
对该音乐文件进行编码,得到该初始乐谱;
其中,该初始乐谱包括该初始音乐中包含的多个乐音各自的特征向量,该乐音的特征向量用于表征该乐音在该初始乐谱中的至少两个特征属性值。
在一些实施例中,在该音乐文件为乐器数据接口MIDI文件的情况下,该乐音的特征向量用于表征该乐音在该MIDI文件中的至少两个关联事件。
在一些实施例中,该初始音乐为基于该音乐风格信息配置的预设音乐;或,该初始音乐为外部输入的前奏音乐;或,该初始音乐为随机初始化得到的随机音乐。
在一些实施例中,该获取模块1001还用于:获取音调指示信息,该音调指示信息用于指示待生成音乐的调式;
基于图10的装置组成,该装置还包括:
删除模块,用于在该目标音乐中,删除与该音调指示信息不匹配的离调音,该离调音是指偏离该音调指示信息所指示调式的乐音。
在一些实施例中,基于图10的装置组成,该装置还包括:
检索模块,用于在该目标音乐的预测乐谱中,若存在多个乐音位于该预测乐谱的同一小节的同一位置上,在该多个乐音中检索目标乐音,该目标乐音是指与该多个乐音中任一乐音的音程之差小于音程阈值的乐音;
删除模块,用于在该目标乐音和与该目标乐音的音程之差小于该音程阈值的乐音中,删除音高最低的乐音。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的音乐生成装置在生成指定音乐风格的目标音乐时,仅以上述各功能模块的划分进行举例说明,实际应用中,能够根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的音乐生成装置与音乐生成方法实施例属于同一构思,其具体实现过程详见音乐生成方法实施例,这里不再赘述。
图11是本申请实施例提供的一种音乐生成模型的训练装置的结构示意图,如图11所示,该装置包括:
获取模块1101,用于获取公共训练集和多个音乐风格各自关联的多个目标训练集;
第一训练模块1102,用于基于该公共训练集,训练得到初始音乐模型,该初始音乐模型用于基于输入乐谱来合成该输入乐谱之后的预测乐谱;
第二训练模块1103,用于基于多个该目标训练集,分别对该初始音乐模型进行训练,得到该多个音乐风格各自关联的多个音乐生成模型,该音乐生成模型用于基于输入乐谱来合成该输入乐谱之后且具有所关联的音乐风格的预测乐谱。
本申请实施例提供的装置,通过针对不同音乐风格分别定制各自的目标训练集,进而对公共训练集所预训练得到的初始音乐模型,在不同的目标训练集上分别进行微调,以得到用于合成具有不同音乐风格的音乐的多个音乐生成模型,通过将这多个音乐生成模型与各自的音乐风格进行关联存储,能够用于提供定制化生成指定音乐风格的音乐的业务服务,满足定制化生成指定音乐风格的音乐的业务需求。
在一些实施例中,基于图11的装置组成,该第二训练模块1103包括:
乐谱预测子模块,用于对任一目标训练集中的样本乐谱,将该样本乐谱输入该初始音乐模型,输出该样本乐谱之后的预测乐谱;
参数调整子模块,用于基于该样本乐谱和该预测乐谱之间的差异,调整该初始音乐模型的参数,得到与该目标训练集的音乐风格相关联的该音乐生成模型。
在一些实施例中,在该样本乐谱为具有该目标训练集的音乐风格的前奏乐谱的情况下,该预测乐谱的调式与该前奏乐谱的调式相同。
在一些实施例中,基于图11的装置组成,该乐谱预测子模块包括:
获取单元,用于获取音调指示信息,该音调指示信息用于指示待生成音乐的调式;
提取单元,用于将该样本乐谱和该预测乐谱中的已有乐音输入该初始音乐模型,通过该初始音乐模型提取到乐谱语义特征;
生成单元,用于基于该乐谱语义特征,生成该已有乐音的下一个乐音属于多个音高的预测概率;
确定单元,用于从与该音调指示信息相匹配的多个目标音高中,将预测概率最大的目标音高所指示的乐音确定为该下一个乐音。
在一些实施例中,基于图11的装置组成,该乐谱预测子模块还包括:
配置单元,用于将与该音调指示信息不匹配的离调音的预测概率配置为目标概率,该目标概率小于或等于该多个目标音高各自的多个预测概率中的最小预测概率,该离调音是指偏离该音调指示信息所指示调式的乐音。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的音乐生成模型的训练装置在训练音乐生成模型时,仅以上述各功能模块的划分进行举例说明,实际应用中,能够根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的音乐生成模型的训练装置与音乐生成模型的训练方法实施例属于同一构思,其具体实现过程详见音乐生成模型的训练方法实施例,这里不再赘述。
图12是本申请实施例提供的一种计算机设备的结构示意图,如图12所示,以计算机设备为终端1200为例进行说明。可选地,该终端1200的设备类型包括:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1200还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1200包括有:处理器1201和存储器1202。
可选地,处理器1201包括一个或多个处理核心,比如4核心处理器、8核心处理器等。可选地,处理器1201采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable LogicArray,可编程逻辑阵列)中的至少一种硬件形式来实现。在一些实施例中,处理器1201包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
在一些实施例中,存储器1202包括一个或多个计算机可读存储介质,可选地,该计算机可读存储介质是非暂态的。可选地,存储器1202还包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1201所执行以实现本申请中各个实施例提供的音乐生成方法或音乐生成模型的训练方法。
在一些实施例中,终端1200还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间能够通过总线或信号线相连。各个外围设备能够通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频电路1204、显示屏1205、摄像头组件1206、音频电路1207和电源1208中的至少一种。
外围设备接口1203可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和外围设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和外围设备接口1203中的任意一个或两个在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1204用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1204包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。可选地,射频电路1204通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1204还包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1205用于显示UI(User Interface,用户界面)。可选地,该UI包括图形、文本、图标、视频及其它们的任意组合。当显示屏1205是触摸显示屏时,显示屏1205还具有采集在显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号能够作为控制信号输入至处理器1201进行处理。可选地,显示屏1205还用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1205为一个,设置终端1200的前面板;在另一些实施例中,显示屏1205为至少两个,分别设置在终端1200的不同表面或呈折叠设计;在再一些实施例中,显示屏1205是柔性显示屏,设置在终端1200的弯曲表面上或折叠面上。甚至,可选地,显示屏1205设置成非矩形的不规则图形,也即异形屏。可选地,显示屏1205采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1206用于采集图像或视频。可选地,摄像头组件1206包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1206还包括闪光灯。可选地,闪光灯是单色温闪光灯,或者是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,用于不同色温下的光线补偿。
在一些实施例中,音频电路1207包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通信。出于立体声采集或降噪的目的,麦克风为多个,分别设置在终端1200的不同部位。可选地,麦克风是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。可选地,扬声器是传统的薄膜扬声器,或者是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅能够将电信号转换为人类可听见的声波,也能够将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还包括耳机插孔。
电源1208用于为终端1200中的各个组件进行供电。可选地,电源1208是交流电、直流电、一次性电池或可充电电池。当电源1208包括可充电电池时,该可充电电池支持有线充电或无线充电。该可充电电池还用于支持快充技术。
在一些实施例中,终端1200还包括有一个或多个传感器1210。该一个或多个传感器1210包括但不限于:加速度传感器1211、陀螺仪传感器1212、压力传感器1213、光学传感器1214以及接近传感器1215。
在一些实施例中,加速度传感器1211检测以终端1200建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1211用于检测重力加速度在三个坐标轴上的分量。可选地,处理器1201根据加速度传感器1211采集的重力加速度信号,控制显示屏1205以横向视图或纵向视图进行用户界面的显示。加速度传感器1211还用于游戏或者用户的运动数据的采集。
在一些实施例中,陀螺仪传感器1212检测终端1200的机体方向及转动角度,陀螺仪传感器1212与加速度传感器1211协同采集用户对终端1200的3D动作。处理器1201根据陀螺仪传感器1212采集的数据,实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
可选地,压力传感器1213设置在终端1200的侧边框和/或显示屏1205的下层。当压力传感器1213设置在终端1200的侧边框时,能够检测用户对终端1200的握持信号,由处理器1201根据压力传感器1213采集的握持信号进行左右手识别或快捷操作。当压力传感器1213设置在显示屏1205的下层时,由处理器1201根据用户对显示屏1205的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器1214用于采集环境光强度。在一个实施例中,处理器1201根据光学传感器1214采集的环境光强度,控制显示屏1205的显示亮度。具体地,当环境光强度较高时,调高显示屏1205的显示亮度;当环境光强度较低时,调低显示屏1205的显示亮度。在另一个实施例中,处理器1201还根据光学传感器1214采集的环境光强度,动态调整摄像头组件1206的拍摄参数。
接近传感器1215,也称距离传感器,通常设置在终端1200的前面板。接近传感器1215用于采集用户与终端1200的正面之间的距离。在一个实施例中,当接近传感器1215检测到用户与终端1200的正面之间的距离逐渐变小时,由处理器1201控制显示屏1205从亮屏状态切换为息屏状态;当接近传感器1215检测到用户与终端1200的正面之间的距离逐渐变大时,由处理器1201控制显示屏1205从息屏状态切换为亮屏状态。
本领域技术人员能够理解,图12中示出的结构并不构成对终端1200的限定,能够包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图13是本申请实施例提供的一种计算机设备的结构示意图,该计算机设备1300可因配置或性能不同而产生比较大的差异,该计算机设备1300包括一个或一个以上处理器(Central Processing Units,CPU)1301和一个或一个以上的存储器1302,其中,该存储器1302中存储有至少一条计算机程序,该至少一条计算机程序由该一个或一个以上处理器1301加载并执行以实现上述各个实施例提供的音乐生成方法或音乐生成模型的训练方法。可选地,该计算机设备1300还具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备1300还包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条计算机程序的存储器,上述至少一条计算机程序可由计算机设备中的处理器执行以完成上述各个实施例中的音乐生成方法或音乐生成模型的训练方法。例如,该计算机可读存储介质包括ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,包括一条或多条程序代码,该一条或多条程序代码存储在计算机可读存储介质中。计算机设备的一个或多个处理器能够从计算机可读存储介质中读取该一条或多条程序代码,该一个或多个处理器执行该一条或多条程序代码,使得计算机设备能够执行以完成上述实施例中的音乐生成方法或音乐生成模型的训练方法。
本领域普通技术人员能够理解实现上述实施例的全部或部分步骤能够通过硬件来完成,也能够通过程序来指令相关的硬件完成,可选地,该程序存储于一种计算机可读存储介质中,可选地,上述提到的存储介质是只读存储器、磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (22)

1.一种音乐生成方法,其特征在于,所述方法包括:
获取待生成的音乐风格信息和初始乐谱,所述音乐风格信息用于指示待生成音乐的音乐风格;
基于所述音乐风格信息,从多个音乐生成模型中,确定与所述音乐风格信息相匹配的目标音乐生成模型,所述目标音乐生成模型用于合成具有所述音乐风格信息所指示音乐风格的乐谱;
将所述初始乐谱输入所述目标音乐生成模型,通过所述目标音乐生成模型生成所述初始乐谱之后的预测乐谱;
基于所述预测乐谱,生成具有所述音乐风格信息所指示音乐风格的目标音乐。
2.根据权利要求1所述的方法,其特征在于,所述目标音乐生成模型包括多个级联的解码子网络,所述解码子网络用于提取输入乐谱的语义信息;
所述将所述初始乐谱输入所述目标音乐生成模型,通过所述目标音乐生成模型生成所述初始乐谱之后的预测乐谱包括:
将所述初始乐谱和所述预测乐谱中的已有乐音输入所述多个级联的解码子网络,通过多个所述解码子网络对所述初始乐谱和所述已有乐音进行解码,得到乐谱语义特征;
基于所述乐谱语义特征,获取所述预测乐谱中的下一个乐音;
其中,所述预测乐谱中的第一个乐音基于所述初始乐谱预测得到,所述预测乐谱中除了所述第一个乐音以外的乐音均基于所述初始乐谱和所述乐音之前的已有乐音预测得到。
3.根据权利要求2所述的方法,其特征在于,所述通过多个所述解码子网络对所述初始乐谱和所述已有乐音进行解码,得到乐谱语义特征包括:
对任一解码子网络,基于上一解码子网络输出的语义特征,提取所述下一个乐音的相关性特征和注意力特征,所述相关性特征表征所述下一个乐音与邻域乐音之间的关联程度,所述注意力特征表征所述下一个乐音与乐谱序列在音乐风格上的匹配程度,所述乐谱序列包括所述初始乐谱和所述已有乐音;
基于所述相关性特征和所述注意力特征,生成所述解码子网络的语义特征,将所述解码子网络的语义特征输入到下一解码子网络中;
重复执行上述解码操作,将最后一个解码子网络输出的语义特征确定为所述乐谱语义特征。
4.根据权利要求3所述的方法,其特征在于,所述基于上一解码子网络输出的语义特征,提取所述下一个乐音的相关性特征包括:
将所述上一解码子网络输出的语义特征输入到所述解码子网络的局部注意力层,通过所述局部注意力层的预设滑动窗口,提取所述下一个乐音与所述预设滑动窗口内所包含的邻域乐音之间的所述相关性特征。
5.根据权利要求3所述的方法,其特征在于,所述基于上一解码子网络输出的语义特征,提取所述下一个乐音的注意力特征包括:
将所述上一解码子网络输出的语义特征输入到所述解码子网络的全局注意力层,通过所述全局注意力层,提取所述下一个乐音与所述乐谱序列中所包含的乐音之间的初始注意力特征;
对所述初始注意力特征进行压缩,得到所述注意力特征,其中,所述注意力特征的维度小于所述初始注意力特征的维度。
6.根据权利要求3-5中任一项所述的方法,其特征在于,所述基于所述相关性特征和所述注意力特征,生成所述解码子网络的语义特征包括:
对所述相关性特征和所述注意力特征进行融合,得到所述下一个乐音的结构性特征;
将所述结构性特征确定为所述解码子网络的语义特征;或,基于所述结构性特征,生成所述解码子网络的语义特征。
7.根据权利要求3-5中任一项所述的方法,其特征在于,所述基于所述乐谱语义特征,获取所述预测乐谱中的下一个乐音包括:
基于所述乐谱语义特征,生成所述下一个乐音属于多个音高的预测概率;
将预测概率最大的音高所指示的乐音确定为所述下一个乐音。
8.根据权利要求1所述的方法,其特征在于,所述获取初始乐谱包括:
获取初始音乐的音乐文件;
对所述音乐文件进行编码,得到所述初始乐谱;
其中,所述初始乐谱包括所述初始音乐中包含的多个乐音各自的特征向量,所述乐音的特征向量用于表征所述乐音在所述初始乐谱中的至少两个特征属性值。
9.根据权利要求8所述的方法,其特征在于,在所述音乐文件为乐器数据接口MIDI文件的情况下,所述乐音的特征向量用于表征所述乐音在所述MIDI文件中的至少两个关联事件。
10.根据权利要求8或9所述的方法,其特征在于,所述初始音乐为基于所述音乐风格信息配置的预设音乐;或,所述初始音乐为外部输入的前奏音乐;或,所述初始音乐为随机初始化得到的随机音乐。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取音调指示信息,所述音调指示信息用于指示待生成音乐的调式;
在所述目标音乐中,删除与所述音调指示信息不匹配的离调音,所述离调音是指偏离所述音调指示信息所指示调式的乐音。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述目标音乐的预测乐谱中,若存在多个乐音位于所述预测乐谱的同一小节的同一位置上,在所述多个乐音中检索目标乐音,所述目标乐音是指与所述多个乐音中任一乐音的音程之差小于音程阈值的乐音;
在所述目标乐音和与所述目标乐音的音程之差小于所述音程阈值的乐音中,删除音高最低的乐音。
13.一种音乐生成模型的训练方法,其特征在于,所述方法包括:
获取公共训练集和多个音乐风格各自关联的多个目标训练集;
基于所述公共训练集,训练得到初始音乐模型,所述初始音乐模型用于基于输入乐谱来合成所述输入乐谱之后的预测乐谱;
基于多个所述目标训练集,分别对所述初始音乐模型进行训练,得到所述多个音乐风格各自关联的多个音乐生成模型,所述音乐生成模型用于基于输入乐谱来合成所述输入乐谱之后且具有所关联的音乐风格的预测乐谱。
14.根据权利要求13所述的方法,其特征在于,所述基于多个所述目标训练集,分别对所述初始音乐模型进行训练,得到所述多个音乐风格各自关联的多个音乐生成模型包括:
对任一目标训练集中的样本乐谱,将所述样本乐谱输入所述初始音乐模型,输出所述样本乐谱之后的预测乐谱;
基于所述样本乐谱和所述预测乐谱之间的差异,调整所述初始音乐模型的参数,得到与所述目标训练集的音乐风格相关联的所述音乐生成模型。
15.根据权利要求14所述的方法,其特征在于,在所述样本乐谱为具有所述目标训练集的音乐风格的前奏乐谱的情况下,所述预测乐谱的调式与所述前奏乐谱的调式相同。
16.根据权利要求14所述的方法,其特征在于,所述将所述样本乐谱输入所述初始音乐模型,输出所述样本乐谱之后的预测乐谱包括:
获取音调指示信息,所述音调指示信息用于指示待生成音乐的调式;
将所述样本乐谱和所述预测乐谱中的已有乐音输入所述初始音乐模型,通过所述初始音乐模型提取到乐谱语义特征;
基于所述乐谱语义特征,生成所述已有乐音的下一个乐音属于多个音高的预测概率;
从与所述音调指示信息相匹配的多个目标音高中,将预测概率最大的目标音高所指示的乐音确定为所述下一个乐音。
17.根据权利要求16所述的方法,其特征在于,所述方法还包括:
将与所述音调指示信息不匹配的离调音的预测概率配置为目标概率,所述目标概率小于或等于所述多个目标音高各自的多个预测概率中的最小预测概率,所述离调音是指偏离所述音调指示信息所指示调式的乐音。
18.一种音乐生成装置,其特征在于,所述装置包括:
获取模块,用于获取待生成的音乐风格信息和初始乐谱,所述音乐风格信息用于指示待生成音乐的音乐风格;
确定模块,用于基于所述音乐风格信息,从多个音乐生成模型中,确定与所述音乐风格信息相匹配的目标音乐生成模型,所述目标音乐生成模型用于合成具有所述音乐风格信息所指示音乐风格的乐谱;
乐谱生成模块,用于将所述初始乐谱输入所述目标音乐生成模型,通过所述目标音乐生成模型生成所述初始乐谱之后的预测乐谱;
音乐生成模块,用于基于所述预测乐谱,生成具有所述音乐风格信息所指示音乐风格的目标音乐。
19.一种音乐生成模型的训练装置,其特征在于,所述装置包括:
获取模块,用于获取公共训练集和多个音乐风格各自关联的多个目标训练集;
第一训练模块,用于基于所述公共训练集,训练得到初始音乐模型,所述初始音乐模型用于基于输入乐谱来合成所述输入乐谱之后的预测乐谱;
第二训练模块,用于基于多个所述目标训练集,分别对所述初始音乐模型进行训练,得到所述多个音乐风格各自关联的多个音乐生成模型,所述音乐生成模型用于基于输入乐谱来合成所述输入乐谱之后且具有所关联的音乐风格的预测乐谱。
20.一种计算机设备,其特征在于,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求12任一项所述的音乐生成方法;或,如权利要求13至权利要求17任一项所述的音乐生成模型的训练方法。
21.一种存储介质,其特征在于,所述存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现如权利要求1至权利要求12任一项所述的音乐生成方法;或,如权利要求13至权利要求17任一项所述的音乐生成模型的训练方法。
22.一种计算机程序产品,其特征在于,所述计算机程序产品包括至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现如权利要求1至权利要求12任一项所述的音乐生成方法;或,如权利要求13至权利要求17任一项所述的音乐生成模型的训练方法。
CN202210887742.5A 2022-07-26 2022-07-26 音乐生成方法、音乐生成模型的训练方法及装置 Pending CN117496963A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210887742.5A CN117496963A (zh) 2022-07-26 2022-07-26 音乐生成方法、音乐生成模型的训练方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210887742.5A CN117496963A (zh) 2022-07-26 2022-07-26 音乐生成方法、音乐生成模型的训练方法及装置

Publications (1)

Publication Number Publication Date
CN117496963A true CN117496963A (zh) 2024-02-02

Family

ID=89676982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210887742.5A Pending CN117496963A (zh) 2022-07-26 2022-07-26 音乐生成方法、音乐生成模型的训练方法及装置

Country Status (1)

Country Link
CN (1) CN117496963A (zh)

Similar Documents

Publication Publication Date Title
CN110853618B (zh) 一种语种识别的方法、模型训练的方法、装置及设备
CN110519636B (zh) 语音信息播放方法、装置、计算机设备及存储介质
JP2019216408A (ja) 情報を出力するための方法、及び装置
CN111798821B (zh) 声音转换方法、装置、可读存储介质及电子设备
CN111524501B (zh) 语音播放方法、装置、计算机设备及计算机可读存储介质
CN112069309A (zh) 信息获取方法、装置、计算机设备及存储介质
CN115312068B (zh) 语音控制方法、设备及存储介质
CN111581958A (zh) 对话状态确定方法、装置、计算机设备及存储介质
CN112667844A (zh) 检索音频的方法、装置、设备和存储介质
US20240004606A1 (en) Audio playback method and apparatus, computer readable storage medium, and electronic device
CN114333804A (zh) 音频分类识别方法、装置、电子设备及存储介质
CN112749550B (zh) 数据存储方法、装置、计算机设备及存储介质
CN112435641A (zh) 音频处理方法、装置、计算机设备及存储介质
KR20190061824A (ko) 전자장치 및 그 제어 방법
CN111341307A (zh) 语音识别方法、装置、电子设备及存储介质
CN111428079A (zh) 文本内容处理方法、装置、计算机设备及存储介质
CN116956814A (zh) 标点预测方法、装置、设备及存储介质
CN113920979B (zh) 语音数据的获取方法、装置、设备及计算机可读存储介质
CN117496963A (zh) 音乐生成方法、音乐生成模型的训练方法及装置
CN115658857A (zh) 智能对话方法、装置、设备及存储介质
KR20220138669A (ko) 개인화 오디오 정보를 제공하기 위한 전자 장치 및 방법
CN111091807A (zh) 语音合成方法、装置、计算机设备及存储介质
CN116030817B (zh) 语音唤醒方法、设备及存储介质
CN115565508A (zh) 歌曲匹配方法、装置、电子设备及存储介质
CN117546238A (zh) 一种生成音频的方法、装置及存储介质

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