CN113035158A - 一种在线midi音乐编辑方法、系统及存储介质 - Google Patents

一种在线midi音乐编辑方法、系统及存储介质 Download PDF

Info

Publication number
CN113035158A
CN113035158A CN202110121079.3A CN202110121079A CN113035158A CN 113035158 A CN113035158 A CN 113035158A CN 202110121079 A CN202110121079 A CN 202110121079A CN 113035158 A CN113035158 A CN 113035158A
Authority
CN
China
Prior art keywords
note
midi
graphic
note data
online
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.)
Granted
Application number
CN202110121079.3A
Other languages
English (en)
Other versions
CN113035158B (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.)
Shenzhen Dianmao Technology Co Ltd
Original Assignee
Shenzhen Dianmao Technology 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 Shenzhen Dianmao Technology Co Ltd filed Critical Shenzhen Dianmao Technology Co Ltd
Priority to CN202110121079.3A priority Critical patent/CN113035158B/zh
Publication of CN113035158A publication Critical patent/CN113035158A/zh
Application granted granted Critical
Publication of CN113035158B publication Critical patent/CN113035158B/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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • 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/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • G10H1/0066Transmission between separate instruments or between individual components of a musical system using a MIDI interface
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/091Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith
    • G10H2220/101Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters
    • G10H2220/126Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters for graphical editing of individual notes, parts or phrases represented as variable length segments on a 2D or 3D representation, e.g. graphical edition of musical collage, remix files or pianoroll representations of MIDI-like files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

本发明公开了一种在线MIDI音乐编辑方法、系统及存储介质,其中,所述方法包括:获取在线音乐画板中的图形音符;将所述图形音符的矢量图转换为对应的音符数据矩阵,所述音符数据矩阵包括所述图形音符的位置信息和时长信息;根据所述音符数据矩阵编码生成相应的MIDI文件和/或MP3文件。本发明实施例通过将在线音乐画板中的图形音符转换为相应的音符数据矩阵,并且在保存输出时可保存为相应的MIDI文件和/或MP3文件,保存得到的MIDI文件可完美还原当前用户的创作音乐,使得创作者能直接在Web端自由创作得到可再编辑的MIDI音乐,给创作者提供了更大的创作发挥空间,提高了MIDI音乐创作和编辑的灵活性。

Description

