System

A system for generating and sharing music from humming or whistling addresses the accessibility of music composition tools by using voice input and analysis algorithms to create and play back professional-quality music.

JP2026034080APending Publication Date: 2026-02-27SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024137201
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-16
Publication Date
2026-02-27

AI Technical Summary

Technical Problem

Existing music composition tools require specialized knowledge, making them inaccessible to the average person and hindering the development of potential musical talent.

Method used

A system that accepts voice input, analyzes audio data to extract pitch and rhythm, constructs melodies and generates keys and chord progressions, and plays back musical tracks based on humming or whistling, using algorithms and digital audio workstations to create professional-quality music.

Benefits of technology

Enables anyone to easily generate and share high-quality music without complex musical skills, allowing users to enjoy creating and sharing their original compositions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026034080000001_ABST
    Figure 2026034080000001_ABST
Patent Text Reader

Abstract

A system is provided.SOLUTION: A system comprising: means for accepting audio input; means for analyzing audio data and extracting intervals and rhythms; means for constructing a melody from the extracted intervals and generating a key and a chord progression; means for generating a rhythm pattern based on the generated melody, key, and chord progression; and means for playing an arranged music track.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

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] Many people are interested in composing and songwriting, but often give up due to a lack of talent or skill. Furthermore, existing music composition support tools require specialized knowledge, making them inaccessible to the average person. As a result, opportunities for potential musical talent to blossom are lost. The goal of this invention is to solve these problems and provide a system that allows anyone to easily create their own melodies and complete songs. [Means for solving the problem]

[0005] The present invention solves the above problems by the following means:

[0006] means for accepting voice input;

[0007] A means for analyzing audio data and extracting pitch and rhythm;

[0008] A means of constructing melodies from the extracted intervals and generating keys and chord progressions;

[0009] means for generating a rhythm pattern based on the generated melody, key, and chord progression;

[0010] a means for playing the arranged musical track;

[0011] The present invention provides a system including:

[0012] This system allows anyone to easily generate music from humming or whistling, allowing even those without complex musical theory or composition skills to enjoy creating their own original music.

[0013] A "means for accepting voice input" is a mechanism or device for recording voice data generated by a user.

[0014] "Means for analyzing audio data and extracting pitch and rhythm" refers to an algorithm or process for detecting and extracting pitch and temporal patterns (rhythm) from input audio data.

[0015] "Means for constructing a melody from extracted intervals and generating a key and chord progression" refers to an algorithm or process that forms a musical melody based on detected interval information and determines an appropriate musical key and chord progression for the melody.

[0016] "Means for generating rhythmic patterns based on the generated melody, key, and chord progression" refers to an algorithm or process that generates rhythmic patterns, such as beats and drum patterns, that fit the constructed melody, musical key, and chord progression.

[0017] The "means for playing back the arranged music track" refers to a mechanism or device for playing back the final music data generated through an audio output device. [Brief explanation of the drawings]

[0018] [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 showing 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

[0019] 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.

[0020] First, the terms used in the following description will be explained.

[0021] 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).

[0022] 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.

[0023] 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.

[0024] 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.

[0025] 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."

[0026] [First embodiment]

[0027] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.

[0028] 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.

[0029] 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).

[0030] 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.

[0031] 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.

[0032] 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.

[0033] 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.

[0034] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.

[0035] 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.

[0036] 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.

[0037] 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.

[0038] 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."

[0039] This invention is a composition assistance system that allows a user to simply hum or whistle and generate and play back original music based on that tune. Specific embodiments of this system are described below.

[0040] System Overview

[0041] The system of the present invention accepts voice input, analyzes the voice data to generate a melody, key, chord progression, and rhythm pattern, and finally plays back a musical track that combines these. This system is mainly composed of a user, a terminal, and a server.

[0042] Audio Input and Recording

[0043] Users can launch the application and press the record button to record humming or whistling, which is then saved on the device and sent to the server.

[0044] Analysis of voice data

[0045] The server first performs a noise reduction process on the audio data it receives, eliminating background noise and unwanted sounds to obtain clean audio data. Next, it uses a pitch detection algorithm to extract pitch information from the audio data. Specifically, techniques such as Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF) are used.

[0046] Pitch correction and melody extraction

[0047] The server analyzes the pitch data, performs onset detection, and constructs a melody. If necessary, it applies pitch correction algorithms to generate an accurate melody. Techniques such as pitch shifting ensure that the user's humming is expressed as the intended melody.

[0048] Key and chord progression generation

[0049] The server applies an algorithm to identify the key of the song from the melody. This algorithm uses the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm. Based on this key information, an appropriate chord progression is dynamically generated. For example, for a song in the key of C major, a basic chord progression of I-IV-VI is generated.

[0050] Rhythm pattern generation

[0051] The server generates corresponding beats and rhythm patterns based on the rhythmic features of the melody. The generated rhythm patterns are expressed as standard beats such as 4 / 4 time.

[0052] Arranging and playing music tracks

[0053] Once all the elements are ready, the server uses a DAW (Digital Audio Workstation) tool to combine melodies, chord progressions, and rhythmic patterns to create a musical track. The completed musical track is then sent to the device as a sound file. The device receives the file and plays it using its built-in sound player. Finally, the user can enjoy the music they created.

[0054] Specific examples

[0055] For example, a user launches the app, presses the "record" button, and hums. This humming recording is then sent by the device to the server. The server then removes noise from the audio data, extracts the pitch, and corrects it if necessary. It then identifies the key from the melody and generates, for example, a chord progression of I-IV-VI in the key of C major. It then generates a rhythmic pattern based on the melody and chord progression, arranges the final song track, and sends it to the device. The user can then play and enjoy the song.

[0056] In this way, the system of the present invention allows anyone to easily create sophisticated musical pieces from humming or whistling.

[0057] The processing flow will be explained below.

[0058] Step 1:

[0059] The user launches the app and presses the "Record" button. The device then records the user's humming or whistling through the microphone.

[0060] Step 2:

[0061] When the recording is finished, the device temporarily saves the recorded voice data and displays a stop recording button. When the user presses the stop recording button, the device sends the voice data to the server.

[0062] Step 3:

[0063] The server receives the audio data and applies a noise reduction filter to the received audio data to remove background noise.

[0064] Step 4:

[0065] The server then applies a pitch detection algorithm to the noise-removed audio data to extract pitch information, using techniques such as Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF).

[0066] Step 5:

[0067] The server detects onsets based on the extracted pitch information and constructs a melody. If necessary, it applies pitch correction algorithms such as pitch shifting to convert it into an accurate melody.

[0068] Step 6:

[0069] The server analyzes the melody information and identifies the key of the song using the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm.

[0070] Step 7:

[0071] The server generates an appropriate chord progression based on the specified key, for example, for the key of C major, it generates a chord progression of I-IV-VI.

[0072] Step 8:

[0073] The server analyzes rhythmic features based on the generated melody and chord progression to generate rhythm patterns. It automatically generates drum patterns such as basic 4 / 4 beats.

[0074] Step 9:

[0075] The server integrates the generated melodies, chord progressions, and rhythm patterns and arranges the music track using a DAW (Digital Audio Workstation) tool.

[0076] Step 10:

[0077] The server renders the arranged music track as a digital audio file and transmits the file to the device.

[0078] Step 11:

[0079] The device then plays the received audio file on a sound player, allowing the user to enjoy listening to the completed song.

[0080] Example 1

[0081] 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."

[0082] Conventional music production methods require specialized knowledge and advanced skills, making it difficult for average users to create music on their own. Furthermore, there is a lack of effective methods for processing recorded audio with inaccurate pitch or noise, making it difficult to create music of satisfactory quality. This invention solves these problems by providing a composition assistance system that allows anyone to easily create high-quality music.

[0083] 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.

[0084] In this invention, the server includes means for analyzing audio data and extracting pitches and rhythms, means for constructing a melody from the extracted pitches and generating a key and chord progression, and means for integrating the generated melody, key, chord progression, and rhythm patterns to create a musical track. This allows a user to automatically generate professional-quality music based on audio data input by simple methods such as humming or whistling.

[0085] "Means for accepting voice input" refers to devices or software that allow a user to input voice, such as humming or whistling, and primarily includes microphones and recording applications.

[0086] "Means for analyzing audio data and extracting pitch and rhythm" refers to algorithms and software for extracting pitch and rhythm (timing) information from input audio data, and specifically includes pitch detection algorithms and onset detection technology.

[0087] "Means for constructing a melody from extracted pitches and generating a key and chord progression" refers to algorithms or software that construct a melody line based on analyzed pitch information and automatically generate a key and chord progression suitable for that melody.

[0088] "Means for generating rhythmic patterns based on the generated melody, key, and chord progression" refers to algorithms or software for creating rhythmic patterns based on the generated melody and its corresponding chord progression, including, for example, beat generation algorithms.

[0089] "Means for integrating the generated melody, key, chord progression, and rhythm pattern to arrange a musical track" refers to software or tools for assembling each element (melody, key, chord progression, rhythm pattern) into a single musical track and arranging it, including digital audio workstations (DAWs).

[0090] "Means for playing the arranged music track" refers to devices or software that ultimately play the created music track so that the user can listen to it, and primarily refers to sound players and audio playback functions.

[0091] This invention is a composition assistance system that automatically generates original music pieces by simply inputting a user's voice, such as humming or whistling. The system is primarily composed of a user, a terminal, and a server, and generates high-quality music pieces through the cooperation of these elements. The details are described below.

[0092] Audio Input and Recording

[0093] The user launches a dedicated application on their smartphone or tablet (device). The application is developed using Python, Swift, Java (registered trademark), etc. The user presses the "record" button in the application and records a tune or whistle. The device temporarily stores the recorded audio data in local storage (e.g., SQLite).

[0094] Sending recording data

[0095] The device sends the recorded audio data to the server using HTTP or HTTPS requests, typically managed by a web framework such as Flask or Django.

[0096] Analysis of voice data

[0097] The server receives the audio data and performs noise reduction using the Librosa library. Then, pitch information is extracted from the noise-removed audio data using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF). This allows the melody and rhythm of the humming or whistling to be analyzed.

[0098] Pitch correction and melody generation

[0099] The server analyzes the pitch data and performs onset detection (detection of the beginning of a note) to construct a melody. This process uses techniques such as DTW (Dynamic Time Warping). If necessary, pitch correction algorithms such as pitch shifting are applied to generate an accurate melody.

[0100] Key and chord progression generation

[0101] The server applies the Pitch Class Profile (PCP) and Krumhansl-Schmuckler algorithms to identify the key of the song from the generated melody. Based on the identified key, an appropriate chord progression is dynamically generated. For example, if the generated melody is in the key of C major, the basic chord progression I-IV-VI is automatically selected.

[0102] Rhythm pattern generation

[0103] The server generates rhythmic patterns based on the melody and chord progression, applying a common 4 / 4 beat using the MIDIUtil library.

[0104] Arranging and sending your music tracks

[0105] The server uses a DAW (Digital Audio Workstation) tool (e.g., Ableton Live or Logic Pro) to combine melodies, chord progressions, and rhythmic patterns to arrange the final song track, which is then exported as a sound file in MP3 or WAV format and sent to the device using an HTTP or HTTPS request.

[0106] Playing songs

[0107] By playing the sound files received from the server on the device using the built-in sound player, users can enjoy the music they have created.

[0108] Specific examples

[0109] For example, a user launches the app, presses the "Record" button, and hums. This humming recording is saved on the device and sent to the server. The server uses Librosa to remove noise from the audio data, ACF to extract pitch, and DTW to correct it. It then uses PCP to identify the C major key and generate a I-IV-VI chord progression. MIDIUtil generates a rhythmic pattern, and Ableton Live arranges the final song track. The completed track is sent to the device as a sound file, allowing the user to play and enjoy the song.

[0110] Prompt Sentence Examples

[0111] "Generate original music by analyzing your humming. Denoise the audio data, generate melody, key, chord progression, and rhythmic patterns, and output a unified music track."

[0112] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0113] Step 1:

[0114] The user launches a dedicated application on their smartphone or tablet, which is developed using Python, Swift, Java, or other programming languages.

[0115] Input: Launch application.

[0116] Output: The application UI is displayed and voice input is possible.

[0117] Specific operation: The user presses the record button to record a tune or whistle. The recorded audio data is temporarily stored in the device's local storage (e.g., SQLite).

[0118] Step 2:

[0119] The device sends the recorded audio data to the server.

[0120] Input: Recorded audio data (file format: WAV, MP3, etc.).

[0121] Output: The audio data sent to the server.

[0122] What it does: The device uploads audio data to a server using an HTTP or HTTPS request, using a web framework like Flask or Django.

[0123] Step 3:

[0124] The server receives the audio data and performs noise reduction using the Librosa library.

[0125] Input: The audio data sent to the server.

[0126] Output: Denoised audio data.

[0127] Specific operation: The server reads the audio file using the Librosa library, performs spectral analysis, removes noise components, and generates cleared data.

[0128] Step 4:

[0129] The server extracts pitch information using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF).

[0130] Input: Denoised audio data.

[0131] Output: Pitch information.

[0132] How it works: The server uses Librosa or other audio processing libraries to calculate the number of zero crossings and autocorrelation function of the audio data, and based on this, identifies the pitch.

[0133] Step 5:

[0134] The server analyzes the pitch data, performs onset detection, and constructs a melody.

[0135] Input: Pitch information.

[0136] Output: Melody information.

[0137] Specific operation: The server performs onset detection using algorithms such as DTW (Dynamic Time Warping) and Hidden Markov Model (HMM), and generates a melody line based on continuous pitch data.

[0138] Step 6:

[0139] The server identifies the key of the song from the generated melody and generates a chord progression.

[0140] Input: Melody information.

[0141] Output: Key information and chord progression (e.g., I-IV-VI progression in the key of C major).

[0142] Specific operation: The server uses Pitch Class Profile (PCP) and Krumhansl-Schmuckler algorithms to analyze the pitch distribution of the melody, identify the appropriate key, and generate a chord progression based on that.

[0143] Step 7:

[0144] The server generates rhythmic patterns based on melody, key, and chord progression.

[0145] Input: Melody information, key information, chord progression.

[0146] Output: Rhythm pattern.

[0147] Specific operation: The server uses libraries such as MIDIUtil and FluidSynth to create a rhythm that matches the specified beat pattern (for example, 4 / 4 time).

[0148] Step 8:

[0149] The server arranges the music track by integrating melodies, chord progressions, and rhythmic patterns.

[0150] Input: Melody information, key information, chord progression, rhythm pattern.

[0151] Output: Finished song track (file format: MP3, WAV, etc.).

[0152] What it does: The server uses a DAW (Digital Audio Workstation) tool (such as Ableton Live or Logic Pro) to combine these elements and generate a professional music track.

[0153] Step 9:

[0154] The server sends the completed music track to the device.

[0155] Input: Your finished song track.

[0156] Output: The music track sent to your device.

[0157] What happens: The server sends the generated audio file to the device using an HTTP or HTTPS request.

[0158] Step 10:

[0159] The device will play the received sound file using the built-in sound player.

[0160] Input: The music track received by the device.

[0161] Output: The user can listen to the song.

[0162] What happens: The device's sound player application loads the audio file and plays it through speakers or headphones, allowing the user to enjoy the resulting music.

[0163] (Application example 1)

[0164] 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."

[0165] Conventional composition support systems lack the functionality to share the music created by users who create music by humming or whistling with others, making it difficult for users to easily spread their own original music. The present invention aims to solve this problem by providing a system that allows users to easily share the music they create.

[0166] 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.

[0167] In this invention, the server includes means for accepting voice input, means for analyzing the voice data and extracting pitches and rhythms, means for constructing a melody from the extracted pitches and generating a key and chord progression, means for generating a rhythm pattern based on the generated melody, key, and chord progression, means for playing the arranged music track, and means for sharing the generated music track on an external digital platform, thereby enabling users to easily spread their original music.

[0168] The "means for accepting voice input" is a device or function that allows the user to record voice such as humming or whistling.

[0169] "Means for analyzing audio data and extracting pitch and rhythm" refers to a device or function that analyzes pitch information and rhythm patterns from recorded audio data.

[0170] "Means for constructing a melody from extracted intervals and generating a key and chord progression" refers to a device or function that forms a melody based on analyzed interval data and generates the key of a song and the chords required for its progression.

[0171] "Means for generating rhythmic patterns based on the generated melody, key, and chord progression" refers to a device or function that creates rhythmic patterns that fit the already generated melody, key, and chord progression.

[0172] The "means for playing back the arranged music track" refers to a device or function for outputting and playing back the final music track as audio.

[0173] "Means for sharing the created music tracks on external digital platforms" refers to devices or functions for sharing the created music tracks on digital platforms such as external services or social networking sites via the Internet.

[0174] This invention relates to a system that allows users to record humming or whistling, generate original music based on the recording, and ultimately share the music on a digital platform. The system includes means for accepting audio input, means for analyzing the audio data and extracting pitch and rhythm, means for generating key and chord progressions, means for generating rhythm patterns, means for playing music tracks, and means for sharing the generated music tracks on an external digital platform. Specific embodiments of this system are described below.

[0175] Hardware and software used

[0176] 1. Hardware

[0177] Smartphone (iOS or ANDROID (registered trademark))

[0178] 2. Software

[0179] Audio processing library: Librosa as an example

[0180] Digital Audio Workstation (DAW) tools, such as FL Studio or Ableton Live

[0181] Cloud servers: Examples include Amazon Web Services (AWS) and Google Cloud

[0182] System processing procedure

[0183] 1. Audio Input and Recording

[0184] The user launches the smartphone application and presses the record button, recording humming or whistling with the smartphone's microphone and saving it as a .wav audio file.

[0185] 2. Analysis of audio data

[0186] The recorded audio file is sent to a cloud server, where noise is removed using an audio processing library such as Librosa.

[0187] Pitch information and rhythm patterns are analyzed from noise-removed audio data using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF).

[0188] 3. Extracting pitch and melody

[0189] The server analyzes the pitch data and constructs a melody from the extracted pitches, correcting the pitch as needed to produce an accurate, precise melody.

[0190] 4. Generating Keys and Chord Progressions

[0191] The server uses the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm to identify the key of the song and generate an appropriate chord progression.

[0192] 5. Rhythm Pattern Generation

[0193] The server generates rhythmic patterns based on the generated melody and chord progression, using standard 4 / 4 time signatures.

[0194] 6. Arranging and Playing Music Tracks

[0195] The server uses the DAW tool to combine melody, key, chord progressions, and rhythmic patterns to arrange the music track.

[0196] The generated music track is sent to the smartphone as a sound file and played using the sound player within the app.

[0197] 7. Sharing on digital platforms

[0198] The generated music tracks can be shared on social media and other music platforms via a smartphone application.

[0199] Specific examples

[0200] For example, a user launches the app, presses the "record" button, and records a hum. The recording is then sent by the smartphone to the server, which removes noise from the audio data and extracts pitch. Pitch correction is performed as needed, and a melody is generated. The server then generates a chord progression of I-IV-VI in the key of C major and combines it with rhythmic patterns to create a complete song track. The song track is then sent to the smartphone, where it can be played within the app and shared on social media and music platforms.

[0201] Example prompt for a generative AI model:

[0202] "Generate a melody and chord progression using a user-recorded humming tune. The generated melody should be in the key of C major with a I-IV-VI chord progression. The rhythm pattern should be constructed in 4 / 4 time."

[0203] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0204] Step 1:

[0205] Audio Input and Recording

[0206] The user launches the smartphone application and presses the record button to record a hum or whistle. As input, the user's voice is captured through the smartphone's microphone. As output, the recorded voice data is saved in the smartphone's memory as a .wav file.

[0207] Step 2:

[0208] Sending audio data

[0209] The device sends the recorded audio file to the cloud server. The audio data stored in the device's file system is used as input. The audio data is uploaded to the cloud server via the Internet as output.

[0210] Step 3:

[0211] Noise Reduction

[0212] The server performs noise reduction on the received audio data. It uses an audio processing library such as Librosa to remove background noise. The input is the audio data uploaded to the cloud server. The output is clean audio data with the noise removed.

[0213] Step 4:

[0214] Pitch and rhythm extraction

[0215] The server analyzes pitch information and rhythm patterns from the noise-removed audio data using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF). Clean audio data is used as input. The extracted pitch and rhythm information is obtained as output.

[0216] Step 5:

[0217] Melody construction and pitch correction

[0218] The server analyzes the extracted pitch data, corrects the pitch as needed, and generates an accurate melody. The analyzed pitch data is used as input, and the corrected melody data is obtained as output.

[0219] Step 6:

[0220] Generating keys and chord progressions

[0221] The server uses the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm to identify the key of the song and generate the appropriate chord progression. The corrected melody data is used as input. The output is the key information and chord progression data of the song.

[0222] Step 7:

[0223] Rhythm pattern generation

[0224] The server generates rhythmic patterns based on the melody, key, and chord progression. The melody, key, and chord progression data are used as input. The output is a rhythmic pattern corresponding to the song.

