A method and apparatus for drawing a musical score
By converting XML-formatted sheet music data into JSON format and generating the final data, the problem of fixed sheet music display is solved, enabling flexible and diverse display of sheet music and improving the user experience.
Patent Information
- Application Number
- CN202211029174.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-26
- Publication Date
- 2025-12-05
- Estimated Expiration
- 2042-08-26
AI Technical Summary
Existing sheet music display tools have a relatively fixed display method when displaying MusicXML format sheet music, which is inflexible, lacks additional operations and functions, and cannot meet the diverse needs of users.
Convert XML-formatted sheet music data into raw JSON format, extract sheet music attribute elements, generate final JSON-formatted sheet music data, and display the sheet music according to different scenarios using a sheet music block generator, supporting animation, special effects, and other functions.
It achieves flexibility and diversity in sheet music display, improves user efficiency in different scenarios, and meets users' diverse needs for sheet music.
Smart Images

Figure CN115422400B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of Internet, and in particular to a music score drawing method and device. BACKGROUND
[0002] At present, the mainstream music score (for example, five-line score) display tools mainly include the following, for example, Finale, MuseScore or related derivative applications and the like. The above-mentioned applications can well display the music score based on the MusicXML format, help the majority of music lovers to realize music learning, and are also loved by many music professionals.
[0003] After years of use, it is found that the above-mentioned applications completely analyze and draw according to the original music score in the process of displaying the music score, and focus on displaying the correctness of the music score. In most cases, the above-mentioned applications belong to static drawing when drawing the music score. The drawn music score is relatively fixed, lacks methods for additional operations on the existing MusicXML format music score, and is very inflexible to use.
[0004] With the continuous change of market competition, many makers of related applications have put forward more demands for the display of music scores. The makers hope that there can be more and more flexible ways to display music scores and add additional functions in the music scores, such as animations, special effects or other elements. In this way, it helps the users of the application to learn and use the music scores in a way that is more suitable for them.
[0005] However, there is no mature and effective solution to meet the above-mentioned demands at present. SUMMARY
[0006] Therefore, the embodiments of the present application provide a music score drawing method and device, which solve the problem that the display of the MusicXML format music score is relatively fixed and not flexible to use when the existing application displays the music score.
[0007] In a first aspect, the embodiments of the present application provide a music score drawing method, which is applied to a terminal, and the method comprises the following steps:
[0008] obtaining first music score data in XML format;
[0009] converting the first music score data into second music score data in original JSON format;
[0010] extracting music score attribute elements from the second music score data;
[0011] generating third music score data in final JSON format according to the music score attribute elements;
[0012] The third music score data is input to a music score block generator, so that the music score block generator displays corresponding music scores according to different scenes.
[0013] In a second aspect, an embodiment of the present application provides a music score drawing device, which is applied to a terminal and includes:
[0014] An acquisition unit is configured to acquire first music score data in an XML format.
[0015] A conversion unit is configured to convert the first music score data into second music score data in an original JSON format.
[0016] An extraction unit is configured to acquire music score attribute elements from the second music score data.
[0017] A generation unit is configured to generate third music score data in a final JSON format according to the music score attribute elements.
[0018] An input unit is configured to input the third music score data to a music score block generator, so that the music score block generator displays corresponding music scores according to different scenes.
[0019] In a third aspect, an embodiment of the present application provides a terminal, which includes a housing, a processor, a memory, a circuit board and a power supply circuit, wherein the circuit board is arranged inside a space enclosed by the housing, the processor and the memory are arranged on the circuit board; the power supply circuit is configured to supply power to each circuit or device of the network security device; the memory is configured to store executable program codes; the processor is configured to run programs corresponding to the executable program codes by reading the executable program codes stored in the memory, and is configured to execute the music score drawing method in the first aspect.
[0020] In a fourth aspect, an embodiment of the present application provides a computer readable storage medium, which stores one or more programs, and the one or more programs are executable by one or more processors to implement the music score drawing method in the first aspect.
[0021] In a fifth aspect, an embodiment of the present application provides a computer program product, which includes a computer program, and the computer program is executable by one or more processors to implement the music score drawing method in the first aspect.
[0022] The method and device for drawing sheet music provided by the embodiment of the present application comprise the following steps: a terminal acquires first sheet music data in XML format; the terminal converts the first sheet music data into second sheet music data in original JSON format; the terminal extracts sheet music attribute elements from the second sheet music data; the terminal generates third sheet music data in final JSON format according to the sheet music attribute elements; and the terminal inputs the third sheet music data into a sheet music block generator, so that the sheet music block generator displays corresponding sheet music according to different scenarios.
[0023] The foregoing scheme can solve the problem that the sheet music in MusicXML format is relatively fixed and not flexible to use when being displayed in the prior application. The efficiency of a user in the sheet music related application production process is greatly improved, and the needs of the user in various different scenarios are met. BRIEF DESCRIPTION OF DRAWINGS
[0024] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or the prior art description. Obviously, the drawings in the following description only constitute some embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor on the basis of these drawings.
[0025] Figure 1 A flow chart of the method for drawing sheet music provided by the embodiment of the present application is provided.
[0026] Figure 2 Sheet music displayed after span block division provided by the embodiment of the present application;
[0027] Figure 3 Sheet music displayed after time point block division provided by the embodiment of the present application;
[0028] Figure 4 A schematic diagram of the device for drawing sheet music provided by the embodiment of the present application is provided.
[0029] Figure 5 A schematic diagram of the terminal structure provided by the embodiment of the present application is provided. DETAILED DESCRIPTION
[0030] The embodiments of the present application will be described in detail below with reference to the drawings.
[0031] It should be clear that the described embodiments are only some of the embodiments of the present application, not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor are within the scope of protection of the present application.
[0032] The following will be described in combination with the drawings Figure 1The scheme provided by the embodiment of the present application is described in detail, Figure 1 A flowchart of a method for drawing sheet music provided by the embodiment of the present application is shown in FIG. 1. In the embodiment of the present application, the main body is a terminal, such as a desktop computer, a personal PC, a PAD, and the like. As shown in FIG. 2, the method of the embodiment specifically includes the following steps: Figure 1
[0033] Step 110, obtaining first sheet music data in XML format;
[0034] Specifically, the terminal obtains first sheet music data, which is specifically in XML format. It can be understood that the sheet music data in XML format is a standard format sheet music data in the prior art. For example, part of the sheet music data given below is in XML format.
[0035]
[0036]
[0037] As can be clearly seen from the above structure, the first sheet music data in XML format conforms to the standard sheet music making habits, and has high readability after the meanings of the above-mentioned attributes are determined.
[0038] Step 120, converting the first sheet music data into second sheet music data in original JSON format;
[0039] Specifically, after the terminal obtains the first sheet music data in XML format, the first sheet music data is converted into second sheet music data in original JSON format.
[0040] In this step, the terminal does not change the overall structure of each attribute included in the first sheet music data in XML format in the process of converting the format of the sheet music data, but only converts the format.
[0041] Step 130, extracting sheet music attribute elements from the second sheet music data;
[0042] Specifically, after the terminal obtains the second sheet music data in original JSON format, the sheet music attribute elements are extracted from the second sheet music data.
[0043] For example, the sheet music attribute elements can be specifically as follows: <key> 、 <time>、 <clef> 、 <system-margins>and so on.
[0044] Step 140, generating third music score data with final JSON format according to the music score attribute element;
[0045] Specifically, after the terminal acquires the music score attribute element, different initial structures are generated according to the types of the music score attribute element. Each initial structure is iterated repeatedly to obtain different final structures. The terminal combines different final structures as the third music score data with final JSON format.
[0046] Optionally, the music score attribute element includes music score basic data, format coordinate data and music score playing data.
[0047] Optionally, the terminal generates the third music score data with final JSON format according to the music score attribute element, and specifically includes:
[0048] The terminal acquires the music score basic data from the music score attribute element. The music score basic data can be specifically the basic data of measures and notes in the music score. According to the acquired music score basic data, the terminal generates the corresponding initial parts structure.
[0049] It should be noted that in the process of generating the initial parts structure, part of the data may be lost, or due to the XML format, the music score basic data may have problems of overlapping, coordinate error, etc. when converting the original JSON format. Therefore, after the terminal generates the initial parts structure, the initial parts structure is processed to obtain the processed parts structure.
[0050] In the embodiment of the application, the terminal performs error correction processing on the initial parts structure, which can be specifically that the terminal reacquires the music score basic data from the second music score data in the original JSON format, and repeatedly executes the process of generating the initial parts structure to obtain the processed parts structure.
[0051] The terminal judges whether the processed parts structure conforms to the preset structure. If not, the terminal repeatedly executes the process of acquiring the music score basic data from the second music score data to judging whether the processed parts structure conforms to the preset structure until the processed parts structure conforms to the preset structure, to obtain the final parts structure.
[0052] The preset structure can be specifically a structure in which the processed parts structure does not have problems such as data loss, data overlapping, coordinate error, etc.
[0053] The terminal obtains score playing data from the score attribute element. The score playing data can be time-related information. According to the obtained score playing data, the terminal generates a corresponding initial timeline structure.
[0054] It should be noted that in the process of generating the initial timeline structure, part of the data can be lost, or due to the XML format, the score playing data can overlap or have coordinate errors when converting the original JSON format. Therefore, after the terminal generates the initial timeline structure, the terminal performs error correction processing on the initial timeline structure to obtain a processed timeline structure.
[0055] In the embodiment of the present application, the terminal performs error correction processing on the initial timeline structure, which can specifically be that the terminal re-obtains score playing data from the second score data in the original JSON format, and repeatedly performs the process of generating the initial timeline structure to obtain the processed timeline structure.
[0056] The terminal determines whether the processed timeline structure conforms to a preset structure. If not, the terminal repeatedly performs the process of obtaining score playing data from the second score data to determining whether the processed timeline structure conforms to the preset structure until the processed timeline structure conforms to the preset structure, to obtain a final timeline structure.
[0057] The above-mentioned preset structure can specifically be a structure in which the processed timeline structure does not have problems such as data loss, data overlap, or coordinate errors.
[0058] In the embodiment of the present application, the timeline structure includes span data, that is, a time span. It is related to the measure included in the parts structure, that is, the measure in the score, but not in a one-to-one correspondence. Similarly, the point (time point) and element (performance element) included in the span data are also related to the notes in the score, but not in a one-to-one correspondence.
[0059] In addition, in the parts structure, various pre-computations are performed. For example, the positions of notes, the relative positions of various notations, and the like can effectively improve the runtime efficiency. Furthermore, the relationship between each score basic data and the notes and measures is reorganized. According to the drawing relationship, rearrangement is performed, such as tie (same sound connection) and tuplet (three consecutive sounds), which are notation subordinate to notes, but also have an impact on other notes. Data will be recorded and processed in the manner of being subordinate to the direction of the measure.
[0060] The terminal obtains format coordinate data from the score attribute element. The format coordinate data can specifically be coordinate-related information of score drawing and printing. According to the obtained format coordinate data, the terminal generates a corresponding final system structure.
[0061] For example, the format coordinate data can specifically be a margin of score printing on paper, a distance between scores, and the like.
[0062] The terminal assembles the final parts structure, the final timeline structure, and the final system structure into third score data in a final JSON format.
[0063] For example, part of the score data given below is in a final JSON format.
[0064]
[0065]
[0066] As can be clearly seen from the above structure, the final JSON format completely sacrifices readability and is designed entirely around the flexibility and efficiency of a program.
[0067] For example, part of the score data given below is in a final JSON format.
[0068]
[0069]
[0070] As can be clearly seen from the above structure, the final JSON format divides a score into three large modules, namely, a final parts structure, a final system structure, and a final timeline structure. By obtaining data belonging to the parts structure, the system structure, and the timeline structure from an XML format, respectively, and recombining the logical relationship between the data, different requirements can be easily achieved from one piece of score data.
[0071] Step 150, inputting the third score data into a score block generator, so that the score block generator displays corresponding score according to different scenarios.
[0072] Specifically, after the terminal obtains third score data in a final JSON format, the terminal inputs the third score data into a score block generator, and the score block generator displays corresponding score according to different scenarios.
[0073] The score block creator is an OpenGL-based MusicJSON drawing tool for displaying and using a score. The score block creator includes three types of score blocks. The first type of score block is a standard format score block, corresponding to a traditional scenario. The second type of score block is an equidistant format score block, corresponding to a uniform scrolling scenario. The third type of score block is a split format score block, corresponding to an independent special effect scenario.
[0074] In the embodiments of the present application, the three types of score blocks are specifically system block division, span block division, and time point block division. The three types of block division can flexibly meet the needs of various use scenarios.
[0075] For example, the system block division is similar to the standard score format, which is equivalent to the drawing method of a traditional score. The span block division can display a score based on a certain performance time through equidistant arrangement, which is used for a scenario requiring uniform scrolling playback. The time point block division is used for further splitting a score, which can realize independent playback of various special effects based on score basic data.
[0076] The terminal can select a matching score block from the score block creator according to a user selection, and generate a corresponding score from the matching score block.
[0077] Optionally, the terminal inputs third score data to the score block creator, so that the score block creator displays a corresponding score according to different scenarios. Specifically, the terminal inputs the third score data to the score block creator. The terminal receives a first selection instruction input by a user, the first selection instruction being used for selecting a matching score block from the score block creator. According to the selected score block, the terminal generates a corresponding score.
[0078] Optionally, on the basis of each block division, each block division additionally provides various interfaces to receive further processing of a score by a user. For example, changing the color of a note, changing the display style of a note, changing the coordinates or movement mode of each note, changing the display range of a score, and the like. The above processing can make the score have more expressive power.
[0079] The terminal receives a second selection instruction input by a user, the second selection instruction being used for changing the display mode of a score and the movement position mode of elements included in the score. According to the second selection instruction, the terminal processes the display of the score and the movement position of the elements.
[0080] It should be noted that during the execution of the foregoing steps 110-150, the terminal can also use other related tools to process the final JSON format. For example, MusicJSONConverter: used to process the final JSON format (for example, extracting three measures from the final JSON format for testing or creating the extracted measures as music scores of different scenes as needed). NoteLbl: used to display and test the music score attribute elements in the OpenGL environment. CorePlayer: playing the timeline structure of the final JSON format in the form of events according to a custom time movement scheme.
[0081] As shown in Figure 2 , Figure 3 , Figure 2 is a music score displayed after span block division provided by an embodiment of the present application; Figure 3 is a music score displayed after time point block division provided by an embodiment of the present application. For example, in Figure 2 , the music score basic data is displayed equidistantly; in Figure 3 , the music score basic data is independently split and displayed. Meanwhile, Figure 3 , the color and display style of the music score basic data are displayed with special effects.
[0082] The following will describe the scheme provided by an embodiment of the present application in combination with the accompanying Figure 4 , and Figure 4 is a drawing device schematic diagram of a music score provided by an embodiment of the present application, the device is applied to a terminal, and the device comprises:
[0083] An acquisition unit 410 is configured to acquire first music score data in an XML format;
[0084] A conversion unit 420 is configured to convert the first music score data into second music score data in an original JSON format;
[0085] An extraction unit 430 is configured to acquire music score attribute elements from the second music score data;
[0086] A generation unit 440 is configured to generate third music score data in a final JSON format according to the music score attribute elements;
[0087] An input unit 450 is configured to input the third music score data to a music score block generator, so that the music score block generator displays corresponding music scores according to different scenes.
[0088] Optionally, the music score attribute elements comprise music score basic data, format coordinate data and music score playing data;
[0089] The generating is specifically for generating a corresponding initial parts structure according to the score basis data;
[0090] The initial parts structure is subjected to error correction processing to obtain a processed parts structure;
[0091] It is judged whether the processed parts structure conforms to a preset structure;
[0092] If not, the process of obtaining score basis data from the second score data to judging whether the processed parts structure conforms to the preset structure is repeatedly executed until the processed parts structure conforms to the preset structure, so as to obtain a final parts structure;
[0093] According to the score playback data, an initial timeline structure is generated;
[0094] The initial timeline structure is subjected to error correction processing to obtain a processed timeline structure;
[0095] It is judged whether the processed timeline structure conforms to a preset structure;
[0096] If not, the process of obtaining score basis data from the second score data to judging whether the processed timeline structure conforms to the preset structure is repeatedly executed until the processed timeline structure conforms to the preset structure, so as to obtain a final timeline structure;
[0097] According to the format coordinate data, a final system structure is generated;
[0098] The final parts structure, the final timeline structure and the final system structure are combined to form the third score data in the final JSON format.
[0099] Optionally, the input unit is specifically configured to input the third score data to a score block generator;
[0100] A first selection instruction input by a user is received, and the first selection instruction is used to select a matched score block from the score block generator;
[0101] According to the selected score block, a corresponding score is generated.
[0102] Optionally, the input unit is further configured to receive a second selection instruction input by a user, and the second selection instruction is used to change a display mode of the score and a motion position mode of elements included in the score;
[0103] According to the second selection instruction, the display of the score and the moving position of the element are processed.
[0104] Optionally, the score block generator comprises three types of score blocks.
[0105] The first type of score block is a standard format score block, corresponding to a traditional scenario.
[0106] The second type of score block is an equidistant format score block, corresponding to a uniform speed scrolling scenario.
[0107] The third type of score block is a split format score block, corresponding to an independent special effect scenario.
[0108] Correspondingly, Figure 5 A structure diagram of a terminal embodiment provided by the present application can implement the present application Figure 1 The flow of the embodiment shown, as Figure 5 The terminal can include a housing 51, a processor 52, a memory 53, a circuit board 54, and a power circuit 55. The circuit board 54 is disposed inside the space enclosed by the housing 51, and the processor 52 and the memory 53 are arranged on the circuit board 54. The power circuit 55 is used to power the various circuits or devices of the network security device. The memory 53 is used to store executable program codes. The processor 52 runs the program corresponding to the executable program codes by reading the executable program codes stored in the memory 53, and is used to execute the score drawing method and device described in the foregoing embodiments.
[0109] The specific execution process of the processor 52 for the foregoing steps and the steps further executed by the processor 52 by running the executable program codes can be referred to the description of the embodiment shown in the present application Figure 1 The specific execution process of the processor 52 for the foregoing steps and the steps further executed by the processor 52 by running the executable program codes can be referred to the description of the embodiment shown in the present application
[0110] It should be noted that in this paper, terms such as "include", "contain" or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or device. Without more limitation, the element defined by the statement "including a…" does not exclude the presence of other identical elements in the process, method, article or device including the element.
[0111] Each embodiment in the specification is described in a related manner, and the same and similar parts between each embodiment can be referred to each other. Each embodiment focuses on the difference from other embodiments.
[0112] Especially, for the apparatus embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant part can refer to the part of the method embodiment.
[0113] The logic and / or steps represented in the flowcharts and / or described herein, for example, can be considered as a sequence of instructions carried out on the logic function, which can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor- based system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions, or a combination of the above. For the purpose of this specification, a "computer-readable medium" can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
[0114] More specific examples (a non-exhaustive list) of the computer-readable medium include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, and a portable compact disc read-only memory (CDROM). In addition, the computer-readable medium can even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, for example, by optically scanning the paper or other suitable medium, then electronically converted into a form that is suitable for use in a computer system, and then stored in computer memory.
[0115] It should be understood that each part of the present application can be realized by hardware, software, firmware or a combination of them.
[0116] Those skilled in the art of the present technology can understand that all or part of the steps carried out by the above-mentioned embodiment method can be completed by a program instructing the relevant hardware, and the program can be stored in a computer-readable storage medium. When the program is executed, it includes one or a combination of steps of the method embodiment.
[0117] For the convenience of description, the above apparatus is described as various units / modules respectively described in function. Of course, when implementing the present application, the functions of each unit / module can be realized in the same or more software and / or hardware.
[0118] Those skilled in the art can clearly understand the present application by the description of the above embodiments that the present application can be realized by means of software and necessary universal hardware platform. Based on such understanding, the technical solutions of the present application can be embodied in the form of software product, and the computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes a plurality of instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute the method described in various embodiments or some parts of the embodiments of the present application. < / clef> < / time> < / key>
Claims
1. A method of score drawing, characterized by, The method is applied to a terminal, and the method comprises: obtaining first music score data in XML format; converting the first music score data into second music score data in original JSON format; extracting music score attribute elements from the second music score data; the music score attribute elements comprise music score basic data, format coordinate data and music score playing data; generating third music score data in final JSON format according to the music score attribute elements; the generation of the third music score data in final JSON format according to the music score attribute elements specifically comprises: generating a corresponding initial parts structure according to the music score basic data; performing error correction processing on the initial parts structure to obtain a processed parts structure; judging whether the processed parts structure conforms to a preset structure; if not, repeating the process of obtaining music score basic data from the second music score data to judging whether the processed parts structure conforms to the preset structure until the processed parts structure conforms to the preset structure, thereby obtaining a final parts structure; generating a corresponding initial timeline structure according to the music score playing data; performing error correction processing on the initial timeline structure to obtain a processed timeline structure; judging whether the processed timeline structure conforms to a preset structure; if not, repeating the process of obtaining music score basic data from the second music score data to judging whether the processed timeline structure conforms to the preset structure until the processed timeline structure conforms to the preset structure, thereby obtaining a final timeline structure; generating a corresponding final system structure according to the format coordinate data; and combining the final parts structure, the final timeline structure and the final system structure to obtain the third music score data in final JSON format; wherein the timeline structure comprises one time span data, a time point and a performance element, the parts structure comprises measure data, the measure data is a measure in a music score, the one time span data is related to the measure in the music score, and the time point and the performance element are related to notes in the music score; the parts structure further comprises precalculation of relative positions of various notations, and various music score basic data and notes and measures are rearranged according to membership relationships; the terminal obtains format coordinate data from the music score attribute elements, the format coordinate data specifically being information related to coordinates in music score drawing and printing; and the terminal generates a corresponding final system structure according to the obtained format coordinate data. The third music score data is input into the music score block generator, so that the music score block generator displays corresponding music scores according to different scenes; the inputting of the third music score data into the music score block generator, so that the music score block generator displays corresponding music scores according to different scenes specifically comprises: inputting the third music score data into the music score block generator; receiving a first selection instruction input by a user, the first selection instruction being used for selecting a matched music score block from the music score block generator; and generating corresponding music scores according to the selected music score block.
2. The method of claim 1, wherein, The method further comprises: receiving a second selection instruction input by a user, the second selection instruction being used for changing a display mode of the music scores and a motion position mode of elements included in the music scores; processing the display of the music scores and the motion positions of the elements according to the second selection instruction.
3. The method of claim 1, wherein, The music score block generator comprises three types of music score blocks; a first type of music score block is a standard format music score block, corresponding to a traditional scene; a second type of music score block is an equidistant format music score block, corresponding to a uniform speed scrolling scene; a third type of music score block is a split format music score block, corresponding to an independent special effect scene.
4. A music score drawing device characterized by comprising: The device is applied to a terminal, and the device comprises: an acquisition unit configured to acquire first music score data in an XML format; a conversion unit configured to convert the first music score data into second music score data in an original JSON format; an extraction unit configured to acquire music score attribute elements from the second music score data; the music score attribute elements comprise music score basic data, format coordinate data and music score playing data; The generating unit is configured to generate third music score data in a final JSON format according to the music score attribute elements; the generating third music score data in a final JSON format according to the music score attribute elements specifically includes: generating a corresponding initial parts structure according to the music score basic data; performing error correction processing on the initial parts structure to obtain a processed parts structure; determining whether the processed parts structure conforms to a preset structure; if not, repeating the process of obtaining music score basic data from the second music score data to determining whether the processed parts structure conforms to the preset structure until the processed parts structure conforms to the preset structure, to obtain a final parts structure; generating a corresponding initial timeline structure according to the music score playing data; performing error correction processing on the initial timeline structure to obtain a processed timeline structure; determining whether the processed timeline structure conforms to a preset structure; if not, repeating the process of obtaining music score basic data from the second music score data to determining whether the processed timeline structure conforms to the preset structure until the processed timeline structure conforms to the preset structure, to obtain a final timeline structure; generating a corresponding final system structure according to the format coordinate data; and combining the final parts structure, the final timeline structure and the final system structure to form the third music score data in the final JSON format; wherein the timeline structure includes a time span data, a time point and a performance element, the parts structure includes a measure data, the measure data is a measure in a music score, the time span data is related to the measure in the music score, and the time point and the performance element are related to notes in the music score; the parts structure further includes pre-computed relative positions of various notations, and various music score basic data and note and measure drawing relationships are rearranged according to membership relationships. The terminal obtains format coordinate data from the music score attribute elements, and the format coordinate data is specifically information related to coordinates for music score drawing and printing; and the terminal generates a corresponding final system structure according to the obtained format coordinate data. The input unit is configured to input the third music score data to a music score block generator, so that the music score block generator displays corresponding music scores according to different scenes; the inputting the third music score data to the music score block generator, so that the music score block generator displays corresponding music scores according to different scenes specifically includes: inputting the third music score data to the music score block generator; receiving a first selection instruction input by a user, the first selection instruction being used to select a matched music score block from the music score block generator; and generating a corresponding music score according to the selected music score block.
5. A computer readable storage medium storing one or more programs, the one or more programs executable by one or more processors for implementing the method of any one of the preceding claims 1-3.
6. A computer program product comprising a computer program, the computer program being executable by one or more processors for implementing the method of any one of the preceding claims 1-3.
Citation Information
Patent Citations
Method, device and computer program product for scrolling a musical score
CN106133824A
Double-keyboard intelligent music score moving method and system
CN110473507A