CN112037745B - 一种基于神经网络模型的音乐创作系统 - Google Patents

一种基于神经网络模型的音乐创作系统 Download PDF

Info

Publication number
CN112037745B
CN112037745B CN202010946590.2A CN202010946590A CN112037745B CN 112037745 B CN112037745 B CN 112037745B CN 202010946590 A CN202010946590 A CN 202010946590A CN 112037745 B CN112037745 B CN 112037745B
Authority
CN
China
Prior art keywords
user
input
neural network
module
model
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.)
Active
Application number
CN202010946590.2A
Other languages
English (en)
Other versions
CN112037745A (zh
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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202010946590.2A priority Critical patent/CN112037745B/zh
Publication of CN112037745A publication Critical patent/CN112037745A/zh
Application granted granted Critical
Publication of CN112037745B publication Critical patent/CN112037745B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/065Spint piano, i.e. mimicking acoustic musical instruments with piano, cembalo or spinet features, e.g. with piano-like keyboard; Electrophonic aspects of piano-like acoustic keyboard instruments; MIDI-like control 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
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/011Files or data streams containing coded musical information, e.g. for transmission
    • G10H2240/016File editing, i.e. modifying musical data files or streams as such
    • G10H2240/021File editing, i.e. modifying musical data files or streams as such for MIDI-like files or data streams
    • 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
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/311Neural networks for electrophonic musical instruments or musical processing, e.g. for musical recognition or control, automatic composition or improvisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

本发明公开了一种基于神经网络模型的音乐创作系统,涉及音乐及计算机信息处理领域。该系统包括服务器和设置于个人电脑终端的Web客户端,相较于Magenta开源项目,本发明利用web客户端和服务器提供给用户可视化界面,用户不用下载脚本文件和搭建脚本环境即可使用神经网络模型进行音乐创作,方便非相关专业的人员体验前沿的技术;相较于其他利用Magenta开源项目开发的web应用,本系统集成了Magenta全部而非某个或几个与音乐创作有关的神经网络模型,并附有详细的介绍和使用说明,用户可以对这些模型有更清晰的对比和认识。

Description

一种基于神经网络模型的音乐创作系统
技术领域
本发明涉及音乐及计算机信息处理领域,特别设计一种基于神经网络模型的音乐创作系统。
背景技术
目前深度神经网络的应用较为广泛,尤其涉及一些关于艺术创作的应用,出现了一些可以帮助人完成画作或者编排乐谱的程序,虽然与艺术家所创作的艺术品存在一些差距,但展现了机器学习的潜力,博得很多技术人员甚至非技术人员的关注,然而对于想要尝试使用深度神经网络进行创作的非技术人员,搭建环境运行脚本等必需的工作对他们来说陌生而困难,需要一个即开即用的创作系统帮助他们使用这些前沿的技术。
作为现有技术,“Magenta”是谷歌研发团队基于“Tensorflow”机器学习库搭建的集成各种音乐和绘画创作的深度神经网络模型的开源项目,旨在推动机器学习在各种音乐和绘画创作领域的探索和应用。“Magenta”提供了多种用于音乐创作的深度神经网络模型,可以用来创作不同风格的音乐,例如根据输入的一小段旋律创作出指定时长的乐章。这些模型要求的输入数据类型不尽相同,但是有一个共同特点:由表示钢琴琴键的音高音长和起止时间的代码组成的,然而非技术人员对这些模型要求输入的数据类型并不熟悉,只能体验现有以某一个模型作为核心功能开发的软件,没有自主选择的余地。
MIDI(乐器数字化接口)是一种能够通过电子设备自动地重放声音或音乐的音乐标准格式,它用音符的数字控制信号来记录音乐。使用MIDI标准存储在电脑里的音乐文件相较于音频类型的音乐文件,占用存储空间更小且更容易被电脑识别和处理。
发明内容
有鉴于此,本发明所要解决的技术问题在于提供一种基于神经网络模型的音乐创作系统,集成以Magenta开源Python库为例的多种基于深度神经网络的模型,提供可视化的操作界面,为用户提供模型列表和模型信息方便用户选择,将用户在虚拟或实体琴键上的输入转化为用户选择模型支持的数据,再将模型运算输出的结果转码为可直接播放的音频文件,方便非计算机专业的用户利用各种深度神经网络模型进行各种风格的音乐创作。
为了实现上述发明目的,本发明的主要技术方案为:
一种基于神经网络模型的音乐创作系统,包括:服务器和设置于个人电脑终端的Web客户端;其中:
所述Web客户端,用于为用户提供可视化音乐创作界面和方法,包含:输入选择装置,用于选择乐曲的输入方式,用户可以在外接MIDI设备和虚拟键盘之间选择弹奏的方式;输入装置,用于接收用户在虚拟键盘或者MIDI设备上的输入并将音符转码为音符数据;模型选择装置,用于选择不同风格或功能的基于深度神经网络的音乐创作模型;录制装置,用于生成含有用户输入音符数据的音符序列;编码装置,用于将音符序列编码为二进制音符序列数据,并建立请求发送给服务器;播放模块,用于播放服务器返回的音频文件。
所述服务器,用于将收到的用户创作的旋律输入对应的基于深度神经网络的音乐创作模型运算得出结果,包括:转码装置,用于接收客户端发送的二进制音符序列数据并转码为模型支持的数据结构;模型管理装置和模型库,用于管理和更新基于深度神经网络的音乐创作模型;执行装置,用于将转码后的数据结构输入音乐创作模型进行运算;转码装置,用于将音乐创作模型运算输出的数据转码为WAV格式的音频文件通过文件流发送给客户端。
利用本发明的基于神经网络模型的音乐创作系统进行音乐创作包含以下步骤:根据用户选择音乐创作模型提示用户输入音乐旋律的限制条件;录制用户输入,暂时存放在WEB客户端中等待用户确认;将录制的音符序列转码为二进制数据串,并与用户选择的音乐创作模型编号打包发送给服务器;服务器将接收到的数据串转码为用户选择音乐创作模型所支持的数据结构;将转码后的数据输入模型运算并得出输出的数据;将输出的数据转码为WAV格式的音频文件发送给客户端。
本发明区别于现有技术的优点为:
相较于Magenta开源项目,本发明利用web客户端和服务器提供给用户可视化界面,用户不用下载脚本文件和搭建脚本环境即可使用神经网络模型进行音乐创作,方便非相关专业的人员体验前沿的技术。
相较于其他利用Magenta开源项目开发的web应用,本系统集成了Magenta全部而非某个或几个与音乐创作有关的神经网络模型,并附有详细的介绍和使用说明,用户可以对这些模型有更清晰的对比和认识。
附图说明
图1是本发明所述音乐创作系统的总体结构示意图;
图2是本发明所述客户端的详细结构示意图;
图3是本发明所述服务器的详细结构示意图;
图4是本发明音乐创作的一种实施流程图;
图5是本发明所述客户端的外观示例图。
具体实施方式
下面通过具体实施例和附图对本发明做进一步详细说明。
图1为本发明所述音乐创作系统的总体结构示意图。参见图1,本发明提出的一种基于神经网络模型的音乐创作系统包括:客户端1、服务器2、模型信息10、数据流11和文件流12;其中:
所述客户端1为在浏览器上可访问的前端网页,用于接受服务器2发送的模型信息10,向用户展示可视化界面并收集用户输入的旋律信息,将用户输入的旋律信息打包成数据流11发送给所述服务器,并接受服务器2返回的含有可播放音频文件的文件流12。
所述服务器2为所述基于神经网络模型的音乐创作系统的服务器,设置在互联网上,用于向客户端1发送模型信息10,接收并处理客户端1发送的数据流11,并返回含有可播放音频文件的文件流12。
图2为本发明所述客户端的详细结构示意图。参见图2,该客户端1包括输入选择模块110、输入模块99、模型选择模块111、录制模块112、编码模块113和播放模块114;其中:
所述输入选择模块110为一个下拉菜单,用户可使用该模块对自己在输入模块99输入的方式进行选择。
所述输入模块99包括:屏幕琴键100,用于接收用户在屏幕上使用鼠标点击虚拟琴键的信息;电脑键盘101,用于接受用户在电脑键盘上敲击与屏幕琴键一一映射的键位信息;MID I键盘102,用于接受用户在外接MIDI设备上弹奏的音符信息。用户可以选取三者中的任意一种输入方式进行旋律的创作。
所述模型选择模块111,用于接收服务器2发送的模型信息10并将其展示给用户进行选择,用户可根据各模型所展示的功能和创作风格选择自己需要的神经网络模型。
所述录制模块112用于将用户实时输入的旋律信息录制为一个数组,发送给编码模块113编码为二进制数据包并通过数据流11发送给服务器2。
所述播放模块114用于接收通过文件流12接收到服务器2返回的可播放音频文件,并展示音频播放器供用户播放或下载。
图3为本发明所述服务器的详细结构示意图。参见图3,该服务器2包括转码模块201和203、执行模块202、模型库210和模型管理模块211;其中:
所述转码模块201用于将客户端1通过数据流11发送的二进制数据包解码并封装成一个音符序列实体类,然后转码为神经网络模型支持的数据结构,如MIDI文件或者Protobuf数据规范的音符序列,数据结构类型取决于模型库210中对每个神经网络模型标注的数据类型。
所述模型库210集成所有可用的神经网络模型文件的信息,存储格式如下式(1):
ID+模型名+功能介绍+输入要求+输入数据类型+输出数据类型+模型文件路径(1)
其中,所述ID为一个八位数字,互不重复,用于作为各模型的唯一标识,所述输入要求为用户创作的条件,包括用户输入旋律的时间长度和节拍速度,所述功能介绍为神经网络模型根据用户输入进行创作的类型,如将单音旋律扩展为复音旋律或将钢琴输入扩展为多个乐器和谐结合的管弦乐,所述输入数据类型和输出数据类型为神经网络模型支持输入输出的数据结构,如MIDI文件或者Protobuf数据规范的音符序列,所述模型文件路径用于向程序提供模型文件在服务器上的相对路径。
所述模型管理模块211为后台管理员对模型库210进行操作的装置,所述操作包括:增加更新或删除神经网络模型,为神经网络模型标注输入要求、功能和支持的数据类型,将模型信息10发送至客户端展示并供用户选择。
所述执行模块202用于将用转码后的旋律数据输入到用户选择的神经网络模型进行运算,将输出的数据经过转码模块203转码为可播放音频文件。所述输出数据可以是MIDI文件、P rotobuf数据规范的音符序列或可播放音频文件,转码模块203负责将前两种情况下的输出数据渲染为可播放音频文件,然后通过文件流12返回给客户端1。
图4为本发明采用所述音乐创作系统进行音乐创作的一种实施流程图。实施流程开始于用户访问URL进入页面并选择了输入方式和神经网络模型的操作之后,结束于服务器2返回给客户端1可播放音频文件的操作之前。参见图4,该流程包括:
步骤31、根据用户选择模型提示用户输入的限制条件。首先将模型库210中模型名和功能介绍显示在客户端上供用户参考和选择,在用户选择神经网络模型后将输入要求显示在虚拟钢琴上方。
步骤32、录制用户输入。用户点击“开始”后,客户端1将以数组的形式将用户输入的音符数据入栈,记录每个音符的起止时间、音高、乐器种类和力度。需要特别阐述的是,在实现录音功能时,开始后的每两小节如果没有获得任何输入,则重置录制的开始时间,相当于重启录音模组,直到用户开始输入,则从用户输入的这两个小节开始入栈,用户可以有充足的准备时间适应节拍节奏而不必担心录制出的音乐开头部分存在大片的空白。用户在点击“停止”按钮后,包含所有在此时间段内输入的音符数组完成了入栈,等待用户的下一步操作。如果用户点击“保存”按钮,则进行下一步骤,即步骤33。
步骤33、向服务器2发送录制片段的数据串和用户选择的模型。所述录制片段的数据串存储格式如下式(2)
总持续时间+节拍速度+音符序列 (2)
其中,所述总持续时间为从第一个音符所在小节的起始时间到最后一个音符所在小节结束时间中间的时间长度,所述节拍速度为每分钟节拍个数,所述音符序列为存有各音符数据的数组,音符数据的存储格式如下式(3)
开始时间+结束时间+音高+乐器种类+力度 (3)
步骤34、服务器2将接收到的数据串转码为用户选择模型支持的数据结构。按照用户选择的神经网络模型的ID去数据库中检索对应神经网络模型的输入数据类型,将收到的录制片段的数据串转码为该数据类型,转码使用Magenta开源项目中提供的Note_sequence_io工具类,同时按照用户选择的神经网络模型的ID去数据库中检索对应模型的模型文件路径,准备进入下一步骤。
步骤35、将转码后的数据输入模型运算得到输出文件。调用对应路径下模型文件对该神经网络模型支持的转码后的数据进行运算,得到输出数据为该神经网络模型处理后的MIDI文件、音符序列或者可播放音频文件。
步骤36、将输出文件转化为可播放音频文件。按照用户选择的模型的ID去数据库中检索对应神经网络模型的输出数据类型,如果非可播放音频文件,则根据输出数据类型将输出的数据转码为可播放音频文件。转码使用Magenta开源项目中提供的Note_sequence_io工具类。
此后,服务器2会将可播放音频文件发送给客户端1,客户端1中的播放模块114展示音频播放器供用户播放或下载,完成一次利用神经网络模型的音乐创作。
图5是本发明所述客户端1的外观示例图,具体地,是客户端1在用户选择好输入方式和神经网络模型后展示的界面示例图,用以展示本系统的一种具体实施效果,参见图5,该界面包括节拍计数器401、提示模块402、节拍速度模块403、录制/停止按钮404、音符可视化器405、回放按钮408、保存按钮409、音量模块410、虚拟琴键模块411、音调上调按钮412、音调下调按钮413和音频组件414;其中:
所述节拍计数器401,用于显示当前节拍数,结合节拍器的声音提示用户节拍信息,方便用户在创作旋律时能够保持速度一致并且与设置的节拍数相符。
所述提示模块402,用于显示当前用户可以进行的以及建议用户进行的操作,例如:在开始输入音符前提示用户所选择模块的功能和对输入的要求,输入时提示用户正在录制中,停止录制后提示用户可以回放、重新录制或者保存提交。
所述节拍速度模块403,用于让用户设置节拍速度,输入数字为每分钟节拍数。
所述录制/停止按钮404,用于开始或停止录制,初始状态为不可点击状态,在所有组件加载完毕后显示“record”表示可以开始录制,用户点击后按钮文字变为“stop”,点击即可停止录制。
所述音符可视化器405,用于直观显示用户输入音符的信息,包括:音符线406和时间线407,其中:
所述音符线406为用户输入音符时实时地出现在音符可视化器405中的横线,音符线406垂直位置的高低由用户输入音符的音调高低决定,左端点的水平位置由音符的开始时间在每两小节中的时间先后决定,长短由音符持续时间长短决定;
所述时间线407为提示用户当前时间的竖线,从音符可视化器405左端平移到右端,每两小节重复一次。
用户按下的音符会在当前的时间线407上开始绘制,在用户抬起后在当前时间线407上停止绘制,形成一个音符线406.
所述回放按钮408用于回放用户输入的旋律,在用户停止录制前为不可用状态,点击“stop”按钮后变为可用状态,用户点击后即可播放刚才输入的旋律。
所述保存按钮409用于保存用户输入的旋律并提交,对应图4所述的步骤33。
当接收到服务器2返回的音频文件后,在页面上展示所述音频组件414,用于播放、调整音量和下载神经网络模型输出的音乐。
所述音量模块410用于分别调整用户输入时的虚拟琴键的音量、回放音量和节拍计数器401的节拍音量,用户可上下拖动滑块来调整对应的音量大小。
所述虚拟琴键模块411用于用户使用鼠标点击或者敲击键盘来弹奏虚拟钢琴411,用户在键盘上敲击虚拟琴键上标注的对应的字母可以实现对虚拟钢琴411的演奏。
所述音调上调按钮412和音调下调按钮413用于上调和下调虚拟钢琴所对应的音程,调整单位是一个八度。点击音调上调按钮412或音调下调按钮413,虚拟琴键每个琴键所对应的音高会上调或下调一个八度,由此,24个虚拟琴键可以映射到钢琴上所有88个琴键。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (3)

1.一种基于神经网络模型的音乐创作系统,其特征在于,该系统包括客户端(1)、服务器(2)、模型信息(10)、数据流(11)和文件流(12);其中,
所述客户端(1)为在浏览器上可访问的前端网页,用于接受服务器(2)发送的模型信息(10),向用户展示可视化界面并收集用户输入的旋律信息,将用户输入的旋律信息打包成数据流(11)发送给所述服务器(2),并接受服务器(2)返回的含有可播放音频文件的文件流(12);
所述服务器(2)为所述基于神经网络模型的音乐创作系统的服务器,设置在互联网上,用于向客户端(1)发送模型信息(10),接收并处理客户端(1)发送的数据流(11),并返回含有可播放音频文件的文件流(12);
具体地,所述客户端(1)包括输入选择模块(110)、输入模块(99)、模型选择模块(111)、录制模块(112)、编码模块(113)和播放模块(114);其中:
所述输入选择模块(110)为一个下拉菜单,用户可使用该输入选择模块(110)对自己在输入模块(99)输入的方式进行选择;
所述输入模块(99)包括:屏幕琴键(100),用于接收用户在屏幕上使用鼠标点击虚拟琴键的信息;电脑键盘(101),用于接受用户在电脑键盘上敲击与屏幕琴键一一映射的键位信息;MIDI键盘(102),用于接受用户在外接MIDI设备上弹奏的音符信息;用户可以选取上述三者中的任意一种输入方式进行旋律的创作;
所述模型选择模块(111),用于接收服务器(2)发送的模型信息(10)并将其展示给用户进行选择,用户可根据各模型所展示的功能和创作风格选择自己需要的神经网络模型;
所述录制模块(112)用于将用户实时输入的旋律信息录制为一个数组,发送给编码模块(113)编码为二进制数据包并通过数据流(11)发送给服务器(2);
所述播放模块(114)用于接收通过文件流(12)接收到的服务器(2)返回的可播放音频文件,并展示音频播放器供用户播放或下载;
所述服务器(2)包括第一转码模块(201)、第二转码模块(203)、执行模块(202)、模型库(210)和模型管理模块(211);其中:
所述第一转码模块(201)用于将客户端(1)通过数据流(11)发送的二进制数据包解码并封装成一个音符序列实体类,然后转码为神经网络模型支持的数据结构,所述数据结构包括MIDI文件或者Protobuf数据规范的音符序列,所述数据结构类型取决于模型库(210)中对每个神经网络模型标注的数据类型;
所述模型库(210)集成所有可用的神经网络模型文件的信息,存储格式如下式(1):
ID+模型名+功能介绍+输入要求+输入数据类型+输出数据类型+模型文件路径式(1)
其中,所述ID为一个八位数字,互不重复,用于作为各神经网络模型的唯一标识;所述输入要求为用户创作的条件,包括用户输入旋律的时间长度和节拍速度;所述功能介绍为神经网络模型根据用户输入进行创作的类型,包括将单音旋律扩展为复音旋律或将钢琴输入扩展为多个乐器和谐结合的管弦乐;所述输入数据类型和输出数据类型为神经网络模型支持输入输出的数据结构,包括MIDI文件或者Protobuf数据规范的音符序列;所述模型文件路径用于向程序提供模型文件在服务器上的相对路径;
所述模型管理模块(211)为后台管理员对模型库(210)进行操作的装置,所述操作包括:增加更新或删除神经网络模型,为神经网络模型标注输入要求、功能和支持的数据类型,将模型信息(10)发送至客户端展示并供用户选择;
所述执行模块(202)用于将转码后的旋律数据输入到用户选择的神经网络模型进行运算,将输出数据经过第二转码模块(203)转码为可播放音频文件,所述输出数据为MIDI文件、Protobuf数据规范的音符序列或可播放音频文件,所述第二转码模块(203)负责将MIDI文件和Protobuf数据规范的音符序列的输出数据渲染为可播放音频文件,然后通过文件流(12)返回给客户端1。
2.根据权利要求1所述的基于神经网络模型的音乐创作系统,其特征在于,采用所述音乐创作系统进行音乐创作的流程开始于用户访问URL进入页面并选择了输入方式和神经网络模型的操作之后,结束于服务器(2)返回给客户端(1)可播放音频文件的操作之前,具体包括:
步骤31、根据用户选择模型提示用户输入的限制条件,首先将模型库(210)中模型名和功能介绍显示在客户端上供用户参考和选择,在用户选择神经网络模型后将输入要求显示在虚拟钢琴上方;
步骤32、录制用户输入,用户点击“开始”后,客户端(1)将以数组的形式将用户输入的音符数据入栈,记录每个音符的起止时间、音高、乐器种类和力度,具体地,在实现录音功能时,开始后的每两小节如果没有获得任何输入,则重置录制的开始时间,相当于重启录音模组,直到用户开始输入,则从用户输入的这两个小节开始入栈,用户可以有充足的准备时间适应节拍节奏而不必担心录制出的音乐开头部分存在大片的空白;用户在点击“停止”按钮后,包含所有在此时间段内输入的音符数组完成了入栈,等待用户的下一步操作;如果用户点击“保存”按钮,则进行下一步骤,即步骤33;
步骤33、向服务器(2)发送录制片段的数据串和用户选择的神经网络模型,所述录制片段的数据串存储格式如下式(2):
总持续时间+节拍速度+音符序列 式(2)
其中,所述总持续时间为从第一个音符所在小节的起始时间到最后一个音符所在小节结束时间中间的时间长度,所述节拍速度为每分钟节拍个数,所述音符序列为存有各音符数据的数组,音符数据的存储格式如下式(3)
开始时间+结束时间+音高+乐器种类+力度 式(3)
步骤34、服务器2将接收到的数据串转码为用户选择模型支持的数据结构,按照用户选择的神经网络模型的ID去数据库中检索对应神经网络模型的输入数据类型,将收到的录制片段的数据串转码为该数据类型,转码使用Magenta开源项目中提供的Note_sequence_io工具类,同时按照用户选择的神经网络模型的ID去数据库中检索对应模型的模型文件路径,准备进入下一步骤;
步骤35、将转码后的数据输入神经网络模型运算得到输出文件,调用对应路径下模型文件对该神经网络模型支持的转码后的数据进行运算,得到输出数据为该神经网络模型处理后的MIDI文件、音符序列或者可播放音频文件;
步骤36、将输出文件转化为可播放音频文件,按照用户选择的模型的ID去数据库中检索对应神经网络模型的输出数据类型,如果非可播放音频文件,则根据输出数据类型将输出的数据转码为可播放音频文件,转码使用Magenta开源项目中提供的Note_sequence_io工具类;
此后,服务器(2)会将可播放音频文件发送给客户端(1),客户端(1)中的播放模块(114)展示音频播放器供用户播放或下载,完成一次利用神经网络模型的音乐创作。
3.根据权利要求2所述的基于神经网络模型的音乐创作系统,其特征在于,所述客户端(1)在用户选择好输入方式和神经网络模型后展示的界面为,该界面包括节拍计数器(401)、提示模块(402)、节拍速度模块(403)、录制/停止按钮(404)、音符可视化器(405)、回放按钮(408)、保存按钮(409)、音量模块(410)、虚拟琴键模块(411)、音调上调按钮(412)、音调下调按钮(413)和音频组件(414);其中:
所述节拍计数器(401),用于显示当前节拍数,结合节拍器的声音提示用户节拍信息,方便用户在创作旋律时能够保持速度一致并且与设置的节拍数相符;
所述提示模块(402),用于显示当前用户可以进行的以及建议用户进行的操作,包括在开始输入音符前提示用户所选择模块的功能和对输入的要求,输入时提示用户正在录制中,停止录制后提示用户回放、重新录制或者保存提交;
所述节拍速度模块(403),用于让用户设置节拍速度,输入数字为每分钟节拍数;
所述录制/停止按钮(404),用于开始或停止录制,初始状态为不可点击状态,在所有组件加载完毕后显示“record”表示可以开始录制,用户点击后按钮文字变为“stop”,点击即可停止录制;
所述音符可视化器(405),用于直观显示用户输入音符的信息,包括:音符线(406)和时间线(407),其中:
所述音符线(406)为用户输入音符时实时地出现在音符可视化器(405)中的横线,音符线(406)垂直位置的高低由用户输入音符的音调高低决定,左端点的水平位置由音符的开始时间在每两小节中的时间先后决定,长短由音符持续时间长短决定;
所述时间线(407)为提示用户当前时间的竖线,从音符可视化器(405)左端平移到右端,每两小节重复一次;
用户按下的音符会在当前的时间线(407)上开始绘制,在用户抬起后在当前时间线(407)上停止绘制,形成一个音符线(406);
所述回放按钮(408)用于回放用户输入的旋律,在用户停止录制前为不可用状态,点击“stop”按钮后变为可用状态,用户点击后即可播放刚才输入的旋律;
所述保存按钮(409)用于保存用户输入的旋律并提交;
当接收到服务器(2)返回的音频文件后,在页面上展示所述音频组件(414),用于播放、调整音量和下载神经网络模型输出的音乐;
所述音量模块(410)用于分别调整用户输入时的虚拟琴键的音量、回放音量和节拍计数器(401)的节拍音量,用户可上下拖动滑块来调整对应的音量大小;
所述虚拟琴键模块(411)用于用户使用鼠标点击或者敲击键盘来弹奏虚拟钢琴(411),用户在键盘上敲击虚拟琴键上标注的对应的字母可以实现对虚拟钢琴(411)的演奏;
所述音调上调按钮(412)和音调下调按钮(413)用于上调和下调虚拟钢琴所对应的音程,调整单位是一个八度,点击音调上调按钮(412)或音调下调按钮(413),虚拟琴键每个琴键所对应的音高会上调或下调一个八度,由此,24个虚拟琴键可以映射到钢琴上所有88个琴键。
CN202010946590.2A 2020-09-10 2020-09-10 一种基于神经网络模型的音乐创作系统 Active CN112037745B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010946590.2A CN112037745B (zh) 2020-09-10 2020-09-10 一种基于神经网络模型的音乐创作系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010946590.2A CN112037745B (zh) 2020-09-10 2020-09-10 一种基于神经网络模型的音乐创作系统

Publications (2)

Publication Number Publication Date
CN112037745A CN112037745A (zh) 2020-12-04
CN112037745B true CN112037745B (zh) 2022-06-03

Family

ID=73584704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010946590.2A Active CN112037745B (zh) 2020-09-10 2020-09-10 一种基于神经网络模型的音乐创作系统

Country Status (1)

Country Link
CN (1) CN112037745B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112687280B (zh) * 2020-12-25 2023-09-12 浙江弄潮儿智慧科技有限公司 一种具有频谱-时间空间界面的生物多样性监测系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201820266D0 (en) * 2018-12-12 2019-01-30 Jukedeck Ltd Automated music production
CN109326270A (zh) * 2018-09-18 2019-02-12 平安科技(深圳)有限公司 音频文件的生成方法、终端设备及介质
CN109727590A (zh) * 2018-12-24 2019-05-07 成都嗨翻屋科技有限公司 基于循环神经网络的音乐生成方法及装置
CN110164412A (zh) * 2019-04-26 2019-08-23 吉林大学珠海学院 一种基于lstm的音乐自动合成方法及系统
CN110634460A (zh) * 2018-06-21 2019-12-31 卡西欧计算机株式会社 电子乐器、电子乐器的控制方法以及存储介质
CN111061840A (zh) * 2019-12-18 2020-04-24 腾讯音乐娱乐科技(深圳)有限公司 数据识别方法、装置及计算机可读存储介质
CN111128236A (zh) * 2019-12-17 2020-05-08 电子科技大学 一种基于辅助分类深度神经网络的主乐器识别方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7314994B2 (en) * 2001-11-19 2008-01-01 Ricoh Company, Ltd. Music processing printer
US8865993B2 (en) * 2012-11-02 2014-10-21 Mixed In Key Llc Musical composition processing system for processing musical composition for energy level and related methods

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110634460A (zh) * 2018-06-21 2019-12-31 卡西欧计算机株式会社 电子乐器、电子乐器的控制方法以及存储介质
CN109326270A (zh) * 2018-09-18 2019-02-12 平安科技(深圳)有限公司 音频文件的生成方法、终端设备及介质
GB201820266D0 (en) * 2018-12-12 2019-01-30 Jukedeck Ltd Automated music production
CN109727590A (zh) * 2018-12-24 2019-05-07 成都嗨翻屋科技有限公司 基于循环神经网络的音乐生成方法及装置
CN110164412A (zh) * 2019-04-26 2019-08-23 吉林大学珠海学院 一种基于lstm的音乐自动合成方法及系统
CN111128236A (zh) * 2019-12-17 2020-05-08 电子科技大学 一种基于辅助分类深度神经网络的主乐器识别方法
CN111061840A (zh) * 2019-12-18 2020-04-24 腾讯音乐娱乐科技(深圳)有限公司 数据识别方法、装置及计算机可读存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
An overview of lead and accompaniment sepatation in music;Z.Rafii,et al.;《IEEE/ACM Transactions on audio,speech,and language processing》;IEEE;20180831;第26卷(第8期);全文 *
Computational Intelligence in Music Composition: A Survey;Chien-Hung Liu,et al.;《IEEE Transactions on Emerging Topics in Computational Intelligence 》;IEEE;20161220;第1卷(第1期);全文 *
基于递归神经网络人工智能技术的音乐创作;马鹏程等;《电子技术与软件工程》;中国知网;20200201(第3期);全文 *

Also Published As

Publication number Publication date
CN112037745A (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
US11081019B2 (en) Analyzing or emulating a vocal performance using audiovisual dynamic point referencing
KR100361680B1 (ko) 맞춤형 콘텐츠 제공방법 및 시스템
JP2018537727A5 (zh)
CN101657816B (zh) 用于分布式音频文件编辑的门户网站
KR20180063163A (ko) 언어 및/또는 그래픽 아이콘 기반 음악적 경험 디스크립터를 채택한 자동화된 음악 작곡 및 생성 기계, 시스템 및 프로세스
TW202006534A (zh) 音頻合成方法、裝置、儲存媒體和計算機設備
CN109345905B (zh) 一种互动数字音乐教学系统
US20100223314A1 (en) Apparatus and method for creating and transmitting unique dynamically personalized multimedia messages
JP2002543445A (ja) 対話の設計およびシミュレーションのための装置
JP2010518459A (ja) 配布オーディオファイル編集用ウェブポータル
JP2005309029A (ja) 楽曲データのストリーミング提供サーバ装置及び方法並びにストリーミング利用電子音楽装置
CN104050961A (zh) 语音合成装置和方法以及存储有语音合成程序的记录介质
JP2010066789A (ja) アバター編集サーバ及びアバター編集プログラム
CN112037745B (zh) 一种基于神经网络模型的音乐创作系统
KR100819775B1 (ko) 네트워크 기반의 음악연주/노래반주 서비스 장치, 시스템, 방법 및 기록매체
US6323411B1 (en) Apparatus and method for practicing a musical instrument using categorized practice pieces of music
CN111223470A (zh) 音频处理方法、装置及电子设备
US20060248105A1 (en) Interactive system for building and sharing databank
JP2011133882A (ja) 音声付映像合成システム及び音声付映像合成方法
JP2002351477A (ja) 歌唱特訓機能付きカラオケ装置
JP2003099035A (ja) 自動演奏装置、情報配信サーバ装置、及びそれらに用いるプログラム
KR20080082019A (ko) 원음 노래방 서비스를 제공하는 휴대 노래방 시스템 및 그방법
WO2004015651A1 (ja) トレーニングシステム
KR20170058504A (ko) 악보 구현 및 음원 재생 시스템 및 그 방법
JP3974069B2 (ja) 合唱曲や重唱曲を処理するカラオケ演奏方法およびカラオケシステム

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
GR01 Patent grant
GR01 Patent grant