Method for generating arpeggios, program, information processing device, electronic musical instrument, and electronic musical instrument system

The arpeggio generation method adjusts note pitches to match the key of the music, addressing the challenge of generating harmonious arpeggios for users without musical expertise, enabling easy and harmonious performance.

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

Patent Information

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

AI Technical Summary

Technical Problem

Existing arpeggio generation devices require users to have the skill to identify chords that match the key of the music and play them at the appropriate timing, making it difficult for users without musical knowledge to generate arpeggio data that matches the key of a piece of music.

Method used

An arpeggio generation method that shifts the pitch of notes corresponding to the key of the music data, generating arpeggio data consisting of notes with pitches that match the key, even if the user lacks detailed knowledge of the key or chords.

Benefits of technology

Enables users to easily generate arpeggio data that matches the key of the music, allowing for harmonious output with the accompaniment and facilitating free performances like improvisation solos without requiring advanced musical skills.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025145072000001_ABST
    Figure 2025145072000001_ABST
Patent Text Reader

Abstract

To easily generate arpeggio data that matches the key of a musical piece.SOLUTION: The control unit of the information processing device generates arpeggio data by shifting a pitch corresponding to an operator operated for sound generation by a performer on a scale corresponding to the key of musical piece data to be played, thereby generating arpeggio data composed of tones having pitches corresponding to the key of the musical piece.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an arpeggio generation method, a program, an information processing device, an electronic musical instrument, and an electronic musical instrument system. [Background technology]

[0002] BACKGROUND ART Conventionally, there is known a device that generates arpeggio data in response to the depression of chord keys on an electronic musical instrument (see, for example, Patent Document 1). [Prior art documents] [Patent documents]

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

[0004] However, the device described in Patent Document 1 generates arpeggio data using the keys or octaves pressed by the user, regardless of the key of the music being played by the user. This requires the user to have the skill to identify chords that match the key of the music and the skill to play those chords at the appropriate timing.

[0005] An object of the present invention is to easily generate arpeggio data that matches the key of a piece of music. [Means for solving the problem]

[0006] In order to solve the above problems, an arpeggio generation method according to one aspect of the present invention comprises the steps of: The computer When arpeggio data is generated by shifting the pitch corresponding to an operator operated by a performer to generate sound, the pitch is shifted on a scale according to the key of music data to be performed, and arpeggio data consisting of sounds of pitch according to the key is generated. [Effects of the Invention]

[0007] According to the present invention, arpeggio data that matches the key of a piece of music can be easily generated. [Brief explanation of the drawings]

[0008] [Figure 1] 1 is a diagram illustrating an example of the overall configuration of an electronic musical instrument system according to an embodiment of the present invention. [Figure 2] 2 is a diagram showing an example of data storage in a storage unit of the information processing device in FIG. 1; [Figure 3] 10A and 10B are diagrams showing an example of chord information and key information included in music data. [Figure 4] 10 is a flowchart showing the flow of an arpeggio generation process executed by a control unit of the information processing device of FIG. [Figure 5] 5 is a flowchart showing the process flow of step S8 in FIG. 4. [Figure 6] 6 is a flowchart showing the process flow of step S812 in FIG. 5. [Figure 7] FIG. 4 is a diagram showing an example of arpeggio pattern data. [Figure 8] FIG. 10 is a diagram illustrating an example of a scale table. [Figure 9] 10A and 10B are diagrams showing, in musical notation, arpeggios output based on arpeggio data generated in this embodiment; DETAILED DESCRIPTION OF THE INVENTION

[0009] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the embodiments described below are subject to various limitations that are technically preferable for implementing the present invention. Therefore, the technical scope of the present invention is not limited to the following embodiments and illustrated examples.

[0010] First, the configuration of an electronic musical instrument system 100 according to an embodiment of the present invention will be described. As shown in Fig. 1, the electronic musical instrument system 100 is configured to include an information processing device 1 and an electronic musical instrument 2. The information processing device 1 and the electronic musical instrument 2 are communicatively connected via a wire or wirelessly so that data can be transmitted and received. The electronic musical instrument system 100 is a system that provides the function of an arpeggiator.

[0011] The information processing device 1 is a device that generates arpeggio data in response to a sound production operation (key depression in this embodiment) by a user (performer) on an electronic musical instrument 2. For example, a smartphone, a tablet terminal, a PC (Personal Computer), etc. can be used as the information processing device 1. The arpeggio data is data for causing an output unit 26 or the like to output an arpeggio in response to the sound production operation, and includes at least pitch information.

[0012] As shown in FIG. 1, the information processing device 1 is configured to include a control unit 11, a memory unit 12, an input unit 13, a display unit 14, a communication unit 15, an output unit 16, etc., and each unit is connected by a bus 17.

[0013] The control unit 11 is a computer that includes at least one processor such as a CPU (Central Processing Unit) and a RAM (Random Access Memory), and controls each unit of the information processing device 1. Specifically, the CPU of the control unit 11 reads out a specified program from among the system programs and various application programs stored in the storage unit 12, loads it into the RAM, and, in cooperation with the loaded program, executes various processes such as the arpeggio generation process shown in Figs. 4 to 6.

