Input sentence creation device, input sentence creation method, and program

The input sentence creation device addresses the limitation of existing systems by generating prompts for a large-scale language model to provide targeted feedback on user performance errors.

JP2025146026APending Publication Date: 2025-10-03CASIO COMPUTER CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024046591
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-22
Publication Date
2025-10-03

AI Technical Summary

Technical Problem

Existing devices, such as the one described in Patent Document 1, can identify performance errors but fail to provide a more appropriate response to the user.

Method used

An input sentence creation device that acquires user performance data from a musical instrument, creates input sentences for a large-scale language model based on this data, and utilizes a control unit to generate prompts that return more appropriate responses.

Benefits of technology

Enables the large-scale language model to provide tailored feedback to users based on their performance, identifying and addressing specific errors effectively.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025146026000001_ABST
    Figure 2025146026000001_ABST
Patent Text Reader

Abstract

To create prompts (input to a large language model) to return better responses to a user.SOLUTION: An input sentence creation device 100 is provided with a control unit 110 for acquiring data extracted from performance information obtained by a user playing a musical instrument and including at least one of note number information, velocity information, and duration information as user performance data, and creates input sentence data to a large-scale language model based on the user performance data.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an input sentence creation device, an input sentence creation method, and a program. [Background technology]

[0002] There are known devices that enable efficient practice based on information about a user's performance. For example, Patent Document 1 discloses an electronic musical instrument that judges performance errors (mistakes in performance) on a measure-by-measure basis, detects performance sections where the number of performance errors is equal to or exceeds a reference value as error sections, and automatically performs the error sections a predetermined number of times, thereby enabling the user to efficiently practice sections where they make mistakes in performance. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2007-271677 Summary of the Invention [Problem to be solved by the invention]

[0004] The technology disclosed in Patent Document 1 can determine the measure in which the user made a mistake in their performance and automatically play the performance section in which the mistake occurred, but it cannot provide a more appropriate response to the user.

[0005] The present invention has been made in consideration of the above-mentioned situation, and aims to provide an input sentence creation device, an input sentence creation method, and a program that are capable of creating prompts (input sentences to a large-scale language model) to return more appropriate responses to the user. [Means for solving the problem]

[0006] In order to achieve the above object, one aspect of the input sentence creation device according to the present invention is to acquiring, as user performance data, data extracted from performance information obtained by a user playing a musical instrument, the data including at least one of note number information, velocity information, and duration information; creating input sentence data for a large-scale language model based on the user's performance data; It has a control unit. [Effects of the Invention]

[0007] According to the present invention, it is possible to create a prompt that will return a more appropriate response to the user. [Brief explanation of the drawings]

[0008] [Figure 1] FIG. 2 is a block diagram showing an example of a functional configuration of the input sentence creation device. [Figure 2] FIG. 1 is a block diagram showing an example of the configuration of a performance evaluation system. [Figure 3] 10 is a flowchart illustrating an example of a prompt creation process when there is no correct performance data. [Figure 4] FIG. 10 is a diagram illustrating an example of a prompt created using a no-answer evaluation directive and a response sentence from a large-scale language model. [Figure 5] 10 is a flowchart illustrating an example of a prompt creation process when correct performance data is available. [Figure 6] FIG. 10 is a diagram illustrating an example of a prompt created using a correct-answer evaluation directive and an answer sentence from a large-scale language model. [Figure 7] 10 is a flowchart illustrating an example of a prompt creation process when determining a performance error. [Figure 8] FIG. 10 is a diagram illustrating an example of a prompt created using a mistake-all evaluation directive. [Figure 9] FIG. 10 illustrates an example of a prompt created using a miss-all evaluation summary directive. [Figure 10] FIG. 10 is a diagram illustrating an example of a prompt created using a mistake partial evaluation directive. [Figure 11] 10A and 10B are diagrams showing an example of user performance data and correct performance data in which note numbers are written as scale names, and an example of a prompt created using these. DETAILED DESCRIPTION OF THE INVENTION

[0009] An input sentence creation device and the like according to an embodiment will be described with reference to the drawings. In the drawings, the same or corresponding parts are designated by the same reference numerals.

[0010] As shown in FIG. 1, the input sentence creation device 100 according to the embodiment includes a control unit 110, a storage unit 120, an operation input unit 130, a display unit 140, an instrument connection unit 150, and a communication unit 160.

