System
A system for real-time piano practice and feedback addresses the challenges of cost and home practice by recording, analyzing, and providing accompaniment and coaching, enhancing learning efficiency.
Patent Information
- Application Number
- JP2024133453
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-08
- Publication Date
- 2026-02-20
AI Technical Summary
Traditional piano learning is expensive, difficult to practice at home without ensemble support, and challenging for beginners due to sheet music reading difficulties, hindering effective learning.
A system that records and analyzes a user's piano performance in real-time, generates accompaniment data and feedback, and provides coaching information to support continuous and effective learning at home.
Enables users to practice piano effectively at home with real-time feedback and coaching, overcoming the challenges of cost and motivation, and improving learning efficiency.
Smart Images

Figure 2026030470000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] While learning and practicing the piano has many benefits, there are several challenges with traditional piano learning. First, piano lessons are expensive, making learning not easy for everyone. Also, practicing at home can be difficult because it's difficult to enjoy playing along or in an ensemble, making it difficult to maintain motivation. Furthermore, for beginners, reading sheet music can be difficult, hindering effective learning. There is a need for a system that solves these challenges and allows students to continue piano learning easily at home. [Means for solving the problem]
[0005] The present invention is a system that includes a means for recording a user's performance in real time and transmitting it to a server, a means for the server to analyze the performance received and generate accompaniment data, a means for the server to transmit the generated accompaniment data to the user's terminal, and a means for the terminal to play the received accompaniment data and provide feedback to the user. The system further includes a means for the terminal to generate coaching information based on the user's performance and display it to the user, thereby supporting the user's improvement of their performance technique. The system also includes a means for the server to analyze and evaluate the user's performance and generate coaching information, a means for transmitting the generated coaching information to the user's terminal, and a means for the terminal to display the received coaching information to the user, thereby providing detailed feedback and supporting effective learning. This solves the challenges of piano learning and enables easy, continuous, and effective learning at home.
[0006] A "user" is an individual who uses this system to play or learn the piano.
[0007] "Performance sounds" are audio signals generated by striking the piano keys.
[0008] "Real-time" refers to a method of time management in which processing and reaction occur immediately without delay.
[0009] "Recording" is the technical means of collecting an acoustic signal and storing or transmitting it as digital data.
[0010] A "server" is a device or system that receives data sent from a user, processes it, and generates or sends data based on instructions.
[0011] "Analysis" is the process of examining received data in detail, understanding its content and characteristics, and extracting necessary information.
[0012] "Accompaniment data" is additional sound data that is generated in accordance with the user's performance.
[0013] A "terminal" is a device that is directly operated by a user and has an interface for sending and receiving data to and from a server.
[0014] "Feedback" refers to information such as evaluation and advice provided regarding a performance, and is information intended to help the user improve their skills.
[0015] "Coaching information" is specific advice and instruction information generated based on the user's performance data.
[0016] "Display" refers to the act of visually presenting information on a terminal's display or screen. [Brief explanation of the drawings]
[0017] [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
[0018] 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.
[0019] First, the terms used in the following description will be explained.
[0020] 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).
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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."
[0025] [First embodiment]
[0026] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0027] 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.
[0028] 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).
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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."
[0038] This invention is a system that supports users in continuing to learn and practice piano at home. This system includes means for recording the user's performance in real time and transmitting it to a server, means for the server to analyze the performance received and generate accompaniment data, means for transmitting the generated accompaniment data to the user's terminal, and means for the terminal to play back the received accompaniment data and provide feedback to the user.
[0039] The server plays a central role in performing critical analysis and data generation. When the server receives the user's performance, it uses a dedicated audio analysis algorithm to analyze the pitch, rhythm, speed, dynamics, etc. Based on the analysis results, the server uses AI to generate optimal accompaniment data. For example, if a user plays "Do-Re-Mi," the server analyzes the sequence of notes and generates appropriate chords and rhythm patterns as accompaniment.
[0040] The generated accompaniment data is sent from the server to the user's device in real time. The device then plays the received accompaniment data and provides sound effects that match the user's performance. The device also provides visual and audio feedback to the user. For example, if the tempo becomes unstable during a performance, the device will display a message such as "Keep the tempo constant."
[0041] Furthermore, the server generates detailed coaching information based on the user's performance results. Based on the analyzed performance data, the accuracy of the notes, rhythm, tempo, dynamics, etc. are individually evaluated, and specific advice is generated. This coaching information is sent from the server to the device, which then displays it to the user. For example, the user may receive a detailed evaluation such as "The rhythm is good, but the pitch is inaccurate" as the performance evaluation result.
[0042] As a specific example, a user sits at a piano and begins playing "Do Re Mi Fa So La Si Do." The device records this in real time and sends the audio data to a server. The server analyzes the received data and generates accompaniment data corresponding to the "Do Re Mi Fa So La Si Do" musical sequence. This accompaniment data is sent to the device in real time, and the device plays back the received accompaniment while displaying animations of the pitch and rhythm as visual feedback. After the performance, the server further analyzes the performance data and generates evaluation results and coaching information, which are sent to the device. The device displays this to the user, visually indicating specific areas for improvement, thereby enhancing the user's learning effectiveness.
[0043] As described above, the present invention provides a system for effectively supporting users' piano learning, comprehensively providing specific means for supporting learning and practice at home. This system allows users to continue practicing at home with professional instruction, without having to attend piano lessons. Furthermore, real-time feedback and detailed coaching information allow users to understand their own progress and effectively advance their learning.
[0044] The processing flow will be explained below.
[0045] Step 1:
[0046] The user sits down at the piano and starts playing. When the user strikes the keys to produce sounds, the sound is captured in real time by the device's microphone.
[0047] Step 2:
[0048] The device records the captured performance sound in real time, and the recorded audio data is immediately sent to the server.
[0049] Step 3:
[0050] The server analyzes the received audio data, applying algorithms to analyze pitch, rhythm, speed, dynamics, etc.
[0051] Step 4:
[0052] Based on the analysis results, the server uses AI to generate appropriate accompaniment data. For example, if a user plays "Do-Re-Mi," the server will generate an accompaniment rhythm and chords that match the sequence of notes.
[0053] Step 5:
[0054] The server sends the generated accompaniment data to the device in real time, allowing the accompaniment to be layered on the user's performance without delay.
[0055] Step 6:
[0056] The terminal then plays back the received accompaniment data, and the user's performance and the accompaniment sounds are output in sync.
[0057] Step 7:
[0058] The device provides visual feedback to the user based on the rhythm and dynamics of their performance. For example, if the tempo is too fast, a message such as "Keep the tempo steady" will appear on the screen.
[0059] Step 8:
[0060] The server performs additional analysis to evaluate the user's performance data in detail, evaluating the accuracy, rhythm, tempo, dynamics, etc. of the performance individually.
[0061] Step 9:
[0062] Based on the evaluation results, the server generates coaching information to provide specific advice to the user, for example, "your rhythm is good, but your pitch is inaccurate."
[0063] Step 10:
[0064] The server then sends the generated coaching information to the terminal, allowing the user to receive evaluation and advice immediately after playing.
[0065] Step 11:
[0066] The device receives coaching information from the server and displays it on the screen. The user can then apply the information visually to their next performance. For example, a graph of their performance evaluation and specific advice are displayed.
[0067] Step 12:
[0068] The user can then use the displayed coaching information to prepare for their next practice session, allowing them to continually improve their learning.
[0069] Example 1
[0070] 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."
[0071] When users learn to play the piano at home, they face challenges such as difficulty in receiving proper feedback and accompaniment. They also face the challenge of attending piano lessons for professional instruction, which is time-consuming and expensive. Furthermore, there is a risk of playing with the wrong rhythm or tempo during practice, making it difficult to learn efficiently.
[0072] 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.
[0073] In this invention, the server comprises: means for analyzing the sounds played by the user and generating accompaniment data;
[0074] means for transmitting the generated accompaniment data to a user's terminal;
[0075] and means for generating detailed coaching information based on the user's analysis data.
[0076] This allows users to receive appropriate accompaniment and feedback in real time at home, allowing them to continue learning piano playing effectively.Furthermore, by providing detailed coaching information about their performance, it can promote user improvement.
[0077] The "user's performance sound" is a sound wave signal generated when the user plays an instrument such as a piano.
[0078] "Means for recording in real time" refers to a method or device that records the sound of a musical instrument played by a user as data almost simultaneously while the user is playing the instrument.
[0079] The "server" is a central processing unit that receives the sounds played by the user and performs analysis and data generation.
[0080] "Means of analysis" refers to algorithms or software that determine elements such as pitch, rhythm, speed, and dynamics based on the received performance sound.
[0081] "Accompaniment data" is complementary music data generated to match the user's performance, and is used as background music for the performance.
[0082] "Means of generation" refers to the algorithms and software used to create accompaniment data based on the analysis results.
[0083] "User's device" refers to an electronic device used by a user, such as a computer, tablet, or smartphone.
[0084] "Means for providing feedback" refers to a method or device that visually or audibly notifies the user of the quality of their performance and areas for improvement.
[0085] "Detailed coaching information" refers to specific advice and instruction information generated based on sound accuracy, rhythm, tempo, dynamics, etc.
[0086] "Visual feedback" refers to a method of providing information about a performance to a user through a visual information display device such as a display.
[0087] "Audio feedback" refers to a method of providing information about a performance to a user audibly through speakers or headphones.
[0088] The present invention relates to a system that enables users to effectively continue learning and practicing piano at home. The system uses advanced analysis and generation techniques to provide users with real-time feedback and coaching information.
[0089] First, a user sits down at a piano at home and starts playing. The user's device (e.g., computer, tablet, smartphone, etc.) uses its built-in microphone to record the performance in real time and temporarily saves it in WAV or MP3 format. Next, the device sends the recording data to the server via an HTTP POST request. This request is executed via an API endpoint.
[0090] The server uses audio analysis libraries such as Librosa and Pydub to analyze the received performance audio. Items to be analyzed include pitch, rhythm, speed (tempo), and dynamics. Based on the results of these analyses, the server inputs prompt statements into a generative AI model (such as TensorFlow or PyTorch) to generate optimal accompaniment data. Examples of prompt statements include:
[0091] Example prompt:
[0092] 1. "The user played 'Do Re Mi Fa So La Si Do'. Please generate the best corresponding accompaniment data."
[0093] 2. "Analyze performance data and provide evaluation and advice regarding pitch, rhythm, tempo, and dynamics."
[0094] The generated accompaniment data is sent to the device in real time using audio streaming technology (e.g., WebSocket). The device then plays the received accompaniment data through its built-in speaker, providing sound effects that match the user's performance. The device can also display animations of pitch and rhythm on the screen as visual feedback, and play audio feedback such as "Keep the tempo consistent."
[0095] Furthermore, after the performance, the server performs a detailed analysis of the received performance data and generates coaching information. This coaching information includes specific advice based on pitch accuracy, rhythm, tempo, dynamics, etc. For example, "Your rhythm is good, but your pitch is inaccurate. Next time, practice paying attention to the pitch." The generated coaching information is sent to the device via an HTTP POST request, and the device displays it on the screen for the user.
[0096] The present invention thus provides an environment in which users can effectively learn to play the piano at home, and provides real-time support for user improvement without relying on professional instruction or lessons.
[0097] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0098] Step 1:
[0099] The user plays the piano.
[0100] Input: User playing piano
[0101] Output: Piano sound
[0102] Specific operation: The user plays "do-re-mi-fa-so-la-ti-do" on the piano.
[0103] Step 2:
[0104] The device records the sound of the performance.
[0105] Input: Piano sound
[0106] Output: Recording data
[0107] Specific operation: The device's built-in microphone records the user's performance in real time and temporarily saves it in WAV format.
[0108] Step 3:
[0109] The device sends the recorded data to the server.
[0110] Input: Recording data (WAV format)
[0111] Output: HTTP POST request to the server
[0112] Specific operation: The device sends the recorded data to the API endpoint using an HTTP POST request.
[0113] Step 4:
[0114] The server analyzes the received audio data.
[0115] Input: Recording data (WAV format)
[0116] Output: Analysis results (pitch, rhythm, tempo, dynamics, etc.)
[0117] Specific operation: The server uses the Librosa library to analyze audio data and extract pitch, rhythm, tempo, dynamics, etc.
[0118] Step 5:
[0119] The server generates accompaniment data based on the analysis results.
[0120] Input: Analysis results
[0121] Output: accompaniment data
[0122] Specific operation: The server inputs the analysis results as prompts into a generative AI model (e.g., TensorFlow) to generate optimal accompaniment data.
[0123] Example prompt:
[0124] "The user played 'Do Re Mi Fa So La Si Do'. Please generate the best corresponding accompaniment data."
[0125] Step 6:
[0126] The server transmits the generated accompaniment data to the terminal.
[0127] Input: accompaniment data
[0128] Output: WebSocket data to the terminal
[0129] Specific operation: The server sends the generated accompaniment data to the terminal in real time via WebSocket.
[0130] Step 7:
[0131] The terminal plays back the accompaniment data.
[0132] Input: accompaniment data
[0133] Output: Audio output (accompaniment sound)
[0134] Specific operation: The device plays the received accompaniment data through its built-in speaker, providing sound effects that match the user's performance.
[0135] Step 8:
[0136] The device provides visual and audio feedback to the user.
[0137] Input: accompaniment data and performance status
[0138] Output: Visual and audio feedback
[0139] Specific operation: The device displays animations of pitch and rhythm as visual feedback, and plays audio feedback such as "Keep the tempo consistent."
[0140] Step 9:
[0141] The server generates coaching information based on the performance data.
[0142] Input: Performance data and analysis results
[0143] Output: Coaching information
[0144] Specific actions: The server performs detailed analysis and evaluates the accuracy of the sound, rhythm, tempo, and dynamics, and then generates specific coaching information.
[0145] Example prompt:
[0146] "Analyze performance data and provide evaluation and advice on pitch, rhythm, tempo, and dynamics."
[0147] Step 10:
[0148] The server transmits the generated coaching information to the terminal.
[0149] Input: Coaching information
[0150] Output: HTTP POST request to the terminal
[0151] Specific operation: The server sends the generated coaching information to the terminal via an HTTP POST request.
[0152] Step 11:
[0153] The terminal displays the coaching information to the user.
[0154] Input: Coaching information
[0155] Output: Visual display
[0156] Specific operation: The device displays coaching information on the screen, providing the user with visual messages such as, "Your rhythm is good, but your pitch is inaccurate. Next time, practice paying attention to the pitch."
[0157] (Application example 1)
[0158] 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."
[0159] Conventional factory automation systems lack a way to manage and evaluate the accuracy and efficiency of robotic arms and other automated equipment in real time. This makes it difficult to improve work accuracy and operate efficiently. Another issue is the lack of appropriate feedback, which makes it difficult for operators to correct errors immediately.
[0160] 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.
[0161] In this invention, the server includes a means for recording audio data of the user's actions in real time and transmitting it to the server, a means for analyzing the received audio and generating action feedback data, and a means for transmitting the action feedback data generated by the server to the user's terminal. This allows the operation of a robot arm or other automated equipment to be analyzed in real time and provide appropriate feedback, allowing the operator to immediately correct errors and improve work accuracy and efficiency.
[0162] "Audio data of user's actions" refers to data that records acoustic information accompanying actions performed by the user.
[0163] A "server" is an information processing device that analyzes received data and performs necessary processing.
[0164] The "operation sound" is an acoustic signal that is generated in conjunction with a specific operation performed by the user.
[0165] "Action feedback data" refers to data that includes evaluation and advice on the user's actions, generated by the server through analysis of the action sounds.
[0166] A "terminal" is an information processing device that transmits and receives data between a user and a server, and is a device that plays a role in providing action feedback data to a user.
[0167] "Real-time" refers to a method in which data processing and feedback are carried out almost simultaneously with the actions or operations performed by the user.
[0168] "Analysis" refers to the process of analyzing voice data and movement data in detail and extracting their features.
[0169] "Coaching information" refers to information that includes evaluation results, areas for improvement, and instruction content regarding the user's actions.
[0170] The system of the present invention monitors user behavior in real time and provides feedback based on the monitoring results to help users effectively manage and improve their behavior. A specific embodiment of the system will be described below.
[0171] First, the audio data of the user's actions is recorded in real time using a microphone. This recorded data is stored on the device and sequentially sent to the server. An audio processing library (e.g., Python's sounddevice library) is used to process the audio data.
[0172] The audio data sent to the server is analyzed using a dedicated analysis algorithm. This analysis extracts the sound characteristics of the movement (e.g., rhythm, strength, speed, etc.) and evaluates the user's movement in detail. The server uses a high-performance processor and analysis software (e.g., a generative AI model). Based on the analyzed data, the server generates appropriate movement feedback data. This data is then sent to the user's device.
[0173] The device then provides the received motion feedback data to the user. This feedback is provided visually and audibly. The visual feedback includes a graphical display of the rhythm and strength of the motion, while the audio feedback includes specific audio instructions for improvement. The device can be a smartphone or tablet PC.
[0174] The server then generates detailed coaching information based on the user's performance, including performance evaluation results and specific advice. The coaching information is then sent to the user's terminal and presented to them visually and audibly.
[0175] As a specific example, the sounds a user makes while operating a robot arm are recorded and sent to a server. The server analyzes the sounds and evaluates the speed and accuracy of the operation. For example, feedback such as "The speed is uneven while the robot arm is operating. Please keep the speed constant" is displayed on the terminal in real time. This allows the user to immediately correct errors and improve the accuracy of their work.
[0176] Alternatively, a generative AI model could be used to provide prompts such as:
[0177] "The robot arm's movements are recorded in real time and sent to a server. The server then uses a voice analysis algorithm to analyze the data and provide optimal feedback. Specifically, the accuracy, rhythm, speed, and strength of the movements are evaluated, and appropriate areas for improvement are suggested in real time."
[0178] In this way, the system effectively supports users in managing and improving their movements, providing real-time feedback and detailed coaching information to help users efficiently learn movements and improve their accuracy.
[0179] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0180] Step 1:
[0181] The user records audio data during operation through a microphone.
[0182] Input: User action sound
[0183] Output: Recorded audio data
[0184] Specific operation: While the user operates the robot arm, the sounds generated by the operation are recorded by a microphone.
[0185] Step 2:
[0186] The terminal transmits the recorded voice data to the server.
[0187] Input: Recorded audio data
[0188] Output: Audio data sent to the server
[0189] Specific operation: The device converts the voice data acquired from the microphone into data packets and sends them to a server via the Internet.
[0190] Step 3:
[0191] The server analyzes the received audio data.
[0192] Input: Audio data sent to the server
[0193] Output: Analyzed motion data
[0194] Specific operation: The server uses a voice analysis algorithm (for example, a Python voice analysis module) to extract the characteristics of the received voice data and analyze the rhythm, strength, speed, etc. of the movement.
[0195] Step 4:
[0196] The server generates motion feedback data based on the analysis results.
[0197] Input: Parsed motion data
[0198] Output: Motion feedback data
[0199] Specific Actions: The server uses the generative AI model to generate optimal feedback based on the analysis results. For example, it generates action feedback data that includes specific advice such as "keep the speed of your movements constant."
[0200] Step 5:
[0201] The server transmits the generated motion feedback data to the user's terminal.
[0202] Input: Motion feedback data
[0203] Output: Feedback data sent to the device
[0204] Specific operation: The server converts the generated motion feedback data into data packets and sends them to the user's terminal via the Internet.
[0205] Step 6:
[0206] The terminal provides the received motion feedback data to the user.
[0207] Input: Feedback data sent to the device
[0208] Output: Feedback provided to the user
[0209] Specific behavior: The device will display visual feedback on the screen and play audio feedback through the speaker, for example, the message "Keep your speed steady."
[0210] Step 7:
[0211] The server generates detailed coaching information based on the user's action results and transmits it to the user's terminal.
[0212] Input: Operation result
[0213] Output: Detailed coaching information
[0214] Specific behavior: The server analyzes all behavior data, generates detailed evaluation results (e.g., "The accuracy of the behavior is good, but the speed is uneven") and coaching information, and sends them to the user's device.
[0215] Step 8:
[0216] The terminal displays the received coaching information to the user.
[0217] Input: Detailed coaching information
[0218] Output: Coaching information displayed to the user
[0219] Specific behavior: The device displays detailed evaluation results and coaching information visually on the screen, and in some cases provides audio feedback, which the user can use to improve their behavior.
[0220] 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.
[0221] This invention is a system that provides more effective and emotional support for users' piano learning. This system includes a means for recording a user's performance in real time and transmitting it to a server, a means for the server to analyze the performance received and generate accompaniment data, a means for transmitting the generated accompaniment data to the user's device, and a means for the device to play the accompaniment data received and provide feedback to the user. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, the system provides accompaniment data and coaching information according to the user's emotional state.
[0222] When the server receives the user's performance, it first performs an audio analysis. This analysis includes pitch, rhythm, speed, dynamics, etc. The server uses the results of this analysis to generate optimal accompaniment data using AI. For example, if a user plays "Do-Re-Mi," the server will generate an accompaniment with the chords and rhythm that correspond to that sequence of notes.
[0223] The generated accompaniment data is sent to the device in real time, where it is played back. At the same time, the accompaniment is played back in sync with the user's performance data, providing a realistic performance experience for the user. The device also provides feedback based on the performance sound and accompaniment data. For example, a message such as "The tempo is too fast" may be displayed.
[0224] The server also evaluates the user's performance and generates detailed coaching information. This coaching information evaluates the accuracy of the sound, rhythm, tempo, and dynamics, and provides specific advice to the user. For example, the server may convey to the user that the pitch is not stable.
[0225] Furthermore, the present invention incorporates an emotion engine. This emotion engine recognizes emotions from the user's facial expressions, vocal tone, and playing dynamics. For example, if the user is feeling stressed, their facial expression will become grim and their vocal tone will change. Such emotional data is received and analyzed by the server and reflected in the accompaniment data and coaching information.
[0226] As a concrete example, consider a situation where a user is smiling while playing "Do Re Mi Fa So La Si Do." The emotion engine detects the user's smile and recognizes a positive emotional state. The server receives this information, generates a bright and lively accompaniment, and sends it to the device. The device plays this accompaniment and provides feedback to the user. At the same time, the coaching information is updated to match the user's positive emotion, and a message such as "Great performance" is displayed.
[0227] On the other hand, if the user looks tired while playing, the emotion engine will recognize this negative emotion. The server will receive this information and generate a gentle, soothing accompaniment. At the same time, the coaching information will be updated to include instructions such as "take a short break."
[0228] In this way, the present invention provides optimal accompaniment data and coaching information according to the user's emotional state, resulting in a more effective and emotional learning experience. By taking the user's emotions into consideration, it is possible to increase motivation for piano learning and support continuous learning.
[0229] The processing flow will be explained below.
[0230] Step 1:
[0231] The user sits down at the piano and starts playing. The user's performance is captured in real time by the device's microphone.
[0232] Step 2:
[0233] The device records the user's performance in real time, and the recorded audio data is immediately sent to the server.
[0234] Step 3:
[0235] The server analyzes the received audio data, specifically extracting information such as pitch, rhythm, speed, and dynamics, and then performs a detailed analysis based on this information.
[0236] Step 4:
[0237] Based on the analysis results, the server uses AI to generate optimal accompaniment data. For example, if a user plays "Do-Re-Mi," the server will create an accompaniment that matches this sequence and generate it in real time.
[0238] Step 5:
[0239] The server transmits the generated accompaniment data in a stream format to the user's device, minimizing delays while transmitting high-quality audio data.
[0240] Step 6:
[0241] The terminal then plays back the received accompaniment data, so that the user's performance and the accompaniment are output in timely synchronization.
[0242] Step 7:
[0243] The device activates an emotion engine in real time, monitoring the user's facial expressions, vocal tone, and playing dynamics, and the emotion engine recognizes the user's emotions from this data.
[0244] Step 8:
[0245] The emotion engine sends the recognized emotion data from the device to the server. For example, if the user is smiling, it is classified as "positive."
[0246] Step 9:
[0247] The server receives and analyzes the emotional data and adjusts the accompaniment data to match the user's emotional state. For example, if the user is in a positive emotional state, the server generates a bright and lively accompaniment.
[0248] Step 10:
[0249] The server evaluates the user's performance data and generates detailed coaching information, including the accuracy of the notes, rhythm, tempo, and dynamics.
[0250] Step 11:
[0251] Based on the evaluation results and emotional data, the server adjusts the coaching information to match the emotion and generates specific advice, such as positive messages like "Great performance!"
[0252] Step 12:
[0253] The server sends the generated coaching information to the terminal, which receives the information and displays it visually and audibly to the user.
[0254] Step 13:
[0255] The device displays feedback and coaching information to the user, allowing the user to receive specific advice on their own performance.
[0256] Step 14:
[0257] Based on the coaching information and feedback displayed, users can understand what needs to be improved for their next performance and continue learning, allowing them to continuously improve their skills.
[0258] Example 2
[0259] 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."
[0260] Conventional piano learning systems not only provide real-time accompaniment to a user's performance, but also lack sufficient means for providing feedback and coaching to improve the quality of their performance. They also lack the ability to recognize the user's emotional state and provide appropriate support accordingly. This makes it difficult for users to maintain their motivation while learning.
[0261] 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.
[0262] In this invention, the server includes means for analyzing the sounds played by the user and generating accompaniment data, means for transmitting the generated accompaniment data to the user's terminal, means for generating detailed coaching information based on the results of the performance analysis and providing it to the user, means for recognizing the user's emotions from their facial expressions, vocal tone, and performance dynamics, and means for generating accompaniment data and coaching information according to their emotional state and transmitting them to the user's terminal. This makes it possible to provide not only real-time accompaniment for the user's performance, but also detailed feedback and coaching, as well as appropriate support according to the user's emotional state.
[0263] A "user" is a person who uses the system to learn to play the piano.
[0264] "Performance sounds" refer to sounds that are generated when a user plays the piano.
[0265] "Real-time" refers to processing that responds immediately to user operations and inputs.
[0266] "Recording" means saving the sound of a performance as digital data.
[0267] The "server" is a central control device that analyzes the performance sounds, generates accompaniment data, and provides coaching information.
[0268] "Analysis" is a process of extracting characteristics of the played sound, such as pitch, rhythm, speed, and dynamics.
[0269] "Accompaniment data" is music data that is added to the user's performance.
[0270] A "terminal" is a device used by a user, which records performance sounds and receives and plays back accompaniment data and coaching information.
[0271] "Feedback" refers to evaluation information and advice provided to the user regarding their performance.
[0272] "Coaching information" is specific instruction information generated based on the user's performance.
[0273] "Facial expression" refers to the expressive state of a user's face, and is one way of showing emotions.
[0274] "Voice tone" refers to the tone and intonation of the voice when playing.
[0275] "Dynamics" refers to the loudness of the sound being played.
[0276] "Emotion recognition" is the process of analyzing and understanding a user's emotional state.
[0277] "Emotional state" refers to the type and degree of emotion a user exhibits at a particular point in time.
[0278] The present invention is a system that effectively and emotionally supports a user's piano learning. This system includes: means for recording a user's performance in real time and transmitting the recording to a server; means for the server to analyze the performance received and generate accompaniment data; means for the server to transmit the generated accompaniment data to the user's device; means for the device to play back the accompaniment data received and provide feedback to the user; means for generating detailed coaching information based on the performance analysis results and providing it to the user; means for recognizing the user's emotions from their facial expressions, vocal tone, and playing dynamics; and means for generating accompaniment data and coaching information according to their emotional state and transmitting them to the user's device.
[0279] First, when a user plays the piano, the device records the performance in real time. The recorded audio data is saved in WAV format and sent to the server using the HTTP protocol.
[0280] The server analyzes the received performance data using Google Cloud's Speech-to-Text API. During the analysis, characteristics such as pitch, rhythm, speed, and dynamics of the performance are extracted. For example, if a user plays "Do Re Mi Fa So La Si Do," the pitch and timing of each note are recorded as numerical data.
[0281] Based on the analysis results, the server uses the Python music generation library "Magenta" to generate optimal accompaniment data, which is saved in MIDI format and sent to the device in real time using WebSocket technology.
[0282] The device then plays the received accompaniment data using its built-in MIDI player software. At the same time, the accompaniment is played back in time with the user's performance, providing a truly immersive performance experience. Based on the analysis of the performance, the device also displays feedback messages, such as "The tempo is too fast."
[0283] The server generates more detailed coaching information. The generated coaching information is evaluated based on the accuracy of the sound, rhythm, tempo, and dynamics, and specific advice is provided to the user. For example, the server may generate an evaluation such as "your pitch is not stable" and notify the user via the terminal.
[0284] For emotion recognition, the server uses technology that recognizes emotions from the user's facial expressions, vocal tone, and playing dynamics. Specifically, it utilizes Microsoft Azure's Emotion API. If the user is smiling, this information is sent to the server and recognized as a positive emotional state.
[0285] The server generates accompaniment data and coaching information based on the emotional data, according to the user's emotional state, and sends these to the user's device in real time. For example, if the user is smiling while playing "Do-Re-Mi-Fa-So-La-Si-Do," the server generates a bright and lively accompaniment and sends a coaching message saying, "That's a great performance." On the other hand, if the user is feeling stressed, the server provides a gentle and calming accompaniment and instructions such as, "Take a short break."
[0286] In this way, the present invention provides optimal accompaniment data and coaching information according to the user's emotional state, thereby realizing a more effective and emotional learning experience. As a specific example, if the user is smiling while playing "Do Re Mi Fa So La Si Do," the system can input "The user is smiling while playing 'Do Re Mi Fa So La Si Do' on the piano," and the generated accompaniment data and coaching feedback can be displayed.
[0287] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0288] Step 1:
[0289] When a user plays the piano, the device records the performance in real time. The device collects the sound through a microphone and converts the audio into digital data (WAV format). This digital data is temporarily stored in the device's memory. The recorded data is then sent to the server using the HTTP protocol.
[0290] Input: Piano playing sound
[0291] Output: Digital recording data (WAV format)
[0292] Step 2:
[0293] The server analyzes the performance audio data received from the device. This analysis is performed using Google Cloud's Speech-to-Text API. First, the audio data is sent to the API, which extracts the pitch, rhythm, tempo, and volume characteristics. The server records this data as numerical values and creates a dataset for performing the necessary calculations. For example, if a user plays "Do Re Mi Fa So La Si Do," the pitch and timing are analyzed in detail.
[0294] Input: Digital recording data (WAV format)
[0295] Output: Numerical data on pitch, rhythm, speed, and dynamics
[0296] Step 3:
[0297] Based on the analysis results, the server generates accompaniment data using the Python music generation library "Magenta." This AI model creates accompaniment with chords and rhythms that correspond to the user's performance. The generated accompaniment data is saved in MIDI format. This MIDI data is optimized by the AI model and adjusted to naturally match the user's performance.
[0298] Input: Numerical data for pitch, rhythm, speed, and dynamics
[0299] Output: MIDI format accompaniment data
[0300] Step 4:
[0301] The server sends the generated MIDI-format accompaniment data to the device in real time using WebSocket technology, achieving low-latency communication. The device then converts the received MIDI data into a playable format and prepares for playback.
[0302] Input: MIDI format accompaniment data
[0303] Output: Data sent to the terminal
[0304] Step 5:
[0305] The device then plays the received accompaniment data using its built-in MIDI player software. The playback timing is synchronized with the user's performance, allowing the user to enjoy a natural performance experience. The device also generates feedback messages based on the performance analysis results, displaying advice such as "The tempo is too fast."
[0306] Input: Accompaniment data sent from the server
[0307] Output: Playback accompaniment, feedback messages
[0308] Step 6:
[0309] The server generates more detailed coaching information, providing detailed evaluations based on pitch accuracy, rhythm, tempo, and dynamics, and offering specific advice to the user. The generated coaching information is sent to the user via their device and displayed. It may include evaluation results such as "pitch is unstable."
[0310] Input: User performance analysis data
[0311] Output: Detailed coaching information
[0312] Step 7:
[0313] For emotion recognition, the server uses Microsoft Azure's Emotion API to analyze the user's facial expressions, vocal tone, and playing intensity. The results of this analysis are used to determine the user's emotional state. If the user is smiling, this information is sent to the server and recorded as a positive emotional state.
[0314] Input: User facial expression, vocal tone, and playing dynamics data
[0315] Output: Emotional state data
[0316] Step 8:
[0317] The server generates accompaniment data and coaching information based on the emotional data, according to the user's emotional state. This data is sent to the user's device in real time, and the device plays the accompaniment and displays coaching messages such as "Great performance." If the user is feeling stressed, the server provides gentle, soothing accompaniment and instructions such as "Take a short break."
[0318] Input: Emotional state data
[0319] Output: Accompaniment data according to emotions, coaching messages
[0320] (Application example 2)
[0321] 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."
[0322] Conventional piano learning systems focus on analyzing a user's performance and providing feedback, making it difficult to provide optimal support that reflects the user's emotional state and individual motivation. Furthermore, they are unable to provide real-time feedback or coaching information based on the user's performance, preventing the user from maximizing their learning effectiveness. Furthermore, they lack a means to suggest related products and services based on the user's emotions, which hinders the quality of the learning experience.
[0323] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for recording the user's performance sounds in real time and transmitting them to the server, means for analyzing the performance sounds received by the server and generating accompaniment data, means for transmitting the accompaniment data generated by the server to the user's terminal, means for playing the accompaniment data received by the terminal and providing feedback to the user, and means for recognizing emotions from the user's facial expressions and vocal tone and generating accompaniment data and coaching information corresponding to the emotions. This enables the provision of optimal performance support and feedback tailored to the user's emotional state. Furthermore, by adding means for generating and displaying recommended product information based on the performance sounds and emotions, the quality of the learning experience can be improved and a related product purchasing experience can be provided.
[0324] "Performance" refers to the audio signal produced by a piano or other musical instrument.
[0325] "Real time" means that processing is performed in the user's real time.
[0326] A "server" is a computer system that receives performance data from a user, analyzes it, generates accompaniment data, and returns it.
[0327] "Analysis" is the process of evaluating attributes such as pitch, rhythm, speed, and dynamics of input performance data.
[0328] "Accompaniment data" is music data that is generated in synchronization with the user's performance, and is intended to support and emphasize the performance.
[0329] A "terminal" is a device used by a user, and includes a smartphone, tablet, PC, etc.
[0330] "Feedback" refers to real-time advice and evaluation information provided to the user regarding their performance.
[0331] "Facial expressions" are signs of emotions shown by the movements of the user's facial muscles.
[0332] "Voice tone" is an acoustic feature that indicates the pitch and intonation of a user's speaking voice.
[0333] "Emotion" indicates the user's psychological state and is inferred from facial expressions, tone of voice, and the like.
[0334] "Coaching information" is specific advice and evaluation information aimed at improving the user's performance ability.
[0335] "Recommended product information" is information about appropriate products and services that are suggested based on the user's performance and emotional state.
[0336] A "purchase experience" is the process by which a user purchases related products and services in a virtual store.
[0337] The present invention provides a system for helping users learn piano playing more effectively and providing emotional support. This system involves a series of processes for recording and analyzing the user's performance in real time, generating accompaniment data, and providing feedback. Specific embodiments of the present invention are described in detail below.
[0338] System configuration
[0339] The system consists of the following main components:
[0340] 1. User Device
[0341] A microphone for recording the user's playing sound
[0342] Camera and microphone to recognize the user's facial expressions and tone of voice
[0343] A communication module for transmitting performance data and emotion data to a server
[0344] Speakers and displays for playing back accompaniment data received from the server and providing feedback
[0345] 2. Server
[0346] Audio analysis engine for performance data analysis (e.g. Librosa, PyDub)
[0347] Deep learning models for sentiment analysis (e.g., OpenCV's DNN module)
[0348] Accompaniment data generation engine (e.g., MIDI generation tool)
[0349] AI engine that generates coaching information (e.g., generative AI model)
[0350] A database that stores and manages user performance data and emotional data
[0351] Data Flow and Processing
[0352] 1. Recording and sending performance sounds
[0353] When a user plays the piano, the microphone on the device records the performance in real time, and the recorded data is sent to the server via the communication module.
[0354] 2. Analysis of performance data
[0355] The server analyzes the received performance data for attributes such as pitch, rhythm, tempo, and dynamics using Librosa and PyDub. Based on the analysis results, accompaniment data is generated using a MIDI generation tool.
[0356] 3. Emotional Recognition
[0357] The user's facial expressions and voice tone are recorded by a camera and microphone and analyzed using OpenCV's DNN module, which allows the user's emotional state to be recognized.
[0358] 4. Providing feedback and coaching information
[0359] Based on performance and emotional data, the server generates appropriate feedback and coaching information, using a generative AI model to provide the user with real-time feedback.
[0360] 5. Generate recommended product information
[0361] The server generates related product recommendation information based on the performance sound and emotion data, and this information is displayed in a virtual store to help users purchase related products and services.
[0362] Specific examples
[0363] When a user opens the "Virtual Piano Lessons" app on their smartphone, they are first prompted to prepare a piano. As the user plays, the app records the sound in real time and performs emotional analysis. The results are sent to a server, which generates optimal accompaniment data, which is then sent to the user's smartphone for playback. At the same time, the app displays emotional feedback and coaching information, and users can purchase related learning materials and accessories from a virtual store.
[0364] In this way, the present invention analyzes the user's performance data and emotional data and provides optimal feedback and accompaniment to enhance the user's learning effect and realize a rich learning experience. It also improves the user's shopping experience in virtual stores by providing recommended product information.
[0365] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0366] Step 1:
[0367] The user starts up the device and begins playing the piano. The device uses a microphone to record the sound of the performance. The recorded data is temporarily saved as an audio file. The input is the user's performance sound, and the output is the recorded audio data. Specifically, the audio data is saved in WAV format with a sampling rate of 44.1 kHz.
[0368] Step 2:
[0369] The device sends the recorded audio data to the server. The server receives this data and prepares it for analysis. The data is sent using the HTTPS protocol. The input is the recorded audio data, and the output is the audio data sent to the server. Specifically, the audio data is encoded when it is sent.
[0370] Step 3:
[0371] The server analyzes the audio data. It uses the Librosa library to analyze pitch, rhythm, speed, dynamics, etc., and extracts the characteristics of the performance sound. The input is the audio data sent to the server, and the output is the acoustic characteristics resulting from the analysis. Specifically, it uses FFT (Fast Fourier Transform) to analyze frequency components and identify pitch and rhythm patterns.
[0372] Step 4:
[0373] The server generates accompaniment data based on the analysis results. Using a MIDI generation tool, it creates accompaniment data synchronized with the user's performance. The input is the analysis results, and the output is the generated MIDI data. Specifically, it creates accompaniment by combining specific chords and rhythm patterns using an algorithm.
[0374] Step 5:
[0375] The device uses a camera and microphone to record the user's facial expressions and voice tone and perform emotion analysis. The recorded data is sent to the server in real time. The input is the user's facial expressions and voice, and the output is emotion data sent to the server. Specific operations include preprocessing of image data (grayscale conversion and face detection) and pitch analysis of voice data.
[0376] Step 6:
[0377] The server uses OpenCV's DNN module to recognize emotions from the received facial expressions and voice tones. The recognized emotions are stored in a database and used as analysis results. The input is facial expression and voice tone data, and the output is recognized emotion information. Specifically, the deep learning model classifies emotions based on the dataset it was trained on.
[0378] Step 7:
[0379] The server generates coaching information based on performance data and emotional data. Utilizing a generative AI model, it creates specific advice and evaluation information for the user. The input is performance data and emotional data, and the output is the generated coaching information. Specifically, the model uses acoustic features and emotional state as input parameters to generate optimal coaching text.
[0380] Step 8:
[0381] The server sends the generated coaching information and accompaniment data to the terminal. Based on the received data, the terminal provides feedback to the user and plays the accompaniment. The input is the coaching information and accompaniment data sent from the server, and the output is feedback display to the user and accompaniment playback. Specifically, the operation involves displaying text on the screen and outputting audio from the speaker.
[0382] Step 9:
[0383] The server generates recommended information for related products based on the performance sound and emotional data and sends it to the terminal. The terminal then displays the received recommended product information to the user. The input is performance data and emotional data, and the output is recommended product information. Specifically, the system extracts related product information from a database and suggests it to the user as a prompt sentence.
[0384] Example prompt sentence:
[0385] "Your playing has improved! I highly recommend this resource to help you take your playing to the next level."
[0386] 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.
[0387] 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.
[0388] 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.
[0389] [Second embodiment]
[0390] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0391] 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.
[0392] 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).
[0393] 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.
[0394] 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.
[0395] 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).
[0396] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0397] 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.
[0398] 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.
[0399] 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.
[0400] 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.
[0401] 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."
[0402] This invention is a system that supports users in continuing to learn and practice piano at home. This system includes means for recording the user's performance in real time and transmitting it to a server, means for the server to analyze the performance received and generate accompaniment data, means for transmitting the generated accompaniment data to the user's terminal, and means for the terminal to play back the received accompaniment data and provide feedback to the user.
[0403] The server plays a central role in performing critical analysis and data generation. When the server receives the user's performance, it uses a dedicated audio analysis algorithm to analyze the pitch, rhythm, speed, dynamics, etc. Based on the analysis results, the server uses AI to generate optimal accompaniment data. For example, if a user plays "Do-Re-Mi," the server analyzes the sequence of notes and generates appropriate chords and rhythm patterns as accompaniment.
[0404] The generated accompaniment data is sent from the server to the user's device in real time. The device then plays the received accompaniment data and provides sound effects that match the user's performance. The device also provides visual and audio feedback to the user. For example, if the tempo becomes unstable during a performance, the device will display a message such as "Keep the tempo constant."
[0405] Furthermore, the server generates detailed coaching information based on the user's performance results. Based on the analyzed performance data, the accuracy of the notes, rhythm, tempo, dynamics, etc. are individually evaluated, and specific advice is generated. This coaching information is sent from the server to the device, which then displays it to the user. For example, the user may receive a detailed evaluation such as "The rhythm is good, but the pitch is inaccurate" as the performance evaluation result.
[0406] As a specific example, a user sits at a piano and begins playing "Do Re Mi Fa So La Si Do." The device records this in real time and sends the audio data to a server. The server analyzes the received data and generates accompaniment data corresponding to the "Do Re Mi Fa So La Si Do" musical sequence. This accompaniment data is sent to the device in real time, and the device plays back the received accompaniment while displaying animations of the pitch and rhythm as visual feedback. After the performance, the server further analyzes the performance data and generates evaluation results and coaching information, which are sent to the device. The device displays this to the user, visually indicating specific areas for improvement, thereby enhancing the user's learning effectiveness.
[0407] As described above, the present invention provides a system for effectively supporting users' piano learning, comprehensively providing specific means for supporting learning and practice at home. This system allows users to continue practicing at home with professional instruction, without having to attend piano lessons. Furthermore, real-time feedback and detailed coaching information allow users to understand their own progress and effectively advance their learning.
[0408] The processing flow will be explained below.
[0409] Step 1:
[0410] The user sits down at the piano and starts playing. When the user strikes the keys to produce sounds, the sound is captured in real time by the device's microphone.
[0411] Step 2:
[0412] The device records the captured performance sound in real time, and the recorded audio data is immediately sent to the server.
[0413] Step 3:
[0414] The server analyzes the received audio data, applying algorithms to analyze pitch, rhythm, speed, dynamics, etc.
[0415] Step 4:
[0416] Based on the analysis results, the server uses AI to generate appropriate accompaniment data. For example, if a user plays "Do-Re-Mi," the server will generate an accompaniment rhythm and chords that match the sequence of notes.
[0417] Step 5:
[0418] The server sends the generated accompaniment data to the device in real time, allowing the accompaniment to be layered on the user's performance without delay.
[0419] Step 6:
[0420] The terminal then plays back the received accompaniment data, and the user's performance and the accompaniment sounds are output in sync.
[0421] Step 7:
[0422] The device provides visual feedback to the user based on the rhythm and dynamics of their performance. For example, if the tempo is too fast, a message such as "Keep the tempo steady" will appear on the screen.
[0423] Step 8:
[0424] The server performs additional analysis to evaluate the user's performance data in detail, evaluating the accuracy, rhythm, tempo, dynamics, etc. of the performance individually.
[0425] Step 9:
[0426] Based on the evaluation results, the server generates coaching information to provide specific advice to the user, for example, "your rhythm is good, but your pitch is inaccurate."
[0427] Step 10:
[0428] The server then sends the generated coaching information to the terminal, allowing the user to receive evaluation and advice immediately after playing.
[0429] Step 11:
[0430] The device receives coaching information from the server and displays it on the screen. The user can then apply the information visually to their next performance. For example, a graph of their performance evaluation and specific advice are displayed.
[0431] Step 12:
[0432] The user can then use the displayed coaching information to prepare for their next practice session, allowing them to continually improve their learning.
[0433] Example 1
[0434] 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."
[0435] When users learn to play the piano at home, they face challenges such as difficulty in receiving proper feedback and accompaniment. They also face the challenge of attending piano lessons for professional instruction, which is time-consuming and expensive. Furthermore, there is a risk of playing with the wrong rhythm or tempo during practice, making it difficult to learn efficiently.
[0436] 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.
[0437] In this invention, the server comprises: means for analyzing the sounds played by the user and generating accompaniment data;
[0438] means for transmitting the generated accompaniment data to a user's terminal;
[0439] and means for generating detailed coaching information based on the user's analysis data.
[0440] This allows users to receive appropriate accompaniment and feedback in real time at home, allowing them to continue learning piano playing effectively.Furthermore, by providing detailed coaching information about their performance, it can promote user improvement.
[0441] The "user's performance sound" is a sound wave signal generated when the user plays an instrument such as a piano.
[0442] "Means for recording in real time" refers to a method or device that records the sound of a musical instrument played by a user as data almost simultaneously while the user is playing the instrument.
[0443] The "server" is a central processing unit that receives the sounds played by the user and performs analysis and data generation.
[0444] "Means of analysis" refers to algorithms or software that determine elements such as pitch, rhythm, speed, and dynamics based on the received performance sound.
[0445] "Accompaniment data" is complementary music data generated to match the user's performance, and is used as background music for the performance.
[0446] "Means of generation" refers to the algorithms and software used to create accompaniment data based on the analysis results.
[0447] "User's device" refers to an electronic device used by a user, such as a computer, tablet, or smartphone.
[0448] "Means for providing feedback" refers to a method or device that visually or audibly notifies the user of the quality of their performance and areas for improvement.
[0449] "Detailed coaching information" refers to specific advice and instruction information generated based on sound accuracy, rhythm, tempo, dynamics, etc.
[0450] "Visual feedback" refers to a method of providing information about a performance to a user through a visual information display device such as a display.
[0451] "Audio feedback" refers to a method of providing information about a performance to a user audibly through speakers or headphones.
[0452] The present invention relates to a system that enables users to effectively continue learning and practicing piano at home. The system uses advanced analysis and generation techniques to provide users with real-time feedback and coaching information.
[0453] First, a user sits down at a piano at home and starts playing. The user's device (e.g., computer, tablet, smartphone, etc.) uses its built-in microphone to record the performance in real time and temporarily saves it in WAV or MP3 format. Next, the device sends the recording data to the server via an HTTP POST request. This request is executed via an API endpoint.
[0454] The server uses audio analysis libraries such as Librosa and Pydub to analyze the received performance audio. Items to be analyzed include pitch, rhythm, speed (tempo), and dynamics. Based on the results of these analyses, the server inputs prompt statements into a generative AI model (such as TensorFlow or PyTorch) to generate optimal accompaniment data. Examples of prompt statements include:
[0455] Example prompt:
[0456] 1. "The user played 'Do Re Mi Fa So La Si Do'. Please generate the best corresponding accompaniment data."
[0457] 2. "Analyze performance data and provide evaluation and advice regarding pitch, rhythm, tempo, and dynamics."
[0458] The generated accompaniment data is sent to the device in real time using audio streaming technology (e.g., WebSocket). The device then plays the received accompaniment data through its built-in speaker, providing sound effects that match the user's performance. The device can also display animations of pitch and rhythm on the screen as visual feedback, and play audio feedback such as "Keep the tempo consistent."
[0459] Furthermore, after the performance, the server performs a detailed analysis of the received performance data and generates coaching information. This coaching information includes specific advice based on pitch accuracy, rhythm, tempo, dynamics, etc. For example, "Your rhythm is good, but your pitch is inaccurate. Next time, practice paying attention to the pitch." The generated coaching information is sent to the device via an HTTP POST request, and the device displays it on the screen for the user.
[0460] The present invention thus provides an environment in which users can effectively learn to play the piano at home, and provides real-time support for user improvement without relying on professional instruction or lessons.
[0461] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0462] Step 1:
[0463] The user plays the piano.
[0464] Input: User playing piano
[0465] Output: Piano sound
[0466] Specific operation: The user plays "do-re-mi-fa-so-la-ti-do" on the piano.
[0467] Step 2:
[0468] The device records the sound of the performance.
[0469] Input: Piano sound
[0470] Output: Recording data
[0471] Specific operation: The device's built-in microphone records the user's performance in real time and temporarily saves it in WAV format.
[0472] Step 3:
[0473] The device sends the recorded data to the server.
[0474] Input: Recording data (WAV format)
[0475] Output: HTTP POST request to the server
[0476] Specific operation: The device sends the recorded data to the API endpoint using an HTTP POST request.
[0477] Step 4:
[0478] The server analyzes the received audio data.
[0479] Input: Recording data (WAV format)
[0480] Output: Analysis results (pitch, rhythm, tempo, dynamics, etc.)
[0481] Specific operation: The server uses the Librosa library to analyze audio data and extract pitch, rhythm, tempo, dynamics, etc.
[0482] Step 5:
[0483] The server generates accompaniment data based on the analysis results.
[0484] Input: Analysis results
[0485] Output: accompaniment data
[0486] Specific operation: The server inputs the analysis results as prompts into a generative AI model (e.g., TensorFlow) to generate optimal accompaniment data.
[0487] Example prompt:
[0488] "The user played 'Do Re Mi Fa So La Si Do'. Please generate the best corresponding accompaniment data."
[0489] Step 6:
[0490] The server transmits the generated accompaniment data to the terminal.
[0491] Input: accompaniment data
[0492] Output: WebSocket data to the terminal
[0493] Specific operation: The server sends the generated accompaniment data to the terminal in real time via WebSocket.
[0494] Step 7:
[0495] The terminal plays back the accompaniment data.
[0496] Input: accompaniment data
[0497] Output: Audio output (accompaniment sound)
[0498] Specific operation: The device plays the received accompaniment data through its built-in speaker, providing sound effects that match the user's performance.
[0499] Step 8:
[0500] The device provides visual and audio feedback to the user.
[0501] Input: accompaniment data and performance status
[0502] Output: Visual and audio feedback
[0503] Specific operation: The device displays animations of pitch and rhythm as visual feedback, and plays audio feedback such as "Keep the tempo consistent."
[0504] Step 9:
[0505] The server generates coaching information based on the performance data.
[0506] Input: Performance data and analysis results
[0507] Output: Coaching information
[0508] Specific actions: The server performs detailed analysis and evaluates the accuracy of the sound, rhythm, tempo, and dynamics, and then generates specific coaching information.
[0509] Example prompt:
[0510] "Analyze performance data and provide evaluation and advice on pitch, rhythm, tempo, and dynamics."
[0511] Step 10:
[0512] The server transmits the generated coaching information to the terminal.
[0513] Input: Coaching information
[0514] Output: HTTP POST request to the terminal
[0515] Specific operation: The server sends the generated coaching information to the terminal via an HTTP POST request.
[0516] Step 11:
[0517] The terminal displays the coaching information to the user.
[0518] Input: Coaching information
[0519] Output: Visual display
[0520] Specific operation: The device displays coaching information on the screen, providing the user with visual messages such as, "Your rhythm is good, but your pitch is inaccurate. Next time, practice paying attention to the pitch."
[0521] (Application example 1)
[0522] 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."
[0523] Conventional factory automation systems lack a way to manage and evaluate the accuracy and efficiency of robotic arms and other automated equipment in real time. This makes it difficult to improve work accuracy and operate efficiently. Another issue is the lack of appropriate feedback, which makes it difficult for operators to correct errors immediately.
[0524] 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.
[0525] In this invention, the server includes a means for recording audio data of the user's actions in real time and transmitting it to the server, a means for analyzing the received audio and generating action feedback data, and a means for transmitting the action feedback data generated by the server to the user's terminal. This allows the operation of a robot arm or other automated equipment to be analyzed in real time and provide appropriate feedback, allowing the operator to immediately correct errors and improve work accuracy and efficiency.
[0526] "Audio data of user's actions" refers to data that records acoustic information accompanying actions performed by the user.
[0527] A "server" is an information processing device that analyzes received data and performs necessary processing.
[0528] The "operation sound" is an acoustic signal that is generated in conjunction with a specific operation performed by the user.
[0529] "Action feedback data" refers to data that includes evaluation and advice on the user's actions, generated by the server through analysis of the action sounds.
[0530] A "terminal" is an information processing device that transmits and receives data between a user and a server, and is a device that plays a role in providing action feedback data to a user.
[0531] "Real-time" refers to a method in which data processing and feedback are carried out almost simultaneously with the actions or operations performed by the user.
[0532] "Analysis" refers to the process of analyzing voice data and movement data in detail and extracting their features.
[0533] "Coaching information" refers to information that includes evaluation results, areas for improvement, and instruction content regarding the user's actions.
[0534] The system of the present invention monitors user behavior in real time and provides feedback based on the monitoring results to help users effectively manage and improve their behavior. A specific embodiment of the system will be described below.
[0535] First, the audio data of the user's actions is recorded in real time using a microphone. This recorded data is stored on the device and sequentially sent to the server. An audio processing library (e.g., Python's sounddevice library) is used to process the audio data.
[0536] The audio data sent to the server is analyzed using a dedicated analysis algorithm. This analysis extracts the sound characteristics of the movement (e.g., rhythm, strength, speed, etc.) and evaluates the user's movement in detail. The server uses a high-performance processor and analysis software (e.g., a generative AI model). Based on the analyzed data, the server generates appropriate movement feedback data. This data is then sent to the user's device.
[0537] The device then provides the received motion feedback data to the user. This feedback is provided visually and audibly. The visual feedback includes a graphical display of the rhythm and strength of the motion, while the audio feedback includes specific audio instructions for improvement. The device can be a smartphone or tablet PC.
[0538] The server then generates detailed coaching information based on the user's performance, including performance evaluation results and specific advice. The coaching information is then sent to the user's terminal and presented to them visually and audibly.
[0539] As a specific example, the sounds a user makes while operating a robot arm are recorded and sent to a server. The server analyzes the sounds and evaluates the speed and accuracy of the operation. For example, feedback such as "The speed is uneven while the robot arm is operating. Please keep the speed constant" is displayed on the terminal in real time. This allows the user to immediately correct errors and improve the accuracy of their work.
[0540] Alternatively, a generative AI model could be used to provide prompts such as:
[0541] "The robot arm's movements are recorded in real time and sent to a server. The server then uses a voice analysis algorithm to analyze the data and provide optimal feedback. Specifically, the accuracy, rhythm, speed, and strength of the movements are evaluated, and appropriate areas for improvement are suggested in real time."
[0542] In this way, the system effectively supports users in managing and improving their movements, providing real-time feedback and detailed coaching information to help users efficiently learn movements and improve their accuracy.
[0543] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0544] Step 1:
[0545] The user records audio data during operation through a microphone.
[0546] Input: User action sound
[0547] Output: Recorded audio data
[0548] Specific operation: While the user operates the robot arm, the sounds generated by the operation are recorded by a microphone.
[0549] Step 2:
[0550] The terminal transmits the recorded voice data to the server.
[0551] Input: Recorded audio data
[0552] Output: Audio data sent to the server
[0553] Specific operation: The device converts the voice data acquired from the microphone into data packets and sends them to a server via the Internet.
[0554] Step 3:
[0555] The server analyzes the received audio data.
[0556] Input: Audio data sent to the server
[0557] Output: Analyzed motion data
[0558] Specific operation: The server uses a voice analysis algorithm (for example, a Python voice analysis module) to extract the characteristics of the received voice data and analyze the rhythm, strength, speed, etc. of the movement.
[0559] Step 4:
[0560] The server generates motion feedback data based on the analysis results.
[0561] Input: Parsed motion data
[0562] Output: Motion feedback data
[0563] Specific Actions: The server uses the generative AI model to generate optimal feedback based on the analysis results. For example, it generates action feedback data that includes specific advice such as "keep the speed of your movements constant."
[0564] Step 5:
[0565] The server transmits the generated motion feedback data to the user's terminal.
[0566] Input: Motion feedback data
[0567] Output: Feedback data sent to the device
[0568] Specific operation: The server converts the generated motion feedback data into data packets and sends them to the user's terminal via the Internet.
[0569] Step 6:
[0570] The terminal provides the received motion feedback data to the user.
[0571] Input: Feedback data sent to the device
[0572] Output: Feedback provided to the user
[0573] Specific behavior: The device will display visual feedback on the screen and play audio feedback through the speaker, for example, the message "Keep your speed steady."
[0574] Step 7:
[0575] The server generates detailed coaching information based on the user's action results and transmits it to the user's terminal.
[0576] Input: Operation result
[0577] Output: Detailed coaching information
[0578] Specific behavior: The server analyzes all behavior data, generates detailed evaluation results (e.g., "The accuracy of the behavior is good, but the speed is uneven") and coaching information, and sends them to the user's device.
[0579] Step 8:
[0580] The terminal displays the received coaching information to the user.
[0581] Input: Detailed coaching information
[0582] Output: Coaching information displayed to the user
[0583] Specific behavior: The device displays detailed evaluation results and coaching information visually on the screen, and in some cases provides audio feedback, which the user can use to improve their behavior.
[0584] 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.
[0585] This invention is a system that provides more effective and emotional support for users' piano learning. This system includes a means for recording a user's performance in real time and transmitting it to a server, a means for the server to analyze the performance received and generate accompaniment data, a means for transmitting the generated accompaniment data to the user's device, and a means for the device to play the accompaniment data received and provide feedback to the user. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, the system provides accompaniment data and coaching information according to the user's emotional state.
[0586] When the server receives the user's performance, it first performs an audio analysis. This analysis includes pitch, rhythm, speed, dynamics, etc. The server uses the results of this analysis to generate optimal accompaniment data using AI. For example, if a user plays "Do-Re-Mi," the server will generate an accompaniment with the chords and rhythm that correspond to that sequence of notes.
[0587] The generated accompaniment data is sent to the device in real time, where it is played back. At the same time, the accompaniment is played back in sync with the user's performance data, providing a realistic performance experience for the user. The device also provides feedback based on the performance sound and accompaniment data. For example, a message such as "The tempo is too fast" may be displayed.
[0588] The server also evaluates the user's performance and generates detailed coaching information. This coaching information evaluates the accuracy of the sound, rhythm, tempo, and dynamics, and provides specific advice to the user. For example, the server may convey to the user that the pitch is not stable.
[0589] Furthermore, the present invention incorporates an emotion engine. This emotion engine recognizes emotions from the user's facial expressions, vocal tone, and playing dynamics. For example, if the user is feeling stressed, their facial expression will become grim and their vocal tone will change. Such emotional data is received and analyzed by the server and reflected in the accompaniment data and coaching information.
[0590] As a concrete example, consider a situation where a user is smiling while playing "Do Re Mi Fa So La Si Do." The emotion engine detects the user's smile and recognizes a positive emotional state. The server receives this information, generates a bright and lively accompaniment, and sends it to the device. The device plays this accompaniment and provides feedback to the user. At the same time, the coaching information is updated to match the user's positive emotion, and a message such as "Great performance" is displayed.
[0591] On the other hand, if the user looks tired while playing, the emotion engine will recognize this negative emotion. The server will receive this information and generate a gentle, soothing accompaniment. At the same time, the coaching information will be updated to include instructions such as "take a short break."
[0592] In this way, the present invention provides optimal accompaniment data and coaching information according to the user's emotional state, resulting in a more effective and emotional learning experience. By taking the user's emotions into consideration, it is possible to increase motivation for piano learning and support continuous learning.
[0593] The processing flow will be explained below.
[0594] Step 1:
[0595] The user sits down at the piano and starts playing. The user's performance is captured in real time by the device's microphone.
[0596] Step 2:
[0597] The device records the user's performance in real time, and the recorded audio data is immediately sent to the server.
[0598] Step 3:
[0599] The server analyzes the received audio data, specifically extracting information such as pitch, rhythm, speed, and dynamics, and then performs a detailed analysis based on this information.
[0600] Step 4:
[0601] Based on the analysis results, the server uses AI to generate optimal accompaniment data. For example, if a user plays "Do-Re-Mi," the server will create an accompaniment that matches this sequence and generate it in real time.
[0602] Step 5:
[0603] The server transmits the generated accompaniment data in a stream format to the user's device, minimizing delays while transmitting high-quality audio data.
[0604] Step 6:
[0605] The terminal then plays back the received accompaniment data, so that the user's performance and the accompaniment are output in timely synchronization.
[0606] Step 7:
[0607] The device activates an emotion engine in real time, monitoring the user's facial expressions, vocal tone, and playing dynamics, and the emotion engine recognizes the user's emotions from this data.
[0608] Step 8:
[0609] The emotion engine sends the recognized emotion data from the device to the server. For example, if the user is smiling, it is classified as "positive."
[0610] Step 9:
[0611] The server receives and analyzes the emotional data and adjusts the accompaniment data to match the user's emotional state. For example, if the user is in a positive emotional state, the server generates a bright and lively accompaniment.
[0612] Step 10:
[0613] The server evaluates the user's performance data and generates detailed coaching information, including the accuracy of the notes, rhythm, tempo, and dynamics.
[0614] Step 11:
[0615] Based on the evaluation results and emotional data, the server adjusts the coaching information to match the emotion and generates specific advice, such as positive messages like "Great performance!"
[0616] Step 12:
[0617] The server sends the generated coaching information to the terminal, which receives the information and displays it visually and audibly to the user.
[0618] Step 13:
[0619] The device displays feedback and coaching information to the user, allowing the user to receive specific advice on their own performance.
[0620] Step 14:
[0621] Based on the coaching information and feedback displayed, users can understand what needs to be improved for their next performance and continue learning, allowing them to continuously improve their skills.
[0622] Example 2
[0623] 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."
[0624] Conventional piano learning systems not only provide real-time accompaniment to a user's performance, but also lack sufficient means for providing feedback and coaching to improve the quality of their performance. They also lack the ability to recognize the user's emotional state and provide appropriate support accordingly. This makes it difficult for users to maintain their motivation while learning.
[0625] 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.
[0626] In this invention, the server includes means for analyzing the sounds played by the user and generating accompaniment data, means for transmitting the generated accompaniment data to the user's terminal, means for generating detailed coaching information based on the results of the performance analysis and providing it to the user, means for recognizing the user's emotions from their facial expressions, vocal tone, and performance dynamics, and means for generating accompaniment data and coaching information according to their emotional state and transmitting them to the user's terminal. This makes it possible to provide not only real-time accompaniment for the user's performance, but also detailed feedback and coaching, as well as appropriate support according to the user's emotional state.
[0627] A "user" is a person who uses the system to learn to play the piano.
[0628] "Performance sounds" refer to sounds that are generated when a user plays the piano.
[0629] "Real-time" refers to processing that responds immediately to user operations and inputs.
[0630] "Recording" means saving the sound of a performance as digital data.
[0631] The "server" is a central control device that analyzes the performance sounds, generates accompaniment data, and provides coaching information.
[0632] "Analysis" is a process of extracting characteristics of the played sound, such as pitch, rhythm, speed, and dynamics.
[0633] "Accompaniment data" is music data that is added to the user's performance.
[0634] A "terminal" is a device used by a user, which records performance sounds and receives and plays back accompaniment data and coaching information.
[0635] "Feedback" refers to evaluation information and advice provided to the user regarding their performance.
[0636] "Coaching information" is specific instruction information generated based on the user's performance.
[0637] "Facial expression" refers to the expressive state of a user's face, and is one way of showing emotions.
[0638] "Voice tone" refers to the tone and intonation of the voice when playing.
[0639] "Dynamics" refers to the loudness of the sound being played.
[0640] "Emotion recognition" is the process of analyzing and understanding a user's emotional state.
[0641] "Emotional state" refers to the type and degree of emotion a user exhibits at a particular point in time.
[0642] The present invention is a system that effectively and emotionally supports a user's piano learning. This system includes: means for recording a user's performance in real time and transmitting the recording to a server; means for the server to analyze the performance received and generate accompaniment data; means for the server to transmit the generated accompaniment data to the user's device; means for the device to play back the accompaniment data received and provide feedback to the user; means for generating detailed coaching information based on the performance analysis results and providing it to the user; means for recognizing the user's emotions from their facial expressions, vocal tone, and playing dynamics; and means for generating accompaniment data and coaching information according to their emotional state and transmitting them to the user's device.
[0643] First, when a user plays the piano, the device records the performance in real time. The recorded audio data is saved in WAV format and sent to the server using the HTTP protocol.
[0644] The server analyzes the received performance data using Google Cloud's Speech-to-Text API. During the analysis, characteristics such as pitch, rhythm, speed, and dynamics of the performance are extracted. For example, if a user plays "Do Re Mi Fa So La Si Do," the pitch and timing of each note are recorded as numerical data.
[0645] Based on the analysis results, the server uses the Python music generation library "Magenta" to generate optimal accompaniment data, which is saved in MIDI format and sent to the device in real time using WebSocket technology.
[0646] The device then plays the received accompaniment data using its built-in MIDI player software. At the same time, the accompaniment is played back in time with the user's performance, providing a truly immersive performance experience. Based on the analysis of the performance, the device also displays feedback messages, such as "The tempo is too fast."
[0647] The server generates more detailed coaching information. The generated coaching information is evaluated based on the accuracy of the sound, rhythm, tempo, and dynamics, and specific advice is provided to the user. For example, the server may generate an evaluation such as "your pitch is not stable" and notify the user via the terminal.
[0648] For emotion recognition, the server uses technology that recognizes emotions from the user's facial expressions, vocal tone, and playing dynamics. Specifically, it utilizes Microsoft Azure's Emotion API. If the user is smiling, this information is sent to the server and recognized as a positive emotional state.
[0649] The server generates accompaniment data and coaching information based on the emotional data, according to the user's emotional state, and sends these to the user's device in real time. For example, if the user is smiling while playing "Do-Re-Mi-Fa-So-La-Si-Do," the server generates a bright and lively accompaniment and sends a coaching message saying, "That's a great performance." On the other hand, if the user is feeling stressed, the server provides a gentle and calming accompaniment and instructions such as, "Take a short break."
[0650] In this way, the present invention provides optimal accompaniment data and coaching information according to the user's emotional state, thereby realizing a more effective and emotional learning experience. As a specific example, if the user is smiling while playing "Do Re Mi Fa So La Si Do," the system can input "The user is smiling while playing 'Do Re Mi Fa So La Si Do' on the piano," and the generated accompaniment data and coaching feedback can be displayed.
[0651] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0652] Step 1:
[0653] When a user plays the piano, the device records the performance in real time. The device collects the sound through a microphone and converts the audio into digital data (WAV format). This digital data is temporarily stored in the device's memory. The recorded data is then sent to the server using the HTTP protocol.
[0654] Input: Piano playing sound
[0655] Output: Digital recording data (WAV format)
[0656] Step 2:
[0657] The server analyzes the performance audio data received from the device. This analysis is performed using Google Cloud's Speech-to-Text API. First, the audio data is sent to the API, which extracts the pitch, rhythm, tempo, and volume characteristics. The server records this data as numerical values and creates a dataset for performing the necessary calculations. For example, if a user plays "Do Re Mi Fa So La Si Do," the pitch and timing are analyzed in detail.
[0658] Input: Digital recording data (WAV format)
[0659] Output: Numerical data on pitch, rhythm, speed, and dynamics
[0660] Step 3:
[0661] Based on the analysis results, the server generates accompaniment data using the Python music generation library "Magenta." This AI model creates accompaniment with chords and rhythms that correspond to the user's performance. The generated accompaniment data is saved in MIDI format. This MIDI data is optimized by the AI model and adjusted to naturally match the user's performance.
[0662] Input: Numerical data for pitch, rhythm, speed, and dynamics
[0663] Output: MIDI format accompaniment data
[0664] Step 4:
[0665] The server sends the generated MIDI-format accompaniment data to the device in real time using WebSocket technology, achieving low-latency communication. The device then converts the received MIDI data into a playable format and prepares for playback.
[0666] Input: MIDI format accompaniment data
[0667] Output: Data sent to the terminal
[0668] Step 5:
[0669] The device then plays the received accompaniment data using its built-in MIDI player software. The playback timing is synchronized with the user's performance, allowing the user to enjoy a natural performance experience. The device also generates feedback messages based on the performance analysis results, displaying advice such as "The tempo is too fast."
[0670] Input: Accompaniment data sent from the server
[0671] Output: Playback accompaniment, feedback messages
[0672] Step 6:
[0673] The server generates more detailed coaching information, providing detailed evaluations based on pitch accuracy, rhythm, tempo, and dynamics, and offering specific advice to the user. The generated coaching information is sent to the user via their device and displayed. It may include evaluation results such as "pitch is unstable."
[0674] Input: User performance analysis data
[0675] Output: Detailed coaching information
[0676] Step 7:
[0677] For emotion recognition, the server uses Microsoft Azure's Emotion API to analyze the user's facial expressions, vocal tone, and playing intensity. The results of this analysis are used to determine the user's emotional state. If the user is smiling, this information is sent to the server and recorded as a positive emotional state.
[0678] Input: User facial expression, vocal tone, and playing dynamics data
[0679] Output: Emotional state data
[0680] Step 8:
[0681] The server generates accompaniment data and coaching information based on the emotional data, according to the user's emotional state. This data is sent to the user's device in real time, and the device plays the accompaniment and displays coaching messages such as "Great performance." If the user is feeling stressed, the server provides gentle, soothing accompaniment and instructions such as "Take a short break."
[0682] Input: Emotional state data
[0683] Output: Accompaniment data according to emotions, coaching messages
[0684] (Application example 2)
[0685] 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."
[0686] Conventional piano learning systems focus on analyzing a user's performance and providing feedback, making it difficult to provide optimal support that reflects the user's emotional state and individual motivation. Furthermore, they are unable to provide real-time feedback or coaching information based on the user's performance, preventing the user from maximizing their learning effectiveness. Furthermore, they lack a means to suggest related products and services based on the user's emotions, which hinders the quality of the learning experience.
[0687] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for recording the user's performance sounds in real time and transmitting them to the server, means for analyzing the performance sounds received by the server and generating accompaniment data, means for transmitting the accompaniment data generated by the server to the user's terminal, means for playing the accompaniment data received by the terminal and providing feedback to the user, and means for recognizing emotions from the user's facial expressions and vocal tone and generating accompaniment data and coaching information corresponding to the emotions. This enables the provision of optimal performance support and feedback tailored to the user's emotional state. Furthermore, by adding means for generating and displaying recommended product information based on the performance sounds and emotions, the quality of the learning experience can be improved and a related product purchasing experience can be provided.
[0688] "Performance" refers to the audio signal produced by a piano or other musical instrument.
[0689] "Real time" means that processing is performed in the user's real time.
[0690] A "server" is a computer system that receives performance data from a user, analyzes it, generates accompaniment data, and returns it.
[0691] "Analysis" is the process of evaluating attributes such as pitch, rhythm, speed, and dynamics of input performance data.
[0692] "Accompaniment data" is music data that is generated in synchronization with the user's performance, and is intended to support and emphasize the performance.
[0693] A "terminal" is a device used by a user, and includes a smartphone, tablet, PC, etc.
[0694] "Feedback" refers to real-time advice and evaluation information provided to the user regarding their performance.
[0695] "Facial expressions" are signs of emotions shown by the movements of the user's facial muscles.
[0696] "Voice tone" is an acoustic feature that indicates the pitch and intonation of a user's speaking voice.
[0697] "Emotion" indicates the user's psychological state and is inferred from facial expressions, tone of voice, and the like.
[0698] "Coaching information" is specific advice and evaluation information aimed at improving the user's performance ability.
[0699] "Recommended product information" is information about appropriate products and services that are suggested based on the user's performance and emotional state.
[0700] A "purchase experience" is the process by which a user purchases related products and services in a virtual store.
[0701] The present invention provides a system for helping users learn piano playing more effectively and providing emotional support. This system involves a series of processes for recording and analyzing the user's performance in real time, generating accompaniment data, and providing feedback. Specific embodiments of the present invention are described in detail below.
[0702] System configuration
[0703] The system consists of the following main components:
[0704] 1. User Device
[0705] A microphone for recording the user's playing sound
[0706] Camera and microphone to recognize the user's facial expressions and tone of voice
[0707] A communication module for transmitting performance data and emotion data to a server
[0708] Speakers and displays for playing back accompaniment data received from the server and providing feedback
[0709] 2. Server
[0710] Audio analysis engine for performance data analysis (e.g. Librosa, PyDub)
[0711] Deep learning models for sentiment analysis (e.g., OpenCV's DNN module)
[0712] Accompaniment data generation engine (e.g., MIDI generation tool)
[0713] AI engine that generates coaching information (e.g., generative AI model)
[0714] A database that stores and manages user performance data and emotional data
[0715] Data Flow and Processing
[0716] 1. Recording and sending performance sounds
[0717] When a user plays the piano, the microphone on the device records the performance in real time, and the recorded data is sent to the server via the communication module.
[0718] 2. Analysis of performance data
[0719] The server analyzes the received performance data for attributes such as pitch, rhythm, tempo, and dynamics using Librosa and PyDub. Based on the analysis results, accompaniment data is generated using a MIDI generation tool.
[0720] 3. Emotional Recognition
[0721] The user's facial expressions and voice tone are recorded by a camera and microphone and analyzed using OpenCV's DNN module, which allows the user's emotional state to be recognized.
[0722] 4. Providing feedback and coaching information
[0723] Based on performance and emotional data, the server generates appropriate feedback and coaching information, using a generative AI model to provide the user with real-time feedback.
[0724] 5. Generate recommended product information
[0725] The server generates related product recommendation information based on the performance sound and emotion data, and this information is displayed in a virtual store to help users purchase related products and services.
[0726] Specific examples
[0727] When a user opens the "Virtual Piano Lessons" app on their smartphone, they are first prompted to prepare a piano. As the user plays, the app records the sound in real time and performs emotional analysis. The results are sent to a server, which generates optimal accompaniment data, which is then sent to the user's smartphone for playback. At the same time, the app displays emotional feedback and coaching information, and users can purchase related learning materials and accessories from a virtual store.
[0728] In this way, the present invention analyzes the user's performance data and emotional data and provides optimal feedback and accompaniment to enhance the user's learning effect and realize a rich learning experience. It also improves the user's shopping experience in virtual stores by providing recommended product information.
[0729] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0730] Step 1:
[0731] The user starts up the device and begins playing the piano. The device uses a microphone to record the sound of the performance. The recorded data is temporarily saved as an audio file. The input is the user's performance sound, and the output is the recorded audio data. Specifically, the audio data is saved in WAV format with a sampling rate of 44.1 kHz.
[0732] Step 2:
[0733] The device sends the recorded audio data to the server. The server receives this data and prepares it for analysis. The data is sent using the HTTPS protocol. The input is the recorded audio data, and the output is the audio data sent to the server. Specifically, the audio data is encoded when it is sent.
[0734] Step 3:
[0735] The server analyzes the audio data. It uses the Librosa library to analyze pitch, rhythm, speed, dynamics, etc., and extracts the characteristics of the performance sound. The input is the audio data sent to the server, and the output is the acoustic characteristics resulting from the analysis. Specifically, it uses FFT (Fast Fourier Transform) to analyze frequency components and identify pitch and rhythm patterns.
[0736] Step 4:
[0737] The server generates accompaniment data based on the analysis results. Using a MIDI generation tool, it creates accompaniment data synchronized with the user's performance. The input is the analysis results, and the output is the generated MIDI data. Specifically, it creates accompaniment by combining specific chords and rhythm patterns using an algorithm.
[0738] Step 5:
[0739] The device uses a camera and microphone to record the user's facial expressions and voice tone and perform emotion analysis. The recorded data is sent to the server in real time. The input is the user's facial expressions and voice, and the output is emotion data sent to the server. Specific operations include preprocessing of image data (grayscale conversion and face detection) and pitch analysis of voice data.
[0740] Step 6:
[0741] The server uses OpenCV's DNN module to recognize emotions from the received facial expressions and voice tones. The recognized emotions are stored in a database and used as analysis results. The input is facial expression and voice tone data, and the output is recognized emotion information. Specifically, the deep learning model classifies emotions based on the dataset it was trained on.
[0742] Step 7:
[0743] The server generates coaching information based on performance data and emotional data. Utilizing a generative AI model, it creates specific advice and evaluation information for the user. The input is performance data and emotional data, and the output is the generated coaching information. Specifically, the model uses acoustic features and emotional state as input parameters to generate optimal coaching text.
[0744] Step 8:
[0745] The server sends the generated coaching information and accompaniment data to the terminal. Based on the received data, the terminal provides feedback to the user and plays the accompaniment. The input is the coaching information and accompaniment data sent from the server, and the output is feedback display to the user and accompaniment playback. Specifically, the operation involves displaying text on the screen and outputting audio from the speaker.
[0746] Step 9:
[0747] The server generates recommended information for related products based on the performance sound and emotional data and sends it to the terminal. The terminal then displays the received recommended product information to the user. The input is performance data and emotional data, and the output is recommended product information. Specifically, the system extracts related product information from a database and suggests it to the user as a prompt sentence.
[0748] Example prompt sentence:
[0749] "Your playing has improved! I highly recommend this resource to help you take your playing to the next level."
[0750] 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.
[0751] 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.
[0752] 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.
[0753] [Third embodiment]
[0754] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0755] 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.
[0756] 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).
[0757] 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.
[0758] 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.
[0759] 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).
[0760] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0761] 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.
[0762] 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.
[0763] 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.
[0764] 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.
[0765] 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."
[0766] This invention is a system that supports users in continuing to learn and practice piano at home. This system includes means for recording the user's performance in real time and transmitting it to a server, means for the server to analyze the performance received and generate accompaniment data, means for transmitting the generated accompaniment data to the user's terminal, and means for the terminal to play back the received accompaniment data and provide feedback to the user.
[0767] The server plays a central role in performing critical analysis and data generation. When the server receives the user's performance, it uses a dedicated audio analysis algorithm to analyze the pitch, rhythm, speed, dynamics, etc. Based on the analysis results, the server uses AI to generate optimal accompaniment data. For example, if a user plays "Do-Re-Mi," the server analyzes the sequence of notes and generates appropriate chords and rhythm patterns as accompaniment.
[0768] The generated accompaniment data is sent from the server to the user's device in real time. The device then plays the received accompaniment data and provides sound effects that match the user's performance. The device also provides visual and audio feedback to the user. For example, if the tempo becomes unstable during a performance, the device will display a message such as "Keep the tempo constant."
[0769] Furthermore, the server generates detailed coaching information based on the user's performance results. Based on the analyzed performance data, the accuracy of the notes, rhythm, tempo, dynamics, etc. are individually evaluated, and specific advice is generated. This coaching information is sent from the server to the device, which then displays it to the user. For example, the user may receive a detailed evaluation such as "The rhythm is good, but the pitch is inaccurate" as the performance evaluation result.
[0770] As a specific example, a user sits at a piano and begins playing "Do Re Mi Fa So La Si Do." The device records this in real time and sends the audio data to a server. The server analyzes the received data and generates accompaniment data corresponding to the "Do Re Mi Fa So La Si Do" musical sequence. This accompaniment data is sent to the device in real time, and the device plays back the received accompaniment while displaying animations of the pitch and rhythm as visual feedback. After the performance, the server further analyzes the performance data and generates evaluation results and coaching information, which are sent to the device. The device displays this to the user, visually indicating specific areas for improvement, thereby enhancing the user's learning effectiveness.
[0771] As described above, the present invention provides a system for effectively supporting users' piano learning, comprehensively providing specific means for supporting learning and practice at home. This system allows users to continue practicing at home with professional instruction, without having to attend piano lessons. Furthermore, real-time feedback and detailed coaching information allow users to understand their own progress and effectively advance their learning.
[0772] The processing flow will be explained below.
[0773] Step 1:
[0774] The user sits down at the piano and starts playing. When the user strikes the keys to produce sounds, the sound is captured in real time by the device's microphone.
[0775] Step 2:
[0776] The device records the captured performance sound in real time, and the recorded audio data is immediately sent to the server.
[0777] Step 3:
[0778] The server analyzes the received audio data, applying algorithms to analyze pitch, rhythm, speed, dynamics, etc.
[0779] Step 4:
[0780] Based on the analysis results, the server uses AI to generate appropriate accompaniment data. For example, if a user plays "Do-Re-Mi," the server will generate an accompaniment rhythm and chords that match the sequence of notes.
[0781] Step 5:
[0782] The server sends the generated accompaniment data to the device in real time, allowing the accompaniment to be layered on the user's performance without delay.
[0783] Step 6:
[0784] The terminal then plays back the received accompaniment data, and the user's performance and the accompaniment sounds are output in sync.
[0785] Step 7:
[0786] The device provides visual feedback to the user based on the rhythm and dynamics of their performance. For example, if the tempo is too fast, a message such as "Keep the tempo steady" will appear on the screen.
[0787] Step 8:
[0788] The server performs additional analysis to evaluate the user's performance data in detail, evaluating the accuracy, rhythm, tempo, dynamics, etc. of the performance individually.
[0789] Step 9:
[0790] Based on the evaluation results, the server generates coaching information to provide specific advice to the user, for example, "your rhythm is good, but your pitch is inaccurate."
[0791] Step 10:
[0792] The server then sends the generated coaching information to the terminal, allowing the user to receive evaluation and advice immediately after playing.
[0793] Step 11:
[0794] The device receives coaching information from the server and displays it on the screen. The user can then apply the information visually to their next performance. For example, a graph of their performance evaluation and specific advice are displayed.
[0795] Step 12:
[0796] The user can then use the displayed coaching information to prepare for their next practice session, allowing them to continually improve their learning.
[0797] Example 1
[0798] 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."
[0799] When users learn to play the piano at home, they face challenges such as difficulty in receiving proper feedback and accompaniment. They also face the challenge of attending piano lessons for professional instruction, which is time-consuming and expensive. Furthermore, there is a risk of playing with the wrong rhythm or tempo during practice, making it difficult to learn efficiently.
[0800] 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.
[0801] In this invention, the server comprises: means for analyzing the sounds played by the user and generating accompaniment data;
[0802] means for transmitting the generated accompaniment data to a user's terminal;
[0803] and means for generating detailed coaching information based on the user's analysis data.
[0804] This allows users to receive appropriate accompaniment and feedback in real time at home, allowing them to continue learning piano playing effectively.Furthermore, by providing detailed coaching information about their performance, it can promote user improvement.
[0805] The "user's performance sound" is a sound wave signal generated when the user plays an instrument such as a piano.
[0806] "Means for recording in real time" refers to a method or device that records the sound of a musical instrument played by a user as data almost simultaneously while the user is playing the instrument.
[0807] The "server" is a central processing unit that receives the sounds played by the user and performs analysis and data generation.
[0808] "Means of analysis" refers to algorithms or software that determine elements such as pitch, rhythm, speed, and dynamics based on the received performance sound.
[0809] "Accompaniment data" is complementary music data generated to match the user's performance, and is used as background music for the performance.
[0810] "Means of generation" refers to the algorithms and software used to create accompaniment data based on the analysis results.
[0811] "User's device" refers to an electronic device used by a user, such as a computer, tablet, or smartphone.
[0812] "Means for providing feedback" refers to a method or device that visually or audibly notifies the user of the quality of their performance and areas for improvement.
[0813] "Detailed coaching information" refers to specific advice and instruction information generated based on sound accuracy, rhythm, tempo, dynamics, etc.
[0814] "Visual feedback" refers to a method of providing information about a performance to a user through a visual information display device such as a display.
[0815] "Audio feedback" refers to a method of providing information about a performance to a user audibly through speakers or headphones.
[0816] The present invention relates to a system that enables users to effectively continue learning and practicing piano at home. The system uses advanced analysis and generation techniques to provide users with real-time feedback and coaching information.
[0817] First, a user sits down at a piano at home and starts playing. The user's device (e.g., computer, tablet, smartphone, etc.) uses its built-in microphone to record the performance in real time and temporarily saves it in WAV or MP3 format. Next, the device sends the recording data to the server via an HTTP POST request. This request is executed via an API endpoint.
[0818] The server uses audio analysis libraries such as Librosa and Pydub to analyze the received performance audio. Items to be analyzed include pitch, rhythm, speed (tempo), and dynamics. Based on the results of these analyses, the server inputs prompt statements into a generative AI model (such as TensorFlow or PyTorch) to generate optimal accompaniment data. Examples of prompt statements include:
[0819] Example prompt:
[0820] 1. "The user played 'Do Re Mi Fa So La Si Do'. Please generate the best corresponding accompaniment data."
[0821] 2. "Analyze performance data and provide evaluation and advice regarding pitch, rhythm, tempo, and dynamics."
[0822] The generated accompaniment data is sent to the device in real time using audio streaming technology (e.g., WebSocket). The device then plays the received accompaniment data through its built-in speaker, providing sound effects that match the user's performance. The device can also display animations of pitch and rhythm on the screen as visual feedback, and play audio feedback such as "Keep the tempo consistent."
[0823] Furthermore, after the performance, the server performs a detailed analysis of the received performance data and generates coaching information. This coaching information includes specific advice based on pitch accuracy, rhythm, tempo, dynamics, etc. For example, "Your rhythm is good, but your pitch is inaccurate. Next time, practice paying attention to the pitch." The generated coaching information is sent to the device via an HTTP POST request, and the device displays it on the screen for the user.
[0824] The present invention thus provides an environment in which users can effectively learn to play the piano at home, and provides real-time support for user improvement without relying on professional instruction or lessons.
[0825] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0826] Step 1:
[0827] The user plays the piano.
[0828] Input: User playing piano
[0829] Output: Piano sound
[0830] Specific operation: The user plays "do-re-mi-fa-so-la-ti-do" on the piano.
[0831] Step 2:
[0832] The device records the sound of the performance.
[0833] Input: Piano sound
[0834] Output: Recording data
[0835] Specific operation: The device's built-in microphone records the user's performance in real time and temporarily saves it in WAV format.
[0836] Step 3:
[0837] The device sends the recorded data to the server.
[0838] Input: Recording data (WAV format)
[0839] Output: HTTP POST request to the server
[0840] Specific operation: The device sends the recorded data to the API endpoint using an HTTP POST request.
[0841] Step 4:
[0842] The server analyzes the received audio data.
[0843] Input: Recording data (WAV format)
[0844] Output: Analysis results (pitch, rhythm, tempo, dynamics, etc.)
[0845] Specific operation: The server uses the Librosa library to analyze audio data and extract pitch, rhythm, tempo, dynamics, etc.
[0846] Step 5:
[0847] The server generates accompaniment data based on the analysis results.
[0848] Input: Analysis results
[0849] Output: accompaniment data
[0850] Specific operation: The server inputs the analysis results as prompts into a generative AI model (e.g., TensorFlow) to generate optimal accompaniment data.
[0851] Example prompt:
[0852] "The user played 'Do Re Mi Fa So La Si Do'. Please generate the best corresponding accompaniment data."
[0853] Step 6:
[0854] The server transmits the generated accompaniment data to the terminal.
[0855] Input: accompaniment data
[0856] Output: WebSocket data to the terminal
[0857] Specific operation: The server sends the generated accompaniment data to the terminal in real time via WebSocket.
[0858] Step 7:
[0859] The terminal plays back the accompaniment data.
[0860] Input: accompaniment data
[0861] Output: Audio output (accompaniment sound)
[0862] Specific operation: The device plays the received accompaniment data through its built-in speaker, providing sound effects that match the user's performance.
[0863] Step 8:
[0864] The device provides visual and audio feedback to the user.
[0865] Input: accompaniment data and performance status
[0866] Output: Visual and audio feedback
[0867] Specific operation: The device displays animations of pitch and rhythm as visual feedback, and plays audio feedback such as "Keep the tempo consistent."
[0868] Step 9:
[0869] The server generates coaching information based on the performance data.
[0870] Input: Performance data and analysis results
[0871] Output: Coaching information
[0872] Specific actions: The server performs detailed analysis and evaluates the accuracy of the sound, rhythm, tempo, and dynamics, and then generates specific coaching information.
[0873] Example prompt:
[0874] "Analyze performance data and provide evaluation and advice on pitch, rhythm, tempo, and dynamics."
[0875] Step 10:
[0876] The server transmits the generated coaching information to the terminal.
[0877] Input: Coaching information
[0878] Output: HTTP POST request to the terminal
[0879] Specific operation: The server sends the generated coaching information to the terminal via an HTTP POST request.
[0880] Step 11:
[0881] The terminal displays the coaching information to the user.
[0882] Input: Coaching information
[0883] Output: Visual display
[0884] Specific operation: The device displays coaching information on the screen, providing the user with visual messages such as, "Your rhythm is good, but your pitch is inaccurate. Next time, practice paying attention to the pitch."
[0885] (Application example 1)
[0886] 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."
[0887] Conventional factory automation systems lack a way to manage and evaluate the accuracy and efficiency of robotic arms and other automated equipment in real time. This makes it difficult to improve work accuracy and operate efficiently. Another issue is the lack of appropriate feedback, which makes it difficult for operators to correct errors immediately.
[0888] 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.
[0889] In this invention, the server includes a means for recording audio data of the user's actions in real time and transmitting it to the server, a means for analyzing the received audio and generating action feedback data, and a means for transmitting the action feedback data generated by the server to the user's terminal. This allows the operation of a robot arm or other automated equipment to be analyzed in real time and provide appropriate feedback, allowing the operator to immediately correct errors and improve work accuracy and efficiency.
[0890] "Audio data of user's actions" refers to data that records acoustic information accompanying actions performed by the user.
[0891] A "server" is an information processing device that analyzes received data and performs necessary processing.
[0892] The "operation sound" is an acoustic signal that is generated in conjunction with a specific operation performed by the user.
[0893] "Action feedback data" refers to data that includes evaluation and advice on the user's actions, generated by the server through analysis of the action sounds.
[0894] A "terminal" is an information processing device that transmits and receives data between a user and a server, and is a device that plays a role in providing action feedback data to a user.
[0895] "Real-time" refers to a method in which data processing and feedback are carried out almost simultaneously with the actions or operations performed by the user.
[0896] "Analysis" refers to the process of analyzing voice data and movement data in detail and extracting their features.
[0897] "Coaching information" refers to information that includes evaluation results, areas for improvement, and instruction content regarding the user's actions.
[0898] The system of the present invention monitors user behavior in real time and provides feedback based on the monitoring results to help users effectively manage and improve their behavior. A specific embodiment of the system will be described below.
[0899] First, the audio data of the user's actions is recorded in real time using a microphone. This recorded data is stored on the device and sequentially sent to the server. An audio processing library (e.g., Python's sounddevice library) is used to process the audio data.
[0900] The audio data sent to the server is analyzed using a dedicated analysis algorithm. This analysis extracts the sound characteristics of the movement (e.g., rhythm, strength, speed, etc.) and evaluates the user's movement in detail. The server uses a high-performance processor and analysis software (e.g., a generative AI model). Based on the analyzed data, the server generates appropriate movement feedback data. This data is then sent to the user's device.
[0901] The device then provides the received motion feedback data to the user. This feedback is provided visually and audibly. The visual feedback includes a graphical display of the rhythm and strength of the motion, while the audio feedback includes specific audio instructions for improvement. The device can be a smartphone or tablet PC.
[0902] The server then generates detailed coaching information based on the user's performance, including performance evaluation results and specific advice. The coaching information is then sent to the user's terminal and presented to them visually and audibly.
[0903] As a specific example, the sounds a user makes while operating a robot arm are recorded and sent to a server. The server analyzes the sounds and evaluates the speed and accuracy of the operation. For example, feedback such as "The speed is uneven while the robot arm is operating. Please keep the speed constant" is displayed on the terminal in real time. This allows the user to immediately correct errors and improve the accuracy of their work.
[0904] Alternatively, a generative AI model could be used to provide prompts such as:
[0905] "The robot arm's movements are recorded in real time and sent to a server. The server then uses a voice analysis algorithm to analyze the data and provide optimal feedback. Specifically, the accuracy, rhythm, speed, and strength of the movements are evaluated, and appropriate areas for improvement are suggested in real time."
[0906] In this way, the system effectively supports users in managing and improving their movements, providing real-time feedback and detailed coaching information to help users efficiently learn movements and improve their accuracy.
[0907] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0908] Step 1:
[0909] The user records audio data during operation through a microphone.
[0910] Input: User action sound
[0911] Output: Recorded audio data
[0912] Specific operation: While the user operates the robot arm, the sounds generated by the operation are recorded by a microphone.
[0913] Step 2:
[0914] The terminal transmits the recorded voice data to the server.
[0915] Input: Recorded audio data
[0916] Output: Audio data sent to the server
[0917] Specific operation: The device converts the voice data acquired from the microphone into data packets and sends them to a server via the Internet.
[0918] Step 3:
[0919] The server analyzes the received audio data.
[0920] Input: Audio data sent to the server
[0921] Output: Analyzed motion data
[0922] Specific operation: The server uses a voice analysis algorithm (for example, a Python voice analysis module) to extract the characteristics of the received voice data and analyze the rhythm, strength, speed, etc. of the movement.
[0923] Step 4:
[0924] The server generates motion feedback data based on the analysis results.
[0925] Input: Parsed motion data
[0926] Output: Motion feedback data
[0927] Specific Actions: The server uses the generative AI model to generate optimal feedback based on the analysis results. For example, it generates action feedback data that includes specific advice such as "keep the speed of your movements constant."
[0928] Step 5:
[0929] The server transmits the generated motion feedback data to the user's terminal.
[0930] Input: Motion feedback data
[0931] Output: Feedback data sent to the device
[0932] Specific operation: The server converts the generated motion feedback data into data packets and sends them to the user's terminal via the Internet.
[0933] Step 6:
[0934] The terminal provides the received motion feedback data to the user.
[0935] Input: Feedback data sent to the device
[0936] Output: Feedback provided to the user
[0937] Specific behavior: The device will display visual feedback on the screen and play audio feedback through the speaker, for example, the message "Keep your speed steady."
[0938] Step 7:
[0939] The server generates detailed coaching information based on the user's action results and transmits it to the user's terminal.
[0940] Input: Operation result
[0941] Output: Detailed coaching information
[0942] Specific behavior: The server analyzes all behavior data, generates detailed evaluation results (e.g., "The accuracy of the behavior is good, but the speed is uneven") and coaching information, and sends them to the user's device.
[0943] Step 8:
[0944] The terminal displays the received coaching information to the user.
[0945] Input: Detailed coaching information
[0946] Output: Coaching information displayed to the user
[0947] Specific behavior: The device displays detailed evaluation results and coaching information visually on the screen, and in some cases provides audio feedback, which the user can use to improve their behavior.
[0948] 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.
[0949] This invention is a system that provides more effective and emotional support for users' piano learning. This system includes a means for recording a user's performance in real time and transmitting it to a server, a means for the server to analyze the performance received and generate accompaniment data, a means for transmitting the generated accompaniment data to the user's device, and a means for the device to play the accompaniment data received and provide feedback to the user. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, the system provides accompaniment data and coaching information according to the user's emotional state.
[0950] When the server receives the user's performance, it first performs an audio analysis. This analysis includes pitch, rhythm, speed, dynamics, etc. The server uses the results of this analysis to generate optimal accompaniment data using AI. For example, if a user plays "Do-Re-Mi," the server will generate an accompaniment with the chords and rhythm that correspond to that sequence of notes.
[0951] The generated accompaniment data is sent to the device in real time, where it is played back. At the same time, the accompaniment is played back in sync with the user's performance data, providing a realistic performance experience for the user. The device also provides feedback based on the performance sound and accompaniment data. For example, a message such as "The tempo is too fast" may be displayed.
[0952] The server also evaluates the user's performance and generates detailed coaching information. This coaching information evaluates the accuracy of the sound, rhythm, tempo, and dynamics, and provides specific advice to the user. For example, the server may convey to the user that the pitch is not stable.
[0953] Furthermore, the present invention incorporates an emotion engine. This emotion engine recognizes emotions from the user's facial expressions, vocal tone, and playing dynamics. For example, if the user is feeling stressed, their facial expression will become grim and their vocal tone will change. Such emotional data is received and analyzed by the server and reflected in the accompaniment data and coaching information.
[0954] As a concrete example, consider a situation where a user is smiling while playing "Do Re Mi Fa So La Si Do." The emotion engine detects the user's smile and recognizes a positive emotional state. The server receives this information, generates a bright and lively accompaniment, and sends it to the device. The device plays this accompaniment and provides feedback to the user. At the same time, the coaching information is updated to match the user's positive emotion, and a message such as "Great performance" is displayed.
[0955] On the other hand, if the user looks tired while playing, the emotion engine will recognize this negative emotion. The server will receive this information and generate a gentle, soothing accompaniment. At the same time, the coaching information will be updated to include instructions such as "take a short break."
[0956] In this way, the present invention provides optimal accompaniment data and coaching information according to the user's emotional state, resulting in a more effective and emotional learning experience. By taking the user's emotions into consideration, it is possible to increase motivation for piano learning and support continuous learning.
[0957] The processing flow will be explained below.
[0958] Step 1:
[0959] The user sits down at the piano and starts playing. The user's performance is captured in real time by the device's microphone.
[0960] Step 2:
[0961] The device records the user's performance in real time, and the recorded audio data is immediately sent to the server.
[0962] Step 3:
[0963] The server analyzes the received audio data, specifically extracting information such as pitch, rhythm, speed, and dynamics, and then performs a detailed analysis based on this information.
[0964] Step 4:
[0965] Based on the analysis results, the server uses AI to generate optimal accompaniment data. For example, if a user plays "Do-Re-Mi," the server will create an accompaniment that matches this sequence and generate it in real time.
[0966] Step 5:
[0967] The server transmits the generated accompaniment data in a stream format to the user's device, minimizing delays while transmitting high-quality audio data.
[0968] Step 6:
[0969] The terminal then plays back the received accompaniment data, so that the user's performance and the accompaniment are output in timely synchronization.
[0970] Step 7:
[0971] The device activates an emotion engine in real time, monitoring the user's facial expressions, vocal tone, and playing dynamics, and the emotion engine recognizes the user's emotions from this data.
[0972] Step 8:
[0973] The emotion engine sends the recognized emotion data from the device to the server. For example, if the user is smiling, it is classified as "positive."
[0974] Step 9:
[0975] The server receives and analyzes the emotional data and adjusts the accompaniment data to match the user's emotional state. For example, if the user is in a positive emotional state, the server generates a bright and lively accompaniment.
[0976] Step 10:
[0977] The server evaluates the user's performance data and generates detailed coaching information, including the accuracy of the notes, rhythm, tempo, and dynamics.
[0978] Step 11:
[0979] Based on the evaluation results and emotional data, the server adjusts the coaching information to match the emotion and generates specific advice, such as positive messages like "Great performance!"
[0980] Step 12:
[0981] The server sends the generated coaching information to the terminal, which receives the information and displays it visually and audibly to the user.
[0982] Step 13:
[0983] The device displays feedback and coaching information to the user, allowing the user to receive specific advice on their own performance.
[0984] Step 14:
[0985] Based on the coaching information and feedback displayed, users can understand what needs to be improved for their next performance and continue learning, allowing them to continuously improve their skills.
[0986] Example 2
[0987] 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."
[0988] Conventional piano learning systems not only provide real-time accompaniment to a user's performance, but also lack sufficient means for providing feedback and coaching to improve the quality of their performance. They also lack the ability to recognize the user's emotional state and provide appropriate support accordingly. This makes it difficult for users to maintain their motivation while learning.
[0989] 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.
[0990] In this invention, the server includes means for analyzing the sounds played by the user and generating accompaniment data, means for transmitting the generated accompaniment data to the user's terminal, means for generating detailed coaching information based on the results of the performance analysis and providing it to the user, means for recognizing the user's emotions from their facial expressions, vocal tone, and performance dynamics, and means for generating accompaniment data and coaching information according to their emotional state and transmitting them to the user's terminal. This makes it possible to provide not only real-time accompaniment for the user's performance, but also detailed feedback and coaching, as well as appropriate support according to the user's emotional state.
[0991] A "user" is a person who uses the system to learn to play the piano.
[0992] "Performance sounds" refer to sounds that are generated when a user plays the piano.
[0993] "Real-time" refers to processing that responds immediately to user operations and inputs.
[0994] "Recording" means saving the sound of a performance as digital data.
[0995] The "server" is a central control device that analyzes the performance sounds, generates accompaniment data, and provides coaching information.
[0996] "Analysis" is a process of extracting characteristics of the played sound, such as pitch, rhythm, speed, and dynamics.
[0997] "Accompaniment data" is music data that is added to the user's performance.
[0998] A "terminal" is a device used by a user, which records performance sounds and receives and plays back accompaniment data and coaching information.
[0999] "Feedback" refers to evaluation information and advice provided to the user regarding their performance.
[1000] "Coaching information" is specific instruction information generated based on the user's performance.
[1001] "Facial expression" refers to the expressive state of a user's face, and is one way of showing emotions.
[1002] "Voice tone" refers to the tone and intonation of the voice when playing.
[1003] "Dynamics" refers to the loudness of the sound being played.
[1004] "Emotion recognition" is the process of analyzing and understanding a user's emotional state.
[1005] "Emotional state" refers to the type and degree of emotion a user exhibits at a particular point in time.
[1006] The present invention is a system that effectively and emotionally supports a user's piano learning. This system includes: means for recording a user's performance in real time and transmitting the recording to a server; means for the server to analyze the performance received and generate accompaniment data; means for the server to transmit the generated accompaniment data to the user's device; means for the device to play back the accompaniment data received and provide feedback to the user; means for generating detailed coaching information based on the performance analysis results and providing it to the user; means for recognizing the user's emotions from their facial expressions, vocal tone, and playing dynamics; and means for generating accompaniment data and coaching information according to their emotional state and transmitting them to the user's device.
[1007] First, when a user plays the piano, the device records the performance in real time. The recorded audio data is saved in WAV format and sent to the server using the HTTP protocol.
[1008] The server analyzes the received performance data using Google Cloud's Speech-to-Text API. During the analysis, characteristics such as pitch, rhythm, speed, and dynamics of the performance are extracted. For example, if a user plays "Do Re Mi Fa So La Si Do," the pitch and timing of each note are recorded as numerical data.
[1009] Based on the analysis results, the server uses the Python music generation library "Magenta" to generate optimal accompaniment data, which is saved in MIDI format and sent to the device in real time using WebSocket technology.
[1010] The device then plays the received accompaniment data using its built-in MIDI player software. At the same time, the accompaniment is played back in time with the user's performance, providing a truly immersive performance experience. Based on the analysis of the performance, the device also displays feedback messages, such as "The tempo is too fast."
[1011] The server generates more detailed coaching information. The generated coaching information is evaluated based on the accuracy of the sound, rhythm, tempo, and dynamics, and specific advice is provided to the user. For example, the server may generate an evaluation such as "your pitch is not stable" and notify the user via the terminal.
[1012] For emotion recognition, the server uses technology that recognizes emotions from the user's facial expressions, vocal tone, and playing dynamics. Specifically, it utilizes Microsoft Azure's Emotion API. If the user is smiling, this information is sent to the server and recognized as a positive emotional state.
[1013] The server generates accompaniment data and coaching information based on the emotional data, according to the user's emotional state, and sends these to the user's device in real time. For example, if the user is smiling while playing "Do-Re-Mi-Fa-So-La-Si-Do," the server generates a bright and lively accompaniment and sends a coaching message saying, "That's a great performance." On the other hand, if the user is feeling stressed, the server provides a gentle and calming accompaniment and instructions such as, "Take a short break."
[1014] In this way, the present invention provides optimal accompaniment data and coaching information according to the user's emotional state, thereby realizing a more effective and emotional learning experience. As a specific example, if the user is smiling while playing "Do Re Mi Fa So La Si Do," the system can input "The user is smiling while playing 'Do Re Mi Fa So La Si Do' on the piano," and the generated accompaniment data and coaching feedback can be displayed.
[1015] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1016] Step 1:
[1017] When a user plays the piano, the device records the performance in real time. The device collects the sound through a microphone and converts the audio into digital data (WAV format). This digital data is temporarily stored in the device's memory. The recorded data is then sent to the server using the HTTP protocol.
[1018] Input: Piano playing sound
[1019] Output: Digital recording data (WAV format)
[1020] Step 2:
[1021] The server analyzes the performance audio data received from the device. This analysis is performed using Google Cloud's Speech-to-Text API. First, the audio data is sent to the API, which extracts the pitch, rhythm, tempo, and volume characteristics. The server records this data as numerical values and creates a dataset for performing the necessary calculations. For example, if a user plays "Do Re Mi Fa So La Si Do," the pitch and timing are analyzed in detail.
[1022] Input: Digital recording data (WAV format)
[1023] Output: Numerical data on pitch, rhythm, speed, and dynamics
[1024] Step 3:
[1025] Based on the analysis results, the server generates accompaniment data using the Python music generation library "Magenta." This AI model creates accompaniment with chords and rhythms that correspond to the user's performance. The generated accompaniment data is saved in MIDI format. This MIDI data is optimized by the AI model and adjusted to naturally match the user's performance.
[1026] Input: Numerical data for pitch, rhythm, speed, and dynamics
[1027] Output: MIDI format accompaniment data
[1028] Step 4:
[1029] The server sends the generated MIDI-format accompaniment data to the device in real time using WebSocket technology, achieving low-latency communication. The device then converts the received MIDI data into a playable format and prepares for playback.
[1030] Input: MIDI format accompaniment data
[1031] Output: Data sent to the terminal
[1032] Step 5:
[1033] The device then plays the received accompaniment data using its built-in MIDI player software. The playback timing is synchronized with the user's performance, allowing the user to enjoy a natural performance experience. The device also generates feedback messages based on the performance analysis results, displaying advice such as "The tempo is too fast."
[1034] Input: Accompaniment data sent from the server
[1035] Output: Playback accompaniment, feedback messages
[1036] Step 6:
[1037] The server generates more detailed coaching information, providing detailed evaluations based on pitch accuracy, rhythm, tempo, and dynamics, and offering specific advice to the user. The generated coaching information is sent to the user via their device and displayed. It may include evaluation results such as "pitch is unstable."
[1038] Input: User performance analysis data
[1039] Output: Detailed coaching information
[1040] Step 7:
[1041] For emotion recognition, the server uses Microsoft Azure's Emotion API to analyze the user's facial expressions, vocal tone, and playing intensity. The results of this analysis are used to determine the user's emotional state. If the user is smiling, this information is sent to the server and recorded as a positive emotional state.
[1042] Input: User facial expression, vocal tone, and playing dynamics data
[1043] Output: Emotional state data
[1044] Step 8:
[1045] The server generates accompaniment data and coaching information based on the emotional data, according to the user's emotional state. This data is sent to the user's device in real time, and the device plays the accompaniment and displays coaching messages such as "Great performance." If the user is feeling stressed, the server provides gentle, soothing accompaniment and instructions such as "Take a short break."
[1046] Input: Emotional state data
[1047] Output: Accompaniment data according to emotions, coaching messages
[1048] (Application example 2)
[1049] 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."
[1050] Conventional piano learning systems focus on analyzing a user's performance and providing feedback, making it difficult to provide optimal support that reflects the user's emotional state and individual motivation. Furthermore, they are unable to provide real-time feedback or coaching information based on the user's performance, preventing the user from maximizing their learning effectiveness. Furthermore, they lack a means to suggest related products and services based on the user's emotions, which hinders the quality of the learning experience.
[1051] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for recording the user's performance sounds in real time and transmitting them to the server, means for analyzing the performance sounds received by the server and generating accompaniment data, means for transmitting the accompaniment data generated by the server to the user's terminal, means for playing the accompaniment data received by the terminal and providing feedback to the user, and means for recognizing emotions from the user's facial expressions and vocal tone and generating accompaniment data and coaching information corresponding to the emotions. This enables the provision of optimal performance support and feedback tailored to the user's emotional state. Furthermore, by adding means for generating and displaying recommended product information based on the performance sounds and emotions, the quality of the learning experience can be improved and a related product purchasing experience can be provided.
[1052] "Performance" refers to the audio signal produced by a piano or other musical instrument.
[1053] "Real time" means that processing is performed in the user's real time.
[1054] A "server" is a computer system that receives performance data from a user, analyzes it, generates accompaniment data, and returns it.
[1055] "Analysis" is the process of evaluating attributes such as pitch, rhythm, speed, and dynamics of input performance data.
[1056] "Accompaniment data" is music data that is generated in synchronization with the user's performance, and is intended to support and emphasize the performance.
[1057] A "terminal" is a device used by a user, and includes a smartphone, tablet, PC, etc.
[1058] "Feedback" refers to real-time advice and evaluation information provided to the user regarding their performance.
[1059] "Facial expressions" are signs of emotions shown by the movements of the user's facial muscles.
[1060] "Voice tone" is an acoustic feature that indicates the pitch and intonation of a user's speaking voice.
[1061] "Emotion" indicates the user's psychological state and is inferred from facial expressions, tone of voice, and the like.
[1062] "Coaching information" is specific advice and evaluation information aimed at improving the user's performance ability.
[1063] "Recommended product information" is information about appropriate products and services that are suggested based on the user's performance and emotional state.
[1064] A "purchase experience" is the process by which a user purchases related products and services in a virtual store.
[1065] The present invention provides a system for helping users learn piano playing more effectively and providing emotional support. This system involves a series of processes for recording and analyzing the user's performance in real time, generating accompaniment data, and providing feedback. Specific embodiments of the present invention are described in detail below.
[1066] System configuration
[1067] The system consists of the following main components:
[1068] 1. User Device
[1069] A microphone for recording the user's playing sound
[1070] Camera and microphone to recognize the user's facial expressions and tone of voice
[1071] A communication module for transmitting performance data and emotion data to a server
[1072] Speakers and displays for playing back accompaniment data received from the server and providing feedback
[1073] 2. Server
[1074] Audio analysis engine for performance data analysis (e.g. Librosa, PyDub)
[1075] Deep learning models for sentiment analysis (e.g., OpenCV's DNN module)
[1076] Accompaniment data generation engine (e.g., MIDI generation tool)
[1077] AI engine that generates coaching information (e.g., generative AI model)
[1078] A database that stores and manages user performance data and emotional data
[1079] Data Flow and Processing
[1080] 1. Recording and sending performance sounds
[1081] When a user plays the piano, the microphone on the device records the performance in real time, and the recorded data is sent to the server via the communication module.
[1082] 2. Analysis of performance data
[1083] The server analyzes the received performance data for attributes such as pitch, rhythm, tempo, and dynamics using Librosa and PyDub. Based on the analysis results, accompaniment data is generated using a MIDI generation tool.
[1084] 3. Emotional Recognition
[1085] The user's facial expressions and voice tone are recorded by a camera and microphone and analyzed using OpenCV's DNN module, which allows the user's emotional state to be recognized.
[1086] 4. Providing feedback and coaching information
[1087] Based on performance and emotional data, the server generates appropriate feedback and coaching information, using a generative AI model to provide the user with real-time feedback.
[1088] 5. Generate recommended product information
[1089] The server generates related product recommendation information based on the performance sound and emotion data, and this information is displayed in a virtual store to help users purchase related products and services.
[1090] Specific examples
[1091] When a user opens the "Virtual Piano Lessons" app on their smartphone, they are first prompted to prepare a piano. As the user plays, the app records the sound in real time and performs emotional analysis. The results are sent to a server, which generates optimal accompaniment data, which is then sent to the user's smartphone for playback. At the same time, the app displays emotional feedback and coaching information, and users can purchase related learning materials and accessories from a virtual store.
[1092] In this way, the present invention analyzes the user's performance data and emotional data and provides optimal feedback and accompaniment to enhance the user's learning effect and realize a rich learning experience. It also improves the user's shopping experience in virtual stores by providing recommended product information.
[1093] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1094] Step 1:
[1095] The user starts up the device and begins playing the piano. The device uses a microphone to record the sound of the performance. The recorded data is temporarily saved as an audio file. The input is the user's performance sound, and the output is the recorded audio data. Specifically, the audio data is saved in WAV format with a sampling rate of 44.1 kHz.
[1096] Step 2:
[1097] The device sends the recorded audio data to the server. The server receives this data and prepares it for analysis. The data is sent using the HTTPS protocol. The input is the recorded audio data, and the output is the audio data sent to the server. Specifically, the audio data is encoded when it is sent.
[1098] Step 3:
[1099] The server analyzes the audio data. It uses the Librosa library to analyze pitch, rhythm, speed, dynamics, etc., and extracts the characteristics of the performance sound. The input is the audio data sent to the server, and the output is the acoustic characteristics resulting from the analysis. Specifically, it uses FFT (Fast Fourier Transform) to analyze frequency components and identify pitch and rhythm patterns.
[1100] Step 4:
[1101] The server generates accompaniment data based on the analysis results. Using a MIDI generation tool, it creates accompaniment data synchronized with the user's performance. The input is the analysis results, and the output is the generated MIDI data. Specifically, it creates accompaniment by combining specific chords and rhythm patterns using an algorithm.
[1102] Step 5:
[1103] The device uses a camera and microphone to record the user's facial expressions and voice tone and perform emotion analysis. The recorded data is sent to the server in real time. The input is the user's facial expressions and voice, and the output is emotion data sent to the server. Specific operations include preprocessing of image data (grayscale conversion and face detection) and pitch analysis of voice data.
[1104] Step 6:
[1105] The server uses OpenCV's DNN module to recognize emotions from the received facial expressions and voice tones. The recognized emotions are stored in a database and used as analysis results. The input is facial expression and voice tone data, and the output is recognized emotion information. Specifically, the deep learning model classifies emotions based on the dataset it was trained on.
[1106] Step 7:
[1107] The server generates coaching information based on performance data and emotional data. Utilizing a generative AI model, it creates specific advice and evaluation information for the user. The input is performance data and emotional data, and the output is the generated coaching information. Specifically, the model uses acoustic features and emotional state as input parameters to generate optimal coaching text.
[1108] Step 8:
[1109] The server sends the generated coaching information and accompaniment data to the terminal. Based on the received data, the terminal provides feedback to the user and plays the accompaniment. The input is the coaching information and accompaniment data sent from the server, and the output is feedback display to the user and accompaniment playback. Specifically, the operation involves displaying text on the screen and outputting audio from the speaker.
[1110] Step 9:
[1111] The server generates recommended information for related products based on the performance sound and emotional data and sends it to the terminal. The terminal then displays the received recommended product information to the user. The input is performance data and emotional data, and the output is recommended product information. Specifically, the system extracts related product information from a database and suggests it to the user as a prompt sentence.
[1112] Example prompt sentence:
[1113] "Your playing has improved! I highly recommend this resource to help you take your playing to the next level."
[1114] 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.
[1115] 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.
[1116] 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.
[1117] [Fourth embodiment]
[1118] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1119] 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.
[1120] 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).
[1121] 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.
[1122] 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.
[1123] 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).
[1124] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1125] 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.
[1126] 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.
[1127] 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.
[1128] 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.
[1129] 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.
[1130] 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."
[1131] This invention is a system that supports users in continuing to learn and practice piano at home. This system includes means for recording the user's performance in real time and transmitting it to a server, means for the server to analyze the performance received and generate accompaniment data, means for transmitting the generated accompaniment data to the user's terminal, and means for the terminal to play back the received accompaniment data and provide feedback to the user.
[1132] The server plays a central role in performing critical analysis and data generation. When the server receives the user's performance, it uses a dedicated audio analysis algorithm to analyze the pitch, rhythm, speed, dynamics, etc. Based on the analysis results, the server uses AI to generate optimal accompaniment data. For example, if a user plays "Do-Re-Mi," the server analyzes the sequence of notes and generates appropriate chords and rhythm patterns as accompaniment.
[1133] The generated accompaniment data is sent from the server to the user's device in real time. The device then plays the received accompaniment data and provides sound effects that match the user's performance. The device also provides visual and audio feedback to the user. For example, if the tempo becomes unstable during a performance, the device will display a message such as "Keep the tempo constant."
[1134] Furthermore, the server generates detailed coaching information based on the user's performance results. Based on the analyzed performance data, the accuracy of the notes, rhythm, tempo, dynamics, etc. are individually evaluated, and specific advice is generated. This coaching information is sent from the server to the device, which then displays it to the user. For example, the user may receive a detailed evaluation such as "The rhythm is good, but the pitch is inaccurate" as the performance evaluation result.
[1135] As a specific example, a user sits at a piano and begins playing "Do Re Mi Fa So La Si Do." The device records this in real time and sends the audio data to a server. The server analyzes the received data and generates accompaniment data corresponding to the "Do Re Mi Fa So La Si Do" musical sequence. This accompaniment data is sent to the device in real time, and the device plays back the received accompaniment while displaying animations of the pitch and rhythm as visual feedback. After the performance, the server further analyzes the performance data and generates evaluation results and coaching information, which are sent to the device. The device displays this to the user, visually indicating specific areas for improvement, thereby enhancing the user's learning effectiveness.
[1136] As described above, the present invention provides a system for effectively supporting users' piano learning, comprehensively providing specific means for supporting learning and practice at home. This system allows users to continue practicing at home with professional instruction, without having to attend piano lessons. Furthermore, real-time feedback and detailed coaching information allow users to understand their own progress and effectively advance their learning.
[1137] The processing flow will be explained below.
[1138] Step 1:
[1139] The user sits down at the piano and starts playing. When the user strikes the keys to produce sounds, the sound is captured in real time by the device's microphone.
[1140] Step 2:
[1141] The device records the captured performance sound in real time, and the recorded audio data is immediately sent to the server.
[1142] Step 3:
[1143] The server analyzes the received audio data, applying algorithms to analyze pitch, rhythm, speed, dynamics, etc.
[1144] Step 4:
[1145] Based on the analysis results, the server uses AI to generate appropriate accompaniment data. For example, if a user plays "Do-Re-Mi," the server will generate an accompaniment rhythm and chords that match the sequence of notes.
[1146] Step 5:
[1147] The server sends the generated accompaniment data to the device in real time, allowing the accompaniment to be layered on the user's performance without delay.
[1148] Step 6:
[1149] The terminal then plays back the received accompaniment data, and the user's performance and the accompaniment sounds are output in sync.
[1150] Step 7:
[1151] The device provides visual feedback to the user based on the rhythm and dynamics of their performance. For example, if the tempo is too fast, a message such as "Keep the tempo steady" will appear on the screen.
[1152] Step 8:
[1153] The server performs additional analysis to evaluate the user's performance data in detail, evaluating the accuracy, rhythm, tempo, dynamics, etc. of the performance individually.
[1154] Step 9:
[1155] Based on the evaluation results, the server generates coaching information to provide specific advice to the user, for example, "your rhythm is good, but your pitch is inaccurate."
[1156] Step 10:
[1157] The server then sends the generated coaching information to the terminal, allowing the user to receive evaluation and advice immediately after playing.
[1158] Step 11:
[1159] The device receives coaching information from the server and displays it on the screen. The user can then apply the information visually to their next performance. For example, a graph of their performance evaluation and specific advice are displayed.
[1160] Step 12:
[1161] The user can then use the displayed coaching information to prepare for their next practice session, allowing them to continually improve their learning.
[1162] Example 1
[1163] 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."
[1164] When users learn to play the piano at home, they face challenges such as difficulty in receiving proper feedback and accompaniment. They also face the challenge of attending piano lessons for professional instruction, which is time-consuming and expensive. Furthermore, there is a risk of playing with the wrong rhythm or tempo during practice, making it difficult to learn efficiently.
[1165] 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.
[1166] In this invention, the server comprises: means for analyzing the sounds played by the user and generating accompaniment data;
[1167] means for transmitting the generated accompaniment data to a user's terminal;
[1168] and means for generating detailed coaching information based on the user's analysis data.
[1169] This allows users to receive appropriate accompaniment and feedback in real time at home, allowing them to continue learning piano playing effectively.Furthermore, by providing detailed coaching information about their performance, it can promote user improvement.
[1170] The "user's performance sound" is a sound wave signal generated when the user plays an instrument such as a piano.
[1171] "Means for recording in real time" refers to a method or device that records the sound of a musical instrument played by a user as data almost simultaneously while the user is playing the instrument.
[1172] The "server" is a central processing unit that receives the sounds played by the user and performs analysis and data generation.
[1173] "Means of analysis" refers to algorithms or software that determine elements such as pitch, rhythm, speed, and dynamics based on the received performance sound.
[1174] "Accompaniment data" is complementary music data generated to match the user's performance, and is used as background music for the performance.
[1175] "Means of generation" refers to the algorithms and software used to create accompaniment data based on the analysis results.
[1176] "User's device" refers to an electronic device used by a user, such as a computer, tablet, or smartphone.
[1177] "Means for providing feedback" refers to a method or device that visually or audibly notifies the user of the quality of their performance and areas for improvement.
[1178] "Detailed coaching information" refers to specific advice and instruction information generated based on sound accuracy, rhythm, tempo, dynamics, etc.
[1179] "Visual feedback" refers to a method of providing information about a performance to a user through a visual information display device such as a display.
[1180] "Audio feedback" refers to a method of providing information about a performance to a user audibly through speakers or headphones.
[1181] The present invention relates to a system that enables users to effectively continue learning and practicing piano at home. The system uses advanced analysis and generation techniques to provide users with real-time feedback and coaching information.
[1182] First, a user sits down at a piano at home and starts playing. The user's device (e.g., computer, tablet, smartphone, etc.) uses its built-in microphone to record the performance in real time and temporarily saves it in WAV or MP3 format. Next, the device sends the recording data to the server via an HTTP POST request. This request is executed via an API endpoint.
[1183] The server uses audio analysis libraries such as Librosa and Pydub to analyze the received performance audio. Items to be analyzed include pitch, rhythm, speed (tempo), and dynamics. Based on the results of these analyses, the server inputs prompt statements into a generative AI model (such as TensorFlow or PyTorch) to generate optimal accompaniment data. Examples of prompt statements include:
[1184] Example prompt:
[1185] 1. "The user played 'Do Re Mi Fa So La Si Do'. Please generate the best corresponding accompaniment data."
[1186] 2. "Analyze performance data and provide evaluation and advice regarding pitch, rhythm, tempo, and dynamics."
[1187] The generated accompaniment data is sent to the device in real time using audio streaming technology (e.g., WebSocket). The device then plays the received accompaniment data through its built-in speaker, providing sound effects that match the user's performance. The device can also display animations of pitch and rhythm on the screen as visual feedback, and play audio feedback such as "Keep the tempo consistent."
[1188] Furthermore, after the performance, the server performs a detailed analysis of the received performance data and generates coaching information. This coaching information includes specific advice based on pitch accuracy, rhythm, tempo, dynamics, etc. For example, "Your rhythm is good, but your pitch is inaccurate. Next time, practice paying attention to the pitch." The generated coaching information is sent to the device via an HTTP POST request, and the device displays it on the screen for the user.
[1189] The present invention thus provides an environment in which users can effectively learn to play the piano at home, and provides real-time support for user improvement without relying on professional instruction or lessons.
[1190] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1191] Step 1:
[1192] The user plays the piano.
[1193] Input: User playing piano
[1194] Output: Piano sound
[1195] Specific operation: The user plays "do-re-mi-fa-so-la-ti-do" on the piano.
[1196] Step 2:
[1197] The device records the sound of the performance.
[1198] Input: Piano sound
[1199] Output: Recording data
[1200] Specific operation: The device's built-in microphone records the user's performance in real time and temporarily saves it in WAV format.
[1201] Step 3:
[1202] The device sends the recorded data to the server.
[1203] Input: Recording data (WAV format)
[1204] Output: HTTP POST request to the server
[1205] Specific operation: The device sends the recorded data to the API endpoint using an HTTP POST request.
[1206] Step 4:
[1207] The server analyzes the received audio data.
[1208] Input: Recording data (WAV format)
[1209] Output: Analysis results (pitch, rhythm, tempo, dynamics, etc.)
[1210] Specific operation: The server uses the Librosa library to analyze audio data and extract pitch, rhythm, tempo, dynamics, etc.
[1211] Step 5:
[1212] The server generates accompaniment data based on the analysis results.
[1213] Input: Analysis results
[1214] Output: accompaniment data
[1215] Specific operation: The server inputs the analysis results as prompts into a generative AI model (e.g., TensorFlow) to generate optimal accompaniment data.
[1216] Example prompt:
[1217] "The user played 'Do Re Mi Fa So La Si Do'. Please generate the best corresponding accompaniment data."
[1218] Step 6:
[1219] The server transmits the generated accompaniment data to the terminal.
[1220] Input: accompaniment data
[1221] Output: WebSocket data to the terminal
[1222] Specific operation: The server sends the generated accompaniment data to the terminal in real time via WebSocket.
[1223] Step 7:
[1224] The terminal plays back the accompaniment data.
[1225] Input: accompaniment data
[1226] Output: Audio output (accompaniment sound)
[1227] Specific operation: The device plays the received accompaniment data through its built-in speaker, providing sound effects that match the user's performance.
[1228] Step 8:
[1229] The device provides visual and audio feedback to the user.
[1230] Input: accompaniment data and performance status
[1231] Output: Visual and audio feedback
[1232] Specific operation: The device displays animations of pitch and rhythm as visual feedback, and plays audio feedback such as "Keep the tempo consistent."
[1233] Step 9:
[1234] The server generates coaching information based on the performance data.
[1235] Input: Performance data and analysis results
[1236] Output: Coaching information
[1237] Specific actions: The server performs detailed analysis and evaluates the accuracy of the sound, rhythm, tempo, and dynamics, and then generates specific coaching information.
[1238] Example prompt:
[1239] "Analyze performance data and provide evaluation and advice on pitch, rhythm, tempo, and dynamics."
[1240] Step 10:
[1241] The server transmits the generated coaching information to the terminal.
[1242] Input: Coaching information
[1243] Output: HTTP POST request to the terminal
[1244] Specific operation: The server sends the generated coaching information to the terminal via an HTTP POST request.
[1245] Step 11:
[1246] The terminal displays the coaching information to the user.
[1247] Input: Coaching information
[1248] Output: Visual display
[1249] Specific operation: The device displays coaching information on the screen, providing the user with visual messages such as, "Your rhythm is good, but your pitch is inaccurate. Next time, practice paying attention to the pitch."
[1250] (Application example 1)
[1251] 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."
[1252] Conventional factory automation systems lack a way to manage and evaluate the accuracy and efficiency of robotic arms and other automated equipment in real time. This makes it difficult to improve work accuracy and operate efficiently. Another issue is the lack of appropriate feedback, which makes it difficult for operators to correct errors immediately.
[1253] 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.
[1254] In this invention, the server includes a means for recording audio data of the user's actions in real time and transmitting it to the server, a means for analyzing the received audio and generating action feedback data, and a means for transmitting the action feedback data generated by the server to the user's terminal. This allows the operation of a robot arm or other automated equipment to be analyzed in real time and provide appropriate feedback, allowing the operator to immediately correct errors and improve work accuracy and efficiency.
[1255] "Audio data of user's actions" refers to data that records acoustic information accompanying actions performed by the user.
[1256] A "server" is an information processing device that analyzes received data and performs necessary processing.
[1257] The "operation sound" is an acoustic signal that is generated in conjunction with a specific operation performed by the user.
[1258] "Action feedback data" refers to data that includes evaluation and advice on the user's actions, generated by the server through analysis of the action sounds.
[1259] A "terminal" is an information processing device that transmits and receives data between a user and a server, and is a device that plays a role in providing action feedback data to a user.
[1260] "Real-time" refers to a method in which data processing and feedback are carried out almost simultaneously with the actions or operations performed by the user.
[1261] "Analysis" refers to the process of analyzing voice data and movement data in detail and extracting their features.
[1262] "Coaching information" refers to information that includes evaluation results, areas for improvement, and instruction content regarding the user's actions.
[1263] The system of the present invention monitors user behavior in real time and provides feedback based on the monitoring results to help users effectively manage and improve their behavior. A specific embodiment of the system will be described below.
[1264] First, the audio data of the user's actions is recorded in real time using a microphone. This recorded data is stored on the device and sequentially sent to the server. An audio processing library (e.g., Python's sounddevice library) is used to process the audio data.
[1265] The audio data sent to the server is analyzed using a dedicated analysis algorithm. This analysis extracts the sound characteristics of the movement (e.g., rhythm, strength, speed, etc.) and evaluates the user's movement in detail. The server uses a high-performance processor and analysis software (e.g., a generative AI model). Based on the analyzed data, the server generates appropriate movement feedback data. This data is then sent to the user's device.
[1266] The device then provides the received motion feedback data to the user. This feedback is provided visually and audibly. The visual feedback includes a graphical display of the rhythm and strength of the motion, while the audio feedback includes specific audio instructions for improvement. The device can be a smartphone or tablet PC.
[1267] The server then generates detailed coaching information based on the user's performance, including performance evaluation results and specific advice. The coaching information is then sent to the user's terminal and presented to them visually and audibly.
[1268] As a specific example, the sounds a user makes while operating a robot arm are recorded and sent to a server. The server analyzes the sounds and evaluates the speed and accuracy of the operation. For example, feedback such as "The speed is uneven while the robot arm is operating. Please keep the speed constant" is displayed on the terminal in real time. This allows the user to immediately correct errors and improve the accuracy of their work.
[1269] Alternatively, a generative AI model could be used to provide prompts such as:
[1270] "The robot arm's movements are recorded in real time and sent to a server. The server then uses a voice analysis algorithm to analyze the data and provide optimal feedback. Specifically, the accuracy, rhythm, speed, and strength of the movements are evaluated, and appropriate areas for improvement are suggested in real time."
[1271] In this way, the system effectively supports users in managing and improving their movements, providing real-time feedback and detailed coaching information to help users efficiently learn movements and improve their accuracy.
[1272] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1273] Step 1:
[1274] The user records audio data during operation through a microphone.
[1275] Input: User action sound
[1276] Output: Recorded audio data
[1277] Specific operation: While the user operates the robot arm, the sounds generated by the operation are recorded by a microphone.
[1278] Step 2:
[1279] The terminal transmits the recorded voice data to the server.
[1280] Input: Recorded audio data
[1281] Output: Audio data sent to the server
[1282] Specific operation: The device converts the voice data acquired from the microphone into data packets and sends them to a server via the Internet.
[1283] Step 3:
[1284] The server analyzes the received audio data.
[1285] Input: Audio data sent to the server
[1286] Output: Analyzed motion data
[1287] Specific operation: The server uses a voice analysis algorithm (for example, a Python voice analysis module) to extract the characteristics of the received voice data and analyze the rhythm, strength, speed, etc. of the movement.
[1288] Step 4:
[1289] The server generates motion feedback data based on the analysis results.
[1290] Input: Parsed motion data
[1291] Output: Motion feedback data
[1292] Specific Actions: The server uses the generative AI model to generate optimal feedback based on the analysis results. For example, it generates action feedback data that includes specific advice such as "keep the speed of your movements constant."
[1293] Step 5:
[1294] The server transmits the generated motion feedback data to the user's terminal.
[1295] Input: Motion feedback data
[1296] Output: Feedback data sent to the device
[1297] Specific operation: The server converts the generated motion feedback data into data packets and sends them to the user's terminal via the Internet.
[1298] Step 6:
[1299] The terminal provides the received motion feedback data to the user.
[1300] Input: Feedback data sent to the device
[1301] Output: Feedback provided to the user
[1302] Specific behavior: The device will display visual feedback on the screen and play audio feedback through the speaker, for example, the message "Keep your speed steady."
[1303] Step 7:
[1304] The server generates detailed coaching information based on the user's action results and transmits it to the user's terminal.
[1305] Input: Operation result
[1306] Output: Detailed coaching information
[1307] Specific behavior: The server analyzes all behavior data, generates detailed evaluation results (e.g., "The accuracy of the behavior is good, but the speed is uneven") and coaching information, and sends them to the user's device.
[1308] Step 8:
[1309] The terminal displays the received coaching information to the user.
[1310] Input: Detailed coaching information
[1311] Output: Coaching information displayed to the user
[1312] Specific behavior: The device displays detailed evaluation results and coaching information visually on the screen, and in some cases provides audio feedback, which the user can use to improve their behavior.
[1313] 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.
[1314] This invention is a system that provides more effective and emotional support for users' piano learning. This system includes a means for recording a user's performance in real time and transmitting it to a server, a means for the server to analyze the performance received and generate accompaniment data, a means for transmitting the generated accompaniment data to the user's device, and a means for the device to play the accompaniment data received and provide feedback to the user. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, the system provides accompaniment data and coaching information according to the user's emotional state.
[1315] When the server receives the user's performance, it first performs an audio analysis. This analysis includes pitch, rhythm, speed, dynamics, etc. The server uses the results of this analysis to generate optimal accompaniment data using AI. For example, if a user plays "Do-Re-Mi," the server will generate an accompaniment with the chords and rhythm that correspond to that sequence of notes.
[1316] The generated accompaniment data is sent to the device in real time, where it is played back. At the same time, the accompaniment is played back in sync with the user's performance data, providing a realistic performance experience for the user. The device also provides feedback based on the performance sound and accompaniment data. For example, a message such as "The tempo is too fast" may be displayed.
[1317] The server also evaluates the user's performance and generates detailed coaching information. This coaching information evaluates the accuracy of the sound, rhythm, tempo, and dynamics, and provides specific advice to the user. For example, the server may convey to the user that the pitch is not stable.
[1318] Furthermore, the present invention incorporates an emotion engine. This emotion engine recognizes emotions from the user's facial expressions, vocal tone, and playing dynamics. For example, if the user is feeling stressed, their facial expression will become grim and their vocal tone will change. Such emotional data is received and analyzed by the server and reflected in the accompaniment data and coaching information.
[1319] As a concrete example, consider a situation where a user is smiling while playing "Do Re Mi Fa So La Si Do." The emotion engine detects the user's smile and recognizes a positive emotional state. The server receives this information, generates a bright and lively accompaniment, and sends it to the device. The device plays this accompaniment and provides feedback to the user. At the same time, the coaching information is updated to match the user's positive emotion, and a message such as "Great performance" is displayed.
[1320] On the other hand, if the user looks tired while playing, the emotion engine will recognize this negative emotion. The server will receive this information and generate a gentle, soothing accompaniment. At the same time, the coaching information will be updated to include instructions such as "take a short break."
[1321] In this way, the present invention provides optimal accompaniment data and coaching information according to the user's emotional state, resulting in a more effective and emotional learning experience. By taking the user's emotions into consideration, it is possible to increase motivation for piano learning and support continuous learning.
[1322] The processing flow will be explained below.
[1323] Step 1:
[1324] The user sits down at the piano and starts playing. The user's performance is captured in real time by the device's microphone.
[1325] Step 2:
[1326] The device records the user's performance in real time, and the recorded audio data is immediately sent to the server.
[1327] Step 3:
[1328] The server analyzes the received audio data, specifically extracting information such as pitch, rhythm, speed, and dynamics, and then performs a detailed analysis based on this information.
[1329] Step 4:
[1330] Based on the analysis results, the server uses AI to generate optimal accompaniment data. For example, if a user plays "Do-Re-Mi," the server will create an accompaniment that matches this sequence and generate it in real time.
[1331] Step 5:
[1332] The server transmits the generated accompaniment data in a stream format to the user's device, minimizing delays while transmitting high-quality audio data.
[1333] Step 6:
[1334] The terminal then plays back the received accompaniment data, so that the user's performance and the accompaniment are output in timely synchronization.
[1335] Step 7:
[1336] The device activates an emotion engine in real time, monitoring the user's facial expressions, vocal tone, and playing dynamics, and the emotion engine recognizes the user's emotions from this data.
[1337] Step 8:
[1338] The emotion engine sends the recognized emotion data from the device to the server. For example, if the user is smiling, it is classified as "positive."
[1339] Step 9:
[1340] The server receives and analyzes the emotional data and adjusts the accompaniment data to match the user's emotional state. For example, if the user is in a positive emotional state, the server generates a bright and lively accompaniment.
[1341] Step 10:
[1342] The server evaluates the user's performance data and generates detailed coaching information, including the accuracy of the notes, rhythm, tempo, and dynamics.
[1343] Step 11:
[1344] Based on the evaluation results and emotional data, the server adjusts the coaching information to match the emotion and generates specific advice, such as positive messages like "Great performance!"
[1345] Step 12:
[1346] The server sends the generated coaching information to the terminal, which receives the information and displays it visually and audibly to the user.
[1347] Step 13:
[1348] The device displays feedback and coaching information to the user, allowing the user to receive specific advice on their own performance.
[1349] Step 14:
[1350] Based on the coaching information and feedback displayed, users can understand what needs to be improved for their next performance and continue learning, allowing them to continuously improve their skills.
[1351] Example 2
[1352] 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."
[1353] Conventional piano learning systems not only provide real-time accompaniment to a user's performance, but also lack sufficient means for providing feedback and coaching to improve the quality of their performance. They also lack the ability to recognize the user's emotional state and provide appropriate support accordingly. This makes it difficult for users to maintain their motivation while learning.
[1354] 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.
[1355] In this invention, the server includes means for analyzing the sounds played by the user and generating accompaniment data, means for transmitting the generated accompaniment data to the user's terminal, means for generating detailed coaching information based on the results of the performance analysis and providing it to the user, means for recognizing the user's emotions from their facial expressions, vocal tone, and performance dynamics, and means for generating accompaniment data and coaching information according to their emotional state and transmitting them to the user's terminal. This makes it possible to provide not only real-time accompaniment for the user's performance, but also detailed feedback and coaching, as well as appropriate support according to the user's emotional state.
[1356] A "user" is a person who uses the system to learn to play the piano.
[1357] "Performance sounds" refer to sounds that are generated when a user plays the piano.
[1358] "Real-time" refers to processing that responds immediately to user operations and inputs.
[1359] "Recording" means saving the sound of a performance as digital data.
[1360] The "server" is a central control device that analyzes the performance sounds, generates accompaniment data, and provides coaching information.
[1361] "Analysis" is a process of extracting characteristics of the played sound, such as pitch, rhythm, speed, and dynamics.
[1362] "Accompaniment data" is music data that is added to the user's performance.
[1363] A "terminal" is a device used by a user, which records performance sounds and receives and plays back accompaniment data and coaching information.
[1364] "Feedback" refers to evaluation information and advice provided to the user regarding their performance.
[1365] "Coaching information" is specific instruction information generated based on the user's performance.
[1366] "Facial expression" refers to the expressive state of a user's face, and is one way of showing emotions.
[1367] "Voice tone" refers to the tone and intonation of the voice when playing.
[1368] "Dynamics" refers to the loudness of the sound being played.
[1369] "Emotion recognition" is the process of analyzing and understanding a user's emotional state.
[1370] "Emotional state" refers to the type and degree of emotion a user exhibits at a particular point in time.
[1371] The present invention is a system that effectively and emotionally supports a user's piano learning. This system includes: means for recording a user's performance in real time and transmitting the recording to a server; means for the server to analyze the performance received and generate accompaniment data; means for the server to transmit the generated accompaniment data to the user's device; means for the device to play back the accompaniment data received and provide feedback to the user; means for generating detailed coaching information based on the performance analysis results and providing it to the user; means for recognizing the user's emotions from their facial expressions, vocal tone, and playing dynamics; and means for generating accompaniment data and coaching information according to their emotional state and transmitting them to the user's device.
[1372] First, when a user plays the piano, the device records the performance in real time. The recorded audio data is saved in WAV format and sent to the server using the HTTP protocol.
[1373] The server analyzes the received performance data using Google Cloud's Speech-to-Text API. During the analysis, characteristics such as pitch, rhythm, speed, and dynamics of the performance are extracted. For example, if a user plays "Do Re Mi Fa So La Si Do," the pitch and timing of each note are recorded as numerical data.
[1374] Based on the analysis results, the server uses the Python music generation library "Magenta" to generate optimal accompaniment data, which is saved in MIDI format and sent to the device in real time using WebSocket technology.
[1375] The device then plays the received accompaniment data using its built-in MIDI player software. At the same time, the accompaniment is played back in time with the user's performance, providing a truly immersive performance experience. Based on the analysis of the performance, the device also displays feedback messages, such as "The tempo is too fast."
[1376] The server generates more detailed coaching information. The generated coaching information is evaluated based on the accuracy of the sound, rhythm, tempo, and dynamics, and specific advice is provided to the user. For example, the server may generate an evaluation such as "your pitch is not stable" and notify the user via the terminal.
[1377] For emotion recognition, the server uses technology that recognizes emotions from the user's facial expressions, vocal tone, and playing dynamics. Specifically, it utilizes Microsoft Azure's Emotion API. If the user is smiling, this information is sent to the server and recognized as a positive emotional state.
[1378] The server generates accompaniment data and coaching information based on the emotional data, according to the user's emotional state, and sends these to the user's device in real time. For example, if the user is smiling while playing "Do-Re-Mi-Fa-So-La-Si-Do," the server generates a bright and lively accompaniment and sends a coaching message saying, "That's a great performance." On the other hand, if the user is feeling stressed, the server provides a gentle and calming accompaniment and instructions such as, "Take a short break."
[1379] In this way, the present invention provides optimal accompaniment data and coaching information according to the user's emotional state, thereby realizing a more effective and emotional learning experience. As a specific example, if the user is smiling while playing "Do Re Mi Fa So La Si Do," the system can input "The user is smiling while playing 'Do Re Mi Fa So La Si Do' on the piano," and the generated accompaniment data and coaching feedback can be displayed.
[1380] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1381] Step 1:
[1382] When a user plays the piano, the device records the performance in real time. The device collects the sound through a microphone and converts the audio into digital data (WAV format). This digital data is temporarily stored in the device's memory. The recorded data is then sent to the server using the HTTP protocol.
[1383] Input: Piano playing sound
[1384] Output: Digital recording data (WAV format)
[1385] Step 2:
[1386] The server analyzes the performance audio data received from the device. This analysis is performed using Google Cloud's Speech-to-Text API. First, the audio data is sent to the API, which extracts the pitch, rhythm, tempo, and volume characteristics. The server records this data as numerical values and creates a dataset for performing the necessary calculations. For example, if a user plays "Do Re Mi Fa So La Si Do," the pitch and timing are analyzed in detail.
[1387] Input: Digital recording data (WAV format)
[1388] Output: Numerical data on pitch, rhythm, speed, and dynamics
[1389] Step 3:
[1390] Based on the analysis results, the server generates accompaniment data using the Python music generation library "Magenta." This AI model creates accompaniment with chords and rhythms that correspond to the user's performance. The generated accompaniment data is saved in MIDI format. This MIDI data is optimized by the AI model and adjusted to naturally match the user's performance.
[1391] Input: Numerical data for pitch, rhythm, speed, and dynamics
[1392] Output: MIDI format accompaniment data
[1393] Step 4:
[1394] The server sends the generated MIDI-format accompaniment data to the device in real time using WebSocket technology, achieving low-latency communication. The device then converts the received MIDI data into a playable format and prepares for playback.
[1395] Input: MIDI format accompaniment data
[1396] Output: Data sent to the terminal
[1397] Step 5:
[1398] The device then plays the received accompaniment data using its built-in MIDI player software. The playback timing is synchronized with the user's performance, allowing the user to enjoy a natural performance experience. The device also generates feedback messages based on the performance analysis results, displaying advice such as "The tempo is too fast."
[1399] Input: Accompaniment data sent from the server
[1400] Output: Playback accompaniment, feedback messages
[1401] Step 6:
[1402] The server generates more detailed coaching information, providing detailed evaluations based on pitch accuracy, rhythm, tempo, and dynamics, and offering specific advice to the user. The generated coaching information is sent to the user via their device and displayed. It may include evaluation results such as "pitch is unstable."
[1403] Input: User performance analysis data
[1404] Output: Detailed coaching information
[1405] Step 7:
[1406] For emotion recognition, the server uses Microsoft Azure's Emotion API to analyze the user's facial expressions, vocal tone, and playing intensity. The results of this analysis are used to determine the user's emotional state. If the user is smiling, this information is sent to the server and recorded as a positive emotional state.
[1407] Input: User facial expression, vocal tone, and playing dynamics data
[1408] Output: Emotional state data
[1409] Step 8:
[1410] The server generates accompaniment data and coaching information based on the emotional data, according to the user's emotional state. This data is sent to the user's device in real time, and the device plays the accompaniment and displays coaching messages such as "Great performance." If the user is feeling stressed, the server provides gentle, soothing accompaniment and instructions such as "Take a short break."
[1411] Input: Emotional state data
[1412] Output: Accompaniment data according to emotions, coaching messages
[1413] (Application example 2)
[1414] 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."
[1415] Conventional piano learning systems focus on analyzing a user's performance and providing feedback, making it difficult to provide optimal support that reflects the user's emotional state and individual motivation. Furthermore, they are unable to provide real-time feedback or coaching information based on the user's performance, preventing the user from maximizing their learning effectiveness. Furthermore, they lack a means to suggest related products and services based on the user's emotions, which hinders the quality of the learning experience.
[1416] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for recording the user's performance sounds in real time and transmitting them to the server, means for analyzing the performance sounds received by the server and generating accompaniment data, means for transmitting the accompaniment data generated by the server to the user's terminal, means for playing the accompaniment data received by the terminal and providing feedback to the user, and means for recognizing emotions from the user's facial expressions and vocal tone and generating accompaniment data and coaching information corresponding to the emotions. This enables the provision of optimal performance support and feedback tailored to the user's emotional state. Furthermore, by adding means for generating and displaying recommended product information based on the performance sounds and emotions, the quality of the learning experience can be improved and a related product purchasing experience can be provided.
[1417] "Performance" refers to the audio signal produced by a piano or other musical instrument.
[1418] "Real time" means that processing is performed in the user's real time.
[1419] A "server" is a computer system that receives performance data from a user, analyzes it, generates accompaniment data, and returns it.
[1420] "Analysis" is the process of evaluating attributes such as pitch, rhythm, speed, and dynamics of input performance data.
[1421] "Accompaniment data" is music data that is generated in synchronization with the user's performance, and is intended to support and emphasize the performance.
[1422] A "terminal" is a device used by a user, and includes a smartphone, tablet, PC, etc.
[1423] "Feedback" refers to real-time advice and evaluation information provided to the user regarding their performance.
[1424] "Facial expressions" are signs of emotions shown by the movements of the user's facial muscles.
[1425] "Voice tone" is an acoustic feature that indicates the pitch and intonation of a user's speaking voice.
[1426] "Emotion" indicates the user's psychological state and is inferred from facial expressions, tone of voice, and the like.
[1427] "Coaching information" is specific advice and evaluation information aimed at improving the user's performance ability.
[1428] "Recommended product information" is information about appropriate products and services that are suggested based on the user's performance and emotional state.
[1429] A "purchase experience" is the process by which a user purchases related products and services in a virtual store.
[1430] The present invention provides a system for helping users learn piano playing more effectively and providing emotional support. This system involves a series of processes for recording and analyzing the user's performance in real time, generating accompaniment data, and providing feedback. Specific embodiments of the present invention are described in detail below.
[1431] System configuration
[1432] The system consists of the following main components:
[1433] 1. User Device
[1434] A microphone for recording the user's playing sound
[1435] Camera and microphone to recognize the user's facial expressions and tone of voice
[1436] A communication module for transmitting performance data and emotion data to a server
[1437] Speakers and displays for playing back accompaniment data received from the server and providing feedback
[1438] 2. Server
[1439] Audio analysis engine for performance data analysis (e.g. Librosa, PyDub)
[1440] Deep learning models for sentiment analysis (e.g., OpenCV's DNN module)
[1441] Accompaniment data generation engine (e.g., MIDI generation tool)
[1442] AI engine that generates coaching information (e.g., generative AI model)
[1443] A database that stores and manages user performance data and emotional data
[1444] Data Flow and Processing
[1445] 1. Recording and sending performance sounds
[1446] When a user plays the piano, the microphone on the device records the performance in real time, and the recorded data is sent to the server via the communication module.
[1447] 2. Analysis of performance data
[1448] The server analyzes the received performance data for attributes such as pitch, rhythm, tempo, and dynamics using Librosa and PyDub. Based on the analysis results, accompaniment data is generated using a MIDI generation tool.
[1449] 3. Emotional Recognition
[1450] The user's facial expressions and voice tone are recorded by a camera and microphone and analyzed using OpenCV's DNN module, which allows the user's emotional state to be recognized.
[1451] 4. Providing feedback and coaching information
[1452] Based on performance and emotional data, the server generates appropriate feedback and coaching information, using a generative AI model to provide the user with real-time feedback.
[1453] 5. Generate recommended product information
[1454] The server generates related product recommendation information based on the performance sound and emotion data, and this information is displayed in a virtual store to help users purchase related products and services.
[1455] Specific examples
[1456] When a user opens the "Virtual Piano Lessons" app on their smartphone, they are first prompted to prepare a piano. As the user plays, the app records the sound in real time and performs emotional analysis. The results are sent to a server, which generates optimal accompaniment data, which is then sent to the user's smartphone for playback. At the same time, the app displays emotional feedback and coaching information, and users can purchase related learning materials and accessories from a virtual store.
[1457] In this way, the present invention analyzes the user's performance data and emotional data and provides optimal feedback and accompaniment to enhance the user's learning effect and realize a rich learning experience. It also improves the user's shopping experience in virtual stores by providing recommended product information.
[1458] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1459] Step 1:
[1460] The user starts up the device and begins playing the piano. The device uses a microphone to record the sound of the performance. The recorded data is temporarily saved as an audio file. The input is the user's performance sound, and the output is the recorded audio data. Specifically, the audio data is saved in WAV format with a sampling rate of 44.1 kHz.
[1461] Step 2:
[1462] The device sends the recorded audio data to the server. The server receives this data and prepares it for analysis. The data is sent using the HTTPS protocol. The input is the recorded audio data, and the output is the audio data sent to the server. Specifically, the audio data is encoded when it is sent.
[1463] Step 3:
[1464] The server analyzes the audio data. It uses the Librosa library to analyze pitch, rhythm, speed, dynamics, etc., and extracts the characteristics of the performance sound. The input is the audio data sent to the server, and the output is the acoustic characteristics resulting from the analysis. Specifically, it uses FFT (Fast Fourier Transform) to analyze frequency components and identify pitch and rhythm patterns.
[1465] Step 4:
[1466] The server generates accompaniment data based on the analysis results. Using a MIDI generation tool, it creates accompaniment data synchronized with the user's performance. The input is the analysis results, and the output is the generated MIDI data. Specifically, it creates accompaniment by combining specific chords and rhythm patterns using an algorithm.
[1467] Step 5:
[1468] The device uses a camera and microphone to record the user's facial expressions and voice tone and perform emotion analysis. The recorded data is sent to the server in real time. The input is the user's facial expressions and voice, and the output is emotion data sent to the server. Specific operations include preprocessing of image data (grayscale conversion and face detection) and pitch analysis of voice data.
[1469] Step 6:
[1470] The server uses OpenCV's DNN module to recognize emotions from the received facial expressions and voice tones. The recognized emotions are stored in a database and used as analysis results. The input is facial expression and voice tone data, and the output is recognized emotion information. Specifically, the deep learning model classifies emotions based on the dataset it was trained on.
[1471] Step 7:
[1472] The server generates coaching information based on performance data and emotional data. Utilizing a generative AI model, it creates specific advice and evaluation information for the user. The input is performance data and emotional data, and the output is the generated coaching information. Specifically, the model uses acoustic features and emotional state as input parameters to generate optimal coaching text.
[1473] Step 8:
[1474] The server sends the generated coaching information and accompaniment data to the terminal. Based on the received data, the terminal provides feedback to the user and plays the accompaniment. The input is the coaching information and accompaniment data sent from the server, and the output is feedback display to the user and accompaniment playback. Specifically, the operation involves displaying text on the screen and outputting audio from the speaker.
[1475] Step 9:
[1476] The server generates recommended information for related products based on the performance sound and emotional data and sends it to the terminal. The terminal then displays the received recommended product information to the user. The input is performance data and emotional data, and the output is recommended product information. Specifically, the system extracts related product information from a database and suggests it to the user as a prompt sentence.
[1477] Example prompt sentence:
[1478] "Your playing has improved! I highly recommend this resource to help you take your playing to the next level."
[1479] 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.
[1480] 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.
[1481] 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.
[1482] 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.
[1483] 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.
[1484] 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.
[1485] 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).
[1486] 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.
[1487] 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."
[1488] 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.
[1489] 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).
[1490] 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.
[1491] 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.
[1492] 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.
[1493] 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.
[1494] 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.
[1495] 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.
[1496] 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.
[1497] 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.
[1498] 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.
[1499] 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.
[1500] The following is further disclosed regarding the above embodiment.
[1501] (Claim 1)
[1502] a means for recording the user's performance sound in real time and transmitting the sound to a server;
[1503] means for analyzing the performance sound received by the server and generating accompaniment data;
[1504] means for transmitting the generated accompaniment data to a user's terminal;
[1505] means for playing the received accompaniment data by the terminal and providing feedback to the user;
[1506] A system including:
[1507] (Claim 2)
[1508] 2. The system according to claim 1, wherein the terminal comprises means for generating coaching information based on the user's performance results and displaying the information to the user.
[1509] (Claim 3)
[1510] A server analyzes and evaluates the user's playing sounds and generates coaching information;
[1511] means for transmitting the generated coaching information to a user terminal;
[1512] means for displaying the coaching information received by the terminal to the user;
[1513] 10. The system of claim 1, comprising:
[1514] "Example 1"
[1515] (Claim 1)
[1516] a means for recording the user's performance sound in real time and transmitting the sound to a server;
[1517] means for analyzing the performance sound received by the server and generating accompaniment data;
[1518] means for transmitting the generated accompaniment data to a user's terminal;
[1519] means for playing the received accompaniment data by the terminal and providing feedback to the user;
[1520] a means for transmitting the user's performance results as analysis data to a server;
[1521] A means for the server to generate detailed coaching information based on the user's analytical data;
[1522] means for transmitting the generated coaching information to a user terminal;
[1523] means for displaying the coaching information received by the terminal to the user;
[1524] a means for providing visual and audio feedback;
[1525] A system including:
[1526] (Claim 2)
[1527] 2. The system according to claim 1, wherein the terminal includes means for recording the user's performance sound with a built-in microphone and transmitting the sound to the server in high quality.
[1528] (Claim 3)
[1529] The system according to claim 1, further comprising means for the server to analyze the received performance sound using a dedicated audio analysis algorithm, input the analysis results as prompts into the generation AI model, and generate optimal accompaniment data.
[1530] "Application Example 1"
[1531] (Claim 1)
[1532] A means for recording audio data of a user's actions in real time and transmitting the audio data to a server;
[1533] A means for analyzing the operation sound received by the server and generating operation feedback data;
[1534] means for transmitting the generated action feedback data to a user's terminal;
[1535] means for reproducing the received action feedback data by the terminal and providing feedback to the user;
[1536] A system including:
[1537] (Claim 2)
[1538] 2. The system according to claim 1, wherein the terminal generates coaching information based on the user's action results and displays the information to the user.
[1539] (Claim 3)
[1540] a means for the server to analyze and evaluate the user's motion sounds and generate coaching information;
[1541] means for transmitting the generated coaching information to a user terminal;
[1542] means for displaying the coaching information received by the terminal to the user;
[1543] 10. The system of claim 1, comprising:
[1544] "Example 2: Combining Emotion Engines"
[1545] (Claim 1)
[1546] a means for recording the user's performance sound in real time and transmitting the sound to a server;
[1547] means for analyzing the performance sound received by the server and generating accompaniment data;
[1548] means for transmitting the generated accompaniment data to a user's terminal;
[1549] means for playing the received accompaniment data by the terminal and providing feedback to the user;
[1550] A means for generating detailed coaching information based on the performance analysis results and displaying it to the user;
[1551] A means for recognizing emotions from a user's facial expression, vocal tone, and playing strength;
[1552] means for generating accompaniment data and coaching information according to the emotional state and transmitting the data to the user's terminal;
[1553] A system including:
[1554] (Claim 2)
[1555] 2. The system according to claim 1, wherein the terminal comprises means for generating coaching information based on the user's performance results and displaying the information to the user.
[1556] (Claim 3)
[1557] A server analyzes and evaluates the user's playing sounds and generates coaching information;
[1558] means for transmitting the generated coaching information to a user terminal;
[1559] means for displaying the coaching information received by the terminal to the user;
[1560] 10. The system of claim 1, comprising:
[1561] "Application example 2 when combining emotion engines"
[1562] (Claim 1)
[1563] a means for recording the user's performance sound in real time and transmitting the sound to a server;
[1564] means for analyzing the performance sound received by the server and generating accompaniment data;
[1565] means for transmitting the generated accompaniment data to a user's terminal;
[1566] means for playing the received accompaniment data by the terminal and providing feedback to the user;
[1567] means for recognizing emotions from a user's facial expressions and voice tones, and generating accompaniment data and coaching information according to the emotions;
[1568] A system including:
[1569] (Claim 2)
[1570] 2. The system according to claim 1, wherein the terminal comprises means for generating coaching information based on the user's performance results and emotional state and displaying the information to the user.
[1571] (Claim 3)
[1572] A server analyzes and evaluates the user's performance sound and emotional data to generate coaching information;
[1573] means for transmitting the generated coaching information to a user terminal;
[1574] means for displaying the coaching information received by the terminal to the user;
[1575] 2. The system according to claim 1, further comprising means for generating recommended product information based on the performance sound and the emotion, and displaying the information to the user. [Explanation of symbols]
[1576] 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. a means for recording the user's performance sound in real time and transmitting the sound to a server; means for analyzing the performance sound received by the server and generating accompaniment data; means for transmitting the generated accompaniment data to a user's terminal; means for playing the received accompaniment data by the terminal and providing feedback to the user; A system including:
2. 2. The system according to claim 1, wherein the terminal comprises means for generating coaching information based on the user's performance results and displaying the information to the user.
3. A server analyzes and evaluates the user's playing sounds and generates coaching information; means for transmitting the generated coaching information to a user terminal; means for displaying the coaching information received by the terminal to the user; The system of claim 1 , comprising:
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A