[0225] Step 8:

[0226] Arranging and creating music tracks

[0227] The server uses a DAW tool to combine melody, key, chord progressions, and rhythmic patterns to arrange a musical track. Melody, key, chord progressions, and rhythmic patterns are used as input. The output is a sound file of the completed musical track.

[0228] Step 9:

[0229] Sending and playing music tracks

[0230] The server sends the sound file of the generated music track to the smartphone. The device plays the received sound file using the sound player in the app. The input is the completed music track sent from the server to the smartphone. The output is the user playing the music and enjoying it.

[0231] Step 10:

[0232] Sharing on digital platforms

[0233] Users share music tracks generated on the smartphone application on social media or other music platforms. As input, music tracks stored on the smartphone are used. As output, the music is shared over the Internet.

[0234] The above is a specific flow of the program processing of the system for realizing the application example.

[0235] 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.

[0236] This invention combines a system that allows a user to simply hum or whistle and generate and play original music based on that tune with an emotion engine that recognizes the user's emotions. Specific embodiments of this system are described below.

[0237] System Overview

[0238] The system of the present invention accepts voice input, analyzes the voice data to generate a melody, key, chord progression, and rhythm pattern, and finally plays back a music track that combines these. It also has an emotion engine that recognizes the user's emotions and optimizes the music generation process based on the emotion data. This system is primarily composed of a user, a terminal, a server, and the emotion engine.

[0239] Audio Input and Recording

[0240] Users can launch the application and press the record button to record humming or whistling, which is then saved on the device and sent to the server.

[0241] Analysis of voice data

[0242] The server first performs a noise reduction process on the audio data it receives, eliminating background noise and unwanted sounds to obtain clean audio data. Next, it uses a pitch detection algorithm to extract pitch information from the audio data. Specifically, techniques such as Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF) are used.

[0243] Pitch correction and melody extraction

[0244] The server analyzes the pitch data, performs onset detection, and constructs a melody. If necessary, it applies pitch correction algorithms to generate an accurate melody. Techniques such as pitch shifting ensure that the user's humming is expressed as the intended melody.

[0245] Key and chord progression generation

[0246] The server applies an algorithm to identify the key of the song from the melody. This algorithm uses the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm. Based on this key information, an appropriate chord progression is dynamically generated. For example, for a song in the key of C major, a basic chord progression of I-IV-VI is generated.

[0247] Rhythm pattern generation

[0248] The server generates corresponding beats and rhythm patterns based on the rhythmic features of the melody. The generated rhythm patterns are expressed as standard beats such as 4 / 4 time.

[0249] Emotion recognition by emotion engine

[0250] The device sends the recorded voice data to the emotion engine, which then analyzes the voice to recognize the user's emotions. The emotions that can be recognized are, for example, four types: joy, anger, sadness, and pleasure.

[0251] Emotional music arrangement

[0252] Based on the emotional data obtained from the emotion engine, the server arranges the melody, key, chord progression, and rhythm pattern to suit the emotion. For example, if the emotion of joy is recognized, it will use more upbeat major chords and incorporate pop rhythm patterns.

[0253] Arranging and playing music tracks

[0254] Once all the elements are ready, the server uses a DAW (Digital Audio Workstation) tool to combine the melody, chord progression, and rhythm pattern to create a musical track. The completed musical track is then sent to the device as a sound file. The device receives the file and plays it using its built-in sound player. The user can then enjoy the music that best suits their emotions.

[0255] Specific examples

[0256] For example, a user launches the app, presses the "record" button, and hums. This humming recording is sent by the device to the server and simultaneously to the emotion engine. The server removes noise from the audio data, extracts pitch, and corrects it as necessary. The emotion engine recognizes the user's emotion, e.g., "joy." The server identifies the key and chord progression from the melody and generates a rhythmic pattern. The server arranges the music based on the emotion data and sends the final music track to the device. The user can then play and enjoy the music.

[0257] In this way, the system of the present invention enables anyone to easily create sophisticated music from humming or whistling, and further enables the music to fit the user's emotions.

[0258] The processing flow will be explained below.

[0259] Step 1:

[0260] The user launches the app and presses the "Record" button. The device then records the user's humming or whistling through the microphone.

[0261] Step 2:

[0262] When the recording is finished, the device temporarily saves the recorded voice data and displays a stop recording button. When the user presses the stop recording button, the device sends the voice data to the server and the emotion engine.

[0263] Step 3:

[0264] The server receives the audio data and applies a noise reduction filter to remove background noise to obtain cleared audio data.

[0265] Step 4:

[0266] The server extracts pitch information from the noise-removed audio data using a pitch detection algorithm (Zero Crossing Rate (ZCR) or Auto Correlation Function (ACF)).

[0267] Step 5:

[0268] The server detects onsets based on the extracted pitch information and constructs a melody. If necessary, it applies pitch correction algorithms such as pitch shifting to convert it into an accurate melody.

[0269] Step 6:

[0270] The server analyzes the melody information and identifies the key of the song using the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm.

[0271] Step 7:

[0272] The server generates an appropriate chord progression based on the specified key, for example, for the key of C major, it generates a chord progression of I-IV-VI.

[0273] Step 8:

[0274] The server analyzes rhythmic features based on the generated melody and chord progression to generate rhythm patterns. It automatically generates drum patterns such as basic 4 / 4 beats.

[0275] Step 9:

[0276] The emotion engine recognizes emotions from the user's voice input data, for example, identifying the user's emotions of joy, anger, sadness, and happiness through voice analysis.

[0277] Step 10:

[0278] Based on the emotional data obtained from the emotion engine, the server arranges the melody, key, chord progression, and rhythm pattern to suit the emotion. For example, for "Joy," it uses a lot of bright major chords and applies a pop rhythm pattern.

[0279] Step 11:

[0280] The server integrates the generated melodies, chord progressions, and rhythm patterns and arranges the music track using a DAW (Digital Audio Workstation) tool.

[0281] Step 12:

[0282] The server renders the arranged music track as a digital audio file and transmits the file to the device.

[0283] Step 13:

[0284] The device then plays the received audio file on a sound player, allowing the user to enjoy listening to the completed song.

[0285] Example 2

[0286] 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."

[0287] Conventional music generation systems simply generate melodies, keys, chord progressions, and rhythm patterns from voice input, but are unable to generate music that perfectly matches the user's emotions. This makes it difficult for users to easily create and enjoy music that matches their own feelings and atmosphere. Furthermore, there is also the problem that the quality of the generated music deteriorates when voice data contains noise.

[0288] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[0289] In this invention, the server includes means for accepting voice input, means for analyzing the voice data and extracting pitch and rhythm, means for constructing a melody from the extracted pitch and generating a key and chord progression, means for generating a rhythm pattern based on the generated melody, key, and chord progression, means for recognizing a user's emotion, means for optimizing the music generation process based on the recognized emotion data, and means for playing back the arranged music track, thereby enabling high-quality music that fits the user's emotion to be automatically generated and enjoyed.

[0290] A "means for accepting audio input" is a device or software interface that allows a user to record themselves humming or whistling.

[0291] "Means for analyzing audio data and extracting pitch and rhythm" refers to algorithms or software that has the function of analyzing and extracting pitch information and rhythm patterns from recorded audio data.

[0292] The "means for constructing a melody and generating a key and chord progression" is an algorithm that creates a melody line for a song from the extracted pitch information, determines the key of the entire song, and then performs processing to generate a chord progression based on that.

[0293] The "means for generating rhythm patterns" refers to software or algorithms that have the function of designing rhythm patterns based on the generated melody and chord progression, and forming the beats required for the song.

[0294] "Means for recognizing user emotions" refers to software or algorithms that analyze voice data to identify the user's emotional state.

[0295] "Means for optimizing the music generation process based on recognized emotional data" refers to software or algorithms that utilize the user's emotional data to adjust the melody, key, chord progression, and rhythmic patterns of a song to match the user's emotions.

[0296] "Means for playing the arranged musical track" means a device or software interface for playing the created musical track.

[0297] This invention is a system that allows users to generate and play original music by providing voice input such as humming or whistling. It also recognizes the user's emotions and optimizes the music generation process based on those emotions. The system primarily consists of a user, a terminal, a server, and an emotion engine.

[0298] Audio Input and Recording

[0299] The user launches the application, presses the record button, and begins humming or whistling. The recorded audio data is saved on the device and then sent to the server. The hardware used is a mobile device such as a smartphone or tablet, and application software with a recording function is used.

[0300] Analysis of voice data

[0301] The server first performs a noise reduction process on the received audio data. Specific algorithms include Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF) to eliminate background noise and unwanted sounds. Next, a pitch detection algorithm is used to extract pitch information. At this stage, phonemes are identified,

[0302] Onset detection identifies the location of the beginning of a sound.

[0303] Melody and chord progression generation

[0304] The server analyzes the pitch data and constructs a melody. During this process, pitch correction algorithms (e.g., pitch shifting) are applied to generate an accurate melody line. Next, to identify the key of the song from the generated melody, the server uses Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm. Based on this key information, an appropriate chord progression is dynamically generated. For example, in the key of C major, a basic chord progression of I-IV-VI is created.

[0305] Rhythm pattern generation

[0306] The server analyzes the rhythmic characteristics of the melody and generates a corresponding rhythm pattern. The standard 4 / 4 beat is often used, but other beats and rhythm patterns can also be generated as needed.

[0307] Emotion recognition by emotion engine

[0308] The device sends the recorded voice data to the emotion engine, which analyzes the voice data to recognize the user's emotions. The four recognized emotions are joy, anger, sadness, and pleasure. This emotion data is sent to the server and incorporated into the music generation process.

[0309] Music arrangement based on emotional data

[0310] The server then uses the emotional data obtained from the emotion engine to arrange the melody, key, chord progression, and rhythm pattern to suit the emotion. For example, if the emotion of joy is recognized, bright major chords and pop rhythm patterns will be used.

[0311] Creating and playing music tracks

[0312] The server uses a DAW (Digital Audio Workstation) tool to combine melodies, chord progressions, and rhythmic patterns to generate the final music track. This music track is then sent to the device as a sound file. The device receives this file and plays it using its built-in sound player. The user can then enjoy music that matches their own emotions.

[0313] Specific examples

[0314] For example, a user launches the app, presses the "record button," and hums. This humming recording is sent by the device to the server and simultaneously to the emotion engine. The server removes noise from the audio data, extracts pitch, and corrects it as necessary. The emotion engine recognizes the user's emotion, e.g., "joy." The server identifies the key and chord progression from the melody and generates a rhythmic pattern. The server arranges the music based on the emotion data and sends the final music track to the device. The user can then play and enjoy the music.

[0315] Prompt Sentence Examples

[0316] "Describe a system that allows a user to record themselves humming and then generate and play back original music from that recording. The system recognizes the user's emotions and incorporates that information into the music-generation process. Please name any specific hardware or software and describe each step of the process in detail."

[0317] In this way, the system of the present invention enables anyone to easily create sophisticated music from humming or whistling, and further enables the music to fit the user's emotions.

[0318] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0319] Step 1:

[0320] The user launches the application and presses the "record" button to record a hum or whistle.

[0321] Specific behavior: When a user presses the record button on the mobile app, the recording function starts and records the user's humming or whistling. When the recording is finished, the user presses the stop button.

[0322] Input: Audio of the user humming or whistling.

[0323] Output: Audio data file saved on your device.

[0324] Step 2:

[0325] The device transmits the stored voice data to the server.

[0326] Specific operation: After recording is completed, the device sends the audio data file to the server using an HTTP POST request.

[0327] Input: Audio data files stored on the device.

[0328] Output: The audio data file sent to the server.

[0329] Step 3:

[0330] The server performs a noise removal process on the received audio data.

[0331] What it does: The server uses algorithms such as Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF) to filter out background noise and unwanted sounds.

[0332] Input: The audio data file sent to the server.

[0333] Output: Cleaned audio data with noise removed.

[0334] Step 4:

[0335] The server detects the pitch from the clarified voice data.

[0336] What it does: It applies a pitch detection algorithm to extract pitch information from audio data. At this stage, it identifies phonemes and uses onset detection to determine the beginning of a sound.

[0337] Input: Cleaned audio data with noise removed.

[0338] Output: A dataset containing pitch information.

[0339] Step 5:

[0340] The server analyzes the pitch data and constructs a melody.

[0341] What it does: It uses pitch correction algorithms (e.g., pitch shifting) to adjust the pitch of what the user is humming or whistling to represent the intended melody, and onset detection to capture the rhythm and timing of the melody.

[0342] Input: A dataset containing pitch information.

[0343] Output: The frameworked melody data.

[0344] Step 6:

[0345] The server identifies the key and chord progression from the melody.

[0346] What it does: It applies the Pitch Class Profile (PCP) and Krumhansl-Schmuckler Key-Finding Algorithm to identify the key of the melody and generate an appropriate chord progression based on that. For example, in the key of C major, it generates a basic chord progression of I-IV-VI.

[0347] Input: Frameworked melody data.

[0348] Output: Key information and chord progression data.

[0349] Step 7:

[0350] The server generates the rhythm pattern.

[0351] What it does: Analyzes the rhythmic features of a melody and generates common 4 / 4 beats and other necessary rhythmic patterns.

[0352] Input: Key information and chord progression data.

[0353] Output: Rhythm pattern data.

[0354] Step 8:

[0355] The device sends the recorded voice data to the emotion engine.

[0356] What it does: Sends voice data to an emotion engine in real time or after the fact to analyze the user's emotions.

[0357] Input: Audio data files stored on the device.

[0358] Output: The audio data file sent to the emotion engine.

[0359] Step 9:

[0360] The emotion engine recognizes the user's emotions.

[0361] Specific operation: Performs voice analysis to identify the user's emotion (one of four types: joy, anger, sadness, and happiness).

[0362] Input: The audio data file sent to the emotion engine.

[0363] Output: User emotion data.

[0364] Step 10:

[0365] The server optimizes the music generation process based on the emotional data.

[0366] What it does: It adapts the melody, key, chord progression, and rhythmic patterns to match the user's emotions. For example, if joy is detected, it uses bright major chords and pop rhythmic patterns.

[0367] Input: User emotion data, melody data, chord progression data, rhythm pattern data.

[0368] Output: Emotionally arranged music data.

[0369] Step 11:

[0370] The server generates the music tracks.

[0371] What you will do: Use a DAW (Digital Audio Workstation) tool to combine melody, chord progressions, and rhythmic patterns to produce the final song track.

[0372] Input: Music data arranged based on emotions.

[0373] Output: A finished song track.

[0374] Step 12:

[0375] The device receives and plays the music track.

[0376] Specific operation: The device receives the music track sent from the server and plays it using the built-in sound player, allowing the user to enjoy the generated music.

[0377] Input: A completed song track.

[0378] Output: The song that the user plays.

[0379] (Application example 2)

[0380] 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."

[0381] Conventional music generation systems simply generate melodies and rhythms based on audio data without considering the user's emotions. This prevents users from generating music based on specific emotions, limiting the user experience. Furthermore, there is no way to automatically provide music that fits the user's emotions, requiring the user to manually arrange the music themselves. To solve these problems, a system is needed that recognizes the user's emotions and generates and arranges music based on that data.

[0382] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[0383] In this invention, the server includes means for analyzing audio data and extracting pitch and rhythm, means for constructing a melody from the extracted pitch and generating a key and chord progression, means for generating a rhythm pattern based on the generated melody, key, and chord progression, emotion recognition means for recognizing the user's emotions, and means for arranging music based on the emotion data. This makes it possible for a user to simply hum or whistle and have an original piece of music automatically generated that fits the user's emotions.

[0384] (definition statement)

[0385] "Means for accepting voice input" refers to a device or software that records voice data such as a user's humming or whistling and inputs it into the system.

[0386] "Means for analyzing audio data and extracting pitch and rhythm" refers to a technology that analyzes pitch and rhythm patterns from recorded audio data and extracts them as numerical data.

[0387] The "means for constructing a melody from extracted pitches and generating a key and chord progression" is an algorithm that creates the main melody of a song based on analyzed pitch data, and then determines the key and chord progression that are appropriate for that melody.

[0388] "Means for generating a rhythm pattern based on the generated melody, key, and chord progression" refers to a method for determining the rhythm of the entire song based on existing melody, key, and chord progression information.

[0389] "Emotion recognition means for recognizing user emotions" refers to a system or technology for identifying a user's emotions from recorded voice data and handling them as digital signals.

[0390] "Means for arranging music based on emotional data" refers to the process of utilizing the recognized emotional data of a user, adjusting the melody, key, chord progression, and rhythm pattern to be optimized for that data, and arranging the entire music piece.

[0391] "Means for playing back arranged music tracks" refers to a device or software that transmits the final music data generated to a user terminal as a sound file, allowing the user to play back and enjoy the music.

[0392] MODE FOR CARRYING OUT THE INVENTION

[0393] The system for implementing the present invention comprises the following components and processing steps.

[0394] 1. System Overview

[0395] This system generates and plays original music based on the user's humming or whistling, and also has the ability to recognize the user's emotions and optimize the music based on those emotions.

[0396] 2. Hardware and Software Used

[0397] The system includes the following hardware and software:

[0398] Device: A smartphone, tablet, or head-mounted display on which the user records their hum or whistle.

[0399] Server: A cloud server that analyzes audio data and generates music.

[0400] Emotion Recognition Engine: An AI model that recognizes user emotions from voice.

[0401] 3. Acquiring and Processing Audio Data

[0402] The user starts the dedicated application and presses the "record" button to record a tune or whistle. The recorded data is saved on the device and sent to the server.

[0403] 4. Analysis of audio data

[0404] The server first removes noise from the audio data. For example, it uses the Librosa library for this process. Next, it performs pitch detection and extracts pitch information from the audio data. The extracted pitch data is then analyzed to construct a melody. During this process, pitch correction is performed to generate an accurate melody.

[0405] 5. Generating Musical Elements

[0406] The server identifies the key of the song from the melody and generates the appropriate chord progression using Pitch Class Profile and the Krumhansl-Schmuckler Key-Finding Algorithm, and also automatically generates rhythmic patterns.

[0407] 6. Emotion Recognition and Music Arrangement

[0408] The recorded voice data is also sent to the emotion engine, which recognizes the user's emotions using a pre-trained Tensorflow® emotion model. Based on the emotion data, the generated melody, key, chord progression, and rhythmic pattern are optimized.

[0409] 7. Creating and Playing Music Tracks

[0410] Once all the elements are in place, the server uses a digital audio workstation (DAW) tool to combine the melody, chord progression, and rhythmic patterns to generate a complete song track, which is then sent to the device as a sound file, where users can play and enjoy the song within the app.

[0411] Specific examples

[0412] Example 1

[0413] The user starts the app, presses the "record" button, and hums. The humming recording is sent by the device to the server and simultaneously sent to the emotion engine.

[0414] The server removes noise from the audio data, extracts the pitch, and corrects it if necessary.

[0415] The emotion engine recognizes the user's emotion, for example, the emotion "joy."

[0416] The server identifies the key and chord progression from the melody and generates a rhythm pattern.

[0417] The music is arranged based on the emotional data, and the final music track is sent to the device.

[0418] The user can then play and enjoy the music.

[0419] Prompt Sentence Examples

[0420] "Provide music generated from the user's humming, arranged based on the recognized emotion data. For example, if the emotion of joy is recognized, use upbeat major chords and a pop rhythm."

[0421] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0422] Detailed explanation of the program's processing steps

[0423] Step 1: Record and send

[0424] The user launches the application, presses the record button, and records a hum or whistle. The recorded data is temporarily stored on the device and then automatically sent to the server. The same data is also sent to the emotion engine.

[0425] Input: User's humming or whistling audio

[0426] Output: Recorded audio data file

[0427] Step 2: Noise reduction

[0428] The server runs a noise reduction process on the received audio data, using the Librosa library to remove background noise and unwanted sounds, resulting in cleaned audio data.

[0429] Input: Recorded audio data file

[0430] Output: Noise-removed audio data

[0431] Step 3: Pitch extraction

[0432] The server runs a pitch detection algorithm on the noise-removed audio data, extracting pitch information from the audio data using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF).

[0433] Input: Noise-removed audio data

[0434] Output: Extracted pitch data

[0435] Step 4: Melody construction and pitch correction

[0436] The server detects onsets based on the extracted pitch data and constructs a melody, correcting the pitch using techniques such as pitch shifting to generate an accurate melody.

[0437] Input: extracted pitch data

[0438] Output: Corrected melody data

[0439] Step 5: Generate a key and chord progression

[0440] The server applies algorithms to identify the key of the song from the melody, such as the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm, and dynamically generates an appropriate chord progression based on this key information.

[0441] Input: Corrected melody data

[0442] Output: Key information and chord progression data

[0443] Step 6: Generate rhythmic patterns

[0444] The server generates corresponding beats and rhythm patterns based on the rhythmic features of the melody. The generated rhythm patterns are expressed as standard beats such as 4 / 4 time.

[0445] Input: Key information and chord progression data

[0446] Output: Rhythm pattern data

