Method and apparatus for recommending music, and computation device

By converting music scores in text format into vector representations and constructing a recommendation vector library, the problem of recommending music with similar melodies in existing music recommendation systems is solved, achieving a more accurate music recommendation effect.

WO2026020487A1PCT designated stage Publication Date: 2026-01-29BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/107979
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-26
Publication Date
2026-01-29

AI Technical Summary

Technical Problem

Existing music recommendation systems struggle to accurately capture users' personalized music preferences and cannot efficiently recommend music with similar melodies.

Method used

By obtaining the musical score in text format, a text vectorization model is used to convert the score into a vector representation, a recommendation vector library is constructed, and similarity matching is performed to recommend music with similar melodies.

Benefits of technology

It enables more accurate and efficient recommendation of music with similar melodies to users, improving the precision of music recommendations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024107979_29012026_PF_FP_ABST
    Figure CN2024107979_29012026_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present disclosure are a method and apparatus for recommending music, a computation device, a computer readable storage medium, and a computer program product. The method comprises: acquiring a text format music score of a piece of music in a collection of music, the text format music score comprising a textual representation of a melody of the corresponding piece of music; converting the textual representation of the text format music score into a vector representation, to generate a recommendation vector library for the collection of music; and, on the basis of a piece of target music and the recommendation vector library, recommending music having a melody similar to that of the piece of target music. Thus, the technical solution of the present disclosure employs text format music scores of pieces of music to mine melody information of the music, thereby efficiently recommending music having a similar melody to a user.
Need to check novelty before this filing date? Find Prior Art

Description

Method, apparatus and computing device for recommending music TECHNICAL FIELD

[0001] The present disclosure relates to the field of computer technology, and more particularly, to a method, apparatus, computing device, computer readable storage medium and computer program product for recommending music. BACKGROUND

[0002] With the popularity of the network, a large number of new music are emerging every day. With the rapid growth of the number of music, the tastes of users are increasingly personalized. In the face of such a huge music content, how to accurately capture the preferences of users and then recommend other music similar to the favorite music style has become a major challenge that the current music recommendation system needs to solve.

[0003] SUMMARY

[0004] Therefore, the present disclosure provides a method, apparatus, computing device, computer readable storage medium and computer program product for recommending music, which can efficiently recommend music similar in melody to users by obtaining the text format of the music score of the music in the music set, and then obtaining the vector representation related to the melody of the music based on the text vectorization model for similarity matching.

[0005] According to a first aspect of the present disclosure, a method for recommending music is provided, comprising: obtaining a text format of a music score of music in a music set, the text format of the music score comprising a text representation of a melody of the corresponding music; converting the text representation of the text format of the music score into a vector representation to generate a recommendation vector library of the music set; and recommending music similar in melody to target music based on the target music and the recommendation vector library.

[0006] According to a second aspect of the present disclosure, an apparatus for recommending music is provided, comprising: a music score obtaining unit configured to obtain a text format of a music score of music in a music set, the text format of the music score comprising a text representation of a melody of the corresponding music; a recommendation vector library generating unit configured to convert the text representation of the text format of the music score into a vector representation to generate a recommendation vector library of the music set; and a music recommendation unit configured to recommend music similar in melody to target music based on the target music and the recommendation vector library.

[0007] According to a third aspect of the present disclosure, a computing device is provided, comprising: at least one processing unit; at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, which when executed by the at least one processing unit, cause the computing device to perform the method as described in the first aspect of the present disclosure.

[0008] According to a fourth aspect of the disclosure, there is provided a non-transitory computer storage medium comprising machine executable instructions that, when executed by a device, cause the device to perform the method of the first aspect of the disclosure.

[0009] According to a fifth aspect of the disclosure, there is provided a computer program product comprising machine executable instructions that, when executed by a device, cause the device to perform the method of the first aspect of the disclosure.

[0010] It is to be understood that the Summary is not intended to identify key or essential features of embodiments of the disclosure, nor is it intended to be used to limit the scope of the disclosure. Other features, details, and alternatives of the disclosure will become apparent from the description provided below. BRIEF DESCRIPTION OF DRAWINGS

[0011] The above and other objects, features and advantages of embodiments of the disclosure will become more apparent from the following detailed description of embodiments of the disclosure when taken in conjunction with the accompanying drawings. In the drawings, various embodiments of the disclosure are illustrated by way of example and not limitation, in which:

[0012] FIG. 1 shows a schematic diagram of an environment in which embodiments of the disclosure can be implemented;

[0013] FIG. 2 shows a schematic block diagram of a system for recommending music according to embodiments of the disclosure;

