Information processing device, electronic musical instrument, method and program

The information processing device ensures musically appropriate tones by detecting chord notes and processing them based on user operations, addressing the issue of inappropriate tones in electronic musical instruments.

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

Patent Information

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

AI Technical Summary

Technical Problem

Existing electronic musical instruments may generate musically inappropriate tones due to user performance operations.

Method used

An information processing device that detects chord notes in progress and processes the generation of chord notes corresponding to the number of user operations, ensuring musically appropriate tones regardless of the performance controls used.

Benefits of technology

The system produces musically appropriate tones that match the user's performance expression, maintaining musical appropriateness and stability even with arbitrary keyboard operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025144031000001_ABST
    Figure 2025144031000001_ABST
Patent Text Reader

Abstract

To generate musically appropriate tones corresponding to a user's performance expression regardless of which performance operator is operated by the user.SOLUTION: An information processing device includes at least one processor. The at least one processor detects chord component tones of a chord currently progressing in a song, detects an operation on at least one of a plurality of performance operators, and processes generation of chord component tones corresponding to the number of operations detected on the performance operator, the chord component tones being tones at a timing when the operation is detected.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

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

[0002] There is known a device that assists a user in performing an electronic musical instrument (see, for example, Patent Document 1). The device described in Patent Document 1 instructs the user which keys to press according to the chord progression data of a song. The user can play chords by following these instructions and pressing the keys that make up the chords. [Prior art documents] [Patent documents]

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

[0004] In Patent Document 1, musically inappropriate tones may be generated depending on the performance operators operated by the user.

[0005] The embodiments of the present disclosure have been made in consideration of the above circumstances, and their purpose is to provide an information processing device, an electronic musical instrument, a method, and a program that can produce musically appropriate tones that correspond to the user's performance expression, regardless of which performance controls the user operates. [Means for solving the problem]

[0006] An information processing device according to an embodiment of the present disclosure includes at least one processor that detects chord notes of a chord in progress in a song, detects an operation of at least one of a plurality of performance operators, and processes the generation of chord notes corresponding to the number of operations of the detected performance operators, the chord notes being the chord notes at the timing of the operation detection. [Effects of the Invention]

[0007] According to one embodiment of the present disclosure, an information processing device, an electronic musical instrument, a method, and a program are provided that can produce musically appropriate tones that correspond to the user's performance expression, regardless of what performance operations the user performs. [Brief explanation of the drawings]

[0008] [Figure 1] 1 is a block diagram illustrating a configuration of a musical instrument system according to an embodiment of the present disclosure. [Figure 2] 1 is a diagram illustrating an overview of an information processing device, a method, and a program according to an embodiment of the present disclosure. [Figure 3] 1 is a diagram illustrating an overview of an information processing device, a method, and a program according to an embodiment of the present disclosure. [Figure 4] 10A to 10C are diagrams illustrating a method for determining chord constituent notes to be produced from among production candidate notes according to an embodiment of the present disclosure. [Figure 5] 10A to 10C are diagrams illustrating a method for determining chord constituent notes to be produced from among production candidate notes according to an embodiment of the present disclosure. [Figure 6] 10A to 10C are diagrams illustrating a method for determining chord constituent notes to be produced from among production candidate notes according to an embodiment of the present disclosure. [Figure 7] 10A to 10C are diagrams illustrating a method for determining chord constituent notes to be produced from among production candidate notes according to an embodiment of the present disclosure. [Figure 8] 10A to 10C are diagrams illustrating a method for determining chord constituent notes to be produced from among production candidate notes according to an embodiment of the present disclosure. [Figure 9] 1 is a flowchart of a process executed by a processor included in an information processing device according to an embodiment of the present disclosure. [Figure 10] This is a subroutine of the music progression process in step S104 of FIG. [Figure 11A] This is a subroutine of the performance operation process in step S105 of FIG. [Figure 11B] This is a subroutine of the performance operation process in step S105 of FIG. [Figure 12] 10A and 10B are diagrams illustrating a method for selecting chord constituent notes according to another embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0009] The following description relates to an information processing device, an electronic musical instrument, a method, and a program according to an embodiment of the present disclosure. Common or corresponding elements are denoted by the same or similar reference numerals, and duplicate descriptions will be appropriately simplified or omitted.

[0010] 1, a musical instrument system according to an embodiment of the present disclosure includes an information processing device 1 and an electronic musical instrument 2. The information 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.

[0011] The information processing device 1 is a device dedicated to an electronic musical instrument and equipped with a sound source. The information 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 information processing device 1 by downloading and installing an application that executes various processes according to an embodiment of the present disclosure from an app store. In this case, a user can operate the information processing device 1 by, for example, performing a touch operation on a GUI (Graphical User Interface) screen on which various components are laid out.

[0012] The electronic musical instrument 2 is an example of a performance device. The electronic musical instrument 2 is, for example, an electronic keyboard. The electronic musical instrument 2 may be an electronic keyboard instrument other than an electronic keyboard, such as an electronic piano. The electronic musical instrument 2 may also be another type of electronic musical instrument, such as an electronic percussion instrument, an electronic wind instrument, or an electronic string instrument.

[0013] The keyboard of the electronic musical instrument 2 has 88 keys, which are an example of performance controls. In other words, the electronic musical instrument 2 is an example of a performance device that has a plurality of performance controls. Each key is associated with a different pitch A0 to C8.

[0014] In this disclosure, an explanation will be given using the international notation in which pitch C4 is given as note number 60. Therefore, note numbers corresponding to pitches A0 to C8 are 21 to 108, respectively. Pitches are also called notes. Note numbers are also called key numbers or MIDI (Musical Instrument Digital Interface) keys. The number of keys on a keyboard is not limited to 88. The number of keys may be, for example, 61 or 76.