[0447] Step 7: Emotion Recognition

[0448] The emotion engine recognizes the user's emotions from recorded voice data. A pre-trained TensorFlow emotion model is used for emotion recognition. The four types of emotions that can be recognized are joy, anger, sadness, and happiness.

[0449] Input: Recorded audio data

[0450] Output: Recognized emotion data

[0451] Step 8: Arrange your music based on emotion

[0452] The server then uses the emotional data obtained from the emotion engine to arrange the melody, key, chord progression, and rhythmic pattern to suit the emotion. For example, if the emotion of joy is recognized, the server will use more upbeat major chords and incorporate pop rhythmic patterns.

[0453] Input: Melody, key, chord progression, rhythm pattern, recognized emotion data

[0454] Output: Arranged music data

[0455] Step 9: Generate and play music tracks

[0456] The server uses a digital audio workstation (DAW) tool to combine the arranged melody, chord progression, and rhythm pattern to generate a musical track, which is then sent to the terminal as a sound file for the user to play and enjoy.

[0457] Input: Arranged music data

[0458] Output: Music track sound file

[0459] The above are the specific processing steps in the embodiment for carrying out the invention.

[0460] 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.

[0461] 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.

[0462] 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.

[0463] [Second embodiment]

[0464] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.

[0465] 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.

[0466] 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).

[0467] 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.

[0468] 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.

[0469] 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).

[0470] 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. 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.

[0471] 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.

[0472] 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.

[0473] 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.

[0474] 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.

[0475] 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."

[0476] This invention is a composition assistance system that allows a user to simply hum or whistle and generate and play back original music based on that tune. Specific embodiments of this system are described below.

[0477] System Overview

[0478] The system of the present invention accepts voice input, analyzes the voice data to generate a melody, key, chord progression, and rhythm pattern, and finally plays back a musical track that combines these. This system is mainly composed of a user, a terminal, and a server.

[0479] Audio Input and Recording

[0480] Users can launch the application and press the record button to record humming or whistling, which is then saved on the device and sent to the server.

[0481] Analysis of voice data

[0482] The server first performs a noise reduction process on the audio data it receives, eliminating background noise and unwanted sounds to obtain clean audio data. Next, it uses a pitch detection algorithm to extract pitch information from the audio data. Specifically, techniques such as Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF) are used.

[0483] Pitch correction and melody extraction

[0484] The server analyzes the pitch data, performs onset detection, and constructs a melody. If necessary, it applies pitch correction algorithms to generate an accurate melody. Techniques such as pitch shifting ensure that the user's humming is expressed as the intended melody.

[0485] Key and chord progression generation

[0486] The server applies an algorithm to identify the key of the song from the melody. This algorithm uses the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm. Based on this key information, an appropriate chord progression is dynamically generated. For example, for a song in the key of C major, a basic chord progression of I-IV-VI is generated.

[0487] Rhythm pattern generation

[0488] The server generates corresponding beats and rhythm patterns based on the rhythmic features of the melody. The generated rhythm patterns are expressed as standard beats such as 4 / 4 time.

[0489] Arranging and playing music tracks

[0490] Once all the elements are ready, the server uses a DAW (Digital Audio Workstation) tool to combine melodies, chord progressions, and rhythmic patterns to create a musical track. The completed musical track is then sent to the device as a sound file. The device receives the file and plays it using its built-in sound player. Finally, the user can enjoy the music they created.

[0491] Specific examples

[0492] For example, a user launches the app, presses the "record" button, and hums. This humming recording is then sent by the device to the server. The server then removes noise from the audio data, extracts the pitch, and corrects it if necessary. It then identifies the key from the melody and generates, for example, a chord progression of I-IV-VI in the key of C major. It then generates a rhythmic pattern based on the melody and chord progression, arranges the final song track, and sends it to the device. The user can then play and enjoy the song.

[0493] In this way, the system of the present invention allows anyone to easily create sophisticated musical pieces from humming or whistling.

[0494] The processing flow will be explained below.

[0495] Step 1:

[0496] The user launches the app and presses the "Record" button. The device then records the user's humming or whistling through the microphone.

[0497] Step 2:

[0498] When the recording is finished, the device temporarily saves the recorded voice data and displays a stop recording button. When the user presses the stop recording button, the device sends the voice data to the server.

[0499] Step 3:

[0500] The server receives the audio data and applies a noise reduction filter to the received audio data to remove background noise.

[0501] Step 4:

[0502] The server then applies a pitch detection algorithm to the noise-removed audio data to extract pitch information, using techniques such as Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF).

[0503] Step 5:

[0504] The server detects onsets based on the extracted pitch information and constructs a melody. If necessary, it applies pitch correction algorithms such as pitch shifting to convert it into an accurate melody.

[0505] Step 6:

[0506] The server analyzes the melody information and identifies the key of the song using the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm.

[0507] Step 7:

[0508] The server generates an appropriate chord progression based on the specified key, for example, for the key of C major, it generates a chord progression of I-IV-VI.

[0509] Step 8:

[0510] The server analyzes rhythmic features based on the generated melody and chord progression to generate rhythm patterns. It automatically generates drum patterns such as basic 4 / 4 beats.

[0511] Step 9:

[0512] The server integrates the generated melodies, chord progressions, and rhythm patterns and arranges the music track using a DAW (Digital Audio Workstation) tool.

[0513] Step 10:

[0514] The server renders the arranged music track as a digital audio file and transmits the file to the device.

[0515] Step 11:

[0516] The device then plays the received audio file on a sound player, allowing the user to enjoy listening to the completed song.

[0517] Example 1

[0518] 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."

[0519] Conventional music production methods require specialized knowledge and advanced skills, making it difficult for average users to create music on their own. Furthermore, there is a lack of effective methods for processing recorded audio with inaccurate pitch or noise, making it difficult to create music of satisfactory quality. This invention solves these problems by providing a composition assistance system that allows anyone to easily create high-quality music.

[0520] 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.

[0521] In this invention, the server includes means for analyzing audio data and extracting pitches and rhythms, means for constructing a melody from the extracted pitches and generating a key and chord progression, and means for integrating the generated melody, key, chord progression, and rhythm patterns to create a musical track. This allows a user to automatically generate professional-quality music based on audio data input by simple methods such as humming or whistling.

[0522] "Means for accepting voice input" refers to devices or software that allow a user to input voice, such as humming or whistling, and primarily includes microphones and recording applications.

[0523] "Means for analyzing audio data and extracting pitch and rhythm" refers to algorithms and software for extracting pitch and rhythm (timing) information from input audio data, and specifically includes pitch detection algorithms and onset detection technology.

[0524] "Means for constructing a melody from extracted pitches and generating a key and chord progression" refers to algorithms or software that construct a melody line based on analyzed pitch information and automatically generate a key and chord progression suitable for that melody.

[0525] "Means for generating rhythmic patterns based on the generated melody, key, and chord progression" refers to algorithms or software for creating rhythmic patterns based on the generated melody and its corresponding chord progression, including, for example, beat generation algorithms.

[0526] "Means for integrating the generated melody, key, chord progression, and rhythm pattern to arrange a musical track" refers to software or tools for assembling each element (melody, key, chord progression, rhythm pattern) into a single musical track and arranging it, including digital audio workstations (DAWs).

[0527] "Means for playing the arranged music track" refers to devices or software that ultimately play the created music track so that the user can listen to it, and primarily refers to sound players and audio playback functions.

[0528] This invention is a composition assistance system that automatically generates original music pieces by simply inputting a user's voice, such as humming or whistling. The system is primarily composed of a user, a terminal, and a server, and generates high-quality music pieces through the cooperation of these elements. The details are described below.

[0529] Audio Input and Recording

[0530] The user launches a dedicated application on their smartphone or tablet (device). The application is developed using Python, Swift, Java, etc. The user presses the "record" button in the application and records a tune or whistle. The device temporarily stores the recorded audio data in local storage (e.g., SQLite).

[0531] Sending recording data

[0532] The device sends the recorded audio data to the server using HTTP or HTTPS requests, typically managed by a web framework such as Flask or Django.

[0533] Analysis of voice data

[0534] The server receives the audio data and performs noise reduction using the Librosa library. Then, pitch information is extracted from the noise-removed audio data using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF). This allows the melody and rhythm of the humming or whistling to be analyzed.

[0535] Pitch correction and melody generation

[0536] The server analyzes the pitch data and performs onset detection (detection of the beginning of a note) to construct a melody. This process uses techniques such as DTW (Dynamic Time Warping). If necessary, pitch correction algorithms such as pitch shifting are applied to generate an accurate melody.

[0537] Key and chord progression generation

[0538] The server applies the Pitch Class Profile (PCP) and Krumhansl-Schmuckler algorithms to identify the key of the song from the generated melody. Based on the identified key, an appropriate chord progression is dynamically generated. For example, if the generated melody is in the key of C major, the basic chord progression I-IV-VI is automatically selected.

[0539] Rhythm pattern generation

[0540] The server generates rhythmic patterns based on the melody and chord progression, applying a common 4 / 4 beat using the MIDIUtil library.

[0541] Arranging and sending your music tracks

[0542] The server uses a DAW (Digital Audio Workstation) tool (e.g., Ableton Live or Logic Pro) to combine melodies, chord progressions, and rhythmic patterns to arrange the final song track, which is then exported as a sound file in MP3 or WAV format and sent to the device using an HTTP or HTTPS request.

[0543] Playing songs

[0544] By playing the sound files received from the server on the device using the built-in sound player, users can enjoy the music they have created.

[0545] Specific examples

[0546] For example, a user launches the app, presses the "Record" button, and hums. This humming recording is saved on the device and sent to the server. The server uses Librosa to remove noise from the audio data, ACF to extract pitch, and DTW to correct it. It then uses PCP to identify the C major key and generate a I-IV-VI chord progression. MIDIUtil generates a rhythmic pattern, and Ableton Live arranges the final song track. The completed track is sent to the device as a sound file, allowing the user to play and enjoy the song.

[0547] Prompt Sentence Examples

[0548] "Generate original music by analyzing your humming. Denoise the audio data, generate melody, key, chord progression, and rhythmic patterns, and output a unified music track."

[0549] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0550] Step 1:

[0551] The user launches a dedicated application on their smartphone or tablet, which is developed using Python, Swift, Java, or other programming languages.

[0552] Input: Launch application.

[0553] Output: The application UI is displayed and voice input is possible.

[0554] Specific operation: The user presses the record button to record a tune or whistle. The recorded audio data is temporarily stored in the device's local storage (e.g., SQLite).

[0555] Step 2:

[0556] The device sends the recorded audio data to the server.

[0557] Input: Recorded audio data (file format: WAV, MP3, etc.).

[0558] Output: The audio data sent to the server.

[0559] What it does: The device uploads audio data to a server using an HTTP or HTTPS request, using a web framework like Flask or Django.

[0560] Step 3:

[0561] The server receives the audio data and performs noise reduction using the Librosa library.

[0562] Input: The audio data sent to the server.

[0563] Output: Denoised audio data.

[0564] Specific operation: The server reads the audio file using the Librosa library, performs spectral analysis, removes noise components, and generates cleared data.

[0565] Step 4:

[0566] The server extracts pitch information using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF).

[0567] Input: Denoised audio data.

[0568] Output: Pitch information.

[0569] How it works: The server uses Librosa or other audio processing libraries to calculate the number of zero crossings and autocorrelation function of the audio data, and based on this, identifies the pitch.

[0570] Step 5:

[0571] The server analyzes the pitch data, performs onset detection, and constructs a melody.

[0572] Input: Pitch information.

[0573] Output: Melody information.

[0574] Specific operation: The server performs onset detection using algorithms such as DTW (Dynamic Time Warping) and Hidden Markov Model (HMM), and generates a melody line based on continuous pitch data.

[0575] Step 6:

[0576] The server identifies the key of the song from the generated melody and generates a chord progression.

[0577] Input: Melody information.

[0578] Output: Key information and chord progression (e.g., I-IV-VI progression in the key of C major).

[0579] Specific operation: The server uses Pitch Class Profile (PCP) and Krumhansl-Schmuckler algorithms to analyze the pitch distribution of the melody, identify the appropriate key, and generate a chord progression based on that.

[0580] Step 7:

[0581] The server generates rhythmic patterns based on melody, key, and chord progression.

[0582] Input: Melody information, key information, chord progression.

[0583] Output: Rhythm pattern.

[0584] Specific operation: The server uses libraries such as MIDIUtil and FluidSynth to create a rhythm that matches the specified beat pattern (for example, 4 / 4 time).

[0585] Step 8:

[0586] The server arranges the music track by integrating melodies, chord progressions, and rhythmic patterns.

[0587] Input: Melody information, key information, chord progression, rhythm pattern.

[0588] Output: Finished song track (file format: MP3, WAV, etc.).

[0589] What it does: The server uses a DAW (Digital Audio Workstation) tool (such as Ableton Live or Logic Pro) to combine these elements and generate a professional music track.

[0590] Step 9:

[0591] The server sends the completed music track to the device.

[0592] Input: Your finished song track.

[0593] Output: The music track sent to your device.

[0594] What happens: The server sends the generated audio file to the device using an HTTP or HTTPS request.

[0595] Step 10:

[0596] The device will play the received sound file using the built-in sound player.

[0597] Input: The music track received by the device.

[0598] Output: The user can listen to the song.

[0599] What happens: The device's sound player application loads the audio file and plays it through speakers or headphones, allowing the user to enjoy the resulting music.

[0600] (Application example 1)

[0601] 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."

[0602] Conventional composition support systems lack the functionality to share the music created by users who create music by humming or whistling with others, making it difficult for users to easily spread their own original music. The present invention aims to solve this problem by providing a system that allows users to easily share the music they create.

[0603] 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.

[0604] In this invention, the server includes means for accepting voice input, means for analyzing the voice data and extracting pitches and rhythms, means for constructing a melody from the extracted pitches and generating a key and chord progression, means for generating a rhythm pattern based on the generated melody, key, and chord progression, means for playing the arranged music track, and means for sharing the generated music track on an external digital platform, thereby enabling users to easily spread their original music.

[0605] The "means for accepting voice input" is a device or function that allows the user to record voice such as humming or whistling.

[0606] "Means for analyzing audio data and extracting pitch and rhythm" refers to a device or function that analyzes pitch information and rhythm patterns from recorded audio data.

[0607] "Means for constructing a melody from extracted intervals and generating a key and chord progression" refers to a device or function that forms a melody based on analyzed interval data and generates the key of a song and the chords required for its progression.

[0608] "Means for generating rhythmic patterns based on the generated melody, key, and chord progression" refers to a device or function that creates rhythmic patterns that fit the already generated melody, key, and chord progression.

[0609] The "means for playing back the arranged music track" refers to a device or function for outputting and playing back the final music track as audio.

[0610] "Means for sharing the created music tracks on external digital platforms" refers to devices or functions for sharing the created music tracks on digital platforms such as external services or social networking sites via the Internet.

[0611] This invention relates to a system that allows users to record humming or whistling, generate original music based on the recording, and ultimately share the music on a digital platform. The system includes means for accepting audio input, means for analyzing the audio data and extracting pitch and rhythm, means for generating key and chord progressions, means for generating rhythm patterns, means for playing music tracks, and means for sharing the generated music tracks on an external digital platform. Specific embodiments of this system are described below.

[0612] Hardware and software used

[0613] 1. Hardware

[0614] Smartphone (iOS or Android)

[0615] 2. Software

[0616] Audio processing library: Librosa as an example

[0617] Digital Audio Workstation (DAW) tools, such as FL Studio or Ableton Live

[0618] Cloud servers: Examples include Amazon Web Services (AWS) and Google Cloud

[0619] System processing procedure

[0620] 1. Audio Input and Recording

[0621] The user launches the smartphone application and presses the record button, recording humming or whistling with the smartphone's microphone and saving it as a .wav audio file.

[0622] 2. Analysis of audio data

[0623] The recorded audio file is sent to a cloud server, where noise is removed using an audio processing library such as Librosa.

[0624] Pitch information and rhythm patterns are analyzed from noise-removed audio data using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF).

[0625] 3. Extracting pitch and melody

[0626] The server analyzes the pitch data and constructs a melody from the extracted pitches, correcting the pitch as needed to produce an accurate, precise melody.

[0627] 4. Generating Keys and Chord Progressions

[0628] The server uses the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm to identify the key of the song and generate an appropriate chord progression.

[0629] 5. Rhythm Pattern Generation

[0630] The server generates rhythmic patterns based on the generated melody and chord progression, using standard 4 / 4 time signatures.

[0631] 6. Arranging and Playing Music Tracks

[0632] The server uses the DAW tool to combine melody, key, chord progressions, and rhythmic patterns to arrange the music track.

[0633] The generated music track is sent to the smartphone as a sound file and played using the sound player within the app.

[0634] 7. Sharing on digital platforms

[0635] The generated music tracks can be shared on social media and other music platforms via a smartphone application.

[0636] Specific examples

[0637] For example, a user launches the app, presses the "record" button, and records a hum. The recording is then sent by the smartphone to the server, which removes noise from the audio data and extracts pitch. Pitch correction is performed as needed, and a melody is generated. The server then generates a chord progression of I-IV-VI in the key of C major and combines it with rhythmic patterns to create a complete song track. The song track is then sent to the smartphone, where it can be played within the app and shared on social media and music platforms.

[0638] Example prompt for a generative AI model:

[0639] "Generate a melody and chord progression using a user-recorded humming tune. The generated melody should be in the key of C major with a I-IV-VI chord progression. The rhythm pattern should be constructed in 4 / 4 time."

[0640] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0641] Step 1:

[0642] Audio Input and Recording

[0643] The user launches the smartphone application and presses the record button to record a hum or whistle. As input, the user's voice is captured through the smartphone's microphone. As output, the recorded voice data is saved in the smartphone's memory as a .wav file.

[0644] Step 2:

[0645] Sending audio data

[0646] The device sends the recorded audio file to the cloud server. The audio data stored in the device's file system is used as input. The audio data is uploaded to the cloud server via the Internet as output.

[0647] Step 3:

[0648] Noise Reduction

[0649] The server performs noise reduction on the received audio data. It uses an audio processing library such as Librosa to remove background noise. The input is the audio data uploaded to the cloud server. The output is clean audio data with the noise removed.

[0650] Step 4:

[0651] Pitch and rhythm extraction

[0652] The server analyzes pitch information and rhythm patterns from the noise-removed audio data using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF). Clean audio data is used as input. The extracted pitch and rhythm information is obtained as output.

[0653] Step 5:

[0654] Melody construction and pitch correction

[0655] The server analyzes the extracted pitch data, corrects the pitch as needed, and generates an accurate melody. The analyzed pitch data is used as input, and the corrected melody data is obtained as output.

[0656] Step 6:

[0657] Generating keys and chord progressions

[0658] The server uses the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm to identify the key of the song and generate the appropriate chord progression. The corrected melody data is used as input. The output is the key information and chord progression data of the song.

[0659] Step 7:

[0660] Rhythm pattern generation

[0661] The server generates rhythmic patterns based on the melody, key, and chord progression. The melody, key, and chord progression data are used as input. The output is a rhythmic pattern corresponding to the song.

[0662] Step 8:

[0663] Arranging and creating music tracks

[0664] The server uses a DAW tool to combine melody, key, chord progressions, and rhythmic patterns to arrange a musical track. Melody, key, chord progressions, and rhythmic patterns are used as input. The output is a sound file of the completed musical track.

[0665] Step 9:

[0666] Sending and playing music tracks

[0667] The server sends the sound file of the generated music track to the smartphone. The device plays the received sound file using the sound player in the app. The input is the completed music track sent from the server to the smartphone. The output is the user playing the music and enjoying it.

[0668] Step 10:

[0669] Sharing on digital platforms

[0670] Users share music tracks generated on the smartphone application on social media or other music platforms. As input, music tracks stored on the smartphone are used. As output, the music is shared over the Internet.

[0671] The above is a specific flow of the program processing of the system for realizing the application example.

[0672] 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.

[0673] This invention combines a system that allows a user to simply hum or whistle and generate and play original music based on that tune with an emotion engine that recognizes the user's emotions. Specific embodiments of this system are described below.

[0674] System Overview

[0675] The system of the present invention accepts voice input, analyzes the voice data to generate a melody, key, chord progression, and rhythm pattern, and finally plays back a music track that combines these. It also has an emotion engine that recognizes the user's emotions and optimizes the music generation process based on the emotion data. This system is primarily composed of a user, a terminal, a server, and the emotion engine.

[0676] Audio Input and Recording

[0677] Users can launch the application and press the record button to record humming or whistling, which is then saved on the device and sent to the server.

[0678] Analysis of voice data

[0679] The server first performs a noise reduction process on the audio data it receives, eliminating background noise and unwanted sounds to obtain clean audio data. Next, it uses a pitch detection algorithm to extract pitch information from the audio data. Specifically, techniques such as Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF) are used.

[0680] Pitch correction and melody extraction