一种在线MIDI音乐编辑方法、系统及存储介质
技术领域
本发明涉及图形化编程技术领域,具体涉及一种在线MIDI音乐编辑方法、系统及存储介质。
背景技术
在传统的可视化音乐编辑器中,仅提供给用户MIDI音乐编辑、播放和输出功能,允许用户根据提供的UI交互,譬如给定一块映射乐理音符的画板,或者一个钢琴键盘,去即兴创作一首音乐并将其输出,用户可以得到输出后的一个音频文件,通常为 MP3 或者 OGG。这类编辑产品的输出不具备再编辑功能,无法反向解析还原到创作、编辑时的状态,因此是一次性的创作方案,大大限制了创作者的编辑灵活性和创作空间。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足之处,本发明的目的在于提供一种在线MIDI音乐编辑方法、系统及存储介质,旨在解决现有技术中MIDI音乐编辑无法实现再编辑功能的问题。
为了达到上述目的,本发明采取了以下技术方案:
一种在线MIDI音乐编辑方法,其包括如下步骤:
获取在线音乐画板中的图形音符;
将所述图形音符的矢量图转换为对应的音符数据矩阵,所述音符数据矩阵包括所述图形音符的位置信息和时长信息;
根据所述音符数据矩阵编码生成相应的MIDI文件和/或MP3文件。
所述的在线MIDI音乐编辑方法中,所述获取在线音乐画板中的图形音符的步骤,包括:
判断当前是否存在MIDI导入文件;
若存在,则将所述MIDI导入文件中的音符数据转换为对应的待编辑图形音符;
若不存在,则建立空白音乐画板;
根据用户输入的鼠标事件对所述待编辑图形音符或者空白音乐画板进行音符编辑,得到相应的图形音符。
所述的在线MIDI音乐编辑方法中,所述将所述图形音符的矢量图转换为对应的音符数据矩阵,所述音符数据矩阵包括所述图形音符的位置信息和时长信息的步骤,包括:
根据所述矢量图获取所述图形音符的位置信息和时长信息;
根据所述图形音符的位置信息和时长信息生成用于记录音符数据的一维音符数组;
将所述一维音符数组转换为对应的音符数据矩阵,其中所述音符数据矩阵的横坐标为时间,纵坐标为音高。
所述的在线MIDI音乐编辑方法中,所述将所述一维音符数组转换为对应的音符数据矩阵的步骤,包括:
根据所述在线音乐画板的结构建立一预设矩阵,所述预设矩阵的横坐标为时间,纵坐标为音高;
获取所述一维音符数组中每个图形音符的坐标和对应时长;
根据每个图形音符的坐标和对应时长设置所述预设矩阵中各个元素的值,生成所述音符数据矩阵。
所述的在线MIDI音乐编辑方法中,所述根据每个图形音符的坐标和对应时长设置所述预设矩阵中各个元素的值,生成所述音符数据矩阵的步骤,具体包括:
将坐标为(i,j)的图形音符的时长a作为所述预设矩阵中(i,j)元素的值,当时长a大于1时,将(i,j+1)元素至(i,j+n) 元素的值设置为预设连音标识符,其余元素置空,其中n=a-1。
所述的在线MIDI音乐编辑方法中,所述根据所述音符数据矩阵编码生成相应的MIDI文件和/或MP3文件的步骤中,生成MIDI文件具体包括:
将所述音符数据矩阵中的数据空位和预设连音标识符移除后编码生成相应的MIDI文件。
所述的在线MIDI音乐编辑方法中,所述将所述MIDI导入文件中的音符数据转换为对应的待编辑图形音符的步骤,包括:
解析获取所述MIDI导入文件中的音符数据;
识别所述音符数据的音高、起始点与时值后恢复相应的音符数据矩阵;
将所述音符数据矩阵转换为对应的待编辑图形音符。
所述的在线MIDI音乐编辑方法中,所述识别所述音符数据的音高与时值后恢复相应的音符数据矩阵的步骤,包括:
识别所述音符数据的音高、起始点与时值;
当所述音符数据的时值大于基准音符时值时,将所述音符数据拆分为首音符和对应数量的预设连音标识符,其中所述首音符和预设连音标识符的时值均为基准音符时值;
根据所述音符数据的音高、起始点以及拆分后的音符组合恢复相应的音符数据矩阵。
本发明的另一实施例还提供了一种在线MIDI音乐编辑系统,其包括:处理器、存储器和通信总线;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如上所述的在线MIDI音乐编辑方法中的步骤。
本发明的另一实施例还提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的在线MIDI音乐编辑方法中的步骤。
相较于现有技术,本发明提供的一种在线MIDI音乐编辑方法、系统及存储介质中,所述在线MIDI音乐编辑方法通过将在线音乐画板中的图形音符转换为相应的音符数据矩阵,并且在保存输出时可保存为相应的MIDI文件和/或MP3文件,保存得到的MIDI文件可完美还原当前用户的创作音乐,使得创作者能直接在Web端自由创作得到可再编辑的MIDI音乐,给创作者提供了更大的创作发挥空间,提高了MIDI音乐创作和编辑的灵活性。
附图说明
图1为本发明提供的在线MIDI音乐编辑方法较佳实施例的流程图;
图2为本发明提供的在线MIDI音乐编辑方法较佳实施例中步骤S10的流程图;
图3为本发明提供的在线MIDI音乐编辑方法较佳实施例中步骤S20的流程图;
图4为本发明提供的在线MIDI音乐编辑方法较佳实施例中步骤S23的流程图;
图5为本发明提供的在线MIDI音乐编辑方法较佳实施例中步骤S12的流程图;
图6为本发明提供的在线MIDI音乐编辑方法较佳实施例中步骤S122的流程图;
图7为本发明提供的在线MIDI音乐编辑方法应用实施例中音符数据矩阵的数据结构示意图;
图8为本发明提供的在线MIDI音乐编辑系统较佳实施例的硬件结构示意图;
图9为本发明安装在线MIDI音乐编辑程序的系统较佳实施例的功能模块图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
请参阅图1,本发明提供的在线MIDI音乐编辑方法包括以下步骤:
S10、获取在线音乐画板中的图形音符。
本实施例中,MIDI编辑器基于JavaScript语言编写,使其可直接运行在Web端进行在线MIDI音乐编辑,轻松实现跨端、跨平台运行,只需要一个浏览器作为载体即可,免除了用户过往想要创作MIDI音乐必须下载安装客户端、限制颇多且操作不便的痛苦,满足用户任意场景,随时随地,随心所欲创作MIDI音乐的需求,用户可通过浏览器在线运行MIDI音乐编辑器,打开在线音乐画板,在所述在线音乐画板中输入图形音符实现音乐创作。
具体请参阅图2,其为本发明提供的在线MIDI音乐编辑方法中步骤S10的流程图,如图2所示,所述步骤S10包括:
S11、判断当前是否存在MIDI导入文件;
S12、若存在,则将所述MIDI导入文件中的音符数据转换为对应的待编辑图形音符;
S13、若不存在,则建立空白音乐画板;
S14、根据用户输入的鼠标事件对所述待编辑图形音符或者空白音乐画板进行音符编辑,得到相应的图形音符。
本实施例中,在获取在线音乐画板中的图形音符时可分为两种情况,在进入MIDI编辑器后先判断是否存在MIDI导入文件,该MIDI导入文件可以是当前MIDI编辑器的历史编辑记录,即用户对之前创作的音乐进行再编辑,也可以是其他现有的MIDI文件,在存在所述MIDI导入文件时,对导入的文件进行数据解析,获取其中的音符数据后将其转换为对应的待编辑图形音符;而不存在所述MIDI导入文件时,则建立空白音乐画板等待用户编辑,具体所述音乐画板可基于矢量图形库paper.js进行搭建,例如采用栅格结构的音乐画板进行创作,用户通过在栅格结构的音乐画板上输入相应的鼠标事件绘制不同的矢量图形,对所述待编辑图形音符或者空白音乐画板进行音符编辑进而得到相应的图形音符,达到在线MIDI音乐导入还原以及编辑的效果。
具体来说,用户通过输入鼠标事件进行的音符编辑可包括绘制、删除、复制、粘贴、拖拽等等操作,音符编辑方式直观灵活,通过输入不同的鼠标事件即可得到相应矢量图形的音符,使图形化音符编辑不再局限于固定的图形,可以有效区分连续或独立的音符。
优选地,在进行音符编辑时,所述音乐画板由底层至顶层依次设置有栅格层、绘制层以及播放线层,即最底层为栅格层,将编辑绘制区域区分为一个个矩形格子的区域,具体是基于paper.js用合纵交替的线将音乐画板上的编辑区域划分为一个一个的栅格;第二层为绘制层,这一层是图形音符的矩形格子,主要是利用paper.js绘制出矩形结构作为音符,并通过位置判断,将绘制的矩形边缘与栅格进行匹配得到相应的图形音符,具体用连续的矩形代表连音音符,用单个的矩形代表单音节音符;第三层为播放线层,用于在音符播放时定位线的移动。
因此,用户利用鼠标进行图形音符的绘制具体在绘制层实现,先检测用户输入的鼠标按下事件以及按下后的鼠标移动事件,根据当前鼠标移动方向的不同分别触发绘制功能或者框选功能,其中,在鼠标移动事件中的方向信息为横向时触发绘制功能,在鼠标移动事件中的方向信息为纵向时触发框选功能,具体来说,可通过比较鼠标按下时的纵坐标与移动后的纵坐标进行对比来区分移动方向,当移动后的纵坐标与鼠标按下时的纵坐标的差值小于预设阈值时判断为横向移动,否则判断为纵向移动。
在触发不同功能之后继续检测用户输入的鼠标松开事件,通过对比鼠标按下位置和鼠标松开位置来绘制相应长度的图形音符或者框选相应区域内的图形音符,使用户通过控制鼠标按下与松开的位置和鼠标移动方向即可绘制多样化的图形音符或者选中不同相应区域的图形音符,例如在绘制时,当需要绘制单音节音符时通过单击某一栅格实现,当需要绘制连音音符时通过点击某一栅格后继续横向移动若干个栅格再松开即可实现,打破了现有可视化音乐编辑中对音符图形的限制,可根据需要绘制任意长度的图形音符实现长音、连音效果。
特别地,在绘制模式下松开鼠标时,会进一步在当前行寻找是否有与新绘制的图形音符重叠的其它音符,若存在重叠的其它音符,则删除该重叠的其它音符,只保留本次绘制的音符,确保音符绘制的正确性,避免存在重叠音符等数据错误;在框选模式下松开鼠标时,会选中鼠标移动区域内的所有音符,被选中的音符可进一步根据输入的鼠标和键盘事件进行例如复制、黏贴、删除、拖拽、移动、缩放等编辑事件,实现对已绘制的图形音符的编辑修改操作,提高在线MIDI音乐编辑的灵活性和可编辑性。
S20、将所述图形音符的矢量图转换为对应的音符数据矩阵,所述音符数据矩阵包括所述图形音符的位置信息和时长信息。
本实施例中,获取了在线音乐画板中的图形音符后,每个图形音符均对应为一个矢量图,将其转换为相应的音符数据矩阵作为当前MIDI音乐的声音源节点,其中该音符数据矩阵包括了图形音符的位置信息和时长信息,所述位置信息和时长信息则对应了每个图形音符的音高、播放起点以及音符时值等信息,以便后续的音符播放以及MIDI音乐再编辑处理。
具体实施时,MIDI编辑器底层通过JavaScriptWebAudioAPI来实现的,WebAudioAPI对音频的可编程操作原理及流程可概况为,先创建上下文为音乐编辑提供工作环境;之后建立音频节点,该音频节点包含了声音源节点和声音效果节点;之后连接所有的音频节点,即将所有的音频节点进行混合,在每个播放节点播放相应的声音数据;之后将声音数据连接到声音输出点,例如扬声器或者耳机等;最后从起始节点开始播放声音,也就是说,声音最终的输出是一个混合的效果,这样的一个混合是无法逆向解析的,如果需要实现再编辑、可编程功能的话,就需要保留下来每一个音频节点的信息,本发明提供的在线MIDI音乐编辑方法中通过将图形音符转换为相应的音符数据矩阵来记录创作中的所有声音源节点,令MIDI音乐创作不再是一次性的创作方案,给创作者提供了更大的创作发挥空间,提高了MIDI音乐创作和编辑的灵活性。
具体请参阅图3,其为本发明提供的在线MIDI音乐编辑方法中步骤S20的流程图,如图3所示,所述步骤S20包括:
S21、根据所述矢量图获取所述图形音符的位置信息和时长信息;
S22、根据所述图形音符的位置信息和时长信息生成用于记录音符数据的一维音符数组;
S23、将所述一维音符数组转换为对应的音符数据矩阵,其中所述音符数据矩阵的横坐标为时间,纵坐标为音高。
本实施例中,在具体进行数据转换时,先根据所述矢量图获取图形音符的位置信息和时长信息,在创建音乐画板时,所述栅格区域的横轴和纵轴分别对应为时间轴和音高轴,因此每个位置的图形音符均对应了一个时间点和一个音高,而图形音符的长度则对应了播放时长,根据这些信息生成用于记录音符数据的一维音符数组,明确每个时间点需要处理的音符数据,之后将一维音符数组转换为对应的更适用于音符播放与音频节点还原的音符数据矩阵,与所述音乐画板相映射,所述音符数据矩阵的横坐标为时间,纵坐标为音高,从而实现后续对用户绘制的图形音符的准确播放控制以及音频节点还原。
具体请参阅图4,其为本发明提供的在线MIDI音乐编辑方法中步骤S23的流程图,如图4所示,所述步骤S23包括:
S231、根据所述在线音乐画板的结构建立一预设矩阵,所述预设矩阵的横坐标为时间,纵坐标为音高;
S232、获取所述一维音符数组中每个图形音符的坐标和对应时长;
S233、根据每个图形音符的坐标和对应时长设置所述预设矩阵中各个元素的值,生成所述音符数据矩阵。
本实施例中,在将音符数组转换音符数据矩阵时,先根据在线音乐画板的行数和列数对应建立一具有相同行和列的预设矩阵,其中所述预设矩阵的横坐标为时间,纵坐标为音高,具体的时间划分与音高划分与在线音乐画板均相同,之后获取一维音符数组中每个图形音符的坐标和对应时长,由于音符数组的生成时获取了每个图形音符的位置信息和时长信息,因此可对应得到每个图形音符在音乐画板矩阵中的起点为第几行第几列,以及每个图形音符占用了几个矩形,根据坐标和时长对应设置所述预设矩阵中各个元素的值从而生成所述音符数据矩阵,即所述音符数据矩阵与在线音乐画板进行结构和数据上的对应,将在线音乐画板上每个位置的音符绘制情况对应在音符数据矩阵中通过相应的元素进行体现,进而得到完全一一映射的音符数据,使得在播放以及还原数据时均可准确得到用户所创作的MIDI音乐,确保MIDI音乐编辑与播放的准确性。
具体来说,将坐标为(i,j)的图形音符的时长a作为所述预设矩阵中(i,j)元素的值,当时长a大于1时,将(i,j+1)元素至(i,j+n) 元素的值设置为预设连音标识符,其余元素置空,其中n=a-1,例如当坐标(1,1)处有一个时长为1的图形音符,则将预设矩阵中(1,1)元素设置为1,即A11=1,A为预设矩阵,而当某一个音符为持续的长音时,其时长会大于1,例如坐标(1,1)处有一个时长为3的图形音符,此时为了标记长音输出,不仅将预设矩阵中(1,1)元素设置为3,还将(1,2)元素以及(1,3)元素设置为预设连音标识符,表示这个音符播放的时长不止一个节拍(时长以1个节拍为基本单位),需要持续输出三拍该音符,从而实现了长音符的播放,完善在线MIDI音乐编辑的播放输出效果,避免数据转换中不同时长音符数据的播放以及还原编辑错误。
S30、根据所述音符数据矩阵编码生成相应的MIDI文件和/或MP3文件。
本实施例中,在进行了数据转换得到音符数据矩阵后,根据所述音符数据矩阵按行业内MIDI文件以及MP3文件的编码规则编码生成声音的MIDI文件和/或MP3文件,创作者可根据不同的需要自由选择保存文件格式,由于采用了音符数据矩阵的形式保存了每个音频节点的音符数据,因此将其保存为MIDI文件后在再导入与再编辑时可完美还原用户创作时的音符状态,给MIDI音乐创作提供了更多的可能性。
进一步地,本发明提供的在线MIDI音乐编辑方法中,还为创作得到的MIDI音乐提供可编程接口,这些接口会对外输出每一个节拍下的音乐数据,也可以输出音乐的全部信息,例如在图形化编程软件中,添加了对应的MIDI音乐积木后,可获取到由可编程接口给出的音符数据,使得用户可根据所给出的数据去指定动作行为,将创作的MIDI音乐与不同的操作或功能相结合,可以满足用户创作各式各样的音乐功能的基本需求,进一步激发用户的创作潜力,挖掘无限可能。
优选地,为便于存储,所述步骤S30中,生成MIDI文件的步骤具体为将所述音符数据矩阵中的数据空位和预设连音标识符移除后编码生成相应的MIDI文件,即对所述音符数据矩阵中的无用数据进行移除与压缩,以节约存储空间和文件导出效率。
对应地,在进行MIDI文件导入还原时,具体请参阅图5,其为本发明提供的在线MIDI音乐编辑方法中步骤S12的流程图。如图5所示,所述步骤S12包括:
解析获取所述MIDI导入文件中的音符数据;
识别所述音符数据的音高、起始点与时值后恢复相应的音符数据矩阵;
将所述音符数据矩阵转换为对应的待编辑图形音符。
本实施例中,在存储MIDI导入文件时,解析获取其中的音符数据后根据每个音符数据的音高、起始点与时值恢复相应的音符数据矩阵,即根据每个音符数据的音高和起始点对应找到各个音符在音符数据矩阵中的坐标,之后根据每个音符的时值对应恢复音符数据矩阵中元素的值,由于音符数据矩阵与在线音乐画板完全一一映射,因此根据矩阵中各元素的值即可完美还原出待编辑图形音符,从而实现了MIDI音乐导出和导入的过程,创作者可根据需要随时导出保存或导入再编辑,无需担心导出后无法二次编辑等问题。
具体请参阅图6,其为本发明提供的在线MIDI音乐编辑方法中步骤S122的流程图。如图6所示,所述步骤S122包括:
S1221、识别所述音符数据的音高、起始点与时值;
S1222、当所述音符数据的时值大于基准音符时值时,将所述音符数据拆分为首音符和对应数量的预设连音标识符,其中所述首音符和预设连音标识符的时值均为基准音符时值;
S1223、根据所述音符数据的音高、起始点以及拆分后的音符组合恢复相应的音符数据矩阵。
本实施例中,根据所述音符数据的音高、起始点与时值还原音符数据矩阵,此时如果音符数据的时值大于基准音符时值,例如基准音符时值为八分音符,若识别到一个二分音符,则其时值为基准音符时值的四倍,此时将所述音符数据按基准音符时值进行数据拆分,将其拆分为首音符和对应数量的预设连音标识符,即拆分为一个八分音符和三个预设连音标识符,将音符数据的起始点i和音高j作为起点坐标找到音符数据矩阵中对应的起点元素(i,j)元素后,根据拆分后的音符组合恢复音符数据矩阵中元素的值,即若音符数据的时值等于基准音符时值,则将音符数据矩阵中对应的起点元素(i,j)元素的值设置为1,若音符元素的时值大于基准音符时值时,则将音符数据矩阵中对应的起点元素(i,j)元素的值设置为a,a为当前音符时值与基准音符时值相比的倍数,并将(i,j+1)元素至(i,j+n)元素的值设置为预设连音标识符,n=a-1,从而实现准确地数据还原,实现MIDI音乐再编辑目的。
为更好地理解本发明提供的在线MIDI音乐编辑方法中的音符数据矩阵的结构,以下结合图7,举具体应用实施例对所述音符数据矩阵的结构进行详细说明。
图7为应用实施例中音符数据矩阵的结构示意图,如图7所示,矩阵纵向代表着音符数据,例如可提供是 C3~C6 3个八度跨度的声音数据,横向代表的是时间轴,时间轴以一拍为划分,矩阵中(从1计数)元素[2,1]=1,即表示:在音乐播放时的第二拍有一个 C6 的音符需要播放,播放时长为1个节拍,当一个时刻(纵向)存在多个音符,就可以构成和弦输出效果,而针对不止一个节拍的音符播放,则存在预设连音标识符,例如元素[5,3]=4,表示在第三拍时播放G5音符,其持续时间为4拍,通过将元素[5,4]、[5,5]和[5,6]设置为P位音符,即预设连音标识符,标识该音符依然在播放,需要接口持续对外输出该音符数据,使得输出效果为连续的四拍sol~~~,而不是独立的四拍sol,sol,sol,sol,从而实现了长音符的识别与播放。
最后在输出为MIDI文件时,将数据空位以及P位移除,对数据进行压缩后以便存储,当再次导入时,扫描得到所有音符数据后,将所有时值大于一个八分音符的数据以八分音符时值为基准,拆分为首音符和 P 位音符的组合,根据各个音符的起点坐标对应恢复音符数据矩阵中各个元素的值,从而实现了导入导出的一一对应,在导入时做到完美还原,实现MIDI音乐再编辑的效果。
需要说明的是,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本发明实施例的描述可以理解,不同实施例中,上述各步骤可以有不同的执行顺序,即亦可以并行执行,亦可以交换执行等等。
如图8所示,基于上述在线MIDI音乐编辑方法,本发明还相应提供了一种在线MIDI音乐编辑系统,所述在线MIDI音乐编辑系统可以是移动终端、桌上型计算机、笔记本、掌上电脑及服务器等计算设备,其包括处理器10、存储器20及显示器30。图8仅示出了在线MIDI音乐编辑系统的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器20在一些实施例中可以是所述在线MIDI音乐编辑系统的内部存储单元,例如系统的硬盘或内存。所述存储器20在另一些实施例中也可以是所述在线MIDI音乐编辑系统的外部存储设备,例如所述在线MIDI音乐编辑系统上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括所述在线MIDI音乐编辑系统的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述在线MIDI音乐编辑系统的应用软件及各类数据,例如安装所述在线MIDI音乐编辑系统的程序代码等。在一实施例中,存储器20上存储有在线MIDI音乐编辑程序40,该在线MIDI音乐编辑程序40可被处理器10所执行,从而实现本申请各实施例的在线MIDI音乐编辑方法。
所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述在线MIDI音乐编辑方法等。
所述显示器30在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述在线MIDI音乐编辑系统的信息以及用于显示可视化的用户界面。所述在线MIDI音乐编辑系统的部件10-30通过系统总线相互通信。在一实施例中,当处理器10执行所述存储器20中在线MIDI音乐编辑程序40时实现上述在线MIDI音乐编辑方法中的步骤。
请参阅图9,其为本发明安装在线MIDI音乐编辑程序的系统较佳实施例的功能模块图。在本实施例中,安装在线MIDI音乐编辑程序的系统可以被分割成一个或多个模块,所述一个或者多个模块被存储于所述存储器20中,并由一个或多个处理器(本实施例为所述处理器10)所执行,以完成本发明。例如,在图9中,安装在线MIDI音乐编辑程序的系统可以被分割成音符获取模块21、数据转换模块22和编码保存模块23,所述音符获取模块21、数据转换模块22和编码保存模块23依次连接。
所述音符获取模块21,用于获取在线音乐画板中的图形音符;
所述数据转换模块22,用于将所述图形音符的矢量图转换为对应的音符数据矩阵,所述音符数据矩阵包括所述图形音符的位置信息和时长信息;
所述编码保存模块23,用于根据所述音符数据矩阵编码生成相应的MIDI文件和/或MP3文件。
本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述在线MIDI音乐编辑程序在所述在线MIDI音乐编辑系统中的执行过程。所述模块21-23的具体功能请参阅上述方法对应的实施例。
综上所述,本发明提供的一种在线MIDI音乐编辑方法、系统及存储介质中,所述在线MIDI音乐编辑方法包括:获取在线音乐画板中的图形音符;将所述图形音符的矢量图转换为对应的音符数据矩阵,所述音符数据矩阵包括所述图形音符的位置信息和时长信息;根据所述音符数据矩阵编码生成相应的MIDI文件和/或MP3文件。本发明实施例通过将在线音乐画板中的图形音符转换为相应的音符数据矩阵,并且在保存输出时可保存为相应的MIDI文件和/或MP3文件,保存得到的MIDI文件可完美还原当前用户的创作音乐,使得创作者能直接在Web端自由创作得到可再编辑的MIDI音乐,给创作者提供了更大的创作发挥空间,提高了MIDI音乐创作和编辑的灵活性。
以上所描述的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存在于计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机电子设备(可以是个人计算机,服务器,或者网络电子设备等)执行各个实施例或者实施例的某些部分的方法。
除了其他之外,诸如"能够'、"能"、"可能"或"可以"之类的条件语言除非另外具体地陈述或者在如所使用的上下文内以其他方式理解,否则一般地旨在传达特定实施方式能包括(然而其他实施方式不包括)特定特征、元件和/或操作。因此,这样的条件语言一般地还旨在暗示特征、元件和/或操作对于一个或多个实施方式无论如何都是需要的或者一个或多个实施方式必须包括用于在有或没有输入或提示的情况下判定这些特征、元件和/或操作是否被包括或者将在任何特定实施方式中被执行的逻辑。
已经在本文中在本说明书和附图中描述的内容包括能够提供一种项目干系人分析评估方法、系统、系统及介质的示例。当然,不能够出于描述本公开的各种特征的目的来描述元件和/或方法的每个可以想象的组合,但是可以认识到,所公开的特征的许多另外的组合和置换是可能的。因此,显而易见的是,在不脱离本公开的范围或精神的情况下能够对本公开做出各种修改。此外,或在替代方案中,本公开的其他实施例从对本说明书和附图的考虑以及如本文中所呈现的本公开的实践中可能是显而易见的。意图是,本说明书和附图中所提出的示例在所有方面被认为是说明性的而非限制性的。尽管在本文中采用了特定术语,但是它们在通用和描述性意义上被使用并且不用于限制的目的。