[0015] Pitch names represent absolute pitches, and are specifically written as C, C#, D, D#, E, F, F#, G, G#, A, A#, and B. These pitch names C to B can also be written as pitch number numbers 0 to 11, respectively.

[0016] The electronic musical instrument 2 outputs MIDI data to the information processing device 1 in response to a user's performance operation. Hereinafter, this MIDI data will be referred to as "MIDI data D." The MIDI data D output from the electronic musical instrument 2 includes various messages such as note-on, note-off, and control change.

[0017] In another embodiment, a musical instrument app that reproduces the electronic musical instrument 2 may be installed in the information processing device 1. In this case, the user can perform performance operations on the musical instrument app instead of the electronic musical instrument 2. In yet another embodiment, the information processing device 1 may be built into the electronic musical instrument 2. In other words, the information processing device 1 may be an element that constitutes the electronic musical instrument 2.

[0018] The information processing device 1 is an example of a computer. As shown in Fig. 2, the information processing device 1 includes, as its hardware configuration, a processor 10, a RAM (Random Access Memory) 11, a ROM (Read Only Memory) 12, a flash memory 13, a display unit 14, a switch panel 15, a MIDI interface 16, a sound source LSI (Large Scale Integration) 17, a D / A converter 18, and an amplifier 19. The components of the information processing device 1 are connected via a bus 20.

[0019] The processor 10 reads out programs and data stored in the ROM 12. The processor 10 controls the information processing device 1 overall by using the RAM 11 as a work area.

[0020] The processor 10 is, for example, a single processor or a multiprocessor, 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 information 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).

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

[0022] As will be described later, a portion of the memory area of ​​RAM 11 is reserved as buffer 11A. Another portion of the memory area of ​​RAM 11 is reserved as buffer 11B. Buffer 11A stores the note name numbers of chord constituent notes. Buffer 11B stores the note number of the key pressed by the user and the note number of the musical note being sounded, in association with each other. Buffer 11A may also store the note numbers of chord constituent notes for each octave range. An octave range is a range of 12 semitones from note names C to B (note name numbers 0 to 11). For example, octave range number 1 is a range of pitches C1 to B1. For example, octave range number 2 is a range of pitches C2 to B2.

[0023] It should be noted that any reference to an element using a designation such as "first," "second," etc., used in this disclosure does not generally limit the quantity or order of those elements. These designations are used for convenience to distinguish between two or more elements. Thus, reference to a first and a second element does not imply, for example, that only two elements are employed, that the first element must precede the second element, etc.

[0024] The ROM 12 stores a control program 12A. The processor 10 executes the control program 12A to perform various processes according to an embodiment of the present disclosure.

[0025] The flash memory 13 stores multiple pieces of song data 13A. Each piece of song data 13A is data for a different song, but for convenience, they are all given the same reference number 13A. The song data 13A is created in, for example, SMF (Standard MIDI File) format. The song data 13A includes multiple events. The events describe delta time, command type, command data, etc. In other words, the song data 13A includes multiple events (an example of information about multiple musical tones that make up a song) each associated with a sound generation timing.

[0026] Command type is information such as note on, note off, control change, pitch bend change, and expression. In the MIDI standard, this is called a status byte. Command data is setting information for the command indicated by the command type. Command data is information such as note number and velocity. In the MIDI standard, this is called a data byte.

[0027] Processor 10 reads the events in song data 13A in order and progresses the song according to the delta time described in each event. Song data 13A is not limited to data stored in flash memory 13. Song data 13A may be obtained, for example, via a USB (Universal Serial Bus) memory, the Internet, or a smartphone.

[0028] The display unit 14 includes, for example, an LCD (Liquid Crystal Display) and an LCD controller. When the LCD controller drives the LCD in accordance with 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 other types of display devices, such as an organic EL (Electro Luminescence) display or an LED (Light Emitting Diode).

[0029] The switch panel 15 includes a plurality of switches, buttons, etc. for the user to perform various operations. The switch panel 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 start playing a song, and a button for the user to stop playing a song.

[0030] The MIDI interface 16 communicably connects the information processing device 1 and the electronic musical instrument 2. The MIDI interface 16 receives, for example, MIDI data output by the electronic musical instrument 2.

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

[0032] The tone generator LSI 17 generates musical tones based on waveform data read from the RAM 11 under the instruction of the processor 10. The tone generator LSI 17 includes multiple generator sections. The tone generator LSI 17 can simultaneously generate musical tones equal to the number of generator sections. 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.

[0033] The digital musical sound data generated by the sound source LSI 17 is converted into an analog signal by a D / A converter 18, amplified by an amplifier 19, and output from, for example, a line-out terminal. The musical sound is then reproduced by, for example, a speaker connected to the line-out terminal.

[0034] An overview of an information processing device, method, and program according to an embodiment of the present disclosure will be described using Figures 2 and 3. SMF (i.e., song data 13A) is composed of one or more tracks and includes multiple parts. The multiple parts include a piano part, a guitar part, a bass part, a soprano saxophone part, a drum part, etc. The user can select one performance part from the multiple parts by operating switch panel 15. For convenience, parts other than the performance parts are referred to as "non-performance parts." Song data 13A may include only one part. In this case, this one part is selected as the performance part.

[0035] Data for the performance part of a song is an example of a first part, and includes chord data. Chord data is, for example, a chord name string written in a meta event. A chord name string is text data indicating a chord such as C, CM7, or Cm7. A meta event including a chord name string is referred to as a "chord event." Chord data for the performance part may be data for a chord part. Data for the non-performance part of a song is an example of a second part, and includes information (various events) on the multiple musical notes that make up the song.

