Musical sound processing apparatus, method, and program

The tone processing device simplifies chord performance in electronic instruments by automatically handling note information and pronunciation timing, addressing the challenge of timely operation of performance controls in existing systems.

JP2025068636APending Publication Date: 2025-04-30CASIO COMPUTER CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023178533
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-10-17
Publication Date
2025-04-30

AI Technical Summary

Technical Problem

Existing tone processing systems for electronic instruments require users to timely operate performance controls for all sounds in a chord, making it difficult for users to perform chords easily.

Method used

A tone processing device that includes a processor and memory, which reads musical tone information from music data, overwrites and stores note information based on pronunciation timing, and instructs the electronic instrument to produce chords by operating the performance control element according to the stored note information.

Benefits of technology

Enables users to easily perform chord performances by automatically handling the pronunciation timing and note information, simplifying the process and reducing user effort.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025068636000001_ABST
    Figure 2025068636000001_ABST
Patent Text Reader

Abstract

To allow a user to easily perform chord performance.SOLUTION: A musical sound processing apparatus comprises at least one processor and a memory including a first area. At least one processor sequentially reads musical sound information of music data including a plurality of pieces of musical sound information each associated with sound production timing, sequentially overwrites and stores first musical sound information in the first area on the basis of sound production timing in a case where the read musical sound information includes the first musical sound information, rewrites the first musical sound information stored in the first area to two or more pieces of first musical sound information in a case where the two or more pieces of first musical sound information being regarded as the same sound production timing are read, and instructs sound production of first musical sound corresponding to all pieces of first musical sound information stored in the first area by operating a performance operator of an electronic musical instrument.SELECTED DRAWING: Figure 4A
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The disclosure of this specification relates to a musical sound processing device, method, and program. [Background technology]

[0002] There is known a technique for assisting a user in performing an electronic musical instrument (see, for example, Patent Document 1).

[0003] In Patent Document 1, a user can mark only a specific note in a chord. When the user operates a performance operator corresponding to another note (a note not marked) that constitutes the chord, the note corresponding to the operated performance operator and the marked note are simultaneously generated in accordance with the timing of the performance operation. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2007-72387 A Summary of the Invention [Problem to be solved by the invention]

[0005] In Patent Document 1, the user cannot produce a chord unless he or she operates the performance operators corresponding to the other notes (unmarked notes) that make up the chord at the appropriate time. Therefore, Patent Document 1 has room for improvement in terms of making it easier for the user to play chords.

[0006] The present invention has been made in consideration of the above circumstances, and an object of the present invention is to provide a musical sound processing device, method, and program that allows a user to easily play chords. [Means for solving the problem]

[0007] A musical sound processing device according to an embodiment of the present invention includes at least one processor and a memory including a first area. The at least one processor sequentially reads musical sound information of song data including a plurality of pieces of musical sound information each associated with a sounding timing, and when the read musical sound information includes first musical sound information, sequentially overwrites and stores the first musical sound information in the first area based on the sounding timing, and when two or more pieces of first musical sound information that are considered to have the same sounding timing are read, rewrites the first musical sound information stored in the first area with the two or more pieces of first musical sound information, and instructs the sounding of first musical sounds corresponding to all of the first musical sound information stored in the first area by operating a performance operator of an electronic musical instrument. Effect of the Invention

[0008] According to one embodiment of the present invention, there is provided a musical sound processing device, method and program that allows a user to easily play chords. [Brief description of the drawings]

[0009] [Figure 1] 1 is a block diagram showing a configuration of a musical instrument system according to an embodiment of the present invention; [Diagram 2] 1 is a diagram for explaining an overview of a musical sound processing device, method, and program according to an embodiment of the present invention; [Diagram 3] 4 is a flowchart of a process executed by a processor provided in the musical sound processing device according to an embodiment of the present invention. [Figure 4A] This is a subroutine of the music progression process in step S104 of FIG. [Figure 4B] This is a subroutine of the music progression process in step S104 of FIG. [Diagram 5] FIG. 2 is a diagram illustrating sound generation timing and sound mute timing. [Figure 6A] This is a subroutine of the performance operation process in step S105 of FIG. [Figure 6B]This is a subroutine of the performance operation process in step S105 of FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] A musical sound processing device according to an embodiment of the present invention, and a method and a program executed by the musical sound processing device, which is an example of a computer, will be described in detail with reference to the drawings.

[0011] 1 is a block diagram showing the configuration of a musical instrument system according to an embodiment of the present invention. The musical instrument system according to this embodiment includes a musical sound processing device 1 and an electronic musical instrument 2. The musical sound processing device 1 and the electronic musical instrument 2 are connected to each other so as to be able to communicate with each other via wire or wirelessly.

[0012] 1, the musical sound processing device 1 includes a processor 10, a RAM (Random Access Memory) 11, a ROM (Read Only Memory) 12, a flash memory 13, a display unit 14, an operation unit 15, a MIDI (Musical Instrument Digital Interface) interface 16, a sound source LSI (Large Scale Integration) 17, a D / A converter 18, an amplifier 19, and a speaker 20. The various components of the musical sound processing device 1 are connected by a bus 21.