[0011] The control unit 110 includes a processor such as a CPU (Central Processing Unit), and controls the operation of the input sentence creation device 100 by reading and executing a program stored in the storage unit 120 .

[0012] The storage unit 120 stores programs and necessary data executed by the control unit 110. The storage unit 120 may include, but is not limited to, a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, etc.

[0013] The operation input unit 130 is a user interface such as a touch panel, keyboard, mouse, etc., integrated with the display unit 140, and receives operation inputs from the user.

[0014] The display unit 140 includes a display device such as a liquid crystal display or an organic EL (Electro-Luminescence) display.

[0015] The instrument connection unit 150 is an interface that receives MIDI messages from a MIDI (Musical Instrument Digital Interface) instrument. The connection to the MIDI instrument may be a wired connection using a MIDI cable, a USB (Universal Serial Bus) cable, or the like, or a wireless connection using Bluetooth (registered trademark) MIDI, or the like.

[0016] The communication unit 160 is a communication interface for connecting the input sentence creation device 100 to an external device (for example, another smartphone, tablet, PC (Personal Computer), etc.) or the Internet. The communication unit 160 may include, for example, a wireless communication interface for communicating via a wireless LAN.

[0017] As shown in FIG. 2, the performance evaluation system 1000 according to the embodiment includes an input sentence creation device 100, a MIDI musical instrument 200, a server 300 running a large-scale language model, and the Internet 400.

[0018] The input sentence creation device 100 is, for example, a smartphone, and receives the content of a user's performance (MIDI messages output by the MIDI instrument 200) via an instrument connection unit 150, and creates an input sentence (prompt) to be input to a large-scale language model (LLM). The created input sentence is then sent via the Internet 400 to a server 300 running the large-scale language model, which returns an evaluation result (answer sentence) for the user's performance. Note that in the performance evaluation system 1000, the Internet 400 may be omitted if the input sentence creation device 100 and the server 300 can communicate directly. Alternatively, the large-scale language model may be operated using the control unit 110 and storage unit 120 of the input sentence creation device 100, in which case the server 300 and the Internet 400 may be omitted.

[0019] The following describes the process (prompt creation process) in which the input sentence creation device 100 creates an input sentence (prompt) for a large-scale language model. There are various types of prompt creation processes possible depending on what kind of prompt the user wants to create, but in any case, the process is started by a user instruction (for example, by launching a prompt creation app of the type desired by the user).

[0020] First, the simplest prompt creation process, in which only data played by a user (user performance data) is input to a large-scale language model, will be described with reference to Fig. 3. In this prompt creation process, a prompt 500 including user performance data 501, as shown in Fig. 4, is created based on the data played by the user.

[0021] First, the control unit 110 acquires MIDI message data (performance MIDI data) output from the MIDI musical instrument 200 when the user plays the MIDI musical instrument 200 (step S101).

[0022] The control unit 110 then generates user performance data from the performance MIDI data acquired in step S101 (step S102). The performance MIDI data is binary data containing MIDI messages, and therefore cannot be input directly to a large-scale language model. Furthermore, the performance MIDI data may contain data that is not directly related to the content of the performance by the user, such as a timing clock. Therefore, the control unit 110 generates user performance data by extracting data directly related to the content of the performance by the user from the performance MIDI data and converting it into text data.

[0023] Specifically, the user performance data is created by focusing on note-on and note-off MIDI messages included in the performance MIDI data. Of the data shown in Fig. 4, the user performance data 501 includes, for example, note number information, velocity information, and duration information.

[0024] Note number information is a text data listing of the first byte (pitch information) of a note-on in a MIDI message. Velocity information is a text data listing of the second byte (information on the intensity of the sound at that pitch) of a note-on in a MIDI message. Duration information is a text data listing of the time (length of the sound at that pitch; in the example shown in Figure 4) from note-on to note-off (or note-on with velocity 0) for each note number.

[0025] 3, next, the control unit 110 prepares a no-correct-answer evaluation directive (step S103). Of the data shown in Fig. 4, the no-correct-answer evaluation directive 502 is composed of, for example, a role explanation statement 503 explaining the role of the large-scale language model, a user performance data input statement 504 explaining that user performance data 501 is to be input into the large-scale language model, an input data explanation statement 505 explaining how to input performance data (here, the user performance data 501) into the large-scale language model (data format, etc.), and an output content explanation statement 506 explaining what is desired to be output from the large-scale language model (here, an evaluation of the input user performance data 501).