Claims (10)

1.一种在线MIDI音乐编辑方法,其特征在于,包括如下步骤:
获取在线音乐画板中的图形音符;
将所述图形音符的矢量图转换为对应的音符数据矩阵,所述音符数据矩阵包括所述图形音符的位置信息和时长信息;
根据所述音符数据矩阵编码生成相应的MIDI文件和/或MP3文件。
2.根据权利要求1所述的在线MIDI音乐编辑方法,其特征在于,所述获取在线音乐画板中的图形音符的步骤,包括:
判断当前是否存在MIDI导入文件;
若存在,则将所述MIDI导入文件中的音符数据转换为对应的待编辑图形音符;
若不存在,则建立空白音乐画板;
根据用户输入的鼠标事件对所述待编辑图形音符或者空白音乐画板进行音符编辑,得到相应的图形音符。
3.根据权利要求2所述的在线MIDI音乐编辑方法,其特征在于,所述将所述图形音符的矢量图转换为对应的音符数据矩阵,所述音符数据矩阵包括所述图形音符的位置信息和时长信息的步骤,包括:
根据所述矢量图获取所述图形音符的位置信息和时长信息;
根据所述图形音符的位置信息和时长信息生成用于记录音符数据的一维音符数组;
将所述一维音符数组转换为对应的音符数据矩阵,其中所述音符数据矩阵的横坐标为时间,纵坐标为音高。
4.根据权利要求3所述的在线MIDI音乐编辑方法,其特征在于,所述将所述一维音符数组转换为对应的音符数据矩阵的步骤,包括:
根据所述在线音乐画板的结构建立一预设矩阵,所述预设矩阵的横坐标为时间,纵坐标为音高;
获取所述一维音符数组中每个图形音符的坐标和对应时长;
根据每个图形音符的坐标和对应时长设置所述预设矩阵中各个元素的值,生成所述音符数据矩阵。
5.根据权利要求4所述的在线MIDI音乐编辑方法,其特征在于,所述根据每个图形音符的坐标和对应时长设置所述预设矩阵中各个元素的值,生成所述音符数据矩阵的步骤,具体包括:
将坐标为(i,j)的图形音符的时长a作为所述预设矩阵中(i,j)元素的值,当时长a大于1时,将(i,j+1)元素至(i,j+n) 元素的值设置为预设连音标识符,其余元素置空,其中n=a-1。
6.根据权利要求5所述的在线MIDI音乐编辑方法,其特征在于,所述根据所述音符数据矩阵编码生成相应的MIDI文件和/或MP3文件的步骤中,生成MIDI文件具体包括:
将所述音符数据矩阵中的数据空位和预设连音标识符移除后编码生成相应的MIDI文件。
7.根据权利要求6所述的在线MIDI音乐编辑方法,其特征在于,所述将所述MIDI导入文件中的音符数据转换为对应的待编辑图形音符的步骤,包括:
解析获取所述MIDI导入文件中的音符数据;
识别所述音符数据的音高、起始点与时值后恢复相应的音符数据矩阵;
将所述音符数据矩阵转换为对应的待编辑图形音符。
8.根据权利要求7所述的在线MIDI音乐编辑方法,其特征在于,所述识别所述音符数据的音高与时值后恢复相应的音符数据矩阵的步骤,包括:
识别所述音符数据的音高、起始点与时值;
当所述音符数据的时值大于基准音符时值时,将所述音符数据拆分为首音符和对应数量的预设连音标识符,其中所述首音符和预设连音标识符的时值均为基准音符时值;
根据所述音符数据的音高、起始点以及拆分后的音符组合恢复相应的音符数据矩阵。
9.一种在线MIDI音乐编辑系统,其特征在于,包括:处理器、存储器和通信总线;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如权利要求1-8任意一项所述的在线MIDI音乐编辑方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-8任意一项所述的在线MIDI音乐编辑方法中的步骤。
CN202110121079.3A 2021-01-28 2021-01-28 一种在线midi音乐编辑方法、系统及存储介质 Active CN113035158B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110121079.3A CN113035158B (zh) 2021-01-28 2021-01-28 一种在线midi音乐编辑方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110121079.3A CN113035158B (zh) 2021-01-28 2021-01-28 一种在线midi音乐编辑方法、系统及存储介质