[0681] The server analyzes the pitch data, performs onset detection, and constructs a melody. If necessary, it applies pitch correction algorithms to generate an accurate melody. Techniques such as pitch shifting ensure that the user's humming is expressed as the intended melody.

[0682] Key and chord progression generation

[0683] The server applies an algorithm to identify the key of the song from the melody. This algorithm uses the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm. Based on this key information, an appropriate chord progression is dynamically generated. For example, for a song in the key of C major, a basic chord progression of I-IV-VI is generated.

[0684] Rhythm pattern generation

[0685] The server generates corresponding beats and rhythm patterns based on the rhythmic features of the melody. The generated rhythm patterns are expressed as standard beats such as 4 / 4 time.

[0686] Emotion recognition by emotion engine

[0687] The device sends the recorded voice data to the emotion engine, which then analyzes the voice to recognize the user's emotions. The emotions that can be recognized are, for example, four types: joy, anger, sadness, and pleasure.

[0688] Emotional music arrangement

[0689] Based on the emotional data obtained from the emotion engine, the server arranges the melody, key, chord progression, and rhythm pattern to suit the emotion. For example, if the emotion of joy is recognized, it will use more upbeat major chords and incorporate pop rhythm patterns.

[0690] Arranging and playing music tracks

[0691] Once all the elements are ready, the server uses a DAW (Digital Audio Workstation) tool to combine the melody, chord progression, and rhythm pattern to create a musical track. The completed musical track is then sent to the device as a sound file. The device receives the file and plays it using its built-in sound player. The user can then enjoy the music that best suits their emotions.

[0692] Specific examples

[0693] For example, a user launches the app, presses the "record" button, and hums. This humming recording is sent by the device to the server and simultaneously to the emotion engine. The server removes noise from the audio data, extracts pitch, and corrects it as necessary. The emotion engine recognizes the user's emotion, e.g., "joy." The server identifies the key and chord progression from the melody and generates a rhythmic pattern. The server arranges the music based on the emotion data and sends the final music track to the device. The user can then play and enjoy the music.

[0694] In this way, the system of the present invention enables anyone to easily create sophisticated music from humming or whistling, and further enables the music to fit the user's emotions.

[0695] The processing flow will be explained below.

[0696] Step 1:

[0697] The user launches the app and presses the "Record" button. The device then records the user's humming or whistling through the microphone.

[0698] Step 2:

[0699] When the recording is finished, the device temporarily saves the recorded voice data and displays a stop recording button. When the user presses the stop recording button, the device sends the voice data to the server and the emotion engine.

[0700] Step 3:

[0701] The server receives the audio data and applies a noise reduction filter to remove background noise to obtain cleared audio data.

[0702] Step 4:

[0703] The server extracts pitch information from the noise-removed audio data using a pitch detection algorithm (Zero Crossing Rate (ZCR) or Auto Correlation Function (ACF)).

[0704] Step 5:

[0705] The server detects onsets based on the extracted pitch information and constructs a melody. If necessary, it applies pitch correction algorithms such as pitch shifting to convert it into an accurate melody.

[0706] Step 6:

[0707] The server analyzes the melody information and identifies the key of the song using the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm.

[0708] Step 7:

[0709] The server generates an appropriate chord progression based on the specified key, for example, for the key of C major, it generates a chord progression of I-IV-VI.

[0710] Step 8:

[0711] The server analyzes rhythmic features based on the generated melody and chord progression to generate rhythm patterns. It automatically generates drum patterns such as basic 4 / 4 beats.

[0712] Step 9:

[0713] The emotion engine recognizes emotions from the user's voice input data, for example, identifying the user's emotions of joy, anger, sadness, and happiness through voice analysis.

[0714] Step 10:

[0715] Based on the emotional data obtained from the emotion engine, the server arranges the melody, key, chord progression, and rhythm pattern to suit the emotion. For example, for "Joy," it uses a lot of bright major chords and applies a pop rhythm pattern.

[0716] Step 11:

[0717] The server integrates the generated melodies, chord progressions, and rhythm patterns and arranges the music track using a DAW (Digital Audio Workstation) tool.

[0718] Step 12:

[0719] The server renders the arranged music track as a digital audio file and transmits the file to the device.

[0720] Step 13:

[0721] The device then plays the received audio file on a sound player, allowing the user to enjoy listening to the completed song.

[0722] Example 2

[0723] 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."

[0724] Conventional music generation systems simply generate melodies, keys, chord progressions, and rhythm patterns from voice input, but are unable to generate music that perfectly matches the user's emotions. This makes it difficult for users to easily create and enjoy music that matches their own feelings and atmosphere. Furthermore, there is also the problem that the quality of the generated music deteriorates when voice data contains noise.

[0725] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[0726] In this invention, the server includes means for accepting voice input, means for analyzing the voice data and extracting pitch and rhythm, means for constructing a melody from the extracted pitch and generating a key and chord progression, means for generating a rhythm pattern based on the generated melody, key, and chord progression, means for recognizing a user's emotion, means for optimizing the music generation process based on the recognized emotion data, and means for playing back the arranged music track, thereby enabling high-quality music that fits the user's emotion to be automatically generated and enjoyed.

[0727] A "means for accepting audio input" is a device or software interface that allows a user to record themselves humming or whistling.

[0728] "Means for analyzing audio data and extracting pitch and rhythm" refers to algorithms or software that has the function of analyzing and extracting pitch information and rhythm patterns from recorded audio data.

[0729] The "means for constructing a melody and generating a key and chord progression" is an algorithm that creates a melody line for a song from the extracted pitch information, determines the key of the entire song, and then performs processing to generate a chord progression based on that.

[0730] The "means for generating rhythm patterns" refers to software or algorithms that have the function of designing rhythm patterns based on the generated melody and chord progression, and forming the beats required for the song.

[0731] "Means for recognizing user emotions" refers to software or algorithms that analyze voice data to identify the user's emotional state.

[0732] "Means for optimizing the music generation process based on recognized emotional data" refers to software or algorithms that utilize the user's emotional data to adjust the melody, key, chord progression, and rhythmic patterns of a song to match the user's emotions.

[0733] "Means for playing the arranged musical track" means a device or software interface for playing the created musical track.

[0734] This invention is a system that allows users to generate and play original music by providing voice input such as humming or whistling. It also recognizes the user's emotions and optimizes the music generation process based on those emotions. The system primarily consists of a user, a terminal, a server, and an emotion engine.

[0735] Audio Input and Recording

[0736] The user launches the application, presses the record button, and begins humming or whistling. The recorded audio data is saved on the device and then sent to the server. The hardware used is a mobile device such as a smartphone or tablet, and application software with a recording function is used.

[0737] Analysis of voice data

[0738] The server first performs a noise reduction process on the received audio data. Specific algorithms include Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF) to eliminate background noise and unwanted sounds. Next, a pitch detection algorithm is used to extract pitch information. At this stage, phonemes are identified,

[0739] Onset detection identifies the location of the beginning of a sound.

[0740] Melody and chord progression generation

[0741] The server analyzes the pitch data and constructs a melody. During this process, pitch correction algorithms (e.g., pitch shifting) are applied to generate an accurate melody line. Next, to identify the key of the song from the generated melody, the server uses Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm. Based on this key information, an appropriate chord progression is dynamically generated. For example, in the key of C major, a basic chord progression of I-IV-VI is created.

[0742] Rhythm pattern generation

[0743] The server analyzes the rhythmic characteristics of the melody and generates a corresponding rhythm pattern. The standard 4 / 4 beat is often used, but other beats and rhythm patterns can also be generated as needed.

[0744] Emotion recognition by emotion engine

[0745] The device sends the recorded voice data to the emotion engine, which analyzes the voice data to recognize the user's emotions. The four recognized emotions are joy, anger, sadness, and pleasure. This emotion data is sent to the server and incorporated into the music generation process.

[0746] Music arrangement based on emotional data

[0747] The server then uses the emotional data obtained from the emotion engine to arrange the melody, key, chord progression, and rhythm pattern to suit the emotion. For example, if the emotion of joy is recognized, bright major chords and pop rhythm patterns will be used.

[0748] Creating and playing music tracks

[0749] The server uses a DAW (Digital Audio Workstation) tool to combine melodies, chord progressions, and rhythmic patterns to generate the final music track. This music track is then sent to the device as a sound file. The device receives this file and plays it using its built-in sound player. The user can then enjoy music that matches their own emotions.

[0750] Specific examples

[0751] For example, a user launches the app, presses the "record button," and hums. This humming recording is sent by the device to the server and simultaneously to the emotion engine. The server removes noise from the audio data, extracts pitch, and corrects it as necessary. The emotion engine recognizes the user's emotion, e.g., "joy." The server identifies the key and chord progression from the melody and generates a rhythmic pattern. The server arranges the music based on the emotion data and sends the final music track to the device. The user can then play and enjoy the music.

[0752] Prompt Sentence Examples

[0753] "Describe a system that allows a user to record themselves humming and then generate and play back original music from that recording. The system recognizes the user's emotions and incorporates that information into the music-generation process. Please name any specific hardware or software and describe each step of the process in detail."

[0754] In this way, the system of the present invention enables anyone to easily create sophisticated music from humming or whistling, and further enables the music to fit the user's emotions.

[0755] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0756] Step 1:

[0757] The user launches the application and presses the "record" button to record a hum or whistle.

[0758] Specific behavior: When a user presses the record button on the mobile app, the recording function starts and records the user's humming or whistling. When the recording is finished, the user presses the stop button.

[0759] Input: Audio of the user humming or whistling.

[0760] Output: Audio data file saved on your device.

[0761] Step 2:

[0762] The device transmits the stored voice data to the server.

[0763] Specific operation: After recording is completed, the device sends the audio data file to the server using an HTTP POST request.

[0764] Input: Audio data files stored on the device.

[0765] Output: The audio data file sent to the server.

[0766] Step 3:

[0767] The server performs a noise removal process on the received audio data.

[0768] What it does: The server uses algorithms such as Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF) to filter out background noise and unwanted sounds.

[0769] Input: The audio data file sent to the server.

[0770] Output: Cleaned audio data with noise removed.

[0771] Step 4:

[0772] The server detects the pitch from the clarified voice data.

[0773] What it does: It applies a pitch detection algorithm to extract pitch information from audio data. At this stage, it identifies phonemes and uses onset detection to determine the beginning of a sound.

[0774] Input: Cleaned audio data with noise removed.

[0775] Output: A dataset containing pitch information.

[0776] Step 5:

[0777] The server analyzes the pitch data and constructs a melody.

[0778] What it does: It uses pitch correction algorithms (e.g., pitch shifting) to adjust the pitch of what the user is humming or whistling to represent the intended melody, and onset detection to capture the rhythm and timing of the melody.

[0779] Input: A dataset containing pitch information.

[0780] Output: The frameworked melody data.

[0781] Step 6:

[0782] The server identifies the key and chord progression from the melody.

[0783] What it does: It applies the Pitch Class Profile (PCP) and Krumhansl-Schmuckler Key-Finding Algorithm to identify the key of the melody and generate an appropriate chord progression based on that. For example, in the key of C major, it generates a basic chord progression of I-IV-VI.

[0784] Input: Frameworked melody data.

[0785] Output: Key information and chord progression data.

[0786] Step 7:

[0787] The server generates the rhythm pattern.

[0788] What it does: Analyzes the rhythmic features of a melody and generates common 4 / 4 beats and other necessary rhythmic patterns.

[0789] Input: Key information and chord progression data.

[0790] Output: Rhythm pattern data.

[0791] Step 8:

[0792] The device sends the recorded voice data to the emotion engine.

[0793] What it does: Sends voice data to an emotion engine in real time or after the fact to analyze the user's emotions.

[0794] Input: Audio data files stored on the device.

[0795] Output: The audio data file sent to the emotion engine.

[0796] Step 9:

[0797] The emotion engine recognizes the user's emotions.

[0798] Specific operation: Performs voice analysis to identify the user's emotion (one of four types: joy, anger, sadness, and happiness).

[0799] Input: The audio data file sent to the emotion engine.

[0800] Output: User emotion data.

[0801] Step 10:

[0802] The server optimizes the music generation process based on the emotional data.

[0803] What it does: It adapts the melody, key, chord progression, and rhythmic patterns to match the user's emotions. For example, if joy is detected, it uses bright major chords and pop rhythmic patterns.

[0804] Input: User emotion data, melody data, chord progression data, rhythm pattern data.

[0805] Output: Emotionally arranged music data.

[0806] Step 11:

[0807] The server generates the music tracks.

[0808] What you will do: Use a DAW (Digital Audio Workstation) tool to combine melody, chord progressions, and rhythmic patterns to produce the final song track.

[0809] Input: Music data arranged based on emotions.

[0810] Output: A finished song track.

[0811] Step 12:

[0812] The device receives and plays the music track.

[0813] Specific operation: The device receives the music track sent from the server and plays it using the built-in sound player, allowing the user to enjoy the generated music.

[0814] Input: A completed song track.

[0815] Output: The song that the user plays.

[0816] (Application example 2)

[0817] 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."

[0818] Conventional music generation systems simply generate melodies and rhythms based on audio data without considering the user's emotions. This prevents users from generating music based on specific emotions, limiting the user experience. Furthermore, there is no way to automatically provide music that fits the user's emotions, requiring the user to manually arrange the music themselves. To solve these problems, a system is needed that recognizes the user's emotions and generates and arranges music based on that data.

[0819] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[0820] In this invention, the server includes means for analyzing audio data and extracting pitch and rhythm, means for constructing a melody from the extracted pitch and generating a key and chord progression, means for generating a rhythm pattern based on the generated melody, key, and chord progression, emotion recognition means for recognizing the user's emotions, and means for arranging music based on the emotion data. This makes it possible for a user to simply hum or whistle and have an original piece of music automatically generated that fits the user's emotions.

[0821] (definition statement)

[0822] "Means for accepting voice input" refers to a device or software that records voice data such as a user's humming or whistling and inputs it into the system.

[0823] "Means for analyzing audio data and extracting pitch and rhythm" refers to a technology that analyzes pitch and rhythm patterns from recorded audio data and extracts them as numerical data.

[0824] The "means for constructing a melody from extracted pitches and generating a key and chord progression" is an algorithm that creates the main melody of a song based on analyzed pitch data, and then determines the key and chord progression that are appropriate for that melody.

[0825] "Means for generating a rhythm pattern based on the generated melody, key, and chord progression" refers to a method for determining the rhythm of the entire song based on existing melody, key, and chord progression information.

[0826] "Emotion recognition means for recognizing user emotions" refers to a system or technology for identifying a user's emotions from recorded voice data and handling them as digital signals.

[0827] "Means for arranging music based on emotional data" refers to the process of utilizing the recognized emotional data of a user, adjusting the melody, key, chord progression, and rhythm pattern to be optimized for that data, and arranging the entire music piece.

[0828] "Means for playing back arranged music tracks" refers to a device or software that transmits the final music data generated to a user terminal as a sound file, allowing the user to play back and enjoy the music.

[0829] MODE FOR CARRYING OUT THE INVENTION

[0830] The system for implementing the present invention comprises the following components and processing steps.

[0831] 1. System Overview

[0832] This system generates and plays original music based on the user's humming or whistling, and also has the ability to recognize the user's emotions and optimize the music based on those emotions.

[0833] 2. Hardware and Software Used

[0834] The system includes the following hardware and software:

[0835] Device: A smartphone, tablet, or head-mounted display on which the user records their hum or whistle.

[0836] Server: A cloud server that analyzes audio data and generates music.

[0837] Emotion Recognition Engine: An AI model that recognizes user emotions from voice.

[0838] 3. Acquiring and Processing Audio Data

[0839] The user starts the dedicated application and presses the "record" button to record a tune or whistle. The recorded data is saved on the device and sent to the server.

[0840] 4. Analysis of audio data

[0841] The server first removes noise from the audio data. For example, it uses the Librosa library for this process. Next, it performs pitch detection and extracts pitch information from the audio data. The extracted pitch data is then analyzed to construct a melody. During this process, pitch correction is performed to generate an accurate melody.

[0842] 5. Generating Musical Elements

[0843] The server identifies the key of the song from the melody and generates the appropriate chord progression using Pitch Class Profile and the Krumhansl-Schmuckler Key-Finding Algorithm, and also automatically generates rhythmic patterns.

[0844] 6. Emotion Recognition and Music Arrangement

[0845] The recorded audio data is also sent to the emotion engine, which uses a pre-trained TensorFlow emotion model to recognize the user's emotions. Based on the emotion data, the generated melody, key, chord progression, and rhythmic pattern are optimized.

[0846] 7. Creating and Playing Music Tracks

[0847] Once all the elements are in place, the server uses a digital audio workstation (DAW) tool to combine the melody, chord progression, and rhythmic patterns to generate a complete song track, which is then sent to the device as a sound file, where users can play and enjoy the song within the app.

[0848] Specific examples

[0849] Example 1

[0850] The user starts the app, presses the "record" button, and hums. The humming recording is sent by the device to the server and simultaneously sent to the emotion engine.

[0851] The server removes noise from the audio data, extracts the pitch, and corrects it if necessary.

[0852] The emotion engine recognizes the user's emotion, for example, the emotion "joy."

[0853] The server identifies the key and chord progression from the melody and generates a rhythm pattern.

[0854] The music is arranged based on the emotional data, and the final music track is sent to the device.

[0855] The user can then play and enjoy the music.

[0856] Prompt Sentence Examples

[0857] "Provide music generated from the user's humming, arranged based on the recognized emotion data. For example, if the emotion of joy is recognized, use upbeat major chords and a pop rhythm."

[0858] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0859] Detailed explanation of the program's processing steps

[0860] Step 1: Record and send

[0861] The user launches the application, presses the record button, and records a hum or whistle. The recorded data is temporarily stored on the device and then automatically sent to the server. The same data is also sent to the emotion engine.

[0862] Input: User's humming or whistling audio

[0863] Output: Recorded audio data file

[0864] Step 2: Noise reduction

[0865] The server runs a noise reduction process on the received audio data, using the Librosa library to remove background noise and unwanted sounds, resulting in cleaned audio data.

[0866] Input: Recorded audio data file

[0867] Output: Noise-removed audio data

[0868] Step 3: Pitch extraction

[0869] The server runs a pitch detection algorithm on the noise-removed audio data, extracting pitch information from the audio data using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF).

[0870] Input: Noise-removed audio data

[0871] Output: Extracted pitch data

[0872] Step 4: Melody construction and pitch correction

[0873] The server detects onsets based on the extracted pitch data and constructs a melody, correcting the pitch using techniques such as pitch shifting to generate an accurate melody.

[0874] Input: extracted pitch data

[0875] Output: Corrected melody data

[0876] Step 5: Generate a key and chord progression

[0877] The server applies algorithms to identify the key of the song from the melody, such as the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm, and dynamically generates an appropriate chord progression based on this key information.

[0878] Input: Corrected melody data

[0879] Output: Key information and chord progression data

[0880] Step 6: Generate rhythmic patterns

[0881] The server generates corresponding beats and rhythm patterns based on the rhythmic features of the melody. The generated rhythm patterns are expressed as standard beats such as 4 / 4 time.

[0882] Input: Key information and chord progression data

[0883] Output: Rhythm pattern data

[0884] Step 7: Emotion Recognition

[0885] The emotion engine recognizes the user's emotions from recorded voice data. A pre-trained TensorFlow emotion model is used for emotion recognition. The four types of emotions that can be recognized are joy, anger, sadness, and happiness.

[0886] Input: Recorded audio data

[0887] Output: Recognized emotion data

[0888] Step 8: Arrange your music based on emotion

[0889] The server then uses the emotional data obtained from the emotion engine to arrange the melody, key, chord progression, and rhythmic pattern to suit the emotion. For example, if the emotion of joy is recognized, the server will use more upbeat major chords and incorporate pop rhythmic patterns.

[0890] Input: Melody, key, chord progression, rhythm pattern, recognized emotion data

[0891] Output: Arranged music data

[0892] Step 9: Generate and play music tracks

[0893] The server uses a digital audio workstation (DAW) tool to combine the arranged melody, chord progression, and rhythm pattern to generate a musical track, which is then sent to the terminal as a sound file for the user to play and enjoy.

[0894] Input: Arranged music data

[0895] Output: Music track sound file

[0896] The above are the specific processing steps in the embodiment for carrying out the invention.

[0897] 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.

[0898] 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.

[0899] 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.

[0900] [Third embodiment]

[0901] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.

[0902] 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.

[0903] 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).

[0904] 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.

[0905] 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.

[0906] 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).

[0907] 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. 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.

[0908] 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.

[0909] 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.

[0910] 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.

[0911] 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.

[0912] 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."

[0913] This invention is a composition assistance system that allows a user to simply hum or whistle and generate and play back original music based on that tune. Specific embodiments of this system are described below.

[0914] System Overview

[0915] The system of the present invention accepts voice input, analyzes the voice data to generate a melody, key, chord progression, and rhythm pattern, and finally plays back a musical track that combines these. This system is mainly composed of a user, a terminal, and a server.

[0916] Audio Input and Recording