[0014] The control unit 11 may have multiple CPUs. The multiple processes executed by the control unit 11 of this embodiment may be executed by the multiple CPUs. In this case, the multiple CPUs may be involved in a common process. Alternatively, the multiple CPUs may independently execute different processes in parallel.

[0015] The storage unit 12 is configured by a non-volatile semiconductor memory, a hard disk drive (HDD), etc. The storage unit 12 stores the system program of the information processing device 1, various application programs, and data required for executing the programs. The storage unit 12 is not limited to being built into the information processing device 1, and may include an external recording medium that is detachable from the information processing device 1, such as an external HDD or USB memory.

[0016] In this embodiment, the storage unit 12 stores an application program (arpeggio generation application 121) for generating arpeggio data by the control unit 11. As shown in Fig. 2, the arpeggio generation application 121 includes a chord key generation program 1211, a key depression information generation program 1212, an arpeggio generation program 1213, and an accompaniment generation program 1214.

[0017] The storage unit 12 also stores music data used for performances using the arpeggio generation application 121. The music data includes chord information indicating the chord progression of the music and tonality information indicating the key of the music. FIG. 3 shows an example of the chord information and tonality information included in the music data. One section in FIG. 3 shows four beats. That is, FIG. 3 shows that the chord changes (the chord progresses) every four beats or every two beats from the start of the music. The storage unit 12 also stores arpeggio pattern data 122 (see FIGS. 7(a) to 7(c)) and a scale table 123 (see FIG. 8). The arpeggio pattern data 122 and the scale table 123 will be described in detail later.

[0018] The input unit 13 is composed of push button switches (hardware keys), a touch panel (software keys) attached to the display unit 14, etc. The input unit 13 detects the operation of the push button switches or the touch operation on the screen by the user, and outputs an operation signal to the control unit 11.

[0019] The display unit 14 is configured with an LCD (Liquid Crystal Display), an EL (Electro Luminescence) display, or the like, and performs various displays according to display information instructed by the control unit 11.

[0020] The communication unit 15 includes a wired unit or a wireless unit for communicating with external devices such as the electronic musical instrument 2, and transmits and receives data to and from the external devices. In this embodiment, the communication unit 15 transmits and receives data to and from the electronic musical instrument 2 via a communication interface (in this embodiment, a MIDI interface) not shown.

[0021] The output unit 16 includes a sound source unit, a D / A converter, an amplifier, a speaker, etc. In accordance with instructions from the control unit 11, the output unit 16 reads waveform data stored in advance in a waveform ROM provided in the sound source unit or generates new waveform data, and outputs musical sounds based on the waveform data from the speaker via the D / A converter and amplifier.

[0022] The electronic musical instrument 2 is, for example, a keyboard instrument. As shown in Fig. 1, the electronic musical instrument 2 is configured to include a control unit 21, a storage unit 22, a keyboard 23, an input unit 24, a display unit 25, a communication unit 26, an output unit 27, etc., and each unit is connected by a bus 28.

[0023] The control unit 21 is a computer that includes at least one processor such as a CPU, RAM, etc., and controls each part of the electronic musical instrument 2. Specifically, the processor of the control unit 21 reads out a designated program from among the system programs and various programs stored in the storage unit 22, expands it in the RAM, and executes various processes in cooperation with the expanded program.

[0024] For example, when the control unit 21 detects a sound generation operation (key depression) by the user on the keyboard 23, it transmits information about the key that has been operated to generate sound (note-on information) to the communication unit 15 of the information processing device 1 via the communication unit 26. The note-on information includes information about at least the pitch of the key that has been operated to generate sound. Furthermore, when the control unit 21 detects a sound-silencing operation (key release) by the user on the keyboard 23, it transmits information about the key that has been operated to generate sound (note-off information) to the communication unit 15 of the information processing device 1 via the communication unit 26. Furthermore, when the control unit 21 receives arpeggio data via the communication unit 26, it causes the output unit 27 to output an arpeggio based on the received arpeggio data.

[0025] The storage unit 22 is configured with a non-volatile semiconductor memory, a hard disk drive (HDD), etc. The storage unit 22 stores the system program of the electronic musical instrument 2, various programs, and data required for executing the programs. The storage unit 22 is not limited to being built into the electronic musical instrument 2, but may also include an external recording medium that is detachable from the electronic musical instrument 2, such as an external HDD or USB memory.

[0026] The keyboard 23 includes a plurality of keys (operators) and a detection unit that detects pressed / released keys, and the detection unit outputs information such as the pitch of the pressed / released keys (note-on information / note-off information) to the control unit 21.

[0027] The input unit 24 is composed of push button switches, a touch panel attached to the display unit 25, etc. The input unit 24 detects the operation of the push button switches or the touch operation on the touch panel screen by the user, and outputs an operation signal to the control unit 21.

[0028] The display unit 25 is configured with an LCD or the like, and performs various displays according to display information instructed by the control unit 21.

[0029] The communication unit 26 includes a wired unit or a wireless unit for communicating with external devices such as the information processing device 1, and transmits and receives data to and from the external devices. In this embodiment, the communication unit 26 transmits and receives data to and from the information processing device 1 via a communication interface (a MIDI interface in this embodiment) not shown.