[0026] Then, as shown in FIG. 4, the control unit 110 creates a prompt 500 (input sentence data) using the user performance data 501 created in step S102 and the no-answer evaluation instruction sentence 502 prepared in step S103 (step S104), and terminates the prompt creation process.

[0027] In the above-mentioned user performance data 501, the velocity value 507 of the 11th note is 100, which is significantly larger than the velocity values ​​of the other notes, and the duration value 508 of the 4th note is 1610, which is significantly larger than the duration values ​​of the other notes. Therefore, when the prompt 500 created in this way is input into the large-scale language model, the large-scale language model returns a response sentence such as, for example, "The duration of the 4th note is significantly larger than the other notes. Also, the velocity of the 11th note is significantly larger than the other notes. Let's check if there are any problems with the performance of these notes," as shown in Figure 4.

[0028] As in this example, even when there is no correct performance data, the control unit 110 can create a prompt that returns a more appropriate response (answer sentence) to the user by utilizing a large-scale language model.

[0029] Next, a prompt creation process in which not only user performance data but also data on correct performance (correct performance data) is input to a large-scale language model will be described with reference to Fig. 5. In this prompt creation process, a prompt 510 including user performance data 501 and correct performance data 511, as shown in Fig. 6, is created based on the user performance data and the correct performance data.

[0030] First, the control unit 110 acquires information about the song to be played by the user (information identifying the song to be played, such as the song title and the file name of the MIDI file of the song) (step S201). For example, when the user selects a song to be played from a list of songs to be played stored in the storage unit 120 or an external device connected via the communication unit 160, the control unit 110 acquires identification information for the song selected by the user.

[0031] Then, the control unit 110 acquires the performance data (correct MIDI data) of the piece of music acquired in step S201 (step S202). The correct MIDI data acquired here is, for example, the SMF (Standard MIDI File) of the piece of music played by the user.

[0032] The control unit 110 then generates correct performance data from the correct MIDI data acquired in step S202 (step S203). The correct MIDI data is binary data including MIDI messages and the like, and therefore cannot be input directly to a large-scale language model. The correct MIDI data also includes data that is not directly related to the content of the user's performance, such as program changes (commands to change the timbre). Therefore, the control unit 110 extracts data from the correct MIDI data that can be compared with the content of the user's performance (e.g., user performance data) and information related to measures, and converts these data into text data to generate correct performance data.

[0033] Specifically, the correct performance data is created by focusing on the note-on and note-off MIDI messages and bar-related information contained in the correct MIDI data. Among the data shown in Fig. 6, the correct performance data 511 includes, for example, note number information, velocity information, duration information, and bar number information. Among these, the note number information, velocity information, and duration information are created in the same manner as the user performance data. The bar number information is information (bar information) indicating in which bar the sound of each note number is contained, and is created based on the bar-related information in the correct MIDI data.

[0034] The processes in the following steps S204 and S205 are similar to the processes in steps S101 and S102 in FIG. 3, and therefore will not be described further.

[0035] 6, the correct answer evaluation instruction 512 includes, for example, a role explanation statement 503, a user performance data input statement 504 explaining that user performance data 501 is to be input into the large-scale language model, a correct performance data input statement 513 explaining that correct performance data 511 is to be input into the large-scale language model, an input data explanation statement 514 explaining how to input performance data (here, the user performance data 501 and the correct performance data 511) into the large-scale language model, and an output content explanation statement 515 explaining what is desired to be output from the large-scale language model (here, the user performance data 501 is compared with the correct performance data 511 to evaluate the content of performance errors, etc.).

[0036] Then, the control unit 110 creates a prompt 510 using the correct performance data 511 created in step S203, the user performance data 501 created in step S205, and the correct evaluation instruction statement 512 prepared in step S206 (step S207), and terminates the prompt creation process.