[0917] Users can launch the application and press the record button to record humming or whistling, which is then saved on the device and sent to the server.

[0918] Analysis of voice data

[0919] The server first performs a noise reduction process on the audio data it receives, eliminating background noise and unwanted sounds to obtain clean audio data. Next, it uses a pitch detection algorithm to extract pitch information from the audio data. Specifically, techniques such as Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF) are used.

[0920] Pitch correction and melody extraction

[0921] The server analyzes the pitch data, performs onset detection, and constructs a melody. If necessary, it applies pitch correction algorithms to generate an accurate melody. Techniques such as pitch shifting ensure that the user's humming is expressed as the intended melody.

[0922] Key and chord progression generation

[0923] The server applies an algorithm to identify the key of the song from the melody. This algorithm uses the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm. Based on this key information, an appropriate chord progression is dynamically generated. For example, for a song in the key of C major, a basic chord progression of I-IV-VI is generated.

[0924] Rhythm pattern generation

[0925] The server generates corresponding beats and rhythm patterns based on the rhythmic features of the melody. The generated rhythm patterns are expressed as standard beats such as 4 / 4 time.

[0926] Arranging and playing music tracks

[0927] Once all the elements are ready, the server uses a DAW (Digital Audio Workstation) tool to combine melodies, chord progressions, and rhythmic patterns to create a musical track. The completed musical track is then sent to the device as a sound file. The device receives the file and plays it using its built-in sound player. Finally, the user can enjoy the music they created.

[0928] Specific examples

[0929] For example, a user launches the app, presses the "record" button, and hums. This humming recording is then sent by the device to the server. The server then removes noise from the audio data, extracts the pitch, and corrects it if necessary. It then identifies the key from the melody and generates, for example, a chord progression of I-IV-VI in the key of C major. It then generates a rhythmic pattern based on the melody and chord progression, arranges the final song track, and sends it to the device. The user can then play and enjoy the song.

[0930] In this way, the system of the present invention allows anyone to easily create sophisticated musical pieces from humming or whistling.

[0931] The processing flow will be explained below.

[0932] Step 1:

[0933] The user launches the app and presses the "Record" button. The device then records the user's humming or whistling through the microphone.

[0934] Step 2:

[0935] When the recording is finished, the device temporarily saves the recorded voice data and displays a stop recording button. When the user presses the stop recording button, the device sends the voice data to the server.

[0936] Step 3:

[0937] The server receives the audio data and applies a noise reduction filter to the received audio data to remove background noise.

[0938] Step 4:

[0939] The server then applies a pitch detection algorithm to the noise-removed audio data to extract pitch information, using techniques such as Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF).

[0940] Step 5:

[0941] The server detects onsets based on the extracted pitch information and constructs a melody. If necessary, it applies pitch correction algorithms such as pitch shifting to convert it into an accurate melody.

[0942] Step 6:

[0943] The server analyzes the melody information and identifies the key of the song using the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm.

[0944] Step 7:

[0945] The server generates an appropriate chord progression based on the specified key, for example, for the key of C major, it generates a chord progression of I-IV-VI.

[0946] Step 8:

[0947] The server analyzes rhythmic features based on the generated melody and chord progression to generate rhythm patterns. It automatically generates drum patterns such as basic 4 / 4 beats.

[0948] Step 9:

[0949] The server integrates the generated melodies, chord progressions, and rhythm patterns and arranges the music track using a DAW (Digital Audio Workstation) tool.

[0950] Step 10:

[0951] The server renders the arranged music track as a digital audio file and transmits the file to the device.

[0952] Step 11:

[0953] The device then plays the received audio file on a sound player, allowing the user to enjoy listening to the completed song.

[0954] Example 1

[0955] 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."

[0956] Conventional music production methods require specialized knowledge and advanced skills, making it difficult for average users to create music on their own. Furthermore, there is a lack of effective methods for processing recorded audio with inaccurate pitch or noise, making it difficult to create music of satisfactory quality. This invention solves these problems by providing a composition assistance system that allows anyone to easily create high-quality music.

[0957] 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.

[0958] In this invention, the server includes means for analyzing audio data and extracting pitches and rhythms, means for constructing a melody from the extracted pitches and generating a key and chord progression, and means for integrating the generated melody, key, chord progression, and rhythm patterns to create a musical track. This allows a user to automatically generate professional-quality music based on audio data input by simple methods such as humming or whistling.

[0959] "Means for accepting voice input" refers to devices or software that allow a user to input voice, such as humming or whistling, and primarily includes microphones and recording applications.

[0960] "Means for analyzing audio data and extracting pitch and rhythm" refers to algorithms and software for extracting pitch and rhythm (timing) information from input audio data, and specifically includes pitch detection algorithms and onset detection technology.

[0961] "Means for constructing a melody from extracted pitches and generating a key and chord progression" refers to algorithms or software that construct a melody line based on analyzed pitch information and automatically generate a key and chord progression suitable for that melody.

[0962] "Means for generating rhythmic patterns based on the generated melody, key, and chord progression" refers to algorithms or software for creating rhythmic patterns based on the generated melody and its corresponding chord progression, including, for example, beat generation algorithms.

[0963] "Means for integrating the generated melody, key, chord progression, and rhythm pattern to arrange a musical track" refers to software or tools for assembling each element (melody, key, chord progression, rhythm pattern) into a single musical track and arranging it, including digital audio workstations (DAWs).

[0964] "Means for playing the arranged music track" refers to devices or software that ultimately play the created music track so that the user can listen to it, and primarily refers to sound players and audio playback functions.

[0965] This invention is a composition assistance system that automatically generates original music pieces by simply inputting a user's voice, such as humming or whistling. The system is primarily composed of a user, a terminal, and a server, and generates high-quality music pieces through the cooperation of these elements. The details are described below.

[0966] Audio Input and Recording

[0967] The user launches a dedicated application on their smartphone or tablet (device). The application is developed using Python, Swift, Java, etc. The user presses the "record" button in the application and records a tune or whistle. The device temporarily stores the recorded audio data in local storage (e.g., SQLite).

[0968] Sending recording data

[0969] The device sends the recorded audio data to the server using HTTP or HTTPS requests, typically managed by a web framework such as Flask or Django.

[0970] Analysis of voice data

[0971] The server receives the audio data and performs noise reduction using the Librosa library. Then, pitch information is extracted from the noise-removed audio data using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF). This allows the melody and rhythm of the humming or whistling to be analyzed.

[0972] Pitch correction and melody generation

[0973] The server analyzes the pitch data and performs onset detection (detection of the beginning of a note) to construct a melody. This process uses techniques such as DTW (Dynamic Time Warping). If necessary, pitch correction algorithms such as pitch shifting are applied to generate an accurate melody.

[0974] Key and chord progression generation

[0975] The server applies the Pitch Class Profile (PCP) and Krumhansl-Schmuckler algorithms to identify the key of the song from the generated melody. Based on the identified key, an appropriate chord progression is dynamically generated. For example, if the generated melody is in the key of C major, the basic chord progression I-IV-VI is automatically selected.

[0976] Rhythm pattern generation

[0977] The server generates rhythmic patterns based on the melody and chord progression, applying a common 4 / 4 beat using the MIDIUtil library.

[0978] Arranging and sending your music tracks

[0979] The server uses a DAW (Digital Audio Workstation) tool (e.g., Ableton Live or Logic Pro) to combine melodies, chord progressions, and rhythmic patterns to arrange the final song track, which is then exported as a sound file in MP3 or WAV format and sent to the device using an HTTP or HTTPS request.

[0980] Playing songs

[0981] By playing the sound files received from the server on the device using the built-in sound player, users can enjoy the music they have created.

[0982] Specific examples

[0983] For example, a user launches the app, presses the "Record" button, and hums. This humming recording is saved on the device and sent to the server. The server uses Librosa to remove noise from the audio data, ACF to extract pitch, and DTW to correct it. It then uses PCP to identify the C major key and generate a I-IV-VI chord progression. MIDIUtil generates a rhythmic pattern, and Ableton Live arranges the final song track. The completed track is sent to the device as a sound file, allowing the user to play and enjoy the song.

[0984] Prompt Sentence Examples

[0985] "Generate original music by analyzing your humming. Denoise the audio data, generate melody, key, chord progression, and rhythmic patterns, and output a unified music track."

[0986] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0987] Step 1:

[0988] The user launches a dedicated application on their smartphone or tablet, which is developed using Python, Swift, Java, or other programming languages.

[0989] Input: Launch application.

[0990] Output: The application UI is displayed and voice input is possible.

[0991] Specific operation: The user presses the record button to record a tune or whistle. The recorded audio data is temporarily stored in the device's local storage (e.g., SQLite).

[0992] Step 2:

[0993] The device sends the recorded audio data to the server.

[0994] Input: Recorded audio data (file format: WAV, MP3, etc.).

[0995] Output: The audio data sent to the server.

[0996] What it does: The device uploads audio data to a server using an HTTP or HTTPS request, using a web framework like Flask or Django.

[0997] Step 3:

[0998] The server receives the audio data and performs noise reduction using the Librosa library.

[0999] Input: The audio data sent to the server.

[1000] Output: Denoised audio data.

[1001] Specific operation: The server reads the audio file using the Librosa library, performs spectral analysis, removes noise components, and generates cleared data.

[1002] Step 4:

[1003] The server extracts pitch information using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF).

[1004] Input: Denoised audio data.

[1005] Output: Pitch information.

[1006] How it works: The server uses Librosa or other audio processing libraries to calculate the number of zero crossings and autocorrelation function of the audio data, and based on this, identifies the pitch.

[1007] Step 5:

[1008] The server analyzes the pitch data, performs onset detection, and constructs a melody.

[1009] Input: Pitch information.

[1010] Output: Melody information.

[1011] Specific operation: The server performs onset detection using algorithms such as DTW (Dynamic Time Warping) and Hidden Markov Model (HMM), and generates a melody line based on continuous pitch data.

[1012] Step 6:

[1013] The server identifies the key of the song from the generated melody and generates a chord progression.

[1014] Input: Melody information.

[1015] Output: Key information and chord progression (e.g., I-IV-VI progression in the key of C major).

[1016] Specific operation: The server uses Pitch Class Profile (PCP) and Krumhansl-Schmuckler algorithms to analyze the pitch distribution of the melody, identify the appropriate key, and generate a chord progression based on that.

[1017] Step 7:

[1018] The server generates rhythmic patterns based on melody, key, and chord progression.

[1019] Input: Melody information, key information, chord progression.

[1020] Output: Rhythm pattern.

[1021] Specific operation: The server uses libraries such as MIDIUtil and FluidSynth to create a rhythm that matches the specified beat pattern (for example, 4 / 4 time).

[1022] Step 8:

[1023] The server arranges the music track by integrating melodies, chord progressions, and rhythmic patterns.

[1024] Input: Melody information, key information, chord progression, rhythm pattern.

[1025] Output: Finished song track (file format: MP3, WAV, etc.).

[1026] What it does: The server uses a DAW (Digital Audio Workstation) tool (such as Ableton Live or Logic Pro) to combine these elements and generate a professional music track.

[1027] Step 9:

[1028] The server sends the completed music track to the device.

[1029] Input: Your finished song track.

[1030] Output: The music track sent to your device.

[1031] What happens: The server sends the generated audio file to the device using an HTTP or HTTPS request.

[1032] Step 10:

[1033] The device will play the received sound file using the built-in sound player.

[1034] Input: The music track received by the device.

[1035] Output: The user can listen to the song.

[1036] What happens: The device's sound player application loads the audio file and plays it through speakers or headphones, allowing the user to enjoy the resulting music.

[1037] (Application example 1)

[1038] 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."

[1039] Conventional composition support systems lack the functionality to share the music created by users who create music by humming or whistling with others, making it difficult for users to easily spread their own original music. The present invention aims to solve this problem by providing a system that allows users to easily share the music they create.

[1040] 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.

[1041] In this invention, the server includes means for accepting voice input, means for analyzing the voice data and extracting pitches and rhythms, means for constructing a melody from the extracted pitches and generating a key and chord progression, means for generating a rhythm pattern based on the generated melody, key, and chord progression, means for playing the arranged music track, and means for sharing the generated music track on an external digital platform, thereby enabling users to easily spread their original music.

[1042] The "means for accepting voice input" is a device or function that allows the user to record voice such as humming or whistling.

[1043] "Means for analyzing audio data and extracting pitch and rhythm" refers to a device or function that analyzes pitch information and rhythm patterns from recorded audio data.

[1044] "Means for constructing a melody from extracted intervals and generating a key and chord progression" refers to a device or function that forms a melody based on analyzed interval data and generates the key of a song and the chords required for its progression.

[1045] "Means for generating rhythmic patterns based on the generated melody, key, and chord progression" refers to a device or function that creates rhythmic patterns that fit the already generated melody, key, and chord progression.

[1046] The "means for playing back the arranged music track" refers to a device or function for outputting and playing back the final music track as audio.

[1047] "Means for sharing the created music tracks on external digital platforms" refers to devices or functions for sharing the created music tracks on digital platforms such as external services or social networking sites via the Internet.

[1048] This invention relates to a system that allows users to record humming or whistling, generate original music based on the recording, and ultimately share the music on a digital platform. The system includes means for accepting audio input, means for analyzing the audio data and extracting pitch and rhythm, means for generating key and chord progressions, means for generating rhythm patterns, means for playing music tracks, and means for sharing the generated music tracks on an external digital platform. Specific embodiments of this system are described below.

[1049] Hardware and software used

[1050] 1. Hardware

[1051] Smartphone (iOS or Android)

[1052] 2. Software

[1053] Audio processing library: Librosa as an example

[1054] Digital Audio Workstation (DAW) tools, such as FL Studio or Ableton Live

[1055] Cloud servers: Examples include Amazon Web Services (AWS) and Google Cloud

[1056] System processing procedure

[1057] 1. Audio Input and Recording

[1058] The user launches the smartphone application and presses the record button, recording humming or whistling with the smartphone's microphone and saving it as a .wav audio file.

[1059] 2. Analysis of audio data

[1060] The recorded audio file is sent to a cloud server, where noise is removed using an audio processing library such as Librosa.

[1061] Pitch information and rhythm patterns are analyzed from noise-removed audio data using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF).

[1062] 3. Extracting pitch and melody

[1063] The server analyzes the pitch data and constructs a melody from the extracted pitches, correcting the pitch as needed to produce an accurate, precise melody.

[1064] 4. Generating Keys and Chord Progressions

[1065] The server uses the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm to identify the key of the song and generate an appropriate chord progression.

[1066] 5. Rhythm Pattern Generation

[1067] The server generates rhythmic patterns based on the generated melody and chord progression, using standard 4 / 4 time signatures.

[1068] 6. Arranging and Playing Music Tracks

[1069] The server uses the DAW tool to combine melody, key, chord progressions, and rhythmic patterns to arrange the music track.

[1070] The generated music track is sent to the smartphone as a sound file and played using the sound player within the app.

[1071] 7. Sharing on digital platforms

[1072] The generated music tracks can be shared on social media and other music platforms via a smartphone application.

[1073] Specific examples

[1074] For example, a user launches the app, presses the "record" button, and records a hum. The recording is then sent by the smartphone to the server, which removes noise from the audio data and extracts pitch. Pitch correction is performed as needed, and a melody is generated. The server then generates a chord progression of I-IV-VI in the key of C major and combines it with rhythmic patterns to create a complete song track. The song track is then sent to the smartphone, where it can be played within the app and shared on social media and music platforms.

[1075] Example prompt for a generative AI model:

[1076] "Generate a melody and chord progression using a user-recorded humming tune. The generated melody should be in the key of C major with a I-IV-VI chord progression. The rhythm pattern should be constructed in 4 / 4 time."

[1077] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1078] Step 1:

[1079] Audio Input and Recording

[1080] The user launches the smartphone application and presses the record button to record a hum or whistle. As input, the user's voice is captured through the smartphone's microphone. As output, the recorded voice data is saved in the smartphone's memory as a .wav file.

[1081] Step 2:

[1082] Sending audio data

[1083] The device sends the recorded audio file to the cloud server. The audio data stored in the device's file system is used as input. The audio data is uploaded to the cloud server via the Internet as output.

[1084] Step 3:

[1085] Noise Reduction

[1086] The server performs noise reduction on the received audio data. It uses an audio processing library such as Librosa to remove background noise. The input is the audio data uploaded to the cloud server. The output is clean audio data with the noise removed.

[1087] Step 4:

[1088] Pitch and rhythm extraction

[1089] The server analyzes pitch information and rhythm patterns from the noise-removed audio data using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF). Clean audio data is used as input. The extracted pitch and rhythm information is obtained as output.

[1090] Step 5:

[1091] Melody construction and pitch correction

[1092] The server analyzes the extracted pitch data, corrects the pitch as needed, and generates an accurate melody. The analyzed pitch data is used as input, and the corrected melody data is obtained as output.

[1093] Step 6:

[1094] Generating keys and chord progressions

[1095] The server uses the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm to identify the key of the song and generate the appropriate chord progression. The corrected melody data is used as input. The output is the key information and chord progression data of the song.

[1096] Step 7:

[1097] Rhythm pattern generation

[1098] The server generates rhythmic patterns based on the melody, key, and chord progression. The melody, key, and chord progression data are used as input. The output is a rhythmic pattern corresponding to the song.

[1099] Step 8:

[1100] Arranging and creating music tracks

[1101] The server uses a DAW tool to combine melody, key, chord progressions, and rhythmic patterns to arrange a musical track. Melody, key, chord progressions, and rhythmic patterns are used as input. The output is a sound file of the completed musical track.

[1102] Step 9:

[1103] Sending and playing music tracks

[1104] The server sends the sound file of the generated music track to the smartphone. The device plays the received sound file using the sound player in the app. The input is the completed music track sent from the server to the smartphone. The output is the user playing the music and enjoying it.

[1105] Step 10:

[1106] Sharing on digital platforms

[1107] Users share music tracks generated on the smartphone application on social media or other music platforms. As input, music tracks stored on the smartphone are used. As output, the music is shared over the Internet.

[1108] The above is a specific flow of the program processing of the system for realizing the application example.

[1109] 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.

[1110] This invention combines a system that allows a user to simply hum or whistle and generate and play original music based on that tune with an emotion engine that recognizes the user's emotions. Specific embodiments of this system are described below.

[1111] System Overview

[1112] The system of the present invention accepts voice input, analyzes the voice data to generate a melody, key, chord progression, and rhythm pattern, and finally plays back a music track that combines these. It also has an emotion engine that recognizes the user's emotions and optimizes the music generation process based on the emotion data. This system is primarily composed of a user, a terminal, a server, and the emotion engine.

[1113] Audio Input and Recording

[1114] Users can launch the application and press the record button to record humming or whistling, which is then saved on the device and sent to the server.

[1115] Analysis of voice data

[1116] The server first performs a noise reduction process on the audio data it receives, eliminating background noise and unwanted sounds to obtain clean audio data. Next, it uses a pitch detection algorithm to extract pitch information from the audio data. Specifically, techniques such as Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF) are used.

[1117] Pitch correction and melody extraction

[1118] The server analyzes the pitch data, performs onset detection, and constructs a melody. If necessary, it applies pitch correction algorithms to generate an accurate melody. Techniques such as pitch shifting ensure that the user's humming is expressed as the intended melody.

[1119] Key and chord progression generation

[1120] The server applies an algorithm to identify the key of the song from the melody. This algorithm uses the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm. Based on this key information, an appropriate chord progression is dynamically generated. For example, for a song in the key of C major, a basic chord progression of I-IV-VI is generated.

[1121] Rhythm pattern generation

[1122] The server generates corresponding beats and rhythm patterns based on the rhythmic features of the melody. The generated rhythm patterns are expressed as standard beats such as 4 / 4 time.

[1123] Emotion recognition by emotion engine

[1124] The device sends the recorded voice data to the emotion engine, which then analyzes the voice to recognize the user's emotions. The emotions that can be recognized are, for example, four types: joy, anger, sadness, and pleasure.

[1125] Emotional music arrangement

[1126] Based on the emotional data obtained from the emotion engine, the server arranges the melody, key, chord progression, and rhythm pattern to suit the emotion. For example, if the emotion of joy is recognized, it will use more upbeat major chords and incorporate pop rhythm patterns.

[1127] Arranging and playing music tracks

[1128] Once all the elements are ready, the server uses a DAW (Digital Audio Workstation) tool to combine the melody, chord progression, and rhythm pattern to create a musical track. The completed musical track is then sent to the device as a sound file. The device receives the file and plays it using its built-in sound player. The user can then enjoy the music that best suits their emotions.

[1129] Specific examples

[1130] For example, a user launches the app, presses the "record" button, and hums. This humming recording is sent by the device to the server and simultaneously to the emotion engine. The server removes noise from the audio data, extracts pitch, and corrects it as necessary. The emotion engine recognizes the user's emotion, e.g., "joy." The server identifies the key and chord progression from the melody and generates a rhythmic pattern. The server arranges the music based on the emotion data and sends the final music track to the device. The user can then play and enjoy the music.

