System
The system addresses the limitations of existing music generation systems by allowing users to input parameters for AI-generated music, facilitating easy creation and enjoyment of diverse music through extensive training data.
Patent Information
- Application Number
- JP2024140171
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-21
- Publication Date
- 2026-03-06
AI Technical Summary
Existing music generation systems require specialized knowledge and are limited by narrow data sets, making it difficult for users to easily create diverse and creative music.
A system that allows users to input music generation parameters, which are verified by a server and used to generate new music using an AI model trained on extensive data, enabling users to easily create and enjoy diverse music without specialized knowledge.
Enables users to easily generate and enjoy fresh, diverse music by leveraging a wide range of training data, fostering creativity and musical discovery.
Smart Images

Figure 2026037146000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In today's music production, composing new music requires specialized knowledge and skills. This makes it difficult for many users to easily create their own music. Furthermore, existing music generation systems are based on limited music data, making it difficult to accommodate diverse styles, tempos, and instrumental compositions. This limits the freedom of creative music production and the discovery of new music. [Means for solving the problem]
[0005] The present invention relates to a system in which a user inputs desired music generation parameters and an AI model generates new music based on those parameters. Specifically, the system includes a means for the user to input music generation parameters (style, tempo, instrument composition), a means for the server to receive and confirm those parameters, a means for the server to send a music generation request to the AI model, a means for the AI model to statistically generate new music based on various learning data, a means for the server to receive the generated music and provide it to the user, and a means for the user to receive and play the music.
[0006] This system allows users without specialized knowledge to easily create new music, increasing the freedom to choose from a variety of musical styles, tempos, and instrument configurations. Furthermore, because the AI model generates music based on extensive training data, it is expected to foster new musical discovery and creativity.
[0007] A "user" is an entity that uses this system to generate and play music.
[0008] "Music generation parameters" are setting information such as the style, tempo, and instrument composition of the music input by the user.
[0009] A "terminal" is a device through which a user accesses an input form, and specifically includes a smartphone, tablet, PC, etc.
[0010] A "server" is a device that receives music generation parameters sent from a user's device and sends a music generation request to an AI model.
[0011] "Verification" is the process in which the server checks whether the music generation parameters received from the user are correct.
[0012] An "AI model" is an algorithm or program that uses artificial intelligence technology to statistically generate music based on pre-trained data.
[0013] A "music generation request" is a request from the server to the AI model to generate a new piece of music based on music generation parameters specified by the user.
[0014] "Learning data" refers to existing music data that the AI model uses as reference to generate new music, including, for example, music that has appeared on music rankings in the past.
[0015] "Music Data" means data for new songs generated by an AI model, typically in the form of MIDI or audio files.
[0016] "Playback" refers to the act of a user listening to a piece of music generated on a terminal.
[0017] "File format" refers to the format in which music data is saved, and includes MP3, WAV, MIDI, etc.
[0018] "Music data" is a collection of existing song information that the AI model uses to learn. [Brief explanation of the drawings]
[0019] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6]FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram illustrating a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0020] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0021] First, the terms used in the following description will be explained.
[0022] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0023] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0024] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0025] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0026] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0027] [First embodiment]
[0028] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0029] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0030] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0031] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0032] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0033] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0034] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0035] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0036] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0037] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0038] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0039] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0040] The present invention is a system in which a user inputs desired music generation parameters and an AI model generates new music based on those parameters. To implement this system, the following steps are followed:
[0041] overview
[0042] The process begins when a user uses a device to input music generation parameters and send them to the server. The server checks the input parameters and sends a request to the AI model to generate music. The AI model generates a new song based on the music data it has learned in advance, and the server receives the generated song data. Finally, the server sends the generated song data to the user's device, and the user plays the song.
[0043] Program processing
[0044] 1. User Input
[0045] A user opens a music generation application on their device and inputs the desired musical style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals).
[0046] 2. Sending parameters
[0047] When the user presses the "Generate" button, music generation parameters are sent from the device to the server. The parameters are generally sent in JSON format.
[0048] 3. Receiving and confirming on the server
[0049] The server checks the received music generation parameters. It checks whether the parameters are correct, and if there are any errors, it returns an error message to the user. If there are no errors, it proceeds to the next step.
[0050] 4. Sending a request to the AI model
[0051] The server generates a music generation request to the AI model based on the music generation parameters, and the request is sent to the AI model using an API endpoint on the server.
[0052] 5. Music generation using AI models
[0053] The AI model generates new music according to the specified style, tempo, and instrumentation based on learned music data (e.g., music rankings from the past 50 years). The AI model uses statistical methods to generate melody lines, chord progressions, and rhythmic patterns, which are then output as the final music data.
[0054] 6. Receiving the generated music data
[0055] The server receives the music data generated by the AI model, typically in MIDI or audio file format (e.g., MP3, WAV).
[0056] 7. Provision of music data
[0057] The server then sends the received music data to the user's device, where the user can download the music data and play it on their device.
[0058] Specific examples
[0059] 1. User inputs style, tempo, and instrumentation
[0060] Example: User types "Pop", "120 BPM", "Guitar and Vocals" into terminal.
[0061] 2. Send parameters to the server
[0062] When the terminal presses the "Generate" button, the parameters are sent to the server in JSON format.
[0063] 3. The server checks the parameters
[0064] The server performs error checks based on the received parameters and, if there are no problems, sends the request to the AI model.
[0065] 4. The AI model generates new music
[0066] The AI model generates new pop songs based on data from past Billboard Top 100 songs, generating guitar riffs and vocal melodies that match the rhythm of 120 BPM.
[0067] 5. Receive the generated data and provide it to the user
[0068] The server receives the music data from the AI model and provides it to the user, who then plays the generated music on their device.
[0069] This system allows users to easily create and enjoy new music without any specialized knowledge, and because the AI model uses a wide range of training data, the music it generates is fresh and diverse.
[0070] The processing flow will be explained below.
[0071] Step 1: A user opens a music generation application on a terminal and inputs music generation parameters.
[0072] What happens: The user enters the music style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals) into an input form.
[0073] Step 2: The user presses the "Generate" button, and the music generation parameters are sent from the device to the server.
[0074] Specific operation: When the user clicks the "Generate" button, the terminal sends the entered parameters in JSON format to the server as an HTTP POST request.
[0075] Step 3: The server receives and verifies the music generation parameters.
[0076] Specific operation: The server parses the JSON data of the HTTP POST request received and checks whether the parameters are in the correct format. If there are any errors, it generates an error message and returns it to the user.
[0077] Step 4: The server generates a music generation request to the AI model.
[0078] What it does: If the parameters are correct, the server prepares a request to send to the AI model based on the received music generation parameters, including information on the musical style, tempo, and instrumentation.
[0079] Step 5: The server sends a music generation request to the AI model.
[0080] What happens: The server sends the prepared request to the AI model's API endpoint (e.g., / generate_music) as an HTTP POST request.
[0081] Step 6: The AI model generates a song based on the music generation parameters.
[0082] Specific operation: Based on the request received, the AI model statistically generates song patterns, melody lines, chord progressions, and rhythm sections that match the specified style, tempo, and instrument composition from pre-trained song data.
[0083] Step 7: The music data generated by the AI model is sent to the server.
[0084] Specific operation: The AI model returns the newly generated music data (MIDI, MP3, or WAV format) to the server as an HTTP response.
[0085] Step 8: The server receives the generated music data and prepares to provide it to the user.
[0086] Specific operation: The server temporarily stores the music data received from the AI model and prepares it by generating a URL for the data to be provided to the user.
[0087] Step 9: The server sends the music data to the user's device.
[0088] Specific operation: The server returns the URL of the generated music data to the user's device, allowing the user to download the music data.
[0089] Step 10: The user receives and plays the music data generated on the terminal.
[0090] Specific operation: The user clicks the download link on their device to download the generated music data, and can then play and enjoy the music on their device's music player.
[0091] Through the above processing steps, the system can generate and provide new music based on music generation parameters specified by the user.
[0092] Example 1
[0093] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0094] Conventional music generation systems have made it difficult for users without specialized knowledge and skills to generate music in the desired style, tempo, and instrumentation. Furthermore, they require complex operations and numerous steps, resulting in low usability. Furthermore, there are limitations to the quality and variety of the music generated, creating a need for a method to easily generate fresh, diverse music.
[0095] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0096] In this invention, the server includes: means for a user to input music generation parameters; means for specifying a desired musical style, tempo, and instrument composition on a terminal using a music generation application; means for transmitting the music generation parameters to the server; means for the music generation parameters to be transmitted in JSON format when the user presses a "Generate" button; means for the server to receive and check the music generation parameters; means for performing error checking based on the music generation parameters received by the server; means for the server to transmit the music generation parameters received by the server to the AI model; means for the server to generate and transmit a music generation request to the AI model based on the music generation parameters; means for the AI model to generate a new piece of music based on the music generation parameters; means for the AI model to generate a piece of music based on learned music data using statistical techniques; means for the server to receive the new music data and transmit it to the user; means for the server to receive the music data generated from the AI model and save it in MIDI or audio file format; means for the user to receive and play the new music data; and means for the server to provide the music data to the user's terminal and for the user to download and play the music data.
[0097] This allows users to easily create and enjoy new music without specialized knowledge. In addition, because the AI model uses a wide range of training data, the music it generates is fresh and diverse.
[0098] "Music generation parameters" are data that include specifications such as the style, tempo, and instrument composition of the music piece that the user wants to generate.
[0099] A "terminal" is an electronic device operated by a user, such as a computer, smartphone, or tablet.
[0100] The "server" is a computer system that receives and verifies music generation parameters and sends requests to the AI model.
[0101] An "AI model" is an artificial intelligence model that generates new music based on learned music data.
[0102] A "music generation request" is a request based on music generation parameters that the server sends to the AI model.
[0103] A "MIDI file" is a file format that digitally represents musical instrument performance information.
[0104] An "audio file format" is a file format for digitally storing audio data, examples of which include MP3 and WAV.
[0105] "Error check" is a process in which the server checks whether there are any errors in the content of the music generation parameters received.
[0106] "Downloading" is the process by which a user saves music data from a server to their own device.
[0107] "Playback" refers to the act of a user listening to music data generated on a terminal.
[0108] This invention is a system in which a user inputs desired music generation parameters and an AI model generates new music based on those parameters. To implement this system, the following specific configuration and procedures are followed.
[0109] System Overview
[0110] The user inputs music generation parameters using a device. These parameters are then sent to the server, which performs an error check. If there are no problems with the parameters, the server sends a music generation request to the AI model. The AI model generates a new song based on the music data it has learned in advance, and the server receives the song data. Finally, the server sends the generated song data to the user's device, and the user plays the song.
[0111] Hardware and software used
[0112] 1. Device: The electronic device used by the user, such as a computer, smartphone, or tablet.
[0113] 2. Server: A computer system that receives and verifies music generation parameters and sends requests to the AI model.
[0114] 3. AI model: An artificial intelligence model that generates new songs based on learned music data.
[0115] Data Processing and Data Arithmetic
[0116] User Input
[0117] A user opens a music generation application on their device and inputs the desired musical style, tempo, and instrumentation. For example, a user might input "Pop," "120 BPM," and "Guitar and Vocals."
[0118] Sending parameters
[0119] When the user presses the "Generate" button, the music generation parameters are sent from the device to the server in JSON format.
[0120] Receiving and confirming on the server
[0121] The server performs an error check on the received parameters, and if there are no problems with the parameters, it proceeds to the next step.
[0122] Sending requests to the AI model
[0123] The server sends requests based on music generation parameters to the AI model, which are sent through an API endpoint.
[0124] Music generation using AI models
[0125] The AI model generates new music based on pre-trained music data (e.g., music ranking data from the past 50 years) according to the specified style, tempo, and instrumentation. Specifically, it uses statistical methods to generate melody lines, chord progressions, and rhythmic patterns, and outputs them as the final music data.
[0126] Receiving the generated music data
[0127] The server receives the music data generated by the AI model and stores it, typically in a MIDI or audio file format (e.g., MP3, WAV).
[0128] Providing music data
[0129] The server then sends the received music data to the user's device, where the user can download the generated music data and play it on their device.
[0130] Specific examples
[0131] 1. Example of user input
[0132] Music Style: Pop
[0133] Tempo: 120 BPM
[0134] Instrumentation: Guitar and vocals
[0135] 2. Examples of prompts
[0136] Style: Pop
[0137] Tempo: 120
[0138] Instrumentation: Guitar and vocals
[0139] This system allows users to easily create and enjoy new music without any specialized knowledge. Furthermore, because the AI model uses a wide range of training data, the music it generates is fresh and diverse.
[0140] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0141] Step 1: User Input
[0142] The user opens a music generation application on their device and inputs the desired musical style (e.g., pop), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, and vocals). This data is entered into form fields within the application. The input data includes musical style, tempo, and instrumentation.
[0143] Step 2: Sending parameters
[0144] When the user presses the "Generate" button, music generation parameters (musical style, tempo, instrumentation) are sent from the device to the server in JSON format. The input data are the music generation parameters specified by the user, and the output data is sent to the server.
[0145] Step 3: Receiving and verifying on the server
[0146] The server receives the music generation parameters sent from the device. The server checks the format and content of the received data and performs error checking. The input data are the received music generation parameters, and the validated parameters are obtained as output. Specifically, the server validates the data based on the JSON schema, and if there are any errors, it generates an error message and returns it to the user.
[0147] Step 4: Sending a request to the AI model
[0148] The server generates a music generation request to the AI model based on the verified music generation parameters and sends it through an API endpoint. The input data are the verified music generation parameters, and the output is a generation request to the AI model. Specifically, the server sends an HTTP POST request to the API endpoint and includes the music generation parameters in JSON format in the request body.
[0149] Step 5: Music generation using AI models
[0150] Based on a song generation request received from the server, the AI model generates a new song using pre-trained music data (e.g., music ranking data from the past 50 years). The AI model uses statistical methods to generate melody lines, chord progressions, and rhythm patterns, which are then output as the final song data. The input data is the song generation request, and the output is new song data.
[0151] Step 6: Receive the generated music data
[0152] The server receives the music data generated by the AI model. The music data is usually sent to the server in MIDI or audio file format (e.g., MP3, WAV). The input data is the music data from the AI model, and the received music data is obtained as output. Specifically, the server receives the HTTP response and saves the music data contained therein.
[0153] Step 7: Provide your music data
[0154] The server sends the received music data to the user's device. The user can download the music data and play it on their device. The received music data is the input data, and the data is provided to the user's device as the output. Specifically, the server generates an HTTP response to the user's device and attaches the music data. The user receives the notification, clicks the link to download the music data, and plays it on their music player.
[0155] In this way, the system realizes a process for easily generating and providing the music that the user desires.
[0156] (Application example 1)
[0157] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0158] Conventional music creation systems lack the functionality to easily share music created by users with other users or add it to a playlist. As a result, it is difficult for users to enjoy the music they create with other users, and the scope of use of the music created is limited. In order to solve these problems, the present invention aims to provide a system that allows users to add the music they create to a playlist and easily share it with other users.
[0159] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0160] In this invention, the server includes means for a user to input music generation parameters, means for transmitting the music generation parameters to the server, means for the server to receive and confirm the music generation parameters, means for the server to transmit the music generation parameters received by the server to the AI model, means for the AI model to generate new music based on the music generation parameters, means for the server to receive new music data and transmit it to the user, and means for the user to receive, play, and share the new music data with other users. This allows the user to add the generated music to a playlist and easily share it with other users.
[0161] A "user" is an entity that uses this system to input music creation parameters and receives, plays, and shares the created music data.
[0162] "Music generation parameters" are information input by the user to generate music based on an AI model, such as the style, tempo, and instrument composition of the music.
[0163] A "server" is a computer system that receives music generation parameters from a user, sends them to an AI model, receives the generated music data, and provides it to the user.
[0164] An "AI model" is an artificial intelligence algorithm used to generate new music based on music generation parameters, and statistically generates music based on past music data.
[0165] "Music data" refers to the data for new songs generated by the AI model, and is usually in audio file format such as MP3 or WAV.
[0166] "Sharing" refers to the process in which a user transmits and shares the music data they have created with other users via a network.
[0167] A "play list" is a list to which a user adds music data that has been generated and which is saved in a format that allows continuous playback.
[0168] A "file format" refers to the digital data format in which music data is saved, with common formats being MP3 and WAV.
[0169] This invention is a system in which a user inputs desired music generation parameters and an AI model generates new music based on those parameters. To realize this application example, the following hardware and software are used.
[0170] Hardware / Software used:
[0171] Smartphone application (ANDROID (registered trademark), iOS)
[0172] Server: AWS (registered trademark) EC2, S3
[0173] AI model: Google(R) Cloud AI Platform, TENSORFLOW(R)
[0174] Data format: JSON (parameter transmission), MP3 / WAV (music data)
[0175] The system is programmed as follows:
[0176] User Input
[0177] Users use a smartphone application to input music generation parameters, such as musical style (e.g., pop, jazz, classical), tempo (e.g., 120 BPM), and instrumentation (e.g., piano, drums, vocals). For example, a user opens the app and selects "Pop," "120 BPM," and "Guitar and Vocals."
[0178] Sending parameters
[0179] When the user presses the "Generate" button, the selected music generation parameters are sent to the server in JSON format. The server checks the received parameters and performs error checks. If there are no errors, the server proceeds to the next step.
[0180] Receiving and confirming on the server
[0181] The server receives the music generation parameters and verifies that there are no errors. Specifically, it verifies that the entered parameters are formatted correctly and that all required fields have been entered. If there are any errors, it notifies the user with an error message.
[0182] Sending requests to the AI model
[0183] The server sends a music generation request to the AI model based on the music generation parameters. This request is sent using an API endpoint on the server.
[0184] Music generation using AI models
[0185] The AI model generates new music based on a variety of past music data and according to specified music generation parameters. For example, the AI model statistically generates melodies, chord progressions, rhythm patterns, etc. based on music data from the past 50 years.
[0186] Receiving the generated music data
[0187] The server receives the music data generated by the AI model, which is typically an audio file in MP3 or WAV format.
[0188] Providing and sharing music data
[0189] The server then distributes the received music data to the user's smartphone application. The user can play the music, add it to a playlist for continuous playback, or share it with other users. For example, a user can share a song they created with a friend, who can then add it to their playlist.
[0190] An example of a prompt might be:
[0191] "Pop, 120 BPM, piano and vocals"
[0192] This system allows users to easily create and share new music without specialized knowledge, and because the AI model uses a wide range of training data, the music it generates is always fresh and diverse.
[0193] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0194] Step 1:
[0195] The user launches the smartphone application and inputs music generation parameters. These parameters include the musical style (e.g., pop, jazz, classical), tempo (e.g., 120 BPM), and instrumentation (e.g., piano, drums, vocals). When the user presses the "Generate" button, the input parameters are sent from the device to the server in JSON format. Specifically, the data obtained through the input interface is converted into a JSON object and sent as an HTTP request to the server's API endpoint.
[0196] Input: Music style, tempo, instrumentation
[0197] Output: Music generation parameters in JSON format
[0198] Step 2:
[0199] The server receives the request and checks the music generation parameters sent. The server parses the received JSON format data and checks whether all required parameters are present and whether the format is correct. If there are any errors during the error check, an error message is returned to the user.
[0200] Input: Music generation parameters in JSON format
[0201] Output: Inspection results (if correct, go to the next step; if incomplete, error message)
[0202] Step 3:
[0203] If the parameters are correct, the server sends the music generation parameters to the AI model. The server then generates a JSON object and sends a request to the AI model's API endpoint. This request includes data on the musical style, tempo, and instrumentation, instructing the AI model to generate music.
[0204] Input: Music generation parameters in validated JSON format
[0205] Output: Sending a request to the AI model
[0206] Step 4:
[0207] The AI model generates new music based on the music generation parameters it receives. Based on the input parameters, the AI model generates melodies, chord progressions, and rhythmic patterns from the music data it has learned. The AI model uses statistical methods to combine multiple data points to generate music data.
[0208] Input: Music generation parameters
[0209] Output: Generated music data
[0210] Step 5:
[0211] The server receives the music data generated by the AI model. The generated music data is usually an audio file in MP3 or WAV format. The server temporarily stores the received audio file and prepares it for transmission to the user.
[0212] Input: Generated music data (MP3 / WAV format)
[0213] Output: Audio file on the server
[0214] Step 6:
[0215] The server sends the generated music data to the user's smartphone application. The server then sends an audio file to the user's device as an HTTP response. The user receives this file on their device and can play the music on the application.
[0216] Input: Audio file on the server
[0217] Output: Audio file downloaded to the user's device
[0218] Step 7:
[0219] Users can not only play the generated music data, but also add it to a playlist or share it with other users. Specifically, users can add songs to a playlist using the application's playlist management function and send links or files of the audio data to other users using the sharing function.
[0220] Input: Received audio file
[0221] Output: Add to playlist, share with others
[0222] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0223] The present invention is a system in which an AI model generates new music by combining a user's desired music generation parameters with an emotion engine that recognizes the user's emotions. To implement this system, follow the steps below.
[0224] overview
[0225] The process begins when a user uses a device to input music generation parameters, and the emotion engine recognizes the user's emotions. The server receives this information and sends a request to the AI model to generate music. The AI model generates a new song based on the music data it has learned in advance, and the server receives the generated music data. Finally, the server sends the generated music data to the user's device, and the user plays the song.
[0226] Program processing
[0227] 1. User Input
[0228] The user opens the music generation application on their device and inputs the desired musical style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals).The emotion engine then analyzes the user's facial expressions and tone of voice to recognize their emotions.
[0229] 2. Sending parameters and emotion data
[0230] When the user presses the "Generate" button, the music generation parameters and the emotional data recognized by the emotion engine are sent from the device to the server. These data are generally sent in JSON format.
[0231] 3. Receiving and confirming on the server
[0232] The server checks the received music generation parameters and emotion data. It checks whether there are any errors in the data, and if there are any errors, it generates an error message and returns it to the user. If there are no errors, it proceeds to the next step.
[0233] 4. Generate a request to the AI model
[0234] The server prepares a music generation request to the AI model based on the music generation parameters and emotion data. The request includes information on musical style, tempo, instrumentation, and adjustment information based on the user's emotion.
[0235] 5. Sending a song creation request
[0236] The server sends the prepared request to the AI model's API endpoint (e.g., / generate_music) as an HTTP POST request.
[0237] 6. Music generation using AI models
[0238] Based on the request received, the AI model statistically generates song patterns, melody lines, chord progressions, and rhythm sections that match the specified style, tempo, and instrument composition from pre-trained song data. It also takes into account the user's emotional data to reflect emotional characteristics in the song.
[0239] 7. Receiving the generated music data
[0240] The server receives the generated music data (MIDI, MP3, or WAV format) from the AI model.
[0241] 8. Preparing the music data
[0242] The server prepares the received music data to provide it to the user, by generating a URL for the music data and notifying the user.
[0243] 9. Sending music data
[0244] The server returns the URL of the generated music data to the user's device, allowing the user to download the music data.
[0245] 10. User Playback
[0246] The user clicks the download link on their device to download the generated music data, and can then play and enjoy the music on their device's music player.
[0247] Specific examples
[0248] 1. The user inputs the style, tempo, and instrumentation, and the emotion engine recognizes the emotion.
[0249] Example: A user inputs "Pop", "120 BPM", "Guitar and Vocals" into the device, and the emotion engine recognizes the user's emotion of "Joy".
[0250] 2. Send parameters and emotion data to the server
[0251] When the device presses the "Generate" button, the parameters and emotion data are sent to the server in JSON format.
[0252] 3. After the server checks the data, it sends a request to the AI model.
[0253] The server checks the received parameters and emotion data, then sends a request to the AI model.
[0254] 4. AI model generates music based on data
[0255] The AI model generates new pop songs based on data from past Billboard Top 100 songs. Specifically, it generates guitar riffs and vocal melodies that match the rhythm of 120 BPM, creating an upbeat melody line that reflects the emotion of "joy."
[0256] 5. The server receives the generated data and provides it to the user.
[0257] The server receives the music data generated by the AI model and provides it to the user, who then downloads the music to their device and plays it.
[0258] This system allows users to easily create new music without specialized knowledge and enjoy emotionally appropriate musical experiences. Furthermore, because the AI model uses diverse training data, the music generated is fresh and diverse.
[0259] The processing flow will be explained below.
[0260] Step 1: The user opens the music generation application on the device and activates the music generation parameters and emotion engine.
[0261] Specific operation: The user inputs the music style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals). The emotion engine then analyzes the user's facial expressions and tone of voice via the user's camera and microphone to recognize their emotions.
[0262] Step 2: The emotion engine recognizes the user's emotion and generates emotion data.
[0263] Specific operation: The emotion engine generates emotion data such as "joy," "sadness," and "anger" based on the analysis of the user's facial expressions and voice.
[0264] Step 3: The user presses the "Generate" button and sends the music generation parameters and emotion data from the device to the server.
[0265] Specific operation: When the user clicks the "Generate" button, the device sends the music generation parameters and emotion data in JSON format to the server as an HTTP POST request.
[0266] Step 4: The server receives and checks the music generation parameters and emotion data.
[0267] Specific operation: The server parses the JSON data of the HTTP POST request received and checks whether the music generation parameters and emotion data are in the correct format. If there are any errors, it generates an error message and returns it to the user.
[0268] Step 5: The server generates a music generation request to the AI model.
[0269] How it works: If the parameters and emotion data are complete, the server prepares a request to send to the AI model, including information on the music style, tempo, and instrumentation, as well as adjustments based on the user's emotion.
[0270] Step 6: The server sends a music generation request to the AI model.
[0271] Specific operation: The server prepares the request and sends it as an HTTP POST request to the AI model's API endpoint (e.g., / generate_music).
[0272] Step 7: The AI model generates a song based on the music generation parameters and emotional data.
[0273] Specific operation: Based on the request received, the AI model statistically generates song patterns, melody lines, chord progressions, and rhythm sections that match the specified style, tempo, and instrument composition from pre-trained song data. It also takes emotional data into account to reflect emotional characteristics in the song.
[0274] Step 8: The music data generated by the AI model is sent to the server.
[0275] Specific operation: The music data (MIDI, MP3, or WAV format) generated by the AI model is returned to the server as an HTTP response.
[0276] Step 9: The server receives the generated music data and prepares to provide it to the user.
[0277] Specific operation: The server temporarily stores the music data received from the AI model and prepares it by generating a URL for the data to be provided to the user.
[0278] Step 10: The server sends the music data to the user's terminal.
[0279] Specific operation: The server returns the URL of the generated music data to the user's device, allowing the user to download the music data.
[0280] Step 11: The user receives and plays the music data generated on the terminal.
[0281] Specific operation: The user clicks the download link on their device to download the generated music data, and can then play and enjoy the music on their device's music player.
[0282] Through the above processing steps, the system can generate and provide new music based on the music generation parameters and emotion data specified by the user.
[0283] Example 2
[0284] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0285] Conventional music generation systems generate music simply by inputting the user's desired musical style, tempo, and instrumentation, but do not generate music based on the user's emotions. As a result, they are unable to provide a more personalized musical experience that reflects the user's emotions, resulting in low user satisfaction. In addition, the downloading and playback of generated music is complicated, which does not improve the user experience.
[0286] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for recognizing the user's emotion, a means for receiving and confirming music generation parameters and emotion data, and a means for transmitting the music generation parameters and emotion data to the AI model. This makes it possible to generate new music in accordance with the user's emotion. In addition, the generated music data can be easily received and played by the user.
[0287] "Music generation parameters" refers to specific information required for generating music, such as the style, tempo, and instrument composition of the music desired by the user.
[0288] An "emotion engine" refers to software or hardware that analyzes a user's facial expressions, tone of voice, gestures, etc. to recognize the user's current emotions.
[0289] "Server" refers to a central processing system on a network that receives and verifies data sent by users, sends requests to other processing devices (e.g., AI models), receives the results, and returns them to users.
[0290] An "AI model" refers to an algorithm that uses statistical and machine learning techniques to generate new music based on pre-trained data.
[0291] "JSON format" is a data exchange format that is in text format and has a structure that is easy for humans and machines to read.
[0292] An "HTTP POST request" refers to one of the standard request methods of the HTTP protocol used by a client to send data to a server.
[0293] "Music Data" refers to the specific digital format (e.g., MIDI, MP3, WAV) of the generated music composition.
[0294] "URL" refers to an address used to specify a resource on the Internet.
[0295] "Music player" means a software or hardware device for playing digital music files.
[0296] This invention is a system in which an AI model generates new music by inputting desired music generation parameters and combining them with an emotion engine that recognizes the user's emotions. To implement this system, the following devices and technologies are used:
[0297] 1. User Input
[0298] The user uses a device running a music generation application. The device is equipped with an input device (keyboard, touchscreen, etc.) through which the user inputs the desired musical style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals). The device also has an emotion engine built in, which captures the user's facial expressions with a camera and records their voice with a microphone to recognize the user's emotions.
[0299] 2. Sending parameters and emotion data
[0300] Music generation parameters and emotional data are transmitted from the device to the server, typically encoded in JSON format and encrypted for security.
[0301] 3. Receiving and confirming on the server
[0302] The server receives the data sent from the terminal and checks its integrity and content. If there are no errors in the data, it proceeds to the next step. If there are errors, it returns an error message to the terminal.
[0303] 4. Generate a request to the AI model
[0304] Based on the received music generation parameters and emotional data, the server creates a music generation request to the AI model, which includes the specified music style, tempo, instrumentation, and adjustment information based on the user's emotions.
[0305] 5. Sending a song creation request
[0306] The server sends a music generation request in the form of an HTTP POST request to the AI model's API endpoint, which is located on a computer network.
[0307] 6. Music generation using AI models
[0308] Based on the request received from the server, the AI model generates a new song from a pre-trained music dataset (e.g., past Billboard Top 100 songs). Specifically, the AI model generates musical patterns, melody lines, and chord progressions that match the specified style, tempo, and instrumentation, and also generates a song that reflects the user's emotional data.
[0309] 7. Receiving the generated music data
[0310] The server receives the music data (e.g., MIDI, MP3, WAV format) generated by the AI model.
[0311] 8. Preparing the music data
[0312] The server prepares the received music data for provision to the user, specifically by saving the music data and generating a URL that allows access to the data.
[0313] 9. Sending music data
[0314] The server transmits the URL of the music data to the user's terminal, allowing the user to download the music data.
[0315] 10. User Playback
[0316] The user clicks on the provided URL on their device to download the generated music data, after which they can play and enjoy the music using their device's music player.
[0317] Specific examples
[0318] 1. The user inputs the style, tempo, and instrumentation, and the emotion engine recognizes the emotion.
[0319] Example: A user inputs "Pop", "120 BPM", "Guitar and Vocals" into the device, and the emotion engine recognizes the user's emotion of "Joy".
[0320] 2. Send parameters and emotion data to the server
[0321] When the user presses the "Generate" button, the music generation parameters and emotional data are sent to the server in JSON format.
[0322] 3. After the server checks the data, it sends a request to the AI model.
[0323] The server checks the received parameters and emotion data, then sends a request to the AI model.
[0324] 4. AI model generates music based on data
[0325] The AI model generates new pop songs based on data from past Billboard Top 100 songs. Specifically, it generates guitar riffs and vocal melodies that match the rhythm of 120 BPM, creating an upbeat melody line that reflects the emotion of "joy."
[0326] 5. The server receives the generated data and provides it to the user.
[0327] The server receives the music data generated by the AI model and provides it to the user, who can then download the music to their device and play it to enjoy a satisfying music experience.
[0328] Example prompt: Generate a new song based on the following data: "Pop", "120 BPM", "Guitar and Vocals", and the emotion "Joy".
[0329] This system allows users to easily create new music without specialized knowledge and enjoy personalized musical experiences based on their emotions. In addition, because the AI model uses diverse training data, the music generated is fresh and diverse.
[0330] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0331] Step 1:
[0332] User Input
[0333] The user opens the music generation application on their device. Using an input device (keyboard, touchscreen, etc.), they input the desired music style (e.g., pop), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals). The device's built-in emotion engine also captures the user's facial expressions with a camera and records their voice with a microphone to recognize their emotions. Upon input, the music generation application formats the input data and converts it into JSON format. For the specific input data for this session, the user provides "pop," "120 BPM," "guitar and vocals," and emotional data for "joy" via facial expression and voice.
[0334] Step 2:
[0335] Sending parameters and emotion data
[0336] When the user presses the "Generate" button in the device application, the device sends these music generation parameters and emotional data to the server. The data is sent in JSON format and encrypted using IPv6. The device sends the data using an HTTP POST request, and the server receives the request. The input is the music generation parameters and emotional data encrypted in JSON format. The output is the data that has safely reached the server.
[0337] Step 3:
[0338] Receiving and confirming on the server
[0339] The server receives the music generation parameters and emotion data sent from the device. The received data is parsed in JSON format, and the server checks the data's integrity and content. Specifically, it checks whether all required fields (musical style, tempo, instrumentation, emotion data) are included and whether there are any invalid values. If there are any errors, the server generates an error message and returns it to the device. The input is a JSON object of the parsed music generation parameters and emotion data, and the output is either the confirmed data or an error message.
[0340] Step 4:
[0341] Generate requests to the AI model
[0342] The server creates a music generation request to the AI model based on the received music generation parameters and emotional data. The request includes the specified music style (pop), tempo (120 BPM), instrumentation (guitar and vocals), and tuning information to reflect the emotion of "joy." The generated request is a JSON-formatted string, which is prepared to be sent to the specified API endpoint. The input is the verified music generation parameters and emotional data, and the output is the generation request data for the AI model.
[0343] Step 5:
[0344] Sending a music creation request
[0345] The server sends a music generation request in the form of an HTTP POST request to the AI model's API endpoint (e.g., / generate_music). The server sends this request to the specified endpoint, and the AI model receives the request. The input is the generation request data for the AI model, and the output is the status that the AI model successfully received the request.
[0346] Step 6:
[0347] Music generation using AI models
[0348] Based on requests received from the server, the AI model generates new songs from a pre-trained music dataset (e.g., Billboard Top 100 songs). The AI model generates musical patterns, melody lines, and chord progressions that match the specified style, tempo, and instrumentation, and also generates songs that reflect the emotion of "joy." This process uses deep learning techniques and statistical methods. The input is the song generation request data for the AI model, and the output is the generated song data (e.g., MP3 format).
[0349] Step 7:
[0350] Receiving the generated music data
[0351] The server receives the music data (e.g., MP3 format) generated by the AI model. The server temporarily stores the generated music data and prepares it to send to the user. The input is the music data sent from the AI model, and the output is the stored music data.
[0352] Step 8:
[0353] Preparing music data
[0354] The server prepares to provide the received music data to the user. Specifically, it stores the music data in appropriate storage and generates a URL for accessing the data. It also prepares to notify the generated URL to the user. The input is the stored music data, and the output is the URL provided to the user.
[0355] Step 9:
[0356] Sending music data
[0357] The server returns the generated URL to the user's device, allowing the user to download the music data. The input is the URL provided to the user, and the output is a download link that the user can access.
[0358] Step 10:
[0359] User playback of music
[0360] The user clicks on the provided URL on their device to download the generated music data. After the download is complete, the user can play and enjoy the music using their device's music player. The input is the music data downloaded from a specific URL, and the output is the music played by the user.
[0361] (Application example 2)
[0362] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0363] Conventional music generation systems have been able to generate music based on music generation parameters input by the user, but have not been able to generate music that reflects the user's emotions. This has made it difficult for users to generate and enjoy music that matches specific emotions in real time. The present invention aims to improve the user experience by integrating and utilizing the user's emotional data to enable music generation that reflects emotions.
[0364] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving and checking music generation parameters, means for sending a request to the AI model based on the music generation parameters and the user's emotional data, and means for providing the user with music data generated by the AI model. This allows the user to generate and enjoy new music in real time based on their emotions.
[0365] "User" refers to a person who uses the music generation system.
[0366] "Music generation parameters" refers to information such as the musical style, tempo, and instrument composition input by the user.
[0367] "Server" refers to the central control system responsible for receiving music generation parameters and emotional data and sending them to the AI model.
[0368] An "AI model" refers to artificial intelligence that statistically generates music based on pre-trained music data.
[0369] "Emotion data" refers to emotional information recognized by the emotion engine from the user's facial expressions, tone of voice, etc.
[0370] "Music data" refers to the music data files generated by the AI model.
[0371] "Download link" refers to a URL provided to enable a user to obtain the generated music data via the Internet.
[0372] This invention is a system that uses an AI model to generate new music based on music generation parameters and emotional data provided by the user, and provides the music to the user. This system consists of a user device such as a smartphone or smart glasses, a server, and an AI model.
[0373] First, the user launches the music generation application on their device and inputs the desired music style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals).The emotion engine then recognizes the user's facial expressions and tone of voice in real time to obtain emotion data.
[0374] The server receives and checks the music generation parameters and emotion data sent from the user's device. It then generates a request to send the received data to the AI model. The request includes information on the music style, tempo, and instrumentation, as well as adjustment information based on the user's emotion. The server then sends this request to the AI model's API endpoint.
[0375] The AI model statistically generates song patterns, melody lines, chord progressions, and rhythm sections that match the specified style, tempo, and instrument composition based on pre-trained music data. It also takes into account the user's emotional data to reflect emotional characteristics in the song. The song data generated by the AI model is sent back to the server.
[0376] The server receives the generated music data and prepares to provide it to the user. Specifically, it generates a URL for the music data and notifies the user's device. The user can download the music data via the URL and play it on their device.
[0377] For example, if a user inputs "pop," "120 BPM," "guitar and vocals" into their device and the emotion engine recognizes the emotion of "joy," the server receives this and sends a request to the AI model. Based on this, the AI model generates a guitar riff and vocal melody that matches the 120 BPM rhythm, creating a bright melody line that reflects the emotion of "joy." The generated music data is then sent back to the server and provided to the user.
[0378] Example prompt sentence:
[0379] Style: Pop
[0380] Tempo: 120 BPM
[0381] Instrumentation: Guitar and vocals
[0382] Emotion: Joy
[0383] In this way, users can easily enjoy music that matches their mood in real time.
[0384] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0385] Step 1:
[0386] The user launches a music generation application on the device and inputs the desired music style, tempo, and instrumentation. The emotion engine recognizes the user's facial expressions and vocal tone in real time to obtain emotion data. For example, if music generation parameters such as "pop" as the music style, "120 BPM" as the tempo, and "guitar and vocals" as the instrumentation are input, the emotion engine recognizes the emotion of "joy." Based on this input, the device generates music generation parameters and emotion data.
[0387] Step 2:
[0388] The device sends the music generation parameters and emotional data entered by the user to the server. These data are packed in JSON format and sent to the server as an HTTP request. The input is the music generation parameters and emotional data, and the output is the data received on the server side.
[0389] Step 3:
[0390] The server checks the received music generation parameters and emotion data to see if there are any errors. If there are any errors in the data, it generates an error message and returns it to the user's terminal. If there are no errors, it proceeds to the next step. The input for this step is the music generation parameters and emotion data, and the output is an error message or an instruction to proceed to the next processing step.
[0391] Step 4:
[0392] The server generates a request to send to the AI model based on the music generation parameters and emotional data. This request includes tuning information based on the music style, tempo, instrumentation, and emotion. The inputs are the music generation parameters and emotional data, and the output is the request data sent to the AI model.
[0393] Step 5:
[0394] The server sends the prepared request to the AI model's API endpoint as an HTTP POST request. The input is the request data, and the output is the data received by the AI model. Specifically, the server sends a request to the AI model's endpoint URL.
[0395] Step 6:
[0396] Based on the request received, the AI model generates a music pattern that matches the specified style, tempo, and instrument composition from pre-trained music data. It also incorporates the user's emotional data to reflect emotional characteristics in the music. The input is music generation parameters and emotional data, and the output is the generated music data.
[0397] Step 7:
[0398] The server receives the generated music data from the AI model. The input is the music data from the AI model, and the output is the music data stored on the server. Specifically, the server receives the data sent from the AI model and stores it in a database.
[0399] Step 8:
[0400] To provide the generated music data to the user, the server generates a URL for the music data and notifies the user's device. The input is the generated music data, and the output is a download link sent to the user's device. Specifically, the server generates a URL indicating the location where the music data is saved and sends it to the user via email or in-app notification.
[0401] Step 9:
[0402] The user accesses the notified URL, downloads the music data, and plays it on the device's music player. The input is the download link for the music data, and the output is the music data stored on the device and its playback. Specifically, the user clicks the specified link, downloads the music, and then plays it.
[0403] This allows users to easily create and enjoy music that matches their emotions in real time.
[0404] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0405] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0406] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0407] [Second embodiment]
[0408] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0409] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0410] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0411] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0412] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0413] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0414] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0415] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0416] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0417] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0418] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0419] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0420] The present invention is a system in which a user inputs desired music generation parameters and an AI model generates new music based on those parameters. To implement this system, the following steps are followed:
[0421] overview
[0422] The process begins when a user uses a device to input music generation parameters and send them to the server. The server checks the input parameters and sends a request to the AI model to generate music. The AI model generates a new song based on the music data it has learned in advance, and the server receives the generated song data. Finally, the server sends the generated song data to the user's device, and the user plays the song.
[0423] Program processing
[0424] 1. User Input
[0425] A user opens a music generation application on their device and inputs the desired musical style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals).
[0426] 2. Sending parameters
[0427] When the user presses the "Generate" button, music generation parameters are sent from the device to the server. The parameters are generally sent in JSON format.
[0428] 3. Receiving and confirming on the server
[0429] The server checks the received music generation parameters. It checks whether the parameters are correct, and if there are any errors, it returns an error message to the user. If there are no errors, it proceeds to the next step.
[0430] 4. Sending a request to the AI model
[0431] The server generates a music generation request to the AI model based on the music generation parameters, and the request is sent to the AI model using an API endpoint on the server.
[0432] 5. Music generation using AI models
[0433] The AI model generates new music according to the specified style, tempo, and instrumentation based on learned music data (e.g., music rankings from the past 50 years). The AI model uses statistical methods to generate melody lines, chord progressions, and rhythmic patterns, which are then output as the final music data.
[0434] 6. Receiving the generated music data
[0435] The server receives the music data generated by the AI model, typically in MIDI or audio file format (e.g., MP3, WAV).
[0436] 7. Provision of music data
[0437] The server then sends the received music data to the user's device, where the user can download the music data and play it on their device.
[0438] Specific examples
[0439] 1. User inputs style, tempo, and instrumentation
[0440] Example: User types "Pop", "120 BPM", "Guitar and Vocals" into terminal.
[0441] 2. Send parameters to the server
[0442] When the terminal presses the "Generate" button, the parameters are sent to the server in JSON format.
[0443] 3. The server checks the parameters
[0444] The server performs error checks based on the received parameters and, if there are no problems, sends the request to the AI model.
[0445] 4. The AI model generates new music
[0446] The AI model generates new pop songs based on data from past Billboard Top 100 songs, generating guitar riffs and vocal melodies that match the rhythm of 120 BPM.
[0447] 5. Receive the generated data and provide it to the user
[0448] The server receives the music data from the AI model and provides it to the user, who then plays the generated music on their device.
[0449] This system allows users to easily create and enjoy new music without any specialized knowledge, and because the AI model uses a wide range of training data, the music it generates is fresh and diverse.
[0450] The processing flow will be explained below.
[0451] Step 1: A user opens a music generation application on a terminal and inputs music generation parameters.
[0452] What happens: The user enters the music style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals) into an input form.
[0453] Step 2: The user presses the "Generate" button, and the music generation parameters are sent from the device to the server.
[0454] Specific operation: When the user clicks the "Generate" button, the terminal sends the entered parameters in JSON format to the server as an HTTP POST request.
[0455] Step 3: The server receives and verifies the music generation parameters.
[0456] Specific operation: The server parses the JSON data of the HTTP POST request received and checks whether the parameters are in the correct format. If there are any errors, it generates an error message and returns it to the user.
[0457] Step 4: The server generates a music generation request to the AI model.
[0458] What it does: If the parameters are correct, the server prepares a request to send to the AI model based on the received music generation parameters, including information on the musical style, tempo, and instrumentation.
[0459] Step 5: The server sends a music generation request to the AI model.
[0460] What happens: The server sends the prepared request to the AI model's API endpoint (e.g., / generate_music) as an HTTP POST request.
[0461] Step 6: The AI model generates a song based on the music generation parameters.
[0462] Specific operation: Based on the request received, the AI model statistically generates song patterns, melody lines, chord progressions, and rhythm sections that match the specified style, tempo, and instrument composition from pre-trained song data.
[0463] Step 7: The music data generated by the AI model is sent to the server.
[0464] Specific operation: The AI model returns the newly generated music data (MIDI, MP3, or WAV format) to the server as an HTTP response.
[0465] Step 8: The server receives the generated music data and prepares to provide it to the user.
[0466] Specific operation: The server temporarily stores the music data received from the AI model and prepares it by generating a URL for the data to be provided to the user.
[0467] Step 9: The server sends the music data to the user's device.
[0468] Specific operation: The server returns the URL of the generated music data to the user's device, allowing the user to download the music data.
[0469] Step 10: The user receives and plays the music data generated on the terminal.
[0470] Specific operation: The user clicks the download link on their device to download the generated music data, and can then play and enjoy the music on their device's music player.
[0471] Through the above processing steps, the system can generate and provide new music based on music generation parameters specified by the user.
[0472] Example 1
[0473] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0474] Conventional music generation systems have made it difficult for users without specialized knowledge and skills to generate music in the desired style, tempo, and instrumentation. Furthermore, they require complex operations and numerous steps, resulting in low usability. Furthermore, there are limitations to the quality and variety of the music generated, creating a need for a method to easily generate fresh, diverse music.
[0475] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0476] In this invention, the server includes: means for a user to input music generation parameters; means for specifying a desired musical style, tempo, and instrument composition on a terminal using a music generation application; means for transmitting the music generation parameters to the server; means for the music generation parameters to be transmitted in JSON format when the user presses a "Generate" button; means for the server to receive and check the music generation parameters; means for performing error checking based on the music generation parameters received by the server; means for the server to transmit the music generation parameters received by the server to the AI model; means for the server to generate and transmit a music generation request to the AI model based on the music generation parameters; means for the AI model to generate a new piece of music based on the music generation parameters; means for the AI model to generate a piece of music based on learned music data using statistical techniques; means for the server to receive the new music data and transmit it to the user; means for the server to receive the music data generated from the AI model and save it in MIDI or audio file format; means for the user to receive and play the new music data; and means for the server to provide the music data to the user's terminal and for the user to download and play the music data.
[0477] This allows users to easily create and enjoy new music without specialized knowledge. In addition, because the AI model uses a wide range of training data, the music it generates is fresh and diverse.
[0478] "Music generation parameters" are data that include specifications such as the style, tempo, and instrument composition of the music piece that the user wants to generate.
[0479] A "terminal" is an electronic device operated by a user, such as a computer, smartphone, or tablet.
[0480] The "server" is a computer system that receives and verifies music generation parameters and sends requests to the AI model.
[0481] An "AI model" is an artificial intelligence model that generates new music based on learned music data.
[0482] A "music generation request" is a request based on music generation parameters that the server sends to the AI model.
[0483] A "MIDI file" is a file format that digitally represents musical instrument performance information.
[0484] An "audio file format" is a file format for digitally storing audio data, examples of which include MP3 and WAV.
[0485] "Error check" is a process in which the server checks whether there are any errors in the content of the music generation parameters received.
[0486] "Downloading" is the process by which a user saves music data from a server to their own device.
[0487] "Playback" refers to the act of a user listening to music data generated on a terminal.
[0488] This invention is a system in which a user inputs desired music generation parameters and an AI model generates new music based on those parameters. To implement this system, the following specific configuration and procedures are followed.
[0489] System Overview
[0490] The user inputs music generation parameters using a device. These parameters are then sent to the server, which performs an error check. If there are no problems with the parameters, the server sends a music generation request to the AI model. The AI model generates a new song based on the music data it has learned in advance, and the server receives the song data. Finally, the server sends the generated song data to the user's device, and the user plays the song.
[0491] Hardware and software used
[0492] 1. Device: The electronic device used by the user, such as a computer, smartphone, or tablet.
[0493] 2. Server: A computer system that receives and verifies music generation parameters and sends requests to the AI model.
[0494] 3. AI model: An artificial intelligence model that generates new songs based on learned music data.
[0495] Data Processing and Data Arithmetic
[0496] User Input
[0497] A user opens a music generation application on their device and inputs the desired musical style, tempo, and instrumentation. For example, a user might input "Pop," "120 BPM," and "Guitar and Vocals."
[0498] Sending parameters
[0499] When the user presses the "Generate" button, the music generation parameters are sent from the device to the server in JSON format.
[0500] Receiving and confirming on the server
[0501] The server performs an error check on the received parameters, and if there are no problems with the parameters, it proceeds to the next step.
[0502] Sending requests to the AI model
[0503] The server sends requests based on music generation parameters to the AI model, which are sent through an API endpoint.
[0504] Music generation using AI models
[0505] The AI model generates new music based on pre-trained music data (e.g., music ranking data from the past 50 years) according to the specified style, tempo, and instrumentation. Specifically, it uses statistical methods to generate melody lines, chord progressions, and rhythmic patterns, and outputs them as the final music data.
[0506] Receiving the generated music data
[0507] The server receives the music data generated by the AI model and stores it, typically in a MIDI or audio file format (e.g., MP3, WAV).
[0508] Providing music data
[0509] The server then sends the received music data to the user's device, where the user can download the generated music data and play it on their device.
[0510] Specific examples
[0511] 1. Example of user input
[0512] Music Style: Pop
[0513] Tempo: 120 BPM
[0514] Instrumentation: Guitar and vocals
[0515] 2. Examples of prompts
[0516] Style: Pop
[0517] Tempo: 120
[0518] Instrumentation: Guitar and vocals
[0519] This system allows users to easily create and enjoy new music without any specialized knowledge. Furthermore, because the AI model uses a wide range of training data, the music it generates is fresh and diverse.
[0520] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0521] Step 1: User Input
[0522] The user opens a music generation application on their device and inputs the desired musical style (e.g., pop), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, and vocals). This data is entered into form fields within the application. The input data includes musical style, tempo, and instrumentation.
[0523] Step 2: Sending parameters
[0524] When the user presses the "Generate" button, music generation parameters (musical style, tempo, instrumentation) are sent from the device to the server in JSON format. The input data are the music generation parameters specified by the user, and the output data is sent to the server.
[0525] Step 3: Receiving and verifying on the server
[0526] The server receives the music generation parameters sent from the device. The server checks the format and content of the received data and performs error checking. The input data are the received music generation parameters, and the validated parameters are obtained as output. Specifically, the server validates the data based on the JSON schema, and if there are any errors, it generates an error message and returns it to the user.
[0527] Step 4: Sending a request to the AI model
[0528] The server generates a music generation request to the AI model based on the verified music generation parameters and sends it through an API endpoint. The input data are the verified music generation parameters, and the output is a generation request to the AI model. Specifically, the server sends an HTTP POST request to the API endpoint and includes the music generation parameters in JSON format in the request body.
[0529] Step 5: Music generation using AI models
[0530] Based on a song generation request received from the server, the AI model generates a new song using pre-trained music data (e.g., music ranking data from the past 50 years). The AI model uses statistical methods to generate melody lines, chord progressions, and rhythm patterns, which are then output as the final song data. The input data is the song generation request, and the output is new song data.
[0531] Step 6: Receive the generated music data
[0532] The server receives the music data generated by the AI model. The music data is usually sent to the server in MIDI or audio file format (e.g., MP3, WAV). The input data is the music data from the AI model, and the received music data is obtained as output. Specifically, the server receives the HTTP response and saves the music data contained therein.
[0533] Step 7: Provide your music data
[0534] The server sends the received music data to the user's device. The user can download the music data and play it on their device. The received music data is the input data, and the data is provided to the user's device as the output. Specifically, the server generates an HTTP response to the user's device and attaches the music data. The user receives the notification, clicks the link to download the music data, and plays it on their music player.
[0535] In this way, the system realizes a process for easily generating and providing the music that the user desires.
[0536] (Application example 1)
[0537] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0538] Conventional music creation systems lack the functionality to easily share music created by users with other users or add it to a playlist. As a result, it is difficult for users to enjoy the music they create with other users, and the scope of use of the music created is limited. In order to solve these problems, the present invention aims to provide a system that allows users to add the music they create to a playlist and easily share it with other users.
[0539] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0540] In this invention, the server includes means for a user to input music generation parameters, means for transmitting the music generation parameters to the server, means for the server to receive and confirm the music generation parameters, means for the server to transmit the music generation parameters received by the server to the AI model, means for the AI model to generate new music based on the music generation parameters, means for the server to receive new music data and transmit it to the user, and means for the user to receive, play, and share the new music data with other users. This allows the user to add the generated music to a playlist and easily share it with other users.
[0541] A "user" is an entity that uses this system to input music creation parameters and receives, plays, and shares the created music data.
[0542] "Music generation parameters" are information input by the user to generate music based on an AI model, such as the style, tempo, and instrument composition of the music.
[0543] A "server" is a computer system that receives music generation parameters from a user, sends them to an AI model, receives the generated music data, and provides it to the user.
[0544] An "AI model" is an artificial intelligence algorithm used to generate new music based on music generation parameters, and statistically generates music based on past music data.
[0545] "Music data" refers to the data for new songs generated by the AI model, and is usually in audio file format such as MP3 or WAV.
[0546] "Sharing" refers to the process in which a user transmits and shares the music data they have created with other users via a network.
[0547] A "play list" is a list to which a user adds music data that has been generated and which is saved in a format that allows continuous playback.
[0548] A "file format" refers to the digital data format in which music data is saved, with common formats being MP3 and WAV.
[0549] This invention is a system in which a user inputs desired music generation parameters and an AI model generates new music based on those parameters. To realize this application example, the following hardware and software are used.
[0550] Hardware / Software used:
[0551] Smartphone application (Android, iOS)
[0552] Server: AWS EC2, S3
[0553] AI model: Google Cloud AI Platform, TensorFlow
[0554] Data format: JSON (parameter transmission), MP3 / WAV (music data)
[0555] The system is programmed as follows:
[0556] User Input
[0557] Users use a smartphone application to input music generation parameters, such as musical style (e.g., pop, jazz, classical), tempo (e.g., 120 BPM), and instrumentation (e.g., piano, drums, vocals). For example, a user opens the app and selects "Pop," "120 BPM," and "Guitar and Vocals."
[0558] Sending parameters
[0559] When the user presses the "Generate" button, the selected music generation parameters are sent to the server in JSON format. The server checks the received parameters and performs error checks. If there are no errors, the server proceeds to the next step.
[0560] Receiving and confirming on the server
[0561] The server receives the music generation parameters and verifies that there are no errors. Specifically, it verifies that the entered parameters are formatted correctly and that all required fields have been entered. If there are any errors, it notifies the user with an error message.
[0562] Sending requests to the AI model
[0563] The server sends a music generation request to the AI model based on the music generation parameters. This request is sent using an API endpoint on the server.
[0564] Music generation using AI models
[0565] The AI model generates new music based on a variety of past music data and according to specified music generation parameters. For example, the AI model statistically generates melodies, chord progressions, rhythm patterns, etc. based on music data from the past 50 years.
[0566] Receiving the generated music data
[0567] The server receives the music data generated by the AI model, which is typically an audio file in MP3 or WAV format.
[0568] Providing and sharing music data
[0569] The server then distributes the received music data to the user's smartphone application. The user can play the music, add it to a playlist for continuous playback, or share it with other users. For example, a user can share a song they created with a friend, who can then add it to their playlist.
[0570] An example of a prompt might be:
[0571] "Pop, 120 BPM, piano and vocals"
[0572] This system allows users to easily create and share new music without specialized knowledge, and because the AI model uses a wide range of training data, the music it generates is always fresh and diverse.
[0573] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0574] Step 1:
[0575] The user launches the smartphone application and inputs music generation parameters. These parameters include the musical style (e.g., pop, jazz, classical), tempo (e.g., 120 BPM), and instrumentation (e.g., piano, drums, vocals). When the user presses the "Generate" button, the input parameters are sent from the device to the server in JSON format. Specifically, the data obtained through the input interface is converted into a JSON object and sent as an HTTP request to the server's API endpoint.
[0576] Input: Music style, tempo, instrumentation
[0577] Output: Music generation parameters in JSON format
[0578] Step 2:
[0579] The server receives the request and checks the music generation parameters sent. The server parses the received JSON format data and checks whether all required parameters are present and whether the format is correct. If there are any errors during the error check, an error message is returned to the user.
[0580] Input: Music generation parameters in JSON format
[0581] Output: Inspection results (if correct, go to the next step; if incomplete, error message)
[0582] Step 3:
[0583] If the parameters are correct, the server sends the music generation parameters to the AI model. The server then generates a JSON object and sends a request to the AI model's API endpoint. This request includes data on the musical style, tempo, and instrumentation, instructing the AI model to generate music.
[0584] Input: Music generation parameters in validated JSON format
[0585] Output: Sending a request to the AI model
[0586] Step 4:
[0587] The AI model generates new music based on the music generation parameters it receives. Based on the input parameters, the AI model generates melodies, chord progressions, and rhythmic patterns from the music data it has learned. The AI model uses statistical methods to combine multiple data points to generate music data.
[0588] Input: Music generation parameters
[0589] Output: Generated music data
[0590] Step 5:
[0591] The server receives the music data generated by the AI model. The generated music data is usually an audio file in MP3 or WAV format. The server temporarily stores the received audio file and prepares it for transmission to the user.
[0592] Input: Generated music data (MP3 / WAV format)
[0593] Output: Audio file on the server
[0594] Step 6:
[0595] The server sends the generated music data to the user's smartphone application. The server then sends an audio file to the user's device as an HTTP response. The user receives this file on their device and can play the music on the application.
[0596] Input: Audio file on the server
[0597] Output: Audio file downloaded to the user's device
[0598] Step 7:
[0599] Users can not only play the generated music data, but also add it to a playlist or share it with other users. Specifically, users can add songs to a playlist using the application's playlist management function and send links or files of the audio data to other users using the sharing function.
[0600] Input: Received audio file
[0601] Output: Add to playlist, share with others
[0602] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0603] The present invention is a system in which an AI model generates new music by combining a user's desired music generation parameters with an emotion engine that recognizes the user's emotions. To implement this system, follow the steps below.
[0604] overview
[0605] The process begins when a user uses a device to input music generation parameters, and the emotion engine recognizes the user's emotions. The server receives this information and sends a request to the AI model to generate music. The AI model generates a new song based on the music data it has learned in advance, and the server receives the generated music data. Finally, the server sends the generated music data to the user's device, and the user plays the song.
[0606] Program processing
[0607] 1. User Input
[0608] The user opens the music generation application on their device and inputs the desired musical style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals).The emotion engine then analyzes the user's facial expressions and tone of voice to recognize their emotions.
[0609] 2. Sending parameters and emotion data
[0610] When the user presses the "Generate" button, the music generation parameters and the emotional data recognized by the emotion engine are sent from the device to the server. These data are generally sent in JSON format.
[0611] 3. Receiving and confirming on the server
[0612] The server checks the received music generation parameters and emotion data. It checks whether there are any errors in the data, and if there are any errors, it generates an error message and returns it to the user. If there are no errors, it proceeds to the next step.
[0613] 4. Generate a request to the AI model
[0614] The server prepares a music generation request to the AI model based on the music generation parameters and emotion data. The request includes information on musical style, tempo, instrumentation, and adjustment information based on the user's emotion.
[0615] 5. Sending a song creation request
[0616] The server sends the prepared request to the AI model's API endpoint (e.g., / generate_music) as an HTTP POST request.
[0617] 6. Music generation using AI models
[0618] Based on the request received, the AI model statistically generates song patterns, melody lines, chord progressions, and rhythm sections that match the specified style, tempo, and instrument composition from pre-trained song data. It also takes into account the user's emotional data to reflect emotional characteristics in the song.
[0619] 7. Receiving the generated music data
[0620] The server receives the generated music data (MIDI, MP3, or WAV format) from the AI model.
[0621] 8. Preparing the music data
[0622] The server prepares the received music data to provide it to the user, by generating a URL for the music data and notifying the user.
[0623] 9. Sending music data
[0624] The server returns the URL of the generated music data to the user's device, allowing the user to download the music data.
[0625] 10. User Playback
[0626] The user clicks the download link on their device to download the generated music data, and can then play and enjoy the music on their device's music player.
[0627] Specific examples
[0628] 1. The user inputs the style, tempo, and instrumentation, and the emotion engine recognizes the emotion.
[0629] Example: A user inputs "Pop", "120 BPM", "Guitar and Vocals" into the device, and the emotion engine recognizes the user's emotion of "Joy".
[0630] 2. Send parameters and emotion data to the server
[0631] When the device presses the "Generate" button, the parameters and emotion data are sent to the server in JSON format.
[0632] 3. After the server checks the data, it sends a request to the AI model.
[0633] The server checks the received parameters and emotion data, then sends a request to the AI model.
[0634] 4. AI model generates music based on data
[0635] The AI model generates new pop songs based on data from past Billboard Top 100 songs. Specifically, it generates guitar riffs and vocal melodies that match the rhythm of 120 BPM, creating an upbeat melody line that reflects the emotion of "joy."
[0636] 5. The server receives the generated data and provides it to the user.
[0637] The server receives the music data generated by the AI model and provides it to the user, who then downloads the music to their device and plays it.
[0638] This system allows users to easily create new music without specialized knowledge and enjoy emotionally appropriate musical experiences. Furthermore, because the AI model uses diverse training data, the music generated is fresh and diverse.
[0639] The processing flow will be explained below.
[0640] Step 1: The user opens the music generation application on the device and activates the music generation parameters and emotion engine.
[0641] Specific operation: The user inputs the music style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals). The emotion engine then analyzes the user's facial expressions and tone of voice via the user's camera and microphone to recognize their emotions.
[0642] Step 2: The emotion engine recognizes the user's emotion and generates emotion data.
[0643] Specific operation: The emotion engine generates emotion data such as "joy," "sadness," and "anger" based on the analysis of the user's facial expressions and voice.
[0644] Step 3: The user presses the "Generate" button and sends the music generation parameters and emotion data from the device to the server.
[0645] Specific operation: When the user clicks the "Generate" button, the device sends the music generation parameters and emotion data in JSON format to the server as an HTTP POST request.
[0646] Step 4: The server receives and checks the music generation parameters and emotion data.
[0647] Specific operation: The server parses the JSON data of the HTTP POST request received and checks whether the music generation parameters and emotion data are in the correct format. If there are any errors, it generates an error message and returns it to the user.
[0648] Step 5: The server generates a music generation request to the AI model.
[0649] How it works: If the parameters and emotion data are complete, the server prepares a request to send to the AI model, including information on the music style, tempo, and instrumentation, as well as adjustments based on the user's emotion.
[0650] Step 6: The server sends a music generation request to the AI model.
[0651] Specific operation: The server prepares the request and sends it as an HTTP POST request to the AI model's API endpoint (e.g., / generate_music).
[0652] Step 7: The AI model generates a song based on the music generation parameters and emotional data.
[0653] Specific operation: Based on the request received, the AI model statistically generates song patterns, melody lines, chord progressions, and rhythm sections that match the specified style, tempo, and instrument composition from pre-trained song data. It also takes emotional data into account to reflect emotional characteristics in the song.
[0654] Step 8: The music data generated by the AI model is sent to the server.
[0655] Specific operation: The music data (MIDI, MP3, or WAV format) generated by the AI model is returned to the server as an HTTP response.
[0656] Step 9: The server receives the generated music data and prepares to provide it to the user.
[0657] Specific operation: The server temporarily stores the music data received from the AI model and prepares it by generating a URL for the data to be provided to the user.
[0658] Step 10: The server sends the music data to the user's terminal.
[0659] Specific operation: The server returns the URL of the generated music data to the user's device, allowing the user to download the music data.
[0660] Step 11: The user receives and plays the music data generated on the terminal.
[0661] Specific operation: The user clicks the download link on their device to download the generated music data, and can then play and enjoy the music on their device's music player.
[0662] Through the above processing steps, the system can generate and provide new music based on the music generation parameters and emotion data specified by the user.
[0663] Example 2
[0664] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0665] Conventional music generation systems generate music simply by inputting the user's desired musical style, tempo, and instrumentation, but do not generate music based on the user's emotions. As a result, they are unable to provide a more personalized musical experience that reflects the user's emotions, resulting in low user satisfaction. In addition, the downloading and playback of generated music is complicated, which does not improve the user experience.
[0666] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for recognizing the user's emotion, a means for receiving and confirming music generation parameters and emotion data, and a means for transmitting the music generation parameters and emotion data to the AI model. This makes it possible to generate new music in accordance with the user's emotion. In addition, the generated music data can be easily received and played by the user.
[0667] "Music generation parameters" refers to specific information required for generating music, such as the style, tempo, and instrument composition of the music desired by the user.
[0668] An "emotion engine" refers to software or hardware that analyzes a user's facial expressions, tone of voice, gestures, etc. to recognize the user's current emotions.
[0669] "Server" refers to a central processing system on a network that receives and verifies data sent by users, sends requests to other processing devices (e.g., AI models), receives the results, and returns them to users.
[0670] An "AI model" refers to an algorithm that uses statistical and machine learning techniques to generate new music based on pre-trained data.
[0671] "JSON format" is a data exchange format that is in text format and has a structure that is easy for humans and machines to read.
[0672] An "HTTP POST request" refers to one of the standard request methods of the HTTP protocol used by a client to send data to a server.
[0673] "Music Data" refers to the specific digital format (e.g., MIDI, MP3, WAV) of the generated music composition.
[0674] "URL" refers to an address used to specify a resource on the Internet.
[0675] "Music player" means a software or hardware device for playing digital music files.
[0676] This invention is a system in which an AI model generates new music by inputting desired music generation parameters and combining them with an emotion engine that recognizes the user's emotions. To implement this system, the following devices and technologies are used:
[0677] 1. User Input
[0678] The user uses a device running a music generation application. The device is equipped with an input device (keyboard, touchscreen, etc.) through which the user inputs the desired musical style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals). The device also has an emotion engine built in, which captures the user's facial expressions with a camera and records their voice with a microphone to recognize the user's emotions.
[0679] 2. Sending parameters and emotion data
[0680] Music generation parameters and emotional data are transmitted from the device to the server, typically encoded in JSON format and encrypted for security.
[0681] 3. Receiving and confirming on the server
[0682] The server receives the data sent from the terminal and checks its integrity and content. If there are no errors in the data, it proceeds to the next step. If there are errors, it returns an error message to the terminal.
[0683] 4. Generate a request to the AI model
[0684] Based on the received music generation parameters and emotional data, the server creates a music generation request to the AI model, which includes the specified music style, tempo, instrumentation, and adjustment information based on the user's emotions.
[0685] 5. Sending a song creation request
[0686] The server sends a music generation request in the form of an HTTP POST request to the AI model's API endpoint, which is located on a computer network.
[0687] 6. Music generation using AI models
[0688] Based on the request received from the server, the AI model generates a new song from a pre-trained music dataset (e.g., past Billboard Top 100 songs). Specifically, the AI model generates musical patterns, melody lines, and chord progressions that match the specified style, tempo, and instrumentation, and also generates a song that reflects the user's emotional data.
[0689] 7. Receiving the generated music data
[0690] The server receives the music data (e.g., MIDI, MP3, WAV format) generated by the AI model.
[0691] 8. Preparing the music data
[0692] The server prepares the received music data for provision to the user, specifically by saving the music data and generating a URL that allows access to the data.
[0693] 9. Sending music data
[0694] The server transmits the URL of the music data to the user's terminal, allowing the user to download the music data.
[0695] 10. User Playback
[0696] The user clicks on the provided URL on their device to download the generated music data, after which they can play and enjoy the music using their device's music player.
[0697] Specific examples
[0698] 1. The user inputs the style, tempo, and instrumentation, and the emotion engine recognizes the emotion.
[0699] Example: A user inputs "Pop", "120 BPM", "Guitar and Vocals" into the device, and the emotion engine recognizes the user's emotion of "Joy".
[0700] 2. Send parameters and emotion data to the server
[0701] When the user presses the "Generate" button, the music generation parameters and emotional data are sent to the server in JSON format.
[0702] 3. After the server checks the data, it sends a request to the AI model.
[0703] The server checks the received parameters and emotion data, then sends a request to the AI model.
[0704] 4. AI model generates music based on data
[0705] The AI model generates new pop songs based on data from past Billboard Top 100 songs. Specifically, it generates guitar riffs and vocal melodies that match the rhythm of 120 BPM, creating an upbeat melody line that reflects the emotion of "joy."
[0706] 5. The server receives the generated data and provides it to the user.
[0707] The server receives the music data generated by the AI model and provides it to the user, who can then download the music to their device and play it to enjoy a satisfying music experience.
[0708] Example prompt: Generate a new song based on the following data: "Pop", "120 BPM", "Guitar and Vocals", and the emotion "Joy".
[0709] This system allows users to easily create new music without specialized knowledge and enjoy personalized musical experiences based on their emotions. In addition, because the AI model uses diverse training data, the music generated is fresh and diverse.
[0710] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0711] Step 1:
[0712] User Input
[0713] The user opens the music generation application on their device. Using an input device (keyboard, touchscreen, etc.), they input the desired music style (e.g., pop), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals). The device's built-in emotion engine also captures the user's facial expressions with a camera and records their voice with a microphone to recognize their emotions. Upon input, the music generation application formats the input data and converts it into JSON format. For the specific input data for this session, the user provides "pop," "120 BPM," "guitar and vocals," and emotional data for "joy" via facial expression and voice.
[0714] Step 2:
[0715] Sending parameters and emotion data
[0716] When the user presses the "Generate" button in the device application, the device sends these music generation parameters and emotional data to the server. The data is sent in JSON format and encrypted using IPv6. The device sends the data using an HTTP POST request, and the server receives the request. The input is the music generation parameters and emotional data encrypted in JSON format. The output is the data that has safely reached the server.
[0717] Step 3:
[0718] Receiving and confirming on the server
[0719] The server receives the music generation parameters and emotion data sent from the device. The received data is parsed in JSON format, and the server checks the data's integrity and content. Specifically, it checks whether all required fields (musical style, tempo, instrumentation, emotion data) are included and whether there are any invalid values. If there are any errors, the server generates an error message and returns it to the device. The input is a JSON object of the parsed music generation parameters and emotion data, and the output is either the confirmed data or an error message.
[0720] Step 4:
[0721] Generate requests to the AI model
[0722] The server creates a music generation request to the AI model based on the received music generation parameters and emotional data. The request includes the specified music style (pop), tempo (120 BPM), instrumentation (guitar and vocals), and tuning information to reflect the emotion of "joy." The generated request is a JSON-formatted string, which is prepared to be sent to the specified API endpoint. The input is the verified music generation parameters and emotional data, and the output is the generation request data for the AI model.
[0723] Step 5:
[0724] Sending a music creation request
[0725] The server sends a music generation request in the form of an HTTP POST request to the AI model's API endpoint (e.g., / generate_music). The server sends this request to the specified endpoint, and the AI model receives the request. The input is the generation request data for the AI model, and the output is the status that the AI model successfully received the request.
[0726] Step 6:
[0727] Music generation using AI models
[0728] Based on requests received from the server, the AI model generates new songs from a pre-trained music dataset (e.g., Billboard Top 100 songs). The AI model generates musical patterns, melody lines, and chord progressions that match the specified style, tempo, and instrumentation, and also generates songs that reflect the emotion of "joy." This process uses deep learning techniques and statistical methods. The input is the song generation request data for the AI model, and the output is the generated song data (e.g., MP3 format).
[0729] Step 7:
[0730] Receiving the generated music data
[0731] The server receives the music data (e.g., MP3 format) generated by the AI model. The server temporarily stores the generated music data and prepares it to send to the user. The input is the music data sent from the AI model, and the output is the stored music data.
[0732] Step 8:
[0733] Preparing music data
[0734] The server prepares to provide the received music data to the user. Specifically, it stores the music data in appropriate storage and generates a URL for accessing the data. It also prepares to notify the generated URL to the user. The input is the stored music data, and the output is the URL provided to the user.
[0735] Step 9:
[0736] Sending music data
[0737] The server returns the generated URL to the user's device, allowing the user to download the music data. The input is the URL provided to the user, and the output is a download link that the user can access.
[0738] Step 10:
[0739] User playback of music
[0740] The user clicks on the provided URL on their device to download the generated music data. After the download is complete, the user can play and enjoy the music using their device's music player. The input is the music data downloaded from a specific URL, and the output is the music played by the user.
[0741] (Application example 2)
[0742] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0743] Conventional music generation systems have been able to generate music based on music generation parameters input by the user, but have not been able to generate music that reflects the user's emotions. This has made it difficult for users to generate and enjoy music that matches specific emotions in real time. The present invention aims to improve the user experience by integrating and utilizing the user's emotional data to enable music generation that reflects emotions.
[0744] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving and checking music generation parameters, means for sending a request to the AI model based on the music generation parameters and the user's emotional data, and means for providing the user with music data generated by the AI model. This allows the user to generate and enjoy new music in real time based on their emotions.
[0745] "User" refers to a person who uses the music generation system.
[0746] "Music generation parameters" refers to information such as the musical style, tempo, and instrument composition input by the user.
[0747] "Server" refers to the central control system responsible for receiving music generation parameters and emotional data and sending them to the AI model.
[0748] An "AI model" refers to artificial intelligence that statistically generates music based on pre-trained music data.
[0749] "Emotion data" refers to emotional information recognized by the emotion engine from the user's facial expressions, tone of voice, etc.
[0750] "Music data" refers to the music data files generated by the AI model.
[0751] "Download link" refers to a URL provided to enable a user to obtain the generated music data via the Internet.
[0752] This invention is a system that uses an AI model to generate new music based on music generation parameters and emotional data provided by the user, and provides the music to the user. This system consists of a user device such as a smartphone or smart glasses, a server, and an AI model.
[0753] First, the user launches the music generation application on their device and inputs the desired music style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals).The emotion engine then recognizes the user's facial expressions and tone of voice in real time to obtain emotion data.
[0754] The server receives and checks the music generation parameters and emotion data sent from the user's device. It then generates a request to send the received data to the AI model. The request includes information on the music style, tempo, and instrumentation, as well as adjustment information based on the user's emotion. The server then sends this request to the AI model's API endpoint.
[0755] The AI model statistically generates song patterns, melody lines, chord progressions, and rhythm sections that match the specified style, tempo, and instrument composition based on pre-trained music data. It also takes into account the user's emotional data to reflect emotional characteristics in the song. The song data generated by the AI model is sent back to the server.
[0756] The server receives the generated music data and prepares to provide it to the user. Specifically, it generates a URL for the music data and notifies the user's device. The user can download the music data via the URL and play it on their device.
[0757] For example, if a user inputs "pop," "120 BPM," "guitar and vocals" into their device and the emotion engine recognizes the emotion of "joy," the server receives this and sends a request to the AI model. Based on this, the AI model generates a guitar riff and vocal melody that matches the 120 BPM rhythm, creating a bright melody line that reflects the emotion of "joy." The generated music data is then sent back to the server and provided to the user.
[0758] Example prompt sentence:
[0759] Style: Pop
[0760] Tempo: 120 BPM
[0761] Instrumentation: Guitar and vocals
[0762] Emotion: Joy
[0763] In this way, users can easily enjoy music that matches their mood in real time.
[0764] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0765] Step 1:
[0766] The user launches a music generation application on the device and inputs the desired music style, tempo, and instrumentation. The emotion engine recognizes the user's facial expressions and vocal tone in real time to obtain emotion data. For example, if music generation parameters such as "pop" as the music style, "120 BPM" as the tempo, and "guitar and vocals" as the instrumentation are input, the emotion engine recognizes the emotion of "joy." Based on this input, the device generates music generation parameters and emotion data.
[0767] Step 2:
[0768] The device sends the music generation parameters and emotional data entered by the user to the server. These data are packed in JSON format and sent to the server as an HTTP request. The input is the music generation parameters and emotional data, and the output is the data received on the server side.
[0769] Step 3:
[0770] The server checks the received music generation parameters and emotion data to see if there are any errors. If there are any errors in the data, it generates an error message and returns it to the user's terminal. If there are no errors, it proceeds to the next step. The input for this step is the music generation parameters and emotion data, and the output is an error message or an instruction to proceed to the next processing step.
[0771] Step 4:
[0772] The server generates a request to send to the AI model based on the music generation parameters and emotional data. This request includes tuning information based on the music style, tempo, instrumentation, and emotion. The inputs are the music generation parameters and emotional data, and the output is the request data sent to the AI model.
[0773] Step 5:
[0774] The server sends the prepared request to the AI model's API endpoint as an HTTP POST request. The input is the request data, and the output is the data received by the AI model. Specifically, the server sends a request to the AI model's endpoint URL.
[0775] Step 6:
[0776] Based on the request received, the AI model generates a music pattern that matches the specified style, tempo, and instrument composition from pre-trained music data. It also incorporates the user's emotional data to reflect emotional characteristics in the music. The input is music generation parameters and emotional data, and the output is the generated music data.
[0777] Step 7:
[0778] The server receives the generated music data from the AI model. The input is the music data from the AI model, and the output is the music data stored on the server. Specifically, the server receives the data sent from the AI model and stores it in a database.
[0779] Step 8:
[0780] To provide the generated music data to the user, the server generates a URL for the music data and notifies the user's device. The input is the generated music data, and the output is a download link sent to the user's device. Specifically, the server generates a URL indicating the location where the music data is saved and sends it to the user via email or in-app notification.
[0781] Step 9:
[0782] The user accesses the notified URL, downloads the music data, and plays it on the device's music player. The input is the download link for the music data, and the output is the music data stored on the device and its playback. Specifically, the user clicks the specified link, downloads the music, and then plays it.
[0783] This allows users to easily create and enjoy music that matches their emotions in real time.
[0784] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0785] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0786] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0787] [Third embodiment]
[0788] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0789] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0790] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0791] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0792] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0793] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0794] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0795] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0796] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0797] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0798] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0799] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0800] The present invention is a system in which a user inputs desired music generation parameters and an AI model generates new music based on those parameters. To implement this system, the following steps are followed:
[0801] overview
[0802] The process begins when a user uses a device to input music generation parameters and send them to the server. The server checks the input parameters and sends a request to the AI model to generate music. The AI model generates a new song based on the music data it has learned in advance, and the server receives the generated song data. Finally, the server sends the generated song data to the user's device, and the user plays the song.
[0803] Program processing
[0804] 1. User Input
[0805] A user opens a music generation application on their device and inputs the desired musical style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals).
[0806] 2. Sending parameters
[0807] When the user presses the "Generate" button, music generation parameters are sent from the device to the server. The parameters are generally sent in JSON format.
[0808] 3. Receiving and confirming on the server
[0809] The server checks the received music generation parameters. It checks whether the parameters are correct, and if there are any errors, it returns an error message to the user. If there are no errors, it proceeds to the next step.
[0810] 4. Sending a request to the AI model
[0811] The server generates a music generation request to the AI model based on the music generation parameters, and the request is sent to the AI model using an API endpoint on the server.
[0812] 5. Music generation using AI models
[0813] The AI model generates new music according to the specified style, tempo, and instrumentation based on learned music data (e.g., music rankings from the past 50 years). The AI model uses statistical methods to generate melody lines, chord progressions, and rhythmic patterns, which are then output as the final music data.
[0814] 6. Receiving the generated music data
[0815] The server receives the music data generated by the AI model, typically in MIDI or audio file format (e.g., MP3, WAV).
[0816] 7. Provision of music data
[0817] The server then sends the received music data to the user's device, where the user can download the music data and play it on their device.
[0818] Specific examples
[0819] 1. User inputs style, tempo, and instrumentation
[0820] Example: User types "Pop", "120 BPM", "Guitar and Vocals" into terminal.
[0821] 2. Send parameters to the server
[0822] When the terminal presses the "Generate" button, the parameters are sent to the server in JSON format.
[0823] 3. The server checks the parameters
[0824] The server performs error checks based on the received parameters and, if there are no problems, sends the request to the AI model.
[0825] 4. The AI model generates new music
[0826] The AI model generates new pop songs based on data from past Billboard Top 100 songs, generating guitar riffs and vocal melodies that match the rhythm of 120 BPM.
[0827] 5. Receive the generated data and provide it to the user
[0828] The server receives the music data from the AI model and provides it to the user, who then plays the generated music on their device.
[0829] This system allows users to easily create and enjoy new music without any specialized knowledge, and because the AI model uses a wide range of training data, the music it generates is fresh and diverse.
[0830] The processing flow will be explained below.
[0831] Step 1: A user opens a music generation application on a terminal and inputs music generation parameters.
[0832] What happens: The user enters the music style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals) into an input form.
[0833] Step 2: The user presses the "Generate" button, and the music generation parameters are sent from the device to the server.
[0834] Specific operation: When the user clicks the "Generate" button, the terminal sends the entered parameters in JSON format to the server as an HTTP POST request.
[0835] Step 3: The server receives and verifies the music generation parameters.
[0836] Specific operation: The server parses the JSON data of the HTTP POST request received and checks whether the parameters are in the correct format. If there are any errors, it generates an error message and returns it to the user.
[0837] Step 4: The server generates a music generation request to the AI model.
[0838] What it does: If the parameters are correct, the server prepares a request to send to the AI model based on the received music generation parameters, including information on the musical style, tempo, and instrumentation.
[0839] Step 5: The server sends a music generation request to the AI model.
[0840] What happens: The server sends the prepared request to the AI model's API endpoint (e.g., / generate_music) as an HTTP POST request.
[0841] Step 6: The AI model generates a song based on the music generation parameters.
[0842] Specific operation: Based on the request received, the AI model statistically generates song patterns, melody lines, chord progressions, and rhythm sections that match the specified style, tempo, and instrument composition from pre-trained song data.
[0843] Step 7: The music data generated by the AI model is sent to the server.
[0844] Specific operation: The AI model returns the newly generated music data (MIDI, MP3, or WAV format) to the server as an HTTP response.
[0845] Step 8: The server receives the generated music data and prepares to provide it to the user.
[0846] Specific operation: The server temporarily stores the music data received from the AI model and prepares it by generating a URL for the data to be provided to the user.
[0847] Step 9: The server sends the music data to the user's device.
[0848] Specific operation: The server returns the URL of the generated music data to the user's device, allowing the user to download the music data.
[0849] Step 10: The user receives and plays the music data generated on the terminal.
[0850] Specific operation: The user clicks the download link on their device to download the generated music data, and can then play and enjoy the music on their device's music player.
[0851] Through the above processing steps, the system can generate and provide new music based on music generation parameters specified by the user.
[0852] Example 1
[0853] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0854] Conventional music generation systems have made it difficult for users without specialized knowledge and skills to generate music in the desired style, tempo, and instrumentation. Furthermore, they require complex operations and numerous steps, resulting in low usability. Furthermore, there are limitations to the quality and variety of the music generated, creating a need for a method to easily generate fresh, diverse music.
[0855] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0856] In this invention, the server includes: means for a user to input music generation parameters; means for specifying a desired musical style, tempo, and instrument composition on a terminal using a music generation application; means for transmitting the music generation parameters to the server; means for the music generation parameters to be transmitted in JSON format when the user presses a "Generate" button; means for the server to receive and check the music generation parameters; means for performing error checking based on the music generation parameters received by the server; means for the server to transmit the music generation parameters received by the server to the AI model; means for the server to generate and transmit a music generation request to the AI model based on the music generation parameters; means for the AI model to generate a new piece of music based on the music generation parameters; means for the AI model to generate a piece of music based on learned music data using statistical techniques; means for the server to receive the new music data and transmit it to the user; means for the server to receive the music data generated from the AI model and save it in MIDI or audio file format; means for the user to receive and play the new music data; and means for the server to provide the music data to the user's terminal and for the user to download and play the music data.
[0857] This allows users to easily create and enjoy new music without specialized knowledge. In addition, because the AI model uses a wide range of training data, the music it generates is fresh and diverse.
[0858] "Music generation parameters" are data that include specifications such as the style, tempo, and instrument composition of the music piece that the user wants to generate.
[0859] A "terminal" is an electronic device operated by a user, such as a computer, smartphone, or tablet.
[0860] The "server" is a computer system that receives and verifies music generation parameters and sends requests to the AI model.
[0861] An "AI model" is an artificial intelligence model that generates new music based on learned music data.
[0862] A "music generation request" is a request based on music generation parameters that the server sends to the AI model.
[0863] A "MIDI file" is a file format that digitally represents musical instrument performance information.
[0864] An "audio file format" is a file format for digitally storing audio data, examples of which include MP3 and WAV.
[0865] "Error check" is a process in which the server checks whether there are any errors in the content of the music generation parameters received.
[0866] "Downloading" is the process by which a user saves music data from a server to their own device.
[0867] "Playback" refers to the act of a user listening to music data generated on a terminal.
[0868] This invention is a system in which a user inputs desired music generation parameters and an AI model generates new music based on those parameters. To implement this system, the following specific configuration and procedures are followed.
[0869] System Overview
[0870] The user inputs music generation parameters using a device. These parameters are then sent to the server, which performs an error check. If there are no problems with the parameters, the server sends a music generation request to the AI model. The AI model generates a new song based on the music data it has learned in advance, and the server receives the song data. Finally, the server sends the generated song data to the user's device, and the user plays the song.
[0871] Hardware and software used
[0872] 1. Device: The electronic device used by the user, such as a computer, smartphone, or tablet.
[0873] 2. Server: A computer system that receives and verifies music generation parameters and sends requests to the AI model.
[0874] 3. AI model: An artificial intelligence model that generates new songs based on learned music data.
[0875] Data Processing and Data Arithmetic
[0876] User Input
[0877] A user opens a music generation application on their device and inputs the desired musical style, tempo, and instrumentation. For example, a user might input "Pop," "120 BPM," and "Guitar and Vocals."
[0878] Sending parameters
[0879] When the user presses the "Generate" button, the music generation parameters are sent from the device to the server in JSON format.
[0880] Receiving and confirming on the server
[0881] The server performs an error check on the received parameters, and if there are no problems with the parameters, it proceeds to the next step.
[0882] Sending requests to the AI model
[0883] The server sends requests based on music generation parameters to the AI model, which are sent through an API endpoint.
[0884] Music generation using AI models
[0885] The AI model generates new music based on pre-trained music data (e.g., music ranking data from the past 50 years) according to the specified style, tempo, and instrumentation. Specifically, it uses statistical methods to generate melody lines, chord progressions, and rhythmic patterns, and outputs them as the final music data.
[0886] Receiving the generated music data
[0887] The server receives the music data generated by the AI model and stores it, typically in a MIDI or audio file format (e.g., MP3, WAV).
[0888] Providing music data
[0889] The server then sends the received music data to the user's device, where the user can download the generated music data and play it on their device.
[0890] Specific examples
[0891] 1. Example of user input
[0892] Music Style: Pop
[0893] Tempo: 120 BPM
[0894] Instrumentation: Guitar and vocals
[0895] 2. Examples of prompts
[0896] Style: Pop
[0897] Tempo: 120
[0898] Instrumentation: Guitar and vocals
[0899] This system allows users to easily create and enjoy new music without any specialized knowledge. Furthermore, because the AI model uses a wide range of training data, the music it generates is fresh and diverse.
[0900] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0901] Step 1: User Input
[0902] The user opens a music generation application on their device and inputs the desired musical style (e.g., pop), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, and vocals). This data is entered into form fields within the application. The input data includes musical style, tempo, and instrumentation.
[0903] Step 2: Sending parameters
[0904] When the user presses the "Generate" button, music generation parameters (musical style, tempo, instrumentation) are sent from the device to the server in JSON format. The input data are the music generation parameters specified by the user, and the output data is sent to the server.
[0905] Step 3: Receiving and verifying on the server
[0906] The server receives the music generation parameters sent from the device. The server checks the format and content of the received data and performs error checking. The input data are the received music generation parameters, and the validated parameters are obtained as output. Specifically, the server validates the data based on the JSON schema, and if there are any errors, it generates an error message and returns it to the user.
[0907] Step 4: Sending a request to the AI model
[0908] The server generates a music generation request to the AI model based on the verified music generation parameters and sends it through an API endpoint. The input data are the verified music generation parameters, and the output is a generation request to the AI model. Specifically, the server sends an HTTP POST request to the API endpoint and includes the music generation parameters in JSON format in the request body.
[0909] Step 5: Music generation using AI models
[0910] Based on a song generation request received from the server, the AI model generates a new song using pre-trained music data (e.g., music ranking data from the past 50 years). The AI model uses statistical methods to generate melody lines, chord progressions, and rhythm patterns, which are then output as the final song data. The input data is the song generation request, and the output is new song data.
[0911] Step 6: Receive the generated music data
[0912] The server receives the music data generated by the AI model. The music data is usually sent to the server in MIDI or audio file format (e.g., MP3, WAV). The input data is the music data from the AI model, and the received music data is obtained as output. Specifically, the server receives the HTTP response and saves the music data contained therein.
[0913] Step 7: Provide your music data
[0914] The server sends the received music data to the user's device. The user can download the music data and play it on their device. The received music data is the input data, and the data is provided to the user's device as the output. Specifically, the server generates an HTTP response to the user's device and attaches the music data. The user receives the notification, clicks the link to download the music data, and plays it on their music player.
[0915] In this way, the system realizes a process for easily generating and providing the music that the user desires.
[0916] (Application example 1)
[0917] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0918] Conventional music creation systems lack the functionality to easily share music created by users with other users or add it to a playlist. As a result, it is difficult for users to enjoy the music they create with other users, and the scope of use of the music created is limited. In order to solve these problems, the present invention aims to provide a system that allows users to add the music they create to a playlist and easily share it with other users.
[0919] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0920] In this invention, the server includes means for a user to input music generation parameters, means for transmitting the music generation parameters to the server, means for the server to receive and confirm the music generation parameters, means for the server to transmit the music generation parameters received by the server to the AI model, means for the AI model to generate new music based on the music generation parameters, means for the server to receive new music data and transmit it to the user, and means for the user to receive, play, and share the new music data with other users. This allows the user to add the generated music to a playlist and easily share it with other users.
[0921] A "user" is an entity that uses this system to input music creation parameters and receives, plays, and shares the created music data.
[0922] "Music generation parameters" are information input by the user to generate music based on an AI model, such as the style, tempo, and instrument composition of the music.
[0923] A "server" is a computer system that receives music generation parameters from a user, sends them to an AI model, receives the generated music data, and provides it to the user.
[0924] An "AI model" is an artificial intelligence algorithm used to generate new music based on music generation parameters, and statistically generates music based on past music data.
[0925] "Music data" refers to the data for new songs generated by the AI model, and is usually in audio file format such as MP3 or WAV.
[0926] "Sharing" refers to the process in which a user transmits and shares the music data they have created with other users via a network.
[0927] A "play list" is a list to which a user adds music data that has been generated and which is saved in a format that allows continuous playback.
[0928] A "file format" refers to the digital data format in which music data is saved, with common formats being MP3 and WAV.
[0929] This invention is a system in which a user inputs desired music generation parameters and an AI model generates new music based on those parameters. To realize this application example, the following hardware and software are used.
[0930] Hardware / Software used:
[0931] Smartphone application (Android, iOS)
[0932] Server: AWS EC2, S3
[0933] AI model: Google Cloud AI Platform, TensorFlow
[0934] Data format: JSON (parameter transmission), MP3 / WAV (music data)
[0935] The system is programmed as follows:
[0936] User Input
[0937] Users use a smartphone application to input music generation parameters, such as musical style (e.g., pop, jazz, classical), tempo (e.g., 120 BPM), and instrumentation (e.g., piano, drums, vocals). For example, a user opens the app and selects "Pop," "120 BPM," and "Guitar and Vocals."
[0938] Sending parameters
[0939] When the user presses the "Generate" button, the selected music generation parameters are sent to the server in JSON format. The server checks the received parameters and performs error checks. If there are no errors, the server proceeds to the next step.
[0940] Receiving and confirming on the server
[0941] The server receives the music generation parameters and verifies that there are no errors. Specifically, it verifies that the entered parameters are formatted correctly and that all required fields have been entered. If there are any errors, it notifies the user with an error message.
[0942] Sending requests to the AI model
[0943] The server sends a music generation request to the AI model based on the music generation parameters. This request is sent using an API endpoint on the server.
[0944] Music generation using AI models
[0945] The AI model generates new music based on a variety of past music data and according to specified music generation parameters. For example, the AI model statistically generates melodies, chord progressions, rhythm patterns, etc. based on music data from the past 50 years.
[0946] Receiving the generated music data
[0947] The server receives the music data generated by the AI model, which is typically an audio file in MP3 or WAV format.
[0948] Providing and sharing music data
[0949] The server then distributes the received music data to the user's smartphone application. The user can play the music, add it to a playlist for continuous playback, or share it with other users. For example, a user can share a song they created with a friend, who can then add it to their playlist.
[0950] An example of a prompt might be:
[0951] "Pop, 120 BPM, piano and vocals"
[0952] This system allows users to easily create and share new music without specialized knowledge, and because the AI model uses a wide range of training data, the music it generates is always fresh and diverse.
[0953] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0954] Step 1:
[0955] The user launches the smartphone application and inputs music generation parameters. These parameters include the musical style (e.g., pop, jazz, classical), tempo (e.g., 120 BPM), and instrumentation (e.g., piano, drums, vocals). When the user presses the "Generate" button, the input parameters are sent from the device to the server in JSON format. Specifically, the data obtained through the input interface is converted into a JSON object and sent as an HTTP request to the server's API endpoint.
[0956] Input: Music style, tempo, instrumentation
[0957] Output: Music generation parameters in JSON format
[0958] Step 2:
[0959] The server receives the request and checks the music generation parameters sent. The server parses the received JSON format data and checks whether all required parameters are present and whether the format is correct. If there are any errors during the error check, an error message is returned to the user.
[0960] Input: Music generation parameters in JSON format
[0961] Output: Inspection results (if correct, go to the next step; if incomplete, error message)
[0962] Step 3:
[0963] If the parameters are correct, the server sends the music generation parameters to the AI model. The server then generates a JSON object and sends a request to the AI model's API endpoint. This request includes data on the musical style, tempo, and instrumentation, instructing the AI model to generate music.
[0964] Input: Music generation parameters in validated JSON format
[0965] Output: Sending a request to the AI model
[0966] Step 4:
[0967] The AI model generates new music based on the music generation parameters it receives. Based on the input parameters, the AI model generates melodies, chord progressions, and rhythmic patterns from the music data it has learned. The AI model uses statistical methods to combine multiple data points to generate music data.
[0968] Input: Music generation parameters
[0969] Output: Generated music data
[0970] Step 5:
[0971] The server receives the music data generated by the AI model. The generated music data is usually an audio file in MP3 or WAV format. The server temporarily stores the received audio file and prepares it for transmission to the user.
[0972] Input: Generated music data (MP3 / WAV format)
[0973] Output: Audio file on the server
[0974] Step 6:
[0975] The server sends the generated music data to the user's smartphone application. The server then sends an audio file to the user's device as an HTTP response. The user receives this file on their device and can play the music on the application.
[0976] Input: Audio file on the server
[0977] Output: Audio file downloaded to the user's device
[0978] Step 7:
[0979] Users can not only play the generated music data, but also add it to a playlist or share it with other users. Specifically, users can add songs to a playlist using the application's playlist management function and send links or files of the audio data to other users using the sharing function.
[0980] Input: Received audio file
[0981] Output: Add to playlist, share with others
[0982] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0983] The present invention is a system in which an AI model generates new music by combining a user's desired music generation parameters with an emotion engine that recognizes the user's emotions. To implement this system, follow the steps below.
[0984] overview
[0985] The process begins when a user uses a device to input music generation parameters, and the emotion engine recognizes the user's emotions. The server receives this information and sends a request to the AI model to generate music. The AI model generates a new song based on the music data it has learned in advance, and the server receives the generated music data. Finally, the server sends the generated music data to the user's device, and the user plays the song.
[0986] Program processing
[0987] 1. User Input
[0988] The user opens the music generation application on their device and inputs the desired musical style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals).The emotion engine then analyzes the user's facial expressions and tone of voice to recognize their emotions.
[0989] 2. Sending parameters and emotion data
[0990] When the user presses the "Generate" button, the music generation parameters and the emotional data recognized by the emotion engine are sent from the device to the server. These data are generally sent in JSON format.
[0991] 3. Receiving and confirming on the server
[0992] The server checks the received music generation parameters and emotion data. It checks whether there are any errors in the data, and if there are any errors, it generates an error message and returns it to the user. If there are no errors, it proceeds to the next step.
[0993] 4. Generate a request to the AI model
[0994] The server prepares a music generation request to the AI model based on the music generation parameters and emotion data. The request includes information on musical style, tempo, instrumentation, and adjustment information based on the user's emotion.
[0995] 5. Sending a song creation request
[0996] The server sends the prepared request to the AI model's API endpoint (e.g., / generate_music) as an HTTP POST request.
[0997] 6. Music generation using AI models
[0998] Based on the request received, the AI model statistically generates song patterns, melody lines, chord progressions, and rhythm sections that match the specified style, tempo, and instrument composition from pre-trained song data. It also takes into account the user's emotional data to reflect emotional characteristics in the song.
[0999] 7. Receiving the generated music data
[1000] The server receives the generated music data (MIDI, MP3, or WAV format) from the AI model.
[1001] 8. Preparing the music data
[1002] The server prepares the received music data to provide it to the user, by generating a URL for the music data and notifying the user.
[1003] 9. Sending music data
[1004] The server returns the URL of the generated music data to the user's device, allowing the user to download the music data.
[1005] 10. User Playback
[1006] The user clicks the download link on their device to download the generated music data, and can then play and enjoy the music on their device's music player.
[1007] Specific examples
[1008] 1. The user inputs the style, tempo, and instrumentation, and the emotion engine recognizes the emotion.
[1009] Example: A user inputs "Pop", "120 BPM", "Guitar and Vocals" into the device, and the emotion engine recognizes the user's emotion of "Joy".
[1010] 2. Send parameters and emotion data to the server
[1011] When the device presses the "Generate" button, the parameters and emotion data are sent to the server in JSON format.
[1012] 3. After the server checks the data, it sends a request to the AI model.
[1013] The server checks the received parameters and emotion data, then sends a request to the AI model.
[1014] 4. AI model generates music based on data
[1015] The AI model generates new pop songs based on data from past Billboard Top 100 songs. Specifically, it generates guitar riffs and vocal melodies that match the rhythm of 120 BPM, creating an upbeat melody line that reflects the emotion of "joy."
[1016] 5. The server receives the generated data and provides it to the user.
[1017] The server receives the music data generated by the AI model and provides it to the user, who then downloads the music to their device and plays it.
[1018] This system allows users to easily create new music without specialized knowledge and enjoy emotionally appropriate musical experiences. Furthermore, because the AI model uses diverse training data, the music generated is fresh and diverse.
[1019] The processing flow will be explained below.
[1020] Step 1: The user opens the music generation application on the device and activates the music generation parameters and emotion engine.
[1021] Specific operation: The user inputs the music style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals). The emotion engine then analyzes the user's facial expressions and tone of voice via the user's camera and microphone to recognize their emotions.
[1022] Step 2: The emotion engine recognizes the user's emotion and generates emotion data.
[1023] Specific operation: The emotion engine generates emotion data such as "joy," "sadness," and "anger" based on the analysis of the user's facial expressions and voice.
[1024] Step 3: The user presses the "Generate" button and sends the music generation parameters and emotion data from the device to the server.
[1025] Specific operation: When the user clicks the "Generate" button, the device sends the music generation parameters and emotion data in JSON format to the server as an HTTP POST request.
[1026] Step 4: The server receives and checks the music generation parameters and emotion data.
[1027] Specific operation: The server parses the JSON data of the HTTP POST request received and checks whether the music generation parameters and emotion data are in the correct format. If there are any errors, it generates an error message and returns it to the user.
[1028] Step 5: The server generates a music generation request to the AI model.
[1029] How it works: If the parameters and emotion data are complete, the server prepares a request to send to the AI model, including information on the music style, tempo, and instrumentation, as well as adjustments based on the user's emotion.
[1030] Step 6: The server sends a music generation request to the AI model.
[1031] Specific operation: The server prepares the request and sends it as an HTTP POST request to the AI model's API endpoint (e.g., / generate_music).
[1032] Step 7: The AI model generates a song based on the music generation parameters and emotional data.
[1033] Specific operation: Based on the request received, the AI model statistically generates song patterns, melody lines, chord progressions, and rhythm sections that match the specified style, tempo, and instrument composition from pre-trained song data. It also takes emotional data into account to reflect emotional characteristics in the song.
[1034] Step 8: The music data generated by the AI model is sent to the server.
[1035] Specific operation: The music data (MIDI, MP3, or WAV format) generated by the AI model is returned to the server as an HTTP response.
[1036] Step 9: The server receives the generated music data and prepares to provide it to the user.
[1037] Specific operation: The server temporarily stores the music data received from the AI model and prepares it by generating a URL for the data to be provided to the user.
[1038] Step 10: The server sends the music data to the user's terminal.
[1039] Specific operation: The server returns the URL of the generated music data to the user's device, allowing the user to download the music data.
[1040] Step 11: The user receives and plays the music data generated on the terminal.
[1041] Specific operation: The user clicks the download link on their device to download the generated music data, and can then play and enjoy the music on their device's music player.
[1042] Through the above processing steps, the system can generate and provide new music based on the music generation parameters and emotion data specified by the user.
[1043] Example 2
[1044] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1045] Conventional music generation systems generate music simply by inputting the user's desired musical style, tempo, and instrumentation, but do not generate music based on the user's emotions. As a result, they are unable to provide a more personalized musical experience that reflects the user's emotions, resulting in low user satisfaction. In addition, the downloading and playback of generated music is complicated, which does not improve the user experience.
[1046] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for recognizing the user's emotion, a means for receiving and confirming music generation parameters and emotion data, and a means for transmitting the music generation parameters and emotion data to the AI model. This makes it possible to generate new music in accordance with the user's emotion. In addition, the generated music data can be easily received and played by the user.
[1047] "Music generation parameters" refers to specific information required for generating music, such as the style, tempo, and instrument composition of the music desired by the user.
[1048] An "emotion engine" refers to software or hardware that analyzes a user's facial expressions, tone of voice, gestures, etc. to recognize the user's current emotions.
[1049] "Server" refers to a central processing system on a network that receives and verifies data sent by users, sends requests to other processing devices (e.g., AI models), receives the results, and returns them to users.
[1050] An "AI model" refers to an algorithm that uses statistical and machine learning techniques to generate new music based on pre-trained data.
[1051] "JSON format" is a data exchange format that is in text format and has a structure that is easy for humans and machines to read.
[1052] An "HTTP POST request" refers to one of the standard request methods of the HTTP protocol used by a client to send data to a server.
[1053] "Music Data" refers to the specific digital format (e.g., MIDI, MP3, WAV) of the generated music composition.
[1054] "URL" refers to an address used to specify a resource on the Internet.
[1055] "Music player" means a software or hardware device for playing digital music files.
[1056] This invention is a system in which an AI model generates new music by inputting desired music generation parameters and combining them with an emotion engine that recognizes the user's emotions. To implement this system, the following devices and technologies are used:
[1057] 1. User Input
[1058] The user uses a device running a music generation application. The device is equipped with an input device (keyboard, touchscreen, etc.) through which the user inputs the desired musical style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals). The device also has an emotion engine built in, which captures the user's facial expressions with a camera and records their voice with a microphone to recognize the user's emotions.
[1059] 2. Sending parameters and emotion data
[1060] Music generation parameters and emotional data are transmitted from the device to the server, typically encoded in JSON format and encrypted for security.
[1061] 3. Receiving and confirming on the server
[1062] The server receives the data sent from the terminal and checks its integrity and content. If there are no errors in the data, it proceeds to the next step. If there are errors, it returns an error message to the terminal.
[1063] 4. Generate a request to the AI model
[1064] Based on the received music generation parameters and emotional data, the server creates a music generation request to the AI model, which includes the specified music style, tempo, instrumentation, and adjustment information based on the user's emotions.
[1065] 5. Sending a song creation request
[1066] The server sends a music generation request in the form of an HTTP POST request to the AI model's API endpoint, which is located on a computer network.
[1067] 6. Music generation using AI models
[1068] Based on the request received from the server, the AI model generates a new song from a pre-trained music dataset (e.g., past Billboard Top 100 songs). Specifically, the AI model generates musical patterns, melody lines, and chord progressions that match the specified style, tempo, and instrumentation, and also generates a song that reflects the user's emotional data.
[1069] 7. Receiving the generated music data
[1070] The server receives the music data (e.g., MIDI, MP3, WAV format) generated by the AI model.
[1071] 8. Preparing the music data
[1072] The server prepares the received music data for provision to the user, specifically by saving the music data and generating a URL that allows access to the data.
[1073] 9. Sending music data
[1074] The server transmits the URL of the music data to the user's terminal, allowing the user to download the music data.
[1075] 10. User Playback
[1076] The user clicks on the provided URL on their device to download the generated music data, after which they can play and enjoy the music using their device's music player.
[1077] Specific examples
[1078] 1. The user inputs the style, tempo, and instrumentation, and the emotion engine recognizes the emotion.
[1079] Example: A user inputs "Pop", "120 BPM", "Guitar and Vocals" into the device, and the emotion engine recognizes the user's emotion of "Joy".
[1080] 2. Send parameters and emotion data to the server
[1081] When the user presses the "Generate" button, the music generation parameters and emotional data are sent to the server in JSON format.
[1082] 3. After the server checks the data, it sends a request to the AI model.
[1083] The server checks the received parameters and emotion data, then sends a request to the AI model.
[1084] 4. AI model generates music based on data
[1085] The AI model generates new pop songs based on data from past Billboard Top 100 songs. Specifically, it generates guitar riffs and vocal melodies that match the rhythm of 120 BPM, creating an upbeat melody line that reflects the emotion of "joy."
[1086] 5. The server receives the generated data and provides it to the user.
[1087] The server receives the music data generated by the AI model and provides it to the user, who can then download the music to their device and play it to enjoy a satisfying music experience.
[1088] Example prompt: Generate a new song based on the following data: "Pop", "120 BPM", "Guitar and Vocals", and the emotion "Joy".
[1089] This system allows users to easily create new music without specialized knowledge and enjoy personalized musical experiences based on their emotions. In addition, because the AI model uses diverse training data, the music generated is fresh and diverse.
[1090] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1091] Step 1:
[1092] User Input
[1093] The user opens the music generation application on their device. Using an input device (keyboard, touchscreen, etc.), they input the desired music style (e.g., pop), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals). The device's built-in emotion engine also captures the user's facial expressions with a camera and records their voice with a microphone to recognize their emotions. Upon input, the music generation application formats the input data and converts it into JSON format. For the specific input data for this session, the user provides "pop," "120 BPM," "guitar and vocals," and emotional data for "joy" via facial expression and voice.
[1094] Step 2:
[1095] Sending parameters and emotion data
[1096] When the user presses the "Generate" button in the device application, the device sends these music generation parameters and emotional data to the server. The data is sent in JSON format and encrypted using IPv6. The device sends the data using an HTTP POST request, and the server receives the request. The input is the music generation parameters and emotional data encrypted in JSON format. The output is the data that has safely reached the server.
[1097] Step 3:
[1098] Receiving and confirming on the server
[1099] The server receives the music generation parameters and emotion data sent from the device. The received data is parsed in JSON format, and the server checks the data's integrity and content. Specifically, it checks whether all required fields (musical style, tempo, instrumentation, emotion data) are included and whether there are any invalid values. If there are any errors, the server generates an error message and returns it to the device. The input is a JSON object of the parsed music generation parameters and emotion data, and the output is either the confirmed data or an error message.
[1100] Step 4:
[1101] Generate requests to the AI model
[1102] The server creates a music generation request to the AI model based on the received music generation parameters and emotional data. The request includes the specified music style (pop), tempo (120 BPM), instrumentation (guitar and vocals), and tuning information to reflect the emotion of "joy." The generated request is a JSON-formatted string, which is prepared to be sent to the specified API endpoint. The input is the verified music generation parameters and emotional data, and the output is the generation request data for the AI model.
[1103] Step 5:
[1104] Sending a music creation request
[1105] The server sends a music generation request in the form of an HTTP POST request to the AI model's API endpoint (e.g., / generate_music). The server sends this request to the specified endpoint, and the AI model receives the request. The input is the generation request data for the AI model, and the output is the status that the AI model successfully received the request.
[1106] Step 6:
[1107] Music generation using AI models
[1108] Based on requests received from the server, the AI model generates new songs from a pre-trained music dataset (e.g., Billboard Top 100 songs). The AI model generates musical patterns, melody lines, and chord progressions that match the specified style, tempo, and instrumentation, and also generates songs that reflect the emotion of "joy." This process uses deep learning techniques and statistical methods. The input is the song generation request data for the AI model, and the output is the generated song data (e.g., MP3 format).
[1109] Step 7:
[1110] Receiving the generated music data
[1111] The server receives the music data (e.g., MP3 format) generated by the AI model. The server temporarily stores the generated music data and prepares it to send to the user. The input is the music data sent from the AI model, and the output is the stored music data.
[1112] Step 8:
[1113] Preparing music data
[1114] The server prepares to provide the received music data to the user. Specifically, it stores the music data in appropriate storage and generates a URL for accessing the data. It also prepares to notify the generated URL to the user. The input is the stored music data, and the output is the URL provided to the user.
[1115] Step 9:
[1116] Sending music data
[1117] The server returns the generated URL to the user's device, allowing the user to download the music data. The input is the URL provided to the user, and the output is a download link that the user can access.
[1118] Step 10:
[1119] User playback of music
[1120] The user clicks on the provided URL on their device to download the generated music data. After the download is complete, the user can play and enjoy the music using their device's music player. The input is the music data downloaded from a specific URL, and the output is the music played by the user.
[1121] (Application example 2)
[1122] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1123] Conventional music generation systems have been able to generate music based on music generation parameters input by the user, but have not been able to generate music that reflects the user's emotions. This has made it difficult for users to generate and enjoy music that matches specific emotions in real time. The present invention aims to improve the user experience by integrating and utilizing the user's emotional data to enable music generation that reflects emotions.
[1124] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving and checking music generation parameters, means for sending a request to the AI model based on the music generation parameters and the user's emotional data, and means for providing the user with music data generated by the AI model. This allows the user to generate and enjoy new music in real time based on their emotions.
[1125] "User" refers to a person who uses the music generation system.
[1126] "Music generation parameters" refers to information such as the musical style, tempo, and instrument composition input by the user.
[1127] "Server" refers to the central control system responsible for receiving music generation parameters and emotional data and sending them to the AI model.
[1128] An "AI model" refers to artificial intelligence that statistically generates music based on pre-trained music data.
[1129] "Emotion data" refers to emotional information recognized by the emotion engine from the user's facial expressions, tone of voice, etc.
[1130] "Music data" refers to the music data files generated by the AI model.
[1131] "Download link" refers to a URL provided to enable a user to obtain the generated music data via the Internet.
[1132] This invention is a system that uses an AI model to generate new music based on music generation parameters and emotional data provided by the user, and provides the music to the user. This system consists of a user device such as a smartphone or smart glasses, a server, and an AI model.
[1133] First, the user launches the music generation application on their device and inputs the desired music style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals).The emotion engine then recognizes the user's facial expressions and tone of voice in real time to obtain emotion data.
[1134] The server receives and checks the music generation parameters and emotion data sent from the user's device. It then generates a request to send the received data to the AI model. The request includes information on the music style, tempo, and instrumentation, as well as adjustment information based on the user's emotion. The server then sends this request to the AI model's API endpoint.
[1135] The AI model statistically generates song patterns, melody lines, chord progressions, and rhythm sections that match the specified style, tempo, and instrument composition based on pre-trained music data. It also takes into account the user's emotional data to reflect emotional characteristics in the song. The song data generated by the AI model is sent back to the server.
[1136] The server receives the generated music data and prepares to provide it to the user. Specifically, it generates a URL for the music data and notifies the user's device. The user can download the music data via the URL and play it on their device.
[1137] For example, if a user inputs "pop," "120 BPM," "guitar and vocals" into their device and the emotion engine recognizes the emotion of "joy," the server receives this and sends a request to the AI model. Based on this, the AI model generates a guitar riff and vocal melody that matches the 120 BPM rhythm, creating a bright melody line that reflects the emotion of "joy." The generated music data is then sent back to the server and provided to the user.
[1138] Example prompt sentence:
[1139] Style: Pop
[1140] Tempo: 120 BPM
[1141] Instrumentation: Guitar and vocals
[1142] Emotion: Joy
[1143] In this way, users can easily enjoy music that matches their mood in real time.
[1144] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1145] Step 1:
[1146] The user launches a music generation application on the device and inputs the desired music style, tempo, and instrumentation. The emotion engine recognizes the user's facial expressions and vocal tone in real time to obtain emotion data. For example, if music generation parameters such as "pop" as the music style, "120 BPM" as the tempo, and "guitar and vocals" as the instrumentation are input, the emotion engine recognizes the emotion of "joy." Based on this input, the device generates music generation parameters and emotion data.
[1147] Step 2:
[1148] The device sends the music generation parameters and emotional data entered by the user to the server. These data are packed in JSON format and sent to the server as an HTTP request. The input is the music generation parameters and emotional data, and the output is the data received on the server side.
[1149] Step 3:
[1150] The server checks the received music generation parameters and emotion data to see if there are any errors. If there are any errors in the data, it generates an error message and returns it to the user's terminal. If there are no errors, it proceeds to the next step. The input for this step is the music generation parameters and emotion data, and the output is an error message or an instruction to proceed to the next processing step.
[1151] Step 4:
[1152] The server generates a request to send to the AI model based on the music generation parameters and emotional data. This request includes tuning information based on the music style, tempo, instrumentation, and emotion. The inputs are the music generation parameters and emotional data, and the output is the request data sent to the AI model.
[1153] Step 5:
[1154] The server sends the prepared request to the AI model's API endpoint as an HTTP POST request. The input is the request data, and the output is the data received by the AI model. Specifically, the server sends a request to the AI model's endpoint URL.
[1155] Step 6:
[1156] Based on the request received, the AI model generates a music pattern that matches the specified style, tempo, and instrument composition from pre-trained music data. It also incorporates the user's emotional data to reflect emotional characteristics in the music. The input is music generation parameters and emotional data, and the output is the generated music data.
[1157] Step 7:
[1158] The server receives the generated music data from the AI model. The input is the music data from the AI model, and the output is the music data stored on the server. Specifically, the server receives the data sent from the AI model and stores it in a database.
[1159] Step 8:
[1160] To provide the generated music data to the user, the server generates a URL for the music data and notifies the user's device. The input is the generated music data, and the output is a download link sent to the user's device. Specifically, the server generates a URL indicating the location where the music data is saved and sends it to the user via email or in-app notification.
[1161] Step 9:
[1162] The user accesses the notified URL, downloads the music data, and plays it on the device's music player. The input is the download link for the music data, and the output is the music data stored on the device and its playback. Specifically, the user clicks the specified link, downloads the music, and then plays it.
[1163] This allows users to easily create and enjoy music that matches their emotions in real time.
[1164] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1165] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1166] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1167] [Fourth embodiment]
[1168] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1169] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1170] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1171] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1172] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1173] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1174] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1175] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1176] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1177] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1178] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1179] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1180] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1181] The present invention is a system in which a user inputs desired music generation parameters and an AI model generates new music based on those parameters. To implement this system, the following steps are followed:
[1182] overview
[1183] The process begins when a user uses a device to input music generation parameters and send them to the server. The server checks the input parameters and sends a request to the AI model to generate music. The AI model generates a new song based on the music data it has learned in advance, and the server receives the generated song data. Finally, the server sends the generated song data to the user's device, and the user plays the song.
[1184] Program processing
[1185] 1. User Input
[1186] A user opens a music generation application on their device and inputs the desired musical style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals).
[1187] 2. Sending parameters
[1188] When the user presses the "Generate" button, music generation parameters are sent from the device to the server. The parameters are generally sent in JSON format.
[1189] 3. Receiving and confirming on the server
[1190] The server checks the received music generation parameters. It checks whether the parameters are correct, and if there are any errors, it returns an error message to the user. If there are no errors, it proceeds to the next step.
[1191] 4. Sending a request to the AI model
[1192] The server generates a music generation request to the AI model based on the music generation parameters, and the request is sent to the AI model using an API endpoint on the server.
[1193] 5. Music generation using AI models
[1194] The AI model generates new music according to the specified style, tempo, and instrumentation based on learned music data (e.g., music rankings from the past 50 years). The AI model uses statistical methods to generate melody lines, chord progressions, and rhythmic patterns, which are then output as the final music data.
[1195] 6. Receiving the generated music data
[1196] The server receives the music data generated by the AI model, typically in MIDI or audio file format (e.g., MP3, WAV).
[1197] 7. Provision of music data
[1198] The server then sends the received music data to the user's device, where the user can download the music data and play it on their device.
[1199] Specific examples
[1200] 1. User inputs style, tempo, and instrumentation
[1201] Example: User types "Pop", "120 BPM", "Guitar and Vocals" into terminal.
[1202] 2. Send parameters to the server
[1203] When the terminal presses the "Generate" button, the parameters are sent to the server in JSON format.
[1204] 3. The server checks the parameters
[1205] The server performs error checks based on the received parameters and, if there are no problems, sends the request to the AI model.
[1206] 4. The AI model generates new music
[1207] The AI model generates new pop songs based on data from past Billboard Top 100 songs, generating guitar riffs and vocal melodies that match the rhythm of 120 BPM.
[1208] 5. Receive the generated data and provide it to the user
[1209] The server receives the music data from the AI model and provides it to the user, who then plays the generated music on their device.
[1210] This system allows users to easily create and enjoy new music without any specialized knowledge, and because the AI model uses a wide range of training data, the music it generates is fresh and diverse.
[1211] The processing flow will be explained below.
[1212] Step 1: A user opens a music generation application on a terminal and inputs music generation parameters.
[1213] What happens: The user enters the music style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals) into an input form.
[1214] Step 2: The user presses the "Generate" button, and the music generation parameters are sent from the device to the server.
[1215] Specific operation: When the user clicks the "Generate" button, the terminal sends the entered parameters in JSON format to the server as an HTTP POST request.
[1216] Step 3: The server receives and verifies the music generation parameters.
[1217] Specific operation: The server parses the JSON data of the HTTP POST request received and checks whether the parameters are in the correct format. If there are any errors, it generates an error message and returns it to the user.
[1218] Step 4: The server generates a music generation request to the AI model.
[1219] What it does: If the parameters are correct, the server prepares a request to send to the AI model based on the received music generation parameters, including information on the musical style, tempo, and instrumentation.
[1220] Step 5: The server sends a music generation request to the AI model.
[1221] What happens: The server sends the prepared request to the AI model's API endpoint (e.g., / generate_music) as an HTTP POST request.
[1222] Step 6: The AI model generates a song based on the music generation parameters.
[1223] Specific operation: Based on the request received, the AI model statistically generates song patterns, melody lines, chord progressions, and rhythm sections that match the specified style, tempo, and instrument composition from pre-trained song data.
[1224] Step 7: The music data generated by the AI model is sent to the server.
[1225] Specific operation: The AI model returns the newly generated music data (MIDI, MP3, or WAV format) to the server as an HTTP response.
[1226] Step 8: The server receives the generated music data and prepares to provide it to the user.
[1227] Specific operation: The server temporarily stores the music data received from the AI model and prepares it by generating a URL for the data to be provided to the user.
[1228] Step 9: The server sends the music data to the user's device.
[1229] Specific operation: The server returns the URL of the generated music data to the user's device, allowing the user to download the music data.
[1230] Step 10: The user receives and plays the music data generated on the terminal.
[1231] Specific operation: The user clicks the download link on their device to download the generated music data, and can then play and enjoy the music on their device's music player.
[1232] Through the above processing steps, the system can generate and provide new music based on music generation parameters specified by the user.
[1233] Example 1
[1234] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1235] Conventional music generation systems have made it difficult for users without specialized knowledge and skills to generate music in the desired style, tempo, and instrumentation. Furthermore, they require complex operations and numerous steps, resulting in low usability. Furthermore, there are limitations to the quality and variety of the music generated, creating a need for a method to easily generate fresh, diverse music.
[1236] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1237] In this invention, the server includes: means for a user to input music generation parameters; means for specifying a desired musical style, tempo, and instrument composition on a terminal using a music generation application; means for transmitting the music generation parameters to the server; means for the music generation parameters to be transmitted in JSON format when the user presses a "Generate" button; means for the server to receive and check the music generation parameters; means for performing error checking based on the music generation parameters received by the server; means for the server to transmit the music generation parameters received by the server to the AI model; means for the server to generate and transmit a music generation request to the AI model based on the music generation parameters; means for the AI model to generate a new piece of music based on the music generation parameters; means for the AI model to generate a piece of music based on learned music data using statistical techniques; means for the server to receive the new music data and transmit it to the user; means for the server to receive the music data generated from the AI model and save it in MIDI or audio file format; means for the user to receive and play the new music data; and means for the server to provide the music data to the user's terminal and for the user to download and play the music data.
[1238] This allows users to easily create and enjoy new music without specialized knowledge. In addition, because the AI model uses a wide range of training data, the music it generates is fresh and diverse.
[1239] "Music generation parameters" are data that include specifications such as the style, tempo, and instrument composition of the music piece that the user wants to generate.
[1240] A "terminal" is an electronic device operated by a user, such as a computer, smartphone, or tablet.
[1241] The "server" is a computer system that receives and verifies music generation parameters and sends requests to the AI model.
[1242] An "AI model" is an artificial intelligence model that generates new music based on learned music data.
[1243] A "music generation request" is a request based on music generation parameters that the server sends to the AI model.
[1244] A "MIDI file" is a file format that digitally represents musical instrument performance information.
[1245] An "audio file format" is a file format for digitally storing audio data, examples of which include MP3 and WAV.
[1246] "Error check" is a process in which the server checks whether there are any errors in the content of the music generation parameters received.
[1247] "Downloading" is the process by which a user saves music data from a server to their own device.
[1248] "Playback" refers to the act of a user listening to music data generated on a terminal.
[1249] This invention is a system in which a user inputs desired music generation parameters and an AI model generates new music based on those parameters. To implement this system, the following specific configuration and procedures are followed.
[1250] System Overview
[1251] The user inputs music generation parameters using a device. These parameters are then sent to the server, which performs an error check. If there are no problems with the parameters, the server sends a music generation request to the AI model. The AI model generates a new song based on the music data it has learned in advance, and the server receives the song data. Finally, the server sends the generated song data to the user's device, and the user plays the song.
[1252] Hardware and software used
[1253] 1. Device: The electronic device used by the user, such as a computer, smartphone, or tablet.
[1254] 2. Server: A computer system that receives and verifies music generation parameters and sends requests to the AI model.
[1255] 3. AI model: An artificial intelligence model that generates new songs based on learned music data.
[1256] Data Processing and Data Arithmetic
[1257] User Input
[1258] A user opens a music generation application on their device and inputs the desired musical style, tempo, and instrumentation. For example, a user might input "Pop," "120 BPM," and "Guitar and Vocals."
[1259] Sending parameters
[1260] When the user presses the "Generate" button, the music generation parameters are sent from the device to the server in JSON format.
[1261] Receiving and confirming on the server
[1262] The server performs an error check on the received parameters, and if there are no problems with the parameters, it proceeds to the next step.
[1263] Sending requests to the AI model
[1264] The server sends requests based on music generation parameters to the AI model, which are sent through an API endpoint.
[1265] Music generation using AI models
[1266] The AI model generates new music based on pre-trained music data (e.g., music ranking data from the past 50 years) according to the specified style, tempo, and instrumentation. Specifically, it uses statistical methods to generate melody lines, chord progressions, and rhythmic patterns, and outputs them as the final music data.
[1267] Receiving the generated music data
[1268] The server receives the music data generated by the AI model and stores it, typically in a MIDI or audio file format (e.g., MP3, WAV).
[1269] Providing music data
[1270] The server then sends the received music data to the user's device, where the user can download the generated music data and play it on their device.
[1271] Specific examples
[1272] 1. Example of user input
[1273] Music Style: Pop
[1274] Tempo: 120 BPM
[1275] Instrumentation: Guitar and vocals
[1276] 2. Examples of prompts
[1277] Style: Pop
[1278] Tempo: 120
[1279] Instrumentation: Guitar and vocals
[1280] This system allows users to easily create and enjoy new music without any specialized knowledge. Furthermore, because the AI model uses a wide range of training data, the music it generates is fresh and diverse.
[1281] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1282] Step 1: User Input
[1283] The user opens a music generation application on their device and inputs the desired musical style (e.g., pop), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, and vocals). This data is entered into form fields within the application. The input data includes musical style, tempo, and instrumentation.
[1284] Step 2: Sending parameters
[1285] When the user presses the "Generate" button, music generation parameters (musical style, tempo, instrumentation) are sent from the device to the server in JSON format. The input data are the music generation parameters specified by the user, and the output data is sent to the server.
[1286] Step 3: Receiving and verifying on the server
[1287] The server receives the music generation parameters sent from the device. The server checks the format and content of the received data and performs error checking. The input data are the received music generation parameters, and the validated parameters are obtained as output. Specifically, the server validates the data based on the JSON schema, and if there are any errors, it generates an error message and returns it to the user.
[1288] Step 4: Sending a request to the AI model
[1289] The server generates a music generation request to the AI model based on the verified music generation parameters and sends it through an API endpoint. The input data are the verified music generation parameters, and the output is a generation request to the AI model. Specifically, the server sends an HTTP POST request to the API endpoint and includes the music generation parameters in JSON format in the request body.
[1290] Step 5: Music generation using AI models
[1291] Based on a song generation request received from the server, the AI model generates a new song using pre-trained music data (e.g., music ranking data from the past 50 years). The AI model uses statistical methods to generate melody lines, chord progressions, and rhythm patterns, which are then output as the final song data. The input data is the song generation request, and the output is new song data.
[1292] Step 6: Receive the generated music data
[1293] The server receives the music data generated by the AI model. The music data is usually sent to the server in MIDI or audio file format (e.g., MP3, WAV). The input data is the music data from the AI model, and the received music data is obtained as output. Specifically, the server receives the HTTP response and saves the music data contained therein.
[1294] Step 7: Provide your music data
[1295] The server sends the received music data to the user's device. The user can download the music data and play it on their device. The received music data is the input data, and the data is provided to the user's device as the output. Specifically, the server generates an HTTP response to the user's device and attaches the music data. The user receives the notification, clicks the link to download the music data, and plays it on their music player.
[1296] In this way, the system realizes a process for easily generating and providing the music that the user desires.
[1297] (Application example 1)
[1298] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1299] Conventional music creation systems lack the functionality to easily share music created by users with other users or add it to a playlist. As a result, it is difficult for users to enjoy the music they create with other users, and the scope of use of the music created is limited. In order to solve these problems, the present invention aims to provide a system that allows users to add the music they create to a playlist and easily share it with other users.
[1300] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1301] In this invention, the server includes means for a user to input music generation parameters, means for transmitting the music generation parameters to the server, means for the server to receive and confirm the music generation parameters, means for the server to transmit the music generation parameters received by the server to the AI model, means for the AI model to generate new music based on the music generation parameters, means for the server to receive new music data and transmit it to the user, and means for the user to receive, play, and share the new music data with other users. This allows the user to add the generated music to a playlist and easily share it with other users.
[1302] A "user" is an entity that uses this system to input music creation parameters and receives, plays, and shares the created music data.
[1303] "Music generation parameters" are information input by the user to generate music based on an AI model, such as the style, tempo, and instrument composition of the music.
[1304] A "server" is a computer system that receives music generation parameters from a user, sends them to an AI model, receives the generated music data, and provides it to the user.
[1305] An "AI model" is an artificial intelligence algorithm used to generate new music based on music generation parameters, and statistically generates music based on past music data.
[1306] "Music data" refers to the data for new songs generated by the AI model, and is usually in audio file format such as MP3 or WAV.
[1307] "Sharing" refers to the process in which a user transmits and shares the music data they have created with other users via a network.
[1308] A "play list" is a list to which a user adds music data that has been generated and which is saved in a format that allows continuous playback.
[1309] A "file format" refers to the digital data format in which music data is saved, with common formats being MP3 and WAV.
[1310] This invention is a system in which a user inputs desired music generation parameters and an AI model generates new music based on those parameters. To realize this application example, the following hardware and software are used.
[1311] Hardware / Software used:
[1312] Smartphone application (Android, iOS)
[1313] Server: AWS EC2, S3
[1314] AI model: Google Cloud AI Platform, TensorFlow
[1315] Data format: JSON (parameter transmission), MP3 / WAV (music data)
[1316] The system is programmed as follows:
[1317] User Input
[1318] Users use a smartphone application to input music generation parameters, such as musical style (e.g., pop, jazz, classical), tempo (e.g., 120 BPM), and instrumentation (e.g., piano, drums, vocals). For example, a user opens the app and selects "Pop," "120 BPM," and "Guitar and Vocals."
[1319] Sending parameters
[1320] When the user presses the "Generate" button, the selected music generation parameters are sent to the server in JSON format. The server checks the received parameters and performs error checks. If there are no errors, the server proceeds to the next step.
[1321] Receiving and confirming on the server
[1322] The server receives the music generation parameters and verifies that there are no errors. Specifically, it verifies that the entered parameters are formatted correctly and that all required fields have been entered. If there are any errors, it notifies the user with an error message.
[1323] Sending requests to the AI model
[1324] The server sends a music generation request to the AI model based on the music generation parameters. This request is sent using an API endpoint on the server.
[1325] Music generation using AI models
[1326] The AI model generates new music based on a variety of past music data and according to specified music generation parameters. For example, the AI model statistically generates melodies, chord progressions, rhythm patterns, etc. based on music data from the past 50 years.
[1327] Receiving the generated music data
[1328] The server receives the music data generated by the AI model, which is typically an audio file in MP3 or WAV format.
[1329] Providing and sharing music data
[1330] The server then distributes the received music data to the user's smartphone application. The user can play the music, add it to a playlist for continuous playback, or share it with other users. For example, a user can share a song they created with a friend, who can then add it to their playlist.
[1331] An example of a prompt might be:
[1332] "Pop, 120 BPM, piano and vocals"
[1333] This system allows users to easily create and share new music without specialized knowledge, and because the AI model uses a wide range of training data, the music it generates is always fresh and diverse.
[1334] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1335] Step 1:
[1336] The user launches the smartphone application and inputs music generation parameters. These parameters include the musical style (e.g., pop, jazz, classical), tempo (e.g., 120 BPM), and instrumentation (e.g., piano, drums, vocals). When the user presses the "Generate" button, the input parameters are sent from the device to the server in JSON format. Specifically, the data obtained through the input interface is converted into a JSON object and sent as an HTTP request to the server's API endpoint.
[1337] Input: Music style, tempo, instrumentation
[1338] Output: Music generation parameters in JSON format
[1339] Step 2:
[1340] The server receives the request and checks the music generation parameters sent. The server parses the received JSON format data and checks whether all required parameters are present and whether the format is correct. If there are any errors during the error check, an error message is returned to the user.
[1341] Input: Music generation parameters in JSON format
[1342] Output: Inspection results (if correct, go to the next step; if incomplete, error message)
[1343] Step 3:
[1344] If the parameters are correct, the server sends the music generation parameters to the AI model. The server then generates a JSON object and sends a request to the AI model's API endpoint. This request includes data on the musical style, tempo, and instrumentation, instructing the AI model to generate music.
[1345] Input: Music generation parameters in validated JSON format
[1346] Output: Sending a request to the AI model
[1347] Step 4:
[1348] The AI model generates new music based on the music generation parameters it receives. Based on the input parameters, the AI model generates melodies, chord progressions, and rhythmic patterns from the music data it has learned. The AI model uses statistical methods to combine multiple data points to generate music data.
[1349] Input: Music generation parameters
[1350] Output: Generated music data
[1351] Step 5:
[1352] The server receives the music data generated by the AI model. The generated music data is usually an audio file in MP3 or WAV format. The server temporarily stores the received audio file and prepares it for transmission to the user.
[1353] Input: Generated music data (MP3 / WAV format)
[1354] Output: Audio file on the server
[1355] Step 6:
[1356] The server sends the generated music data to the user's smartphone application. The server then sends an audio file to the user's device as an HTTP response. The user receives this file on their device and can play the music on the application.
[1357] Input: Audio file on the server
[1358] Output: Audio file downloaded to the user's device
[1359] Step 7:
[1360] Users can not only play the generated music data, but also add it to a playlist or share it with other users. Specifically, users can add songs to a playlist using the application's playlist management function and send links or files of the audio data to other users using the sharing function.
[1361] Input: Received audio file
[1362] Output: Add to playlist, share with others
[1363] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1364] The present invention is a system in which an AI model generates new music by combining a user's desired music generation parameters with an emotion engine that recognizes the user's emotions. To implement this system, follow the steps below.
[1365] overview
[1366] The process begins when a user uses a device to input music generation parameters, and the emotion engine recognizes the user's emotions. The server receives this information and sends a request to the AI model to generate music. The AI model generates a new song based on the music data it has learned in advance, and the server receives the generated music data. Finally, the server sends the generated music data to the user's device, and the user plays the song.
[1367] Program processing
[1368] 1. User Input
[1369] The user opens the music generation application on their device and inputs the desired musical style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals).The emotion engine then analyzes the user's facial expressions and tone of voice to recognize their emotions.
[1370] 2. Sending parameters and emotion data
[1371] When the user presses the "Generate" button, the music generation parameters and the emotional data recognized by the emotion engine are sent from the device to the server. These data are generally sent in JSON format.
[1372] 3. Receiving and confirming on the server
[1373] The server checks the received music generation parameters and emotion data. It checks whether there are any errors in the data, and if there are any errors, it generates an error message and returns it to the user. If there are no errors, it proceeds to the next step.
[1374] 4. Generate a request to the AI model
[1375] The server prepares a music generation request to the AI model based on the music generation parameters and emotion data. The request includes information on musical style, tempo, instrumentation, and adjustment information based on the user's emotion.
[1376] 5. Sending a song creation request
[1377] The server sends the prepared request to the AI model's API endpoint (e.g., / generate_music) as an HTTP POST request.
[1378] 6. Music generation using AI models
[1379] Based on the request received, the AI model statistically generates song patterns, melody lines, chord progressions, and rhythm sections that match the specified style, tempo, and instrument composition from pre-trained song data. It also takes into account the user's emotional data to reflect emotional characteristics in the song.
[1380] 7. Receiving the generated music data
[1381] The server receives the generated music data (MIDI, MP3, or WAV format) from the AI model.
[1382] 8. Preparing the music data
[1383] The server prepares the received music data to provide it to the user, by generating a URL for the music data and notifying the user.
[1384] 9. Sending music data
[1385] The server returns the URL of the generated music data to the user's device, allowing the user to download the music data.
[1386] 10. User Playback
[1387] The user clicks the download link on their device to download the generated music data, and can then play and enjoy the music on their device's music player.
[1388] Specific examples
[1389] 1. The user inputs the style, tempo, and instrumentation, and the emotion engine recognizes the emotion.
[1390] Example: A user inputs "Pop", "120 BPM", "Guitar and Vocals" into the device, and the emotion engine recognizes the user's emotion of "Joy".
[1391] 2. Send parameters and emotion data to the server
[1392] When the device presses the "Generate" button, the parameters and emotion data are sent to the server in JSON format.
[1393] 3. After the server checks the data, it sends a request to the AI model.
[1394] The server checks the received parameters and emotion data, then sends a request to the AI model.
[1395] 4. AI model generates music based on data
[1396] The AI model generates new pop songs based on data from past Billboard Top 100 songs. Specifically, it generates guitar riffs and vocal melodies that match the rhythm of 120 BPM, creating an upbeat melody line that reflects the emotion of "joy."
[1397] 5. The server receives the generated data and provides it to the user.
[1398] The server receives the music data generated by the AI model and provides it to the user, who then downloads the music to their device and plays it.
[1399] This system allows users to easily create new music without specialized knowledge and enjoy emotionally appropriate musical experiences. Furthermore, because the AI model uses diverse training data, the music generated is fresh and diverse.
[1400] The processing flow will be explained below.
[1401] Step 1: The user opens the music generation application on the device and activates the music generation parameters and emotion engine.
[1402] Specific operation: The user inputs the music style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals). The emotion engine then analyzes the user's facial expressions and tone of voice via the user's camera and microphone to recognize their emotions.
[1403] Step 2: The emotion engine recognizes the user's emotion and generates emotion data.
[1404] Specific operation: The emotion engine generates emotion data such as "joy," "sadness," and "anger" based on the analysis of the user's facial expressions and voice.
[1405] Step 3: The user presses the "Generate" button and sends the music generation parameters and emotion data from the device to the server.
[1406] Specific operation: When the user clicks the "Generate" button, the device sends the music generation parameters and emotion data in JSON format to the server as an HTTP POST request.
[1407] Step 4: The server receives and checks the music generation parameters and emotion data.
[1408] Specific operation: The server parses the JSON data of the HTTP POST request received and checks whether the music generation parameters and emotion data are in the correct format. If there are any errors, it generates an error message and returns it to the user.
[1409] Step 5: The server generates a music generation request to the AI model.
[1410] How it works: If the parameters and emotion data are complete, the server prepares a request to send to the AI model, including information on the music style, tempo, and instrumentation, as well as adjustments based on the user's emotion.
[1411] Step 6: The server sends a music generation request to the AI model.
[1412] Specific operation: The server prepares the request and sends it as an HTTP POST request to the AI model's API endpoint (e.g., / generate_music).
[1413] Step 7: The AI model generates a song based on the music generation parameters and emotional data.
[1414] Specific operation: Based on the request received, the AI model statistically generates song patterns, melody lines, chord progressions, and rhythm sections that match the specified style, tempo, and instrument composition from pre-trained song data. It also takes emotional data into account to reflect emotional characteristics in the song.
[1415] Step 8: The music data generated by the AI model is sent to the server.
[1416] Specific operation: The music data (MIDI, MP3, or WAV format) generated by the AI model is returned to the server as an HTTP response.
[1417] Step 9: The server receives the generated music data and prepares to provide it to the user.
[1418] Specific operation: The server temporarily stores the music data received from the AI model and prepares it by generating a URL for the data to be provided to the user.
[1419] Step 10: The server sends the music data to the user's terminal.
[1420] Specific operation: The server returns the URL of the generated music data to the user's device, allowing the user to download the music data.
[1421] Step 11: The user receives and plays the music data generated on the terminal.
[1422] Specific operation: The user clicks the download link on their device to download the generated music data, and can then play and enjoy the music on their device's music player.
[1423] Through the above processing steps, the system can generate and provide new music based on the music generation parameters and emotion data specified by the user.
[1424] Example 2
[1425] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1426] Conventional music generation systems generate music simply by inputting the user's desired musical style, tempo, and instrumentation, but do not generate music based on the user's emotions. As a result, they are unable to provide a more personalized musical experience that reflects the user's emotions, resulting in low user satisfaction. In addition, the downloading and playback of generated music is complicated, which does not improve the user experience.
[1427] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for recognizing the user's emotion, a means for receiving and confirming music generation parameters and emotion data, and a means for transmitting the music generation parameters and emotion data to the AI model. This makes it possible to generate new music in accordance with the user's emotion. In addition, the generated music data can be easily received and played by the user.
[1428] "Music generation parameters" refers to specific information required for generating music, such as the style, tempo, and instrument composition of the music desired by the user.
[1429] An "emotion engine" refers to software or hardware that analyzes a user's facial expressions, tone of voice, gestures, etc. to recognize the user's current emotions.
[1430] "Server" refers to a central processing system on a network that receives and verifies data sent by users, sends requests to other processing devices (e.g., AI models), receives the results, and returns them to users.
[1431] An "AI model" refers to an algorithm that uses statistical and machine learning techniques to generate new music based on pre-trained data.
[1432] "JSON format" is a data exchange format that is in text format and has a structure that is easy for humans and machines to read.
[1433] An "HTTP POST request" refers to one of the standard request methods of the HTTP protocol used by a client to send data to a server.
[1434] "Music Data" refers to the specific digital format (e.g., MIDI, MP3, WAV) of the generated music composition.
[1435] "URL" refers to an address used to specify a resource on the Internet.
[1436] "Music player" means a software or hardware device for playing digital music files.
[1437] This invention is a system in which an AI model generates new music by inputting desired music generation parameters and combining them with an emotion engine that recognizes the user's emotions. To implement this system, the following devices and technologies are used:
[1438] 1. User Input
[1439] The user uses a device running a music generation application. The device is equipped with an input device (keyboard, touchscreen, etc.) through which the user inputs the desired musical style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals). The device also has an emotion engine built in, which captures the user's facial expressions with a camera and records their voice with a microphone to recognize the user's emotions.
[1440] 2. Sending parameters and emotion data
[1441] Music generation parameters and emotional data are transmitted from the device to the server, typically encoded in JSON format and encrypted for security.
[1442] 3. Receiving and confirming on the server
[1443] The server receives the data sent from the terminal and checks its integrity and content. If there are no errors in the data, it proceeds to the next step. If there are errors, it returns an error message to the terminal.
[1444] 4. Generate a request to the AI model
[1445] Based on the received music generation parameters and emotional data, the server creates a music generation request to the AI model, which includes the specified music style, tempo, instrumentation, and adjustment information based on the user's emotions.
[1446] 5. Sending a song creation request
[1447] The server sends a music generation request in the form of an HTTP POST request to the AI model's API endpoint, which is located on a computer network.
[1448] 6. Music generation using AI models
[1449] Based on the request received from the server, the AI model generates a new song from a pre-trained music dataset (e.g., past Billboard Top 100 songs). Specifically, the AI model generates musical patterns, melody lines, and chord progressions that match the specified style, tempo, and instrumentation, and also generates a song that reflects the user's emotional data.
[1450] 7. Receiving the generated music data
[1451] The server receives the music data (e.g., MIDI, MP3, WAV format) generated by the AI model.
[1452] 8. Preparing the music data
[1453] The server prepares the received music data for provision to the user, specifically by saving the music data and generating a URL that allows access to the data.
[1454] 9. Sending music data
[1455] The server transmits the URL of the music data to the user's terminal, allowing the user to download the music data.
[1456] 10. User Playback
[1457] The user clicks on the provided URL on their device to download the generated music data, after which they can play and enjoy the music using their device's music player.
[1458] Specific examples
[1459] 1. The user inputs the style, tempo, and instrumentation, and the emotion engine recognizes the emotion.
[1460] Example: A user inputs "Pop", "120 BPM", "Guitar and Vocals" into the device, and the emotion engine recognizes the user's emotion of "Joy".
[1461] 2. Send parameters and emotion data to the server
[1462] When the user presses the "Generate" button, the music generation parameters and emotional data are sent to the server in JSON format.
[1463] 3. After the server checks the data, it sends a request to the AI model.
[1464] The server checks the received parameters and emotion data, then sends a request to the AI model.
[1465] 4. AI model generates music based on data
[1466] The AI model generates new pop songs based on data from past Billboard Top 100 songs. Specifically, it generates guitar riffs and vocal melodies that match the rhythm of 120 BPM, creating an upbeat melody line that reflects the emotion of "joy."
[1467] 5. The server receives the generated data and provides it to the user.
[1468] The server receives the music data generated by the AI model and provides it to the user, who can then download the music to their device and play it to enjoy a satisfying music experience.
[1469] Example prompt: Generate a new song based on the following data: "Pop", "120 BPM", "Guitar and Vocals", and the emotion "Joy".
[1470] This system allows users to easily create new music without specialized knowledge and enjoy personalized musical experiences based on their emotions. In addition, because the AI model uses diverse training data, the music generated is fresh and diverse.
[1471] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1472] Step 1:
[1473] User Input
[1474] The user opens the music generation application on their device. Using an input device (keyboard, touchscreen, etc.), they input the desired music style (e.g., pop), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals). The device's built-in emotion engine also captures the user's facial expressions with a camera and records their voice with a microphone to recognize their emotions. Upon input, the music generation application formats the input data and converts it into JSON format. For the specific input data for this session, the user provides "pop," "120 BPM," "guitar and vocals," and emotional data for "joy" via facial expression and voice.
[1475] Step 2:
[1476] Sending parameters and emotion data
[1477] When the user presses the "Generate" button in the device application, the device sends these music generation parameters and emotional data to the server. The data is sent in JSON format and encrypted using IPv6. The device sends the data using an HTTP POST request, and the server receives the request. The input is the music generation parameters and emotional data encrypted in JSON format. The output is the data that has safely reached the server.
[1478] Step 3:
[1479] Receiving and confirming on the server
[1480] The server receives the music generation parameters and emotion data sent from the device. The received data is parsed in JSON format, and the server checks the data's integrity and content. Specifically, it checks whether all required fields (musical style, tempo, instrumentation, emotion data) are included and whether there are any invalid values. If there are any errors, the server generates an error message and returns it to the device. The input is a JSON object of the parsed music generation parameters and emotion data, and the output is either the confirmed data or an error message.
[1481] Step 4:
[1482] Generate requests to the AI model
[1483] The server creates a music generation request to the AI model based on the received music generation parameters and emotional data. The request includes the specified music style (pop), tempo (120 BPM), instrumentation (guitar and vocals), and tuning information to reflect the emotion of "joy." The generated request is a JSON-formatted string, which is prepared to be sent to the specified API endpoint. The input is the verified music generation parameters and emotional data, and the output is the generation request data for the AI model.
[1484] Step 5:
[1485] Sending a music creation request
[1486] The server sends a music generation request in the form of an HTTP POST request to the AI model's API endpoint (e.g., / generate_music). The server sends this request to the specified endpoint, and the AI model receives the request. The input is the generation request data for the AI model, and the output is the status that the AI model successfully received the request.
[1487] Step 6:
[1488] Music generation using AI models
[1489] Based on requests received from the server, the AI model generates new songs from a pre-trained music dataset (e.g., Billboard Top 100 songs). The AI model generates musical patterns, melody lines, and chord progressions that match the specified style, tempo, and instrumentation, and also generates songs that reflect the emotion of "joy." This process uses deep learning techniques and statistical methods. The input is the song generation request data for the AI model, and the output is the generated song data (e.g., MP3 format).
[1490] Step 7:
[1491] Receiving the generated music data
[1492] The server receives the music data (e.g., MP3 format) generated by the AI model. The server temporarily stores the generated music data and prepares it to send to the user. The input is the music data sent from the AI model, and the output is the stored music data.
[1493] Step 8:
[1494] Preparing music data
[1495] The server prepares to provide the received music data to the user. Specifically, it stores the music data in appropriate storage and generates a URL for accessing the data. It also prepares to notify the generated URL to the user. The input is the stored music data, and the output is the URL provided to the user.
[1496] Step 9:
[1497] Sending music data
[1498] The server returns the generated URL to the user's device, allowing the user to download the music data. The input is the URL provided to the user, and the output is a download link that the user can access.
[1499] Step 10:
[1500] User playback of music
[1501] The user clicks on the provided URL on their device to download the generated music data. After the download is complete, the user can play and enjoy the music using their device's music player. The input is the music data downloaded from a specific URL, and the output is the music played by the user.
[1502] (Application example 2)
[1503] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1504] Conventional music generation systems have been able to generate music based on music generation parameters input by the user, but have not been able to generate music that reflects the user's emotions. This has made it difficult for users to generate and enjoy music that matches specific emotions in real time. The present invention aims to improve the user experience by integrating and utilizing the user's emotional data to enable music generation that reflects emotions.
[1505] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving and checking music generation parameters, means for sending a request to the AI model based on the music generation parameters and the user's emotional data, and means for providing the user with music data generated by the AI model. This allows the user to generate and enjoy new music in real time based on their emotions.
[1506] "User" refers to a person who uses the music generation system.
[1507] "Music generation parameters" refers to information such as the musical style, tempo, and instrument composition input by the user.
[1508] "Server" refers to the central control system responsible for receiving music generation parameters and emotional data and sending them to the AI model.
[1509] An "AI model" refers to artificial intelligence that statistically generates music based on pre-trained music data.
[1510] "Emotion data" refers to emotional information recognized by the emotion engine from the user's facial expressions, tone of voice, etc.
[1511] "Music data" refers to the music data files generated by the AI model.
[1512] "Download link" refers to a URL provided to enable a user to obtain the generated music data via the Internet.
[1513] This invention is a system that uses an AI model to generate new music based on music generation parameters and emotional data provided by the user, and provides the music to the user. This system consists of a user device such as a smartphone or smart glasses, a server, and an AI model.
[1514] First, the user launches the music generation application on their device and inputs the desired music style (e.g., pop, rock, jazz), tempo (e.g., 120 BPM), and instrumentation (e.g., guitar, drums, vocals).The emotion engine then recognizes the user's facial expressions and tone of voice in real time to obtain emotion data.
[1515] The server receives and checks the music generation parameters and emotion data sent from the user's device. It then generates a request to send the received data to the AI model. The request includes information on the music style, tempo, and instrumentation, as well as adjustment information based on the user's emotion. The server then sends this request to the AI model's API endpoint.
[1516] The AI model statistically generates song patterns, melody lines, chord progressions, and rhythm sections that match the specified style, tempo, and instrument composition based on pre-trained music data. It also takes into account the user's emotional data to reflect emotional characteristics in the song. The song data generated by the AI model is sent back to the server.
[1517] The server receives the generated music data and prepares to provide it to the user. Specifically, it generates a URL for the music data and notifies the user's device. The user can download the music data via the URL and play it on their device.
[1518] For example, if a user inputs "pop," "120 BPM," "guitar and vocals" into their device and the emotion engine recognizes the emotion of "joy," the server receives this and sends a request to the AI model. Based on this, the AI model generates a guitar riff and vocal melody that matches the 120 BPM rhythm, creating a bright melody line that reflects the emotion of "joy." The generated music data is then sent back to the server and provided to the user.
[1519] Example prompt sentence:
[1520] Style: Pop
[1521] Tempo: 120 BPM
[1522] Instrumentation: Guitar and vocals
[1523] Emotion: Joy
[1524] In this way, users can easily enjoy music that matches their mood in real time.
[1525] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1526] Step 1:
[1527] The user launches a music generation application on the device and inputs the desired music style, tempo, and instrumentation. The emotion engine recognizes the user's facial expressions and vocal tone in real time to obtain emotion data. For example, if music generation parameters such as "pop" as the music style, "120 BPM" as the tempo, and "guitar and vocals" as the instrumentation are input, the emotion engine recognizes the emotion of "joy." Based on this input, the device generates music generation parameters and emotion data.
[1528] Step 2:
[1529] The device sends the music generation parameters and emotional data entered by the user to the server. These data are packed in JSON format and sent to the server as an HTTP request. The input is the music generation parameters and emotional data, and the output is the data received on the server side.
[1530] Step 3:
[1531] The server checks the received music generation parameters and emotion data to see if there are any errors. If there are any errors in the data, it generates an error message and returns it to the user's terminal. If there are no errors, it proceeds to the next step. The input for this step is the music generation parameters and emotion data, and the output is an error message or an instruction to proceed to the next processing step.
[1532] Step 4:
[1533] The server generates a request to send to the AI model based on the music generation parameters and emotional data. This request includes tuning information based on the music style, tempo, instrumentation, and emotion. The inputs are the music generation parameters and emotional data, and the output is the request data sent to the AI model.
[1534] Step 5:
[1535] The server sends the prepared request to the AI model's API endpoint as an HTTP POST request. The input is the request data, and the output is the data received by the AI model. Specifically, the server sends a request to the AI model's endpoint URL.
[1536] Step 6:
[1537] Based on the request received, the AI model generates a music pattern that matches the specified style, tempo, and instrument composition from pre-trained music data. It also incorporates the user's emotional data to reflect emotional characteristics in the music. The input is music generation parameters and emotional data, and the output is the generated music data.
[1538] Step 7:
[1539] The server receives the generated music data from the AI model. The input is the music data from the AI model, and the output is the music data stored on the server. Specifically, the server receives the data sent from the AI model and stores it in a database.
[1540] Step 8:
[1541] To provide the generated music data to the user, the server generates a URL for the music data and notifies the user's device. The input is the generated music data, and the output is a download link sent to the user's device. Specifically, the server generates a URL indicating the location where the music data is saved and sends it to the user via email or in-app notification.
[1542] Step 9:
[1543] The user accesses the notified URL, downloads the music data, and plays it on the device's music player. The input is the download link for the music data, and the output is the music data stored on the device and its playback. Specifically, the user clicks the specified link, downloads the music, and then plays it.
[1544] This allows users to easily create and enjoy music that matches their emotions in real time.
[1545] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1546] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1547] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1548] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1549] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1550] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1551] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1552] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1553] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1554] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1555] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1556] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1557] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1558] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[1559] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1560] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1561] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1562] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1563] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1564] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1565] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1566] The following is further disclosed regarding the above embodiment.
[1567] (Claim 1)
[1568] means for a user to input music generation parameters;
[1569] means for transmitting the music generation parameters to a server;
[1570] means for the server to receive and verify music generation parameters;
[1571] A means for transmitting the received music generation parameters to the AI model by the server;
[1572] A means for the AI model to generate new music based on the music generation parameters; and
[1573] A means for the server to receive new music data and transmit it to the user;
[1574] The system includes means for a user to receive and play new music data.
[1575] (Claim 2)
[1576] The system of claim 1, wherein the AI model statistically generates music based on learned music data.
[1577] (Claim 3)
[1578] 2. The system according to claim 1, wherein the server generates music data and provides it to the user in a file format.
[1579] "Example 1"
[1580] (Claim 1)
[1581] means for a user to input music generation parameters;
[1582] a means for specifying a desired musical style, tempo, and instrumentation on the device using a music generation application;
[1583] means for transmitting the music generation parameters to a server;
[1584] A means for transmitting music generation parameters in JSON format when a user presses the "Generate" button;
[1585] means for the server to receive and verify music generation parameters;
[1586] means for performing error checking based on the music generation parameters received by the server;
[1587] A means for transmitting the received music generation parameters to the AI model by the server;
[1588] A server generates and transmits a music generation request to the AI model based on the music generation parameters;
[1589] A means for the AI model to generate new music based on the music generation parameters; and
[1590] A means for the AI model to generate music based on learned music data using statistical methods;
[1591] A means for the server to receive new music data and transmit it to the user;
[1592] The server receives the music data generated by the AI model and stores it in MIDI or audio file format.
[1593] means for a user to receive and play new music data;
[1594] A system including a means for a server to provide music data to a user's terminal and for the user to download and play the music data.
[1595] (Claim 2)
[1596] The system of claim 1, wherein the AI model statistically generates music based on learned music data.
[1597] (Claim 3)
[1598] 2. The system according to claim 1, wherein the server generates music data and provides it to the user in a file format.
[1599] "Application Example 1"
[1600] (Claim 1)
[1601] means for a user to input music generation parameters;
[1602] means for transmitting the music generation parameters to a server;
[1603] means for the server to receive and verify music generation parameters;
[1604] A means for transmitting the received music generation parameters to the AI model by the server;
[1605] A means for the AI model to generate new music based on the music generation parameters; and
[1606] A means for the server to receive new music data and transmit it to the user;
[1607] A system including means for users to receive, play, and share new music data with other users.
[1608] (Claim 2)
[1609] The system of claim 1, wherein the AI model statistically generates music based on learned music data, and adds the generated music data to a playlist.
[1610] (Claim 3)
[1611] 2. The system according to claim 1, wherein the server generates music data, provides it to the user in a file format, and the user distributes the generated music data to other users.
[1612] "Example 2: Combining Emotion Engines"
[1613] (Claim 1)
[1614] means for a user to input music generation parameters;
[1615] means for recognizing a user's emotion;
[1616] means for transmitting music generation parameters and emotion data to a server;
[1617] a server means for receiving and verifying the music generation parameters and the emotion data;
[1618] A means for transmitting the received music generation parameters and emotional data to the AI model by the server;
[1619] A means for the AI model to generate new music based on the music generation parameters and emotional data; and
[1620] A means for the server to receive new music data and transmit it to the user;
[1621] The system includes means for a user to receive and play new music data.
[1622] (Claim 2)
[1623] The system of claim 1, wherein the AI model statistically generates music based on learned music data.
[1624] (Claim 3)
[1625] 2. The system according to claim 1, wherein the server generates music data in a file format and provides it to the user.
[1626] "Application example 2 when combining emotion engines"
[1627] (Claim 1)
[1628] means for a user to input music generation parameters;
[1629] means for transmitting the music generation parameters to a server;
[1630] means for the server to receive and verify music generation parameters;
[1631] A means for transmitting the received music generation parameters to the AI model by the server;
[1632] A means for the AI model to generate new music based on the music generation parameters and the user's emotional data;
[1633] A means for the server to receive new music data and provide it to the user;
[1634] The system includes means for a user to receive and play new music data.
[1635] (Claim 2)
[1636] The system of claim 1, wherein the AI model statistically generates music based on learned music data and reflects emotional characteristics by taking into account the user's emotional data.
[1637] (Claim 3)
[1638] 2. The system of claim 1, wherein the server generates music data and provides a download link to the user. [Explanation of symbols]
[1639] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. means for a user to input music generation parameters; means for transmitting the music generation parameters to a server; means for the server to receive and verify music generation parameters; A means for transmitting the received music generation parameters to the AI model by the server; A means for the AI model to generate new music based on the music generation parameters; and A means for the server to receive new music data and transmit it to the user; The system includes means for a user to receive and play new music data.
2. The system according to claim 1, wherein the AI model statistically generates music based on learned music data.
3. 2. The system according to claim 1, wherein the server generates music data and provides it to the user in a file format.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A