[0037] In the above-mentioned user performance data 501, the note number value 516 of the first note in the second measure is 72, which is different from the correct value 521 of 70 in the correct performance data 511; the note number value 517 of the second note is 60, which is different from the correct value 522 of 64; and the note number value 518 of the fourth note is 76, which is different from the correct value 523 of 70. Furthermore, the note number value 519 of the third note in the third measure is 77, which is different from the correct value 524 of 70; and the note number value 520 of the fourth note is 65, which is different from the correct value 525 of 67. Furthermore, the velocity and duration values ​​are generally different from those of the correct performance data 511, but in particular, the duration value 508 of the fourth note in the first measure is 1610, which is significantly different from the correct value 526 of 600. Therefore, when the prompt 510 created in this way is input into the large-scale language model, the large-scale language model will return a response sentence such as, for example, "There appear to be performance errors in the note numbers of the first, second, and fourth notes in the second measure, and the note numbers of the third and fourth notes in the third measure. The velocity and duration are generally different from the correct performance, but the duration of the fourth note in the first measure is particularly different. First, let's practice the second and third measures repeatedly so that you can play the note numbers correctly." as shown in Figure 6.

[0038] In this way, if there is correct performance data, the correct performance data 511 is also included in the prompt 510, so that the control unit 110 can create a prompt that allows the large-scale language model to return a more appropriate response (answer sentence) to the user without having to determine whether there is a performance error itself.

[0039] In the prompt creation process described above, prompts 500 and 510 are created that include the entire data played by the user (user performance data 501). Therefore, if the user plays a very long piece of music, the prompts 500 and 510 can become too long. In reality, the response that the user wants (the answer sentence from the large-scale language model) is often about performance mistakes, so there is often no need to include information about the parts of the music that were played correctly in the prompt.

[0040] Next, a prompt creation process in which the control unit 110 identifies performance errors and creates a prompt using the portions of the performance errors will be described with reference to FIG. 7. In this prompt creation process, performance errors are identified based on the user's performance data and the correct performance data, and a prompt is created to request an evaluation of the performance errors from a large-scale language model. Depending on the number of performance errors, if the number of performance errors is very small, a prompt 530 is created that lists all measures containing performance errors and requests evaluation, as shown in FIG. 8, for example. If the number of performance errors is moderate, a prompt 540 is created that requests input of all measures containing performance errors but outputs a summary of the evaluation, as shown in FIG. 9, for example. If the number of performance errors is very large, a prompt 550 is created that lists measures containing a particularly high percentage of performance errors and requests evaluation, as shown in FIG. 10, for example.

[0041] In this prompt process, the processes from step S301 to step S305 are the same as the processes from step S201 to step S205 in FIG. 5, and therefore a description thereof will be omitted.

[0042] Following the processing of step S305, the control unit 110 compares the user performance data with the correct performance data to extract all measures containing performance errors, and creates error-portion performance data (performance error data) as the extraction results (step S306). The error-portion performance data consists of the user performance data of the error portion (error-portion user performance data) and the corresponding correct performance data (error-portion correct performance data) (for the same measure). That is, in step S306, the control unit 110 creates, for example, error-portion user performance data 531 and error-portion correct performance data 532 shown in FIG. 8 as the error-portion performance data.

[0043] When determining whether a performance error has occurred, the control unit 110 determines that there has been a performance error if the note number information has a different value between the user's performance data and the correct performance data, but determines that there has been a performance error if the velocity information and duration information have a different value between the user's performance data and the correct performance data by more than a reference percentage (for example, 20% of the value of the correct performance data).

[0044] In the example shown in Figure 8, for the note numbers, the correct value 521 for the first note in the second measure is 70, but the user's played value 516 is 72, which is different; the correct value 522 for the second note in the second measure is 64, but the user's played value 517 is 60, which is different; and the correct value 523 for the fourth note is 70, but the user's played value 518 is 76, which is different. Therefore, it can be seen that the second measure contains three incorrect note numbers. Also, the correct value 524 for the third note in the third measure is 70, but the user's played value 519 is 77, which is different; and the correct value 525 for the fourth note is 67, but the user's played value 520 is 65, which is different. Therefore, it can be seen that the third measure contains two incorrect note numbers.

[0045] Furthermore, for velocity, the correct value 543 for the second note in measure 3 is 60, but the user's value 541 is 80, which differs by more than the standard percentage (here, 20% of the correct performance data), and the correct value 544 for the third note is 70, but the user's value 507 is 100, which differs by more than the standard percentage. Therefore, it can be seen that measure 3 contains two velocity errors. Furthermore, the correct value 545 for the fourth note in measure 3 is 76, and the user's value 542 is 78. Although these values ​​are different, the difference is less than the standard percentage, so the fourth note in measure 3 is determined not to be a performance error.