[1131] In this way, the system of the present invention enables anyone to easily create sophisticated music from humming or whistling, and further enables the music to fit the user's emotions.

[1132] The processing flow will be explained below.

[1133] Step 1:

[1134] The user launches the app and presses the "Record" button. The device then records the user's humming or whistling through the microphone.

[1135] Step 2:

[1136] When the recording is finished, the device temporarily saves the recorded voice data and displays a stop recording button. When the user presses the stop recording button, the device sends the voice data to the server and the emotion engine.

[1137] Step 3:

[1138] The server receives the audio data and applies a noise reduction filter to remove background noise to obtain cleared audio data.

[1139] Step 4:

[1140] The server extracts pitch information from the noise-removed audio data using a pitch detection algorithm (Zero Crossing Rate (ZCR) or Auto Correlation Function (ACF)).

[1141] Step 5:

[1142] The server detects onsets based on the extracted pitch information and constructs a melody. If necessary, it applies pitch correction algorithms such as pitch shifting to convert it into an accurate melody.

[1143] Step 6:

[1144] The server analyzes the melody information and identifies the key of the song using the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm.

[1145] Step 7:

[1146] The server generates an appropriate chord progression based on the specified key, for example, for the key of C major, it generates a chord progression of I-IV-VI.

[1147] Step 8:

[1148] The server analyzes rhythmic features based on the generated melody and chord progression to generate rhythm patterns. It automatically generates drum patterns such as basic 4 / 4 beats.

[1149] Step 9:

[1150] The emotion engine recognizes emotions from the user's voice input data, for example, identifying the user's emotions of joy, anger, sadness, and happiness through voice analysis.

[1151] Step 10:

[1152] Based on the emotional data obtained from the emotion engine, the server arranges the melody, key, chord progression, and rhythm pattern to suit the emotion. For example, for "Joy," it uses a lot of bright major chords and applies a pop rhythm pattern.

[1153] Step 11:

[1154] The server integrates the generated melodies, chord progressions, and rhythm patterns and arranges the music track using a DAW (Digital Audio Workstation) tool.

[1155] Step 12:

[1156] The server renders the arranged music track as a digital audio file and transmits the file to the device.

[1157] Step 13:

[1158] The device then plays the received audio file on a sound player, allowing the user to enjoy listening to the completed song.

[1159] Example 2

[1160] 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."

[1161] Conventional music generation systems simply generate melodies, keys, chord progressions, and rhythm patterns from voice input, but are unable to generate music that perfectly matches the user's emotions. This makes it difficult for users to easily create and enjoy music that matches their own feelings and atmosphere. Furthermore, there is also the problem that the quality of the generated music deteriorates when voice data contains noise.

[1162] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[1163] In this invention, the server includes means for accepting voice input, means for analyzing the voice data and extracting pitch and rhythm, means for constructing a melody from the extracted pitch and generating a key and chord progression, means for generating a rhythm pattern based on the generated melody, key, and chord progression, means for recognizing a user's emotion, means for optimizing the music generation process based on the recognized emotion data, and means for playing back the arranged music track, thereby enabling high-quality music that fits the user's emotion to be automatically generated and enjoyed.

[1164] A "means for accepting audio input" is a device or software interface that allows a user to record themselves humming or whistling.

[1165] "Means for analyzing audio data and extracting pitch and rhythm" refers to algorithms or software that has the function of analyzing and extracting pitch information and rhythm patterns from recorded audio data.

[1166] The "means for constructing a melody and generating a key and chord progression" is an algorithm that creates a melody line for a song from the extracted pitch information, determines the key of the entire song, and then performs processing to generate a chord progression based on that.

[1167] The "means for generating rhythm patterns" refers to software or algorithms that have the function of designing rhythm patterns based on the generated melody and chord progression, and forming the beats required for the song.

[1168] "Means for recognizing user emotions" refers to software or algorithms that analyze voice data to identify the user's emotional state.

[1169] "Means for optimizing the music generation process based on recognized emotional data" refers to software or algorithms that utilize the user's emotional data to adjust the melody, key, chord progression, and rhythmic patterns of a song to match the user's emotions.

[1170] "Means for playing the arranged musical track" means a device or software interface for playing the created musical track.

[1171] This invention is a system that allows users to generate and play original music by providing voice input such as humming or whistling. It also recognizes the user's emotions and optimizes the music generation process based on those emotions. The system primarily consists of a user, a terminal, a server, and an emotion engine.

[1172] Audio Input and Recording

[1173] The user launches the application, presses the record button, and begins humming or whistling. The recorded audio data is saved on the device and then sent to the server. The hardware used is a mobile device such as a smartphone or tablet, and application software with a recording function is used.

[1174] Analysis of voice data

[1175] The server first performs a noise reduction process on the received audio data. Specific algorithms include Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF) to eliminate background noise and unwanted sounds. Next, a pitch detection algorithm is used to extract pitch information. At this stage, phonemes are identified,

[1176] Onset detection identifies the location of the beginning of a sound.

[1177] Melody and chord progression generation

[1178] The server analyzes the pitch data and constructs a melody. During this process, pitch correction algorithms (e.g., pitch shifting) are applied to generate an accurate melody line. Next, to identify the key of the song from the generated melody, the server uses Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm. Based on this key information, an appropriate chord progression is dynamically generated. For example, in the key of C major, a basic chord progression of I-IV-VI is created.

[1179] Rhythm pattern generation

[1180] The server analyzes the rhythmic characteristics of the melody and generates a corresponding rhythm pattern. The standard 4 / 4 beat is often used, but other beats and rhythm patterns can also be generated as needed.

[1181] Emotion recognition by emotion engine

[1182] The device sends the recorded voice data to the emotion engine, which analyzes the voice data to recognize the user's emotions. The four recognized emotions are joy, anger, sadness, and pleasure. This emotion data is sent to the server and incorporated into the music generation process.

[1183] Music arrangement based on emotional data

[1184] The server then uses the emotional data obtained from the emotion engine to arrange the melody, key, chord progression, and rhythm pattern to suit the emotion. For example, if the emotion of joy is recognized, bright major chords and pop rhythm patterns will be used.

[1185] Creating and playing music tracks

[1186] The server uses a DAW (Digital Audio Workstation) tool to combine melodies, chord progressions, and rhythmic patterns to generate the final music track. This music track is then sent to the device as a sound file. The device receives this file and plays it using its built-in sound player. The user can then enjoy music that matches their own emotions.

[1187] Specific examples

[1188] For example, a user launches the app, presses the "record button," and hums. This humming recording is sent by the device to the server and simultaneously to the emotion engine. The server removes noise from the audio data, extracts pitch, and corrects it as necessary. The emotion engine recognizes the user's emotion, e.g., "joy." The server identifies the key and chord progression from the melody and generates a rhythmic pattern. The server arranges the music based on the emotion data and sends the final music track to the device. The user can then play and enjoy the music.

[1189] Prompt Sentence Examples

[1190] "Describe a system that allows a user to record themselves humming and then generate and play back original music from that recording. The system recognizes the user's emotions and incorporates that information into the music-generation process. Please name any specific hardware or software and describe each step of the process in detail."

[1191] In this way, the system of the present invention enables anyone to easily create sophisticated music from humming or whistling, and further enables the music to fit the user's emotions.

[1192] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1193] Step 1:

[1194] The user launches the application and presses the "record" button to record a hum or whistle.

[1195] Specific behavior: When a user presses the record button on the mobile app, the recording function starts and records the user's humming or whistling. When the recording is finished, the user presses the stop button.

[1196] Input: Audio of the user humming or whistling.

[1197] Output: Audio data file saved on your device.

[1198] Step 2:

[1199] The device transmits the stored voice data to the server.

[1200] Specific operation: After recording is completed, the device sends the audio data file to the server using an HTTP POST request.

[1201] Input: Audio data files stored on the device.

[1202] Output: The audio data file sent to the server.

[1203] Step 3:

[1204] The server performs a noise removal process on the received audio data.

[1205] What it does: The server uses algorithms such as Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF) to filter out background noise and unwanted sounds.

[1206] Input: The audio data file sent to the server.

[1207] Output: Cleaned audio data with noise removed.

[1208] Step 4:

[1209] The server detects the pitch from the clarified voice data.

[1210] What it does: It applies a pitch detection algorithm to extract pitch information from audio data. At this stage, it identifies phonemes and uses onset detection to determine the beginning of a sound.

[1211] Input: Cleaned audio data with noise removed.

[1212] Output: A dataset containing pitch information.

[1213] Step 5:

[1214] The server analyzes the pitch data and constructs a melody.

[1215] What it does: It uses pitch correction algorithms (e.g., pitch shifting) to adjust the pitch of what the user is humming or whistling to represent the intended melody, and onset detection to capture the rhythm and timing of the melody.

[1216] Input: A dataset containing pitch information.

[1217] Output: The frameworked melody data.

[1218] Step 6:

[1219] The server identifies the key and chord progression from the melody.

[1220] What it does: It applies the Pitch Class Profile (PCP) and Krumhansl-Schmuckler Key-Finding Algorithm to identify the key of the melody and generate an appropriate chord progression based on that. For example, in the key of C major, it generates a basic chord progression of I-IV-VI.

[1221] Input: Frameworked melody data.

[1222] Output: Key information and chord progression data.

[1223] Step 7:

[1224] The server generates the rhythm pattern.

[1225] What it does: Analyzes the rhythmic features of a melody and generates common 4 / 4 beats and other necessary rhythmic patterns.

[1226] Input: Key information and chord progression data.

[1227] Output: Rhythm pattern data.

[1228] Step 8:

[1229] The device sends the recorded voice data to the emotion engine.

[1230] What it does: Sends voice data to an emotion engine in real time or after the fact to analyze the user's emotions.

[1231] Input: Audio data files stored on the device.

[1232] Output: The audio data file sent to the emotion engine.

[1233] Step 9:

[1234] The emotion engine recognizes the user's emotions.

[1235] Specific operation: Performs voice analysis to identify the user's emotion (one of four types: joy, anger, sadness, and happiness).

[1236] Input: The audio data file sent to the emotion engine.

[1237] Output: User emotion data.

[1238] Step 10:

[1239] The server optimizes the music generation process based on the emotional data.

[1240] What it does: It adapts the melody, key, chord progression, and rhythmic patterns to match the user's emotions. For example, if joy is detected, it uses bright major chords and pop rhythmic patterns.

[1241] Input: User emotion data, melody data, chord progression data, rhythm pattern data.

[1242] Output: Emotionally arranged music data.

[1243] Step 11:

[1244] The server generates the music tracks.

[1245] What you will do: Use a DAW (Digital Audio Workstation) tool to combine melody, chord progressions, and rhythmic patterns to produce the final song track.

[1246] Input: Music data arranged based on emotions.

[1247] Output: A finished song track.

[1248] Step 12:

[1249] The device receives and plays the music track.

[1250] Specific operation: The device receives the music track sent from the server and plays it using the built-in sound player, allowing the user to enjoy the generated music.

[1251] Input: A completed song track.

[1252] Output: The song that the user plays.

[1253] (Application example 2)

[1254] 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."

[1255] Conventional music generation systems simply generate melodies and rhythms based on audio data without considering the user's emotions. This prevents users from generating music based on specific emotions, limiting the user experience. Furthermore, there is no way to automatically provide music that fits the user's emotions, requiring the user to manually arrange the music themselves. To solve these problems, a system is needed that recognizes the user's emotions and generates and arranges music based on that data.

[1256] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[1257] In this invention, the server includes means for analyzing audio data and extracting pitch and rhythm, means for constructing a melody from the extracted pitch and generating a key and chord progression, means for generating a rhythm pattern based on the generated melody, key, and chord progression, emotion recognition means for recognizing the user's emotions, and means for arranging music based on the emotion data. This makes it possible for a user to simply hum or whistle and have an original piece of music automatically generated that fits the user's emotions.

[1258] (definition statement)

[1259] "Means for accepting voice input" refers to a device or software that records voice data such as a user's humming or whistling and inputs it into the system.

[1260] "Means for analyzing audio data and extracting pitch and rhythm" refers to a technology that analyzes pitch and rhythm patterns from recorded audio data and extracts them as numerical data.

[1261] The "means for constructing a melody from extracted pitches and generating a key and chord progression" is an algorithm that creates the main melody of a song based on analyzed pitch data, and then determines the key and chord progression that are appropriate for that melody.

[1262] "Means for generating a rhythm pattern based on the generated melody, key, and chord progression" refers to a method for determining the rhythm of the entire song based on existing melody, key, and chord progression information.

[1263] "Emotion recognition means for recognizing user emotions" refers to a system or technology for identifying a user's emotions from recorded voice data and handling them as digital signals.

[1264] "Means for arranging music based on emotional data" refers to the process of utilizing the recognized emotional data of a user, adjusting the melody, key, chord progression, and rhythm pattern to be optimized for that data, and arranging the entire music piece.

[1265] "Means for playing back arranged music tracks" refers to a device or software that transmits the final music data generated to a user terminal as a sound file, allowing the user to play back and enjoy the music.

[1266] MODE FOR CARRYING OUT THE INVENTION

[1267] The system for implementing the present invention comprises the following components and processing steps.

[1268] 1. System Overview

[1269] This system generates and plays original music based on the user's humming or whistling, and also has the ability to recognize the user's emotions and optimize the music based on those emotions.

[1270] 2. Hardware and Software Used

[1271] The system includes the following hardware and software:

[1272] Device: A smartphone, tablet, or head-mounted display on which the user records their hum or whistle.

[1273] Server: A cloud server that analyzes audio data and generates music.

[1274] Emotion Recognition Engine: An AI model that recognizes user emotions from voice.

[1275] 3. Acquiring and Processing Audio Data

[1276] The user starts the dedicated application and presses the "record" button to record a tune or whistle. The recorded data is saved on the device and sent to the server.

[1277] 4. Analysis of audio data

[1278] The server first removes noise from the audio data. For example, it uses the Librosa library for this process. Next, it performs pitch detection and extracts pitch information from the audio data. The extracted pitch data is then analyzed to construct a melody. During this process, pitch correction is performed to generate an accurate melody.

[1279] 5. Generating Musical Elements

[1280] The server identifies the key of the song from the melody and generates the appropriate chord progression using Pitch Class Profile and the Krumhansl-Schmuckler Key-Finding Algorithm, and also automatically generates rhythmic patterns.

[1281] 6. Emotion Recognition and Music Arrangement

[1282] The recorded audio data is also sent to the emotion engine, which uses a pre-trained TensorFlow emotion model to recognize the user's emotions. Based on the emotion data, the generated melody, key, chord progression, and rhythmic pattern are optimized.

[1283] 7. Creating and Playing Music Tracks

[1284] Once all the elements are in place, the server uses a digital audio workstation (DAW) tool to combine the melody, chord progression, and rhythmic patterns to generate a complete song track, which is then sent to the device as a sound file, where users can play and enjoy the song within the app.

[1285] Specific examples

[1286] Example 1

[1287] The user starts the app, presses the "record" button, and hums. The humming recording is sent by the device to the server and simultaneously sent to the emotion engine.

[1288] The server removes noise from the audio data, extracts the pitch, and corrects it if necessary.

[1289] The emotion engine recognizes the user's emotion, for example, the emotion "joy."

[1290] The server identifies the key and chord progression from the melody and generates a rhythm pattern.

[1291] The music is arranged based on the emotional data, and the final music track is sent to the device.

[1292] The user can then play and enjoy the music.

[1293] Prompt Sentence Examples

[1294] "Provide music generated from the user's humming, arranged based on the recognized emotion data. For example, if the emotion of joy is recognized, use upbeat major chords and a pop rhythm."

[1295] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1296] Detailed explanation of the program's processing steps

[1297] Step 1: Record and send

[1298] The user launches the application, presses the record button, and records a hum or whistle. The recorded data is temporarily stored on the device and then automatically sent to the server. The same data is also sent to the emotion engine.

[1299] Input: User's humming or whistling audio

[1300] Output: Recorded audio data file

[1301] Step 2: Noise reduction

[1302] The server runs a noise reduction process on the received audio data, using the Librosa library to remove background noise and unwanted sounds, resulting in cleaned audio data.

[1303] Input: Recorded audio data file

[1304] Output: Noise-removed audio data

[1305] Step 3: Pitch extraction

[1306] The server runs a pitch detection algorithm on the noise-removed audio data, extracting pitch information from the audio data using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF).

[1307] Input: Noise-removed audio data

[1308] Output: Extracted pitch data

[1309] Step 4: Melody construction and pitch correction

[1310] The server detects onsets based on the extracted pitch data and constructs a melody, correcting the pitch using techniques such as pitch shifting to generate an accurate melody.

[1311] Input: extracted pitch data

[1312] Output: Corrected melody data

[1313] Step 5: Generate a key and chord progression

[1314] The server applies algorithms to identify the key of the song from the melody, such as the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm, and dynamically generates an appropriate chord progression based on this key information.

[1315] Input: Corrected melody data

[1316] Output: Key information and chord progression data

[1317] Step 6: Generate rhythmic patterns

[1318] The server generates corresponding beats and rhythm patterns based on the rhythmic features of the melody. The generated rhythm patterns are expressed as standard beats such as 4 / 4 time.

[1319] Input: Key information and chord progression data

[1320] Output: Rhythm pattern data

[1321] Step 7: Emotion Recognition

[1322] The emotion engine recognizes the user's emotions from recorded voice data. A pre-trained TensorFlow emotion model is used for emotion recognition. The four types of emotions that can be recognized are joy, anger, sadness, and happiness.

[1323] Input: Recorded audio data

[1324] Output: Recognized emotion data

[1325] Step 8: Arrange your music based on emotion

[1326] The server then uses the emotional data obtained from the emotion engine to arrange the melody, key, chord progression, and rhythmic pattern to suit the emotion. For example, if the emotion of joy is recognized, the server will use more upbeat major chords and incorporate pop rhythmic patterns.

[1327] Input: Melody, key, chord progression, rhythm pattern, recognized emotion data

[1328] Output: Arranged music data

[1329] Step 9: Generate and play music tracks

[1330] The server uses a digital audio workstation (DAW) tool to combine the arranged melody, chord progression, and rhythm pattern to generate a musical track, which is then sent to the terminal as a sound file for the user to play and enjoy.

[1331] Input: Arranged music data

[1332] Output: Music track sound file

[1333] The above are the specific processing steps in the embodiment for carrying out the invention.

[1334] 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.

[1335] 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.

[1336] 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.

[1337] [Fourth embodiment]

[1338] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

[1339] 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.

[1340] 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).

[1341] 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.

[1342] 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.

[1343] 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).

[1344] 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. 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.

[1345] 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.

[1346] 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.

[1347] 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.

[1348] 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.

[1349] 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.

[1350] 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."

[1351] This invention is a composition assistance system that allows a user to simply hum or whistle and generate and play back original music based on that tune. Specific embodiments of this system are described below.

[1352] System Overview

[1353] The system of the present invention accepts voice input, analyzes the voice data to generate a melody, key, chord progression, and rhythm pattern, and finally plays back a musical track that combines these. This system is mainly composed of a user, a terminal, and a server.

[1354] Audio Input and Recording

[1355] Users can launch the application and press the record button to record humming or whistling, which is then saved on the device and sent to the server.

[1356] Analysis of voice data

[1357] The server first performs a noise reduction process on the audio data it receives, eliminating background noise and unwanted sounds to obtain clean audio data. Next, it uses a pitch detection algorithm to extract pitch information from the audio data. Specifically, techniques such as Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF) are used.

[1358] Pitch correction and melody extraction

[1359] The server analyzes the pitch data, performs onset detection, and constructs a melody. If necessary, it applies pitch correction algorithms to generate an accurate melody. Techniques such as pitch shifting ensure that the user's humming is expressed as the intended melody.

[1360] Key and chord progression generation

[1361] The server applies an algorithm to identify the key of the song from the melody. This algorithm uses the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm. Based on this key information, an appropriate chord progression is dynamically generated. For example, for a song in the key of C major, a basic chord progression of I-IV-VI is generated.

[1362] Rhythm pattern generation

[1363] The server generates corresponding beats and rhythm patterns based on the rhythmic features of the melody. The generated rhythm patterns are expressed as standard beats such as 4 / 4 time.

[1364] Arranging and playing music tracks

[1365] Once all the elements are ready, the server uses a DAW (Digital Audio Workstation) tool to combine melodies, chord progressions, and rhythmic patterns to create a musical track. The completed musical track is then sent to the device as a sound file. The device receives the file and plays it using its built-in sound player. Finally, the user can enjoy the music they created.

[1366] Specific examples

[1367] For example, a user launches the app, presses the "record" button, and hums. This humming recording is then sent by the device to the server. The server then removes noise from the audio data, extracts the pitch, and corrects it if necessary. It then identifies the key from the melody and generates, for example, a chord progression of I-IV-VI in the key of C major. It then generates a rhythmic pattern based on the melody and chord progression, arranges the final song track, and sends it to the device. The user can then play and enjoy the song.