[0013] The processor 10 reads out the programs and data stored in the ROM 12. The processor 10 controls the entire sound processing apparatus 1 by using the RAM 11 as a work area.

[0014] The processor 10 is, for example, a single processor or a multi-processor, and includes at least one processor. When multiple processors are included, the processor 10 may be packaged as a single device, or may be configured as multiple devices that are physically separated within the musical sound processing device 1. The processor 10 may be called, for example, a control unit, a CPU (Central Processing Unit), an MPU (Micro Processor Unit), or an MCU (Micro Controller Unit).

[0015] The RAM 11 temporarily holds data and programs, such as various programs read from the ROM 12, music data, and waveform data.

[0016] As described later, a portion of the memory area of ​​RAM 11 (an example of a first area of ​​memory) is reserved as buffer 11A. Another portion of the memory area of ​​RAM 11 is reserved as buffer 11B. Buffers 11A and 11B may be referred to as "sound candidate buffer 11A" and "sounding buffer 11B," respectively. Buffers 11A and 11B are reserved as array areas so that multiple note numbers that make up a chord can be stored.

[0017] The ROM 12 stores a control program 12A. The processor 10 executes the control program 12A to execute various processes according to an embodiment of the present invention. That is, the musical sound processing device 1 is an example of a computer that executes various processes according to the present embodiment.

[0018] The flash memory 13 stores a plurality of pieces of music data 13A. Although the plurality of pieces of music data 13A are data for different songs, they are denoted by the same reference numeral 13A for the sake of convenience.

[0019] The music data 13A is created in, for example, SMF (Standard MIDI File) format. The music data 13A includes a plurality of events. In each event, delta time, command type, command data, etc. are described.

[0020] That is, the song data 13A includes a plurality of events (an example of musical tone information) each associated with a sound generation timing.

[0021] The command type is information such as note on, note off, control change, pitch bend change, expression, etc. In the MIDI standard, it is called a status byte.

[0022] Command data is setting information for the command indicated by the command type. Command data includes information such as note number and velocity. In the MIDI standard, this is called a data byte.

[0023] The processor 10 sequentially reads the events in the music data 13A and progresses the music according to the delta time described in each event.

[0024] The music data 13A is not limited to data stored in the flash memory 13. The music data 13A may be obtained, for example, via a Universal Serial Bus (USB) memory, via the Internet, or via a smartphone.

[0025] The display unit 14 includes, for example, an LCD (Liquid Crystal Display) and an LCD controller. When the LCD controller drives the LCD according to a control signal from the processor 10, a screen corresponding to the control signal is displayed on the LCD. The LCD may be configured as a touch panel display. The LCD may be replaced with an organic EL (Electro Luminescence), an LED (Light Emitting Diode), or the like.

[0026] The operation unit 15 includes a plurality of switches, buttons, etc. for the user to perform various operations. The operation unit 15 includes, for example, a power switch, a volume knob, a button for the user to select a song, a button for the user to select a performance part, a button for the user to instruct the start of playback of a song, a button for the user to instruct the user to stop playback of a song, etc.

[0027] The MIDI interface 16 communicably connects the musical sound processing device 1 and the electronic musical instrument 2. To the MIDI interface 16, for example, MIDI data output by the electronic musical instrument 2 is input.

[0028] For example, the waveform data is stored in the ROM 12. The waveform data is loaded into the RAM 11 at the start-up process of the musical sound processing device 1 so that musical tones are quickly generated according to the music data 13A. The processor 10 instructs the sound source LSI 17 to read out the corresponding waveform data from the waveform data loaded into the RAM 11.

[0029] The tone generator LSI 17 generates musical tones based on the waveform data read from the RAM 11 under the instruction of the processor 10. The tone generator LSI 17 has multiple generator sections and can simultaneously generate musical tones equal to the number of the generator sections at maximum. Note that in this embodiment, the processor 10 and the tone generator LSI 17 are configured as separate processors, but in another embodiment, the processor 10 and the tone generator LSI 17 may be configured as a single processor.

[0030] The digital musical sound data generated by the sound source LSI 17 is converted into an analog signal by a D / A converter 18 , and then amplified by an amplifier 19 and output to a speaker 20 .

[0031] The musical sound processing device 1 is a device dedicated to electronic musical instruments and includes a sound source and a speaker. The musical sound processing device 1 may be replaced with, for example, a smartphone, a tablet terminal, a PC (Personal Computer), a game controller, or the like. For example, a smartphone or a tablet terminal can operate as the musical sound processing device 1 by downloading and installing an application that executes various processes according to an embodiment of the present invention from an app store. In this case, a user can operate the musical sound processing device 1 by, for example, performing a touch operation on a GUI (Graphical User Interface) screen on which various parts are laid out.

[0032] The electronic musical instrument 2 is, for example, an electronic saxophone. The electronic musical instrument 2 outputs MIDI data to the musical sound processing device 1 in response to a performance operation by a user. Hereinafter, this MIDI data will be referred to as "MIDI data D."

[0033] The MIDI data D output from the electronic musical instrument 2 includes various messages such as note on, note off, pitch bend, control change (e.g., expression), etc. Pitch bend messages are issued based on, for example, the strength of the user biting into the mouthpiece of the electronic musical instrument 2. Expression messages are issued based on, for example, the strength of the user's blowing into the electronic musical instrument 2.