[0046] Also, regarding duration, the correct value 526 for the fourth note in the first measure is 600, but the value played by the user 508 is 1610, which is different by more than the standard percentage, so it can be seen that the first measure contains one duration mistake.

[0047] 7, the control unit 110 determines whether the number of missed bars is equal to or greater than the bar number threshold (for example, 5) (step S307). If the number of missed bars is less than the bar number threshold (step S307; No), the process proceeds to step S312.

[0048] If the number of incorrect bars is equal to or greater than the bar number threshold (step S307; Yes), the control unit 110 calculates the percentage of incorrect bars (step S308). The percentage of incorrect bars is the number of bars containing performance errors divided by the total number of bars included in the correct performance data.

[0049] The control unit 110 then determines whether the percentage of missed bars is less than a first percentage threshold (e.g., 50%) (step S309). If the percentage of missed bars is less than the first percentage threshold (step S309; ​​Yes), the control unit 110 determines whether the percentage of missed bars is less than a second percentage threshold (step S310). The second percentage threshold is set to a predetermined value (e.g., 10%) that is smaller than the first percentage threshold. If the percentage of missed bars is less than the second percentage threshold (step S310; Yes), the control unit 110 prepares an all-miss evaluation instruction (step S312) and proceeds to step S313.

[0050] 8, the full mistake evaluation instruction statement 533 is composed of, for example, the role explanation statement 503, a mistake-part user performance data input statement 534 explaining that mistake-part user performance data 531 is to be input into the large-scale language model, an input data explanation statement 535 explaining how to input performance data (here, the mistake-part user performance data 531) into the large-scale language model, a mistake-part correct performance data input statement 536 explaining that mistake-part correct performance data 532 is to be input into the large-scale language model, an input data explanation statement 537 explaining how to input performance data (here, the mistake-part correct performance data 532) into the large-scale language model, and an output content explanation statement 538 explaining the content desired to be output from the large-scale language model (here, the mistake-part user performance data 531 is compared with the mistake-part correct performance data 532 to evaluate the content of the performance mistakes, etc.).

[0051] While input data explanation 505 shown in Fig. 4 and input data explanation 514 shown in Fig. 6 are both placed after performance data 501, 511, they may also be placed before performance data 531, 532, as in input data explanations 535, 537 shown in Fig. 8. Furthermore, input data explanation 514 shown in Fig. 6 is a statement that collectively explains the data format of user performance data 501 and the data format of correct performance data 511, but the input data explanation may also be separated into input data explanation 535 that explains the data format of user performance data 531 and input data explanation 537 that explains the data format of correct performance data 532, as shown in Fig. 8.

[0052] 7, if the percentage of mistake bars is equal to or greater than the second percentage threshold in step S310 (step S310; No), the control unit 110 prepares an all-mistakes evaluation summary instruction (step S311) and proceeds to step S313. The all-mistakes evaluation summary instruction 546 is composed of, for example, the role explanation 503, the mistake-part user performance data input statement 534, the input data explanation 535 explaining how to input performance data (here, mistake-part user performance data 531) to the large-scale language model, the mistake-part correct performance data input statement 536, the input data explanation 537 explaining how to input performance data (here, mistake-part correct performance data 532) to the large-scale language model, and the output content explanation 547 explaining what is desired to be output from the large-scale language model (here, comparing and evaluating the mistake-part user performance data 531 and the mistake-part correct performance data 532, summarizing problems, and outputting the tendency) from the data shown in FIG. As can be seen by comparing Figures 8 and 9, the only difference between the all-mistakes evaluation instruction 533 and the all-mistakes evaluation summary instruction 546 is the output content descriptions 538 and 547, and in Figure 9, the parts of the output content description 547 that differ from the output content description 538 are underlined and shown in bold.

[0053] Then, the control unit 110 creates prompts 530 and 540 using the mistake-portion performance data 531 and 532 and the prepared instruction statements 533 and 546 (step S313), and ends the prompt creation process.