[1368] In this way, the system of the present invention allows anyone to easily create sophisticated musical pieces from humming or whistling.

[1369] The processing flow will be explained below.

[1370] Step 1:

[1371] The user launches the app and presses the "Record" button. The device then records the user's humming or whistling through the microphone.

[1372] Step 2:

[1373] When the recording is finished, the device temporarily saves the recorded voice data and displays a stop recording button. When the user presses the stop recording button, the device sends the voice data to the server.

[1374] Step 3:

[1375] The server receives the audio data and applies a noise reduction filter to the received audio data to remove background noise.

[1376] Step 4:

[1377] The server then applies a pitch detection algorithm to the noise-removed audio data to extract pitch information, using techniques such as Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF).

[1378] Step 5:

[1379] The server detects onsets based on the extracted pitch information and constructs a melody. If necessary, it applies pitch correction algorithms such as pitch shifting to convert it into an accurate melody.

[1380] Step 6:

[1381] The server analyzes the melody information and identifies the key of the song using the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm.

[1382] Step 7:

[1383] The server generates an appropriate chord progression based on the specified key, for example, for the key of C major, it generates a chord progression of I-IV-VI.

[1384] Step 8:

[1385] The server analyzes rhythmic features based on the generated melody and chord progression to generate rhythm patterns. It automatically generates drum patterns such as basic 4 / 4 beats.

[1386] Step 9:

[1387] The server integrates the generated melodies, chord progressions, and rhythm patterns and arranges the music track using a DAW (Digital Audio Workstation) tool.

[1388] Step 10:

[1389] The server renders the arranged music track as a digital audio file and transmits the file to the device.

[1390] Step 11:

[1391] The device then plays the received audio file on a sound player, allowing the user to enjoy listening to the completed song.

[1392] Example 1

[1393] 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."

[1394] Conventional music production methods require specialized knowledge and advanced skills, making it difficult for average users to create music on their own. Furthermore, there is a lack of effective methods for processing recorded audio with inaccurate pitch or noise, making it difficult to create music of satisfactory quality. This invention solves these problems by providing a composition assistance system that allows anyone to easily create high-quality music.

[1395] 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.

[1396] In this invention, the server includes means for analyzing audio data and extracting pitches and rhythms, means for constructing a melody from the extracted pitches and generating a key and chord progression, and means for integrating the generated melody, key, chord progression, and rhythm patterns to create a musical track. This allows a user to automatically generate professional-quality music based on audio data input by simple methods such as humming or whistling.

[1397] "Means for accepting voice input" refers to devices or software that allow a user to input voice, such as humming or whistling, and primarily includes microphones and recording applications.

[1398] "Means for analyzing audio data and extracting pitch and rhythm" refers to algorithms and software for extracting pitch and rhythm (timing) information from input audio data, and specifically includes pitch detection algorithms and onset detection technology.

[1399] "Means for constructing a melody from extracted pitches and generating a key and chord progression" refers to algorithms or software that construct a melody line based on analyzed pitch information and automatically generate a key and chord progression suitable for that melody.

[1400] "Means for generating rhythmic patterns based on the generated melody, key, and chord progression" refers to algorithms or software for creating rhythmic patterns based on the generated melody and its corresponding chord progression, including, for example, beat generation algorithms.

[1401] "Means for integrating the generated melody, key, chord progression, and rhythm pattern to arrange a musical track" refers to software or tools for assembling each element (melody, key, chord progression, rhythm pattern) into a single musical track and arranging it, including digital audio workstations (DAWs).

[1402] "Means for playing the arranged music track" refers to devices or software that ultimately play the created music track so that the user can listen to it, and primarily refers to sound players and audio playback functions.

[1403] This invention is a composition assistance system that automatically generates original music pieces by simply inputting a user's voice, such as humming or whistling. The system is primarily composed of a user, a terminal, and a server, and generates high-quality music pieces through the cooperation of these elements. The details are described below.

[1404] Audio Input and Recording

[1405] The user launches a dedicated application on their smartphone or tablet (device). The application is developed using Python, Swift, Java, etc. The user presses the "record" button in the application and records a tune or whistle. The device temporarily stores the recorded audio data in local storage (e.g., SQLite).

[1406] Sending recording data

[1407] The device sends the recorded audio data to the server using HTTP or HTTPS requests, typically managed by a web framework such as Flask or Django.

[1408] Analysis of voice data

[1409] The server receives the audio data and performs noise reduction using the Librosa library. Then, pitch information is extracted from the noise-removed audio data using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF). This allows the melody and rhythm of the humming or whistling to be analyzed.

[1410] Pitch correction and melody generation

[1411] The server analyzes the pitch data and performs onset detection (detection of the beginning of a note) to construct a melody. This process uses techniques such as DTW (Dynamic Time Warping). If necessary, pitch correction algorithms such as pitch shifting are applied to generate an accurate melody.

[1412] Key and chord progression generation

[1413] The server applies the Pitch Class Profile (PCP) and Krumhansl-Schmuckler algorithms to identify the key of the song from the generated melody. Based on the identified key, an appropriate chord progression is dynamically generated. For example, if the generated melody is in the key of C major, the basic chord progression I-IV-VI is automatically selected.

[1414] Rhythm pattern generation

[1415] The server generates rhythmic patterns based on the melody and chord progression, applying a common 4 / 4 beat using the MIDIUtil library.

[1416] Arranging and sending your music tracks

[1417] The server uses a DAW (Digital Audio Workstation) tool (e.g., Ableton Live or Logic Pro) to combine melodies, chord progressions, and rhythmic patterns to arrange the final song track, which is then exported as a sound file in MP3 or WAV format and sent to the device using an HTTP or HTTPS request.

[1418] Playing songs

[1419] By playing the sound files received from the server on the device using the built-in sound player, users can enjoy the music they have created.

[1420] Specific examples

[1421] For example, a user launches the app, presses the "Record" button, and hums. This humming recording is saved on the device and sent to the server. The server uses Librosa to remove noise from the audio data, ACF to extract pitch, and DTW to correct it. It then uses PCP to identify the C major key and generate a I-IV-VI chord progression. MIDIUtil generates a rhythmic pattern, and Ableton Live arranges the final song track. The completed track is sent to the device as a sound file, allowing the user to play and enjoy the song.

[1422] Prompt Sentence Examples

[1423] "Generate original music by analyzing your humming. Denoise the audio data, generate melody, key, chord progression, and rhythmic patterns, and output a unified music track."

[1424] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1425] Step 1:

[1426] The user launches a dedicated application on their smartphone or tablet, which is developed using Python, Swift, Java, or other programming languages.

[1427] Input: Launch application.

[1428] Output: The application UI is displayed and voice input is possible.

[1429] Specific operation: The user presses the record button to record a tune or whistle. The recorded audio data is temporarily stored in the device's local storage (e.g., SQLite).

[1430] Step 2:

[1431] The device sends the recorded audio data to the server.

[1432] Input: Recorded audio data (file format: WAV, MP3, etc.).

[1433] Output: The audio data sent to the server.

[1434] What it does: The device uploads audio data to a server using an HTTP or HTTPS request, using a web framework like Flask or Django.

[1435] Step 3:

[1436] The server receives the audio data and performs noise reduction using the Librosa library.

[1437] Input: The audio data sent to the server.

[1438] Output: Denoised audio data.

[1439] Specific operation: The server reads the audio file using the Librosa library, performs spectral analysis, removes noise components, and generates cleared data.

[1440] Step 4:

[1441] The server extracts pitch information using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF).

[1442] Input: Denoised audio data.

[1443] Output: Pitch information.

[1444] How it works: The server uses Librosa or other audio processing libraries to calculate the number of zero crossings and autocorrelation function of the audio data, and based on this, identifies the pitch.

[1445] Step 5:

[1446] The server analyzes the pitch data, performs onset detection, and constructs a melody.

[1447] Input: Pitch information.

[1448] Output: Melody information.

[1449] Specific operation: The server performs onset detection using algorithms such as DTW (Dynamic Time Warping) and Hidden Markov Model (HMM), and generates a melody line based on continuous pitch data.

[1450] Step 6:

[1451] The server identifies the key of the song from the generated melody and generates a chord progression.

[1452] Input: Melody information.

[1453] Output: Key information and chord progression (e.g., I-IV-VI progression in the key of C major).

[1454] Specific operation: The server uses Pitch Class Profile (PCP) and Krumhansl-Schmuckler algorithms to analyze the pitch distribution of the melody, identify the appropriate key, and generate a chord progression based on that.

[1455] Step 7:

[1456] The server generates rhythmic patterns based on melody, key, and chord progression.

[1457] Input: Melody information, key information, chord progression.

[1458] Output: Rhythm pattern.

[1459] Specific operation: The server uses libraries such as MIDIUtil and FluidSynth to create a rhythm that matches the specified beat pattern (for example, 4 / 4 time).

[1460] Step 8:

[1461] The server arranges the music track by integrating melodies, chord progressions, and rhythmic patterns.

[1462] Input: Melody information, key information, chord progression, rhythm pattern.

[1463] Output: Finished song track (file format: MP3, WAV, etc.).

[1464] What it does: The server uses a DAW (Digital Audio Workstation) tool (such as Ableton Live or Logic Pro) to combine these elements and generate a professional music track.

[1465] Step 9:

[1466] The server sends the completed music track to the device.

[1467] Input: Your finished song track.

[1468] Output: The music track sent to your device.

[1469] What happens: The server sends the generated audio file to the device using an HTTP or HTTPS request.

[1470] Step 10:

[1471] The device will play the received sound file using the built-in sound player.

[1472] Input: The music track received by the device.

[1473] Output: The user can listen to the song.

[1474] What happens: The device's sound player application loads the audio file and plays it through speakers or headphones, allowing the user to enjoy the resulting music.

[1475] (Application example 1)

[1476] 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."

[1477] Conventional composition support systems lack the functionality to share the music created by users who create music by humming or whistling with others, making it difficult for users to easily spread their own original music. The present invention aims to solve this problem by providing a system that allows users to easily share the music they create.

[1478] 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.

[1479] In this invention, the server includes means for accepting voice input, means for analyzing the voice data and extracting pitches and rhythms, means for constructing a melody from the extracted pitches and generating a key and chord progression, means for generating a rhythm pattern based on the generated melody, key, and chord progression, means for playing the arranged music track, and means for sharing the generated music track on an external digital platform, thereby enabling users to easily spread their original music.

[1480] The "means for accepting voice input" is a device or function that allows the user to record voice such as humming or whistling.

[1481] "Means for analyzing audio data and extracting pitch and rhythm" refers to a device or function that analyzes pitch information and rhythm patterns from recorded audio data.

[1482] "Means for constructing a melody from extracted intervals and generating a key and chord progression" refers to a device or function that forms a melody based on analyzed interval data and generates the key of a song and the chords required for its progression.

[1483] "Means for generating rhythmic patterns based on the generated melody, key, and chord progression" refers to a device or function that creates rhythmic patterns that fit the already generated melody, key, and chord progression.

[1484] The "means for playing back the arranged music track" refers to a device or function for outputting and playing back the final music track as audio.

[1485] "Means for sharing the created music tracks on external digital platforms" refers to devices or functions for sharing the created music tracks on digital platforms such as external services or social networking sites via the Internet.

[1486] This invention relates to a system that allows users to record humming or whistling, generate original music based on the recording, and ultimately share the music on a digital platform. The system includes means for accepting audio input, means for analyzing the audio data and extracting pitch and rhythm, means for generating key and chord progressions, means for generating rhythm patterns, means for playing music tracks, and means for sharing the generated music tracks on an external digital platform. Specific embodiments of this system are described below.

[1487] Hardware and software used

[1488] 1. Hardware

[1489] Smartphone (iOS or Android)

[1490] 2. Software

[1491] Audio processing library: Librosa as an example

[1492] Digital Audio Workstation (DAW) tools, such as FL Studio or Ableton Live

[1493] Cloud servers: Examples include Amazon Web Services (AWS) and Google Cloud

[1494] System processing procedure

[1495] 1. Audio Input and Recording

[1496] The user launches the smartphone application and presses the record button, recording humming or whistling with the smartphone's microphone and saving it as a .wav audio file.

[1497] 2. Analysis of audio data

[1498] The recorded audio file is sent to a cloud server, where noise is removed using an audio processing library such as Librosa.

[1499] Pitch information and rhythm patterns are analyzed from noise-removed audio data using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF).

[1500] 3. Extracting pitch and melody

[1501] The server analyzes the pitch data and constructs a melody from the extracted pitches, correcting the pitch as needed to produce an accurate, precise melody.

[1502] 4. Generating Keys and Chord Progressions

[1503] The server uses the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm to identify the key of the song and generate an appropriate chord progression.

[1504] 5. Rhythm Pattern Generation

[1505] The server generates rhythmic patterns based on the generated melody and chord progression, using standard 4 / 4 time signatures.

[1506] 6. Arranging and Playing Music Tracks

[1507] The server uses the DAW tool to combine melody, key, chord progressions, and rhythmic patterns to arrange the music track.

[1508] The generated music track is sent to the smartphone as a sound file and played using the sound player within the app.

[1509] 7. Sharing on digital platforms

[1510] The generated music tracks can be shared on social media and other music platforms via a smartphone application.

[1511] Specific examples

[1512] For example, a user launches the app, presses the "record" button, and records a hum. The recording is then sent by the smartphone to the server, which removes noise from the audio data and extracts pitch. Pitch correction is performed as needed, and a melody is generated. The server then generates a chord progression of I-IV-VI in the key of C major and combines it with rhythmic patterns to create a complete song track. The song track is then sent to the smartphone, where it can be played within the app and shared on social media and music platforms.

[1513] Example prompt for a generative AI model:

[1514] "Generate a melody and chord progression using a user-recorded humming tune. The generated melody should be in the key of C major with a I-IV-VI chord progression. The rhythm pattern should be constructed in 4 / 4 time."

[1515] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1516] Step 1:

[1517] Audio Input and Recording

[1518] The user launches the smartphone application and presses the record button to record a hum or whistle. As input, the user's voice is captured through the smartphone's microphone. As output, the recorded voice data is saved in the smartphone's memory as a .wav file.

[1519] Step 2:

[1520] Sending audio data

[1521] The device sends the recorded audio file to the cloud server. The audio data stored in the device's file system is used as input. The audio data is uploaded to the cloud server via the Internet as output.

[1522] Step 3:

[1523] Noise Reduction

[1524] The server performs noise reduction on the received audio data. It uses an audio processing library such as Librosa to remove background noise. The input is the audio data uploaded to the cloud server. The output is clean audio data with the noise removed.

[1525] Step 4:

[1526] Pitch and rhythm extraction

[1527] The server analyzes pitch information and rhythm patterns from the noise-removed audio data using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF). Clean audio data is used as input. The extracted pitch and rhythm information is obtained as output.

[1528] Step 5:

[1529] Melody construction and pitch correction

[1530] The server analyzes the extracted pitch data, corrects the pitch as needed, and generates an accurate melody. The analyzed pitch data is used as input, and the corrected melody data is obtained as output.

[1531] Step 6:

[1532] Generating keys and chord progressions

[1533] The server uses the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm to identify the key of the song and generate the appropriate chord progression. The corrected melody data is used as input. The output is the key information and chord progression data of the song.

[1534] Step 7:

[1535] Rhythm pattern generation

[1536] The server generates rhythmic patterns based on the melody, key, and chord progression. The melody, key, and chord progression data are used as input. The output is a rhythmic pattern corresponding to the song.

[1537] Step 8:

[1538] Arranging and creating music tracks

[1539] The server uses a DAW tool to combine melody, key, chord progressions, and rhythmic patterns to arrange a musical track. Melody, key, chord progressions, and rhythmic patterns are used as input. The output is a sound file of the completed musical track.

[1540] Step 9:

[1541] Sending and playing music tracks

[1542] The server sends the sound file of the generated music track to the smartphone. The device plays the received sound file using the sound player in the app. The input is the completed music track sent from the server to the smartphone. The output is the user playing the music and enjoying it.

[1543] Step 10:

[1544] Sharing on digital platforms

[1545] Users share music tracks generated on the smartphone application on social media or other music platforms. As input, music tracks stored on the smartphone are used. As output, the music is shared over the Internet.

[1546] The above is a specific flow of the program processing of the system for realizing the application example.

[1547] 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.

[1548] This invention combines a system that allows a user to simply hum or whistle and generate and play original music based on that tune with an emotion engine that recognizes the user's emotions. Specific embodiments of this system are described below.

[1549] System Overview

[1550] The system of the present invention accepts voice input, analyzes the voice data to generate a melody, key, chord progression, and rhythm pattern, and finally plays back a music track that combines these. It also has an emotion engine that recognizes the user's emotions and optimizes the music generation process based on the emotion data. This system is primarily composed of a user, a terminal, a server, and the emotion engine.

[1551] Audio Input and Recording

[1552] Users can launch the application and press the record button to record humming or whistling, which is then saved on the device and sent to the server.

[1553] Analysis of voice data

[1554] The server first performs a noise reduction process on the audio data it receives, eliminating background noise and unwanted sounds to obtain clean audio data. Next, it uses a pitch detection algorithm to extract pitch information from the audio data. Specifically, techniques such as Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF) are used.

[1555] Pitch correction and melody extraction

[1556] The server analyzes the pitch data, performs onset detection, and constructs a melody. If necessary, it applies pitch correction algorithms to generate an accurate melody. Techniques such as pitch shifting ensure that the user's humming is expressed as the intended melody.

[1557] Key and chord progression generation

[1558] The server applies an algorithm to identify the key of the song from the melody. This algorithm uses the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm. Based on this key information, an appropriate chord progression is dynamically generated. For example, for a song in the key of C major, a basic chord progression of I-IV-VI is generated.

[1559] Rhythm pattern generation

[1560] The server generates corresponding beats and rhythm patterns based on the rhythmic features of the melody. The generated rhythm patterns are expressed as standard beats such as 4 / 4 time.

[1561] Emotion recognition by emotion engine

[1562] The device sends the recorded voice data to the emotion engine, which then analyzes the voice to recognize the user's emotions. The emotions that can be recognized are, for example, four types: joy, anger, sadness, and pleasure.

[1563] Emotional music arrangement

[1564] Based on the emotional data obtained from the emotion engine, the server arranges the melody, key, chord progression, and rhythm pattern to suit the emotion. For example, if the emotion of joy is recognized, it will use more upbeat major chords and incorporate pop rhythm patterns.

[1565] Arranging and playing music tracks

[1566] Once all the elements are ready, the server uses a DAW (Digital Audio Workstation) tool to combine the melody, chord progression, and rhythm pattern to create a musical track. The completed musical track is then sent to the device as a sound file. The device receives the file and plays it using its built-in sound player. The user can then enjoy the music that best suits their emotions.

[1567] Specific examples

[1568] For example, a user launches the app, presses the "record" button, and hums. This humming recording is sent by the device to the server and simultaneously to the emotion engine. The server removes noise from the audio data, extracts pitch, and corrects it as necessary. The emotion engine recognizes the user's emotion, e.g., "joy." The server identifies the key and chord progression from the melody and generates a rhythmic pattern. The server arranges the music based on the emotion data and sends the final music track to the device. The user can then play and enjoy the music.

[1569] In this way, the system of the present invention enables anyone to easily create sophisticated music from humming or whistling, and further enables the music to fit the user's emotions.

[1570] The processing flow will be explained below.

[1571] Step 1:

[1572] The user launches the app and presses the "Record" button. The device then records the user's humming or whistling through the microphone.

[1573] Step 2:

[1574] When the recording is finished, the device temporarily saves the recorded voice data and displays a stop recording button. When the user presses the stop recording button, the device sends the voice data to the server and the emotion engine.

[1575] Step 3:

[1576] The server receives the audio data and applies a noise reduction filter to remove background noise to obtain cleared audio data.

[1577] Step 4:

[1578] The server extracts pitch information from the noise-removed audio data using a pitch detection algorithm (Zero Crossing Rate (ZCR) or Auto Correlation Function (ACF)).

[1579] Step 5:

[1580] The server detects onsets based on the extracted pitch information and constructs a melody. If necessary, it applies pitch correction algorithms such as pitch shifting to convert it into an accurate melody.

[1581] Step 6:

[1582] The server analyzes the melody information and identifies the key of the song using the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm.

[1583] Step 7:

[1584] The server generates an appropriate chord progression based on the specified key, for example, for the key of C major, it generates a chord progression of I-IV-VI.

[1585] Step 8:

[1586] The server analyzes rhythmic features based on the generated melody and chord progression to generate rhythm patterns. It automatically generates drum patterns such as basic 4 / 4 beats.

[1587] Step 9:

[1588] The emotion engine recognizes emotions from the user's voice input data, for example, identifying the user's emotions of joy, anger, sadness, and happiness through voice analysis.

[1589] Step 10:

[1590] Based on the emotional data obtained from the emotion engine, the server arranges the melody, key, chord progression, and rhythm pattern to suit the emotion. For example, for "Joy," it uses a lot of bright major chords and applies a pop rhythm pattern.