Publications (2)

Publication Number Publication Date
CN113035158A true CN113035158A (zh) 2021-06-25
CN113035158B CN113035158B (zh) 2024-04-19

Family

ID=76459466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110121079.3A Active CN113035158B (zh) 2021-01-28 2021-01-28 一种在线midi音乐编辑方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN113035158B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113793307A (zh) * 2021-08-23 2021-12-14 上海派影医疗科技有限公司 一种适用于多类型病理图像的自动标注方法及系统
CN115297108A (zh) * 2022-08-11 2022-11-04 青岛美迪康数字工程有限公司 基于钢琴音节的诊疗质控文件传输方法及装置
WO2023000917A1 (zh) * 2021-07-23 2023-01-26 北京字跳网络技术有限公司 音乐文件的生成方法、生成装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000330554A (ja) * 1999-05-24 2000-11-30 Dainippon Printing Co Ltd Midiデータを用いた音響情報の表現方法・表示方法・表示媒体およびmidiデータの再生方法
JP2012083564A (ja) * 2010-10-12 2012-04-26 Yamaha Corp 楽曲編集装置およびプログラム
JP2013137520A (ja) * 2011-11-29 2013-07-11 Yamaha Corp 音楽データ編集装置
JP2015121596A (ja) * 2013-12-20 2015-07-02 ヤマハ株式会社 音楽情報表示装置
CN109584910A (zh) * 2017-09-29 2019-04-05 雅马哈株式会社 歌唱音频的编辑辅助方法以及歌唱音频的编辑辅助装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000330554A (ja) * 1999-05-24 2000-11-30 Dainippon Printing Co Ltd Midiデータを用いた音響情報の表現方法・表示方法・表示媒体およびmidiデータの再生方法
JP2012083564A (ja) * 2010-10-12 2012-04-26 Yamaha Corp 楽曲編集装置およびプログラム
JP2013137520A (ja) * 2011-11-29 2013-07-11 Yamaha Corp 音楽データ編集装置
JP2015121596A (ja) * 2013-12-20 2015-07-02 ヤマハ株式会社 音楽情報表示装置
CN109584910A (zh) * 2017-09-29 2019-04-05 雅马哈株式会社 歌唱音频的编辑辅助方法以及歌唱音频的编辑辅助装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023000917A1 (zh) * 2021-07-23 2023-01-26 北京字跳网络技术有限公司 音乐文件的生成方法、生成装置、电子设备和存储介质
CN113793307A (zh) * 2021-08-23 2021-12-14 上海派影医疗科技有限公司 一种适用于多类型病理图像的自动标注方法及系统
CN115297108A (zh) * 2022-08-11 2022-11-04 青岛美迪康数字工程有限公司 基于钢琴音节的诊疗质控文件传输方法及装置
CN115297108B (zh) * 2022-08-11 2023-08-25 青岛美迪康数字工程有限公司 基于钢琴音节的诊疗质控文件传输方法及装置