[0036] The information processing device 1 sequentially reads each event (MIDI data) included in the song data 13A. When the timing specified in the SMF for a musical note of a non-playing part arrives, the information processing device 1 immediately instructs the sound source LSI 17 to generate the musical note specified by the event. In other words, the information processing device 1 automatically performs the musical note of the non-playing part at the timing and velocity (volume) specified in the SMF. The velocity can be considered a value indicating the strength of the key depression operation, and also a value indicating the volume (volume) of the musical note.

[0037] On the other hand, for the performance part, the information processing device 1 does not instruct the sound source LSI 17 to generate musical tones in accordance with the SMF. The information processing device 1 detects the chord constituent notes of the chord in progress in accordance with the chord data and stores them sequentially in the buffer 11A as candidate notes to be generated (in this embodiment, the note name numbers of the chord constituent notes are used as information on the candidate notes to be generated). The buffer 11A is constantly overwritten with the latest candidate notes to be generated as the song progresses. During a period when there are no chords (for example, when a measure without a chord is in progress), the candidate notes to be generated in the buffer 11A are erased, for example.

[0038] 3, a guitar part is set as the performance part. Ch3 is assigned as the MIDI channel to the guitar part. The information processing device 1 updates the buffer 11A in accordance with the chord data transmitted and received on the MIDI channel ch3.

[0039] For example, the chords in the third and fourth measures are F and G, respectively. Chord F is composed of chord notes F, A, and C. Therefore, when the song progresses to the third measure, the information processing device 1 updates the note name numbers stored in buffer 11A to 5, 9, and 0, which correspond to the note names F, A, and C. Chord G is composed of chord notes G, B, and D. Therefore, when the song progresses to the fourth measure, the information processing device 1 updates the note name numbers stored in buffer 11A to 7, 11, and 2, which correspond to the note names G, B, and D.

[0040] When a user performs a performance on the electronic musical instrument 2, MIDI data D is input to the information processing device 1. For example, when a note-on event is input, the information processing device 1 determines the chord constituent notes to be sounded based on the note number included in the note-on event and the note name number stored in the buffer 11A. The information processing device 1 instructs the sound source LSI 17 to sound the determined chord constituent notes at the velocity included in the note-on event. That is, for the performance part, the information processing device 1 sounds the chord constituent notes at the timing and volume of the user's performance operation (in other words, sounds the chord constituent notes at the timing when the performance operation is detected at a volume corresponding to the velocity). As will be described in more detail later, the information processing device 1 sounds the same number of chord constituent notes as the number of note-on musical notes (in other words, the number of currently pressed keys).

[0041] In this way, when a keyboard operation (an example of an operation on a performance operator) is detected, the information processing device 1 processes the sounding of chord constituent tones in a number corresponding to the current number of pressed keys (number of operations) based on the data of the performance part (an example of the first part). Regardless of the keyboard operation, the information processing device 1 processes the sounding of multiple musical tones sequentially in accordance with various events (for example, sounding timings associated with information on each of multiple musical tones) based on the data of the non-performance part (an example of the second part).

[0042] The user can play the part they want to play at any timing and volume while listening to the non-playing parts as the song progresses automatically. Regardless of the keyboard operation, the playing part will be generated with musically appropriate notes according to the user's performance expression (in other words, the playing part will be generated with chord notes that do not sound out of place with the chords being played).

[0043] A method for determining chord constituent notes to be sounded will be explained using Figures 4 to 8. For convenience, Figures 4 to 8 show a keyboard map that extracts a portion of the keyboard of the electronic musical instrument 2 (a key range corresponding to pitches C2 to F4). Also shown is a correspondence table between note numbers (No.) and note name numbers (NN) in this key range.

[0044] In the examples of FIGS. 4 to 8, the chord in progress is assumed to be CM7. CM7 is composed of chord constituent notes with the note names C, E, G, and B. In the keyboard map, the keys that correspond to the chord constituent notes of CM7 are hatched (for convenience, referred to as "first pattern hatching"). In the keyboard map, the keys pressed by the user (white keys in the examples of FIGS. 4 to 8) are shown in black. In addition, the keys that correspond to the pitches that are produced by pressing the keys are hatched in a second pattern that is different from the first pattern. The same filling rule (black filling, hatching) is also applied to the correspondence table.

[0045] The keyboard map also displays the letters "key pressed (n)" along with an arrow indicating the key pressed by the user. The letters "pronunciation (n)" are also displayed along with an arrow indicating the key associated with the pitch produced by pressing the key. n is a natural number and indicates the key pressing order (the order in which the user is currently pressing the keys) and the corresponding musical tone production order.

[0046] The length of the arrows on the keyboard map indicates the velocity. The shorter the arrow, the smaller the velocity when the key was pressed, and the corresponding velocity (loudness, etc.) when the note was produced. The longer the arrow, the greater the velocity when the key was pressed, and the corresponding velocity (loudness, etc.) when the note was produced.

[0047] In the example shown in Figure 4, the key associated with pitch A2 (note number 45) is pressed (see key press (1)). When the key is pressed, the root note closest to the pressed key position among the chord constituent notes that are the sounding candidate notes is first determined as the sounding target.

[0048] The "root note closest to the key pressed position" is the root note with the smallest absolute value of the difference between the note numbers of the pressed key and the root note with the smallest absolute difference value V1 (for convenience, referred to as the "absolute difference value V1"). As an exception, if there are multiple root notes with the same absolute difference value V1, the root note with the lowest pitch is the "root note closest to the key pressed position." In the example of Figure 4, the note number of the pressed key is 45, while the note numbers of the root notes (pitches C2, C3, and C4) in each octave region with the note name C are 36, 48, and 60, respectively. Therefore, the respective absolute difference values ​​V1 are 9, 3, and 15. Therefore, the root note with pitch C3, which has the smallest absolute difference value V1, is determined to be the note to be played and is played (see pronunciation (1)).

