Information processing device, electronic musical instrument, pronunciation control method, and computer program product
By designing an information processing device that can detect and correct the timing of performance operations, the problem of difficulty in timing control for beginners is solved, and more accurate and smooth performance is achieved, and the realism of the performance is maintained.
Patent Information
- Application Number
- CN202411444719.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-10-17
- Filing Date
- 2024-10-16
- Publication Date
- 2025-04-18
AI Technical Summary
When beginners play music, it is difficult for them to properly control the timing of notes, resulting in the performance of ‘off-shooting’. The prior art cannot effectively correct the pronunciation timing corresponding to the performance operation based on the pronunciation timing of the music.
An information processing device is designed to control the pronunciation unit to pronounce or not pronounce at the correct timing by detecting the performance operation within a specific interval before and after the pronunciation timing of the musical music.
It realizes that the pronunciation timing of the music-based pronunciation is properly corrected for the corresponding pronunciation operations, helping beginners improve the accuracy and fluency of their performance, and prevents automatic pronunciation when the user does not continue to play, maintaining the realism of the performance.
Smart Images

Figure CN119851637A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of priority of Japanese Patent Application No. 2023-179123 filed on October 17, 2023, and incorporates by reference its specification, claims, abstract, and all drawings. Technical Field
[0003] The present invention relates to an information processing device, an electronic musical instrument, a pronunciation control method and a program. Background Art
[0004] The performance of a piece of music requires the skill of playing the pitches specified by the score at the timing indicated by the score. Skilled performers sometimes consciously shift the timing of the performance operation from the timing indicated by the score, i.e., the appropriate timing, to express the so-called "inspiration", but it is fundamental to perform at the timing indicated by the score. Summary of the invention
[0005] The information processing device disclosed in the present invention comprises a control unit,
[0006] When a performance operation is detected within a pre-pressing interval between a given time before the sound generation timing of a musical sound of a piece of music and the sound generation timing, the control unit controls the sound generation unit to generate sound corresponding to the performance operation at the sound generation timing.
[0007] The control unit controls the sound producing unit not to produce sound at the sound producing timing when no musical performance operation is detected in the preceding pressing section and no musical performance operation is detected at the sound producing timing. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Figure 1 This is a block diagram showing the functional configuration of an information processing device according to an embodiment of the present invention.
[0009] Figure 2 It is a diagram for explaining the timing control operation in the performance support function.
[0010] Figure 3 It is shown by Figure 1 Flowchart of the flow of main processing executed by the CPU.
[0011] Figure 4 In the first embodiment, when the performance support function is turned on, Figure 3 Flow chart of the flow of MIDI data processing A during performance support executed in step S104.
[0012] Figure 5 This shows that in the first embodiment, Figure 1Flowchart of the process of tick processing A executed by the CPU.
[0013] Figure 6 In the second embodiment, when the performance support function is turned on, Figure 3 Flow chart of the flow of MIDI data processing B during performance support executed in step S104.
[0014] Figure 7 This shows that in the second embodiment, Figure 1 Flowchart of the process of tick processing B executed by the CPU.
[0015] Figure 8 This is a conceptual diagram for explaining the performance support operation in the second embodiment. DETAILED DESCRIPTION
[0016] It is very difficult for beginners to perform at the proper timing, and the performance operation may be earlier than the proper timing, or conversely later than the proper timing, resulting in a so-called "off-beat" performance.
[0017] As a technology for supporting the performance of beginners, for example, Japanese Patent Application Laid-Open No. 2007-72387 describes an electronic musical instrument that is controlled to generate musical sounds according to the performance data when the elapsed time reaches a given time from the timing at which the performance should be performed in a specific section set in the performance data. In the technology described in the above patent document, for a specific section that the performer is not good at, the performer can smoothly perform the entire piece of music from the beginning to the end by performing automatic performance instead of the manual performance performed by the performer.
[0018] In the performance support described in the above patent document, only automatic performance is performed instead of manual performance by the performer for a specific section that the performer is not good at, and the timing of sound production corresponding to the performance operation cannot be appropriately corrected based on the sound production timing of the music.
[0019] It is desirable to be able to appropriately correct the timing of sound emission corresponding to the performance operation based on the sound emission timing of the music.
[0020] Hereinafter, the mode for carrying out the present invention will be described using the drawings.
[0021] However, in the embodiments described below, various technically preferable limitations are given in order to implement the present invention.
[0022] Therefore, the technical scope of the present invention is not limited to the following embodiments and illustrations.
[0023] <First embodiment>
[0024] [Structure of Information Processing Device 1]
[0025] First, the configuration of an information processing device 1 according to a first embodiment of the present invention will be described.
[0026] The information processing device 1 is a device for supporting a performance of an electronic musical instrument 2 connected via a MIDI (Musical Instrument Digital Interface) interface 107 by a user (player).
[0027] like Figure 1 As shown, the information processing device 1 is configured to include: a CPU (Central Processing Unit) 101, a ROM (Read Only Memory) 102, a RAM (Random Access Memory) 103, a storage unit 104, a display unit 105, an operation unit 106, a MIDI interface 107, a sound source 108, a DAC (Digital Analog Converter) 109, and an output unit 110, and the respective units are connected via a bus 112.
[0028] The CPU 101 (processor) is a computer that controls each part of the information processing device 1 and functions as a control unit. The CPU 101 reads a designated program from the programs stored in the ROM 102 or the storage unit 104, expands it in the RAM 103, and executes various processes by cooperating with the expanded program. In addition, the CPU 101 may be a plurality of CPUs, and the plurality of processes executed by the CPU 101 may be executed by a plurality of CPUs.
[0029] The ROM 102 stores programs, various data, and the like.
[0030] RAM 103 provides a memory space for CPU 101 to use for work and temporarily stores data.
[0031] The storage unit 104 is composed of a non-volatile semiconductor memory such as a flash memory, a HDD (Hard Disk Drive), etc. The storage unit 104 stores programs and various data, etc. The storage unit 104 is not limited to being built in the information processing device 1, and may also include an external recording medium such as an external HDD, a USB memory, etc. that can be attached to and detached from the information processing device 1.
[0032] In this embodiment, music data (e.g., MIDI data) of a plurality of music pieces are stored in the storage unit 104. The music data includes, for example, information on the timing of sound generation (the time from the start of the music piece), pitch, dynamic value (intensity), and length (pitch) of each musical sound included in the music piece.
[0033] The display unit 105 is composed of an LCD (Liquid Crystal Display), an EL (ElectroLuminescence) display, or the like, and performs various displays based on display information instructed by the CPU 101 .
[0034] The operation unit 106 is composed of a plurality of push button switches, etc. The operation unit 106 detects the operation of the push button switches and outputs an operation signal to the CPU 101 .
[0035] In the present embodiment, the operation unit 106 is composed of a push button switch, but the operation unit 106 may be a structure including a touch panel mounted on the display unit 105 or the like, and outputting an operation signal of the touch panel to the CPU 101 .
[0036] The MIDI interface 107 is connected to the electronic musical instrument 2 and performs data transmission and reception according to the electronic musical instrument 2 and the MIDI standard.
[0037] The sound source 108 reads out waveform data (audio data) pre-stored in the ROM 102 or generates waveform data in accordance with an instruction from the CPU 101 , and outputs the waveform data to the DAC 109 .
[0038] The DAC 109 performs D / A conversion on the waveform data output from the sound source 108 and outputs analog sound.
[0039] The output unit 110 includes an amplifier and a speaker, and amplifies and outputs analog sounds (musical instrument sounds, etc.) input from the DAC 109 .
[0040] The sound source 108 , the DAC 109 , and the output unit 110 constitute a sound producing unit 111 .
[0041] The electronic musical instrument 2 is, for example, a keyboard musical instrument including a keyboard 201 composed of a plurality of keys (performance operating elements).
[0042] Whenever any key of the keyboard 201 is pressed or released, the electronic musical instrument 2 outputs MIDI data (note data such as a note-on event and a note-off event) to the information processing device 1 via a MIDI interface (not shown). For example, when any key of the keyboard 201 is pressed, the electronic musical instrument 2 outputs a note-on event (including information on pitch and velocity). When any key is released, a note-off event (including pitch, etc.) is output. In addition, the electronic musical instrument 2 outputs MIDI data corresponding to the operation of the operating unit (not shown) (for example, information on control change, program change, etc.) to the information processing device 1 via a MIDI interface (not shown).
[0043] [Operation of Information Processing Device 1]
[0044] Next, the operation of the information processing device 1 in this embodiment will be described.
[0045] In the information processing device 1, when the performance support function is set to be turned on through the operation unit 106, the pitch and timing of the performance operation performed by the user are corrected so that the musical sound (note) constituting the selected music is sounded at the correct timing and the correct pitch. In addition, in the present application, the so-called performance operation refers to the operation for making the musical sound sound, that is, the key operation (note on).
[0046] Figure 2 2 is a diagram for explaining the timing control operation in the performance support function. Figure 2 On the timeline shown, the music progresses from left to right.
[0047] exist Figure 2 In the figure, a solid circle indicates the pronunciation timing (timing at which a note (musical sound) constituting the melody of the music piece should be pronounced). The note that should be pronounced at the pronunciation timing is called the object note. The dotted circle indicates the delayed pronunciation timing. The delayed pronunciation timing is a timing set after a given time from the pronunciation timing, and is a timing at which the object note is pronounced when no performance operation corresponding to the object note is detected from the first press interval described later to the timing. Here, the delayed pronunciation timing is an extremely short moment, and is not the pronunciation timing that should be pronounced according to the music piece, so it can also be considered that there is a certain time difference between the timing of the note-on operation performed by the user and the delayed pronunciation timing.
[0048] like Figure 2As shown, in the performance support function, the section between a given time before the sounding timing and the sounding timing is set as the pre-press section, the section between the sounding timing and the delayed sounding timing is set as the delayed sounding waiting section (A section), and the section between the delayed sounding timing and the beginning of the pre-press section of the next note is set as the B section. The pre-press section, the A section, the delayed sounding timing, and the B section are set as the parts of the music to be the target of the performance support (the melody in this embodiment).
[0049] When the performance support function is set, when the CPU 101 detects a performance operation performed by the user in the first press section (a note-on event is input from the electronic musical instrument 2), the target note corresponding to the performance operation is not immediately sounded but is kept. When the sounding timing of the target note in the music is reached, the sounding unit 111 sounds the target note at the correct pitch according to the music. When the performance operation is not detected until the sounding timing, and the performance operation is detected in the A section, the CPU 101 causes the sounding unit 111 to sound the target note at the correct pitch at the timing of detecting the performance operation. When the performance operation is not detected from the first press section to the A section, the CPU 101 causes the sounding unit 111 to sound the target note at the correct pitch at the delayed sounding timing. When the performance operation is detected in the B section, the CPU 101 controls not to sound the sound corresponding to the first performance operation in the B section, and then when the performance operation is detected in the B section, the CPU 101 controls to cause the sounding unit 111 to sound the sound at the pitch corresponding to the performance operation at the timing of detecting the performance operation. When sound is produced at the delayed sound production timing and no musical performance operation is detected until the next delayed sound production timing, CPU 101 performs control so as not to produce sound at the next delayed sound production timing.
[0050] To summarize the above actions, in the performance support function, if a performance operation is detected in the first section, the sound is produced at the sound production timing, if a performance operation is detected in the A section, the sound is produced at the timing of the performance operation, and if a performance operation is not detected in the A section, the sound is produced at the delayed sound production timing. Furthermore, if the sound is produced at the delayed sound production timing and the user's performance operation is not detected until the delayed sound production timing of the next target note, the delayed sound production is not performed in the next target note. That is, if the user does not continue to perform, the sound will not be produced.
[0051] Here, the time length of the first press interval and the A interval can be determined arbitrarily, but it is expected that CPU101 sets it to match the note length of the music. For example, if the music is based on 8th notes, the first press interval is set to a 16th note length that is half of the 8th note, and the A interval is further set to a 32nd note length that is half of it. In this case, the performance operation that is earlier than the pronunciation timing is pronounced at the pronunciation timing, and even if the performance operation is late, the pronunciation is performed during the period from the pronunciation timing to the 32nd note length. The delay of about 32nd note length is the range of performance that can be regarded as correct performance. In this way, the A interval is set to the length of the range that can be regarded as correct pronunciation timing.
[0052] Figure 3 1 is a flowchart showing the flow of a main process executed after the power of the information processing device 1 is turned on. The main process is executed by the cooperation of the CPU 101 and a program stored in the ROM 102 or the storage unit 104 .
[0053] In the main process, first, the CPU 101 performs an initialization process (step S101). In the initialization process, the initialization of each component of the information processing device 1 and the initialization of variables used in various processes are performed (for example, the pronunciation reservation flag, the pronunciation completion flag, and the performance flag described later are set to on, etc.).
[0054] Next, the CPU 101 executes an operation state acquisition process (step S102 ).
[0055] In the operation state acquisition process, CPU 101 acquires the operation states of various switches of operation unit 106 .
[0056] Next, the CPU 101 executes a functional process (step S103 ).
[0057] In the function processing, the CPU 101 executes the function corresponding to the operation state of the switch based on the operation state of the various switches of the operation unit 106 acquired by the operation state acquisition processing. For example, when the switch for selecting a piece of music is pressed, the CPU 101 loads the music data of the piece of music selected by pressing the switch from the storage unit 104 to the RAM 103. In addition, for example, when the switch for setting the on of the performance support function is pressed, the CPU 101 sets the performance support function to on. When the switch for indicating the start of the performance is pressed in the state where the music is selected and the performance support function is on, the CPU 101 starts the performance of the selected music. For example, based on the music data loaded into the RAM 103, the CPU 101 starts the reproduction of the music sound of the part (here, the accompaniment) other than the part played by the user (here, the melody).
[0058] If any switch is not operated, CPU 101 proceeds to step S104 .
[0059] Next, the CPU 101 executes MIDI data processing (step S104 ).
[0060] In the MIDI data processing, the CPU 101 performs processing related to the MIDI data input from the electronic musical instrument 2 via the MIDI interface 107. The details will be described later. When there is no MIDI data input from the electronic musical instrument 2, the CPU 101 proceeds to step S105.
[0061] Next, CPU 101 executes a sound producing process (step S105 ).
[0062] In the sound generation process, the CPU 101 drives the sound source 108 based on the sound generation instruction information and the sound muting instruction information output to the sound source 108 in the MIDI data process or the like, and generates or mutes the musical sound through the sound generation unit 111 .
[0063] When there is no musical sound to be produced or muted, CPU 101 proceeds to step S106 .
[0064] Next, CPU 101 determines whether the power switch of operation unit 106 is pressed (step S106 ).
[0065] When CPU 101 determines that the power switch of operation unit 106 has not been pressed (step S106 ; N), the process returns to step S102 .
[0066] When determining that the power switch of operation unit 106 is pressed (step S106 ; YES), CPU 101 ends the main process.
[0067] The following is Figure 3 The MIDI data processing performed by S104 will be described.
[0068] When the performance support function is not set to on, in the MIDI data processing, the CPU 101 outputs, for example, sound generation instruction information and mute instruction information based on the MIDI data input from the electronic musical instrument 2 to the sound source 108. When the performance support function is set to on, the CPU 101 executes Figure 4 MIDI data processing during performance support is shown.
[0069] Figure 41 is a flowchart showing the flow of MIDI data processing during performance support in the present embodiment. The MIDI data processing during performance support is executed by the cooperation of the CPU 101 and a program stored in the ROM 102 or the storage unit 104. In addition, in order to distinguish it from the MIDI data processing during performance support in the second embodiment, the MIDI data processing during performance support in the present embodiment is referred to as MIDI data processing A during performance support.
[0070] In the MIDI data process A during performance support, first, the CPU 101 determines whether the input MIDI data is a note-on event (step S201 ).
[0071] When it is determined that the input MIDI data is a note-on event (step S201 ; Yes), CPU 101 determines whether the current position of the music progression is within the previous press interval (step S202 ).
[0072] When it is determined that the current music progression position is within the previous press interval (step S202 ; Yes), that is, when it is determined that a note-on event is input within the previous press interval (a performance operation is detected within the previous press interval), CPU 101 sets the sound reservation flag to on (step S203 ).
[0073] The pronunciation reservation flag is a flag indicating whether the pronunciation at the next pronunciation timing is reserved. When the pronunciation at the next pronunciation timing is reserved, the pronunciation reservation flag is turned on.
[0074] Next, CPU 101 turns on a sounding completion flag (step S204 ), and the process proceeds to step S205 .
[0075] The sound completion flag is a flag for determining whether sound is made in the delayed sound timing and the B interval. For example, if sound is reserved in the first interval to the A interval, or sound is made, or sound is made in the delayed sound timing, the sound completion flag is turned on.
[0076] On the other hand, when the CPU 101 determines that the current music progression position is not within the previous section (step S202 ; No), the CPU 101 proceeds to step S205 .
[0077] In step S205 , CPU 101 determines whether the current position of the music is at the sounding timing or within the A section (delayed sounding waiting section) (step S205 ).
[0078] When it is determined that the current music progression position is not within the sound generation timing or the A section (step S205 ; No), the CPU 101 proceeds to step S208 .
[0079] On the other hand, when it is determined that the current music position is within the sounding timing or the A section (step S205; yes), that is, when it is determined that the input note-on event is input within the sounding timing or the A section (the performance operation is detected within the sounding timing or the A section), the CPU 101 outputs the sounding instruction information for the sounding of the pitch to be sounded at that time point to the sound source 108 of the sounding section 111 regardless of the note number (pitch) indicated by the note-on event (step S206). In addition, the CPU 101 turns on the sounding completion flag (step S207), and transfers to step S208.
[0080] The so-called pitch that should be pronounced at this time point refers to the pitch that should be pronounced at this timing in the ongoing music if the current time point is the pronunciation timing, and refers to the pitch that should be pronounced at the pronunciation timing immediately before if the current time point is the A interval. Figure 3 In the pronunciation processing of step S105, the pronunciation unit 111 performs pronunciation based on the pronunciation instruction information.
[0081] That is, no matter what pitch the user performs a performance operation on, the sound is sounded at the correct pitch that should be sounded in the music at the correct timing. The sound in the A section is somewhat later than the sounding timing of the music, but it is a range that can be regarded as the correct timing.
[0082] In step S208 , CPU 101 determines whether the current position of the music progression is within section B (step S208 ).
[0083] When CPU 101 determines that the current music progression position is not within section B (step S208 ; NO), the CPU 101 proceeds to step S212 .
[0084] When it is determined that the current position of the music progression is within the B section (step S208 ; YES), CPU 101 determines whether the sounding completion flag is on (step S209 ).
[0085] When determining that the sounding completion flag is not on (step S209 ; No), CPU 101 outputs sounding instruction information to sound source 108 (step S210 ), the sounding instruction information instructing sounding of the pitch of the note number indicated by the note-on event, and then proceeds to step S211 .
[0086] In the sound source 108, the sound source 111 includes Figure 3 In the pronunciation processing of step S105, pronunciation is performed based on the pronunciation instruction information.
[0087] On the other hand, when CPU 101 determines that the sounding completion flag is on (step S209 ; YES), the process proceeds to step S211 .
[0088] Here, since the sound that should be sounded in the music is sounded according to the delayed sounding timing in the interval to the A interval or the tick processing described later, the sounding completion flag is turned on in step S209, and therefore the sounding instruction corresponding to the note-on event (performance operation) is not performed in step S210. However, since the sounding completion flag is turned off in the next step S211, when a note-on event is input in the B interval next, the sounding instruction corresponding to the note-on event is performed.
[0089] That is, when the musical sound is sounded in the delayed sounding timing in the interval to the A interval or in the tick processing described later, the sound corresponding to the performance operation detected only once in the B interval is canceled (no sound is produced in the sounding section 111). The initial performance operation in the B interval is considered to be a late performance operation caused by the user's inability to perform the performance operation proficiently. Since the musical sound of the correct pitch has been sounded at the correct timing, it does not need to be sounded again. However, the performance operation after canceling the sound once is considered to be a conscious operation by the user as a performance performance, so it needs to be sounded. Therefore, only the sound corresponding to the initial note-on event in the B interval is canceled.
[0090] In step S211 , CPU 101 turns off the sounding completion flag (step S211 ), and the process proceeds to step S212 .
[0091] In step S212, CPU 101 turns on the performance flag (step S212), and transfers to Figure 3 Step S105.
[0092] The performance flag is a flag used by the CPU 101 to determine whether the user continues to perform a performance operation. When a note-on event is input, that is, when a performance operation of the electronic musical instrument 2 is detected, the performance flag is turned on.
[0093] On the other hand, if it is determined that the input MIDI data is not a note-on event (step S201; No), CPU 101 executes processing based on the input MIDI data (step S213), and then transfers to step S214. Figure 3 Step S105.
[0094] For example, when the input MIDI data is a note-off event, the CPU 101 outputs the mute instruction information corresponding to the pitch specified by the note-off event to the sound source 108 of the sound generator 111. In addition, when the input MIDI data is information for control conversion or program conversion, the CPU 101 changes various settings such as volume and timbre based on the input MIDI data.
[0095] The information processing device 1 executes a tick process at a predetermined time interval. The tick process is started at a predetermined time interval by a timer interrupt while the power is on. The cycle of the timer interrupt in the present embodiment is, for example, 1 millisecond.
[0096] Figure 5 1 is a flowchart showing the flow of the tick process. The tick process is executed by the cooperation of the CPU 101 and a program stored in the ROM 102 or the storage unit 104. In order to distinguish from the tick process of the second embodiment, the tick process in this embodiment is referred to as tick process A.
[0097] In the tick process A, the CPU 101 determines whether or not music is in progress (step S301 ).
[0098] For example, when the music is stopped or when the music to be played is not selected, it is determined that the music is not in progress.
[0099] When determining that music is not in progress (step S301 ; NO), the CPU 101 ends the tick process.
[0100] When determining that the music is in progress (step S301 ; YES), CPU 101 executes music progress processing (step S302 ).
[0101] In the music process, the CPU 101, for example, makes the music process for a time corresponding to the time difference (processing time) between the last tick process and the current tick process. In the present embodiment, in the accompaniment of the music, the sound producing unit 111 produces a sound that should be produced within the process time, or processes events such as program change and control change implemented within the process time.
[0102] Next, CPU 101 determines whether the current position of the music is the timing for producing the melody (step S303 ).
[0103] When it is determined that it is the timing to sound the melody in the music (step S303 ; Yes), CPU 101 further determines whether a sounding reservation flag is on (step S304 ).
[0104] Here, when a note-on event is input (a performance operation is detected) within the previous press interval, the sound reservation flag is turned on.
[0105] When determining that the sound reservation flag is on (step S304 ; YES), CPU 101 outputs sound generation instruction information to sound source 108 , the sound generation instruction information instructing to generate sound at a pitch to be generated at that timing in the music (step S305 ).
[0106] In the pronunciation unit 111, Figure 3 In the pronunciation processing of step S105, the pronunciation unit 111 performs pronunciation based on the pronunciation instruction information.
[0107] That is, in response to the note-on event (performance operation) in the first pressing section, the musical sound of the correct pitch of the music is sounded at the appropriate timing (sounding timing) when it should be sounded.
[0108] Next, CPU 101 turns off the sounding reservation flag (step S306 ), and the process proceeds to step S307 .
[0109] If it is determined in step S303 that the current music progression position is not the melody sounding timing (step S303 ; No), or if it is determined in step S304 that the sounding reservation flag is not on (step S304 ; No), CPU 101 proceeds to step S307 .
[0110] In step S307 , CPU 101 determines whether the current position of the music is at the delayed sounding timing (step S307 ).
[0111] When it is determined that the current music progression position is at the delayed sound generation timing (step S307 ; Yes), the CPU 101 determines whether the performance-in-progress flag is on (step S308 ).
[0112] That is, the CPU 101 determines whether the user is continuing the performance operation.
[0113] When it is determined that the performance-in-progress flag is on (step S308 ; Yes), the CPU 101 determines whether the sound production completion flag is on (step S309 ).
[0114] When determining that the sounding completion flag is not on (step S309 ; No), CPU 101 outputs sounding instruction information to sound the note at the pitch to be sounded at the immediately preceding sounding timing in the music to sound source 108 (step S310 ).
[0115] In the pronunciation unit 111, Figure 3 In the pronunciation processing of step S105, the pronunciation unit 111 performs pronunciation based on the pronunciation instruction information.
[0116] That is, even when the user's performance operation does not catch up with the delayed sound emission timing regarded as the correct sound emission timing, sound is emitted at the correct pitch of the music at the delayed sound emission timing.
[0117] Next, the CPU 101 turns on the sound production completion flag (step S311 ), turns off the performance-in-progress flag (step S312 ), and ends the tick process.
[0118] Here, the fact that sound is produced at the delayed sound timing (sound indication information is outputted by step S310) means that no performance operation performed by the user is detected between the previous pressing interval and the delayed sound timing. For this reason, in step S312, CPU 101 sets the playing flag to off, and controls so that sound is not produced at the delayed sound timing until a performance operation is detected later. That is, if the user does not perform a performance operation later, the sound of the correct pitch is not automatically produced at the delayed sound timing later. On the other hand, if a certain performance operation is performed, the playing flag becomes on ( Figure 4 Step S212 of ), so the delayed pronunciation support is continued. Therefore, it is possible to prevent the musical sound from being pronounced regardless of the user not continuing to perform the performance.
[0119] On the other hand, when it is determined in step S307 that the current music position is not the delayed pronunciation timing (step S307; No), when it is determined that the playing flag is not turned on (step S308; No), or when it is determined that the pronunciation completion flag is turned on (step S309; Yes), CPU101 ends the tick processing.
[0120] Thus, in the first embodiment, the timing of the sound production corresponding to the performance operation can be appropriately corrected based on the sound production timing of the music. Therefore, even a user who is not yet proficient in the performance technique can perform at the correct timing. In addition, if the user does not continue to perform, the musical sound will not be produced, so it is possible to prevent the sound production irrelevant to the user's non-performance, and it is possible to prevent the user's feeling that he is performing the performance.
[0121] <Second embodiment>
[0122] Next, a second embodiment of the present invention will be described.
[0123] Since the configuration of the information processing device 1 in the second embodiment is the same as the configuration described in the first embodiment, the description will be referenced and the operation of the second embodiment will be described below.
[0124] In the second embodiment, the information processing device 1 executes the process described in the first embodiment using Figure 3The main processing described above is different from the main processing described above, but the MIDI data processing and tick processing during performance support performed in step S104 when the performance support function is set to on are different from those in the first embodiment. The MIDI data processing and tick processing during performance support in the second embodiment are described below. In addition, in order to distinguish it from the MIDI data processing during performance support in the first embodiment, the MIDI data processing during performance support in this embodiment is referred to as MIDI data processing during performance support B. In addition, the tick processing in this embodiment is referred to as tick processing B.
[0125] Figure 6 1 is a flowchart showing the flow of MIDI data processing B during performance support in the second embodiment. This processing is executed by the CPU 101 in cooperation with a program stored in the ROM 102 or the storage unit 104 .
[0126] In the MIDI data process B during the performance support, first, the CPU 101 determines whether the input MIDI data is a note-on event (step S401 ).
[0127] When it is determined that the input MIDI data is a note-on event (step S401 ; Yes), CPU 101 determines whether the current position of the music progression is within the previous press interval (step S402 ).
[0128] If it is determined that the current music progression position is within the previous pressing interval (step S402; Yes), CPU 101 executes the processing of steps S403 to S404 and moves to step S405. Figure 4 The processing of steps S203 to S204 is the same, so the description is cited.
[0129] On the other hand, when CPU 101 determines that the current music progression position is not within the previous section (step S402 ; No), the CPU 101 proceeds to step S405 .
[0130] In step S405 , CPU 101 determines whether the current music progress position is within the sound generation timing or the A section (delayed sound generation waiting section) (step S405 ).
[0131] When it is determined that the current music progression position is not within the sound generation timing or the A section (step S405 ; No), the CPU 101 proceeds to step S408 .
[0132] On the other hand, if it is determined that the current music position is within the sounding timing or the A interval (step S405; Yes), CPU 101 executes the processing of steps S406 to S407 and transfers to step S408. Figure 4 The processing of steps S206 to S207 is the same, so the description is cited.
[0133] In step S408 , CPU 101 determines whether the current position of the music progression is within section B (step S408 ).
[0134] When CPU 101 determines that the current music progression position is not within section B (step S408 ; NO), the CPU 101 proceeds to step S412 .
[0135] When it is determined that the current position of the music progression is within the B section (step S408 ; YES), CPU 101 determines whether the sounding completion flag is on (step S409 ).
[0136] When CPU 101 determines that the sounding completion flag is on (step S409 ; YES), the process proceeds to step S411 .
[0137] If it is determined that the sounding completion flag is not on (step S409; No), CPU 101 executes the process of step S410 (step S410), and then moves to step S411. Figure 4 The processing of step S210 is the same, so the description is cited.
[0138] In step S411 , CPU 101 turns off the sounding completion flag (step S411 ), and the process proceeds to step S412 .
[0139] In step S412 , the CPU 101 turns on the performance-in-progress flag (step S412 ).
[0140] Next, CPU 101 sets the no-performance counter to 0 (step S413), and transfers to Figure 3 Step S105.
[0141] The no-performance counter counts the number of musical tones that are sounded at the delayed sounding timing without detecting a performance operation. When a note-on event is input, the no-performance counter is reset to 0.
[0142] On the other hand, if it is determined that the input MIDI data is not a note-on event (step S401; No), CPU 101 executes processing based on the input MIDI data (step S414), and transfers to step Figure 3 Step S105.
[0143] Figure 7 2 is a flowchart showing the flow of the tick process in the second embodiment. The tick process B is executed by the cooperation of the CPU 101 and a program stored in the ROM 102 or the storage unit 104 .
[0144] In the tick process B, first, the CPU 101 determines whether a music piece is in progress (step S501 ).
[0145] When determining that the music is not in progress (step S501 ; NO), the CPU 101 ends the tick process B.
[0146] When determining that the music is in progress (step S501 ; YES), CPU 101 executes music progress processing (step S502 ).
[0147] Next, CPU 101 determines whether the current position of the music is the timing for producing the melody (step S503 ).
[0148] When it is determined that it is the timing to sound the melody in the music (step S503 ; Yes), CPU 101 further determines whether a sounding reservation flag is on (step S504 ).
[0149] If it is determined that the sound reservation flag is on (step S504; Yes), CPU 101 executes the processing of steps S505 to S506 and then proceeds to step S507. Figure 5 The processing of steps S305 to S306 is the same, so the description is cited.
[0150] If it is determined in step S503 that the current music progression position is not the melody sounding timing (step S503 ; No), or if it is determined in step S504 that the sounding reservation flag is not on (step S504 ; No), CPU 101 proceeds to step S507 .
[0151] In step S507 , the CPU 101 determines whether the current position of the music is at the delayed sounding timing (step S507 ).
[0152] When it is determined that the current music progression position is at the delayed sound generation timing (step S507 ; Yes), the CPU 101 determines whether the performance-in-progress flag is on (step S508 ).
[0153] When it is determined that the performance-in-progress flag is on (step S508 ; Yes), the CPU 101 determines whether the sound production completion flag is on (step S509 ).
[0154] When determining that the sounding completion flag is not on (step S509 ; No), CPU 101 outputs sounding instruction information to sound the note at the pitch to be sounded at the immediately preceding sounding timing in the music to sound source 108 (step S510 ).
[0155] Next, the CPU 101 turns on the sound production completion flag (step S511 ), and increments the non-performance counter (step S512 ).
[0156] Next, the CPU 101 determines whether the non-performance counter is equal to or greater than 2 (step S513 ).
[0157] When it is determined that the non-performance counter is not equal to or greater than 2 (step S513 ; NO), the CPU 101 ends the tick process B.
[0158] When it is determined that the non-playing counter is equal to or greater than 2 (step S513 ; Yes), the CPU 101 turns off the playing flag (step S514 ), and ends the tick process B.
[0159] Here, when the performance counter is greater than 2, that is, when the musical sound that is not automatically pronounced at the delayed pronunciation timing continues for 2 notes, and when no performance operation is detected during the period from the first press interval of the first note to the delayed pronunciation timing of the second note, the performance flag is turned off.
[0160] That is, after the delayed sounding of the second tone, the sound at the delayed sounding timing is not made until the performance operation is detected. In other words, even if the performance operation is not detected, the sound is made at the delayed sounding timing until the second tone. When the performance operation is detected, the sound is made at the delayed sounding timing until the second tone. Figure 6 In step S412, the mark is turned on during performance, and no performance counter is reset. That is, even when the performance operation does not catch up in a faster phrase, as long as the performance is continued afterwards, the part lacking in the performance operation will be automatically supported for pronunciation.
[0161] In addition, in the present embodiment, if the user's playing operation is not detected for two consecutive notes, the subsequent musical sound is not produced at the delayed sounding timing, but if the user's playing operation is not detected for three or more consecutive notes, the subsequent musical sound is not produced at the delayed sounding timing. However, when the number of notes increases to three or four, the number of automatically produced notes increases, and the feeling that the user is playing by himself becomes weaker, which is not preferable.
[0162] Figure 8 This is a conceptual diagram for explaining the performance support operation of the second embodiment.
[0163] Figure 8The 16th notes t1 to t8 in the upper layer are the original sounding timings of the musical sounds (notes) of the music. Figure 8 The quarter notes A to C in the lower layer are played by the user.
[0164] The user's performance A is performed earlier than the original pronunciation timing, i.e., t1, and is therefore located in the advance interval. The pronunciation based on the performance A is implemented at the timing t1 through the pronunciation reservation flag. The musical sounds with pronunciation timings of t2 and t3 are automatically pronounced through the performance support function. Since there is no performance operation by the user for two consecutive notes, the performance flag is temporarily turned off. However, through the user's performance B, the performance flag is turned on again, the sound of t4 is pronounced through the pronunciation reservation corresponding to the performance B, and the sounds of t5 and t6 that have not been performed are automatically pronounced at the delayed pronunciation timing. Since there is no performance operation by the user for two consecutive notes, the performance flag is temporarily turned off. However, through the user's performance C, the performance flag is turned on again, the sound of t7 is pronounced through the pronunciation reservation corresponding to the performance C, and the sound of t8 that has not been performed is automatically pronounced at the delayed pronunciation timing.
[0165] Like this, even if the user can only perform the performance operation with 4-quaver notes, by the performance support function in the 2nd embodiment, the performance of the music that also can comprise 16-quaver notes.In addition, if the user does not continue to perform the performance operation, then can not pronounce, therefore can obtain the performance feeling that oneself is playing.
[0166] As described above, when the CPU 101 of the information processing device 1 detects a performance operation in the pre-pressing interval between a given time before the sound generation timing of the musical sound of the music and the sound generation timing, the sound generation unit 111 performs a sound generation corresponding to the performance operation at the sound generation timing. When the performance operation is not detected in the pre-pressing interval and the performance operation is not detected at the sound generation timing, the CPU 101 controls the sound generation unit 111 not to perform a sound generation at the sound generation timing.
[0167] Therefore, the timing of sound emission corresponding to the musical performance operation can be appropriately corrected based on the sound emission timing of the music. Specifically, it can be corrected so that sound emission is performed at the sound emission timing when the musical performance operation is detected in the previous section.
[0168] Furthermore, when a musical performance operation is detected between the musical performance sounding timing and the delayed sounding timing which is later than the sounding timing by a given time, the CPU 101 causes the sounding unit 111 to sound at the timing when the musical performance operation is detected.
[0169] Therefore, even if a musical performance operation is not detected until the sound emission timing, if a musical performance operation is detected until the delayed sound emission timing which can be regarded as the correct sound emission timing, the sound emission unit 111 can emit sound at the timing when the musical performance operation is detected.
[0170] Furthermore, when no musical performance operation is detected between the previous pressing section and the delayed sound emission timing, the CPU 101 causes the sound emission unit 111 to emit sound at the delayed sound emission timing.
[0171] Therefore, even if the musical performance operation is not detected until the delayed sound emission timing, the sound emission unit 111 can be caused to emit sound at the delayed sound emission timing which can be regarded as the correct sound emission timing.
[0172] In addition, when no performance operation is detected between the first pressing interval and the delayed pronunciation timing, CPU101 is controlled so that after the pronunciation unit 111 has made a sound at the delayed pronunciation timing, the sound production unit 111 will not make a sound at the delayed pronunciation timing corresponding to the pronunciation timing of the subsequent musical sound in the music until the performance operation is detected.
[0173] Therefore, if the user does not continue to play, the sound will not be automatically produced, so it is possible to prevent the sound from being produced regardless of the fact that the user is not playing, and it is possible to prevent the user's feeling that he or she is playing the music from being damaged.
[0174] In addition, when a musical sound that is pronounced with a delayed pronunciation timing continues for two notes in a piece of music, and no performance operation is detected during the period from the first pressing interval of the first tone to the delayed pronunciation timing of the second tone, CPU101 is controlled so that after the sound producing section 111 produces the sound at the delayed pronunciation timing of the second tone, the sound producing section 111 will not produce the sound at the delayed pronunciation timing corresponding to the pronunciation timing of the subsequent musical sound in the music until a performance operation is detected.
[0175] Therefore, even when no performance operation is detected, pronunciation is still performed with the delayed pronunciation timing until 2 notes. Therefore, even when the user's performance operation cannot catch up in a faster phrase, as long as the performance is continued, support can be provided so that the part that is lacking in the performance operation is automatically pronounced at the delayed pronunciation timing.
[0176] In addition, when the musical sound that should have been sounded at the sound timing is sounded until the delayed sound timing, and when a performance operation is detected in the interval between the delayed sound timing and the beginning of the previous press interval for the next sound timing, CPU101 is controlled so that the sound production unit 111 will not perform the sound corresponding to the initial performance operation detected in the interval.
[0177] Therefore, it is possible to prevent a musical sound that has already been sounded at the correct timing from being sounded again when the user's performance operation is late.
[0178] Furthermore, the CPU 101 causes the sound producing unit 111 to produce sound at a pitch that should be produced at a production timing in the music. Therefore, the sound can be produced at an accurate pitch.
[0179] The contents described in the first embodiment and the second embodiment are suitable examples of the information processing device, the electronic musical instrument, the sound emission control method, and the program according to the present invention, but are not limited thereto.
[0180] For example, in the above-mentioned embodiment, the pitch of the key played is not affected by the pitch of the key played, but the pitch of the key played can be used to play the sound, and only the timing of the sound is supported. In addition, the sound can be played with a fixed force, or with a force specified by the music data or the force of the user's playing operation.
[0181] In addition, for example, in the above embodiment, the information processing device 1 and the electronic musical instrument 2 are independently provided as an example, but the functions of the present invention implemented by the CPU 101 of the information processing device 1 and the sound producing unit may be provided in the electronic musical instrument 2.
[0182] Furthermore, for example, in the above-described embodiment, the electronic musical instrument 2 is described as a keyboard instrument, but may be another electronic musical instrument such as an orchestral synthesizer, an electric guitar, or a MIDI violin.
[0183] Furthermore, in the above-mentioned embodiment, an example in which the present invention is applied to the performance support of the melody of a music piece is described, but the present invention can also be applied to the performance support of other parts (for example, accompaniment).
[0184] In addition, in the above-mentioned embodiment, an example of using a semiconductor memory such as a ROM and a hard disk as a computer-readable medium of the program involved in the present invention is disclosed, but it is not limited to this example. Portable recording media such as a CD-ROM can also be used as other computer-readable media. In addition, as a medium for providing data of the program involved in the present invention via a communication line, a carrier wave can also be used.
[0185] Furthermore, the detailed structure and detailed operation of the information processing device 1 can be appropriately changed without departing from the gist of the present invention.
[0186] The embodiments of the present invention are described above, but the technical scope of the present invention is not limited to the above embodiments, but is determined based on the contents described in the claims. Furthermore, according to the records in the claims, the equivalent scope of adding changes that are irrelevant to the essence of the present invention is also included in the technical scope of the present invention.
Claims
1. An information processing device, characterized in that: have: a storage unit for storing the program; and a control unit for performing control based on a program stored in the storage unit, When a performance operation is detected in a preceding period from a given time before the sound generation timing of a musical sound of a piece of music to the sound generation timing, the control unit controls the sound generation unit to generate sound corresponding to the performance operation at the sound generation timing. The control unit controls the sound producing unit not to produce sound at the sound producing timing when no musical performance operation is detected in the preceding pressing section and no musical performance operation is detected at the sound producing timing.
2. The information processing device according to claim 1, characterized in that When a musical performance operation is detected between the sound emission timing and a delayed sound emission timing that is later than the sound emission timing by a given time, the control section causes the sound emission section to emit sound at the timing when the musical performance operation is detected.
3. The information processing device according to claim 2, characterized in that: The control unit causes the sound producing unit to produce sound at the delayed sound producing timing when no musical performance operation is detected during a period from the previous pressing section to the delayed sound producing timing.
4. The information processing device according to claim 3, characterized in that: When no performance operation is detected during the period from the first pressing interval to the delayed sound production timing, the control unit controls the sound production unit to not produce sound at the delayed sound production timing corresponding to the sound production timing of the subsequent musical sound in the music piece until the performance operation is detected, after the sound production unit has produced sound at the delayed sound production timing.
5. The information processing device according to claim 3, characterized in that: In a case where the musical sound produced at the delayed sounding timing continues for two notes in the music piece, and if no performance operation is detected during the period from the first pressing interval of the first note to the delayed sounding timing of the second note, the control unit controls the sounding unit to not produce sound at the delayed sounding timing corresponding to the sounding timing of the subsequent musical sound in the music piece until a performance operation is detected after the sounding unit has produced sound at the delayed sounding timing of the second note.
6. The information processing device according to claim 2, characterized in that: In a case where a musical sound that should have been sounded at the sounding timing has been sounded until the delayed sounding timing, and in a case where a performance operation is detected in an interval between the delayed sounding timing and the beginning of the pre-press interval for the next sounding timing, the control unit controls the sounding unit so that it does not perform a sound corresponding to the initial performance operation detected in the interval.
7. The information processing device according to claim 6, characterized in that: The control unit controls the sound producing unit to produce a sound corresponding to a musical performance operation subsequent to the first musical performance operation.
8. An electronic musical instrument, characterized in that: have: The information processing device according to any one of claims 1 to 7; and The performance operating element is used for the user to perform performance operations.
9. A pronunciation control method, characterized in that: When a performance operation is detected within a pre-pressing interval between a given time before the sound generation timing of a musical sound of a piece of music and the sound generation timing, the computer controls the sound generation part to generate a sound corresponding to the performance operation at the sound generation timing. When no musical performance operation is detected in the preceding pressing section and no musical performance operation is detected at the sound generation timing, the computer controls the sound generation section not to generate sound at the sound generation timing.
10. The pronunciation control method according to claim 9, characterized in that: When a musical performance operation is detected between the sound emission timing and a delayed sound emission timing that is later than the sound emission timing by a given time, the computer causes the sound emission section to emit sound at the timing when the musical performance operation is detected.
11. The pronunciation control method according to claim 10, characterized in that: When no musical performance operation is detected during a period from the previous pressing section to the delayed sound emission timing, the computer causes the sound emission section to emit sound at the delayed sound emission timing.
12. The pronunciation control method according to claim 11, characterized in that: When no performance operation is detected during the period from the first pressing interval to the delayed sounding timing, the computer is controlled so that after the sounding section has produced a sound at the delayed sounding timing, the sounding section will not produce a sound at the delayed sounding timing corresponding to the sounding timing of the subsequent musical sound in the music piece until a performance operation is detected.
13. The pronunciation control method according to claim 11, characterized in that: In a case where the musical sound produced at the delayed sounding timing continues for two notes in the music, and if no performance operation is detected during the period from the first pressing interval of the first note to the delayed sounding timing of the second note, the computer is controlled so that after the sounding section produces sound at the delayed sounding timing of the second note, the sounding section will not produce sound at the delayed sounding timing corresponding to the sounding timing of the subsequent musical sound in the music until a performance operation is detected.
14. The pronunciation control method according to claim 10, characterized in that: In a case where a musical sound that should have been sounded at the sounding timing has been sounded until the delayed sounding timing, and in a case where a performance operation is detected in an interval between the delayed sounding timing and the beginning of the pre-press interval for the next sounding timing, the computer controls the sounding section so that it does not perform a sound corresponding to the initial performance operation detected in the interval.
15. A computer program product comprising a program for causing a computer to function as a control unit, wherein: When a performance operation is detected within a pre-pressing interval between a given time before the sound generation timing of a musical sound of a piece of music and the sound generation timing, the control unit controls the sound generation unit to generate sound corresponding to the performance operation at the sound generation timing. The control unit controls the sound producing unit not to produce sound at the sound producing timing when no musical performance operation is detected in the preceding pressing section and no musical performance operation is detected at the sound producing timing.
Citation Information
Patent Citations
Music performance assisting device and program
JP2007072387A
Suction device and conveyance system
JP2023179123A