[0034] The electronic musical instrument 2 may be another type of electronic musical instrument, such as an electronic keyboard instrument, an electronic percussion instrument, an electronic wind instrument, or an electronic string instrument.

[0035] FIG. 2 is a diagram for explaining an overview of a method and program executed by the musical sound processing apparatus 1 according to an embodiment of the present invention.

[0036] An SMF (i.e., song data 13A) is made up of one or more tracks and includes multiple parts. A user can select one performance part from the multiple parts by operating the operation unit 15. The multiple parts include a melody part, chord part, bass part, drum part, etc. For convenience, parts other than the performance parts are referred to as "non-performance parts."

[0037] The music data 13A may contain only one part. In this case, this one part becomes the performance part.

[0038] The musical sound processing device 1 sequentially reads each event (MIDI data) included in the music data 13A.

[0039] When the timing of the tone generation of the non-playing part, which is the timing specified by the SMF, arrives, the musical sound processing device 1 instructs the sound source LSI 17 to generate the tone specified by the event in real time, that is, the musical sound processing device 1 automatically generates the tone of the non-playing part at the timing and volume specified by the SMF.

[0040] On the other hand, when the timing specified by the SMF for the musical sound processing device 1 is reached, the musical sound processing device 1 does not immediately instruct the sound source LSI 17 to generate a sound, but stores the note number described in the event in the buffer 11A. The note numbers described in the events of the performance part are always overwritten and stored with the latest note numbers as the song progresses in the buffer 11A.

[0041] When a user performs a performance on the electronic musical instrument 2, MIDI data D is input to the musical sound processing device 1. When the MIDI data D including, for example, a note-on message is input, the musical sound processing device 1 instructs the sound source LSI 17 to generate a musical sound of the note number stored in the buffer 11A at that time, regardless of the note number included in the MIDI data D. The volume of the generated musical sound is determined according to the velocity included in the MIDI data D, not the velocity described in the event of the song data 13A. In other words, the musical sound processing device 1 generates the musical sound of the performance part at the timing and volume of the user's operation.

[0042] In this way, the musical sound processing device 1 generates musical tones of the non-playing part at timings and volumes according to the song data 13A, while generating musical tones of the playing part according to the operation timings and strengths of the user.

[0043] The user can play the part they want to play at any timing and volume while listening to the parts they are not playing, and the song progresses automatically. Even if the user is not good at playing musical instruments, they can experience playing the part they want by taking the initiative.

[0044] From another point of view, the user can play only a part selected by the user, instead of playing all the parts. By independently playing a part of the music with simple operations, the user can feel as if he or she has played a complex piece of music.

[0045] As the song progresses (specifically, each time a timing for sounding a musical tone of a performance part arrives), the note numbers in the buffer 11A are automatically replaced. Therefore, even if the user plays the electronic musical instrument 2 freely, the song can be played with the appropriate musical tone that should be sounded at each moment.

[0046] In this embodiment, the electronic musical instrument 2 is an electronic saxophone-type MIDI controller (hereinafter referred to as "electronic saxophone"). The electronic musical instrument 2, which is an electronic saxophone, is a monophonic instrument. Therefore, the electronic musical instrument 2 cannot perform chord performances. For example, even if a user performs a blowing operation (blow into) the electronic musical instrument 2 quickly multiple times, the sounds that are produced will not be a chord, but multiple consecutive sounds.

[0047] Therefore, the musical sound processing device 1 does not receive multiple MIDI data D that constitute a chord from the electronic musical instrument 2. For example, if a chord is included in the performance part of the song data 13A, it is difficult for the musical sound processing device 1 to generate the chord.

[0048] Therefore, the musical sound processing device 1 according to this embodiment is configured so that, when a chord is included in the performance part of the song data 13A, this can be sounded as a chord.

[0049] Specifically, the musical sound processing device 1 (processor 10) sequentially reads events (an example of musical sound information) of the song data 13A, which includes multiple musical sound information each associated with a sound production timing, and if the read event includes a note number of a performance part (information regarding a note of a first part, an example of first musical sound information), it sequentially overwrites and stores the note number of the performance part in the buffer 11A (an example of a first area) based on the sound production timing.

[0050] When two or more note numbers that are deemed to have the same sounding timing are read, the musical sound processing device 1 overwrites and stores the two or more note numbers in the buffer 11A (in other words, it rewrites the note numbers stored in the buffer 11A with the two or more first note numbers that are deemed to have the same sounding timing). When the performance operator of the electronic musical instrument 2 is operated (for example, each time the performance operator of the electronic musical instrument 2 is operated, at the timing of the operation), the musical sound processing device 1 instructs the sounding of musical sounds (an example of a first musical sound) corresponding to all the note numbers stored in the buffer 11A.

[0051] That is, when two or more note numbers are stored in the buffer 11A, the musical sound processing device 1 sounds a chord corresponding to the two or more note numbers at the timing of the user's performance operation. The user can make the musical sound processing device 1 sound a chord included in the performance part by simply performing a single performance operation on the electronic musical instrument 2 (for example, a simple operation of sounding one note once).