[0030] The output unit 27 includes a sound source unit having a processor configured as a DSP (Digital Signal Processor), a D / A converter, an amplifier, a speaker, etc. In accordance with instructions from the control unit 21, the output unit 27 reads waveform data stored in advance in a waveform ROM provided in the sound source unit or generates new waveform data, and outputs musical sounds based on the waveform data from the speaker via the D / A converter and amplifier.

[0031] Next, the operation of the arpeggiator function in the electronic musical instrument system 100 will be described. Generally, an arpeggiator outputs an arpeggio by sounding each note constituting a chord (input chord) pressed by a user, one note at a time, in order from lowest to highest (or highest to lowest). Some arpeggiators also output an arpeggio by shifting the pitch of input notes using an arpeggio pattern that shifts the pitch of the notes input by key pressing. Conventionally, when outputting an arpeggio by shifting the pitch of input notes, the pitch of the input notes is shifted only by an absolute interval difference. Therefore, even if a note outside the key of the music being played is included, the arpeggio will still include that note. Therefore, depending on the input chord, the output arpeggio may contain a note outside the key of the music, resulting in problems such as a lack of harmony with the accompaniment. Therefore, in the electronic musical instrument system 100 of this embodiment, when generating arpeggio data by shifting the pitches corresponding to key presses (chord key presses) on the keyboard 23, the pitches are shifted on a scale corresponding to the key of the music data to be performed, and arpeggio data consisting of notes with pitches corresponding to the key of the music data is generated. This allows the user to output arpeggios that match the key of the music without having to understand the tonality in detail.

[0032] First, in the information processing device 1, when an instruction to launch the arpeggio generation application 121 is given via an operation of the input unit 13, the control unit 11 launches the arpeggio generation application 121 and causes the display unit 14 to display a selection screen for the user to select a piece of music to be played. When a piece of music is selected from the selection screen via an operation of the input unit 13 and the start button is pressed, the control unit 11 executes chord and key generation processing in cooperation with the chord and key generation program 1211. The control unit 11 also executes key press information generation processing in cooperation with the key press information generation program 1212. The control unit 11 also executes arpeggio generation processing in cooperation with the arpeggio generation program 1213. The control unit 11 also executes accompaniment generation processing in cooperation with the accompaniment generation program 1214. In other words, the chord and key generation processing, key press information generation processing, arpeggio generation processing, and accompaniment generation processing are executed in parallel by the control unit 11 exchanging or utilizing data generated or extracted between the respective processes.

[0033] For example, in the chord and key generation process, the control unit 11 sequentially reads out the music data of the music piece to be performed from the storage unit 12, references the chord information and key information (see FIG. 3) contained in the music data, and uses the first extracted chord information in the accompaniment generation process, and also uses the next chord information in the accompaniment generation process when the chord changes. In the accompaniment generation process, the control unit 11 generates accompaniment data based on the chord information obtained through the chord and key generation process, transmits the generated accompaniment data to the electronic musical instrument 2 via the communication unit 15, and causes the output unit 27 to output an accompaniment based on the accompaniment data.

[0034] In addition, in the chord and key generation process, the control unit 11 refers to the chord information and key information (see Figure 3) included in the music data of the music to be performed, and uses the first key information extracted in the arpeggio generation process, and also uses the next key information in the arpeggio generation process when the key information is changed.

[0035] Furthermore, in the chord / key generation process, when the control unit 11 determines that all of the music data has been read, it notifies the end of the arpeggio in the arpeggio generation process.

[0036] In the key press information generation process, when note-on information or note-off information for the keyboard 23 is input from the electronic musical instrument 2 via the communication unit 15, the control unit 11 generates (updates) key press information and uses the generated (updated) key press information for the arpeggio generation process. Here, the key press information is information indicating the currently pressed key. In this embodiment, the key press information is data in which a flag indicating whether a key is pressed (e.g., 1 if the key is pressed and 0 if the key is not pressed) is set for each key on the keyboard 23 (e.g., keys with note numbers 0 to 127). When note-on information is transmitted from the electronic musical instrument 2, the control unit 11 updates the key press information by setting the flag corresponding to the note number of the input note-on information to 1, and uses the updated key press information for the arpeggio generation process. When note-off information is transmitted from the electronic musical instrument 2, the control unit 11 updates the key press information by setting the flag corresponding to the note number of the input note-off information to 0, and uses the updated key press information for the arpeggio generation process.

[0037] In the arpeggio generation process, the control unit 11 executes the processes of the steps shown in Figures 4 to 6 to generate arpeggio data based on the tonality information extracted by the chord / key generation process and the key press information generated by the key press information generation process, transmits the generated arpeggio data to the electronic musical instrument 2 via the communication unit 15, and causes the output unit 27 to output arpeggios based on the arpeggio data.