[0054] On the other hand, if the percentage of missed bars is equal to or greater than the first percentage threshold in step S309 (step S309; ​​No), the control unit 110 extracts bars with the most missed bars (e.g., in the top 10% of missed bars) from all the missed bars (step S314). For example, if the performance data includes correct performance data 511 and user performance data 501 shown in FIG. 6, user performance data 501 contains missed bars in the first, second, and third bars, as can be seen from missed user performance data 531 shown in FIG. 8. The first bar contains one missed duration, the second bar contains three missed note numbers, and the third bar contains two missed note numbers and two missed velocity values. Therefore, in descending order of the number of missed bars, the third bar contains four missed bars, the second bar contains three missed notes, and the first bar contains one missed note. In this example, there are only three missed bars, so there is no problem in extracting all of the missed bars. However, if there are a large number of missed bars, in step S313 the control unit 110 extracts a predetermined number of missed bars (for example, a bar number threshold) from the bars with the most missed bars.

[0055] The control unit 110 then creates error-extracted performance data based on the error bars extracted in step S314 (step S315). The error-extracted performance data consists of user performance data corresponding to the extracted error bars (error-extracted user performance data) and corresponding correct performance data (error-extracted correct performance data) for the same bar. The error-extracted user performance data can be considered user performance data for a portion of the bars in which the user made errors. For example, if the total number of error bars is shown as error-portion user performance data 531 in FIG. 8 and only the third bar is extracted in step S314, the control unit 110 creates error-extracted user performance data 551 and error-extracted correct performance data 552 as shown in FIG. 10.

[0056] 10 , the control unit 110 prepares a mistake evaluation instruction statement (step S316). The mistake evaluation instruction statement 553 includes, for example, the role explanation statement 503, a mistake-extracted user performance data input statement 554 explaining that the mistake-extracted user performance data 551 is to be input into the large-scale language model, an input data explanation statement 535 explaining how to input performance data (here, the mistake-extracted user performance data 551) into the large-scale language model, a mistake-extracted correct performance data input statement 555 explaining that the mistake-extracted correct performance data 552 is to be input into the large-scale language model, an input data explanation statement 537 explaining how to input performance data (here, the mistake-extracted correct performance data 552) into the large-scale language model, and an output content explanation statement 556 explaining what is desired to be output from the large-scale language model (here, evaluation is performed by comparing the mistake-extracted user performance data 551 and the mistake-extracted correct performance data 552). In FIG. 10, the parts of the partial error evaluation instruction 553 that are different from the full error evaluation instruction 533 shown in FIG. 8 are underlined and in bold.

[0057] Then, the control unit 110 creates a prompt 550 using the error-extracted performance data 551, 552 and the prepared instruction (partial error evaluation instruction 553) (step S317), and ends the prompt creation process.

[0058] If information on too many mistaken bars is input into the large-scale language model, the amount of information on performance mistakes will become enormous, and the answer returned from the large-scale language model will also likely become enormous, or an appropriate answer will not be returned. Therefore, in the prompt creation process shown in Figure 7 above, if there are more mistaken bars than the bar count threshold, and the percentage of mistaken bars is equal to or greater than a first percentage threshold (e.g., 50%), only bars with a large number of mistakes (e.g., the top 10% of mistakes) are extracted, and if the percentage of mistaken bars is less than the first percentage threshold and equal to or greater than a second percentage threshold (e.g., 10%), a request such as a summary of the issues will be included in the prompt, enabling the large-scale language model to return a more appropriate answer.

[0059] Among the sentences included in each of the above-mentioned instructions, the sentence "You are a judge for the performance" is an example of a sentence (role description) that explains the role of the large-scale language model. The role description is not limited to this, and can be freely set, for example, "You are a music teacher," "You are a conscientious civil servant," "You are a mother who listens to her child's performance," or "You are a strict musician." The large-scale language model returns a response sentence according to the role given in the role description. Therefore, by inquiring in advance from the user about the type of instructor they would like to receive instruction from and describing the instructor obtained from the user in the role description, it is possible to create a prompt that returns a response sentence that is more preferred by the user.