[0014] FIG. 3 shows a schematic flow diagram of a method for recommending music according to embodiments of the disclosure;

[0015] FIG. 4 shows a schematic block diagram of an apparatus for recommending music according to embodiments of the disclosure; and

[0016] FIG. 5 shows a block diagram of a device capable of implementing embodiments of the disclosure. DETAILED DESCRIPTION

[0017] The concepts of the present disclosure will now be described with reference to various example embodiments illustrated in the drawings. It is to be understood that the description of these embodiments is merely intended to provide a more detailed description of the concepts of the present disclosure, and is not intended to limit the scope of the present disclosure in any way. It should be noted that similar or identical reference numerals can be used in the figures to indicate similar or identical elements, where practicable. Those skilled in the art will understand that alternative embodiments of the structures and / or methods illustrated herein can be employed without departing from the principles and concepts described herein.

[0018] In the context of the present disclosure, the term “comprising” and its various variants can be understood to mean “including but not limited to”; the term “based on” can be understood as “based at least in part on”; the term “one embodiment” can be understood as “at least one embodiment”; the term “another embodiment” can be understood as “at least one other embodiment”. Other terms that can appear but are not mentioned here should not be interpreted or limited in a way that contradicts the concepts on which the embodiments of the present disclosure are based, unless explicitly stated.

[0019] Music usually has a variety of different file formats or representations, and these different representations each have their own characteristics and uses. For example, audio formats (such as MP3, WAV, FLAC, etc.) record the audio data, sampling frequency, number of channels, quantization precision, and related metadata of the music; the musical instrument digital interface (MIDI) file format records the performance instructions without directly containing audio data.

[0020] In recent years, artificial intelligence technology has developed rapidly, and text vectorization models have been widely used in the field of natural language processing (NLP). Text vectorization models can convert text data into vector representations that include semantic information, making text data more convenient for computer processing and analysis.

[0021] At present, with the massive growth of music, users also show obvious individualized preferences. The current mainstream method for recommending music is usually based on playlist recommendation, which relies too much on the subjective cognition of playlist creators rather than the similarity of music melodies, i.e., “the same tune”. Audio files or MIDI files are not in text format, so they cannot use efficient text vectorization models to mine the melody information of music. The inventors noticed that sheet music can intuitively display the melody, rhythm, and other elements of music, and in particular, ABC sheet music is a simple computer music sheet format that uses English letters and symbols to represent notes, note values, and instruments, etc.

[0022] To solve or alleviate the above problems and / or other potential problems, embodiments of the present disclosure propose a method for recommending music. The method obtains the sheet music in text format of the music in the music set, and then obtains the vector representation related to the melody of the music based on the text vectorization model for similarity matching, so as to efficiently recommend music with similar melodies to the user.

[0023] The basic principles and implementation modes of the present disclosure are described below with reference to the accompanying drawings. It should be understood that the exemplary embodiments given are only to enable those skilled in the art to better understand and implement the embodiments of the present disclosure, and do not limit the scope of the present disclosure in any way.

[0024] Fig. 1 shows a schematic diagram of an environment 100 capable of implementing embodiments of the present disclosure. As shown in Fig. 1, the environment 100 includes a user terminal 101 and a network server 104, which can be operated by a user. Optionally, the user terminal 101 can be a smartphone, a tablet, a portable computer, a smart TV, a vehicle computer, a wearable device (e.g., a smart bracelet, a smart watch), etc. with display function. The user terminal 101 can install a browser or various applications (including system applications and third-party applications, such as music applications, etc.). The applications of the user terminal 101 can have a collection, etc. to represent personal preferences and historical information. The user terminal can obtain information through applications, applets, web pages, etc. and display on the display screen of the user terminal. The user terminal 101 can support text input, voice input, etc.

[0025] The network server 104 can be a standalone physical network server, a network server cluster or a distributed system composed of multiple physical network servers, or a cloud network server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDNs, and basic cloud computing services such as big data and artificial intelligence platforms, etc.

[0026] The user terminal 101 and the network server 104 can be connected through a network. The network between the user terminal 101 and the network server 104 can be a wired network or a wireless network, for example, it can be a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a cellular data communication network, etc. electronic network capable of realizing information exchange function.

[0027] As shown in Fig. 1, the user terminal 101 can transmit data, information, services to the network server 104 via the network. In this example, the user transmits a target music 102 associated with music recommendation to the network server 104 through the user terminal 101, and then the network server 104 returns a recommendation list 103 to the user terminal 101.