[0038] The arpeggio generation process will be described in detail below with reference to FIGS. As shown in FIG. 4, in the arpeggio generation process, first, the control unit 11 resets the gate time and step number stored immediately before (step S1). The gate time is the remaining time of one step of the arpeggio, and the step number is the number of the step currently being sounded in the arpeggio. The multiple notes that make up the arpeggio are assigned step numbers from 0 to N (N is the total number of steps minus 1) in order from the first note to be sounded. The RAM of the control unit 11 is provided with storage areas for the gate time and step numbers, and in step S1, the data in each area is initialized to 0.

[0039] Next, the control unit 11 determines whether the arpeggio has ended (step S2). If the control unit 11 is notified of the end of the arpeggio by the chord key generation process, it determines that the arpeggio has ended.

[0040] If it is determined that the arpeggio has not ended (step S2; NO), the control unit 11 determines whether it is note-off time (step S3). The note-off timing for each note that makes up the arpeggio is determined by a predetermined setting. For example, if the interval between arpeggio steps, i.e., the gate time, is set to 48 ticks (assuming a quarter note is 96 ticks) and the note length is set to 50%, the note-off timing is 24 ticks after the note-on of each note.

[0041] If it is determined that it is note-off timing (step S3; YES), the control unit 11 causes the output unit 27 of the electronic musical instrument 2 via the communication unit 15 to mute the currently sounding arpeggio notes (step S4), and proceeds to step S5. If it is determined that it is not note-off timing (step S3; NO), the control unit 11 proceeds to step S5.

[0042] In step S5, the control unit 11 determines whether the current gate time is 0 or less (step S5). If the gate time is 0 or less, it indicates that it is time to note-on (start sounding) the current step of the arpeggio (the step identified by the current step number). If it is determined that the gate time is 0 or less (step S5; YES), the control unit 11 refers to the arpeggio pattern data 122 stored in the storage unit 12, and acquires the Type and Scale Shift value of the current step (step S6).

[0043] The arpeggio pattern data 122 is data indicating the tone generation pattern of an arpeggio. Before starting a performance, the performer determines, by operating the input unit 13, which of the arpeggio pattern data 122 shown in Figures 7(a) to 7(c) to use during the performance. The control unit 11 controls the output of an arpeggio based on the key information of the part being performed, the performance operations, and the determined arpeggio pattern data 122. As shown in Figures 7(a) to 7(c), the arpeggio pattern data 122 is data in which a Type and a Scale Shift value are associated with the step number of each step of the arpeggio. The Type indicates the type of key to be used to generate the tone of the step with the corresponding step number among the currently pressed keys (keys indicated by the key press information). The Type L1 indicates the lowest-pitched key among the keys currently being pressed for the arpeggio, and the higher the number, the higher the key pitch. In the example of Figure 7(a), L4 indicates the highest-pitched key. The Scale Shift value indicates how much the pitch of the key specified by Type is shifted (scale shifted) on the scale of the current key in the music data at the step of the corresponding step number. Fig. 7(a) shows arpeggio pattern data 122 for an arpeggio consisting of eight steps (eight steps from step numbers 0 to 7) that ascend from L1 to L4 one step at a time, repeated twice, without scale shift. In other words, this arpeggio pattern data 122 is data for sounding the pitch of the pressed key unchanged. Fig. 7(b) shows arpeggio pattern data 122 consisting of eight steps (eight steps from step numbers 0 to 7) that shifts the pitch of the L1 key by the Scale Shift value on the scale of the current key in the music data eight times, increasing the Scale Shift value for each step. In other words, this arpeggio pattern data 122 is data for sounding the pitch of the pressed L1 key shifted at each step.7(c) shows arpeggio pattern data 122 that indicates that, when L1 having step numbers 0 to 3 and L2 having step numbers 4 to 7 are pressed simultaneously, L1 is sounded when step number 0, and then the scale shifts by one for L1 with each step until step number 3 is reached. After that, L2 is sounded when step number 4, and then the scale shifts by one for L2 with each step until step number 7 is reached. The control unit 11 controls the output of arpeggios according to the arpeggio pattern data 122, key pressing information, and key signature information that are preset before the performance. Note that the arpeggio pattern data 122 is not limited to those shown in FIGS. 7(a) to 7(c).

[0044] Next, the control unit 11 determines whether or not any key is pressed on the electronic musical instrument 2 based on the key press information generated by the key press information generation process (step S7). If the key press information includes a pitch for which flag 1 is set, the control unit 11 determines that any key is pressed. If the key press information does not include a pitch for which flag 1 is set, the control unit 11 determines that no key is pressed.

[0045] If it is determined that a key is pressed (step S7; YES), the control unit 11 generates arpeggio data, transmits the arpeggio data to the electronic musical instrument 2 via the communication unit 15, and causes the output unit 27 to generate arpeggio notes (step S8), and then proceeds to step S9. If it is determined that no key is pressed (step S7; NO), the control unit 11 proceeds to step S9.

[0046] The process of step S8 will be described in detail below with reference to FIG. 5, the control unit 11 first obtains the Type of the current step from the arpeggio pattern data 122 (step S801). The Type of the current step is the Type corresponding to the step number of the current step.