[0049] In this way, when only one key is pressed (operation), the root note of the chord is played. In other words, when a key is pressed, the root note of the chord being played is always played. This ensures that the performance is musically appropriate and stable.

[0050] Of the root notes in each octave range, the root note with the pitch closest to the key operation pitch (an example of the pitch associated with the operated performance operator) is generated. The user can determine to some extent which root note is generated by pressing a key. In other words, even if the user performs an arbitrary keyboard operation, the root note that reflects the user's intention can be generated.

[0051] In the example shown in FIG. 5, while the key associated with pitch A2 is pressed, the key associated with pitch G2 (note number 43) is pressed (see key press (2)). In this case, the first chord constituent note (for convenience, referred to as the "first chord constituent note") within the first pitch range (a range of one octave including the key corresponding to the root note) that has the smallest absolute value of the difference (for convenience, referred to as the "absolute difference value V2") from the pitch number corresponding to the pressed key is determined to be the first chord constituent note to be sounded. As an exception, if there are multiple first chord constituent notes with the same absolute difference value V2, the first chord constituent note with the lowest pitch is determined to be the first chord constituent note to be sounded. The one-octave range C3-B3, with the root note C3 as the lowest pitch, is an example of the first pitch range of the first octave.

[0052] Since pitch C3 is the root note, pitches E3, G3, and B3 become the first chord constituent notes. The tone number of the pressed key is 7, while the tone numbers corresponding to pitches E3, G3, and B3 are 4, 7, and 11, respectively. Therefore, the respective absolute difference values ​​V2 are 3, 0, and 4. Therefore, pitch G3, which has the smallest absolute difference value V2, is determined to be the note to be sounded and is sounded (see sounding (2)).

[0053] In the example shown in Fig. 6, while two keys corresponding to pitches A2 and G2 are pressed, keys corresponding to pitches E2 (note number 40) and C2 (note number 36) are pressed in sequence (see key pressing (3) and key pressing (4)). When the key corresponding to pitch E2 is pressed, the first chord constituent note (pitch E3, pitch B3) with the smallest absolute difference value V2 is determined as the one to be sounded and is sounded (see sounding (3)). Next, when the key corresponding to pitch C2 is pressed, the first chord constituent note (pitch B3) with the smallest absolute difference value V2 is determined as the one to be sounded and is sounded (see sounding (4)).

[0054] In this way, the pitches of the chord constituent notes (such as the root note C2 or a non-root note G3) are determined based on the pitch of the keyboard operation (an example of a pitch associated with the operated performance operator), and the chord constituent notes of the determined pitch are produced. The user can determine to some extent the chord constituent notes to be produced by pressing the keys. In other words, even if the user performs arbitrary keyboard operation, the performance part can be produced with chord constituent notes that reflect the user's intentions.

[0055] If there are multiple keys pressed (operations), in addition to the root note, chord constituent notes with a pitch higher than the root note are also processed. By always making the root note the lowest pitch, the performance part becomes musically appropriate and more stable.

[0056] The chord constituent notes determined as the notes to be sounded are sounded immediately. Here, even if the user presses multiple keys simultaneously, the processing is executed, for example, in ascending order of the note numbers of the pressed keys, and the chord constituent notes to be sounded are determined one by one. The processing of the flowchart described below (the processing of steps S102 to S105 in FIG. 9, which includes determining the notes to be sounded and issuing sound generation instructions) is executed periodically, for example, every 1 ms. Therefore, the chord constituent notes to be sounded are determined every 1 ms, and the determined chord constituent notes are sounded sequentially every 1 ms. In other words, when the user presses multiple keys simultaneously, the same number of chord constituent notes as the pressed keys are sounded substantially simultaneously.

[0057] In the example shown in FIG. 7, while four keys corresponding to pitches A2, G2, E2, and C2 are pressed, the key corresponding to pitch F2 (note number 41) is pressed (see key pressed (5)). In this case, all of the first chord constituent notes are being sounded. Therefore, among the chord constituent notes, the chord constituent note (for convenience, referred to as the "second chord constituent note") within the second pitch range C4 to B4 in the second octave, which is one octave higher than the first pitch range C3 to B3 in the first octave (within a one-octave range including the key corresponding to the root note of the second octave) and which has the smallest absolute difference value V2 is determined to be the second chord constituent note to be sounded. The one-octave range C4 to B4 is an example of the second pitch range in the second octave, which is different from the first octave.

[0058] The pitches C4, E4, G4, and B4 become the second chord constituent notes. The tone number of the pressed key is 5, while the tone numbers corresponding to the pitches C4, E4, G4, and B4 are 0, 4, 7, and 11, respectively. Therefore, the absolute difference values ​​V2 are 5, 1, 2, and 6, respectively. Therefore, the pitch E4, which has the smallest absolute difference value V2, is determined to be the note to be sounded and is sounded (see sounding (5)).

[0059] If the current number of pressed keys (number of operations) exceeds the number of notes constituting a chord, in addition to the root note and all first chord notes (an example of all chord notes within a first pitch range in a first octave with the root note as the lowest pitch), second chord notes (an example of chord notes within a second pitch range in a second octave different from the first octave), the number of second chord notes exceeding the number of notes, are sounded. In this case, for example, a shortage of the number of notes that can be sounded when the number of notes constituting a chord is set as the upper limit for the number of notes that can be sounded, can be avoided. For example, even if a user presses many keys using the fingers of both hands, the user can sound the chord notes in the number corresponding to the number of pressed keys, allowing for a wider variety of musical expression.