[0052] Fig. 3 is a flowchart showing the process executed by the processor 10 in one embodiment of the present invention. For example, when the power supply of the musical sound processing device 1 is turned on, the process shown in Fig. 3 is started. When the power supply of the musical sound processing device 1 is turned off, the process shown in Fig. 3 is ended.

[0053] In the description of this flowchart, the melody part of the music data 13A is the performance part, and the parts other than the melody part are the non-performance parts. The melody part of the music data 13A includes chords. In another embodiment, the parts other than the melody part may be the performance part.

[0054] 3, the processor 10 executes an initialization process (step S101). In the initialization process, each component is initialized. In addition, variables such as the buffers 11A and 11B are initialized.

[0055] The processor 10 executes a switch process (step S102). In the switch process, the operation state of each operation member of the operation unit 15 is obtained.

[0056] The processor 10 executes function processing (step S103). In the function processing, a function corresponding to the operation state of each operation member acquired in step S102 is executed. For example, when the music playback start button is pressed, a music playback start process is executed. When the music selection button is pressed, the selected music data 13A is loaded from the flash memory 13 to the RAM 11.

[0057] The processor 10 executes a music progression process (step S104). In the music progression process, the music progresses as time passes.

[0058] Processor 10 executes a performance operation process (step S105). In the performance operation process, when MIDI data D corresponding to a user's performance operation is input from electronic musical instrument 2, a process corresponding to the performance operation is executed.

[0059] 4A and 4B show a subroutine of the music progression process (step S104 in FIG. 3).

[0060] 4A, the processor 10 determines whether a song is in progress (step S201). If the user has pressed the song playback start button and has not pressed the song playback stop button, or the song has not ended, the song is in progress.

[0061] If the song is not in progress (step S201: NO), the processor 10 ends the subroutine of the song progression process (step S104 in FIG. 3).

[0062] When a song is in progress (step S201: YES), the processor 10 determines whether or not an event of the song data 13A to be processed at the current progress time includes a note-on message (step S202).

[0063] If it is determined in step S202 that the event includes a note-on message (step S202: YES), the processor 10 determines whether the event including the note-on message constitutes a melody part (step S203). Hereinafter, an event including a note-on message or a note-off message is referred to as a "note event."

[0064] If the note event constitutes a non-played part other than a melody part (step S203: NO), the processor 10 instructs the sound source LSI 7 to generate a musical sound according to the description of the note event (note number, velocity, etc.) (step S204), and ends the subroutine of the music progression processing (step S104 in FIG. 3).

[0065] The sound source LSI 7 generates musical tones of the non-playing parts in response to instructions from the processor 10. As a result, the musical tones are output from the speaker 20.

[0066] In other words, when the read event (an example of musical tone information) includes a note number of a non-played part (information regarding a note of a second part different from the first part, an example of second musical tone information), the processor 10 does not store this note number in the sound generation candidate buffer 11A (an example of the first area), but instructs the sound source LSI 17 to generate a musical tone (an example of a second musical tone) corresponding to this note number at the sound generation timing of this note number.

[0067] If the note event constitutes a melody part (step S203: YES), the processor 10 refers to the delta time included in the note event and calculates the time difference between the sounding timing of the musical sound of the previous note event and the musical sound of the current note event (step S205).

[0068] If the time difference between the sounding timing of the previous note event and the sounding timing of the current note event is greater than a threshold TH1 (an example of a first threshold) (step S206: YES), it is difficult for a human to recognize them as sounds that are sounded simultaneously. Therefore, it is determined that the current sound and the previous sound are not sounded simultaneously.

[0069] In this case, the processor 10 resets the variable note_num to zero (step S207). The variable note_num is a variable indicating the number of musical tones that are generated simultaneously.

[0070] For example, the time corresponding to a 128th note is an extremely short time. The processor 10 regards musical tones of multiple note events that have sounding timing within this time as musical tones that should be sounded simultaneously (i.e., a chord). Therefore, the threshold value TH1 is set to a value indicating the time corresponding to a 128th note.

[0071] For example, in a song with a tempo of 120, the time corresponding to a quarter note is 0.5 seconds. Therefore, the time corresponding to a 128th note is 1 / 32 of 0.5 seconds, or 15.625 milliseconds. In a song with a tempo of 60, the time corresponding to a 128th note is 31.25 milliseconds. In this way, the time corresponding to a 128th note varies depending on the tempo of the song. Therefore, the processor 10 changes the threshold value TH1 depending on the tempo of the song data 13A.

[0072] The threshold value TH1 may be a value indicating a fixed time regardless of the tempo. In this case, however, for example, in a song with a fast tempo, musical tones of note events that should not be sounded simultaneously may be sounded simultaneously. Also, for example, in a song with a slow tempo, musical tones of note events that should be sounded simultaneously may not be sounded simultaneously.

[0073] If the time difference between the sounding timing of the musical tone of the previous note event and the musical tone of the current note event is equal to or less than the threshold value TH1 (step S206: NO), these musical tones are regarded as musical tones that should be sounded simultaneously (that is, a chord).

[0074] That is, when the time difference between the sounding timings of two or more pieces of first musical sound information is equal to or less than the first threshold (threshold TH1), the processor 10 regards the sounding timings of the two or more pieces of first musical sound information as being the same. In this case, the processor 10 proceeds to step S208 without resetting the variable note_num to zero.