[1591] Step 11:

[1592] The server integrates the generated melodies, chord progressions, and rhythm patterns and arranges the music track using a DAW (Digital Audio Workstation) tool.

[1593] Step 12:

[1594] The server renders the arranged music track as a digital audio file and transmits the file to the device.

[1595] Step 13:

[1596] The device then plays the received audio file on a sound player, allowing the user to enjoy listening to the completed song.

[1597] Example 2

[1598] 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."

[1599] Conventional music generation systems simply generate melodies, keys, chord progressions, and rhythm patterns from voice input, but are unable to generate music that perfectly matches the user's emotions. This makes it difficult for users to easily create and enjoy music that matches their own feelings and atmosphere. Furthermore, there is also the problem that the quality of the generated music deteriorates when voice data contains noise.

[1600] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[1601] In this invention, the server includes means for accepting voice input, means for analyzing the voice data and extracting pitch and rhythm, means for constructing a melody from the extracted pitch and generating a key and chord progression, means for generating a rhythm pattern based on the generated melody, key, and chord progression, means for recognizing a user's emotion, means for optimizing the music generation process based on the recognized emotion data, and means for playing back the arranged music track, thereby enabling high-quality music that fits the user's emotion to be automatically generated and enjoyed.

[1602] A "means for accepting audio input" is a device or software interface that allows a user to record themselves humming or whistling.

[1603] "Means for analyzing audio data and extracting pitch and rhythm" refers to algorithms or software that has the function of analyzing and extracting pitch information and rhythm patterns from recorded audio data.

[1604] The "means for constructing a melody and generating a key and chord progression" is an algorithm that creates a melody line for a song from the extracted pitch information, determines the key of the entire song, and then performs processing to generate a chord progression based on that.

[1605] The "means for generating rhythm patterns" refers to software or algorithms that have the function of designing rhythm patterns based on the generated melody and chord progression, and forming the beats required for the song.

[1606] "Means for recognizing user emotions" refers to software or algorithms that analyze voice data to identify the user's emotional state.

[1607] "Means for optimizing the music generation process based on recognized emotional data" refers to software or algorithms that utilize the user's emotional data to adjust the melody, key, chord progression, and rhythmic patterns of a song to match the user's emotions.

[1608] "Means for playing the arranged musical track" means a device or software interface for playing the created musical track.

[1609] This invention is a system that allows users to generate and play original music by providing voice input such as humming or whistling. It also recognizes the user's emotions and optimizes the music generation process based on those emotions. The system primarily consists of a user, a terminal, a server, and an emotion engine.

[1610] Audio Input and Recording

[1611] The user launches the application, presses the record button, and begins humming or whistling. The recorded audio data is saved on the device and then sent to the server. The hardware used is a mobile device such as a smartphone or tablet, and application software with a recording function is used.

[1612] Analysis of voice data

[1613] The server first performs a noise reduction process on the received audio data. Specific algorithms include Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF) to eliminate background noise and unwanted sounds. Next, a pitch detection algorithm is used to extract pitch information. At this stage, phonemes are identified,

[1614] Onset detection identifies the location of the beginning of a sound.

[1615] Melody and chord progression generation

[1616] The server analyzes the pitch data and constructs a melody. During this process, pitch correction algorithms (e.g., pitch shifting) are applied to generate an accurate melody line. Next, to identify the key of the song from the generated melody, the server uses Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm. Based on this key information, an appropriate chord progression is dynamically generated. For example, in the key of C major, a basic chord progression of I-IV-VI is created.

[1617] Rhythm pattern generation

[1618] The server analyzes the rhythmic characteristics of the melody and generates a corresponding rhythm pattern. The standard 4 / 4 beat is often used, but other beats and rhythm patterns can also be generated as needed.

[1619] Emotion recognition by emotion engine

[1620] The device sends the recorded voice data to the emotion engine, which analyzes the voice data to recognize the user's emotions. The four recognized emotions are joy, anger, sadness, and pleasure. This emotion data is sent to the server and incorporated into the music generation process.

[1621] Music arrangement based on emotional data

[1622] The server then uses the emotional data obtained from the emotion engine to arrange the melody, key, chord progression, and rhythm pattern to suit the emotion. For example, if the emotion of joy is recognized, bright major chords and pop rhythm patterns will be used.

[1623] Creating and playing music tracks

[1624] The server uses a DAW (Digital Audio Workstation) tool to combine melodies, chord progressions, and rhythmic patterns to generate the final music track. This music track is then sent to the device as a sound file. The device receives this file and plays it using its built-in sound player. The user can then enjoy music that matches their own emotions.

[1625] Specific examples

[1626] For example, a user launches the app, presses the "record button," and hums. This humming recording is sent by the device to the server and simultaneously to the emotion engine. The server removes noise from the audio data, extracts pitch, and corrects it as necessary. The emotion engine recognizes the user's emotion, e.g., "joy." The server identifies the key and chord progression from the melody and generates a rhythmic pattern. The server arranges the music based on the emotion data and sends the final music track to the device. The user can then play and enjoy the music.

[1627] Prompt Sentence Examples

[1628] "Describe a system that allows a user to record themselves humming and then generate and play back original music from that recording. The system recognizes the user's emotions and incorporates that information into the music-generation process. Please name any specific hardware or software and describe each step of the process in detail."

[1629] In this way, the system of the present invention enables anyone to easily create sophisticated music from humming or whistling, and further enables the music to fit the user's emotions.

[1630] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1631] Step 1:

[1632] The user launches the application and presses the "record" button to record a hum or whistle.

[1633] Specific behavior: When a user presses the record button on the mobile app, the recording function starts and records the user's humming or whistling. When the recording is finished, the user presses the stop button.

[1634] Input: Audio of the user humming or whistling.

[1635] Output: Audio data file saved on your device.

[1636] Step 2:

[1637] The device transmits the stored voice data to the server.

[1638] Specific operation: After recording is completed, the device sends the audio data file to the server using an HTTP POST request.

[1639] Input: Audio data files stored on the device.

[1640] Output: The audio data file sent to the server.

[1641] Step 3:

[1642] The server performs a noise removal process on the received audio data.

[1643] What it does: The server uses algorithms such as Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF) to filter out background noise and unwanted sounds.

[1644] Input: The audio data file sent to the server.

[1645] Output: Cleaned audio data with noise removed.

[1646] Step 4:

[1647] The server detects the pitch from the clarified voice data.

[1648] What it does: It applies a pitch detection algorithm to extract pitch information from audio data. At this stage, it identifies phonemes and uses onset detection to determine the beginning of a sound.

[1649] Input: Cleaned audio data with noise removed.

[1650] Output: A dataset containing pitch information.

[1651] Step 5:

[1652] The server analyzes the pitch data and constructs a melody.

[1653] What it does: It uses pitch correction algorithms (e.g., pitch shifting) to adjust the pitch of what the user is humming or whistling to represent the intended melody, and onset detection to capture the rhythm and timing of the melody.

[1654] Input: A dataset containing pitch information.

[1655] Output: The frameworked melody data.

[1656] Step 6:

[1657] The server identifies the key and chord progression from the melody.

[1658] What it does: It applies the Pitch Class Profile (PCP) and Krumhansl-Schmuckler Key-Finding Algorithm to identify the key of the melody and generate an appropriate chord progression based on that. For example, in the key of C major, it generates a basic chord progression of I-IV-VI.

[1659] Input: Frameworked melody data.

[1660] Output: Key information and chord progression data.

[1661] Step 7:

[1662] The server generates the rhythm pattern.

[1663] What it does: Analyzes the rhythmic features of a melody and generates common 4 / 4 beats and other necessary rhythmic patterns.

[1664] Input: Key information and chord progression data.

[1665] Output: Rhythm pattern data.

[1666] Step 8:

[1667] The device sends the recorded voice data to the emotion engine.

[1668] What it does: Sends voice data to an emotion engine in real time or after the fact to analyze the user's emotions.

[1669] Input: Audio data files stored on the device.

[1670] Output: The audio data file sent to the emotion engine.

[1671] Step 9:

[1672] The emotion engine recognizes the user's emotions.

[1673] Specific operation: Performs voice analysis to identify the user's emotion (one of four types: joy, anger, sadness, and happiness).

[1674] Input: The audio data file sent to the emotion engine.

[1675] Output: User emotion data.

[1676] Step 10:

[1677] The server optimizes the music generation process based on the emotional data.

[1678] What it does: It adapts the melody, key, chord progression, and rhythmic patterns to match the user's emotions. For example, if joy is detected, it uses bright major chords and pop rhythmic patterns.

[1679] Input: User emotion data, melody data, chord progression data, rhythm pattern data.

[1680] Output: Emotionally arranged music data.

[1681] Step 11:

[1682] The server generates the music tracks.

[1683] What you will do: Use a DAW (Digital Audio Workstation) tool to combine melody, chord progressions, and rhythmic patterns to produce the final song track.

[1684] Input: Music data arranged based on emotions.

[1685] Output: A finished song track.

[1686] Step 12:

[1687] The device receives and plays the music track.

[1688] Specific operation: The device receives the music track sent from the server and plays it using the built-in sound player, allowing the user to enjoy the generated music.

[1689] Input: A completed song track.

[1690] Output: The song that the user plays.

[1691] (Application example 2)

[1692] 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."

[1693] Conventional music generation systems simply generate melodies and rhythms based on audio data without considering the user's emotions. This prevents users from generating music based on specific emotions, limiting the user experience. Furthermore, there is no way to automatically provide music that fits the user's emotions, requiring the user to manually arrange the music themselves. To solve these problems, a system is needed that recognizes the user's emotions and generates and arranges music based on that data.

[1694] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[1695] In this invention, the server includes means for analyzing audio data and extracting pitch and rhythm, means for constructing a melody from the extracted pitch and generating a key and chord progression, means for generating a rhythm pattern based on the generated melody, key, and chord progression, emotion recognition means for recognizing the user's emotions, and means for arranging music based on the emotion data. This makes it possible for a user to simply hum or whistle and have an original piece of music automatically generated that fits the user's emotions.

[1696] (definition statement)

[1697] "Means for accepting voice input" refers to a device or software that records voice data such as a user's humming or whistling and inputs it into the system.

[1698] "Means for analyzing audio data and extracting pitch and rhythm" refers to a technology that analyzes pitch and rhythm patterns from recorded audio data and extracts them as numerical data.

[1699] The "means for constructing a melody from extracted pitches and generating a key and chord progression" is an algorithm that creates the main melody of a song based on analyzed pitch data, and then determines the key and chord progression that are appropriate for that melody.

[1700] "Means for generating a rhythm pattern based on the generated melody, key, and chord progression" refers to a method for determining the rhythm of the entire song based on existing melody, key, and chord progression information.

[1701] "Emotion recognition means for recognizing user emotions" refers to a system or technology for identifying a user's emotions from recorded voice data and handling them as digital signals.

[1702] "Means for arranging music based on emotional data" refers to the process of utilizing the recognized emotional data of a user, adjusting the melody, key, chord progression, and rhythm pattern to be optimized for that data, and arranging the entire music piece.

[1703] "Means for playing back arranged music tracks" refers to a device or software that transmits the final music data generated to a user terminal as a sound file, allowing the user to play back and enjoy the music.

[1704] MODE FOR CARRYING OUT THE INVENTION

[1705] The system for implementing the present invention comprises the following components and processing steps.

[1706] 1. System Overview

[1707] This system generates and plays original music based on the user's humming or whistling, and also has the ability to recognize the user's emotions and optimize the music based on those emotions.

[1708] 2. Hardware and Software Used

[1709] The system includes the following hardware and software:

[1710] Device: A smartphone, tablet, or head-mounted display on which the user records their hum or whistle.

[1711] Server: A cloud server that analyzes audio data and generates music.

[1712] Emotion Recognition Engine: An AI model that recognizes user emotions from voice.

[1713] 3. Acquiring and Processing Audio Data

[1714] The user starts the dedicated application and presses the "record" button to record a tune or whistle. The recorded data is saved on the device and sent to the server.

[1715] 4. Analysis of audio data

[1716] The server first removes noise from the audio data. For example, it uses the Librosa library for this process. Next, it performs pitch detection and extracts pitch information from the audio data. The extracted pitch data is then analyzed to construct a melody. During this process, pitch correction is performed to generate an accurate melody.

[1717] 5. Generating Musical Elements

[1718] The server identifies the key of the song from the melody and generates the appropriate chord progression using Pitch Class Profile and the Krumhansl-Schmuckler Key-Finding Algorithm, and also automatically generates rhythmic patterns.

[1719] 6. Emotion Recognition and Music Arrangement

[1720] The recorded audio data is also sent to the emotion engine, which uses a pre-trained TensorFlow emotion model to recognize the user's emotions. Based on the emotion data, the generated melody, key, chord progression, and rhythmic pattern are optimized.

[1721] 7. Creating and Playing Music Tracks

[1722] Once all the elements are in place, the server uses a digital audio workstation (DAW) tool to combine the melody, chord progression, and rhythmic patterns to generate a complete song track, which is then sent to the device as a sound file, where users can play and enjoy the song within the app.

[1723] Specific examples

[1724] Example 1

[1725] The user starts the app, presses the "record" button, and hums. The humming recording is sent by the device to the server and simultaneously sent to the emotion engine.

[1726] The server removes noise from the audio data, extracts the pitch, and corrects it if necessary.

[1727] The emotion engine recognizes the user's emotion, for example, the emotion "joy."

[1728] The server identifies the key and chord progression from the melody and generates a rhythm pattern.

[1729] The music is arranged based on the emotional data, and the final music track is sent to the device.

[1730] The user can then play and enjoy the music.

[1731] Prompt Sentence Examples

[1732] "Provide music generated from the user's humming, arranged based on the recognized emotion data. For example, if the emotion of joy is recognized, use upbeat major chords and a pop rhythm."

[1733] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1734] Detailed explanation of the program's processing steps

[1735] Step 1: Record and send

[1736] The user launches the application, presses the record button, and records a hum or whistle. The recorded data is temporarily stored on the device and then automatically sent to the server. The same data is also sent to the emotion engine.

[1737] Input: User's humming or whistling audio

[1738] Output: Recorded audio data file

[1739] Step 2: Noise reduction

[1740] The server runs a noise reduction process on the received audio data, using the Librosa library to remove background noise and unwanted sounds, resulting in cleaned audio data.

[1741] Input: Recorded audio data file

[1742] Output: Noise-removed audio data

[1743] Step 3: Pitch extraction

[1744] The server runs a pitch detection algorithm on the noise-removed audio data, extracting pitch information from the audio data using Zero Crossing Rate (ZCR) and Auto Correlation Function (ACF).

[1745] Input: Noise-removed audio data

[1746] Output: Extracted pitch data

[1747] Step 4: Melody construction and pitch correction

[1748] The server detects onsets based on the extracted pitch data and constructs a melody, correcting the pitch using techniques such as pitch shifting to generate an accurate melody.

[1749] Input: extracted pitch data

[1750] Output: Corrected melody data

[1751] Step 5: Generate a key and chord progression

[1752] The server applies algorithms to identify the key of the song from the melody, such as the Pitch Class Profile (PCP) and the Krumhansl-Schmuckler Key-Finding Algorithm, and dynamically generates an appropriate chord progression based on this key information.

[1753] Input: Corrected melody data

[1754] Output: Key information and chord progression data

[1755] Step 6: Generate rhythmic patterns

[1756] The server generates corresponding beats and rhythm patterns based on the rhythmic features of the melody. The generated rhythm patterns are expressed as standard beats such as 4 / 4 time.

[1757] Input: Key information and chord progression data

[1758] Output: Rhythm pattern data

[1759] Step 7: Emotion Recognition

[1760] The emotion engine recognizes the user's emotions from recorded voice data. A pre-trained TensorFlow emotion model is used for emotion recognition. The four types of emotions that can be recognized are joy, anger, sadness, and happiness.

[1761] Input: Recorded audio data

[1762] Output: Recognized emotion data

[1763] Step 8: Arrange your music based on emotion

[1764] The server then uses the emotional data obtained from the emotion engine to arrange the melody, key, chord progression, and rhythmic pattern to suit the emotion. For example, if the emotion of joy is recognized, the server will use more upbeat major chords and incorporate pop rhythmic patterns.

[1765] Input: Melody, key, chord progression, rhythm pattern, recognized emotion data

[1766] Output: Arranged music data

[1767] Step 9: Generate and play music tracks

[1768] The server uses a digital audio workstation (DAW) tool to combine the arranged melody, chord progression, and rhythm pattern to generate a musical track, which is then sent to the terminal as a sound file for the user to play and enjoy.

[1769] Input: Arranged music data

[1770] Output: Music track sound file

[1771] The above are the specific processing steps in the embodiment for carrying out the invention.

[1772] 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.

[1773] 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.

[1774] 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.

[1775] 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.

[1776] 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.

[1777] 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.

[1778] 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).

[1779] 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.

[1780] 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."

[1781] 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.

[1782] 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).

[1783] 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.

[1784] 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.

[1785] 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.

[1786] 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.

[1787] 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.

[1788] 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.

[1789] 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.

[1790] 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.

[1791] 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.

[1792] 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.

[1793] The following is further disclosed regarding the above embodiment.

[1794] (Claim 1)

[1795] means for accepting voice input;

[1796] A means for analyzing audio data and extracting pitch and rhythm;

[1797] A means of constructing melodies from the extracted intervals and generating keys and chord progressions;

[1798] means for generating a rhythm pattern based on the generated melody, key, and chord progression;

[1799] a means for playing the arranged musical track;

[1800] A system including:

[1801] (Claim 2)

[1802] 10. The system of claim 1, wherein the system denoises audio data.

[1803] (Claim 3)

[1804] 10. The system of claim 1, further comprising means for correcting pitch.

[1805] "Example 1"

[1806] (Claim 1)

[1807] means for accepting voice input;

[1808] A means for analyzing audio data and extracting pitch and rhythm;

[1809] A means of constructing melodies from the extracted intervals and generating keys and chord progressions;

[1810] means for generating a rhythm pattern based on the generated melody, key, and chord progression;

[1811] a means for arranging a musical track by integrating the generated melody, key, chord progression and rhythm pattern;

[1812] a means for playing the arranged musical track;

[1813] A system including:

[1814] (Claim 2)

[1815] 10. The system of claim 1, further comprising means for denoising the audio data.

[1816] (Claim 3)

[1817] 10. The system of claim 1, further comprising means for correcting pitch.

[1818] "Application Example 1"

[1819] (Claim 1)

[1820] means for accepting voice input;

[1821] A means for analyzing audio data and extracting pitch and rhythm;

[1822] means for constructing melodies from the extracted intervals and generating keys and chord progressions;

[1823] means for generating a rhythm pattern based on the generated melody, key, and chord progression;

[1824] a means for playing the arranged musical track;

[1825] A means to share the generated music tracks on external digital platforms;

[1826] A system including:

[1827] (Claim 2)

[1828] 10. The system of claim 1, wherein the system denoises audio data.

[1829] (Claim 3)

[1830] 10. The system of claim 1, further comprising means for correcting pitch.

[1831] "Example 2: Combining Emotion Engines"

[1832] (Claim 1)

[1833] means for accepting voice input;

[1834] A means for analyzing audio data and extracting pitch and rhythm;

[1835] A means of constructing melodies from the extracted intervals and generating keys and chord progressions;

[1836] means for generating a rhythm pattern based on the generated melody, key, and chord progression;

[1837] means for recognizing a user's emotion;

[1838] means for optimizing the music generation process based on the recognized emotion data;

[1839] a means for playing the arranged musical track;

[1840] A system including:

[1841] (Claim 2)

[1842] 10. The system of claim 1, wherein the system denoises audio data.

[1843] (Claim 3)

[1844] 10. The system of claim 1, further comprising means for correcting pitch.

[1845] "Application example 2 when combining emotion engines"

[1846] Rewriting of claims

[1847] (Claim 1)

[1848] means for accepting voice input;

[1849] A means for analyzing audio data and extracting pitch and rhythm;

[1850] A means of constructing melodies from the extracted intervals and generating keys and chord progressions;

[1851] means for generating a rhythm pattern based on the generated melody, key, and chord progression;

[1852] emotion recognition means for recognizing an emotion of a user;

[1853] A means for arranging music based on emotional data;

[1854] a means for playing the arranged musical track;

[1855] A system including:

[1856] (Claim 2)

[1857] 10. The system of claim 1, wherein the system denoises audio data.

[1858] (Claim 3)

[1859] 10. The system of claim 1, further comprising means for correcting pitch. [Explanation of symbols]

[1860] 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 accepting voice input; A means for analyzing audio data and extracting pitch and rhythm; A means of constructing melodies from the extracted intervals and generating keys and chord progressions; means for generating a rhythm pattern based on the generated melody, key, and chord progression; a means for playing the arranged musical track; A system including:

2. 10. The system of claim 1, wherein the system denoises audio data.

3. 10. The system of claim 1, further comprising means for correcting pitch.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A