[0060] There are cases where a second chord note clashes with a first chord note by a semitone or a whole tone (in other words, the two are within two semitones of each other). In this case, there is a risk of dissonance occurring. As will be explained in more detail later, to avoid dissonance, the pronunciation of second chord notes (an example of chord notes within the second pitch range) that are within two semitones of any first chord note within the first pitch range is not processed.

[0061] 8, while the four keys corresponding to the pitches A2, G2, E2, and C2 are being pressed, the key corresponding to the pitch A2 is released (see key release (1)). In this case, the pitch C3 that was sounded in response to the key depression of the pitch A2 is muted (see muting (1)).

[0062] Users can play the parts they want to play at any timing and volume while listening to the non-playing parts as the song progresses automatically. Regardless of how the keyboard is operated, the playing part will be generated with musically appropriate notes that correspond to the user's performance expression (in other words, the chord notes will be generated so that the playing part does not sound out of place with the chords being played). Even users who are not skilled at playing musical instruments can enjoy playing.

[0063] More specifically, the information processing device 1 generates chord structures whose number corresponds to the number of currently pressed keys (more specifically, the same number as the number of pressed keys). For example, even when the user operates the keyboard appropriately, the user can play a single note, two-note chord, three-note chord, or the like at will, and can easily perform complex musical expressions.

[0064] The information on the candidate notes stored in buffer 11A is automatically replaced according to the chord progression of the performance part. This allows the user to freely play electronic musical instrument 2 while still being able to play a song using musically appropriate notes (chord notes) that should be produced at that time.

[0065] A flowchart illustrating processing executed by the processor 10 in one embodiment of the present disclosure will be described with reference to Fig. 9. For example, when the information processing device 1 is powered on, the processing illustrated in Fig. 9 starts. When the information processing device 1 is powered off, the processing illustrated in Fig. 9 ends.

[0066] The steps of the flowcharts shown in the present embodiment may be reordered to the extent that they are consistent. For example, although the present disclosure presents the processing of various steps using an exemplary order, the order is not limited to the presented order. Furthermore, the steps of the flowcharts shown in the present embodiment may be executed in parallel or in parallel to the extent that they are consistent.

[0067] 9, the processor 10 executes an initialization process (step S101). In the initialization process, each component is initialized. Variables such as buffers 11A and 11B are also initialized.

[0068] Processor 10 executes switch processing (step S102). In the switch processing, the operation states of various controls on switch panel 15 are acquired. For example, volume information, tone information, and the like are acquired.

[0069] Processor 10 executes function processing (step S103). In the function processing, a function corresponding to the operation state of the various controls acquired in step S102 is executed. For example, when the song playback start button is pressed, song playback start processing is executed. When the song selection button is pressed, selected song data 13A is loaded from flash memory 13 to RAM 11.

[0070] Processor 10 executes a song progression process (step S104). In the song progression process, the song progresses as time passes.

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

[0072] The subroutine of the song progression processing in step S104 of Fig. 9 will be described using Fig. 10. As shown in Fig. 10, 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. If the song is not in progress (step S201: NO), processor 10 ends the subroutine of the song progression processing (step S104 of Fig. 9).

[0073] If the song is in progress (step S201: YES), processor 10 determines whether or not there is an event to be processed in the current progress time (step S202). If there is no event to be processed (step S202: NO), processor 10 ends the subroutine of the song progression process (step S104 in FIG. 9).

[0074] If there is an event to be processed (step S202: YES), processor 10 determines whether this event is a performance part event (step S203). If it is a non-performance part event (step S203: NO), processor 10 executes event processing such as generating or muting the musical tone of the non-performance part and various control changes according to the event description (step S204), and ends the song progression processing subroutine (step S104 in FIG. 9).

[0075] If the event is a performance part event (step S203: YES), the processor 10 determines whether the event is a chord event (step S205).

[0076] A chord table is stored in flash memory 13. For example, the note names (C, E, G, etc.) and note number (0, 4, 7, etc.) of chord constituent notes are registered in the chord table in association with the chord. The chord constituent notes (C3, E3, G3, C4, E4, etc.) of each octave range and their corresponding note numbers (48, 52, 55, 60, 64, etc.) may also be registered in the chord table in association with the chord.

[0077] If the event of the performance part is a chord event (step S205: YES), processor 10 updates buffer 11A (step S206). Specifically, processor 10 determines a chord from the chord name character string described in the chord event. Processor 10 refers to the chord table and obtains the note names of the chord constituent notes of the chord determined based on the chord name character string. Processor 10 overwrites and stores the obtained note names in buffer 11A.

[0078] That is, the processor 10 sequentially stores the pitch name numbers of the chord constituent notes as information on the pronunciation candidate notes in the buffer 11A according to the chord data. The processor 10 may store pitch names in the buffer 11A in addition to or instead of the pitch name numbers. The processor 10 performs calculations of the pronunciation candidate notes by referring to the pitch name numbers stored in the buffer 11A.

[0079] With the occurrence of a chord event, for example, the chord may have changed from the previous measure. Therefore, processor 10 turns off the root flag (step S207). The root flag is a flag that indicates whether or not the root note of the chord in progress is being sounded. After turning off the root flag, processor 10 ends the subroutine of the song progression process (step S104 in FIG. 9).

[0080] If the event of the performance part is not a chord event (step S205: NO), processor 10 ends the subroutine of the song progression processing (step S104 in FIG. 9) without processing this event. That is, processor 10 does not process events other than chord events for the performance part.