[0075] The sounding candidate buffer 11A, which is secured as an array area, can store a maximum of four note numbers. In order to prevent five or more note numbers from being stored in the sounding candidate buffer 11A, the processor 10 determines whether the variable note_num is four or more (step S208).

[0076] Generally, the number of musical tones that make up a chord is between 3 and 6. It is considered that a chord that makes up a melody part may have a maximum of four tones. Therefore, in this embodiment, a maximum of four note numbers can be stored in the sound production candidate buffer 11A.

[0077] In another embodiment, the sound production candidate buffer 11A may be configured to store a maximum of two, three, or five or more note numbers. When five or more note numbers are stored, for example, tension chords can be produced.

[0078] The number of musical tones that make up a chord varies depending on the part. Therefore, the processor 10 may change the maximum number of note numbers that can be stored in the sound candidate buffer 11A depending on the performance part that is set by a user operation.

[0079] If the variable note_num is 4 or more (step S208: YES), no more note numbers can be stored in the sound production candidate buffer 11A, so the processor 10 ends the subroutine of the music progression process (step S104 in FIG. 3).

[0080] If the variable note_num is less than 4 (step S208: NO), the processor 10 stores the note number of the current note event in the note_num-th index of the sounding candidate buffer 11A (step S209). The note_num-th is an ordinal number associated with the indexes of the sounding candidate buffer 11A, starting from 0 and ending at 3.

[0081] Processor 10 increments variable note_num by 1 (step S210), and ends the subroutine of the music progression process (step S104 in FIG. 3).

[0082] For example, if the variable note_num is set to zero in step S207, then in step S209, the note number is stored in the zeroth index of the sound production candidate buffer 11A. By incrementing the variable note_num by 1 in step S210, the number of stored note numbers and the value of the variable note_num both become 1 and match.

[0083] For example, if note numbers are stored in the 0th to 3rd indexes of the sound production candidate buffer 11A, by incrementing the variable note_num by 1 in step S210, the number of stored note numbers and the value of the variable note_num both become 4, which is the same.

[0084] In this way, the processor 10 manages the number of note numbers to be simultaneously sounded by using the variable note_num. In other words, the processor 10 stores the number of note numbers (an example of first musical sound information) to be overwritten and stored in the sounding candidate buffer 11A (an example of the first area).

[0085] If the melody part does not include chords and is entirely played as single notes, the variable note_num can be fixed to 1. For example, the user switches the flag on and off with a specified operation. When the flag is on, the variable note_num is fixed to 1, and only single notes can be played. When the flag is off, the variable note_num is unfixed, and both single notes and chords can be played.

[0086] In other words, the user can switch to mono mode by turning on the flag, and can switch to poly mode by turning off the flag. In mono mode, only the musical tone of the note number stored in the zeroth index of the sounding candidate buffer 11A is sounded.

[0087] If it is determined in step S202 that the event does not include a note-on message (step S202: NO), the processor 10 determines whether the event of the music data 13A to be processed at the current progression time includes a note-off message (step S211).

[0088] If it is determined that the event includes a note-off message (step S211: YES), the processor 10 determines whether or not the event including the note-off message constitutes a melody part (step S212).

[0089] If the note event constitutes a non-played part other than a melody part (step S212: NO), the processor 10 instructs the sound source LSI 7 to mute the corresponding musical tone in accordance with the note-off message (step S213), and ends the subroutine of the music progression processing (step S104 in FIG. 3).

[0090] The sound source LSI 7 mutes the musical tones of the non-playing parts in response to an instruction from the processor 10.

[0091] If the note event constitutes a melody part (step S212: YES), processor 10 ignores the note-off message and ends the subroutine of the music progression process (step S104 in FIG. 3). In other words, processor 10 ends the subroutine of the music progression process (step S104 in FIG. 3) without performing a mute process in accordance with the note-off message.

[0092] In this way, even when processor 10 reads from song data 13A a note-off message corresponding to a first musical tone that is being sounded, processor 10 does not mute the first musical tone.

[0093] Fig. 5 is a diagram for explaining the timing of sound generation and the timing of sound silencing. In the example of Fig. 5, according to the song data 13A, the sound generation of the musical tone in the range C starts at the progression time T1, and the musical tone in the range C is silencing at the progression time T2. That is, the musical tone in the range C starts to be generated at the timing according to the musical score, and is silencing at the timing according to the musical score. The musical tones in the other ranges also start to be generated and are silencing at the timing according to the musical score.

[0094] In contrast, in this embodiment, note-off messages are ignored for the performance part. Therefore, the sound is not muted at the timing according to the musical score. As a result, even during silent periods when there is no sound in a performance according to the musical score (for example, between progression times T2 and T3), note numbers in range C are stored in the sound production candidate buffer 11A. In this way, in this embodiment, by ignoring note-off messages, silent periods are eliminated.

[0095] Therefore, for example, even if the user performs a performance operation during a silent period (for example, during progression time Ta), a musical tone is always generated. The user can easily perform a performance that sounds like an arrangement of the original song.