[0028] For example, when the user uses a music application, the user may wish that the system can recommend some new music and input "Hi, give me some music" through voice or text. Accordingly, the user terminal 101 transmits the target music 102 to the network server 104. The target music 102 can come from the user's collection or historical information. After receiving the target music 102, the network server 104 will return the recommendation list 103 to the user terminal 101. The generation of the recommendation list 103 can be implemented according to embodiments of the present disclosure, which will be described in detail below.

[0029] FIG. 2 illustrates a schematic block diagram of a system 200 for recommending music, according to an embodiment of the present disclosure. As shown in FIG. 2, the system 200 can include an offline environment and an online environment. A user can interact with the online environment and invoke data resources stored in the offline environment to obtain a final music recommendation.

[0030] In the offline environment, a text format of a score of each music in a music set 210, such as an ABC score 211, can be obtained. The ABC score, i.e., the ABC notation, is a shorthand form of computer music notation, which is based on a text format of ASCII code. The ABC score uses letter symbols with a-g, A-G, and z to represent corresponding notes and rests, and adds additional values to these notes through other elements, such as sharps, flats, sharps or flats of an octave, note lengths, keys, and ornaments, etc. The music in the music set 210 can have any known or future developed music format, such as an audio format (WAV format, MP3 format, etc.), a MIDI format, other scores (e.g., tablature, staff notation, six-line staff notation), etc. In some embodiments, the music in the MIDI format can be converted to the ABC score. Alternatively, the music in the audio format can be converted to the MIDI format, and the music in the MIDI format can be converted to the ABC score. Alternatively, the score other than the ABC score can be converted to the ABC score.

[0031] In the offline environment, a corresponding vector representation 212 can also be generated from the ABC score 211, such as using a text-to-vector model capable of converting text information to a vector capable of expressing the semantic of the text. For example, a pre-trained vectorization model can be used to generate the corresponding vector representation 212 from the ABC score 211. It can be understood that other models are also applicable, such as Word2Vec, GloVe, BERT, One Hot Model, Bag of Words Model, etc., which are not limited by the present disclosure.

[0032] In the offline environment, a similarity of each vector representation 212 with all other vector representations 212 can also be calculated. Optionally, the closest several vector representations 212 to each vector representation 212 can be found by calculating the cosine similarity between the vector representations 212, and the vector representations 212 and the similarity information can be saved into a recommendation vector library 222 in association.

[0033] Thus, the recommendation vector library 222 is constructed in an offline environment. On this basis, a user can obtain a recommendation list with similar melodies to the target music in an online environment. Specifically, the interaction with the music application 220 provides the target music. The target music can be one or more music specifically provided by the user, or can be a music collection or music on-demand history saved by the user in the music application 220.

[0034] In some embodiments, the recommendation system 221 can search the recommendation vector library 222 according to the target song to determine the final recommendation list and provide to the music application 220. The process of providing recommendation content to a user in an online environment is further described below with reference to FIG. 3.

[0035] FIG. 3 shows a flowchart of a method 300 for recommending music, according to some embodiments of the present disclosure. In some embodiments, the method 300 can be implemented by, for example, the network server 104 shown in FIG. 1. It should be understood that the method 300 can also include additional actions not shown and / or can omit actions shown, without limitation in this regard.

[0036] As shown in FIG. 3, at block 310, the method 300 can include obtaining a text format score of music in a music set, the text format score including a text representation of a melody of the corresponding music. In some embodiments, the text format score can be an ABC score. In some embodiments, multiple different file formats or manifestations of music can be obtained, such as audio formats (e.g., MP3, WAV, etc.), MIDI formats, etc., staff scores, and ABC scores, etc. Among them, the ABC score is in pure text format and can record the melody related information of the music.

[0037] In some embodiments, the text format score of music can be converted from a MIDI file. For example, an audio processing software can be used to export the MIDI file to be converted into an ABC score form. In some embodiments, the text format score of music can be converted from the original audio file of the music to a MIDI file and then converted. In some embodiments, the text format score of music can also be converted from other scores, such as staff scores and six-line scores, etc.

[0038] At block 320, the method 300 can include converting the text representation of the text format score into a vector representation to generate a recommendation vector library of the music set. In some embodiments, a vectorization model can be used to convert the text representation of each music in the music set into a vector representation. Then, the similarity (e.g., cosine similarity) between the vector representation of each music and the vector representation of other music in the music set can be calculated, and the vector representation of each music and the similarity to at least one other music are saved into the recommendation vector library.