[0060] Furthermore, among the sentences included in each of the above-mentioned directives, for example, "Compare this performance with the correct performance, and tell me the details of the mistakes and the issues I made." is an example of a sentence (output content description) that explains the content output from the large-scale language model (the content desired to be output from the large-scale language model). The output content description is not limited to this example and may be freely set. For example, phrases such as "Please summarize," "Please evaluate focusing on the note number," "Please analyze and summarize the tendencies of mistakes," "Please give advice on how to improve mistakes," and "Please praise correct performances" may be used to restrict the content of the output. Phrases such as "Please do not make slanderous remarks" and "Please do not talk about religious music" may be used to prohibit speech. Phrases such as "Please answer in 300 characters or less" may be used to limit the amount of text. Phrases such as "Please speak in clear standard Japanese," "Please speak in Kansai dialect," "Please speak in English," and "Please do not use kanji so that children can understand" may be used to restrict tone and language.

[0061] The large-scale language model returns an answer sentence that matches the content explained in the output content description. Therefore, the control unit 110 can create a prompt that returns an answer sentence that is more preferred by the user by inquiring about the characteristics of the answer sentence desired in advance and explaining the characteristics of the answer sentence obtained from the user in the output content description.

[0062] Furthermore, among the sentences included in each of the above directives, the sentence "The numerical values ​​of the performance information in each array are arranged in the order of performance. The bar numbers to which each numerical value of the performance information belongs are arranged in the order of performance in the bar number array." is an example of a sentence (input data explanation) that explains how to input user performance data and correct performance data into the large-scale language model. The input data explanation is not limited to this and may be freely set depending on the input data. Providing an input data explanation enables the large-scale language model to more accurately understand the performance data. However, since large-scale language models can often correctly understand the performance data even without an input data explanation, the input data explanation is not required and does not need to be included in the prompt.

[0063] In the above example, the user performance data includes note number information, velocity information, and duration information. Of these pieces of information, the note number information is often the information that users care about most. Furthermore, note number information is easier for the average person to understand if it is expressed as scale names (do-re-mi-fa-so-la-ti-do) rather than as numerical information, such as the user performance data 501 shown in FIG. 4 . Therefore, the control unit 110 may provide the large-scale language model with a prompt in which the note numbers are expressed as scale names in the key of C major rather than as numerical values. By doing so, the large-scale language model will return a response with note number information expressed as scale names in the key of C major, resulting in a response that is easier for the average person to understand.

[0064] As an example of note number information expressed using scale names in the key of C major, FIG. 11 shows user performance data 561, correct performance data 562, and an example of a prompt 560 created based on these. This example of user performance data 561 also contains performance errors in velocity information and duration information. However, if an answer sentence that primarily evaluates performance errors in note numbers is desired, the control unit 110 may create a prompt that does not include velocity information or duration information, as in prompt 560. In prompt 560, the user performance data includes only measures containing performance errors, while the correct performance data includes information about the entire song. This allows the large-scale language model to analyze whether a performance error is influenced by other measures in the song.

[0065] 11, the note number value 571 in the third measure of the user performance data 561 is "Fa Mi Re Do," while the note number value 573 in the third measure of the correct performance data 562 is "So Mi Re Do," which is different from the note number value 571 in the third measure of the correct performance data 562. Also, the note number value 572 in the eighth measure of the user performance data 561 is "Re Mi Re," while the note number value 574 in the eighth measure of the correct performance data 562 is "Re Mi Do." Therefore, the prompt 560 includes the note number value 575 in the third measure of the user performance data and the note number value 576 in the eighth measure of the user performance data.

[0066] Furthermore, in this example, correct performance data 563 of the entire song is included in prompt 560, so the large-scale language model to which prompt 560 is input can confirm not only that note number value 575 in the third measure of the user performance data is different from note number value 577 in the third measure of correct performance data 563 and that note number value 576 in the eighth measure of the user performance data is different from note number value 579 in the eighth measure of correct performance data 563, but also that note number value 576 in the eighth measure of the user performance data is the same as note number value 578 in the fourth measure of correct performance data 563. Therefore, a response sentence can be obtained that includes an analysis result such as that the user's performance in the eighth measure may be influenced by the note number in the fourth measure.

[0067] Furthermore, although not shown, the prompt may contain only the user's performance data as performance data, and not the correct performance data. By doing so, the type of performance error in which measure is input to the large-scale language model, but the correct performance data is not input to the large-scale language model, so that an answer sentence that is not influenced by the correct performance data can be obtained.

[0068] 11, the prompt includes only note number information, but not velocity or duration information. This is merely one example of how to select the information to include in the prompt. For example, depending on the user's preference, the prompt may include only velocity information, but not note number or duration information. Alternatively, the prompt may include only duration information, but not note number or velocity information.

