Playing instruction device
Abstract
[Task] Provided is a performance instruction device capable of generating performance guide data according to a performer's performance level and performing performance guide based on the generated performance guide data.
Solution.In order to extract one event data for each quarter note from the automatic performance data, one bar is equally divided into the quarter note length range a. Here, since the event data to be extracted is not always at the position of the beginning a1 of this note length range a, the beginning position of the note length range to be extracted is the sixteenth note length range from the position a1 to the position b1. Move forward by c, and meet the specified conditions from the automatic performance data within the quarter note note length range (16th note note length range c + dotted eighth note note length range d) from this position b1. Extract what you want to do. Then, if there is event data extracted earlier within the extraction range, the event data extracted earlier is compared with the event data extracted this time, and the event data extracted this time is described above. Only when the predetermined conditions are better satisfied, the event data extracted earlier is replaced with the event data extracted this time.
Term
Term ended
Projected expiry passed 14 May 2017, 9.4 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
3 claims: 2 independent, 1 dependent
- 1【特許請求の範囲】 【請求項1】 自動演奏データから所定範囲毎に所定条件に合致したデータを抽出するデータ抽出手段と、 演奏レベルを入力するための演奏レベル入力手段と、 該入力された演奏レベルに応じて、前記データ抽出手段がデータを抽出するときの所定範囲あるいは所定条件を変更する変更手段とを有することを特徴とする演奏指示装置。
- 2【請求項2】 前記データ抽出手段が抽出したデータを用いて演奏ガイドを行う演奏ガイド手段を有することを特徴とする請求項1記載の演奏指示装置。
- 3【請求項3】 自動演奏データから所定範囲毎に所定条件に合致したデータを抽出するデータ抽出手段と、 演奏レベルを入力するための演奏レベル入力手段と、 該入力された演奏レベルに応じて、前記データ抽出手段が抽出したデータの内の一部のデータを選択する抽出データ選択手段と、 該選択したデータを用いて演奏ガイドを行う演奏ガイド手段とを有することを特徴とする演奏指示装置。
Independent claims3
257 paragraphs in 1 section, as filed
Description: TECHNICAL FIELD [Detailed description of the invention]
【0001】
[Technical field to which the invention belongs]
The present invention relates to a performance instruction device that arranges automatic performance data and generates performance guide data.
【0002】
[Conventional technology]
Conventionally, according to the reproduction of automatic performance data, for example, a light emitting diode (keyboard LED) provided for each key of the keyboard is turned on to instruct the performer when to press the key, and the performer gives the instructed key. A performance instruction device having a performance guide function that stops the playback of a song (according to progress) until the key is pressed is known.
【0003】
As a method of performing the performance guide, for example, a track dedicated to the performance guide (guide track) is provided separately from the track of the automatic performance data, and the performance guide data (for example, the performer presses the key) to advance the match. The key code of the key to be used) is memorized, the automatic performance data is read from the automatic performance data track and the performance guide data is read from the guide track according to the progress of the song, and the matching progress is performed based on the read performance guide data. How to do it is known. Then, a plurality of types of performance guide data are prepared according to the performance level so that the performer can practice the song according to his / her own performance level, and the performer can arbitrarily select from them. Something like that has also been realized.
【0004】
[Problems to be Solved by the Invention]
However, even if the conventional performance instruction device allows the player to practice the song according to the performance level, the level of the performance guide is determined by the prepared performance guide data, so that the performer can practice the song. When the song to be practiced did not have performance guide data suitable for the performer's level, the performer had to practice the song at a level different from his own performance level. Also, even if it is difficult to play a song of the performance level selected by the performer, for example, if there are ornamental sounds or chords, you have to practice as it is, especially if the performer is a beginner. In some cases, the practice was often thrown out on the way.
【0005】
The present invention has been made in view of the above problems, and the first object of the present invention is to provide a performance instruction device capable of generating performance guide data according to a performer's performance level. A second object is to provide a performance instruction device capable of performing a performance guide based on the performance guide data.
【0006】
[Means for solving problems]
In order to achieve the first object, the invention according to claim 1 is a data extraction means for extracting data satisfying a predetermined condition for each predetermined range from automatic performance data, and a performance level input for inputting a performance level. It is characterized by having means and changing means for changing a predetermined range or a predetermined condition when the data extracting means extracts data according to the input performance level.
【0007】
Further, in order to achieve the second object, the invention according to claim 2 is characterized by having a performance guide means for performing a performance guide using the data extracted by the data extraction means.
【0008】
Further, in order to achieve the second object, the invention according to claim 3 is a data extraction means for extracting data satisfying a predetermined condition for each predetermined range from automatic performance data, and a performance for inputting a performance level. A performance guide is performed using the level input means, the extraction data selection means that selects a part of the data extracted by the data extraction means according to the input performance level, and the selected data. It is characterized by having a performance guide means.
【0009】
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
【0010】
FIG. 1 is a block diagram showing a schematic configuration of an electronic keyboard instrument to which a performance instruction device according to an embodiment of the present invention is applied.
【0011】
As shown in the figure, the electronic keyboard instrument of the present embodiment includes a keyboard 1 for inputting pitch information, a panel switch 2 having a plurality of switches for inputting various information, and a keyboard 1. A key press detection circuit 3 that detects the key press state of each key, a switch detection circuit 4 that detects the press state of each switch of the panel switch 2, a CPU 5 that controls the entire device, and a control program executed by the CPU 5. ROM6 that stores MIDI data, table data, etc., RAM7 that temporarily stores automatic performance data, various input information, calculation results, etc., timer 8 that measures the interrupt time and various times in timer interrupt processing, and various information. A display device 9 equipped with, for example, a large LCD or CRT and an LED for displaying, a floppy disk drive (FDD) 10 for driving a floppy disk (FD) as a storage medium, various application programs including the control program, and various types. A CD that drives a hard disk drive (HDD) 11 that is an external storage device that stores data, etc., and a compact disk-read-only memory (CD-ROM) that stores various application programs including the control program and various data. -The ROM drive 12, the MIDI interface (I / F) 13 that inputs MIDI (Musical Instrument Digital Interface) signals from the outside and outputs them as MIDI signals to the outside, and the communication network 101, for example, the server. A communication interface (I / F) 14 that sends and receives data to and from the computer 102, a sound source circuit 15 that converts performance data and automatic performance data input from keyboard 1 into music signals, and music signals from the sound source circuit 15. It is composed of an effect circuit 16 for imparting various effects to MIDI, and a sound system 17 such as a speaker that converts a music signal from the effect circuit 16 into sound.
【0012】
The above components 3 to 16 are connected to each other via the bus 18, a timer 8 is connected to the CPU 5, another MIDI device 100 is connected to the MIDI I / F 13, and a communication network 101 is connected to the communication I / F 14. Is connected, the effect circuit 16 is connected to the sound source circuit 15, and the sound system 17 is connected to the effect circuit 16.
【0013】
As described above, the control program executed by the CPU 5 is stored in the HDD 11, and if the control program is not stored in the ROM 6, the control program is stored in the hard disk in the HDD 11 and read into the RAM 7. As a result, the CPU 5 can be made to perform the same operation as when the control program is stored in the ROM 6. In this way, control programs can be easily added or upgraded.
【0014】
The control program and various data read from the CD-ROM of the CD-ROM drive 12 are stored in the hard disk in the HDD 11. This makes it easy to newly install or upgrade the control program. In addition to the CD-ROM drive 12, a device for using various forms of media such as a magneto-optical disk (MO) device may be provided as an external storage device.
【0015】
As described above, the communication I / F 14 is connected to a communication network 101 such as a LAN (local area network), the Internet, or a telephone line, and is connected to the server computer 102 via the communication network 101. When the above programs and various parameters are not stored in the hard disk device 11, the communication I / F 14 is used to download the programs and parameters from the server computer 102. The client computer (the electronic musical instrument of the present embodiment) transmits a command requesting the download of programs and parameters to the server computer 102 via the communication I / F 14 and the communication network 101. The server computer 102 receives this command and distributes the requested programs and parameters to the computer via the communication network 101, and the computer receives these programs and parameters via the communication I / F 101 and is a hard disk device. By accumulating in 11, the download is completed.
【0016】
FIG. 2 is a diagram showing a data format of automatic performance data.
【0017】
As shown in the figure, the automatic performance data is mainly composed of header data 21, duration data 22, note event data 23, bar line data 24, tempo data 25, and file end data 26.
【0018】
The header data 21 refers to data stored at the beginning of the automatic performance data, and in the present embodiment, data such as a song title and an initial tempo is stored as the header data 21.
【0019】
The duration data 22 refers to time data indicating an interval between event data (in the present embodiment, note event data 23, bar line data 24, and tempo data 25).
【0020】
The note event data 23 refers to two types of data, note-on event data and note-off event data. The note-on event data is composed of note-on, MIDI channel, note number, and velocity data, and the note-off event data is composed of note-off, MIDI channel, and note number data. A MIDI channel is composed of, for example, 16 channels, and channels 1 and 2 are assigned right-hand and left-hand data, respectively, and other channels are assigned event data for accompaniment. Here, channels 1 and 2 refer to MIDI channels to which note event data for performing performance guidance is assigned, right-hand data refers to note event data that the performer should play with the right hand, and left-hand data refers to the left-hand data. Note event data that the performer should play with his left hand. In this way, the MIDI channel is stored for each note event data. In this embodiment, the note event data 23 are stored in a row in the output order regardless of the type of each event, and are actually stored. This is because, at the stage of reading and processing, the type of event is determined based on the MIDI channel, and the note event is processed according to the determination result.
【0021】
In the present embodiment, the note-off event data is configured not to include velocity, but it goes without saying that the note-off event data may be configured to include velocity.
【0022】
The bar line data 24 refers to data indicating a bar line, and the tempo data 25 refers to data for changing the tempo. Further, the file end data 26 refers to a file, that is, data indicating the end of the automatic performance data.
【0023】
Actually, the automatic performance data includes data other than the above-mentioned data, but since it is not essential for explaining the present invention, the description thereof will be omitted.
【0024】
In the present embodiment, the event data is stored in a row in the order of output regardless of the assigned MIDI channel, but the present invention is not limited to this, and a track corresponding to the MIDI channel is provided. Event data may be assigned to each track. In this way, as described above, it is not necessary to store the MIDI channel for each note event data, but the memory capacity is increased.
【0025】
Further, in the present embodiment, the data format of the automatic performance data is configured as "event data + duration data" as described above, but it is not limited to this, for example, "event data + relative time data", " Any format such as "event data + absolute time data", "pitch data + note length data" may be used.
【0026】
FIG. 3 is a diagram showing an example of the configuration of the thinning data buffer secured at the predetermined position of the RAM 7, and as shown in the figure, the thinning data buffer is filled with each beat in each bar from the automatic performance data. The selected key code is stored in. In the present embodiment, only the note-on event data at the quarter note position is selected and extracted from the automatic performance data, and the key code of the event data is stored (registered) as the performance guide data.
【0027】
The schematic operation of the electronic keyboard instrument configured as described above will be described. LEDs are provided for each key on keyboard 1. Then, based on the automatic performance data of the guide tracks (channels 1 and 2), the electronic keyboard instrument is instructed to be pressed by lighting the LED corresponding to the key to be pressed, and the instructed key is instructed. It is equipped with a performance guide function that determines whether or not the performer has operated correctly. The performance guide function has four guide levels from level = 0 for beginners to level = 3 for advanced players, and the performer is provided on the panel switch 2 according to his or her own performance level. It is possible to select either one by operating the performance guide level selection switch. For guide level 3, the guide track data itself of the automatic performance data is used for the performance guide, so all event data must be pressed correctly. On the other hand, for guide levels 0 to 2, the event data stored in the thinning data buffer described above is used for the performance guide. Therefore, it is only necessary to press the correct key only for the event data that has been reduced by thinning out the event data as appropriate.
【0028】
Next, the control processing executed by this electronic keyboard instrument will be described below with reference to FIGS. 4 to 15.
【0029】
FIG. 4 is a flowchart showing the procedure of the main routine executed by the electronic keyboard instrument of the present embodiment, particularly the CPU5.
【0030】
In the figure, first, clear and play graphic-related elements (not shown) such as VRAM (video ram) for displaying an image on the display device 9, MIDI I / F13, communication I / F14, timer 8 and the like. Initial settings such as opening the song data file of the automatic performance song to be performed (step S1). In the present embodiment, a plurality of automatic performance song data are stored in the FDD in a file format, and one (or a plurality) song data files are read out according to the instruction of the performer, and are stored in a predetermined position of the RAM 7. It is loaded into the reserved song data storage area. A plurality of auto performance song data may be stored in ROM 6 in advance and selected from them, or may be supplied from the CD-ROM drive 12 or externally via MIDI I / F13 or communication I / F14. You may try to do it.
【0031】
Next, it is determined whether or not there is a switch event of the panel switch 2 (step S2). In this determination, when there is a switch event, a panel switch event processing subroutine (details of which will be described later with reference to FIG. 5) that performs processing according to the switch event is executed (step S3), while there is no switch event. Occasionally, skip step S3 and proceed to step S4.
【0032】
In step S4, it is determined whether or not the value of the match progress timer, which is the soft timer secured at the predetermined position of the RAM 7, is larger than 0. Here, the match progress timer is the elapsed time time (after storage) of the key code KC stored in buffers 1 and 2 (FIG. 13) in response to the note-on event of the automatic performance data and the key press event of the performer, respectively. A timer for counting KC). Both buffers 1 and 2 are buffers secured at predetermined positions in RAM 7, and as shown in FIG. 13, a maximum of 32 key code KCs and the elapsed time after storage for each key code KC, respectively, time. It has enough capacity to store (KC).
【0033】
In the determination of step S4, when the match progress timer> 0, the match progress timer processing subroutine described later is executed using FIG. 7 (step S5), while when the match progress timer 0, step S5 is skipped and the step is performed. Proceed to S6.
【0034】
In step S6, in order to reproduce the automatic performance data, it is determined whether or not the value of the reproduction processing timer, which is the soft timer secured at the predetermined position of the RAM 7, is 0 or less. In this determination, when the reproduction processing timer 0, the reproduction processing subroutine described later is executed using FIG. 8 (step S7), while when the reproduction processing timer> 0, step S7 is skipped and the process proceeds to step S8.
【0035】
In step S8, it is determined whether or not the timing is an odd multiple of the eighth note. In this determination, when the timing is an odd multiple of the eighth note, the keyboard LED processing 1 subroutine described later is executed using FIG. 9 (step S9), while when the timing is not an odd multiple of the eighth note, step S9 Skip to step S10.
【0036】
In step S10, it is determined whether or not the timing is an even multiple of the eighth note. In this determination, when the timing is even multiples of the eighth note, the keyboard LED processing 2 subroutine described later is executed using FIG. 10 (step S11), while when the timing is not even multiples of the eighth note, step S11 Skip to step S12.
【0037】
For the determination of odd-numbered multiples and even-numbered multiples of eighth notes performed in steps S8 and S10, for example, a soft counter (bar counter) for counting the time interval between one bar is provided at a predetermined position in the RAM 7, and the value of this bar counter It should be done every time when is a multiple of 1/8 of the count value of the whole bar. Of course, the discriminant method is not limited to this, and any method may be used as long as it can discriminate the timing of the eighth note.
【0038】
In step S12, it is determined whether or not there is a key event from the keyboard 1, that is, a key press event or a key release event. In this determination, when there is a key event, the key processing subroutine described later is executed using FIG. 11 (step S13), while when there is no key event, step S13 is skipped and the process proceeds to step S14.
【0039】
In step S14, after executing other processing other than the above-mentioned processing, the process proceeds to step S2, and the above-mentioned processing is repeated.
【0040】
The matching progress timer and the reproduction processing timer are counted by the timer interrupt processing described later with reference to FIG.
【0041】
FIG. 5 is a flowchart showing a detailed procedure of the panel switch event processing subroutine in step S3.
【0042】
In the figure, first, various modes are set according to a switch event generated by the performer operating the panel switch 2 (step S21). The modes set at this time include, for example, a song data thinning process execution mode in which the start / stop of the automatic performance data thinning process (hereinafter, this process is referred to as "song data thinning process") can be instructed, and the automatic performance start / There is an automatic performance mode that can be instructed to stop, a performance guide mode that can be instructed to turn on / off the performance guide function, and a part setting mode that can be instructed to enable / disable the right / left hand part.
【0043】
Next, it is determined whether or not the start instruction of the song data thinning process has been given (step S22), and when this instruction is given, after executing the song data thinning process subroutine described later with reference to FIG. 6 (step S23). , Ends this panel switch event processing subroutine.
【0044】
On the other hand, if the start instruction of the song data thinning process is not given in the determination of step S22, the panel switch event processing subroutine is immediately terminated.
【0045】
FIG. 6 is a flowchart showing a detailed procedure of the song data thinning processing subroutine, and the song data thinning processing subroutine mainly performs a process of registering data (key code) in the thinning buffer of FIG. is there.
【0046】
In the figure, first, the beginning of the automatic performance data for which the performance is instructed is sought, and the file pointer seek process for aligning the file pointer with the position is performed (step S31). In the present embodiment, the automatic performance data is stored in the song data storage area of the RAM 7, so that the file pointer indicates the start address position of the automatic performance data by this file pointer seek processing. Become.
【0047】
In the following step S32, various variables used in this subroutine, such as a write pointer used when registering data in the thinned data buffer, are initialized.
【0048】
Next, the file pointer is advanced by "1", the event data stored at the position indicated by the file pointer is read (step S33), and it is determined whether or not the read event data is the file end data (step S33). Step S34). In this determination, when the read event data is file end data, after rewinding (reverting) the file pointer (step S35), the song data thinning processing subroutine is terminated, and the read event data is read. When is not the file end data, it is determined whether or not it is the note-on / off event data (step S36).
【0049】
In the determination in step S36, when the read data is note-on / off event data, it is determined whether or not the data belongs to the guide track, that is, MIDI channel 1 or 2 (step S37).
【0050】
If the read note-on / off event data is that of the guide track in the determination in step S37, the note event data is thinned out (step S38).
【0051】
FIG. 14 is a diagram for explaining this thinning process. As described above, in the present embodiment, in order to extract (thin out) one event data for each quarter note (within the range of the quarter note length) from the automatic performance data, one bar is divided into four equal parts. .. That is, one bar is equally divided into the quarter note length range a. Here, since the event data to be extracted is not always at the position of the head a1 of the note length range a, the range to be extracted is moved from the note length range a to the note length range b. That is, the start position of the note length range to be extracted is shifted forward from the position a1 to the position b1 by the note length range c of the 16th note, and the note length range of the quarter note from this position b1 (the note length range of the 16th note). From the automatic performance data within the c + dotted eighth note length range d), the data that meets the following conditions is extracted. Then, if there is event data previously extracted within the extraction range, that is, if the event data is already stored in the registration position of the thinning data buffer, the event registered in the destination Comparing the data with the event data extracted this time, only when the event data extracted this time better satisfies the following conditions, the event data registered earlier can be used as the event data extracted this time. replace.
【0052】
1) When the event data is a chord (key-on whose duration lasts for a predetermined time or less) and the chord is composed of the right-hand data, the highest note is extracted, while when the chord is composed of the left-hand data, the lowest note is extracted. Extract the sound.
【0053】
2) Within the 16th note length range (range c) from the beginning of the extraction range + 32nd note length range (range e) from the beat break, the second-arrival priority (priority is given to those with slow key-on). After that, the first-come-first-served basis (priority is given to the one with the earliest key-on) until the end of the extraction range (range f).
【0054】
The conditions for extracting event data are not limited to the above-mentioned conditions, and various conditions can be set.
【0055】
Returning to FIG. 6, in step S39, it is checked whether or not the event data (key code) is registered at the position corresponding to the current bar line number and beat number in the thinning data buffer, and if it is not registered. In, the key code of the event extracted by the above thinning process is registered at the position in step S40. On the other hand, when the key code is already registered at the position of the thinning data buffer, the event data corresponding to the key code is compared with the event data extracted by the thinning process, and the extracted event data is used. Only when the above condition is better satisfied, the process proceeds to step S40, and the key code is replaced with the key code corresponding to the extracted event data.
【0056】
On the other hand, in the determination in step S36, when the read data is not the note-on / off event data, it is determined whether or not the data is duration data (step S41). In this determination, when the read data is duration data, the duration value is added to the duration accumulation counter secured at a predetermined position of the RAM 7 in order to accumulate the duration data between one bar, and this addition is performed. The beat is incremented from the result (step S42). Here, the beat is incremented by incrementing the soft counter (hereinafter, referred to as first beat counter) secured at the predetermined position of the RAM 7. Then, when "96" is set as the duration data corresponding to the quarter note length, for example, the beat increment is 1 each time the value of the duration accumulation counter becomes a multiple of "96". Do.
【0057】
In the thinning process of step S38, it is also determined in which range a to f of FIG. 14 the read event data is, by looking at the count value of the duration accumulation counter. There is.
【0058】
On the other hand, in the determination in step S41, when the read data is not duration data, it is determined whether or not the data is bar line data (step S43). In this determination, when the read data is bar line data, a soft counter (hereinafter referred to as "first bar line number counter") secured at a predetermined position of the RAM 7 is used to count the bar line numbers. After incrementing by "1" and clearing the first beat count to "0", the process returns to step S33, while when the read data is not bar line data, the process immediately returns to step S33.
【0059】
By the above processing, one representative event data in the quarter note section is extracted for each quarter note, and the extracted event data is stored in the thinning data buffer. Depending on the automatic performance data, there may be no event data in a certain quarter note section. In that case, the event data may not be stored in the area corresponding to the section of the thinning data buffer, or the same as the event data stored in the area corresponding to the section before or after the section. The data may be stored as event data of the area corresponding to the section.
【0060】
FIG. 7 is a flowchart showing a detailed procedure of the match progress timer processing subroutine in step S5 of FIG.
【0061】
In the figure, first, when the key press event data (key code KC) is stored in the buffer 1 or 2, the elapsed time data time (KC) stored accompanying the key code KC is matched with the progress timer. The value of is added and the guide timer processing for clearing the match progress timer is performed (step S51). Here, as described above, the buffer 1 is a buffer for writing the key code KC corresponding to the key-on event generated by the player's key press, and the writing of the key code KC is the key processing in step S13. It is done in a subroutine (the details of which will be described later with reference to FIG. 11). On the other hand, as described above, the buffer 2 is a buffer for writing the key code corresponding to the note-on event of the guide track generated by the reproduction of the automatic performance data, and the writing of the key code KC is performed in step S7. It is performed in the reproduction processing subroutine (details thereof will be described later with reference to FIG. 8) or in the keyboard LED processing 2 subroutine (the details of which will be described later with reference to FIG. 10) in step S11. The data written in the buffer 1 is deleted when a predetermined time elapses after the key code is written or when the same key code as the written key code is written in the buffer 2. .. Further, the data written in the buffer 2 is deleted when the same key code as the written key code is written in the buffer 1. At the same time, the keyboard LED that was lit corresponding to the key code written in the buffer 2 is turned off. The above deletion and extinguishing processing is also performed in this guide timer processing (step S51).
【0062】
Next, it is determined whether or not to pause (pause) the reproduction of the automatic performance data (step S52). Specifically, this determination compares the data stored in the buffer 1 with the data stored in the buffer 2, and the key code KC that has passed a predetermined time after being stored in the buffer 2 is stored in the buffer 1. If it is not set, it is determined to be paused (pause), and if there is a key code KC that is stored in buffer 2 but not stored in buffer 1 and the predetermined time has not passed, it progresses (pauses). Do not).
【0063】
When the pause is determined in step S52, the pause request flag FPAUSE indicating the pause request is set (1) (step S53), and then the match progress timer processing subroutine is terminated.
【0064】
On the other hand, when it is determined not to pause in the determination in step S52, the pause request flag FPAUSE is reset (0) (step S54), and then the matching progress timer processing subroutine is terminated.
【0065】
FIG. 8 is a flowchart showing a detailed procedure of the reproduction processing subroutine of step S7 of FIG.
【0066】
In the figure, first, in order to reproduce the automatic performance data, one event data at the position indicated by the reproduction pointer secured at the predetermined position of the RAM 7 is read (step S61), and the read event data is note-on. / Off Determines whether the data is event data (step S62).
【0067】
In the determination in step S62, when the read event data is note-on / off event data, it is determined whether or not the note event data belongs to the guide track (channel 1 or 2) (step S63). ..
【0068】
If the note event data read out is that of the guide track in the determination in step S63, the matching progress process is performed according to the type of the event data and the currently selected performance guide level (step S64). Specifically, when the currently selected performance guide level is "guide level 3" and the read event data is note-on event data, the buffer 2 in FIG. 13 corresponds to the note-on event. Write the key code KC and turn on the keyboard LED corresponding to the key code. Note that the keyboard LED may be turned on not at the same time as the note event is read, but by pre-reading the note event so that the key event is turned on prior to the read of the note event and before a predetermined timing. When the read event data is note-off event data, nothing is done here. If the currently selected performance guide level is any of 0 to 2, the match progress process based on the note event data read here is not performed.
【0069】
On the other hand, in the determination in step S63, when the read note event data is not that of the guide track, a MIDI signal (code) corresponding to the event data is transmitted to another MIDI via the sound source circuit 15 or the MIDI interface 13. After outputting to the device 100 (step S65), this playback processing subroutine is terminated. By the processing of step S65, the musical tone of the accompaniment track is produced.
【0070】
On the other hand, in the determination in step S62, when the read event data is not note-on / off event data, it is determined whether or not the event data is duration data (step S66).
【0071】
When the read event data is duration data in the determination in step S66, the value of the reproduction processing timer is updated by the following equation (step S67).
【0072】
Reproduction processing timer = Reproduction processing timer value + duration value x tempo coefficient value In the following step S68, in order to count the number of beats in the main reproduction processing, the soft counter (hereinafter referred to as second beat counter) secured at a predetermined position of the RAM 7 is incremented, and then the main reproduction processing subroutine is used. To finish. Here, the increment of the second beat counter may be performed based on the count value by providing a counter that performs the same operation as the duration cumulative counter in the same manner as in step S42.
【0073】
On the other hand, in the determination in step S66, when the read event data is not duration data, it is determined whether or not the event data is tempo data (step S69).
【0074】
In the determination of step S69, when the read event data is tempo data, the tempo coefficient is changed according to the tempo data (step S70), while when the read event data is not tempo data, it is read. It is determined whether or not the event data is bar line data (step S71).
【0075】
In the determination in step S71, when the read data is bar line data, a soft counter secured at a predetermined position in the RAM 7 (hereinafter, "second bar line number counter") is used to count the bar line numbers. ) Is incremented by "1" and the second beat counter is cleared to "0" (step S72), and then this playback processing subroutine is terminated. On the other hand, if the read data is not bar line data, immediately This playback processing subroutine is terminated.
【0076】
FIG. 9 is a flowchart showing a detailed procedure of the keyboard LED processing 1 subroutine in step S9 of FIG.
【0077】
In the figure, first, the selected guide level is compared with the current beat (the value of the second beat counter), and it is determined whether the keyboard LED is turned on or off (step). S81).
【0078】
Next, the keyboard LED is turned on / off according to the determination result in step S81 (step S82), and then the main keyboard LED processing 1 subroutine is terminated.
【0079】
FIG. 10 is a flowchart showing a detailed procedure of the keyboard LED processing 2 subroutine in step S11 of FIG.
【0080】
In the figure, first, in the same manner as in step S81, it is determined whether the keyboard LED is turned on or off (step S91), and then in the same manner as in step S82, step S91. The keyboard LED is turned on / off according to the determination result of (step S92).
【0081】
Then, at the timing corresponding to the guide level (excluding the guide level 3), the key code is read from the thinned data buffer, registered in the buffer 2 (step S93), and then the LED processing 2 subroutine is terminated.
【0082】
FIG. 15 is a diagram showing the timing at which the keyboard LED is turned on / off according to the guide level, and the keyboard LED processing of FIGS. 9 and 10 will be described in more detail with reference to the same diagram.
【0083】
In FIG. 15, when the guide level 0 is selected, when the automatic performance data is reproduced at a timing 6 times the eighth note (timing t6) from the beginning of each measure, the keyboard LED process 2 is performed. The keyboard LED corresponding to the key code stored at the beat position next to the relevant timing in the thinning data buffer is lit (steps S91, S92), and when the timing is eight times the eighth note (timing t0), the keyboard LED is turned on. In process 2, the key code stored at the beat position of the thinned data buffer is registered in buffer 2 (step S93), and when the timing is four times the eighth note (timing t4), the key code is lit by key LED process 2. Turn off the keyboard LED (steps S91, S92). By the above processing, only the key code of the first beat of each measure in the thinned data buffer is registered in the buffer 2, and is the target of the matching progress. At this time, the keyboard LED corresponding to the key code is turned on at the timing before the quarter note.
【0084】
Next, when the guide level 1 is selected, when the reproduction of the automatic performance data becomes three times the timing (timing t3) or seven times the timing (timing t7) of the eighth note, the keyboard LED processing 1 Then, the keyboard LED corresponding to the key code stored at the next beat position of the relevant timing in the thinned data buffer is turned on (steps S81, S82), and the timing is 4 times the eighth note (timing t4) or 8 times. When the timing (timing t0) is reached, the key code stored at the beat position of the thinned-out data buffer is registered in the buffer 2 by the keyboard LED process 2 (step S93), and the timing (timing) is 6 times that of the eighth note. At t6) or twice the timing (timing t2), the lit keyboard LED is turned off in the keyboard LED process 2 (steps S91 and S92). By the above processing, only the key codes of the first beat and the third beat of each measure in the thinned data buffer are registered in the buffer 2, and are the targets of the matching progress. At this time, the keyboard LED corresponding to the key code is turned on at the timing before the eighth note.
【0085】
Furthermore, when guide level 2 is selected, the playback of the automatic performance data is 7 times the timing (timing t7), 1 time timing (timing t1), and 3 times the timing (timing t3) of the eighth note. At 5 times the timing (timing t5), the keyboard LED process 1 turns on the keyboard LED corresponding to the key code stored at the next beat position of the timing in the thinning data buffer (step S81, S82), 8 times the timing of the eighth note (timing t0), twice the timing of the eighth note (timing t2), 4 times the timing of the eighth note (timing t4), 6 times the timing (timing t6) Then, in the keyboard LED process 2, the key code stored at the beat position of the thinned data buffer is registered in the buffer 2 (step S93), and the timing is 1 times (timing t1) of the eighth note and 3 times. When the timing (timing t3), 5 times timing (timing t5), and 7 times timing (timing t7) are reached, the lit keyboard LED is turned off by keyboard LED processing 1, and the next keyboard is turned off as described above. Turn on the LED (steps S91, S92). By the above processing, the key codes of all beats of each measure in the thinned data buffer are registered in the buffer 2 and are the targets of the matching progress. At this time, the keyboard LED corresponding to the key code is turned on at the timing before the eighth note.
【0086】
When guide level 3 is selected, the key code of the event data read in step S64 in FIG. 8 described above is registered in buffer 2, so the processing of FIGS. 9 and 10 is not performed. ..
【0087】
FIG. 11 is a flowchart showing a detailed procedure of the key processing subroutine in step S13 of FIG.
【0088】
In the figure, first, the matching progress process according to the key press or key release is performed (step S101). Specifically, when a key is pressed, the key code KC corresponding to the key press is written to the buffer 1 of FIG. 14, and the key-on event corresponding to the key press is sent via the sound source circuit 15 or the MIDI interface 13. Output to another MIDI device 100 to produce a musical sound corresponding to the key press. On the other hand, when the key is released, the key-off event corresponding to the key release is output to another MIDI device 100 via the sound source circuit 15 or the MIDI interface 13, and the musical tone corresponding to the key release is muted.
【0089】
Next, it is determined whether or not the pause state has been released (step S102). Here, whether or not the pause state is released is determined by comparing the contents of buffers 1 and 2 and determining whether or not there is a key press on the automatic performance data that caused the pause state.
【0090】
When the pause state is released in the determination of step S102, for example, the reset of the pause request flag FPAUSE (0) and the key code corresponding to the key press written in buffer 1 and buffer 2 are input from both buffers. Performs pause release processing such as deleting or turning off the key LED corresponding to the key pressed that was lit (step S103), and ends the key processing subroutine when it is not in the pause state or when the pause state is not released. ..
【0091】
FIG. 12 is a flowchart showing the procedure of timer interrupt processing, and this timer interrupt processing is executed in response to an interrupt signal generated by the timer 8 for the CPU 5 every 10 msec.
【0092】
In the figure, first, the match progress timer is incremented by 1 (step S111).
【0093】
Next, the state of the pause request flag FPAUSE is determined (step S112), and when the pause request flag FPAUSE = 1, that is, when the pause is in progress, the timer interrupt process is immediately terminated, while the pause request flag FPAUSE = 0. When, that is, when the pause is not in progress, the process proceeds to step S113, and after decrementing the reproduction processing timer by 1, the timer interrupt processing ends. In this way, when the pause request is made (FPAUSE = 1), the decrement of the reproduction processing timer is stopped, and the processing does not shift to the reproduction processing of FIG. 8, so that the reproduction of the automatic performance data is temporarily stopped.
【0094】
Although various other processes are actually performed in the timer interrupt process, the description thereof will be omitted because they are not essential processes for explaining the present invention.
【0095】
As described above, in the present embodiment, the performance guide data is created by thinning (extracting) the existing automatic performance data based on a predetermined condition, so that the performance guide data is created according to the level of the performer. It is possible to always generate performance guide data, which saves the trouble of searching for performance guide data suitable for one's own performance level.
【0096】
In addition, from the generated performance guide data, the data to be used can be selected according to the level of the performer (guide levels 0 to 2 in this embodiment), and the performance guide of the original song (in this embodiment). Since guide level 3) can also be performed, a wide range of performance guides can be performed according to the performance level from beginners to advanced players.
【0097】
Further, from the standpoint of the creator who creates the performance guide data, it is not necessary to create the guide data of a plurality of arrangements according to the performance level, and the manufacturing cost of the entire device can be reduced.
【0098】
Further, in the present embodiment, since no special automatic performance data is used, the performance guide data can be created from the music software (automatic performance data) already distributed, and the performer's preference. You can practice songs of the genre according to your needs.
【0099】
In the present embodiment, the range and conditions for extracting data from the automatic performance data are fixedly set, but the present invention is not limited to this, and the conditions can be changed according to the level of the performer. Good. For example, as the range for extracting data from the automatic performance data, "measures" are used in the above embodiment, but when the performance level is low, for example, each phrase divided into phrases is used, and the event data at the beginning of each phrase is used. It may be extracted. As a condition for extracting data from the automatic performance data, for example, when the performance level is low, each note length range for extracting (thinning out) one event data divided in each measure is set to a longer range, for example. The note length range of the half note may be set, and event data satisfying the above conditions may be extracted within the note length range of the half note. Here, as the method for dividing the phrase, for example, the method disclosed by the applicant of the present application in Japanese Patent Application No. 6-330100 may be used. Further, the extraction conditions are not limited to those shown in the present embodiment.
【0100】
The performance level may be set separately for the right-hand data and the left-hand data. In this way, the right-hand can play to some extent, but the left-hand does not move as expected.
【0101】
Further, in the present embodiment, the event data is extracted and thinned out prior to the performance, but it may be extracted in real time while the performance is progressing.
【0102】
Further, in the present embodiment, the keyboard LED is turned on only for the key corresponding to the key at the timing when the key should be pressed, but the present application applicant applies to Japanese Patent Application No. 6-300118. As disclosed, a plurality of keyboard LEDs may be turned on in advance, and the one corresponding to the key at the timing to be pressed may be blinked.
【0103】
In the present embodiment, the tempo is changed by changing the tempo coefficient as described in steps S68 to S70 of FIG. 9 and thereby correcting the value of the timing data. Not limited to this, the tempo clock cycle may be changed, or the value (count amount) for counting the timing data in one process may be changed.
【0104】
Further, in the present embodiment, the present invention is configured in the form of an electronic keyboard instrument, but the present invention is not limited to this, and can be configured in the form of a personal computer and an application program. The present invention can also be applied to devices such as karaoke devices.
【0105】
Further, in the present embodiment, as shown in FIG. 1, the present invention is realized by an electronic keyboard instrument having a built-in sound source device (sound source circuit 12, effect circuit 13 and sound system 14) and an automatic performance device (CPU 5). However, the present invention may be realized by configuring each device as a separate device and connecting each device by using a communication means such as a MIDI interface or various networks.
【0106】
In the present embodiment, the present invention is applied to an electronic keyboard instrument, but the present invention is not limited to this, and may be applied to a piano that is not an electronic musical instrument, and further, any string instrument type, wind instrument type, percussion instrument type, etc. It may be applied to a type of instrument.
【0107】
[Effect of the invention]
As described above, according to the invention according to claim 1, a predetermined range or a predetermined condition when the data extraction means extracts data is changed according to the performance level input from the performance level input means. Therefore, it is possible to always generate performance guide data according to the level of the performer, which saves the trouble of searching for performance guide data suitable for one's own performance level.
【0108】
Further, according to the invention of claim 2, the performance guide means provides a performance guide using the data extracted by the data extraction means, so that a wide range of performance guides can be provided according to the performance level from beginners to advanced players. It can be carried out.
【0109】
Further, according to the invention of claim 3, a part of data is further selected from the data extracted by the data extraction means according to the performance level input from the performance level input means, and the data is used. Since the performance guide is provided, a wide range of performance guides can be provided according to the performance level from beginners to advanced players.
[Simple explanation of drawings]
[Figure 1]
It is a block diagram which shows the schematic structure of the electronic keyboard instrument to which the performance instruction device which concerns on one Embodiment of this invention is applied.
[Figure 2]
It is a figure which shows the data format of a performance data.
[Fig. 3]
It is a figure which shows an example of the structure of the thinning-out data buffer secured at the predetermined position of the RAM of FIG.
[Fig. 4]
It is a flowchart which shows the procedure of the main routine executed by the electronic keyboard instrument of FIG. 1, especially the CPU.
[Fig. 5]
It is a flowchart which shows the detailed procedure of the panel switch event subroutine of FIG.
[Fig. 6]
It is a flowchart which shows the detailed procedure of the music data thinning-out processing subroutine of FIG.
[Fig. 7]
It is a flowchart which shows the detailed procedure of the match progress timer processing subroutine of FIG.
[Fig. 8]
It is a flowchart which shows the detailed procedure of the reproduction processing subroutine of FIG.
[Fig. 9]
It is a flowchart which shows the detailed procedure of the keyboard LED processing 1 subroutine of FIG.
[Fig. 10]
It is a flowchart which shows the detailed procedure of the keyboard LED processing 2 subroutine of FIG.
[Fig. 11]
It is a flowchart which shows the detailed procedure of the key processing subroutine of FIG.
[Fig. 12]
It is a flowchart which shows the procedure of a timer interrupt process.
[Fig. 13]
It is a figure which shows the format of the data stored in buffers 1 and 2.
[Fig. 14]
It is a figure for demonstrating the thinning process of FIG.
[Fig. 15]
It is a figure which shows the timing which the keyboard LED turns on / off according to the guide level.
[Explanation of symbols]
2 Panel switch (performance level input means) 5 CPU (data extraction means, performance guide means, performance level input means, change means, extracted data selection means)
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JP2008268760A | Cited by | Japan | Examiner |
| JP2008268760A | Cited by | Japan | Search report |
| JP2005334268A | Cited by | Japan | Search report |
| JP2008003329A | Cited by | Japan | Search report |
| US7129407B2 | Cited by | United States of America | Applicant |
| JP2008003329A | Cited by | Japan | Search report |
| JP2001188536A | Cited by | Japan | Search report |
| JP2008145564A | Cited by | Japan | Examiner |
| WO2017217002A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| JP2002202776A | Cited by | Japan | Search report |
| JP2001187270A | Cited by | Japan | Search report |
| US7102071B2 | Cited by | United States of America | Applicant |
| JPWO2017217002A1 | Cited by | Japan | Search report |
2 members in 2 offices
Priority claims7
| Document | Office | Kind | Date |
|---|---|---|---|
| 14484696 | Japan | A | |
| 14484696 | Japan | A | |
| 8144846 | Japan | – | |
| 13800097 | Japan | A | |
| 144846 | – | – | – |
| JP19960144846 | – | – | – |
| JP19970138000 | – | – | – |
Members2
| Document | Office | Kind | |
|---|---|---|---|
| JPH1069273AThis record | Japan | A | |
| US5902948A | United States of America | A |
3 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Decision of refusalJAPANESE INTERMEDIATE CODE: A02A02 | A02 | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 |
Numbers
- Publication
- 10-69273
- Publication, DOCDB
- H1069273
- Publication, EPODOC
- JPH1069273
- Application
- 9138000
- Application, DOCDB
- 13800097
- Application, EPODOC
- JP19970138000
Titles2
- Japanese
- 【発明の名称】演奏指示装置
- English
- [Title of Invention] Performance Instructor
Classification
- IPC, 3
- G09B15 00
- G10G1 02
- G10H1 00