Automatic accompaniment sound generation device, electronic musical instrument, automatic accompaniment sound generation method and program
The electronic musical instrument addresses repetitive bass line issues by probabilistically selecting bass pattern data based on chord relationships, creating varied and human-like Latin bass line accompaniments.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- CASIO COMPUTER CO LTD
- Filing Date
- 2022-10-24
- Publication Date
- 2026-07-29
AI Technical Summary
Conventional automatic accompaniment systems produce repetitive and mechanical bass line patterns, lacking the spontaneity and variation found in human performances, particularly in genres like Latin bass that alternate between unison and fifth intervals.
An electronic musical instrument determines the relationship between chords and probabilistically selects bass pattern data to generate accompaniment notes, incorporating variations such as unison, fifth intervals, approach tones, scale tones, and chromatic tones based on chord progressions, mimicking human-like improvisation.
The system reproduces automatic performances that closely resemble live human performances by introducing variability and spontaneity in bass line accompaniment, enhancing the musical experience beyond monotonous repetitive patterns.
Smart Images

Figure 0007896459000001 
Figure 0007896459000002 
Figure 0007896459000003
Abstract
Description
Technical Field
[0001] The present invention relates to an automatic accompaniment sound generation device, an electronic musical instrument, an automatic accompaniment sound generation method, and a program that can automatically generate accompaniment sounds.
Background Art
[0002] Conventionally, there is known an automatic performance device that can easily realize a performance including a sound of a specific scale among chord constituent sounds as a bass sound regardless of the type of input chord (for example, Patent Document 1).
[0003] Also conventionally, there is known a technique of a motif performance device that can change the performance content even without a change in the pronunciation instruction, and the performer can participate in the automatic performance while performing, for example, changing the performance content according to the pattern of motif information selected for the bass part (for example, Patent Document 2).
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Patent Document 2
Patent Document 3
Summary of the Invention
Problems to be Solved by the Invention
[0005] However, the bass line accompaniment pattern generated by the above-described conventional technology is such that the accompaniment data programmed in advance via parameters is repeatedly reproduced, and for example, it is impossible to perform an automatic accompaniment with an ad-lib like that seen in a jazz bass line accompaniment, and therefore there is a problem that the performance sounds mechanical.
[0006] The present invention aims to reproduce automated performances that closely resemble live performances by humans, rather than monotonous repetitive performances, when automatically playing accompaniment sounds such as bass patterns that are standard in certain genres, such as those that alternate between the unison and fifth intervals in Latin bass. [Means for solving the problem]
[0007] In one example of the automatic accompaniment sound generation device, at least one of the following is determined for each note: the state of the first chord specified for the first note measure, and the relationship between the first chord and the second chord specified for the second note measure following the first note measure. Based on the result of the determination, one type is selected from several predetermined types that indicate the probability of generating an accompaniment sound using one of several base pattern data, and the selected type is defined as follows. probability Depending Then, one bass pattern data is selected from multiple bass pattern data, and an accompaniment note is generated to be played in the first measure based on the first chord and the selected bass pattern data. [Effects of the Invention]
[0008] According to the present invention, in the automatic playback of accompaniment sounds such as bass patterns that are standard in certain genres, such as those that alternate between the unison and fifth intervals of a Latin bass, it becomes possible to reproduce an automatic performance that is closer to a live performance by a human, rather than a monotonous repetitive performance. [Brief explanation of the drawing]
[0009] [Figure 1] This is a block diagram showing an example of a system hardware configuration for an electronic musical instrument. [Figure 2] This is an explanatory diagram of the operation of this embodiment. [Figure 3] This is the main flowchart illustrating an example of the overall process. [Figure 4] This flowchart shows a detailed example of the pattern selection process. [Figure 5] This is a data structure diagram showing an example of a frequency table. [Figure 6] This is a data structure diagram (part 1) showing an example of base pattern data. [Figure 7]This is a data structure diagram (part 2) showing an example of base pattern data. [Figure 8] This flowchart shows a detailed example of the note number gate value generation process. [Modes for carrying out the invention]
[0010] Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings. Figure 1 is a diagram showing an example of the system hardware configuration of one embodiment of the electronic musical instrument 100.
[0011] The electronic instrument 100 is, for example, an electronic keyboard instrument and includes a keyboard 105 consisting of multiple keys as performance controls, switches for instructing various settings such as turning the electronic instrument 100 on / off, adjusting the volume, specifying the tone of the musical sound output, and the tempo of the automatic bassline accompaniment, as well as switches 107 including switches for adding performance effects, a bend wheel, and a pedal, and an LCD (Liquid Crystal Display) 109 for displaying various setting information. The electronic instrument 100 also includes a speaker 113 for emitting musical sounds generated by performance, located on the back, side, or rear of the casing.
[0012] Furthermore, in the electronic musical instrument 100, the CPU (processor) 101, ROM (read-only memory) 102, RAM (random access memory) 103, sound source LSI (large-scale integrated circuit) 104, key scanner 106 to which the keyboard 105 is connected, I / O interface 108 to which the switch 107 is connected, LCD controller 110 to which the LCD 109 is connected, and network interface 114 for acquiring music data such as MIDI (Musical Instrument Digital Interface) from an external network are each connected to the system bus 115. In addition, a D / A converter 111, an amplifier 112, and a speaker 113 are sequentially connected to the output side of the sound source LSI 104.
[0013] The CPU 101 executes the control operation of the electronic musical instrument 100 in FIG. 1 by executing the control program stored in the ROM 102 while using the RAM 103 as a work memory. Also, in addition to the above control program and various fixed data, the ROM 102 stores music data including, for example, Latin-based baseline data.
[0014] At this time, the CPU 101 takes in the performance data played by the user on the keyboard 105 via the key scanner 106 and the system bus 115, generates note-on data and note-off data corresponding to the performance, and outputs them to the sound source LSI 104. As a result, the sound source LSI 104 generates and outputs or terminates the output of tone waveform data corresponding to the input note-on data and note-off data. The tone waveform data output from the sound source LSI 104 is converted into an analog tone waveform signal by the D / A converter 111, amplified by the amplifier 112, and emitted from the speaker 113 as the performance tone played by the user.
[0015] Also, in parallel with the emission operation of the above performance tone, the CPU 101 sequentially inputs, for example, code data for automatically accompanying the baseline of a Latin music such as bossa nova specified by the user from the switch 107 via the I / O interface 108 and the system bus 115 from the ROM 102 via the system bus 115, sequentially determines the note numbers of the baseline based on the code data, sequentially generates note-on data or note-off data of the note numbers, and outputs them to the sound source LSI 104. As a result, the sound source LSI 104 generates and outputs or terminates the output of baseline tone waveform data corresponding to the automatically accompanied sound of the input baseline. The baseline tone waveform data output from the sound source LSI 104 is converted into an analog tone waveform signal by the D / A converter 111, amplified by the amplifier 112, and emitted from the speaker 113 as the baseline tone automatically accompanied according to the performance tone played by the user.
[0016] The sound source LSI 104 has the ability to oscillate, for example, up to 256 voices simultaneously in order to output the above performance music sounds and the automatic accompaniment sounds of the bass line at the same time.
[0017] The key scanner 106 constantly scans the key-pressed / key-released state of the keyboard 105 and interrupts the CPU 101 to convey the state change.
[0018] The I / O interface 108 constantly scans the operation state of the switch 107 and interrupts the CPU 101 to convey the state change.
[0019] The LCD controller 110 is an IC (integrated circuit) that controls the display state of the LCD 505.
[0020] The network interface 114 is connected to, for example, the Internet or a local area network, and can acquire the control program used in this embodiment, various music data, automatic performance data, etc., and store them in the RAM 103 or the like.
[0021] Regarding the outline of the operation of the electronic musical instrument 100 shown in FIG. 1, it will be described according to the operation explanatory diagram of FIG. 2. In this embodiment, for example, the accompaniment sounds of the bass line of Latin music can be automatically generated and played.
[0022] At this time, the CPU 101 acquires the chord data from, for example, the ROM 102 for each measure or for each beat of the measure, and for each measure to be sounded (hereinafter referred to as "sounding measure"), the state of the chord specified for the sounding measure and the relationship between the chord specified for the sounding measure and the chord specified for the next measure of the sounding measure are determined. Then, according to the result of the determination, at a frequency corresponding to the result, one base pattern data is selected from a plurality of base pattern data indicating the typical base pattern (accompaniment sound) of a specified genre such as Latin music. Based on the chord specified for the sounding measure and the selected base pattern data, the bass line sound to be sounded in the sounding measure is generated, and the CPU 101 instructs the sound source LSI 104 to sound the generated bass line sound.
[0023] ROM102 in Figure 1 stores, for example, chord data for a Latin song of, for example, 8 measures (the number of measures is arbitrary), associated with multiple measures or, for example, strong beats within a measure, as exemplified in Figure 2(a). Figure 2(b) is a diagram showing an example of the data structure of each chord data corresponding to Figure 2(a) that is read sequentially from ROM102. Each row in the table shown in Figure 2(b), arranged from top to bottom, represents the chord data that is read sequentially from ROM102 as time progresses. Each chord data includes a "measure" item value indicating which measure the chord data is set in, a "beat" item value indicating which beat within the measure the chord data is set in, a "root" item value indicating the pitch of the root note of the chord represented by the chord data, and a "chord type" item value indicating the chord type of the chord represented by the chord data.
[0024] The CPU 101 executes the control processing described below on the code data sequentially acquired from the ROM 102, for example as shown in Figures 2(a) and 2(b), to generate a Latin-style bassline accompaniment as exemplified in Figure 2(c). This musical score shows an example of the result of the bassline being automatically generated using a chromatic tone pattern, which will be described later.
[0025] Figure 3 is a main flowchart showing an example of the overall process in the embodiment of the electronic musical instrument 100 in Figure 1, which is the process in which the CPU 101 executes the control processing read from ROM 102 to RAM 103. This main flowchart process is started, for example, when the performer presses the power switch included in switch 107 in Figure 1.
[0026] The CPU 101 first performs an initialization process (step S301 in Figure 3). During the initialization process, CPU101 first resets the TickTime, measure number, and beat number, which control the progress of the automatic bassline accompaniment. In this embodiment, the progress of the automatic accompaniment of the baseline progresses in units of the value of the TickTime variable stored in RAM103 in Figure 1 (hereinafter, the value of this variable will be referred to as "TickTime," which is the same as the variable name). In ROM102 shown in Figure 1, the value of the TimeDivision constant (hereinafter referred to as "TimeDivision," the same as the variable name) is pre-set. This TimeDivision indicates the resolution of one beat (for example, a quarter note). If this value is, for example, 96, then one beat has a duration of 96 × TickTime. Here, the actual number of seconds in 1 TickTime depends on the tempo specified for the song data. If we set the value of the Tempo variable on RAM103 according to the user settings to Tempo[beats / minute], then the number of seconds in TickTime = TickTimeSec[seconds] can be calculated by the following equation (1).
[0027] TickTimeSec[seconds]=60 / Tempo / TimeDivision ...(1)
[0028] Therefore, in the initialization process of step S301 in Figure 3, the CPU 101 calculates TickTimeSec [seconds] using the calculation process corresponding to equation (1) above, sets it in a hardware timer within the CPU 101 (not shown), and resets the value of the TickTime variable in RAM 103 to 0. The hardware timer generates an interrupt each time the set TickTimeSec [seconds] has elapsed. The Tempo variable may initially be set to a predetermined value read from the constants in ROM 102 in Figure 1, for example, 60 beats / second. Alternatively, the Tempo variable may be stored in non-volatile memory, and the Tempo value from the previous session may be retained when the power to the electronic instrument 100 is turned on again.
[0029] In addition, during the initialization process in step S301 of Figure 3, CPU 101 resets the value of the measure number variable on RAM 103, which indicates the number of measures from the beginning of the specified song, to a value of 1, which indicates the first measure, and resets the value of the beat number variable on RAM 103, which indicates the number of beats, to a value of 1, which indicates the first beat.
[0030] Furthermore, in the initialization process of step S301 in Figure 3, the CPU 101 obtains chord data for automatic accompaniment of a bassline, such as a Latin song specified by the performer, from the ROM 102, as exemplified in Figure 2(b), and stores it in the RAM 103.
[0031] Subsequently, the CPU 101 repeatedly executes the series of processes from steps S302 to S308 in Figure 3.
[0032] In this series of processes, the CPU 101 first determines whether the current timing is at the beginning of a measure (step S302 in Figure 3). Specifically, the CPU 101 determines whether the value of the TickTime variable stored in RAM 103 is the initial value of 0 (see steps S312 → S313 described later), and whether the value of the beat number variable is 1, which represents the first beat.
[0033] If the determination in step S302 is YES, the CPU 101 executes the pattern selection process (step S303 in Figure 3). Here, the CPU 101 probabilistically selects one from among several base pattern data, for example, Latin-based, stored in the ROM 102. Details of this process will be described later using the flowchart in Figure 4.
[0034] If the determination in step S302 is NO, or after the processing in step S303 is executed, the CPU 101 determines whether the current timing is the timing for a note-on sound (step S304 in Figure 3). Specifically, the CPU 101 first recognizes the position of the timing corresponding to the TickTime variable value in RAM 103, from the beginning of the beat indicated by the beat count variable value in RAM 103, as the current timing. Then, in step S303, the CPU 101 determines whether the Note value (frequency information), Gate value (gate information), and Velocity value (velocity information), described later using Figures 6 and 7, are set at the timing position indicated by the TickTime variable value in the beat indicated by the beat count variable value on the base pattern data currently selected. If the above information is set at the above position on the base pattern data, the CPU 101 determines that the current timing is the timing for a note-on sound.
[0035] If the determination in step S304 is YES, the CPU 101 executes a process to generate the note number, gate value, and velocity value corresponding to the current sound timing as part of the note-on data (step S305 in Figure 4). Details of this process will be described later using the flowchart in Figure 8.
[0036] Following step S305, the CPU 101 executes a note-on process (step S306 in Figure 3) by specifying the note-on data generated in step S305 along with a note-on command to the sound source LSI 104 in Figure 1, causing the sound source LSI 104 to generate musical tone waveform data corresponding to that note-on data.
[0037] If the determination in step S304 is NO, or after the processing in step S306, the CPU 101 determines whether the current timing is the note-off timing (step S307 in Figure 3). Specifically, the CPU 101 determines whether the value of the remaining gate value variable of any of the currently playing baseline tones stored in the currently playing note memory area of RAM 103 is 0. This remaining gate value variable is initially set as the remaining gate value variable value in the currently playing note memory area in step S802 in Figure 8, which will be described later in the note-on data generation process of step S305, and then decremented by 1 each time in step S310, which will be described later. Therefore, if the value of this remaining gate value variable becomes 0, it means that the note-on has ended.
[0038] If the determination in step S307 is YES, the CPU 101 specifies the note number of the baseline sound being played when the value of the remaining gate value variable above becomes 0, along with a note-off command, to the sound source LSI 104 in Figure 1, thereby causing the sound source LSI 104 to perform a note-off process that silences the musical tone waveform data corresponding to that note-off data (step S308 in Figure 3).
[0039] If the determination in step S307 is NO, or after the processing in step S308, the CPU 101 determines whether or not there is a baseline sound being played at the current timing (step S309 in Figure 3). Specifically, the CPU 101 determines whether or not the remaining gate value variable of the baseline sound being played is stored in the currently played note storage area on RAM 103.
[0040] If the determination in step S309 is YES, the CPU 101 decrements all remaining gate value variable values of the currently sounding baseline tone stored in RAM 103 by 1 (step S310 in Figure 3).
[0041] If the determination in step S309 is NO, or after the processing in step S310, the CPU 101 determines whether an interrupt occurs every TickTimeSec[seconds] from the aforementioned hardware timer, and if such an interrupt occurs, it increments the TickTime variable value stored in RAM 103 (step S311 in Figure 3).
[0042] Next, the CPU 101 determines whether the TickTime variable value on RAM 103 has reached the aforementioned TimeDivision constant value (=96TickTime value), that is, whether the count based on the TickTime variable value has advanced by one beat (step S312 in Figure 3).
[0043] If the determination in step S312 is NO, the CPU 101 returns to the process in step S302 and repeats the above series of processes.
[0044] If the count based on the TickTime variable value advances by one beat, resulting in a YES judgment in step S312, the CPU 101 resets the TickTime variable value in RAM 103 to 0, increments the beat count variable value in RAM 103 by 1, and if that beat count variable value exceeds 4, resets the beat count variable value to 1 and increments the measure count variable value in RAM 103 by 1 (step S313 in Figure 3). After that, the CPU 101 returns to the process in step S302 in Figure 3 and repeats the above series of processes for the updated next beat position or next measure position.
[0045] Figure 4 is a flowchart showing a detailed example of the pattern selection process in step S303 of Figure 3. First, the CPU 101 determines whether multiple codes are set for the current measure (hereinafter referred to as the "pronunciation measure"), which is the first pronunciation measure indicated by the measure number variable value on RAM 103, in the code data (first code) read into RAM 103 in step S301 of Figure 3 (step S401 of Figure 4). Specifically, the CPU 101 determines, for example, whether there is an entry in Figure 2(b) where the measure item value is equal to the current measure number variable value on RAM 103, but the combination of the root item value and the code type item value is different.
[0046] If the determination in step S401 is YES, the CPU 101 selects the entry for Type 4 (the 4th row in Figure 5) from the frequency table data shown in Figure 5, which is stored in the ROM 102 (step S402 in Figure 4). The CPU 101 then proceeds to the processing in step S408. This corresponds to the 7th measure (Dm7 and G7) of the example chord progression shown in Figure 2(a) or (c).
[0047] If the determination in step S401 is NO, the CPU 101 determines whether the code (second code) specified by the code data (see Figure 2(b)) at the beginning of the measure following the measure number variable value on RAM 103 (the first measure) (step S403 in Figure 4) is the same as the code (first code) specified by the code data at the beginning of the measure (first measure) (step S403 in Figure 4).
[0048] If the determination in step S403 is YES, the CPU 101 selects a Type 3 entry (the third row in Figure 5) from the frequency table data shown as an example in Figure 5, which is stored in the ROM 102 (step S404 in Figure 4). The CPU 101 then proceeds to the processing in step S408. This corresponds to the first measure (CM7) and the third measure (Em7) of the example chord progression shown in Figure 2(a) or (c).
[0049] If the determination in step S403 is NO, the CPU 101 determines whether the root note of the chord (second chord) specified by the chord data at the beginning of the second measure following the measure indicated by the measure number variable value on RAM 103 (the first measure) is a third lower than the root note of the chord (first chord) specified by the chord data at the beginning of the first measure (step S405 in Figure 4).
[0050] If the determination in step S405 is YES, the CPU 101 selects a Type 2 entry (second row in Figure 5) from the frequency table data shown as an example in Figure 5, which is stored in the ROM 102 (step S406 in Figure 4). After that, the CPU 101 proceeds to the processing in step S408. This corresponds to the fourth measure (CM7 in the next measure relative to Em7) and the fifth measure (Am7 relative to CM7) of the example chord progression shown in Figure 2(a) or (c).
[0051] If the determination in step S405 is NO, the CPU 101 selects a Type 1 entry (the first row in Figure 5) from the frequency table data shown in Figure 5, which is stored in the ROM 102 (step S407 in Figure 4). The CPU 101 then proceeds to the process in step S408. This corresponds to measures 2, 6, and 8 of the example chord progression shown in Figure 2(a) or (c).
[0052] After processing in steps S402, S404, S406, or S407, the CPU 101 selects the number of the base pattern data from the TYPE row of the selected frequency table with a probability corresponding to the frequency (step S408 in Figure 4).
[0053] Figure 5 is a data structure diagram showing an example of a frequency table for each Type selected in the pattern selection process described above. In the table exemplified in Figure 5, the vertical axis represents the Type number, and the horizontal axis represents the base pattern data number. The numbers set at each intersection of the vertical and horizontal axes indicate the frequency number. The larger the frequency number at the intersection, the higher the probability that the base pattern data indicated by the horizontal axis number corresponding to that intersection will be selected.
[0054] Figures 6 and 7 are data configuration diagrams showing examples of base pattern data selected via the frequency table illustrated in Figure 5. Each of the bass pattern data examples shown in Figures 6 and 7 includes, for each beat and each horizontal beat obtained by further dividing the beat into, for example, two beats, a TickTime value (timing information) (indicated as "Tick" in the figures) indicating the timing of the beat, a Note value (degree information) (indicated as "Note" in the figures) indicating whether or not any bassline notes are pronounced at that timing and whether or not the pronounced bassline note is the root note or its degree relative to the root note, a Gate value (gate information) (indicated as "Gate" in the figures) indicating the duration of the pronounced bassline note, and a Velocity value (velocity information) (indicated as "Velocity" in the figures) indicating the intensity of the pronounced bassline note. As explained in steps S312 and S313 in Figure 3, one beat is 96 TickTime, and the TickTime variable value corresponding to the TickTime value, as explained in Figure 3, is reset for each beat. Therefore, in the base pattern data exemplified in Figures 6 and 7, the TickTime value is set to "0" at the beginning of each beat when the timing of each beat is divided into two, and to "48" (96 ÷ 2) at the middle of the beat. Furthermore, in the base pattern data exemplified in Figures 6 and 7, among the values set as Note values, "R" indicates the root note, and "3rd," "5th," and "7th" indicate the 3rd, 5th, and 7th intervals of the chord tones, respectively.
[0055] The four bass pattern data examples shown as (a), (b), (c), and (d) in Figure 6 are bass pattern data of the chord tone type, that is, the type of sound produced when a chord tone is played. In other words, for each sound timing, it contains degree information corresponding to the chord tone specified at that sound timing. Interval information can include the root note, third, fifth, or seventh. Basically, a note higher than the root note is produced, but there are also types of pronunciation where a 7th note lower than the root note is specified, as shown in Figure 6(d) for "Down7". In addition, a root note one octave higher than the root note may be specified, such as "Oct R".
[0056] The four base pattern data sets exemplified as (a), (b), (c), and (d) in Figure 6 each have TickTime, Note, Gate, and Velocity values for each pronunciation timing, for example, representing a Latin-based phrase. For example, in the bass pattern data exemplified as (a), (c), and (d) in Figure 6, the root note and fifth note (5th), which are characteristic of Latin bass, are repeatedly set as Note values (degree information).
[0057] The base pattern data exemplified as (d) in Figure 6 is the fourth base pattern data that is selected with 100 percent probability in step S402 of Figure 4 via the Type 4 entry in the frequency table exemplified in Figure 5 (the fourth row in Figure 5) when it is determined in step S401 of Figure 4 that multiple types of codes are specified within a phonetic measure (for example, the seventh measure in Figure 2(a) or (c)). In this base pattern data, the Note value (degree information) for the first and third beats of a measure is set to indicate the root note of the chord specified for that timing. This makes it possible to automatically accompany Latin-style bass patterns, such as the repetition of the root notes of two chords and a fifth within a measure.
[0058] The base pattern data exemplified as Figure 6(b) is the second base pattern data that is selected with 100 percent probability in step S404 of Figure 4 via the Type 3 entry in the frequency table exemplified in Figure 5 (third row of Figure 5) when it is determined in step S403 of Figure 4 that the code specified at the beginning of the next measure following the pronounced measure is the same as the code specified at the beginning of the pronounced measure (for example, measures 1 and 3 in Figure 2(a) or (c)). In this bass pattern data, the Note value (degree information) at the final note timing within a measure is set to indicate a bassline note that is a fifth above the root note of the chord specified at that final note timing. This makes it possible to automatically accompany Latin-style bass patterns that smoothly connect the same chords over two measures.
[0059] Each of the base pattern data exemplified as Figure 6(c) is the second base pattern data that is selected with a probability of about 10 percent in step S406 of Figure 4 via the Type 2 entry in the frequency table exemplified in Figure 5 (second row of Figure 5) when it is determined in step S405 of Figure 4 that the root note of the chord specified at the beginning of the measure following the measure in which the sound is produced is a third lower than the root note of the chord specified at the beginning of the measure in which the sound is produced (for example, measures 4 and 5 in Figure 2(a) or (c)). In the second bass pattern data exemplified in Figure 6(c), the Note value (degree information) at least the final note timing (and the first note timing of the third beat) within a measure is set to indicate a degree one octave lower than the degree seventh above the root note of the chord specified at that note timing. In this case, the base pattern data shown in Figure 6(a), described later, is selected with a high probability, while the base pattern data shown in Figure 6(c) is also selected occasionally, making it possible to reproduce a non-monotonous Latin-style base pattern.
[0060] Each of the base pattern data exemplified as Figure 6(a) is the first base pattern data that is selected with a high probability of 70 percent or 80 percent in step S406 or S407 of Figure 4, via a Type 2 entry (second row of Figure 5) or a Type 1 entry (first row of Figure 5) in the frequency table exemplified in Figure 5, when it is determined in step S405 of Figure 4 that the root note of the chord specified at the beginning of the measure following the measure in which the sound is produced is a third lower than the root note of the chord specified at the beginning of the measure in which the sound is produced (for example, measures 4 and 5 in Figure 2(a) or (c)), or when it is determined that none of the above is true in steps S401, S403, or S405 of Figure 4 (for example, measures 2, 6, and 8 in Figure 2(a) or (c)). The first bass pattern data shown in Figure 6(a) is the most orthodox Latin bass pattern, and it is possible to automatically play a typical Latin bass pattern in which the note value (degree information) changes from root note → 5th note → 5th note → root note. In this pattern, the base pattern data in Figure 6(a) is selected with a high probability, while the base pattern data in Figure 6(c) is selected rarely, making it possible to reproduce a non-monotonous Latin-style base pattern.
[0061] The bass pattern data exemplified as Figure 7(a) is an approach tone type, i.e., a bass pattern data of a pronunciation type in which the note to be played is determined by the previous note and the root note of the next chord. This base pattern data is the 5th base pattern data that is selected with a probability of about 10 percent in step S406 of Figure 4, via the Type 2 entry in the frequency table exemplified in Figure 5 (second row of Figure 5), when it is determined in step S405 of Figure 4 that the root note of the chord specified at the beginning of the measure following the measure in which the sound is produced is a third lower than the root note of the chord specified at the beginning of the measure in which the sound is produced (for example, measures 4 and 5 in Figure 2(a) or (c)). Furthermore, this base pattern data is the 5th base pattern data that is selected with a probability of about 10 percent in step S407 of Figure 4, via the Type 1 entry in the frequency table exemplified in Figure 5 (the first row of Figure 5), if it is determined that none of the steps S401, S403, or S405 in Figure 4 are correct (for example, measures 2, 6, and 8 in Figure 2(a) or (c)). In this base pattern data, approach information (indicated as "Ap" in Figure 7(a)) is set to instruct the bassline note to be played at a frequency between the frequency indicated by the Note value (frequency information) set for the frequency immediately preceding the final frequency within a measure, and the frequency indicated by the first Note value set for the measure following the frequency measure. In other words, if the previous note and the root of the next chord are separated by a third, a bassline note of the interval connecting them will be played. For example, if the previous note is G and the root of the next chord is E, then an F bassline note will be played. Furthermore, if the interval between notes is not a third, the root note may be played instead. The approach note is not determined solely by the chord; the scale may be determined in conjunction with the key data. In this pattern, in Type 1 or Type 2, the bass pattern data number 1 in Figure 6(a) is selected with a high probability, while the approach tone type bass pattern data number 5 in Figure 7(a) is also selected rarely, making it possible to reproduce a non-monotonous Latin bass pattern that incorporates approach tones randomly.
[0062] The bass pattern data exemplified as Figure 7(b) is a bass pattern data of the sound production type that produces scale tones other than chord tone types, i.e., scale tones other than chord tone types. This base pattern data is the sixth base pattern data selected with a probability of approximately 5 percent via a Type 1 or Type 2 entry (the first or second row in Figure 5), similar to the case in Figure 7(a). In this bass pattern data, multiple Note values (degree information) correspond to multiple bassline notes with different timings for consecutive sounds within a single measure. These Note values correspond to multiple ascending notes that sequentially move towards higher pitches within a set range of pitches, or to multiple descending notes that sequentially move towards lower pitches. These Note values are set to degree information displayed as "2nd," "4th," or "6th" in Figure 7(b), which represent the 2nd, 4th, or 6th notes of the scale, respectively. The scale tone is not determined solely by the chords; it may be determined in conjunction with the key data. In this pattern, in either Type 1 or Type 2, the bass pattern data for number 1 in Figure 6(a) is selected with a high probability, while the scale tone type bass pattern data for number 6 in Figure 7(b) is also selected rarely. This makes it possible to reproduce a non-monotonous Latin bass pattern that incorporates scale tones randomly.
[0063] The bass pattern data exemplified as (c) in Figure 7 is a chromatic tone type, that is, a bass pattern data that plays a note a semitone or two semitones below the root note of the chord at the beginning of the next measure, rather than the current chord. This base pattern data is the seventh base pattern data selected with a probability of approximately 5 percent via a Type 1 or Type 2 entry (the first or second row in Figure 5), similar to the case in Figure 7(a). This bass pattern data includes a first chromatic piece of information (indicated as "Cr1" in Figure 7(c)) that instructs the bass line to be played at a degree a semitone lower than the degree indicated by the initial Note value (degree information) set in the measure following the measure in which the sound is played, at the final note timing within a measure (mid-beat of the fourth beat), and a second chromatic piece of information (indicated as "Cr2" in Figure 7(c)) that instructs the bass line to be played at a degree two semitones lower than the degree indicated by the initial Note value (degree information) set in the measure following the measure in which the sound is played, at the note timing immediately preceding the final note timing (beginning of the fourth beat). In this pattern, in Type 1 or Type 2, the bass pattern data number 1 in Figure 6(a) is selected with a high probability, while the chromatic tone type bass pattern data number 7 in Figure 7(c) is also selected rarely, making it possible to reproduce a non-monotonous Latin bass pattern that randomly incorporates semitones or two semitones.
[0064] Figure 8 is a flowchart showing a detailed example of the note-on-data generation process in step S305 of Figure 3.
[0065] First, the CPU 101 obtains the Note value (frequency information), Gate value (gate information), and Velocity value (velocity information) set at the timing position corresponding to the TickTime variable value in RAM 103, starting from the beginning of the beat indicated by the beat count variable value in RAM 103, as determined in step S304 of Figure 3 (step S801 of Figure 8).
[0066] Next, the CPU 101 stores the Note value obtained in step S801 as the baseline sound being played in the note memory area of RAM 103, and also stores the Gate value obtained in step S801 in the same note memory area as the gate value variable, corresponding to the Note value. This remaining gate value variable is decremented by 1 each time a TickTime interrupt occurs in step S310 of Figure 3. When this value reaches 0, the baseline sound being played is turned off at the Note value corresponding to that remaining gate value variable (steps S307→S308 of Figure 3).
[0067] Next, the CPU 101 sets the type of sound production of the base pattern data selected in the pattern selection process in step S303 in the RAM 103 (step S803 in Figure 8). Here, the sound production types include approach tone type, chromatic tone type, scale tone type, or other types. Specifically, in step S303, CPU 101 selects the base pattern data shown in Figure 7(a), and if the Note value (degree information) obtained in step S801 is the approach processing tone "Ap" (see the timing in the middle of the fourth beat in Figure 7(a)), then it sets the pronunciation type = approach tone type to RAM 103. Furthermore, if the CPU 101 selects the base pattern data shown in Figure 7(c) in step S303, and the Note value (degree information) obtained in step S801 is a chromatic processed tone "Cr1" or "Cr2" (refer to the timings at the beginning and middle of the fourth beat in Figure 7(c)), the CPU 101 sets the sound type = chromatic tone type to RAM 103. Furthermore, in step S303, CPU 101 selects the base pattern data shown in Figure 7(b), and if the Note value (degree information) obtained in step S801 is a scale tone "2nd", "4th", or "6th", it sets the sound type to scale tone type. Then, if none of the above conditions apply, CPU101 sets the pronunciation type = chord tone type to RAM103.
[0068] Subsequently, the CPU 101 determines whether the pronunciation type of the base pattern data set in step S803 is an approach sound type (step S804).
[0069] If the judgment in step S804 is YES, the CPU 101 determines the note of the current pronunciation timing by using the Note value (degree information) set at the pronunciation timing immediately preceding the last pronunciation timing where the Note value "Ap" is set (the middle timing of the 4th beat in the example of Figure 7(a)) (the pronunciation timing at the beginning of the 3rd beat in the example of Figure 7(a)), and the Note value that is initially set in the measure following the current pronunciation measure (step S805).
[0070] If the determination in step S804 is NO, the CPU 101 determines whether the sound generation type of the base pattern data set in step S803 is a chromatic sound type (step S806).
[0071] If the judgment in step S806 is YES, the CPU 101 determines the note of the current pronunciation timing from the Note value (root note) initially set in the measure following the pronunciation measure (step S807). Specifically, if the current timing is the final timing within the measure in which the note is played (the middle of the fourth beat in the example in Figure 7(c)), the CPU 101 determines the note of the current timing based on the degree a semitone lower than the degree indicated by the root note of the Note value initially set in the measure following the measure in which the note is played. Furthermore, if the current timing is the timing immediately preceding the final timing within the measure in which the note is played (the beginning of the fourth beat in the example in Figure 7(c)), the CPU 101 determines the note of the current timing based on the degree two semitones below the degree indicated by the root note of the Note value initially set in the measure following the measure in which the note is played.
[0072] If the determination in step S806 is NO, the CPU 101 determines whether the sound generation type of the base pattern data set in step S803 is a scale tone type (step S808).
[0073] If the determination in step S808 is YES, the CPU 101 determines the note of the current pronunciation timing based on the selected scale (step S809). Specifically, CPU101 determines which of the 2nd, 4th, or 6th notes of the specified scale will be the note for the current pronunciation timing, depending on whether the Note value set for the current pronunciation timing is "2nd," "4th," or "6th."
[0074] If the determination in step S808 is NO, the CPU 101 determines the note for the current pronunciation timing using the code data read into RAM 103 corresponding to the current pronunciation timing (step S810). Specifically, CPU101 determines the note for the current timing of a note to be either the root note, the fifth note, or the note one octave lower than the seventh note of the chord data, depending on whether the Note value set for the current timing is "R", "5th", or "Down7".
[0075] After the processing of steps S805, S807, S809, or S810 described above, the CPU 101 terminates the note-on data generation process of step S305 in Figure 3, as illustrated in the flowchart of Figure 8.
[0076] In the embodiment described above, the root note of the bass is higher than C, but in the example musical score shown in Figure 2(c), for example, the root note of Am7 is lower than C. The setting value used to lower the pitch by an octave in this way is called a breakpoint, and in this example musical score, G# can be set as the breakpoint.
[0077] As explained above, conventionally, pre-programmed performance data was played repeatedly for an arbitrary length. However, in this embodiment, by randomizing the data within a certain set of rules, it becomes possible to reproduce a performance that is closer to a live performance by a human, rather than a monotonous repetition. Furthermore, while there are standard bass patterns in genres other than jazz walking bass, such as Latin bass, this embodiment incorporates these patterns and employs a technique to smoothly connect chords, making it possible to reproduce a performance that is closer to a live performance. Furthermore, in this embodiment, by incorporating a standard base pattern and randomization according to certain rules, it becomes possible to generate randomness while making the most of the characteristics of the genre. In addition, in this embodiment, by having multiple means for determining the randomized pitch of the sound produced, it becomes possible to reproduce a performance that moves even further away from monotonous playing and comes closer to a live performance by a human. [Explanation of Symbols]
[0078] 100 Electronic Instruments 101 CPU 102 ROM 103 RAM 104 Sound source LSI 105 keyboard 106 Key Scanners 107 switches 108 I / O interfaces 109 LCD 110 LCD Controller 111 D / A Converter 112 Amplifier 113 speakers 114 Network Interfaces 115 System Bus
Claims
1. For each measure, determine at least one of the following: the state of the first chord assigned to the first measure of sound, and the relationship between the first chord and the second chord assigned to the second measure following the first measure of sound. Depending on the result of the above determination, one type is selected from a predetermined set of types that indicate the probability of generating an accompaniment sound using one of the multiple base pattern data. In accordance with the probability defined for the selected type, one base pattern data is selected from the plurality of base pattern data. Based on the first code and the selected base pattern data, an accompanying sound is generated to be played in the first measure. Automatic accompaniment sound generation device.
2. The automatic accompaniment sound generation device according to claim 1, wherein the determination is at least one of the following: determining whether a plurality of the first chords are specified in the first measure of sound; determining whether the second chord specified at the beginning of the second measure of sound is the same as the first chord specified at the beginning of the first measure of sound; and determining whether the root note of the second chord specified at the beginning of the second measure of sound is related by a predetermined degree to the root note of the first chord specified at the beginning of the first measure of sound.
3. The automatic accompaniment sound generation device according to claim 1, wherein each of the base pattern data includes, for each beat sounding timing and each beat sounding timing further divided into sounding timings, timing information indicating the sounding timing, frequency information indicating whether or not any of the accompaniment sounds are sounded at the sounding timing and whether or not the sounded accompaniment sound is a root note or a degree relative to the root note, gate information indicating the sounding length of the accompaniment sound, and velocity information indicating the sounding intensity of the accompaniment sound.
4. The automatic accompaniment sound generation device according to claim 3, wherein at least one of the base pattern data has, for each sound timing, the degree information corresponding to the constituent notes of the first chord specified at the sound timing.
5. The automatic accompaniment sound generation device according to claim 4, wherein, if the determination is that a plurality of the first chords are specified within the first measure of sound, a base pattern data is selected from the plurality of base pattern data in which the degree information for the root note of the first chord specified at the timing of sound is set as the degree information for the timing of sound of the first beat and the third beat within one measure.
6. The automatic accompaniment sound generation device according to claim 4, wherein if the determination is that the second chord specified at the beginning of the second measure is the same as the first chord specified at the beginning of the first measure, the device selects from the plurality of base pattern data a base pattern data for which the degree information at the final timing of sound in one measure is set to indicate an accompaniment sound that is a fifth above the root note of the first chord specified at the final timing of sound.
7. The automatic accompaniment sound generation device according to claim 4, wherein if the determination is that the root note of the second chord specified at the beginning of the second measure is a third lower than the root note of the first chord specified at the beginning of the first measure, the device selects from the plurality of bass pattern data a bass pattern data for which the degree information at least at the final timing of sound in one measure is set to a degree one octave lower than a degree seventh above the root note of the first chord specified at the final timing of sound.
8. The automatic accompaniment sound generation device according to claim 3, wherein at least one of the base pattern data includes approach information that instructs the device to produce the accompaniment sound at the final sound timing within one measure at a frequency between the frequency information set at the sound timing immediately preceding the final sound timing and the frequency information initially set in the second sound measure.
9. The automatic accompaniment sound generation device according to claim 3, wherein at least one of the base pattern data includes, as a plurality of degree information corresponding to a plurality of accompaniment sounds having different consecutive sound timings within a single measure, degree information corresponding to a plurality of ascending sounds that sequentially transition to higher pitches within a set plurality of pitches, or degree information corresponding to a plurality of descending sounds that sequentially transition to lower pitches.
10. The automatic accompaniment sound generation device according to claim 3, wherein at least one of the base pattern data includes chromatic information instructing that the accompaniment sound be played at a degree that is a semitone or two semitones different from the degree indicated by the degree information initially set in the second measure, at the final timing of sound within the one measure.
11. The automatic accompaniment sound generation device according to any one of claims 3 to 10, wherein each of the base pattern data has timing information, frequency information, gate information, and velocity information that represent a baseline phrase of a predetermined musical genre for each sound timing.
12. The automatic accompaniment sound generation device according to claim 11, wherein at least one of the base pattern data includes, as degree information, at least degree information indicating an accompaniment sound of the root note and degree information indicating an accompaniment sound a fifth above the root note.
13. An automatic accompaniment sound generation device according to any one of claims 1 to 10, The performance control unit, Equipped with, The automatic accompaniment sound generation device and the operation of the performance control unit are used to perform sound generation processing. Electronic musical instrument.
14. The processor of the automatic accompaniment sound generation device, Determine, for each measure, at least one of the following: the state of the first chord assigned to the first measure of sound, and the relationship between the first chord and the second chord assigned to the second measure following the first measure of sound. Depending on the result of the above determination, the system selects one type from a predetermined set of types that indicate the probability of generating an accompaniment sound using one of the multiple base pattern data. In accordance with the probability defined for the selected type, one base pattern data is selected from the plurality of base pattern data. Based on the first code and the selected base pattern data, an accompaniment sound to be played in the first measure is generated. method.
15. The processor of the automatic accompaniment sound generation device, Determine at least one of the following: the state of the first chord specified for the first note, and the relationship between the first chord and the second chord specified for the second note following the first note. Depending on the result of the above determination, the system selects one type from a predetermined set of types that indicate the probability of generating an accompaniment sound using one of the multiple base pattern data. In accordance with the probability defined for the selected type, one base pattern data is selected from the plurality of base pattern data. Based on the first code and the selected base pattern data, an accompaniment sound to be played in the first measure is generated. program.