[0069] The input sentence creation device 100 is not limited to a smartphone, and can also be realized by a computer such as an ordinary PC. Specifically, in the above-described embodiment, the program executed by the control unit 110 of the input sentence creation device 100 has been described as being pre-stored in the storage unit 120. However, the program may be stored and distributed on a computer-readable recording medium such as a flexible disk, a CD-ROM (Compact Disc Read Only Memory), a DVD (Digital Versatile Disc), an MO (Magneto-Optical disc), a memory card, or a USB memory, and the program may be read and installed on a computer to configure a computer capable of executing each of the above-described processes.

[0070] Furthermore, the program may be superimposed on a carrier wave and applied via a communication medium such as the Internet. For example, the program may be posted and distributed on a bulletin board system (BBS) on a communication network. The program may then be started and executed under the control of an operating system (OS) in the same way as other application programs, thereby enabling the above-described processes to be performed.

[0071] In addition, the control unit 110 may be configured by any single processor such as a single processor, multiprocessor, or multi-core processor, or by combining any of these processors with processing circuits such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array).

[0072] Although the preferred embodiments of the present invention have been described above, the present invention is not limited to such specific embodiments, and the present invention includes the inventions described in the claims and their equivalents. [Explanation of symbols]

[0073] 100...input statement creation device, 110...control unit, 120...storage unit, 130...operation input unit, 140...display unit, 150...instrument connection unit, 160...communication unit, 200...MIDI instrument, 300...server, 400...Internet, 500, 510, 530, 540, 550, 560...prompt, 501, 511, 531, 532, 551, 552, 561, 562, 563...performance data, 502, 512, 533, 546, 553...instruction sentence, 503...role description sentence, 504, 513,534,536,554,555...Performance data input statements, 505,514,535,537...Input data description statements, 506,515,538,547,556...Output content description statements, 507,508,516,517,518,519,520,521,522,523,524,525,526,541,542,543,544,545,571,572,573,574,575,576,577,578,579...Values, 1000...Performance evaluation system

Claims

1. acquiring, as user performance data, data extracted from performance information obtained by a user playing a musical instrument, the data including at least one of note number information, velocity information, and duration information; creating input sentence data for a large-scale language model based on the user's performance data; A control unit is provided. Input sentence creation device.

2. The control unit acquiring correct performance data, which is data extracted from correct performance information of the song being played by the user, and which includes at least one of note number information, velocity information, and duration information, and measure information; creating the input sentence data based on the user performance data and the correct performance data; The input sentence creation device according to claim 1 .

3. The control unit a role description sentence that describes a role of the large-scale language model is included in the input sentence data; The input sentence creation device according to claim 2 .

4. The control unit an output content description, which is a sentence explaining the content to be output, is included in the input sentence data; 4. The input sentence creation device according to claim 3.

5. The control unit the input sentence data includes an input data explanation sentence that explains how to input the user's performance data and the correct performance data into the large-scale language model; 5. The input sentence creation device according to claim 4.

6. The control unit When creating the input sentence data, the notation of note number information included in the user performance data and the correct performance data is converted into notation using scale names in the key of C major. The input sentence creation device according to claim 2 .

7. The control unit comparing the user performance data with the correct performance data to generate performance error data indicating in which measure a performance error has occurred; creating the input sentence data based on the performance error data; The input sentence creation device according to claim 2 .

8. The control unit Regarding note number information, if the value differs between the user performance data and the correct performance data, it is determined to be a performance error, but regarding velocity information and duration information, if the value differs between the user performance data and the correct performance data by a reference percentage or more, it is determined to be a performance error. The input sentence creation device according to claim 7 .

9. The control unit acquiring, as user performance data, data extracted from performance information obtained by a user playing a musical instrument, the data including at least one of note number information, velocity information, and duration information; creating input sentence data for a large-scale language model based on the user's performance data; How to create input sentences.

10. In the control section, acquiring, as user performance data, data extracted from performance information obtained by a user playing a musical instrument, the data including at least one of note number information, velocity information, and duration information; creating input sentence data for a large-scale language model based on the user's performance data; A program that executes a process.

Citation Information

Patent Citations

  • Electronic musical instrument with practice function

    JP2007271677A