[0081] 11A and 11B, the subroutine of the performance operation process in step S105 of Fig. 9 will be described. In this performance operation process, when a key depression operation is detected, the chord constituent notes of the performance part are sounded based on the information on the sound candidate notes stored in buffer 11A. However, as described above, during a period when there is no chord (for example, when a measure without a chord is in progress), the information on the sound candidate notes is not stored in buffer 11A. In this case, for example, an error process is performed, and the chord constituent notes of the performance part are not sounded.

[0082] When the user operates the keyboard of the electronic musical instrument 2, a note event is input to the information processing device 1. As shown in FIG. 11A, the processor 10 determines whether or not a note event is present (step S301). If a note-on event is present (step S301: YES, step S302: YES), the processor 10 proceeds to processing step S303. If a note-off event is present (step S301: YES, step S302: NO), the processor 10 proceeds to processing step S320. If no note event is present (step S301: NO), the processor 10 ends the subroutine of the performance operation processing (step S105 in FIG. 9).

[0083] In step S303, processor 10 determines whether the root flag is on. In other words, processor 10 determines whether the root note of the ongoing chord is being sounded. If the root flag is off, that is, if the root note of the ongoing chord is not being sounded (step S303: NO), processor 10 executes the processes of steps S304 to S307 to process the sounding of the root note.

[0084] Processor 10 turns on the root flag (step S304). Processor 10 stores the key-pressed note number OnNN (On Note Number) in RAM 11 (step S305). The key-pressed note number OnNN is the note number included in the note-on event, i.e., the note number associated with the key pressed by the user.

[0085] Processor 10 associates the note number NRNN (Nearest Root Note Number) of the root note nearest to the pressed note number OnNN with the pressed note number OnNN and stores it in RAM 11 (step S306). Specifically, processor 10 determines the note number NRNN using the following formula, and stores the determined note number NRNN in buffer 11B of RAM 11 in association with the pressed note number OnNN.

[0086] Note number a = remainder of (pressed note number OnNN / 12) (1) Octave area number b = (key press note number OnNN / 12) quotient - 1 (2) Root note number c = (b + 1) × 12 + root note number (3) Root note number d=c-12 (4-1) (or root note number d=c+12 (4-2)) Absolute difference e = |Root note number c - Pressed note number OnNN|···(5) Absolute difference f = |Root note number d - pressed note number OnNN|···(6)

[0087] That is, the processor 10 calculates a note name number a corresponding to the key pressed by the user (see equation (1)). The processor 10 calculates an octave range number b of the key pressed by the user (see equation (2)). The processor 10 calculates the root note number (one of note numbers c and d) closest to the pressed note number OnNN among the note numbers less than the pressed note number OnNN, and also calculates the root note number (the other of note numbers c and d) closest to the pressed note number OnNN among the note numbers equal to or greater than the pressed note number OnNN (see equations (3), (4-1), and (4-2)). In addition, when the root note number c is equal to or greater than the pressed note number OnNN, equation (4-1) is applied. When the root note number c is less than the pressed note number OnNN, equation (4-2) is applied.

[0088] The absolute difference values ​​e and f are examples of the above-mentioned absolute difference value V1. The processor 10 calculates the absolute difference value e between the pressed note number OnNN and the root note note number c, and the absolute difference value f between the pressed note number OnNN and the root note note number d (see equations (5) and (6)). If the absolute difference value e is smaller than the absolute difference value f, the processor 10 determines the note number c as the note number NRNN. If the absolute difference value f is smaller than the absolute difference value e or the absolute difference value f, the processor 10 determines the note number d as the note number NRNN. If the absolute difference value e and the absolute difference value f are the same, the processor 10 determines the lower note number of the note numbers c and d as the note number NRNN.

[0089] In the example of FIG. 4, the key associated with note number 45 (pitch A2) is pressed. Therefore, the note name number 9 corresponding to note name A is calculated, and 2 is calculated as the octave region number b. Because the chord in progress is CM7, the note name number of the root note C is 0. Therefore, 36 and 48 are calculated as the note numbers c and d of the root note, respectively. Because the absolute difference values ​​e and f are 9 and 3, respectively, note number 48 is determined as the note number NRNN.

[0090] The processor 10 instructs the sound source LSI 17 to generate the musical tone of note number NRNN (pitch C3 in the example of FIG. 4) with the velocity included in the note-on event (step S307). As a result, no matter which key the user presses, a musically appropriate root note that matches the chord progression is generated.

[0091] In step S303, if the root flag is on, that is, if the root note is being sounded (step S303: YES), processor 10 executes the processes of steps S308 to S319 to process the sounding of the chord constituent notes. First, processor 10 stores the pressed note number OnNN in RAM 11 (step S308).

[0092] Processor 10 acquires the note name number of the pressed note number OnNN (step S309). Processor 10 compares the note name numbers of each chord constituent note other than the root note with the note name number of the pressed note number OnNN. Processor 10 identifies the note name number of the chord constituent note whose absolute difference from the note name number of the pressed note number OnNN (i.e., absolute difference value V2) is the smallest (step S310).

[0093] The processor 10 acquires the note number of the pronunciation candidate note (step S311). Specifically, the processor 10 acquires the note number of the chord constituent note having the pitch name number identified in step S310 from among the first chord constituent notes (i.e., the chord constituent notes within the first pitch range of the first octave with the root note as the lowest pitch) as the note number of the pronunciation candidate note.