[0039] In some embodiments, the data to be saved into the recommendation vector library can be further processed. Optionally, an initial association set containing the similarity and the corresponding vector representation can be determined first based on the size of the similarity. For example, the other musics can be ranked based on the high and low of the similarity for each music, and the relationship of each music with the top N most similar other musics can be saved into the initial association set, where N is a positive integer. Then, the initial association set can be further processed by filtering, fine sorting and reordering, etc. For example, a threshold k can be set, and for each music, only the similar musics with similarity greater than k can be kept, and then sorted in descending order of similarity. Finally, the initial association set after the data processing operation can be saved into the recommendation vector library for subsequent efficient calling and querying.

[0040] The following Table 1 shows the similarity entries between the example musics stored in the recommendation vector library 222, each entry including the most similar and threshold-compliant multiple songs, and sorted from high to low.

[0041] Table 1 Music Similarity List

[0042] At block 330, the method 300 can include recommending the musics similar to the melody of the target music based on the target music and the recommendation vector library. Thus, the recommendation list can be displayed on the user terminal. The target music can be one or more musics specifically provided by the user, or the music collection or music on-demand history saved by the user in the music application. In some embodiments, the vector representation of the target music and the associated stored musics can be retrieved in the recommendation vector library, and the associated stored musics are determined as the recommended musics.

[0043] In some embodiments, when the vector representation of the target music is not included in the recommendation vector library, the entry of the target music can be added to the recommendation vector library according to the above-mentioned method of establishing the recommendation vector library, and the similarity association information of the target music and at least one other music can be saved under the entry. In some embodiments, the similarity of the newly added target music can also be synchronized to the entry of the other music similar thereto, so that the newly added music can be recommended as the similar music of the other music, to ensure the efficiency and accuracy of the recommendation vector library.

[0044] The above describes the exemplary embodiments of the present disclosure with reference to FIGS. 1-3. Compared with the existing music recommendation scheme, the music recommendation scheme of the present disclosure can obtain the text format score of the music in the music set, and then obtain the vector representation related to the melody of the music based on the text vectorization model to perform similarity matching, so as to mine the melody information in the music through the score, and more accurately and efficiently recommend the music similar in melody to the user.

[0045] Fig. 4 shows a schematic block diagram of an apparatus 400 for recommending music, according to an embodiment of the present disclosure. As shown in Fig. 4, the apparatus 400 comprises a score obtaining unit 410, a recommendation vector library generating unit 420, and a music recommending unit 430.

[0046] In some embodiments, the score obtaining unit 410 is configured to obtain text format scores of musics in a music set, the text format scores comprising text representations of melodies of the respective musics; the recommendation vector library generating unit 420 is configured to convert the text representations of the text format scores into vector representations to generate a recommendation vector library of the music set; and the music recommending unit 430 is configured to recommend musics similar to a melody of a target music based on the target music and the recommendation vector library.

[0047] It is to be noted that more actions or steps described above with reference to Figs. 1 to 3 can be implemented by the apparatus 400 shown in Fig. 4. For example, the apparatus 400 can comprise more modules or units to implement the actions or steps described above, or some of the units or modules shown in Fig. 4 can be further configured to implement the actions or steps described above. No further elaboration is made here.

[0048] Fig. 5 shows a schematic block diagram of an example device 500 that can be used to implement embodiments of the present disclosure. As shown, the device 500 comprises a computing unit 501 that can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 502 or loaded from a storage unit 506 into a random access memory (RAM) 503. Various programs and data required for operation of the device 500 can also be stored in the RAM 503. The computing unit 501, the ROM 502, and the RAM 503 are connected to each other through a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.

[0049] Various components in the device 500 are connected to the I / O interface 505, including an input unit 506 such as a keyboard, a mouse, etc., an output unit 507 such as various types of displays, a speaker, etc., a storage unit 508 such as a magnetic disk, an optical disk, etc., and a communication unit 509 such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 509 allows the device 500 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0050] The computing unit 501 can be various general and / or special purpose processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 501 performs various methods and processes described above, such as the method 300. For example, in some embodiments, the method 300 can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 508. In some embodiments, part or all of the computer program can be loaded and / or installed onto the device 500 via the ROM 502 and / or the communication unit 509. When the computer program is loaded onto the RAM 503 and executed by the computing unit 501, one or more steps of the method 300 described above can be performed. Alternatively, in other embodiments, the computing unit 501 can be configured to perform the method 300 by any other suitable means, such as by means of firmware.

[0051] In some embodiments, the methods and processes described above can be implemented as computer program products. Computer program products can include computer readable storage media having computer readable program instructions thereon for performing various aspects of the present disclosure.

[0052] Computer readable storage media can be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage media include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or punched tape, a