[0047] Next, the control unit 11 determines a tentative note based on the key press information from the key press information generation process and the acquired Type (step S802). The control unit 11 identifies the pitches (note numbers) corresponding to the keys currently being pressed simultaneously based on the key press information, and determines the pitches corresponding to the keys corresponding to the acquired Type among the currently pressed keys as the tentative note. For example, if the keys currently being pressed simultaneously are C4, E4, G4, and B4, which are four notes in the scale, the arpeggio pattern data 122 is as shown in Figure 7(a), and the step is, for example, the second, and therefore the Type is L2 (the second key from the bottom), so E4 is determined as the tentative note.

[0048] Next, the control unit 11 acquires the Scale Shift value of the current step from the arpeggio pattern data 122 (step S803). For example, if the arpeggio pattern data 122 is as shown in Fig. 7(b) and the step is the second, the Scale Shift value will be 1.

[0049] Next, the control unit 11 determines whether the acquired Scale Shift value is 0 (step 804). If it is determined that the acquired Scale Shift value is 0 (step 804; YES), the control unit 11 determines the tentative note as the final note (step S813) and proceeds to step S814. The final note is the note (pitch) to be sounded in the current step of the arpeggio. If the Scale Shift value is 0, no scale shift is performed, and the pitch of the pressed key is used as the final note.

[0050] On the other hand, if it is determined that the acquired Scale Shift value is not 0 (step 804; NO), that is, if the adopted arpeggio pattern data 122 is as shown in FIG. 7(b) and the step number is 1 or later, the control unit 11 acquires the pitch difference dn (where 1 semitone is the pitch difference) between the provisional note and the tonic note of the current key indicated by the tonality information, and the tonic note number tn, from the tonality information and provisional note transmitted from the chord / key generation process (step S805). The tonic note is the root note (the lowest note) of the key, and is a number expressed as C=0 to B=11. The pitch difference dn between the provisional note and the tonic note can be derived using the following (Equation 1). Pitch difference from the tonic note dn = (temporary note - tonic note + 12)%12...(Equation 1)

[0051] Here, the right-hand side means the remainder when (temporary note - tonic note + 12) is divided by 12. For example, if the provisional note is G4 (note number = 67) and the current key indicated by the key signature information is C major, dn is derived as follows: dn = (67-0+12) % 12 = 7 For example, if the tentative note is G4 (note number=67) and the current key indicated by the key signature information is F major, dn is derived as follows: dn = (67-5+12) % 12 = 2

[0052] Note that the tonic note is set to be converted only in major keys, so if the tonality information is a minor key, it is converted to the relative major key for the calculation. A relative key is a minor key in which the tonic note is three semitones below the tonic note of the major key. For example, the minor key that is the relative key of C major is A minor, and the relative key of E♭ major is C minor. Therefore, if tonality information of C minor is given, it is converted to the major key of E♭ major for the calculation.

[0053] Furthermore, the control unit 11 derives the tonic note number tn (the note number of the tonic note) using the following (Equation 2): Here, the note number of the tonic note lower than the pressed key is taken as the tonic note number tn. Tonic note number tn = provisional note - dn ... (Equation 2)

[0054] For example, if the tentative note is G4 (note number = 67) and the current key is C major, tn is derived as follows: tn = 67 - 7 = 60 For example, if the tentative note is G4 (note number = 67) and the current key is F major, tn is derived as follows: tn = 67 - 2 = 65

[0055] Next, the control unit 11 determines whether the acquired pitch difference dn from the tonic note is one of the values ​​in the pitch difference column of the scale table 123 (step S806). As shown in FIG. 8, the scale table 123 is a table that associates pitch differences (pitch differences where one semitone is 1) with degrees. Each pitch difference in the upper row of the scale table 123 is the pitch difference between each note constituting a key and the tonic note. In other words, a note whose pitch difference dn from the tonic note of the current key exists in the upper row of the scale table 123 is a note constituting the current key. A note whose pitch difference dn from the tonic note of the current key does not exist in the upper row of the scale table 123 is not a note constituting the current key. In other words, it is a note outside the current key. The degrees are numerical values ​​corresponding to do-re-mi-fa-so-la-si (each note constituting the key) in movable do. Here, the degree of each note is shown with do (tonic note) set to 0.

[0056] If it is determined that the pitch difference dn from the acquired tonic note is included in the pitch difference column of the scale table 123 (step S806; YES), the control unit 11 acquires the degree corresponding to the pitch difference dn from the acquired tonic note in the scale table 123 as the degree of the provisional note (step S807), and proceeds to step S811.

[0057] If it is determined that the pitch difference dn from the acquired tonic note is not any of the values ​​in the pitch difference column of the scale table 123 (step S806; NO), the control unit 11 determines whether the Scale Shift value is a positive value (step S808). If it is determined that the Scale Shift value is a positive value (the pitch is shifted to a higher pitch than the pitch of the pressed key) (step S808; YES), the control unit 11 acquires the degree corresponding to the pitch difference that is closest and smaller in the scale table 123 to the pitch difference dn from the acquired tonic note as the degree of the provisional note (step S809), and proceeds to step S811.

[0058] If it is determined that the Scale Shift value is not a positive value (it is a negative value: the pitch is shifted to a lower pitch than the pitch of the pressed key) (step S808; NO), the control unit 11 acquires the degree corresponding to the pitch difference that is closest and larger than the pitch difference dn from the acquired tonic note in the scale table 123 as the degree of the provisional note (step S810), and proceeds to step S811.