[0094] Processor 10 determines whether the musical tone of the note number acquired in step S311 is currently being sounded (step S312). If the musical tone is not currently being sounded (step S312: NO), processor 10 instructs sound source LSI 17 to sound the musical tone of the note number acquired in step S311 with the velocity included in the note-on event (step S318). Processor 10 associates the note number acquired in step S311 (i.e., the note number of the musical tone instructed to be sounded) with the key-depressed note number OnNN acquired in step S309, and stores them in buffer 11B of RAM 11 (step S319).

[0095] If the musical tone of the note number acquired in step S311 is being sounded (step S312: YES), processor 10 determines whether or not there is an unsound chord constituent note among the first chord constituent notes (step S313). If there is an unsound first chord constituent note (step S313: YES), processor 10 acquires the note number of the first chord constituent note having the smallest absolute difference value V2 among the unsound first chord constituent notes as the note number of the sound candidate note (step S314). Processor 10 issues an instruction to sound the musical tone of the acquired note number (step S318) and stores it in buffer 11B (step S319).

[0096] If there is no chord constituent note that has not yet been sounded among the first chord constituent notes within the first pitch range of the first octave (step S313: NO), the processor 10 raises the sound candidate note by one octave (step S315). Specifically, the processor 10 adds a value of 12 to the note number acquired in step S311.

[0097] Processor 10 determines whether the pronunciation candidate note one octave higher acquired in step S315 is being pronounced (step S316). If the pronunciation candidate note one octave higher is not being pronounced (step S316: NO), processor 10 determines whether any chord constituent notes being pronounced collide by a semitone or a whole tone with the pronunciation candidate note in the second pitch range of the second octave one octave higher acquired in step S315 (in other words, whether any chord constituent note is within two semitones of the pronunciation candidate note one octave higher) in order to avoid the occurrence of dissonance (step S317). Processor 10 repeats the processes of steps S315 to S317 until a chord constituent note that is not being pronounced and does not collide by a semitone or a whole tone is found.

[0098] If there is no chord constituent note that clashes in half steps or whole steps with the pronunciation candidate note one octave higher acquired in step S315 among the chord constituent notes being sounded (step S317: NO), the occurrence of dissonance can be avoided. Therefore, processor 10 issues a pronunciation instruction (step S318) for a pronunciation candidate note that is one octave higher (or two or more octaves higher) and does not clash in half steps or whole steps with the pronunciation candidate note acquired in step S315, and stores the pronunciation candidate note in buffer 11B (step S319).

[0099] If a note-off event is input (step S302: NO), processor 10 refers to buffer 11B to identify the note number of the musical tone being sounded that is stored in association with the note number included in the note-off event (step S320). Processor 10 determines whether the identified note number is note number NRNN (step S321). If it is note number NRNN (step S321: YES), processor 10 turns off the root flag (step S322) and instructs sound source LSI 17 to mute the musical tone of the note number identified in step S320 (step S323). If it is not note number NRNN (step S321: NO), processor 10 instructs sound source LSI 17 to mute the musical tone of the note number identified in step S320 without turning off the root flag (step S323).

[0100] Furthermore, the present disclosure is not limited to the above-described embodiments, and various modifications can be made in the implementation stage without departing from the spirit of the present disclosure. Furthermore, the functions performed in the above-described embodiments may be implemented in appropriate combinations as much as possible. The above-described embodiments include various steps, and various inventions can be extracted by appropriate combinations of the disclosed multiple constituent elements. For example, if the effect can be obtained even if some constituent elements are deleted from all the constituent elements shown in the embodiments, the configuration from which these constituent elements are deleted can be extracted as an invention.

[0101] In the above embodiment, a mode in which a song progresses automatically regardless of whether or not the user performs a performance operation has been described, but the modes applicable to the information processing device, method, and program according to the present embodiment are not limited to this.

[0102] In another embodiment, the information processing device, method, and program according to this embodiment may be applied to 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). Even in this mode, for example, by performing appropriate keyboard operations, the user can play single notes, two-note chords, three-note chords, etc. at will, and can easily perform complex performance expressions.

[0103] The performance part data is not limited to data on chord events or chord parts, which are meta events, but may also be data on melody parts. Furthermore, in the above embodiment, the lowest pitched musical note in the performance part is the root note, but in another embodiment, it may be a musical note in the melody part. In yet another embodiment, the musical note in the melody part may be the highest pitched musical note, and chord notes, including the root note, may be sounded at a pitch lower than that of the musical note in the melody part.

[0104] In the above embodiment, the tone generation target is preferentially selected from among the first chord constituent notes (i.e., chord constituent notes within the first pitch range of the first octave with the root note as the lowest pitch), but in another embodiment, chord constituent notes with note numbers close to the pressed note number OnNN may be preferentially selected, regardless of whether they are first chord constituent notes or not. In other words, chord constituent notes closer to the pitch associated with the key pressed by the user may be preferentially generated rather than chord constituent notes within a one-octave range with the root note as the lowest pitch. The user can play chord constituent notes in a high range and can also play chord constituent notes in a low range at their own will by operating the keyboard.

[0105] Two examples of a method for selecting chord constituent notes in another embodiment will be described using Figure 12. In Example 1, note number 45 (note name number 9) is the pressed note number OnNN. Note name G (note name number 7) and note name B (note name number 11) are chord constituent notes. Processor 10 first begins calculations for the octave range (note numbers 36 to 47) to which pressed note number OnNN belongs.

[0106] Processor 10 calculates the difference between note numbers in ascending order of note name numbers. Specifically, processor 10 obtains the value 2 as the difference between key pressed note number OnNN (note number 45) and note name number 7 (note number 43) (see arrow (A1)), and stores this as the minimum value in RAM 11. Processor 10 then obtains the value 2 as the difference between key pressed note number OnNN (note number 45) and note name number 11 (note number 47) (see arrow (A2)). Since this is the same value 2 as above, processor 10 does not update the minimum value.