[0053] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.

[0054] Computer readable program instructions for carrying out operations of the present disclosure can be assembly-level instructions, instructions set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including object oriented programming languages and conventional procedural programming languages. The computer readable program instructions can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate array (FPGA), or programmable logic array (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.

[0055] These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can include a non-transitory computer readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer readable storage medium having instructions for causing an apparatus to implement one or more functions / acts specified in the flowchart and / or block diagram block or blocks is provided. The instructions of the program can be read into the main memory of the computer or other programmable data processing apparatus from a computer-readable storage medium, for example, but are not limited to, one or more of a floppy diskette, a DVD, a CD, a Blu-ray Disc, an optical disc storage, and / or other computer storage medium. Other embodiments are also possible by storing the computer readable program instructions in a computer readable storage medium, which is subsequently read:

[0056] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0057] The flow diagrams and the block diagrams in the drawings are presented to illustrate the architecture, functionality, and operation of possible implementations of devices, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flow diagrams and the block diagrams can represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logic functions. In some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks can sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flow diagrams, and combinations thereof, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and

[0058] Embodiments of the present disclosure have been described above, and the description is intended to be illustrative of the embodiments and not restrictive. Many modifications and variations of the described embodiments are possible and are within the scope of the disclosure. The selection of terms is intended to best describe the principles of the embodiments, practical application, or technical improvements over the technology found in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.

Claims

1. A method for recommending music, comprising: obtaining a text-format score of music in a music set, the text-format score comprising a text representation of a melody of the corresponding music; converting the text representation of the text-format score into a vector representation to generate a recommendation vector library of the music set; and recommending music similar in melody to a target music based on the target music and the recommendation vector library.

2. The method of claim 1, wherein obtaining a text-format score of music in a music set comprises at least one of: converting a musical instrument digital interface (MIDI) file of music into the text-format score; converting an original audio file of music into a MIDI file and then into the text-format score; or converting another score of music different from the text-format score into the text-format score, the other score comprising at least one of a tablature, a staff notation, and a six-line staff notation.

3. The method of claim 1, wherein generating a recommendation vector library of the music set comprises: converting the text representation of each music in the music set into the vector representation using a vectorization model; computing a similarity between the vector representation of each music and the vector representation of other music in the music set; and saving the vector representation of each music and the similarity to at least one other music into the recommendation vector library.

4. The method of claim 3, wherein saving the vector representation and the similarity into the recommendation vector library comprises: determining an initial association set containing the similarity and the corresponding vector representation based on a size of the similarity; performing a data processing operation on the initial association set, the data processing operation comprising filtering, fine sorting, and reordering; and saving the initial association set after the data processing operation into the recommendation vector library.

5. The method of any one of claims 2 to 4, wherein recommending music similar in melody to the target music comprises: retrieving the vector representation of the target music and the associated stored music in the recommendation vector library; and determining the associated stored music as the recommended music.

6. The method of claim 5, further comprising: in response to the recommendation vector library not containing the vector representation of the target music: obtaining a text-format score of the target music, the text-format score comprising a text representation of a melody of the target music; converting the text representation of the text-format score of the target music into a vector representation; computing a similarity between the vector representation of the target music and the vector representation of other music in the music set; and saving the vector representation of the target music and the similarity to at least one other music into an entry of the target music.

7. The method of claim 6, further comprising: synchronizing the similarity of the target music to an entry of other music similar thereto.

8. The method of claim 1, wherein the text-format score comprises an ABC score.

9. A system for recommending music, comprising: ​ ​ ​ ​ a score obtaining unit configured to obtain a text format score of music in a music set, the text format score comprising a text representation of a melody of the corresponding music; a recommendation vector library generating unit configured to convert the text representation of the text format score into a vector representation to generate a recommendation vector library of the music set; and a music recommendation unit configured to recommend music similar to a melody of target music based on the target music and the recommendation vector library.

10. A computing device comprising: at least one processing unit; at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, cause the computing device to perform the method of any one of claims 1 to 8.

11. A non-transitory computer storage medium comprising machine executable instructions that, when executed by a device, cause the device to perform the method of any one of claims 1 to 8.

12. A computer program product comprising machine executable instructions that, when executed by a device, cause the device to perform the method of any one of claims 1 to 8.

Citation Information

Patent Citations

  • Music retrieval method and device based on rhythm

    CN101271457A

  • Humming-based music retrieving method

    CN101916250A

  • Method and device for identifying audio clip and computer readable medium

    CN117573918A

  • Method and apparatus for searching of musical databased on melody

    KR1020030067377A