[0059] If the acquired interval difference dn from the tonic note is not included in the interval difference column of the scale table 123, the tentative note is outside the current key. Therefore, the tentative note must be corrected to a note that constitutes the current key so that the note can be shifted by adding or subtracting the Scale Shift value in the scale of the current key. This correction is performed in steps S809 and S810. For example, if the key information indicates that the tentative note is F#4 (note number = 66) in a C major key, then if the Scale Shift value is -1, the desired final note to be sounded will be F4, and if the Scale Shift value is +1, the desired final note will be G4. In this case, the tentative note must be updated so that the correct pitch is derived when the Scale Shift value is added or subtracted in step S811. To satisfy the above, if the Scale Shift value is positive, the control unit 11 acquires the degree of the tentative note as the degree of F4, i.e., the degree corresponding to the closest and smaller interval difference from dn in the scale table 123, as the degree of the tentative note. That is, the control unit 11 corrects the tentative note to a pitch that is lower and closest to the current tentative note on the scale of the current key, and acquires the degree of the corrected tentative note as the note degree of the tentative note. On the other hand, if the Scale Shift value is negative, the control unit 11 acquires the degree when G4 is the tentative note, that is, the degree that corresponds to the closest and larger interval difference from dn in the scale table 123, as the note degree of the tentative note. That is, the control unit 11 corrects the tentative note to a pitch that is higher and closest to the current tentative note on the scale of the current key, and acquires the degree of the corrected tentative note as the note degree of the tentative note.

[0060] In step S811, the control unit 11 adds the degree of the acquired provisional note and the Scale Shift value to derive the final degree (step S811). Next, the control unit 11 derives the final note from the tonic note number tn and the pitch difference corresponding to the final degree (step S812). The pitch difference corresponding to the final degree is the pitch difference associated with the final degree in the scale table 123. The final note is the note number of the note to be generated as an arpeggio note by the output unit 27. In other words, the processing of step S812 is processing to convert the final degree into an actual note number.

[0061] The process of step S812 will be described in detail below with reference to FIG. First, the control unit 11 sets the variable n to 0 (step S8121).

[0062] Next, the control unit 11 determines whether the final frequency derived in step S811 is greater than 6 (step S8122). If it is determined that the final frequency is greater than 6 (step S8122; YES), the control unit 11 adds 1 to the variable n (step S8123). Next, the control unit 11 subtracts 7 from the final frequency (step S8124) and returns to step S8122.

[0063] If it is determined in step S8122 that the final frequency is not greater than 6 (step S8122; NO), the control unit 11 determines whether the final frequency is less than 0 (step S8125). If it is determined that the final frequency is less than 0 (step S8125; YES), the control unit 11 subtracts 1 from the variable n (step S8126). Next, the control unit 11 adds 7 to the final frequency (step S8127) and returns to step S8125.

[0064] In step S8125, if it is determined that the final degree is not less than 0 (step S8125; NO), the control unit 11 adds the pitch difference corresponding to the tonic note number tn and the final degree, and then adds the octave (12×n) to the sum to determine the final note (arpeggio data) (step S8128), and proceeds to step S814 in Figure 5.

[0065] For example, if the tentative note pressed is F#4 (note number = 66), the current key in the music data is C major, and the Scale Shift value is -1, the degree of the tentative note is set to 4, which corresponds to G4 (note number = 67), by the processing in step S810. In step S811, the above degree and Scale Shift value are calculated, and the final degree is 4 - 1 = 3, and the corresponding interval difference is 5 according to the scale table 123. Based on the above results, in the processing in step S812, "final note = tn (note number = 60) + interval difference corresponding to final degree (5) = 65 (F4)" is obtained.

[0066] In step S814 of FIG. 5, the control unit 11 transmits the final note as arpeggio data to the electronic musical instrument 2 via the communication unit 15, thereby causing the output unit 27 to sound the final note (step S814), and the process proceeds to step S9 of FIG.

[0067] In step S9 of Fig. 4, the control unit 11 sets a predetermined time (tick) as the gate time (step S9). For example, 48 ticks is set as the gate time (assuming a quarter note = 96 tick resolution). The timing at which the gate time is set becomes the note-on timing of each note of the arpeggio.

[0068] Next, the control unit 11 adds 1 to the step number (step S10). Next, the control unit 11 determines whether or not the step number exceeds the maximum step number in the arpeggio pattern data (step S11). If the control unit 11 determines that the step number does not exceed the maximum step number in the arpeggio pattern data (step S11; NO), the control unit 11 proceeds to step S13. If the control unit 11 determines that the step number exceeds the maximum step number in the arpeggio pattern data (step S11; YES), the control unit 11 resets the step number (step S12) and proceeds to step S13.

[0069] On the other hand, in step S5, if it is determined that the gate time is not equal to or less than 0 (step S5; NO), the control section 11 proceeds to step S13.