[0096] In this embodiment, a look-ahead process is applied. The look-ahead process is a process for storing the corresponding note number in the sounding candidate buffer 11A earlier than the sounding timing according to the music data 13A (in other words, according to the musical score).

[0097] 5, for example, the progression time Tb is the time immediately preceding the progression time T5, which is the timing at which a musical tone in the range E is generated.

[0098] When a user tries to sound a musical tone in range E at just the right timing, the user may end up playing the tone at a time (for example, at time Tb) that is very slightly before time T5. Without the look-ahead process, as shown in Fig. 5, at time Tb, the note number in range D is stored in the sounding candidate buffer 11A. Therefore, a musical tone in range D that is not intended by the user is sounded.

[0099] 5, when the look-ahead process is performed, the note numbers in the range E are stored in the sound production candidate buffer 11A at the progression time Tb, so that the musical tone in the range E intended by the user is produced.

[0100] In the look-ahead process, for example, the note number is stored in the sound production candidate buffer 11A earlier than the sound production timing according to the musical score by a time equivalent to a 32nd note.

[0101] If it is determined in step S211 that the event does not include a note-off message (step S211: NO), the processor 10 determines whether the event of the music data 13A to be processed at the current progression time includes an expression message (step S214).

[0102] If it is determined that the expression message is included (step S214: YES), the processor 10 determines whether or not the event including the expression message constitutes a melody part (step S215).

[0103] If the event including the expression message constitutes a non-play part other than a melody part (step S215: NO), the processor 10 instructs the sound source LSI 17 to control the volume in accordance with the expression message described in the event (step S216), and ends the subroutine of the music progression processing (step S104 in FIG. 3).

[0104] The sound source LSI 7 controls the volume of the non-playing parts in response to an instruction from the processor 10.

[0105] If the event including the expression message constitutes a melody part (step S215: YES), processor 10 ignores the expression message described in the event, as with the note-off message, and ends the subroutine of the music progression process (step S104 in FIG. 3). In other words, processor 10 ends the subroutine of the music progression process (step S104 in FIG. 3) without instructing volume control according to the expression message.

[0106] 6A and 6B show a subroutine of the performance operation process (step S105 in FIG. 3).

[0107] 6A, the processor 10 determines whether there is an input (performance input) from the electronic musical instrument 2 in response to a performance operation by the user (step S301). If there is no performance input (step S301: NO), the processor 10 ends the subroutine of the performance operation process (step S105 in FIG. 3) without issuing an instruction to the sound source LSI 17.

[0108] In other words, when there is no performance input (in other words, when the performance controls are not operated), the processor 10 does not instruct the sound source LSI 17 to generate a musical tone (first musical tone) corresponding to the note number (an example of first musical tone information) stored in the sound generation candidate buffer 11A (an example of the first area).

[0109] If there is a performance input (step S301: YES), the processor 10 determines whether or not the performance input includes an expression message (control change No. 11) (step S302).

[0110] If the performance input includes an expression message (step S302: YES), the processor 10 instructs the sound source LSI 17 to control the volume according to this message (step S303), and ends the subroutine of the performance operation process (step S105 in FIG. 3).

[0111] The sound source LSI 7 controls the volume of the melody part in response to an instruction from the processor 10.

[0112] In this way, the processor 10 ignores the expression message described in the event of the melody part (see step S215), and controls the volume of the melody part according to the amount of breath blown into the electronic musical instrument 2 by the user when playing the electronic musical instrument 2. Therefore, the musical tone of the melody part reflects the performance expression of the user.

[0113] If the performance input does not include an expression message (step S302: NO), the processor 10 determines whether the variable on_num is greater than 0 (step S304).

[0114] The variable on_num indicates the number of musical tones currently being sounded. If the variable on_num is 1 or more, it indicates that there is a musical tone currently being sounded.

[0115] In this embodiment, whether the message included in the performance input determined in step S301 is a note-on message or a note-off message, the currently sounding tone of the melody part is muted. Since the electronic musical instrument 2 is an electronic saxophone, which is a monophonic instrument, a note-off operation is always performed on the currently sounding tone before a note-on operation is performed on a new tone. Therefore, such a muting process is not essential. On the other hand, in the case of a chordal instrument such as an electronic keyboard instrument, note-on operations may occur successively. In this case, such a muting process is effective.

[0116] Furthermore, due to communication failure or other reasons, a problem may occur in which a note-off signal for a certain musical tone is not sent to the musical tone processing device 1. By carrying out the above-described muting process, the problem of a musical tone continuing to be generated can be avoided.

[0117] If the variable on_num is greater than 0 (in other words, the variable on_num is 1 or greater) (step S304: YES), the processor 10 resets the variable index to 0 (step S305). The variable index is a variable that specifies an index of an array.

[0118] The processor 10 instructs the sound source LSI 17 to mute the musical sound of the note number that is stored at the index designated by the variable index and is an element of the sounding buffer 11B (step S306).

[0119] The sounding buffer 11B is an array that stores the note numbers of the currently sounding musical tones. In the sounding buffer 11B, the note numbers of the currently sounding musical tones are stored at the index designated by the variable index.

[0120] The processor 10 increments the variable index by 1 (step S307).

