Method for generating arpeggios, program, information processing device, electronic musical instrument, and electronic musical instrument system
The arpeggio generation method addresses the challenge of generating harmonious arpeggio data by using music key information and user input to determine constituent notes, allowing users to create harmonious arpeggios without advanced chord-playing skills.
Patent Information
- Application Number
- JP2024045051
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-21
- Publication Date
- 2025-10-03
AI Technical Summary
Existing arpeggio generation devices require users to have the skill to identify and play chords that match the key of the music, making it difficult for users without such skills to generate arpeggio data that harmonizes with the music.
An arpeggio generation method that determines constituent notes of an arpeggio based on key information in the music data and operation information, generating arpeggio data that matches the key of the music.
Enables easy generation of arpeggio data that harmonizes with the music, even for users lacking chord-playing skills, by determining notes based on music key information and user input, ensuring harmony with the accompaniment.
Smart Images

Figure 2025145069000001_ABST
Abstract
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 determining the constituent notes of the arpeggio based on key information in the music data to be performed and operation information of the controls operated by the performer to produce sounds; Arpeggio data is generated based on the determined constituent notes of the arpeggio. [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 arpeggio constituent note determination processing executed by a control unit of the information processing device of FIG. [Figure 5] 5 is a flowchart showing the process flow of step S4 in FIG. 4. [Figure 6] 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 7] FIG. 10 is a diagram illustrating an example of a one-key table. [Figure 8] 8 is a diagram showing a specific example of constituent notes of an arpeggio determined based on the one-key table of FIG. 7. FIG. [Figure 9] FIG. 4 is a diagram showing an example of arpeggio pattern data. [Figure 10] 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 including the arpeggio note determination process shown in Figs. 4 and 5 and the arpeggio generation process shown in Fig. 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, an arpeggio note determination 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, key information, and the like. FIG. 3 shows an example of the chord information and key 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 a one-key table 122 (see FIG. 7) and arpeggio pattern data (see FIG. 9). These tables and data 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 at least information about the pitch of the key that has been operated to generate sound. The note-on information corresponds to operation information of the present invention. 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 response to instructions from the control unit 21, the output unit 27 reads waveform data pre-stored 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. Unless otherwise specified, the control unit of the electronic musical instrument 2 in this disclosure includes the control unit 21 and the sound source unit of the output unit 27.
[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 the user, one note at a time, in order from lowest to highest (or highest to lowest). However, if the user does not have the skill to understand and play chords that match the key of the music being played, the output arpeggio may not match the music, resulting in inconveniences such as a lack of harmony with the accompaniment. Therefore, in the electronic musical instrument system 100 of this embodiment, when a user presses a key (a single key), the notes constituting the arpeggio (constituent notes) are determined based on information about the pressed key and key information in the music data. That is, when a key is pressed by the user, the electronic musical instrument system 100 determines, based on information about the pressed key and key information in the music data, that a chord consisting of the note of the pressed key and the notes constituting the key in the music data has been pressed, and determines the note of the pressed key and several notes constituting the key in the music data as constituent notes of the arpeggio. Then, the controller 21 generates arpeggio data based on the determined constituent notes of the arpeggio, and causes the output unit 27 or the like to output the arpeggio.
[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 performed. 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 arpeggio note determination processing in cooperation with the arpeggio 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. That is, the chord and key generation processing, arpeggio note determination 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 processing.
[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 the chord / key generation process, the control unit 11 references the chord information and key information included in the music data of the music piece to be performed, generates the first extracted key information as key information to be used in the arpeggio note determination process, and stores it in RAM. At the same time, when the key information is changed, it generates the next key information as key information to be used in the arpeggio note determination process, and stores it in RAM. In the arpeggio note determination process (see FIGS. 4 and 5), the control unit 11 determines the notes of the arpeggio based on the key information generated in the chord / key generation process and the note-on information (operation information) of the keyboard 23 transmitted from the electronic musical instrument 2, and uses the arpeggio note information in the arpeggio generation process.
[0035] Furthermore, in the chord and key generation process, when the control unit 11 determines that all of the music data has been read out, it notifies the end of the music data in the arpeggio note determination process.
[0036] In the arpeggio generation process, the control unit 11 executes the processing of each step shown in FIG. 6 to generate arpeggio data based on the arpeggio constituent note information generated by the arpeggio constituent note determination 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 sounds (arpeggios) based on the arpeggio data.
[0037] The arpeggio note determination process and arpeggio generation process will be described in detail below. First, the arpeggio constituent note determination process shown in FIGS. 4 and 5 will be described.
[0038] As shown in FIG. 4, in the arpeggio note determination process, the control unit 11 first resets the last key pressed information, arpeggio note information, key signature information, and key count information stored immediately before (step S1). The last key pressed information is operation information (note-on information) of the last (most recent) key pressed on the keyboard 23. The arpeggio note information is information indicating the arpeggio notes determined based on the key signature information and operation information on the keyboard 23. The arpeggio note information is data in which a flag is set for each key on the keyboard 23 (e.g., keys with note numbers 0 to 127) indicating whether or not the key corresponds to an arpeggio note (e.g., 1 if it is a key signature, 0 if it is not a key signature). The key signature information is information indicating the current key of the music piece, generated by the chord / key generation process. The key count information is information indicating the number of keys currently pressed on the keyboard 23. The RAM of the control unit 11 is provided with storage areas for the final key pressed information, arpeggio note information, key signature information, and number of key pressed information, and in step S1, the data in each area is reset (cleared).
[0039] Next, the control unit 11 determines whether new note-on information or note-off information has been transmitted from the electronic musical instrument 2 via the communication unit 15 at appropriate intervals (step S2). If it is determined that new note-on information or note-off information has been transmitted from the electronic musical instrument 2 (step S2; YES), the control unit 11 proceeds to step S4.
[0040] If it is determined that no new note-on information or note-off information has been transmitted from the electronic musical instrument 2 (step S2; NO), the control unit 11 determines whether the key information stored in the RAM has been updated with new key information generated by the chord / key generation process (step S3). If it is determined that the key information has been updated with new key information generated by the chord / key generation process (step S3; YES), the control unit 11 proceeds to step S4. If it is determined that the key information has not been updated with new key information generated by the chord / key generation process (step S3; NO), the control unit 11 proceeds to step S5.
[0041] In step S4, the control unit 11 determines the constituent notes of the arpeggio (step S4). The process of step S4 will now be described in detail with reference to FIG.
[0042] In the process of step S4, first, the control unit 11 determines whether or not new key information has been updated by the chord / key generation process (step S401). If it is determined that new key information has been updated by the chord / key generation process (step S401; YES), the control unit 11 determines to apply the updated key information to the arpeggio note determination process (step S402), and proceeds to step S406.
[0043] On the other hand, if it is determined that the key information has not been updated with new information due to the chord / key generation process (step S401; NO), the control unit 11 determines whether new note-on information has been sent from the keyboard 23 (step S403). If it is determined that new note-on information has been sent from the keyboard 23 (step S403; YES), the control unit 11 adds 1 to the key-press count information (step S404). Next, the control unit 11 updates the last key-press information with the new note-on information (step S405), and proceeds to step S406.
[0044] In step S406, the control unit 11 derives a note degree based on the tonality information newly updated in step 401 (i.e., step S3), or based on the tonality information not updated in step 401 (i.e., step S3) and the last key pressed information (step S406). The note degree refers to the difference in semitone units (where a semitone is 1) between the tonic note in the current tonality of the music piece and the last key pressed note. The tonic note in the tonality is the root note (the lowest note) of the key. For example, if the tonic note in the tonality is C and the last key pressed information is G, the note degree is 7.
[0045] A minor key has the same note name configuration as a major key, which is a scale of a relative major key shifted by three and a half steps. For example, the notes that make up a C minor key have the same note name configuration as an E♭ major key, which is a scale of a C major key shifted by three and a half steps. Therefore, in this embodiment, when the tonal information of a piece of music is a minor key, the tonic note of a major key, which is a scale of a relative major key shifted by three and a half steps, is used as the tonic note to derive the note frequency.
[0046] Next, the control unit 11 selects data (values) to be used to determine the constituent notes of the arpeggio from the one-key table 122 stored in the storage unit 12 based on the note frequency (step S407). As shown in FIG. 7, the one-key table 122 is a table that stores, in association with the note frequency, a number to be added to the final key pressed (pitch) to derive the notes (four notes L1 to L4 in this case) to be determined as constituent notes of the arpeggio when the note frequency is derived. The control unit 11 selects data associated with the derived note frequency from the one-key table 122. For example, if the note frequency is 7, the control unit 11 selects data of 0, 4, 7, and 10. Note that the constituent notes of the arpeggio are assigned key numbers L1, L2, L3, ... in ascending order of pitch. In this embodiment, an arpeggio is described as being composed of four notes, but the number of constituent notes of the arpeggio is not particularly limited.
[0047] Next, the control unit 11 adds each selected data to the pitch of the final key depression information to determine the constituent notes of the arpeggio, and generates arpeggio constituent note information (step S408).Then, the control unit 11 proceeds to step S412.
[0048] 7, four pieces of data associated with the note degrees derived in step S406 are selected from the one-key table 122, and each value is added to the pitch (note number) of the last key pressed, thereby calculating the constituent notes of the arpeggio from the notes of the key actually pressed by the user and multiple notes that make up the current key of the music. The control unit 11 sets flag 1 to the pitches of the determined constituent notes of the arpeggio in the arpeggio constituent note information stored in RAM, and generates the arpeggio constituent note information.
[0049] Fig. 8(a) is a table showing what kind of notes constitute the arpeggio when the user presses keys C3 to B3 when the tonality information is C major, according to the one-key table 122 of Fig. 7. For example, when G3 is pressed, the note degree is 7, and according to the one-key table 122, as shown in Fig. 8(a), L1=G3, L2=B3, L3=D4, and L4=F4 are determined as the arpeggio notes.
[0050] Fig. 8(b) is a table showing what notes constitute the arpeggio when the user presses E♭3 to D4 when the tonality information is E♭ major or C minor, according to the one-key table 122 of Fig. 7. For example, when G3 is pressed, the note degree is 4, and according to the one-key table 122, as shown in Fig. 8(b), L1=G3, L2=B♭3, L3=D4, and L4=F4 are determined as the arpeggio notes.
[0051] In this way, according to the one-key table 122, even if the user presses the same key, the constituent notes of the arpeggio will change depending on the key of the song. Specifically, the constituent notes of the arpeggio are determined by the note of the single key that the user actually pressed and the constituent notes of the current key of the song. Therefore, even if the user does not have the skill to grasp and play chords that match the key of the song, it is possible to generate arpeggio data with constituent notes that match the key of the song.
[0052] On the other hand, if it is determined in step S403 that no note-on information has been transmitted from the electronic musical instrument 2, i.e., that note-off information has been transmitted from the electronic musical instrument 2 (step S403; NO), the control unit 11 subtracts 1 from the number-of-keys-depressed information (step S409) and determines whether the number-of-keys-depressed information is 0 or less (step S410). If it is determined that the number-of-keys-depressed information is not 0 or less, i.e., that a key on the keyboard 23 is currently being pressed (step S410; NO), the control unit 11 proceeds to step S5 of Fig. 4. If it is determined that the number-of-keys-depressed information is 0 or less, i.e., that no key on the keyboard 23 is currently being pressed (step S410; YES), the control unit 11 clears the arpeggio-constituting note information (step S411) and proceeds to step S412.
[0053] In step S412, the control unit 11 transmits the arpeggio constituent note information to the arpeggio generation process (step S412), and the process proceeds to step 5 in FIG.
[0054] In step S5, the control unit 11 determines whether the song has ended (step S5). The control unit 11 determines that the song has ended when notified of the end of the song by the chord key generation process. If it determines that the song has not ended (step S5; NO), the control unit 11 returns to the process of step S2 and repeats the processes of steps S2 to S5. If it determines that the song has ended (step S5; YES), the control unit 11 notifies the arpeggio generation process of the end of the arpeggio (step S6), and ends the arpeggio constituent note determination process.
[0055] Next, the arpeggio generation process will be described with reference to FIG. As shown in FIG. 6, in the arpeggio generation process, first, the control unit 11 resets the gate time and step number stored immediately before (step S11). 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 S11, the data in each area is initialized to 0.
[0056] Next, the control unit 11 determines whether the arpeggio has ended (step S12). If the control unit 11 is notified of the end of the arpeggio by the arpeggio note determination process, it determines that the arpeggio has ended.
[0057] If it is determined that the arpeggio has not ended (step S12; NO), the control unit 11 determines whether it is note-off time or not (step S13). The note-off timing for each note that constitutes the arpeggio is generated according to a predetermined setting value. For example, if the interval between arpeggio steps is set to 48 ticks (assuming a quarter note = 96 ticks) and the note length is set to 50%, the note-off timing is 24 ticks after the note-on.
[0058] If it is determined that it is note-off timing (step S13; 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 S14), and proceeds to step S15. If it is determined that it is not note-off timing (step S13; NO), the control unit 11 proceeds to step S15.
[0059] In step S15, the control unit 11 determines whether the current gate time is 0 or less (step S15). 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 S15; YES), the control unit 11 refers to the arpeggio pattern data stored in the storage unit 12 and obtains the key number of the current step (step S16).
[0060] Arpeggio pattern data indicates the pattern of the order in which constituent notes of an arpeggio are played. FIG. 9 shows an example of arpeggio pattern data. As described above, the constituent notes of an arpeggio are assigned key numbers, starting from the lowest note, L1, L2, .... As shown in FIGS. 9(a) and 9(b), the arpeggio pattern data stores the step number of each step of the arpeggio and the key number of the constituent note of the arpeggio to be played at that step, in association with each other. FIG. 9(a) shows an arpeggio pattern consisting of eight steps (eight steps, step numbers 0 to 7) that ascend one step at a time from L1 to L4, repeated twice. FIG. 9(b) shows an arpeggio pattern consisting of eight steps (eight steps, step numbers 0 to 7) that descend one step at a time from L4 to L1, repeated twice. Note that the arpeggio pattern data is not limited to those shown in FIGS. 9(a) and 9(b).
[0061] Next, the control unit 11 determines whether the arpeggio constituent note information transmitted from the arpeggio constituent note determination process is cleared arpeggio constituent note information (step S17). Cleared arpeggio constituent note information is arpeggio constituent note information in which flag 0 is set for all pitches. If the user has not pressed any keys on the keyboard 23, the arpeggio constituent note information generated by the arpeggio constituent note determination process is cleared by the process of step S411 in FIG. 5.
[0062] If it is determined that the arpeggio constituent note information sent from the arpeggio constituent note determination process is not cleared arpeggio constituent note information (step S17; NO), the control unit 11 generates arpeggio data based on the arpeggio constituent note information and the key number acquired in step S16, sends the arpeggio data to the electronic musical instrument 2 via the communication unit 15, and causes the output unit 27 to output the arpeggio (step S18), and proceeds to step S19. When it is determined that the arpeggio constituent note information transmitted from the arpeggio constituent note determination process has been cleared (step S17; YES), the control section 11 proceeds to step S19.
[0063] In step S19, the control unit 11 sets a predetermined time (tick) as the gate time (step S19). For example, 48 ticks is set as the gate time (assuming a quarter note has a resolution of 96 ticks). The timing at which the gate time is set becomes the note-on timing of each note of the arpeggio.
[0064] Next, the control unit 11 adds 1 to the step number (step S20). Next, the control unit 11 determines whether or not the step number exceeds the maximum step number in the arpeggio pattern data (step S21). If the control unit 11 determines that the step number does not exceed the maximum step number in the arpeggio pattern data (step S21; NO), the control unit 11 proceeds to step S23. If the control unit 11 determines that the step number exceeds the maximum step number in the arpeggio pattern data (step S21; YES), the control unit 11 resets the step number (step S22) and proceeds to step S23.
[0065] On the other hand, if it is determined in step S15 that the gate time is not equal to or less than 0 ticks (step S15; N), the process proceeds to step S23.
[0066] In step S23, the control unit 11 subtracts one tick from the gate time (step S23) and returns to step S12. The control unit 11 repeats the processes of steps S12 to S23 until it determines in step S12 that the arpeggio has ended. If it determines in step S12 that the arpeggio has ended (step S12; YES), the control unit 11 ends the arpeggio generation process.
[0067] 10(a) to 10(e) show musical scores of arpeggios that are output when the arpeggio pattern data shown in FIG. 9(a) or FIG. 9(b) is applied in the above embodiment. FIG. 10(a) shows an arpeggio score when the key of the song is C major and C4 is pressed, using the arpeggio pattern data of FIG. 9(a). FIG. 10(b) shows an arpeggio score when the key of the song is C major and C4 is pressed, using the arpeggio pattern data of FIG. 9(b). FIG. 10(c) shows an arpeggio score when the key of the song is C major and D4 is pressed, using the arpeggio pattern data of FIG. 9(a). FIG. 10(d) shows an arpeggio score when the key of the song is C minor and C4 is pressed, using the arpeggio pattern data of FIG. 9(a). FIG. 10(e) shows an arpeggio score when the key of the song is C minor and D4 is pressed, using the arpeggio pattern data of FIG. 9(a).
[0068] In this way, in this embodiment, when a user presses only one key, arpeggio data consisting of that key's note and the constituent notes of the song's current key is generated. Therefore, even if the user does not have the skill to grasp and play chords that match the key of the song, it is possible to output an arpeggio that matches the key of the song. Users can easily enjoy free performances such as improvisation solos without having knowledge of the key or chords of the song. Furthermore, the accompaniment of a song matches the chord progression of the song (i.e., matches the key), and outputting an arpeggio that does not match the key of the song may not match the accompaniment. However, in this embodiment, an arpeggio that matches the key of the song is output, so it is possible to output an arpeggio that harmonizes with the accompaniment.
[0069] As explained above, the control unit 11 of the information processing device 1 determines the constituent notes of an arpeggio based on the key information in the music data to be performed and the operation information of the controls operated by the performer to produce sounds, and generates arpeggio data based on the determined constituent notes of the arpeggio. 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.
[0070] For example, when a performer presses a single key, the control unit 11 determines the constituent notes of the arpeggio based on the key information of the music data and the note-on information of the pressed key. Therefore, even if a user has no knowledge of the key or chords of the music, or is unable to play chords well, they can easily generate arpeggio data that matches the key of the music.
[0071] The control unit 11 also determines, as arpeggio notes, a number of notes from among the notes specified by the note-on information of the pressed keys and the notes that make up the key specified by the key information of the music data, thereby generating arpeggio data consisting of the notes of the pressed keys and the notes that make up the key of the music.
[0072] Furthermore, the control unit 11 causes the output unit 27 of the electronic musical instrument 2 to output an arpeggio based on the generated arpeggio data. This makes it possible to output an arpeggio that matches the key of the music piece.
[0073] 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.
[0074] 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.
[0075] 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.
[0076] 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.
[0077] 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.
[0078] In addition, in the above embodiment, arpeggio data is generated based on the most recent key pressed and an arpeggio is output, but if multiple keys are pressed simultaneously, the notes of the pressed keys may be determined as the constituent notes of the arpeggio.
[0079] 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.
[0080] 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. Other computer-readable media may include SSDs and portable recording media such as CD-ROMs. Furthermore, a carrier wave may also be used as a medium for providing data for the program according to the present invention via a communication line.
[0081] 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.
[0082] 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]
[0083] 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 determining the constituent notes of the arpeggio based on key information in the music data to be performed and operation information of the controls operated by the performer to produce sounds; generating arpeggio data based on the determined constituent notes of the arpeggio; How to generate arpeggios.
2. The computer when the performer operates a single operator to produce sound, the constituent notes of the arpeggio are determined based on the key information and operation information of the single operator; 2. The method of claim 1, wherein the arpeggio is generated by:
3. The computer determining, as constituent notes of the arpeggio, a plurality of notes from among the notes specified by the operation information of the operator operated to produce sound and the notes constituting the key specified by the key information; 2. The method of claim 1, wherein the arpeggio is generated by:
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:
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:
6. On the computer, determining the constituent notes of the arpeggio based on key information in the music data to be performed and operation information of the controls operated by the performer to produce sounds; generating arpeggio data based on the determined constituent notes of the arpeggio; A program for executing a process.
7. determining the constituent notes of the arpeggio based on key information in the music data to be performed and operation information of the controls operated by the performer to produce sounds; generating arpeggio data based on the determined constituent notes of the arpeggio; 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