[0070] In step S13, the control unit 11 subtracts 1 from the gate time (step S13) and returns to step S2. The control unit 11 repeats the processes of steps S2 to S13 until it determines in step S2 that the arpeggio has ended. If it determines in step S2 that the arpeggio has ended (step S2; YES), the control unit 11 ends the arpeggio generation process.

[0071] FIGS. 9(a) to 9(e) show musical scores of arpeggios that are output when the arpeggio pattern data shown in FIGS. 7(a) to 7(c) are applied in the above embodiment. When the user simultaneously presses C4, E4, G4, and B4 using the arpeggio pattern data of FIG. 7(a), if the key of the music being played is C major, the arpeggio shown in FIG. 9(a) will be output. When the arpeggio pattern data of Fig. 7(b) is used and the user presses C4 as L1, if the key of the music being played is C major, the arpeggio shown in Fig. 9(b) will be output. Similarly, when the arpeggio pattern data of Fig. 7(b) is used and the user presses the same C4 as L1, if the key of the music being played is E♭ major (C minor), the arpeggio shown in Fig. 9(d) will be output. In other words, even if the users use the same arpeggio pattern data and press the same keys, the arpeggios output will be different because the keys being played are different. Similarly, when using the arpeggio pattern data of Figure 7(b) and the user presses D4 as L1, if the key of the song being played is C major, the arpeggio shown in Figure 9(c) will be output, and if the key of the song being played is E♭ major (C minor), the arpeggio shown in Figure 9(e) will be output. Figure 7(b) shows an example of pressing a single key, but if the user uses the arpeggio pattern data of Figure 7(c) and simultaneously presses C4 and G4 as L1 and L2, respectively, and the key of the song being played is C major, the arpeggio shown in Figure 9(b) will be output, while if the key of the song being played is C minor, the arpeggio shown in Figure 9(d) will be output. When the arpeggio pattern data of Figure 7(c) is used and the user simultaneously presses D4 and A4 as L1 and L2 respectively, if the key of the song being played is C major, the arpeggio shown in Figure 9(c) will be output; when the arpeggio pattern data of Figure 7(c) is used and the user simultaneously presses D4 and A♭4 as L1 and L2 respectively, if the key of the song being played is C minor, the arpeggio shown in Figure 9(e) will be output.

[0072] As described above, in this embodiment, the pitch corresponding to the key pressed by the user is shifted on a scale corresponding to the key of the music, and arpeggio data consisting of notes with pitches corresponding to the key of the music is generated. This allows the user to output arpeggios that match the key of the music, even if the user does not have a detailed understanding of the key. For example, even if the user presses the same key, as shown in FIGS. 9(b) and 9(d), different arpeggios can be output depending on the key of the music. This allows the user to easily enjoy free performances such as improvisation solos, even if they do not have knowledge of the key or chords of the music. Furthermore, the accompaniment of a music piece is matched to the chord progression of the music (i.e., to the key), and outputting arpeggios that do not match the key of the music may not match the accompaniment. However, in this embodiment, arpeggios that match the key of the music are output, so even when the accompaniment of the music is output together with the arpeggios, arpeggios that harmonize with the accompaniment can be output.

[0073] As described above, when generating arpeggio data by shifting the pitches corresponding to the controls operated by the performer, the control unit 11 of the information processing device 1 shifts the pitches on a scale corresponding to the key of the music data to be performed, and generates arpeggio data consisting of notes with pitches corresponding to the key. Therefore, even if you have no knowledge of the key or chords of the music, you can easily generate arpeggio data that matches the key of the music.

[0074] For example, when the pitch corresponding to the sound-producing operator is not a pitch that constitutes the key of the music data, the control unit 11 corrects the pitch corresponding to the sound-producing operator to a pitch that constitutes the key of the music data, and shifts the corrected pitch on a scale corresponding to the key of the music data. For example, when shifting the pitch corresponding to the sound-producing operator to a pitch higher than the pitch, if the pitch corresponding to the sound-producing operator is not a pitch that constitutes the key of the music data, the control unit 11 sets the pitch corresponding to the sound-producing operator to a pitch that is lower than and closest to the pitch on a scale corresponding to the key of the music data as a correction value (provisional note), and adds a pitch value (Scale Shift). When shifting the pitch corresponding to the operated operator to a lower pitch, if the pitch corresponding to the operated operator is not a pitch that constitutes the key of the music data, the control unit 11 sets the pitch corresponding to the operated operator to a pitch that is higher than and closest to the pitch on the scale according to the key of the music data as a correction value (provisional note) and subtracts the pitch value (Scale Shift value). Therefore, even if you have no knowledge of the key or chords of the music, you can easily generate arpeggio data that matches the key of the music.

[0075] Furthermore, the control unit 11 causes the output unit 27 to output an arpeggio based on the generated arpeggio data. Therefore, it is possible to output an arpeggio that matches the key of the music piece.

[0076] The control unit 11 also generates accompaniment data based on chord information in the music data, and causes the output unit 27 to output an arpeggio based on the generated arpeggio data and an accompaniment based on the generated accompaniment data. Therefore, it is possible to output an arpeggio that is in harmony with the accompaniment.