[0121] The processor 10 determines whether the variable index is equal to or greater than the variable on_num (i.e., the number of currently sounding musical tones) (step S308). If the variable index is smaller than the variable on_num (step S308: NO), the processor 10 returns to step S306.

[0122] The processor 10 repeats steps S306 to S308 until the variable index and the variable on_num become the same (step S308: YES), thereby instructing the sound source LSI 17 to mute all musical tones of the melody part that are currently being sounded.

[0123] In response to an instruction from the processor 10, the sound source LSI 7 mutes all musical tones of the melody part that are currently being generated.

[0124] Since all the musical tones of the melody part that are being sounded are muted, the processor 10 resets the variable on_num to zero (step S309).

[0125] If the variable on_num is 0 in step S304 (step S304: NO) or after resetting the variable on_num to zero in step S309, the processor 10 determines whether the performance input determined in step S301 includes a note-on message (step S310).

[0126] If the performance input determined in step S301 includes a note-off message (step S310: NO), there is no musical note to be muted or the musical note has already been muted, so processor 10 ends the subroutine of the performance operation process (step S105 in FIG. 3).

[0127] If it is determined in step S301 that the performance input includes a note-on message (step S310: YES), the processor 10 determines whether the variable note_num (i.e., the number of note numbers stored in the sound production candidate buffer 11A) is greater than 0 (step S311).

[0128] If the variable note_num is 0 (step S311: NO), there is no musical note to be sounded, and so processor 10 ends the subroutine of the performance operation process (step S105 in FIG. 3).

[0129] If the variable note_num is greater than 0 (in other words, the variable note_num is 1 or greater) (step S311: YES), the musical tones to be sounded are stored in the sound candidate buffer 11A. Therefore, in the subsequent processing, the processor 10 instructs the sound source LSI 17 to sound the musical tones of all note numbers stored in the sound candidate buffer 11A.

[0130] Specifically, the processor 10 resets the variable index to 0 (step S312).

[0131] The processor 10 instructs the sound source LSI 17 to generate a musical tone of the note number that is an element of the sound generation candidate buffer 11A and that is stored at the index specified by the variable index (step S313). More specifically, the processor 10 instructs the sound source LSI 17 to generate a musical tone with a volume according to the velocity of the performance input determined in step S301.

[0132] Processor 10 stores the note number of the musical tone instructed to be sounded in the index of sounding buffer 11B designated by variable index (step S314).

[0133] The processor 10 increments the variable index by 1 (step S315).

[0134] The processor 10 determines whether the variable index is equal to or greater than the variable note_num (i.e., the number of note numbers stored in the sound production candidate buffer 11A) (step S316). If the variable index is smaller than the variable note_num (step S316: NO), the processor 10 returns to step S313.

[0135] Processor 10 repeats steps S313 to S316 until variable index and variable note_num become the same (step S316: YES). As a result, musical tones of all note numbers stored in sounding candidate buffer 11A are simultaneously sounded as a chord, and the note numbers of all sounded musical tones are stored in sounding buffer 11B.

[0136] In this way, each time the user inputs a performance into the electronic musical instrument 2, the processor 10 instructs the sound source LSI 17 to generate musical tones (first musical tones) corresponding to all note numbers (an example of first musical tone information) stored in the sound generation candidate buffer 11A (an example of the first area) at the timing of that operation.

[0137] In addition, each time the user inputs a performance onto the electronic musical instrument 2, the processor 10 obtains the number of note numbers (an example of first musical tone information) (i.e., the variable note_num) that are to be overwritten and stored in the sound production candidate buffer 11A (an example of the first area) at the timing of that operation, and instructs the sound source LSI 17 to produce the obtained number of musical tones (first musical tones).

[0138] The processor 10 copies the value of the variable note_num (i.e., the number of note numbers stored in the sounding candidate buffer 11A) to the variable on_num (i.e., the number of musical tones currently being sounded) (step S317). This allows the processor 10 to grasp the number of musical tones in the melody part that are being sounded by referring to the variable on_num. Therefore, in steps S306 to S308, the musical tones in the melody part that are being sounded can be muted.

[0139] The processor 10 performs sound generation processing of the musical tone (a single note if the note number is one, a chord if the note number is two or more) of the note number stored in the sound generation candidate buffer 11A at a timing and volume corresponding to one note-on operation by the user (for example, blowing one breath into the electronic musical instrument 2). The user can play a song containing chords by simply repeating the same note-on operation without worrying about the pitch.