Also Published As

Publication number Publication date
CN113035158B (zh) 2024-04-19

Similar Documents

Publication Publication Date Title
CN113035158B (zh) 一种在线midi音乐编辑方法、系统及存储介质
Agostini et al. Bach: An environment for computer-aided composition in max
EP2677451B1 (en) License verification method and apparatus, and computer readable storage medium storing program therefor
US11592967B2 (en) Method for automatically indexing an electronic document
CN109493879B (zh) 音乐旋律节奏分析提取方法及装置
US20210241731A1 (en) Systems, devices, and methods for assigning mood labels to musical compositions
US11790875B2 (en) Editing of midi files
CN104572577A (zh) 数学公式处理方法及装置
CN109002282B (zh) 一种在web页面开发中实现动画效果的方法和装置
CN117667095A (zh) 一种页面代码导出方法、装置、设备和存储介质
CN113626023A (zh) 基于Sketch的跨平台界面开发方法和系统、计算机设备和介质
Obie et al. A framework for authoring logically ordered visual data stories
US9495151B1 (en) Automatic comment creation for computer files
US10706215B2 (en) Producing formula representations of mathematical text
US8606773B2 (en) Method for combining and processing web data using tables and programming-by-demonstration
CN1499368A (zh) 一种基于描述的界面生成方法及生成系统
CN113946324A (zh) 一种展示高通量测序数据结果的交互式可视化报告系统
CN116126658A (zh) 一种屏幕操作日志流程挖掘方法、系统、设备及存储介质
CN113296759A (zh) 用户界面处理方法、用户界面处理系统、设备及存储介质
US7698659B1 (en) Methods and apparatus for formatting portion of content
KR20160011905A (ko) 온라인 학습 콘텐츠로의 변환을 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 및 온라인 학습 콘텐츠로의 변환 방법
CN113035157B (zh) 一种图形化音乐编辑方法、系统及存储介质
JP5810691B2 (ja) 楽譜情報生成装置および楽譜情報生成プログラム
CN117454855A (zh) 文本编辑方法、文本编辑器和计算机可读存储介质
JP2006260073A (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