[0107] Next, processor 10 starts calculations for the area one octave above (note numbers 48 to 59). Specifically, processor 10 obtains a value of 10 as the difference between key pressed note number OnNN (note number 45) and pitch name number 7 (note number 55) (see arrow (A3)). Because this is greater than the value 2, processor 10 does not update the minimum value. Processor 10 then obtains a value of 14 as the difference between key pressed note number OnNN (note number 45) and pitch name number 11 (note number 59) (see arrow (A4)). Because this is greater than the value 2, processor 10 does not update the minimum value.

[0108] Chord notes with lower pitches are given priority as the note to be played. Therefore, in Example 1, the chord note with note number 43 (pitch G2) corresponding to the minimum value (value 2) is determined as the note to be played.

[0109] In Example 2, note number 47 (note name number 11) is the pressed note number OnNN. Note name D (note name number 2) and note name E (note name number 4) are chord constituent notes. Processor 10 first begins calculations for the octave range (note numbers 36 to 47) to which pressed note number OnNN belongs.

[0110] Specifically, processor 10 obtains a value of 9 as the difference between pressed note number OnNN (note number 47) and pitch name number 2 (note number 38) (see arrow (B1)), and stores this as the minimum value in RAM 11. Processor 10 then obtains a value of 7 as the difference between pressed note number OnNN (note number 47) and pitch name number 4 (note number 40) (see arrow (B2)). Because this is smaller than the value 9, processor 10 updates the minimum value to the value 7.

[0111] Next, processor 10 starts calculations for the region one octave above (note numbers 48 to 59). Specifically, processor 10 obtains a value of 3 as the difference between pressed note number OnNN (note number 47) and pitch name number 2 (note number 50) (see arrow (B3)). Because this is smaller than the value 7, processor 10 updates the minimum value to 3. Processor 10 then obtains a value of 5 as the difference between pressed note number OnNN (note number 47) and pitch name number 4 (note number 52) (see arrow (B4)). Because this is larger than the value 3, processor 10 does not update the minimum value. Therefore, in (Example 2), the chord constituent note of note number 50 (pitch D3) corresponding to the minimum value (value 3) is determined to be the sounding target.

[0112] 12, the chord constituent notes in the octave region to which the pressed note number OnNN belongs and the region one octave above are the candidate notes to be sounded, but instead of or in addition to the chord constituent notes in the region one octave above, the chord constituent notes in the region one octave below may also be the candidate notes to be sounded.By comparing and updating the minimum values ​​stepwise in octave region units, it is possible to more reliably determine the chord constituent notes of note numbers close to the pressed note number OnNN as the tone to be sounded. [Explanation of symbols]

[0113] 1: Information processing device, 2: Electronic musical instrument, 10: Processor, 12A: Control program, 13: Flash memory, 13A: Song data

Claims

1. at least one processor; The at least one processor Detects the chord notes of the chord progression in a song, Detecting an operation on at least one of the plurality of performance operators; processing the generation of the chord constituent tones at the timing when the operation is detected, the number of chord constituent tones corresponding to the number of operations of the performance operators whose operations are detected; Information processing device.

2. The at least one processor determining the pitches of the chord constituent notes based on the pitches associated with the operated performance operators; processing the pronunciation of the determined pitch as the pronunciation of the chord constituent notes; The information processing device according to claim 1 .

3. When the number of operations is one, the at least one processor processes the pronunciation of a root note among the chord constituent notes. The information processing device according to claim 1 .

4. the at least one processor processes the sound of the root note of the pitch closest to the pitch associated with the operated performance operator among the root notes of each octave region; The information processing device according to claim 3 .

5. When the number of operations is plural, the at least one processor processes the pronunciation of the chord constituent notes having a pitch higher than the root note in addition to the root note. The information processing device according to claim 3 .

6. When the number of operations exceeds the number of notes constituting the chord, the at least one processor processes the pronunciation of all the chord notes within a first pitch range in a first octave having the root note as the lowest pitch, as well as the chord notes within a second pitch range in a second octave different from the first octave, the number of the chord notes exceeding the number of notes. The information processing device according to claim 3 .

7. the at least one processor does not process the pronunciation of the chord constituent notes in the second pitch range that are within two semitones of the chord constituent notes in the first pitch range; The information processing device according to claim 6 .

8. the song data includes first part data and second part data, the data of the first part includes chord data of the song; the second part data includes information on a plurality of musical tones that constitute the song; The at least one processor When an operation on the performance operator is detected, the number of notes constituting the chord corresponding to the number of operations is generated based on the data of the first part; irrespective of the operation corresponding to the performance operator, sequentially generating the sounds of the plurality of musical tones in accordance with the sound generation timings associated with the information of the plurality of musical tones based on the data of the second part. The information processing device according to claim 1 .

9. An information processing device according to any one of claims 1 to 8; a plurality of performance operators; Electronic musical instrument.

10. The computer Detects the chord notes of the chord progression in a song, Detecting an operation on at least one of the plurality of performance operators; processing the generation of the chord constituent tones at the timing when the operation is detected, the number of chord constituent tones corresponding to the number of operations of the performance operators whose operations are detected; method.

11. The computer Detects the chord notes of the chord progression in a song, Detecting an operation on at least one of the plurality of performance operators; processing the generation of the chord constituent tones at the timing when the operation is detected, the number of chord constituent tones corresponding to the number of operations of the performance operators whose operations are detected; program.

Citation Information

Patent Citations

  • Method and device for guiding performance, and recording medium

    JP2002040921A