[0140] The user can play the part they want to play (the part they want to play) at any timing and volume while listening to the other parts (the parts they don't want to play) by automatically progressing the song. Even if the user is not good at playing musical instruments, they can experience playing the part they want by taking the initiative.

[0141] 5, in the song data 13A, a musical tone in the range C is generated only once between the progression time T1 and the progression time T2. However, in this embodiment, the user can generate a musical tone in the range C multiple times by performing a note-on operation multiple times between the progression time T1 and the progression time T2.

[0142] In this way, the user can freely and easily determine not only the timing and volume of the sounds to be produced, but also the number of sounds to be produced when performing the performance part.

[0143] In addition, the present invention is not limited to the above-mentioned embodiment, and various modifications can be made in the implementation stage without departing from the gist of the invention. In addition, the functions executed in the above-mentioned embodiment may be implemented in appropriate combinations as much as possible. The above-mentioned embodiment includes various steps, and various inventions can be extracted by appropriate combinations of the multiple components disclosed. For example, if an effect can be obtained even if some components are deleted from all the components shown in the embodiment, the configuration from which the components are deleted can be extracted as an invention.

[0144] In the above embodiment, a mode in which a song progresses automatically regardless of the presence or absence of a user's performance operation has been described, but the modes applicable to the musical sound processing device, method, and program according to the present embodiment are not limited to this.

[0145] In another embodiment, a mode in which the music progresses only when the user performs a performance operation (in other words, a mode in which the music does not progress unless the user performs a performance operation) may be applied to the musical sound processing device, method, and program according to the present embodiment. Even in this mode, if multiple note numbers constituting a chord are stored in the sound production candidate buffer 11A, the chord will be produced by just one note-on operation by the user.

[0146] In the above embodiment, processing is performed on an expression message, but in another embodiment, processing may be performed on another performance expression message (such as a pitch bend message or a control change other than an expression) instead of or in addition to the expression message.

[0147] In this case, the processor 10 ignores performance expression messages (such as pitch bend messages) described in events in the music data 13A, just as with expression messages. Only when a performance expression message (such as a pitch bend message) corresponding to a user operation is input from the electronic musical instrument 2, does the processor 10 output an instruction corresponding to that message to the sound source LSI 17. This allows the user to add various performance expressions to the music. [Explanation of symbols]

[0148] 1: Musical sound processing device 2: Electronic instruments 10: Processor 11: RAM 11A: Buffer 11B: Buffer 12: ROM 12A: Control program 13: Flash memory 13A: Song data 14: Display section 15: Switch section 16: MIDI interface 17: Sound source LSI 18: D / A converter 19: Amplifier 20: Speaker 21: Bus

Claims

1. At least one processor; a memory including a first area; The at least one processor Sequentially reading in the musical tone information of the song data including a plurality of pieces of musical tone information each having a corresponding sounding timing; when the read musical tone information includes first musical tone information, the first musical tone information is overwritten and stored in the first area based on the sounding timing, when two or more pieces of the first musical tone information that are regarded as having the same sounding timing are read, the first musical tone information stored in the first area is rewritten to the two or more pieces of the first musical tone information; a command to generate first musical tones corresponding to all of the first musical tone information stored in the first area by operating a performance operator of the electronic musical instrument; Musical sound processing device.

2. The at least one processor When a time difference between the sounding timings of the two or more pieces of first musical sound information is equal to or less than a first threshold value, the sounding timings of the two or more pieces of first musical sound information are regarded as being the same.

2. The tone processor according to claim 1.

3. The at least one processor changing the first threshold value in accordance with the tempo of the music data; 3. The tone processor according to claim 2.

4. The at least one processor storing the number of the first musical tone information to be overwritten and stored in the first area; Acquiring the number at the timing of the operation; instructing the generation of the first musical tone according to the acquired number of the first musical tone information stored in the first area; 2. The tone processor according to claim 1.

5. The at least one processor when the performance operator is not operated, no instruction is given to generate the first musical tone corresponding to the first musical tone information stored in the first area; 2. The tone processor according to claim 1.

6. The at least one processor even if a note-off message corresponding to the first musical tone being sounded is read from the song data, the first musical tone is not muted; 2. The tone processor according to claim 1.

7. the song data includes the first musical tone information and the second musical tone information, the first musical tone information is information about a note of a first part; the second musical tone information is information about a note of a second part different from the first part, The at least one processor when the read musical tone information includes the second musical tone information, the second musical tone information is not stored in the first area, and an instruction is given to generate a second musical tone corresponding to the second musical tone information at the generation timing of the second musical tone information.

7. The musical tone processing apparatus according to claim 1, wherein the musical tone processing apparatus further comprises:

8. The first musical tone information is a note number.

2. The tone processor according to claim 1.

9. Sequentially reading in the musical tone information of the song data including a plurality of pieces of musical tone information each having a corresponding sounding timing; When the read musical tone information includes first musical tone information, the first musical tone information is overwritten and stored in a first area of ​​a memory based on the sounding timing. when two or more pieces of the first musical tone information that are regarded as having the same sounding timing are read, the first musical tone information stored in the first area is rewritten to the two or more pieces of the first musical tone information; a process for instructing the computer to generate first musical tones corresponding to all of the first musical tone information stored in the first area when a performance operator of the electronic musical instrument is operated; method.

10. Sequentially reading in the musical tone information of the song data including a plurality of pieces of musical tone information each having a corresponding sounding timing; When the read musical tone information includes first musical tone information, the first musical tone information is overwritten and stored in a first area of ​​a memory based on the sounding timing. when two or more pieces of the first musical tone information that are regarded as having the same sounding timing are read, the first musical tone information stored in the first area is rewritten to the two or more pieces of the first musical tone information; a process for instructing the computer to generate first musical tones corresponding to all of the first musical tone information stored in the first area when a performance operator of the electronic musical instrument is operated; program.

Citation Information

Patent Citations

  • Music performance assisting device and program

    JP2007072387A