[0077] The contents of the above embodiment are preferred examples of the arpeggio generating method, program, information processing device, electronic musical instrument, and electronic musical instrument system according to the present invention, and are not intended to be limiting.

[0078] For example, in the above embodiment, an example was described in which the arpeggio generation application 121, which is a program for realizing the functions of the present invention, is stored in the storage unit 12 of the information processing device 1 separate from the electronic musical instrument 2, and the functions of the control unit of the present invention are realized by the control unit 11 of the information processing device 1. However, a program equivalent to the arpeggio generation application 121 may be stored in the storage unit 22 of the electronic musical instrument 2, and the functions of the control unit of the information processing device of the present invention may be realized by the control unit 21 of the electronic musical instrument 2. In other words, the information processing device of the present invention may be provided in the electronic musical instrument 2.

[0079] In the above embodiment, the arpeggios and accompaniment are output from the output unit 27 of the electronic musical instrument 2. Alternatively, the arpeggios and accompaniment may be output from the output unit 16 of the information processing device 1.

[0080] Furthermore, in the above embodiment, an example was given in which the music data already contains key information and chord information, but the control unit 11 may analyze the music data and generate key information and chord information.

[0081] In the above embodiment, the electronic musical instrument 2 is an electronic keyboard instrument, but the present invention is not limited to this and may be other electronic musical instruments such as an electronic string instrument or an electronic wind instrument.

[0082] In the above embodiment, an example has been disclosed in which a semiconductor memory or a hard disk is used as a computer-readable medium for the program according to the present invention, but the present invention is not limited to this example. Portable recording media such as CD-ROMs can also be used as other computer-readable media. Furthermore, a carrier wave can also be used as a medium for providing data for the program according to the present invention via a communication line.

[0083] In addition, the detailed configuration and operation of each device that makes up the electronic musical instrument system can be modified as appropriate without departing from the spirit of the invention.

[0084] Although the embodiments of the present invention have been described above, the technical scope of the present invention is not limited to the above-described embodiments, but is defined by the claims. Furthermore, the technical scope of the present invention also includes equivalents to the claims that are not related to the essence of the present invention. [Explanation of symbols]

[0085] 100 Electronic musical instrument system, 1 Information processing device, 11 Control unit, 12 Memory unit, 13 Input unit, 14 Display unit, 15 Communication unit, 16 Output unit, 2 Electronic musical instrument, 21 Control unit, 22 Memory unit, 23 Keyboard, 24 Input unit, 25 Display unit, 26 Communication unit, 27 Output unit

Claims

1. The computer When generating arpeggio data by shifting pitches corresponding to operators operated by a performer to produce sounds, the pitches are shifted on a scale corresponding to the key of the music data to be performed, and arpeggio data consisting of sounds of pitches corresponding to the key is generated. How to generate arpeggios.

2. The computer correcting the pitch corresponding to the operator to a pitch constituting the key of the music data, and shifting the corrected pitch on a scale corresponding to the key of the music data; 2. The method of claim 1, wherein the arpeggio is generated by a step.

3. The computer When shifting the pitch corresponding to the operated operator to a pitch higher than the pitch, if the pitch corresponding to the operated operator is not a pitch that constitutes the key of the music data, a pitch that is lower than the pitch and closest to the pitch on a scale corresponding to the key of the music data is used as a correction value for the pitch corresponding to the operator, and a pitch value is added to the pitch; when shifting the pitch corresponding to the operated operator to a pitch lower than the pitch, if the pitch corresponding to the operated operator is not a pitch that constitutes the key of the music data, a pitch that is higher than the pitch and closest to the pitch on a scale corresponding to the key of the music data is used as a correction value for the pitch corresponding to the operator, and a pitch value is subtracted from the pitch.

3. The method of claim 2, wherein the arpeggio is generated by the arpeggio generator.

4. The computer outputting an arpeggio based on the generated arpeggio data to an output unit; 2. The method of claim 1, wherein the arpeggio is generated by a step.

5. The computer further comprises: generating accompaniment data based on chord information in the music piece data; outputting an arpeggio based on the generated arpeggio data and an accompaniment based on the generated accompaniment data to an output unit; 2. The method of claim 1, wherein the arpeggio is generated by a step.

6. On the computer, When generating arpeggio data by shifting pitches corresponding to operators operated by a performer to produce sounds, the pitches are shifted on a scale corresponding to the key of the music data to be performed, and arpeggio data consisting of sounds of pitches corresponding to the key is generated. A program for executing a process.

7. When generating arpeggio data by shifting pitches corresponding to operators operated by a performer to produce sounds, the pitches are shifted on a scale corresponding to the key of the music data to be performed, and arpeggio data consisting of sounds of pitches corresponding to the key is generated. An information processing device including a control unit.

8. The information processing device according to claim 7; an operator that accepts sound generation operations by a performer; an output unit that outputs an arpeggio based on the arpeggio data; An electronic musical instrument comprising:

9. The information processing device according to claim 7; an electronic musical instrument including an operator that accepts sound generation operations by a performer and an output unit that outputs arpeggios based on the arpeggio data; An electronic musical instrument system comprising:

Citation Information

Patent Citations

  • Arpeggio data generating device and program

    JP2008164923A