Playing training device and medium recording program
Abstract
[Task] Regarding the performance practice device used for performance practice of electronic keyboard instruments, etc., it is an issue to provide a performance practice device having abundant functions while maintaining the versatility of the performance data without increasing the amount of performance data. To do.
Solution.A detection means for detecting the first data composed of a plurality of bits from the performance data in a predetermined format, and a rewriting means for rewriting the lower 1 or 2 or more bits of the first data into performance practice information having the same number of bits. It has a first processing means for interpreting and processing the first data as performance information, and a second processing means for interpreting and processing the lower 1 or 2 or more bits of the first data as performance practice information.
Term
Term ended
Projected expiry passed 16 June 2017, 9.3 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
8 claims: 6 independent, 2 dependent
- 1【特許請求の範囲】 【請求項1】 演奏データ中から複数のビットで構成される第1のデータを検出する検出手段と、 前記第1のデータを演奏情報として解釈し処理する第1の処理手段と、 前記第1のデータの下位1または2以上のビットを演奏練習情報として解釈し処理する第2の処理手段とを有する演奏練習装置。
- 2【請求項2】 前記第1のデータはノートオフベロシティである請求項1記載の演奏練習装置。
- 3【請求項3】 演奏データを順次読み出す読み出し手段と、 前記読み出し手段が演奏データ中からノートオンイベントを読み出すのに応じて、該ノートオンイベントに対応するノートオフイベント中のノートオフベロシティをサーチするサーチ手段と、 前記サーチ手段がサーチしたノートオフベロシティを演奏練習情報として処理する演奏練習処理手段とを有する演奏練習装置。
- 4【請求項4】 ノートオンイベントとノートオフイベントを含む演奏データを変換し新たな演奏データを生成する手段であって、演奏データにおいてノートオフイベント中のノートオフベロシティに対応する演奏練習情報を、該ノートオフイベントに対応するノートオンイベントに関連付けて記憶する形式の演奏データを生成する演奏データ変換手段と、 前記演奏データ変換手段が生成する演奏データを順次読み出す読み出し手段と、 前記読み出し手段が演奏データ中からノートオンイベントを読み出すと、該ノートオンイベントに関連付けられた演奏練習情報を基に演奏練習の処理を行う演奏練習処理手段とを有する演奏練習装置。
- 5【請求項5】 (a)演奏データ中から複数のビットで構成される第1のデータを検出する手順と、 (b)前記第1のデータを演奏情報として解釈し処理する手順と、 (c)前記第1のデータの下位1または2以上のビットを演奏練習情報として解釈し処理する手順とをコンピュータに実行させるためのプログラムを記録した媒体。
- 6【請求項6】 前記第1のデータはノートオフベロシティである請求項5記載のプログラムを記録した媒体。
- 7【請求項7】 (a)演奏データを順次読み出す手順と、 (b)前記手順(a)で演奏データ中からノートオンイベントを読み出すのに応じて、該ノートオンイベントに対応するノートオフイベント中のノートオフベロシティをサーチする手順と、 (c)前記サーチしたノートオフベロシティを演奏練習情報として処理する手順とをコンピュータに実行させるためのプログラムを記録した媒体。
- 8【請求項8】 (a)ノートオンイベントとノートオフイベントを含む演奏データを変換し新たな演奏データを生成する手順であって、演奏データにおいてノートオフイベント中のノートオフベロシティに対応する演奏練習情報を、該ノートオフイベントに対応するノートオンイベントに関連付けて記憶する形式の演奏データを生成する手順と、 (b)前記手順(a)で生成された演奏データを順次読み出す手順と、 (c)前記手順(b)で演奏データ中からノートオンイベントを読み出すと、該ノートオンイベントに関連付けられた演奏練習情報を基に演奏練習の処理を行う手順とをコンピュータに実行させるためのプログラムを記録した媒体。
Independent claims8
460 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 practice device used for performance practice such as an electronic keyboard instrument and a medium on which a program is recorded.
【0002】
[Conventional technology]
As one of the performance practice devices, there is one that compares the key press operation by the performer with the performance data of the same song stored in advance, and controls the progress of the song according to the comparison result. When the player's key press operation matches the performance data, the progress of the song is continued, and when it does not match, the progress of the song is interrupted until they match.
【0003】
The performance data to be compared with each other is stored in a track called a guide track. The user can select whether or not to perform the above-mentioned match progress control.
【0004】
When performing match progress control, match progress control is performed for all notes (notes) in the performance data stored in the guide track. When the match progress control is not performed, the match progress control is not performed for all the notes. In this case, the song is not interrupted.
【0005】
When a beginner practices playing a difficult song including ornamental sounds and chords, the number of erroneous key press operations increases or the playing speed becomes slow. As a result, the song doesn't move forward. Beginners can practice playing smoothly for simple phrases, but the performance is delayed for difficult phrases. When there is a difficult phrase in the song to be practiced and the song does not progress at all, the performer dislikes the practice and often gives up the practice in the middle.
【0006】
Also, in order to solve the above problem, it is conceivable to arrange the song and make it simple. This method is convenient for beginners, but has the disadvantage that it is too easy for intermediate or advanced users to practice.
【0007】
Therefore, Japanese Patent Application Laid-Open No. 2-189572 describes a method for determining whether or not to perform match progression control for individual notes, rather than necessarily performing match progression control for all notes in a song.
【0008】
The publication discloses a technique for providing a cue flag for determining whether or not to perform match progression control for individual notes. However, since the cue flag is added to each note in the performance data, the amount of data increases. In particular, the amount of data increases significantly for songs with a large number of notes, that is, long songs.
【0009】
Further, since the cue flag is added to each note in the performance data, the performance data forms a special format, and the versatility of the data is lost. As the performance data, usually, the performance data for automatic performance is used. Any general-purpose performance data can be reproduced using a general automatic performance device. However, if the cue flag is added and the performance data becomes less versatile, it cannot be played back by a general automatic performance device.
【0010】
[Problems to be Solved by the Invention]
If a cue flag is added to each note in order to enhance the function as a performance practice device, the amount of performance data will increase. In addition, if the cue flag is added, the format of the performance data becomes dedicated, and the versatility of the performance data is lost.
【0011】
An object of the present invention is to provide a performance practice device or a medium on which a program is recorded, which has abundant functions while maintaining the versatility of the performance data without increasing the amount of the performance data.
【0012】
[Means for solving problems]
The performance practice device of the present invention includes a detection means for detecting a first data composed of a plurality of bits from the performance data, a first processing means for interpreting and processing the first data as performance information, and a first processing means. It has a second processing means for interpreting and processing the lower 1 or 2 or more bits of the first data as performance practice information.
【0013】
The first data in the performance data is composed of a plurality of bits. All bits of the first data can be interpreted as performance information. However, even if the lower bits of the first data are formally a part of the performance information data, they lose their significance as performance information in terms of content. The lower bits of the first data can be used as performance practice information. The lower bits of the first data have two roles of performance information and performance practice information. Since the first data combines the two pieces of information, the amount of performance data is smaller than when the two pieces of information are stored in different data areas. In addition, the first data maintains versatility as performance information.
【0014】
Further, the performance practice device of the present invention has a reading means for sequentially reading performance data, and a note in a note-off event corresponding to the note-on event in response to the reading means reading a note-on event from the performance data. It has a search means for searching off-velocity and a performance practice processing means for processing the note off-velocity searched by the search means as performance practice information.
【0015】
Note-off velocity loses its significance as velocity data in terms of content, and has significance as performance practice information. However, since note-off velocity maintains the format as velocity data, it maintains versatility as performance data. Since the performance data has performance practice information, a performance practice function can be added. When reading a note-on event, the corresponding note-off velocity can be searched and the note-off velocity can be obtained as performance practice information.
【0016】
Further, the performance practice device of the present invention is a means for converting performance data including a note-on event and a note-off event to generate new performance data, and corresponds to the note-off velocity during the note-off event in the performance data. A performance data conversion means for generating performance data in a format in which performance practice information is stored in association with a note-on event corresponding to the note-off event, and a reading means for sequentially reading out the performance data generated by the performance data conversion means. When the reading means reads a note-on event from the performance data, it has a performance practice processing means that performs a performance practice process based on the performance practice information associated with the note-on event.
【0017】
Note-off velocity is formally velocity data, but has significance as performance practice information in terms of content. Since the note-on event and the corresponding note-off velocity are located at distant positions in the performance data, the performance data is first converted as preprocessing, and the note-off velocity having significance as the performance data is converted to the corresponding note-on event. Associate and remember. After that, when the performance data is sequentially read and the note-on event is read, the associated performance practice information can be easily acquired and the processing for the performance practice can be performed.
【0018】
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 2 shows an example of a performance data format used in the performance practice device according to the embodiment of the present invention. This format is called a standard MIDI file, and is a general-purpose format for performance data.
【0019】
The performance data 10 includes note event 1, timing data 2, note event 3, timing data 4, and end data 5. The performance data 10 can also include a control change, a program change, and the like.
【0020】
Note event 1 is a note-on event. The timing data 2 indicates the time interval between the note event 1 and the next note event 3. Note event 3 is a note-off event. The timing data 4 indicates the time interval between the note event 3 and the next note event (not shown). The end data 5 indicates the end of the performance data 10.
【0021】
Note Events 1 and 3 are both MIDI format data and are 3 bytes of data. In the note-on event 1, the first byte is note-on 1a, the second byte is note number 1b, and the third byte is velocity 1c. In the note-off event 3, the first byte is the note-off 3a, the second byte is the note number 3b, and the third byte is the velocity 3c.
【0022】
In this embodiment, the performance practice flag is embedded in the note-on velocity 1c or the note-off velocity 3c. The performance practice flag is a flag for adding a performance practice function to the performance practice device.
【0023】
Figure 1 (A) shows the configuration of note-on-velocity 1c according to the MIDI standard. In this embodiment, first, as shown in the figure, note-on-velocity 1c of the MIDI standard is prepared. Note-off velocity 3c has the same configuration.
【0024】
Note-on-velocity 1c consists of 1 byte (8 bits), the most significant bit of which is always 0. This is a data format defined by the MIDI standard. The lower 7-bit data 6 is the actual velocity data. Velocity data 6 is 7 bits and is represented by a numerical value in the range 0 to 127. Velocity data 6 is usually used to represent volume. The note-on-velocity 1c may be read from commercially available software or created using an electronic musical instrument.
【0025】
FIG. 1 (B) is a diagram in which the performance practice flag 7 is embedded in the note-on velocity 1c of FIG. 1 (A) . After preparing the note-on-velocity 1c shown in FIG. 1 (A), the performance data provider rewrites the lower two bits of the note-on-velocity 1c to the performance practice flag 7. The performance practice flag 7 may be set or changed by the performer.
【0026】
Note-on-velocity 1c can be used in two ways. One is that the lower 7 bits or all bits are used as velocity data 6 according to the normal MIDI standard. The other is that the lower 2 bits are used as the performance practice flag 7. That is, the lower 2 bits of the note-on velocity 1c are used as a part of the velocity data 6 and also as a performance practice flag 7. The performance practice flag 7 is not limited to the lower 2 bits, but may be the lower 1 or 3 bits.
【0027】
Since some bits of the velocity data 6 are rewritten to the performance practice flag 7, the value of the velocity data 6 includes a slight error. Velocity data 6 (Fig. 1 (A)) before setting the performance practice flag 7 has a precision of 7 bits, but velocity data 6 (Fig. 1 (B)) after setting the performance practice flag 7 has the top 5 It will have bit precision.
【0028】
However, since the performance practice flag 7 is set in the lower bits of the velocity 1c, the accuracy of the velocity data 6 is slightly deteriorated, but the velocity data 6 is not changed to a completely different value. If the lower 1 or 2 bits of the velocity data 6 are used as the performance practice flag 7, the range is audibly acceptable.
【0029】
If the performance practice flag 7 is set in the lower bits of the velocity 1c, the same effect as adding the performance practice flag 7 can be obtained without increasing the amount of data. Further, the velocity data 6 can be used as a velocity value even in a versatile automatic performance device, so that versatility is maintained.
【0030】
A performance practice flag may be embedded in the lower bits of note-off velocity 3c. In general, many instrument devices do not use (ignore) note-off velocity, and note-off velocity is less important than note-on velocity, so more low-order bits, or in extreme cases, all bits of velocity data. , May be rewritten as a performance practice flag.
【0031】
Next, a specific example of the performance practice flag 7 will be described. (1) Queue flag The lower 1 bit of note-on-velocity is used for the queue flag. The cue flag is a flag for controlling the progress of a song by comparing, for example, a key press operation by a performer with performance data.
【0032】
When the cue flag is 1, it indicates that the note corresponding to the note-on is the note that makes a judgment for the progress of key press matching. On the contrary, when the cue flag is 0, it indicates that the note corresponding to the note-on is a note that does not make a judgment for the progress of key press matching.
【0033】
The cue flag controls the progress of the song according to the match of the note-on, and can be applied not only to the keyboard but also to any musical instrument capable of generating the note-on.
【0034】
(2) Fingering information Note The lower 2 bits (numerical value 0 to 3) or 3 bits (numerical value 0 to 7) of velocity are used for fingering information. The fingering information (in the case of 3 bits) indicates, for example, the finger to be pressed by the performer, 0 is the thumb, 1 is the index finger, 2 is the middle finger, 3 is the ring finger, and 4 is the little finger. By displaying the fingering information on the display, the performer can practice proper fingering. In the case of 3 bits, since 3 types of information can be further identified, information such as glissando (palm, finger) may be included.
【0035】
If the lower 3 bits are used for fingering information, the accuracy of note-on-velocity deteriorates. Therefore, the lower 2 bits (numerical values 0 to 3) may be used for fingering information. In that case, the fingering information is 0 for the thumb, 1 for the index finger, 2 for the middle finger, and 3 for the ring finger or little finger. The distinction between the ring finger and the little finger disappears, but this distinction is less important, and the advantage of not significantly reducing the accuracy of note-on-velocity is greater.
【0036】
(3) Right-hand / left-hand information The lower 1 bit of note-on-velocity is used for right-hand / left-hand information. The right-hand / left-hand information is, for example, information on the hand that the performer should press and operate, where 0 is the right hand and 1 is the left hand. By displaying the distinction between the right hand and the left hand according to the progress of the song, the performer can practice using the right hand and the left hand properly.
【0037】
In normal performance data, since the right-hand part and the lower left part are recorded on different tracks, only the left-hand part or only the right-hand part can be reproduced. However, you will need two tracks, one for the right hand and one for the left hand.
【0038】
By setting right-hand / left-hand information, you can record both the right-hand part and the left-hand part on one track. If you want to play only the right-hand part, you only need to play the notes for which the right-hand information is set. By setting right-hand / left-hand information, the number of tracks used can be reduced. For example, in a playback or recording device having a small number of tracks (for example, 4 or 8 tracks), the effect of reducing the number of tracks used is great.
【0039】
(4) Note name information (# or ) The lower 1 bit of note-on-velocity is used for note name information. There are two note name expressions for one black key. For example, C # and D represent the same black key. The note name information distinguishes whether the black key is represented by # or . For example, 0 is # and 1 is . The performer can learn whether it is musically correct to express the note name with or .
【0040】
(5) Performance assistance information The lower 2 or 3 bits of note-on-velocity are used for performance assistance information. The performance assistance information is, for example, staccato, legato, crescendo, decrescendo, pp, p, mp, mf, f, ff.
【0041】
The above are examples of five performance practice flags. The performance practice flag is not limited to the case of setting the note-on velocity 1c, and may be set to the note-off velocity 3c (Fig. 2). Note-on velocity is usually used as volume, but note-off velocity is usually not used. Therefore, when setting the performance practice flag to the note-off velocity, all the bits may be used for the performance practice flag.
【0042】
However, when setting the performance practice flag to note-off velocity, the following measures are required. If the performance practice flag is set to the note-on velocity, the performance practice flag can be easily processed in response to the note-on for instructing the start of pronunciation. On the other hand, when the performance practice flag is set not to the note-on velocity 1c (Fig. 2) but to the note-off velocity 3c (Fig. 2) that appears after that, the note-on for instructing the start of pronunciation is set. It is difficult to correspond to. This is because various data may be inserted between the note-on event 1 and the note-off event 3 (Fig. 2). In order to eliminate such inconvenience, some ingenuity is required. This point will be described later with reference to the flowchart.
【0043】
Further, the performance practice flag is not limited to note-on velocity or note-off velocity, and may be set in other control information such as volume and effect.
【0044】
FIG. 3 is a block diagram showing the configuration of the performance practice device according to the present embodiment. The key press detection circuit 18 detects a key operation on the keyboard 17 and its operation speed, and generates a note-on or note-off signal or the like. These note-on or note-off signals include velocity information indicating the key press or release speed. The switch detection circuit 20 detects the switch operation on the switch 19 and generates a switch signal.
【0045】
In addition to the key press detection circuit 18 and switch detection circuit 20, the display circuit 21, sound source circuit 22, effect circuit 23, ROM11, RAM12, CPU13, timer 14, MIDI interface 15, and floppy disk drive 16 are connected to the bus 25. Has been done. In addition to these, a communication interface or the like for communicating with another computer or the like via a CD-ROM drive or various networks may be provided.
【0046】
The RAM 12 has a working area for the CPU 13 that stores flags, buffers, and the like. ROM11 stores various parameters or computer programs. The CPU 13 performs calculations or controls according to the computer program stored in the ROM 11. Instead of the computer program stored in the ROM 11, a program may be installed in the present device from a floppy disk, a CD-ROM, another computer, or the like, and calculation or control may be performed based on the program.
【0047】
The timer 14 is connected to the CPU 13. The CPU 13 performs timer interrupt processing at predetermined time intervals according to the time information supplied from the timer 14. The MIDI interface 15 can input and output MIDI data to the outside.
【0048】
The performance data shown in FIG. 2 is stored in the floppy disk drive 16 or ROM 11. When the performance data is stored in the floppy disk drive device 16, the performance data is reproduced after the performance data is loaded from the floppy disk drive device 16 into the RAM 12.
【0049】
The CPU 13 reads the performance data stored in the RAM 12 or the ROM 11 and supplies the musical tone parameters and the effect parameters to the sound source circuit 22 and the effect circuit 23, respectively. Further, the CPU 13 generates a musical tone parameter and an effect parameter according to a note-on signal or the like generated by the key press detection circuit 18 or a switch signal generated by the switch detection circuit 20, and the sound source circuit 22 and the effect circuit 23, respectively. Supply to.
【0050】
The sound source circuit 22 generates a musical tone signal according to the supplied musical tone parameters. The effect circuit 23 imparts effects such as delay and reverb to the musical tone signal generated by the sound source circuit 22 according to the supplied effect parameters, and supplies the effect to the sound system 24. The sound system 24 includes a D / A converter and a speaker, and converts a supplied digital musical tone signal into an analog format and pronounces it.
【0051】
The sound source circuit 22 may be of any type such as a waveform memory method, an FM method, a physical model method, a harmonic synthesis method, a formant synthesis method, and a VCO + VCF + VCA analog synthesizer method.
【0052】
Further, the sound source circuit 22 is not limited to the one configured by using the dedicated hardware, and may be configured by using the DSP + microprocessor or the CPU + software program.
【0053】
Further, a plurality of sound source circuits may be formed by using one sound source circuit in a time-divided manner, or a plurality of sound source circuits may be configured by one sound source circuit for each sound source circuit. ..
【0054】
Next, the performance practice flag will be described. For example, in the performance data, the performance practice flag is set in the lower bit of the note on velocity. When the cue flag is used as the performance practice flag, the CPU 13 compares the performance data stored in the RAM 12 or ROM 11 with the key press operation on the keyboard 17, and if they match, the song progresses, and if they do not match, the song progresses. Interrupts the progress of the song.
【0055】
When fingering information, right-hand / left-hand information, sound name information, performance assistance information, etc. are used as performance practice flags, the information is displayed on the display circuit 21 to assist the performer in performance practice.
【0056】
The performance practice flag can be set in advance in the performance data. In addition, the performer can set or change the performance practice flag. In that case, the edit screen displayed on the display circuit 21 can be used to set or change individual notes. As the edit screen, an edit screen for a sequencer can be used.
【0057】
In addition to setting the performance practice flag manually by a human being, the performance practice flag may be set by analyzing the performance data by a predetermined algorithm, or the performance may be performed with a sensor attached to each finger of the performer. The performance practice flag may be set so that it is possible to detect which finger and which hand was played.
【0058】
Next, the processing when the cue flag, fingering information, right-hand / left-hand information, and note name information are set as part of the note-on-velocity will be described.
【0059】
FIG. 4 is a flowchart of the main routine when a part of note-on-velocity is used as a queue (match progress) flag.
【0060】
In step SA1, the flags or registers are initialized. In step SA2, the match progress process is performed. The match progress process is a process of interrupting the progress of a song when the performer does not press the key corresponding to the next sound of the performance data even after a lapse of a predetermined time. Detailed processing will be described later with reference to FIG.
【0061】
In step SA3, the performance data reading process is performed. The performance data reading process is a process of reading the performance data stored in RAM or ROM and lighting the LED of the key corresponding to the sound of the read performance data. Detailed processing will be described later with reference to FIGS. 5 and 7.
【0062】
In step SA4, the key press process is performed. In the key pressing process, a key pressing operation or the like on the keyboard is detected, and processing is performed according to the operation. When note-on is detected, sounding processing is performed, and when note-off is detected, muffling processing is performed. When the note-on is detected when the progress of the song is interrupted because the performer does not perform the correct key press operation, and the note-on matches the sound of the performance data, the progress of the song is restarted. Detailed processing will be described later with reference to FIG.
【0063】
In step SA5, other processing is performed. Other processes include, for example, processing for instructing the start of performance practice, changing the tempo and volume, and setting various modes. After that, the process returns to step SA2 and the above process is repeated.
【0064】
If the key press operation by the performer matches the performance data, the song progresses, and if they do not match, the song stops.
【0065】
FIG. 5 is a flowchart showing the details of the performance data reading process in step SA3 of FIG. 4. In step SB1, it is checked whether or not the playback timer is 0 or less. When the playback timer is 0 or less, it means that the timing of the next event has been reached. The reproduction timer is set by the timing information, and counting is performed by the reproduction timer interrupt processing shown below.
【0066】
FIG. 6A is a flowchart showing the playback timer interrupt process. This interrupt processing is performed at predetermined time intervals of, for example, 10 ms. In step SC1, the value of the playback timer is decremented. After that, it returns to the processing before the interrupt. The playback timer is initially set to 0 when the start of performance practice is instructed, and then decremented every 10 ms, for example.
【0067】
Returning to FIG. 5, when it is determined in step SB1 that the playback timer is 0 or less, the process proceeds to step SB2. In step SB2, the event is read from the performance data stored in RAM or ROM. One event is, for example, note event 1 or timing data 2 shown in FIG.
【0068】
In step SB3, it is checked whether the read event is a note event. The note event is an event such as note-on or note-off, and is, for example, note event 1 or 3 shown in FIG. If it is a note event, the process proceeds to step SB4 to process the note event. The note event processing includes processing of a cue flag set as a part of note on velocity and the like. Detailed processing will be described later with reference to FIG. 7. After that, the process returns to the processing of the main routine shown in FIG.
【0069】
When it is determined in step SB3 that the read event is not a note event, the process proceeds to step SB5. In step SB5, it is checked whether or not the read event is timing data. The timing data indicates a time interval between a note event and the next note event, and is, for example, timing data 2 or 4 shown in FIG. If the read event is timing data, the process proceeds to step SB6.
【0070】
In step SB6, the value of the timing data × tempo coefficient is added to the reproduction timer. The playback timer is decremented in units of 10 ms by the interrupt process shown in Fig. 6 (A). The tempo coefficient is a coefficient for converting the unit of timing data into the unit of the playback timer (10 ms). In this way, the time until the next note event is set in the playback timer. After that, the process returns to the processing of the main routine shown in FIG.
【0071】
When the above value is added to the playback timer, the value of the playback timer is subsequently decremented at 10 ms intervals. In step SB1, while the playback timer is greater than 0, the process returns to the main routine processing of FIG. 4 without reading the performance data event. When the value of the playback timer becomes 0 or less, it means that the read timing of the next event has come, so the process proceeds to step SB2, the next event is read, and the same process as above is repeated.
【0072】
It should be noted that in step SB6, a predetermined value is added instead of setting a predetermined value in the playback timer. Since the performance data reading process shown in FIG. 5 is not a timer interrupt process, it is usually not performed at regular time intervals. That is, if the playback timer proceeds to step SB2 every time the playback timer is 0 in step SB1, the playback timer may be updated to a predetermined value in step SB6, but the value of the playback timer is negative in step SB1. Since sometimes the process proceeds to step SB2, it is necessary to add a predetermined value to the playback timer in step SB6.
【0073】
When it is determined in step SB3 that the read event is not a note event and it is determined in step SB5 that it is not timing data, it is another event and the process proceeds to step SB7. Other events are, for example, program changes or control changes.
【0074】
In step SB7, processing of other events is performed. For example, if the other event is a program change, the timbre change process is performed. After that, the process returns to the processing of the main routine shown in FIG.
【0075】
FIG. 7 is a flowchart showing the details of the note event processing in step SB4 of FIG.
【0076】
In step SD1, it is checked whether the read note event is a note-on event. If it is a note-on event, the process proceeds to step SD11 and sound processing is performed. In the sound generation process, musical sound parameters corresponding to the note number (pitch) and note-on velocity (volume) included in the note-on event are supplied to the sound source circuit and sounded in the sound system.
【0077】
Note-on velocity is interpreted and processed as velocity data (volume). However, note-on-velocity has a queue (match progress) flag set in the lower bits, so the accuracy of velocity data is slightly reduced. In addition, since this pronunciation processing is distinguished from the sound produced by the key press processing of the performer, it can be produced at a low volume or with a different timbre. After that, proceed to step SD2 and turn on the guide lamp.
【0078】
Figure 15 (A) shows an example of a guide lamp. The keyboard has a plurality of keys 44. A guide lamp 42 is provided for each of the plurality of keys 44. The guide lamp 42 is, for example, an LED. When the note-on event is read, the corresponding note number guide lamp 43 lights up. By turning on the guide lamp 43, it is possible to inform the performer of the key to be pressed next. This helps the performer perform manually.
【0079】
Step SD3 is the process when the queue (match progress) flag is set to the low-order bit of note-off velocity. This process will be described later. If the cue flag is set to the low-order bit of note-on velocity, the process of step SD3 is skipped and the process proceeds to step SD4.
【0080】
Step SD4 checks if the note-on-velocity is odd or even. An odd note-on-velocity indicates that the lower 1 bit of note-on-velocity is 1. That is, it indicates that the queue flag is 1. In that case, it means that the note is a note for making a judgment for the progress of matching, so the process proceeds to step SD5.
【0081】
In step SD5, an event is stored in the playback match progress buffer shown in FIG. 8A, and the timer value of the event is set to 0. For example, the note number 1b (for example, C4 or G4) in the note-on event 1 (Fig. 2) of the read performance data is stored in the playback match progress buffer, and the timer value is set to 0. This timer value has nothing to do with the previous playback timer (FIG. 6 (A)) and represents the time since the event was stored in the playback match progress buffer. After that, the process returns to the flowchart of FIG. 5 (FIG. 4).
【0082】
When it is determined in step SD4 that the note-on-velocity is even, it indicates that the lower 1 bit of the note-on velocity is 0. That is, it indicates that the queue flag is 0. In that case, it means that the note is a note that is not subject to matching progress, so the process proceeds to step SD6.
【0083】
In step SD6, it checks whether the match progress mode is 1 or 2. When the match progress mode is 1, it is a mode for advanced players, and match progress control is performed for all notes. When the match progress mode is 2, it is a mode for beginners, and match progress control is performed only for a predetermined note according to the cue flag. This match progress control mode is set in the other processing in step SA5 of FIG.
【0084】
When the match progress mode is 1, the match progress control is performed for all notes regardless of the value of the queue flag. Therefore, the process proceeds to step SD5, and the event is stored in the playback match progress buffer in the same manner as above, and the timer value. Is set to 0.
【0085】
That is, when the match progress mode is 1, the event is always stored in the playback match progress buffer regardless of whether the queue flag is 0 or 1. After that, the process returns to the processing of the flowchart of FIG. 5 (FIG. 4).
【0086】
When the match progress mode is 2, it is decided whether or not to make a judgment for match progress according to the queue flag. Therefore, if the note-on velocity is even, that is, the queue flag is 0, the event is played. Return to the processing of the flowchart of FIG. 5 (Fig. 4) from step SD6 without storing in the buffer.
【0087】
When it is determined in step SD1 that the read event is not a note-on event, it means that it is a note-off event. Therefore, the process proceeds to step SD12 to mute the sound corresponding to the note-off event. Then proceed to step SD7.
【0088】
In step SD7, the guide lamp lit in step SD2 is turned off when the note-on event corresponding to the note-off event is read. After that, the process returns to the processing of the flowchart of FIG. 5 (FIG. 4).
【0089】
If the cue flag is set to the low-order bit of note-off velocity instead of the low-order bit of note-on velocity, the process of step SD3 is performed. Step SD3 is performed after the guide lamp is turned on in step SD2.
【0090】
In step SD3, the note-off event corresponding to the note-on event read above is searched, and the note-off velocity during the note-off event is obtained. In step SD4, it is checked whether the note-off velocity is odd or even, and the same processing as above is performed thereafter.
【0091】
FIG. 9 is a flowchart showing the details of the matching progress process in step SA2 of FIG.
【0092】
In step SE1, it checks if the match progress timer is greater than 0. The match progress timer is counted by the following match progress timer interrupt processing.
【0093】
FIG. 6B is a flowchart showing the match progress timer interrupt processing. This interrupt processing is performed at predetermined time intervals of, for example, 10 ms. In step SC2, the value of the match progress timer is incremented. After that, it returns to the processing before the interrupt. The match progress timer is initially set to 0 when the start of performance practice is instructed, and is then incremented every 10 ms, for example.
【0094】
Returning to FIG. 9, when it is determined in step SE1 that the match progress timer is greater than 0, the process proceeds to step SE2 in order to perform match progress control. When the match progress timer is 0, the process returns to the main routine process of FIG. 4 without performing the match progress process. In this way, the match progress timer is used to reduce the load for the match progress control, and the match progress control is performed at substantially fixed time intervals.
【0095】
In step SE2, the match progress timer is reset to 0. The match progress timer becomes 0 until the next increment (Fig. 6 (B)). The processing of step SE2 will pass on average at unit time (for example, 10ms) intervals of the matching progress timer, as will be described in more detail later.
【0096】
In step SE3, apart from the match progress timer described in steps SE1 and SE2, all events in both the replay match progress buffer (Fig. 8 (A)) and the hand-played match progress buffer (Fig. 8 (B)) Increment the timer value.
【0097】
As described above, the playback match progress buffer for storing the event of the performance data stores the event in step SD5 of FIG. As will be described later, the hand-played match progress buffer is a buffer that stores events caused by key press operations on the keyboard.
【0098】
The timer values of both buffers are incremented at 10ms intervals on average.
【0099】
In step SE4, the pose is determined and it is checked whether or not the pose condition is satisfied. In the event in the playback match progress buffer (Fig. 8 (A)), if the timer value is greater than or equal to the predetermined value, it is determined that the pause condition is satisfied.
【0100】
Since the timer value of the buffer is incremented about every 10ms in step SE3, the timer value 1 corresponds to 10ms. If the predetermined value is, for example, 50, the pause condition is satisfied when the event after 500 ms remains in the buffer. If the performer does not press the appropriate key corresponding to the performance data even after 500 ms, the pause condition is satisfied and the process proceeds to step SE5.
【0101】
In step SE5, the pose is set. Specifically, the pause flag is set to 1, and the decrementation of the playback timer by interrupt processing shown in FIG. 6 (A) is stopped. After that, the process returns to the processing of the main routine shown in FIG. If the decrement of the playback timer is stopped, the playback timer does not become 0 or less in step SB1 of FIG. 5, so that the reading of the next event of the performance data in step SB2 is stopped, and the progress of the song is stopped.
【0102】
That is, if the performer does not press the key corresponding to the performance data even after 500 ms has passed since the performance data was read, the progress of the song is interrupted by the pause setting, and the performer's proper key press is performed. Wait for the operation.
【0103】
If it is determined in step SE4 that the pause condition is not satisfied, the process returns to the flowchart of FIG. 4 without setting the pause.
【0104】
Next, the reason for proceeding to YES (step SE2) every 10 ms on average in step SE1 will be described. The match progress timer (FIG. 6 (B)) is incremented every 10 ms, for example.
【0105】
Since the match progress process in FIG. 9 is not a timer interrupt process, it is not performed at regular time intervals, but consider a case where the determination of step SE1 is performed at 1 ms intervals on average. In that case, after the match progress timer is incremented to 1, the step SE1 is passed an average of 10 times until the next increment. In the first step SE1, since the match progress timer is 1, the process proceeds to YES (steps SE3 to SE5). In the remaining 9 steps SE1, the match progress timer is reset to 0, so the match progress process is passed through. In this way, the processing of steps SE2 to SE5 is performed about once every 10ms.
【0106】
FIG. 10 is a flowchart showing the details of the key pressing process in step SA4 of FIG.
【0107】
In step SF1, it is checked whether or not there is a key event caused by a key operation on the keyboard. When there is a key event, the process proceeds to step SF2 to process the key event. When there is no key event, the process returns to the main routine shown in Fig. 4 without processing the key event.
【0108】
In step SF2, it is checked whether the above key event is a key-on event. If it is a key-on event, proceed to step SF11.
【0109】
In step SF11, the sounding process of the key-on event is performed. The sounding process is a process of supplying the key-on event and the corresponding parameters to the sound source circuit 22 and the effect circuit 23 (FIG. 3). In the sound system 24, it is sounded in response to the key-on event. Then proceed to step SF3.
【0110】
In step SF3, the above event is stored in the hand-playing match progress buffer shown in FIG. 8 (B), and the timer value of the event is set to 0. For example, A3 is stored as a note number in the hand-played match progress buffer, and the timer value is set to 0. This timer value represents the time since the event was stored in the buffer, and is then incremented in step SE3 of FIG.
【0111】
In step SF4, the events of the playback match progress buffer (Fig. 8 (A)) and the hand-played match progress buffer (Fig. 8 (B)) are compared. The playback match progress buffer stores the events of the performance data, and the hand-played match progress buffer stores the events by the player's keyboard operation.
【0112】
In step SF5, it is checked whether there are matching events in both buffers, that is, whether there are events with the same note number. If there is no matching event, the process returns to the processing of the main routine shown in Fig. 4. If there is a matching event, it means that the performer has pressed the correct key, so proceed to step SF6 and delete the matching event from both buffers.
【0113】
In step SF7, it is checked whether or not it is currently paused. When not in the pause, return to the processing of the main routine shown in Fig. 4. The pose setting is performed in step SE5 of FIG. When the pause flag is set to 1, it is determined that the pose is in progress. If the correct key-on is made during the pause, proceed to step SF8 to cancel the pause.
【0114】
In step SF8, the pause is released. Specifically, the pause flag is reset to 0. Then, the decrement of the playback timer stopped in step SE5 of FIG. 9 is restarted. When the decrement of the playback timer is restarted, the reading of the performance data is restarted (step SB2 in FIG. 5), and the song progresses. After that, the process returns to the processing of the main routine shown in FIG.
【0115】
When a key-off event is detected in step SF2, the process proceeds to step SF12. In step SF12, the sound mute processing corresponding to the key-off event is performed. Then proceed to step SF9.
【0116】
In step SF9, the key-on event corresponding to the key-off event is deleted from the hand-played match progress buffer (Fig. 8 (B)). When the performer presses the key correctly, the event is deleted from the hand-playing progress buffer and the playback match progress buffer in step SF6. If the performer presses the wrong key, the event is deleted from the hand-playing progress buffer in step SF9. After that, the process returns to the processing of the main routine shown in FIG.
【0117】
The case where the match progress is controlled by using the note number match progress buffer according to the cue flag has been described. At that time, the progress is controlled and the progress speed is controlled depending on whether or not the note numbers match. May be good.
【0118】
The above has described the case where the performance practice flag (for example, the cue flag) is set as a part of the note-on velocity or the note-off velocity. When the performance practice flag is set as a part of the note-off velocity, when the note-on event is detected, the velocity of the corresponding note-off event is searched and the performance flag during the note-off velocity is determined. ..
【0119】
The following is another example of setting the performance practice flag to note-off velocity. Before performing the performance practice process, as a pre-process, the performance practice flag included in the note-off velocity is read and stored after the note-on corresponding to the note-off.
【0120】
FIG. 11 shows the performance data 10 before processing and the performance data 30 after processing. The performance data 10 before processing is in the same standard MIDI file format as in FIG. 2, and has a note-on event 1, a corresponding timing data 2, a note-off event 3, and a corresponding timing data 4. Note-off event 3 is an event for note-off of note-on by note-on event 1.
【0121】
The performance practice flag is set as part of Note Off Velocity 3c. Normally, the value of note-off velocity 3c is not often used as performance data, so all the bits of note-off velocity 3c may be used as the performance practice flag.
【0122】
The processed performance data 30 is the performance data 10 with the performance practice flag 31 added. Before processing, the performance data 10 has a performance practice flag in the note-off velocity 3c. After processing, the performance data 30 has a performance practice flag 31 between the note-on event 1 and its timing data 2.
【0123】
By providing the performance practice flag 31 immediately after the note-on event 1, the performance practice flag 31 can be determined immediately when the note-on event 1 is read.
【0124】
FIG. 12 is a flowchart showing the process of data conversion from the performance data 10 to the performance data 30.
【0125】
In step SG1, the event is read from the performance data 10. For example, note-on event, note-off event or timing data.
【0126】
In step SG2, it is checked whether the read event is a note-on event. When it is a note-on event, the note-on event is transferred to the buffer for generating the performance data 30 in step SG3.
【0127】
In step SG4, a 1-byte blank byte is created after the note-on event in the buffer for the performance data 30 described above. After that, the process returns to step SG1 and the next event is read from the performance data 10.
【0128】
When it is determined that the event read in step SG2 is not a note-on event, the process proceeds to step SG5. In step SG5, it is checked whether the read event is a note-off event. If it is a note-off event, proceed to step SG6.
【0129】
In step SG6, the performance practice flag during the note-off velocity included in the note-off event is read from the performance data 10. In step SG7, the performance practice flag is written in the blank byte of the corresponding note-on. The blank byte has already been generated after the note-on event in step SG4.
【0130】
In step SG8, the note-off event is transferred to the buffer for performance data 30. After that, the process returns to step SG1 and the process is repeated for the next event.
【0131】
When it is determined that the event read in step SG5 is not a note-off event, it is timing data, end data, control change, etc., so the process proceeds to step SG9 and the event is transferred to the buffer for performance data 30.
【0132】
In step SG10, it is checked whether the event is end data. If it is not end data, the process returns to step SG1 and the process is repeated for the next event. When it is end data, it means the end of the performance data, so the process is terminated.
【0133】
The processing of the entire flowchart is performed in the other processing in step SA5 of the main routine of FIG. Specifically, it is performed after the performer presses the start switch of the performance practice, and then the above-mentioned performance practice process is performed. As described above, the performance practice process is the same as when the performance practice flag is set during note-on-velocity.
【0134】
When data conversion is performed by the above method, the performance practice flag is originally set to note-off velocity, but the converted data is treated as if the performance practice flag is set to note-on-velocity. be able to. Moreover, since the note-on-velocity itself is not flagged, the accuracy of the note-on-velocity does not decrease.
【0135】
The method of storing the note-off velocity in association with the note-on event is not limited to the above-mentioned method. For example, the following method is also possible.
【0136】
First, an array that stores the note number and note-off velocity in the order of appearance of the note-on event is prepared in advance. This array may have enough capacity to store the note number and note-off velocity of the entire song, or may have enough capacity to store only a predetermined number (for example, 16) of note number and note-off velocity. It may be prepared as a ring buffer format in which the used area is used for storing new data as the performance practice progresses.
【0137】
Then, as preprocessing, before the start of the performance practice, the performance data is read, and when the note-on event is found, the note number included in the note-on event is stored in the note number area in the arrangement, and the note-off event is found. Then, the value of the note-off velocity included in the note-off event is written in the note-off velocity area corresponding to the position in the array in which the same note number as the note number included in the note-off event is stored immediately before.
【0138】
By such processing, an array in which the note number and the note-off velocity are stored is completed in the order of appearance of the note-on event. Then, during performance practice, when the note-on event is read, this array may be referred to, and the corresponding note-off velocities may be read in order.
【0139】
If the number of arrays is limited to a predetermined number, as the performance practice progresses, a process of newly storing the note number and the note off velocity in the used area in the array may be performed in parallel as appropriate. Good. Also, the note number and note-off velocity are memorized in the order of appearance of the note-on event, but since the note-off events are arranged in the order of appearance of the note-on event, it is not necessary to memorize the note number. .. In this case, when creating an array for storing note-off events, the array creation process may be performed while appropriately managing the storage order so that the note-off velocities are stored in the order in which the note-on events appear.
【0140】
The case where the cue flag is used as an example of the performance practice flag has been described above. Next, as another example of the performance practice flag, a case where the fingering identification flag (fingering information) is used will be described.
【0141】
FIG. 13 is a flowchart showing the processing of the main routine when the fingering identification flag is used. This main routine partially overlaps with the main routine in FIG.
【0142】
In step SA1, the flags or registers are initialized. In step SA3, the performance data reading process is performed. In step SA5, other processing is performed. After that, the process returns to step SA3 and the process is repeated.
【0143】
Although the match progress process of step SA2 in FIG. 4 is omitted, the same process may be performed. Further, the key pressing process corresponding to step SA4 in FIG. 4 is performed in the other processing in step SA5 in FIG.
【0144】
The performance data reading process in step SA3 of FIG. 13 is specifically the process of the flowchart of FIG. 5 shown above. However, the note event processing in step SB4 in FIG. 5 is as shown in FIG. 14, unlike the case of the queue flag.
【0145】
FIG. 14 is a flowchart showing details of note event processing when the fingering identification flag is used. The case where the fingering identification flag is 2 bits will be described.
【0146】
In step SI1, it is checked whether the previously read event is a note-on event. If it is a note-on event, the process proceeds to step SI11 and sound processing is performed. In the sound generation process, musical sound parameters corresponding to the note number (pitch) and note-on velocity (volume) included in the note-on event are supplied to the sound source circuit and sounded in the sound system.
【0147】
Note-on velocity is interpreted and processed as velocity data (volume). However, since the fingering identification flag is set in the lower bits of note-on-velocity, the accuracy as velocity data is slightly reduced. After that, the process proceeds to step SI2, and the guide lamp of the key corresponding to the note number 1b (Fig. 2) during the note-on event is turned on.
【0148】
FIG. 15A shows an example of lighting the guide lamp. The keyboard has a plurality of keys 44. The guide lamp 42 is, for example, an LED, and one guide lamp 42 is provided for each of the plurality of keys 44. When the note-on event is read, the guide lamp 43 corresponding to the note number during the note-on event lights up. The guide lamp 42 informs the performer of the key to be pressed next. The liquid crystal display (LCD) 41 displays the finger number to be pressed by the performer by the process described later. One LCD 41 may be provided for all keys, or one LCD 41 may be provided for each key.
【0149】
Returning to the flowchart of FIG. 14, the processing differs depending on whether the fingering identification flag is set to the lower 2 bits of the note-on velocity or the lower 2 bits of the note-off velocity.
【0150】
If the note-on-velocity is set, the process of step SI3 is skipped and the process proceeds to step SI4. If the note-off velocity is set, the process of step SI3 is performed, and then the process proceeds to step SI4.
【0151】
In step SI3, the note-off event corresponding to the note-on event read above is searched, and the note-off velocity during the note-off event is obtained.
【0152】
In step SI4, the value of the fingering identification flag, which is the lower 2 bits of note-on-velocity or note-off velocity, is checked.
【0153】
When the value of the lower 2 bits is 0, the process proceeds to step SI5, "1" meaning the thumb is displayed on the LCD 41 (FIG. 15 (A)), and the process returns to the process of FIG.
【0154】
When the value of the lower 2 bits is 1, the process proceeds to step SI6, "2" meaning the index finger is displayed on the LCD 41 (FIG. 15 (A)), and the process returns to the process of FIG.
【0155】
When the value of the lower 2 bits is 2, the process proceeds to step SI7, "3" meaning the middle finger is displayed on the LCD 41 (FIG. 15 (A)), and the process returns to the process of FIG.
【0156】
When the value of the lower 2 bits is 3, the process proceeds to step SI8, "4 or 5" meaning the ring finger or little finger is displayed on the LCD 41 (FIG. 15 (A)), and the process returns to the process of FIG.
【0157】
The fingering identification flag is not limited to 2 bits and may be 3 bits. When the fingering identification flag is set to 2 bits, the ring finger and little finger cannot be identified, but when the fingering identification flag is set to 3 bits, the ring finger and little finger are identified, that is, 5 fingers are used. Can be identified.
【0158】
When it is determined that the note event read in step SI1 is not a note-on event, it means that it is a note-off event. Therefore, the process proceeds to step SI12 to mute the sound corresponding to the note-off event. Then proceed to step SI9.
【0159】
In step SI9, the guide lamp 43 (FIG. 15 (A)) corresponding to the note-off event is turned off. After that, the process returns to FIG.
【0160】
FIG. 15 (B) shows another display example different from FIG. 15 (A). The display is, for example, a display connected to a personal computer or a large LCD provided on a keyboard. A plurality of keys 46 and roll staff 45 are displayed on the display. The roll staff 45 is a vertically displayed so-called piano roll staff, and represents note-on information and fingering information of performance data.
【0161】
The roll staff 45 is scrolled in the direction of the arrow AR (downward in the figure) with the passage of time. The plurality of keys 46 are displayed in a fixed position without scrolling. In the roll score 45, the time t0 indicates the current note-on information and the like. The time axis points upward in the figure, and time elapses in the order of time t0, t1, t2.
【0162】
Display 50 means that the sound of F # notes on at time t1 and notes off at time t2. The display "2" below the display 50 is fingering information, suggesting that the key should be pressed with the index finger.
【0163】
Display 49 represents note-on information of the sound of D #. The display "1" below display 49 is fingering information, suggesting that the key should be pressed with the thumb.
【0164】
Display 48 represents note-on information of the sound of C #. The sound of C # indicates that the note is on at the current time t0. The key 47 corresponding to the note-on is colored or the like. Key 47 is the key that the performer should currently press.
【0165】
The fingering information is not limited to the usage pattern displayed by the finger number. For example, it may be used for displaying the shape of a hand, displaying the position where the hand is placed, dividing a phrase, or the like. The shape of the hand changes depending on how to hold the key based on fingering information. The position where the hand is placed indicates where the hand should be placed to easily press the key based on the fingering information. Phrase division divides a melody into predetermined phrases by using fingering information as one of the conditions for phrase division, and the divided phrases are used for repeated performances and chord detection sections.
【0166】
Next, a case where the left / right hand identification flag (right hand / left hand information) is used as an example of the performance practice flag will be described. The processing of the main routine of FIG. 13 and the performance data reading processing of FIG. 5 can be applied as they are. The note event processing in step SB4 in FIG. 5 is as shown in FIG. 16, unlike the above case.
【0167】
FIG. 16 is a flowchart showing details of note event processing when the left / right hand identification flag is used.
【0168】
In step SJ1, it is checked whether the previously read event is a note-on event. If it is a note-on event, the process proceeds to step SJ11 to perform pronunciation processing. In the sound generation process, musical sound parameters corresponding to the note number (pitch) and note-on velocity (volume) included in the note-on event are supplied to the sound source circuit and sounded in the sound system.
【0169】
Note-on velocity is interpreted and processed as velocity data (volume). However, note-on-velocity is slightly less accurate as velocity data when the left and right hand identification flags are set in the lower bits. Then, the process proceeds to step SJ2 or step SJ3 according to the following conditions.
【0170】
When the left / right hand identification flag is set to note-on-velocity, the process of step SJ2 is skipped and the process proceeds to step SJ3. If the left / right hand identification flag is set to note-off velocity, the process of step SJ2 is performed, and then the process proceeds to step SJ3.
【0171】
In step SJ2, the note-off event corresponding to the note-on event read above is searched, and the note-off velocity during the note-off event is obtained.
【0172】
Step SJ3 checks if the velocity is odd. That is, it checks whether the left / right hand identification flag set in the lower 1 bit of velocity is 1. The left / right hand identification flag is the lower 1 bit of note-on-velocity or note-off velocity.
【0173】
When the velocity is odd, it means the left hand, so proceed to step SJ4 and display "left hand" on the display. After that, the process returns to FIG. When the velocity is even, it means the right hand, so proceed to step SJ5 and display "right hand" on the display. After that, the process returns to FIG.
【0174】
FIG. 17 shows a display example of the left hand or the right hand. The keyboard has a plurality of keys 56. A display 55 is provided for each of the plurality of keys 56. When "L" is displayed on the display 52, it suggests to the performer that the key 51 corresponding to the display 52 should be pressed with the left hand. When "R" is displayed on the display 54, it suggests to the performer that the key 53 corresponding to the display 54 should be pressed with the right hand.
【0175】
In addition, the display similar to the display of FIG. 15 (B) may be performed. For example, "L1" is displayed instead of the display "1" below the display 49 to suggest to the performer that the key should be pressed with the thumb (1) of the left hand (L).
【0176】
Returning to the flowchart of FIG. 16, when it is determined that the event read in step SJ1 is not a note-on event, it means that it is a note-off event. Therefore, the process proceeds to step SJ12 to mute the sound corresponding to the note-off event. Perform processing. Then proceed to step SJ6.
【0177】
In step SJ6, the display corresponding to the note-off event on the display is turned off. After that, the process returns to FIG.
【0178】
Next, as another example of the performance practice flag, a case where the note name identification flag (note name information) is used will be described. The note name identification flag indicates whether the note name of the black key is represented by # or . The processing of the main routine of FIG. 13 and the performance data reading processing of FIG. 5 can be applied as they are. The note event processing in step SB4 in FIG. 5 is as shown in FIG. 18, unlike the above case.
【0179】
FIG. 18 is a flowchart showing details of note event processing when the note name identification flag is used.
【0180】
In step SK1, it is checked whether the previously read event is a note-on event. If it is a note-on event, the process proceeds to step SK11 to perform pronunciation processing. In the sound generation process, musical sound parameters corresponding to the note number (pitch) and note-on velocity (volume) included in the note-on event are supplied to the sound source circuit and sounded in the sound system.
【0181】
Note-on velocity is interpreted and processed as velocity data (volume). However, note-on-velocity is slightly less accurate as velocity data when the note name identification flag is set in the lower bits. After that, the process proceeds to step SK2 or step SK3 under the following conditions.
【0182】
When the note name identification flag is set to note-on-velocity, the process of step SK2 is skipped and the process proceeds to step SK3. If the note name identification flag is set to note-off velocity, the process of step SK2 is performed, and then the process proceeds to step SK3.
【0183】
In step SK2, the note-off event corresponding to the note-on event read above is searched, and the note-off velocity during the note-off event is obtained.
【0184】
In step SK3, it is checked whether the note number 1b (Fig. 2) in the note-on event read above indicates a black key or a white key. In the case of a black key, proceed to step SK5 to determine whether the note name should be represented by # or .
【0185】
In step SK5, it is checked whether the velocity is odd or not. That is, it checks whether or not the note name identification flag, which is the lower 1 bit of the note-on velocity or the note-off velocity, is 1.
【0186】
When the velocity is odd, it means , so proceed to step SK6 and display or pronounce the note name on the display with . When displaying, for example, "D " is displayed. When pronouncing, for example, pronounce "D flat". After that, the process returns to FIG.
【0187】
When the velocity is even, it means #, so the process proceeds to step SK7, and the note name is displayed or pronounced as # on the display. When displaying, for example, "C #" is displayed. When pronouncing, for example, pronounce "sea sharp". After that, the process returns to FIG.
【0188】
If it is determined in step SK3 that the key corresponding to the note-on event is a white key, neither nor # is attached, so the process proceeds to step SK4. In step SK4, the note name is displayed or pronounced on the display. When displaying, for example, "C" is displayed. When pronouncing, for example, pronounce "sea". After that, the process returns to FIG.
【0189】
When it is determined that the event read in step SK1 is not a note-on event, it means that it is a note-off event. Therefore, the process proceeds to step SK12 to mute the sound corresponding to the note-off event. Then proceed to step SK8.
【0190】
In step SK8, the display corresponding to the note-off event on the display is turned off. After that, the process returns to FIG.
【0191】
FIG. 19 shows an example of displaying the note name. The keyboard has a plurality of keys 61. A display 62 is provided for each of the plurality of keys 61. The display 64 corresponds to the black key 63, and is displayed as "D " or "C #" according to the note name identification flag.
【0192】
An example of setting a cue flag for note-on-velocity, etc. and an example of setting fingering information for note-on-velocity, etc. are shown separately, but multiple types of performance practice flags such as cue flag and fingering information are set to 1. It may be set to one note-on-velocity or the like.
【0193】
When setting the performance practice flag for note-on-velocity, it is preferable to set it to the lower 1 to 3 bits in consideration of the accuracy of the note-on-velocity data. More preferably, the performance practice flag is set in the lower 1 or 2 bits of the note-on velocity.
【0194】
When setting the performance practice flag for note-off velocity, the performance practice flag can be set for all bits (7 bits).
【0195】
In addition to note-on velocity and note-off velocity, performance practice flags can be set for volume and effect control information.
【0196】
In the above-mentioned plurality of embodiments, the amount of data of the performance data is set by setting a part or all of the note-on velocity or the note-off velocity, etc., instead of newly providing the data area unique to the performance practice flag in the performance data. It is possible to add a performance practice function without increasing.
【0197】
Further, since the performance practice flag is set as a part of the note-on velocity or the like, the performance practice flag can be added to the performance data without breaking the general-purpose performance data format.
【0198】
Since the performance data is compatible with general-purpose performance data (for example, a standard MIDI file), it can be widely used for general automatic performance devices that do not have a performance practice function. When the performance practice device according to this embodiment is used, in addition to automatic performance, performance practice such as matching progress control for each note, fingering identification, left / right hand identification, black key # or identification, etc. Functions can be added.
【0199】
In the above-mentioned plurality of embodiments, the case where the performance practice flag is set for each note has been described, but the performance practice flag may be set for each phrase or measure. In that case, the performance practice flag can be set at the beginning of the phrase, or the performance practice flag can be set at the first note (note) of the measure. By using a phrase dividing device or the like, it is possible to automatically set the performance practice flag at a predetermined position.
【0200】
Note-on velocity or note-off velocity is not limited to the case where all bits are interpreted as velocity data (performance information), etc., and only the upper bits excluding the performance practice flag of the lower bits are velocity data (performance information). And so on. However, considering compatibility with a versatile automatic performance device, it is preferable to use all bits for performance information.
【0201】
Also, even if information indicating whether the performance practice flag is set for note-on velocity or note-off velocity, or what kind of flag is set, is stored in a part of the performance data (for example, the header part). Good. In this way, there is no risk of misinterpreting the flag.
【0202】
The performance practice device is not limited to the form of an electronic musical instrument, but may be in the form of a personal computer and application software. Further, the performance practice device is not limited to the case where it is built in the electronic musical instrument together with the sound source device, the automatic performance device, etc., and each device is a separate device, and each device is used by communication means such as MIDI or various networks. It may be something like connecting. Furthermore, it can be applied to a player piano.
【0203】
In addition to the standard MIDI file, the performance data format may be "event + relative time", "event + absolute time", "pitch + note length", "solid method", or the like.
【0204】
The method of changing the tempo of the automatic performance is to change the tempo clock cycle, to correct the timing data value while keeping the tempo clock cycle as it is, or to set the value to count the timing data in one process. It may be changed.
【0205】
The automatic performance data may be in a format in which data of a plurality of channels are mixed, or in a format in which the data of each channel is separated for each track.
【0206】
Although the present invention has been described above with reference to Examples, the present invention is not limited thereto. For example, it will be obvious to those skilled in the art that various changes, improvements, combinations, etc. are possible.
【0207】
[Effect of the invention]
As described above, according to the present invention, since the lower bits of the data in the performance data are rewritten into the performance practice information, the versatility as the performance data is maintained. Further, since it is not necessary to secure a special data area for the performance practice information, the performance practice information can be added to the performance data without increasing the data amount of the performance data. The performance practice information can add a performance practice function to the performance practice device.
[Simple explanation of drawings]
[Figure 1]
FIG. 1 (A) is a diagram showing a note-on-velocity configuration of a MIDI standard, and FIG. 1 (B) is a diagram showing a note-on-velocity configuration in which a performance practice flag according to an embodiment of the present invention is embedded.
[Figure 2]
It is a figure which shows the format example of the performance data used for the performance practice apparatus by this Example.
[Fig. 3]
It is a block diagram which shows the structure of the performance practice apparatus by this Example.
[Fig. 4]
It is a flowchart of the main routine when a part of note-on-velocity is used as a queue (match progress) flag.
[Fig. 5]
It is a flowchart which shows the detail of the performance data reading process in step SA3 of FIG. [Fig. 6]
FIG. 6 (A) is a flowchart showing the playback timer interrupt process, and FIG. 6 (B) is a flowchart showing the match progress timer interrupt process.
[Fig. 7]
It is a flowchart which shows the detail of the note event processing in step SB4 of FIG.
[Fig. 8]
FIG. 8 (A) is a diagram showing the configuration of the playback match progress buffer, and FIG. 8 (B) is a diagram showing the configuration of the hand-played match progress buffer.
[Fig. 9]
It is a flowchart which shows the detail of the match progress process in step SA2 of FIG.
[Fig. 10]
It is a flowchart which shows the detail of the key press processing in step SA4 of FIG.
[Fig. 11]
It is a figure which shows the example which sets the performance practice flag as a part of note-off velocity.
[Fig. 12]
It is a flowchart which shows the data conversion process of a performance data.
[Fig. 13]
It is a flowchart which shows the processing of the main routine when the fingering identification flag is used.
[Fig. 14]
It is a flowchart which shows the detail of the note event processing when the fingering identification flag is used.
[Fig. 15]
15 (A) and 15 (B) are diagrams showing a display example of fingering information.
[Fig. 16]
It is a flowchart which shows the detail of the note event processing when the left-right hand identification flag is used.
[Fig. 17]
It is a figure which shows the display example of the left-right hand information.
[Fig. 18]
It is a flowchart which shows the detail of the note event processing when the note name identification flag is used.
[Fig. 19]
It is a figure which shows the display example of the note name information.
[Explanation of symbols]
1 note-on event, 2,4 timing data, 3 note-off event, 5 end data, 6 velocity data, 7 performance practice flag, 10 performance data, 11 ROM, 12 RAM, 13 CPU, 14 timer, 15 MIDI interface, 16 Floppi disk drive, 17 keyboard, 18 keyboard detection circuit, 19 switch, 20 switch detection circuit, 21 display circuit, 22 sound source circuit, 23 effect circuit, 24 sound system, 25 bus, 30 performance data, 31 performance practice flag, 41 Liquid Crystal Display (LCD), 42 LED
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US7738711B2 | Cited by | United States of America | Applicant |
| US6417439B2 | Cited by | United States of America | Applicant |
| JP2002040921A | Cited by | Japan | Search report |
| JP2002049301A | Cited by | Japan | Search report |
| JP2005084065A | Cited by | Japan | Search report |
2 members in 1 office
Priority claims7
| Document | Office | Kind | Date |
|---|---|---|---|
| 15452896 | Japan | A | |
| 15452896 | Japan | A | |
| 8154528 | Japan | – | |
| 15890697 | Japan | A | |
| 154528 | – | – | – |
| JP19960154528 | – | – | – |
| JP19970158906 | – | – | – |
Members2
| Document | Office | Kind | |
|---|---|---|---|
| JPH1069215AThis record | Japan | A | |
| JP3613935B2 | Japan | B2 |
18 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Written notification of registration of transferJAPANESE INTERMEDIATE CODE: R350R350 | R350 | |
| Written request for registration of change of domicileJAPANESE INTERMEDIATE CODE: R313532S531 | S531 | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 |
Numbers
- Publication
- 10-69215
- Publication, DOCDB
- H1069215
- Publication, EPODOC
- JPH1069215
- Application
- 9158906
- Application, DOCDB
- 15890697
- Application, EPODOC
- JP19970158906
Titles2
- Japanese
- 【発明の名称】演奏練習装置及びプログラムを記録した媒体
- English
- [Title of the Invention] A medium for recording a performance practice device and a program.
Classification
- IPC, 3
- G09B15 00
- G10G1 02
- G10H1 00