JP4978176B2 - Performance device, performance realization method and program - Google Patents

Performance device, performance realization method and program Download PDF

Info

Publication number
JP4978176B2
JP4978176B2 JP2006335127A JP2006335127A JP4978176B2 JP 4978176 B2 JP4978176 B2 JP 4978176B2 JP 2006335127 A JP2006335127 A JP 2006335127A JP 2006335127 A JP2006335127 A JP 2006335127A JP 4978176 B2 JP4978176 B2 JP 4978176B2
Authority
JP
Japan
Prior art keywords
performance
pitch
data
key
music data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006335127A
Other languages
Japanese (ja)
Other versions
JP2008020875A (en
Inventor
光広 松本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2006335127A priority Critical patent/JP4978176B2/en
Publication of JP2008020875A publication Critical patent/JP2008020875A/en
Application granted granted Critical
Publication of JP4978176B2 publication Critical patent/JP4978176B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、演奏者が演奏を行うための複数の演奏操作子を備えた演奏装置に関する。   The present invention relates to a performance device including a plurality of performance operators for a performer to perform.

電子鍵盤楽器等の演奏用の演奏操作子を備えた演奏装置のなかには、演奏者(ユーザー)が操作子を操作したタイミングに合わせて、その操作子の種類に係わらず、楽曲データが示す発音順序に従って楽音を発音させる機能を搭載したものがある。その機能を用いた演奏では、どの演奏操作子を操作しても、楽曲データが示す演奏内容に従って楽曲を演奏することができる。このことから、その演奏は主に操作子を操作すべきタイミングの練習用などに利用されている。発音させる楽音は楽曲データに依存し、操作される演奏操作子に依存しないことから、つまり、どの操作子を操作しても演奏を行えることから、その機能については以降「エニーキー機能」と呼ぶことにする。   Among performance devices equipped with performance operators for performance such as electronic keyboard instruments, the order of pronunciation indicated by the music data is matched to the timing when the player (user) operates the operators regardless of the type of the operator. Some of them have a function that allows you to generate musical sounds according to In a performance using this function, a music piece can be played in accordance with the performance content indicated by the music data, regardless of which performance operator is operated. For this reason, the performance is mainly used for practicing the timing at which the operator should be operated. Since the musical sound to be generated depends on the music data and does not depend on the operation operator to be operated, that is, it can be performed by operating any of the operators, the function will be referred to as the “any key function” hereinafter. To.

上記エニーキー機能を用いた演奏では、楽曲の演奏内容を示す楽曲データは、演奏操作子への操作によって発音させる楽音の設定(選択)に利用される。演奏を進行させる方法は、演奏操作子への操作によって進行させる方法(以降「マニュアル進行方法」と呼ぶ)、楽曲データに沿って自動的に進行させる方法(以降「自動進行方法」と呼ぶ)に大別することができる。演奏操作子への操作によって発音される楽音は、マニュアル進行方法では操作子に対してそれまでに行った操作回数に応じて選択され、自動進行方法では操作子を操作したタイミングに応じて選択される。   In the performance using the any key function, the music data indicating the performance content of the music is used for setting (selecting) the musical sound to be generated by the operation of the performance operator. The method of advancing the performance includes a method of proceeding by operating the performance operator (hereinafter referred to as “manual progression method”) and a method of automatically proceeding along the music data (hereinafter referred to as “automatic progression method”). It can be divided roughly. In the manual progression method, the musical sound produced by the operation of the performance operator is selected according to the number of operations performed so far, and in the automatic progression method, it is selected according to the timing when the operator is operated. The

エニーキー機能を搭載した演奏装置では、一つの演奏操作子への1回の操作によって発音させる楽音は一つとし、同時に発音中とさせる楽音数は一つのみとしているのが普通である。しかし、エニーキー機能を搭載した従来の演奏装置のなかには、特許文献1に記載されたように、複数の楽音を同時に発音できるようにしたものがある。演奏操作子については以降「キー」と表記する。   In a performance apparatus equipped with an any key function, it is normal that only one musical tone is generated by one operation of a performance operator, and only one musical tone is generated at the same time. However, among the conventional performance devices equipped with the any key function, there is one in which a plurality of musical sounds can be generated simultaneously as described in Patent Document 1. The performance operator is hereinafter referred to as “key”.

特許文献1に記載の従来の演奏装置では、演奏者が演奏すべき演奏パートとしてコードパートを想定し、コード(和音)の構成音の各音高を候補音高として設定する。候補音高の設定は、演奏の進行に応じて随時、更新するものである。演奏者がキーを操作すると、そのキーに割り当てられた音高に応じて、候補音高の中から選択した音高またはそれをオクターブ単位で高く若しくは低く変換(転回)した音高で楽音を発音させる。そのようにして、キーへの操作により、構成音数の楽音を同時に発音させることを可能とさせている。   In the conventional performance device described in Patent Document 1, a chord part is assumed as a performance part to be performed by a performer, and each pitch of the constituent sounds of a chord (chord) is set as a candidate pitch. The setting of the candidate pitch is updated as needed as the performance progresses. When the performer operates the key, the musical tone is played with the pitch selected from the candidate pitches or the pitch converted to higher or lower (turned) in octave units according to the pitch assigned to the key. Let In this way, it is possible to simultaneously generate musical tones with the number of constituent sounds by operating the keys.

発音させる楽音の選択は、具体的には以下のように行われる。
キーが操作されると先ず、候補音高の中に未発音のものがあるか否か確認する。その結果、未発音のものが確認できれば、今回、操作されたキーの音高が前回、操作されたキーの音高よりも高いか否か確認し、それによって前回、操作されたキーの音高より高い音高のキーを今回、操作したことが判明すると、前回の操作で発音させた楽音の音高より高い未発音の候補音高を探し、そのような候補音高があれば、その候補音高を選択する。逆になければ、未発音の候補音高を一つ選択し、それを1オクターブ上に変換した音高で楽音を発音させる。
Specifically, the selection of the musical sound to be generated is performed as follows.
When the key is operated, first, it is confirmed whether there is an unsounded sound in the candidate pitches. As a result, if an unsounding sound can be confirmed, it is confirmed whether or not the pitch of the key operated this time is higher than the pitch of the key operated last time, and thereby the pitch of the key operated last time. If it turns out that a higher pitch key has been operated this time, it looks for an unsounded candidate pitch that is higher than the pitch of the musical sound that was generated in the previous operation, and if there is such a candidate pitch, Select the pitch. If not, a candidate pitch that has not been pronounced is selected, and a musical tone is produced with a pitch that is converted to one octave above.

候補音高がすべて発音中であっても、前回操作されたキーと今回操作のキーの音高を比較する。それにより、前回操作されたキーよりも高い音高のキーを演奏者が今回操作した場合は、発音中の候補音高のうちの1つを1オクターブ高く変換した音高で楽音をさらに発音させる。逆に今回操作されたキーの音高が前回操作されたキーの音高よりも低いことを確認した場合には、音高の高低を逆にして同様の選択が行われる。   Even if all the candidate pitches are sounding, the pitches of the key operated last time and the key operated this time are compared. As a result, if the performer operates a key with a pitch higher than the previously operated key, the musical tone is further pronounced with a pitch obtained by converting one of the candidate pitches being pronounced one octave higher. . Conversely, when it is confirmed that the pitch of the key operated this time is lower than the pitch of the key operated last time, the same selection is performed with the pitches reversed.

このようにして特許文献1に記載の従来の演奏装置では、楽曲データが示すコードパートの演奏内容の演奏をできるようにしつつ、その演奏内容を演奏者が実際に行った演奏操作に応じて変更、つまり演奏者が実際に行った演奏操作を演奏内容に反映するようにしている。それにより、演奏者にとって自然と感じられる内容の演奏も行えるようになっている。   As described above, in the conventional performance device described in Patent Document 1, the performance content of the chord part indicated by the music data can be performed, and the performance content is changed according to the performance operation actually performed by the performer. That is, the performance operation actually performed by the performer is reflected in the performance content. As a result, performances that feel natural to the performer can be performed.

演奏者は複数の演奏パートを演奏する場合がある。例えば鍵盤楽器では、メロディパートとコードパートを演奏することも多い。このようなこともあり、楽曲データを利用した演奏でも、複数の演奏パートの演奏を行えることを望む人も少なくないと思われる。それにより、そのような演奏を行える演奏装置を提供することも重要と考えられる。
特開2004−177893号公報
A performer may perform multiple performance parts. For example, keyboard instruments often play melody parts and chord parts. For this reason, it seems that there are many people who want to be able to perform a plurality of performance parts even when using music data. Accordingly, it is also important to provide a performance device that can perform such a performance.
JP 2004-177893 A

本発明の課題は、楽曲データを利用して複数の演奏パートの演奏を行える演奏装置を提供することにある。   The subject of this invention is providing the performance apparatus which can perform several performance parts using music data.

本発明の演奏装置は、演奏者が演奏を行うための複数の演奏操作子を備えた演奏装置において、演奏パートとしてメロディパート、コードパート、及びベースパートを有し、該各演奏パートの演奏内容を示す楽曲データを記憶する楽曲データ記憶手段と、前記楽曲データ記憶手段が記憶する楽曲データを参照して、前記演奏パート毎に、演奏の進行に応じて該楽曲データが表す楽音の音高を候補音高として随時、設定する音高設定手段と、前記複数の演奏操作子のなかの何れかの演奏操作子が操作された場合に、該操作された演奏操作子により楽音を発音させる演奏パートを、前記ベースパートは該演奏操作子に割り当てられた音高により選択し、前記メロディパート、及び前記コードパートは、前記ベースパートを該割り当てられた音高により選択しない場合に、それらの間で定めた優先度に従って選択し、該選択した演奏パートで前記音高設定手段が設定した候補音高により楽音を楽音発生装置により発音させる発音制御手段と、を具備する。 The performance device according to the present invention includes a melody part, a chord part, and a base part as performance parts in a performance apparatus having a plurality of performance operators for a performer to perform , and the performance contents of each performance part The music data storage means for storing the music data indicating the music data, and the music data stored in the music data storage means, for each performance part, the pitch of the musical sound represented by the music data according to the progress of the performance A performance part that causes a musical tone to be generated by the operated performance operator when a pitch setting means to be set as a candidate pitch at any time and any one of the performance operators is operated. The bass part is selected according to the pitch assigned to the performance operator, and the melody part and the chord part select the bass part to the assigned pitch. When Ri is not selected, chosen according to priority defined between them, a sound control means for sound by the musical tone generating apparatus tones by the candidate pitch that the selected said pitch setting means playing part was was set, the It has.

本発明の演奏実現方法は、演奏パートとしてメロディパート、コードパート、及びベースパートを有し、該各演奏パートの演奏内容を示す楽曲データを記憶する楽曲データ記憶手段を有する演奏装置に備えられている複数の演奏操作子を用いた演奏者による演奏を実現させるための方法であって、前記楽曲データ記憶手段が記憶する楽曲データを参照して、前記演奏パート毎に、演奏の進行に応じて該楽曲データが表す楽音の音高を候補音高として随時、設定し、前記複数の演奏操作子のなかの何れかの演奏操作子が操作された場合に、該操作された演奏操作子により楽音を発音させる演奏パートを、前記ベースパートは該演奏操作子に割り当てられた音高により選択し、前記メロディパート、及び前記コードパートは、前記ベースパートを該割り当てられた音高により選択しない場合に、それらの間で定めた優先度に従って選択し、該選択した演奏パートで前記設定された候補音高により楽音を楽音発生装置により発音させることで演奏を実現させる。 The performance realizing method of the present invention is provided in a performance device having a melody part, a chord part, and a base part as performance parts, and having music data storage means for storing music data indicating the performance contents of each performance part. A method for realizing a performance by a player using a plurality of performance operators, wherein the performance data is stored for each performance part with reference to music data stored in the music data storage means. The pitch of the musical tone represented by the music data is set as a candidate pitch at any time, and when one of the plurality of performance operators is operated, a musical tone is played by the operated performance operator. The bass part is selected by the pitch assigned to the performance operator, and the melody part and the chord part are the bass part. If you do not select the assigned pitch, selected according to the priority determined between them, realize playing by causing sound by the musical tone generating apparatus tone by the setting candidate pitch in performance part that the selected Let

本発明のプログラムは、演奏パートとしてメロディパート、コードパート、及びベースパートを有し、該各演奏パートの演奏内容を示す楽曲データを記憶する楽曲データ記憶手段、及び演奏者が演奏を行うための複数の演奏操作子を備えた演奏装置として用いることが可能なコンピュータに、前記楽曲データ記憶手段が記憶する楽曲データを参照して、前記演奏パート毎に、演奏の進行に応じて該楽曲データが表す楽音の音高を候補音高として随時、設定する音高設定機能と、前記複数の演奏操作子のなかの何れかの演奏操作子が操作された場合に、該操作された演奏操作子により楽音を発音させる演奏パートを、前記ベースパートは該演奏操作子に割り当てられた音高により選択し、前記メロディパート、及び前記コードパートは、前記ベースパートを該割り当てられた音高により選択しない場合に、それらの間で定めた優先度に従って選択し、該選択した演奏パートで前記設定された候補音高により楽音を楽音発生装置により発音させる発音制御機能と、を実現させる。 The program of the present invention has a melody part, a chord part, and a base part as performance parts, music data storage means for storing music data indicating the performance contents of each performance part, and a performance for a performer to perform With reference to the music data stored in the music data storage means in a computer that can be used as a performance device having a plurality of performance operators, the music data is stored according to the progress of the performance for each performance part. any time the sound of a tone height expressed as a candidate pitch, the pitch setting function of setting, when any of the performance operators of among the plurality of performance operators is operated by the operated performance operator A performance part for generating a musical sound is selected based on the pitch assigned to the performance operator for the bass part, and the melody part and the chord part are selected for the base part. If you do not select spurt by high sound assigned the, selected according priority defined between them, sound control to sound by the musical tone generating apparatus tone by said selected the set candidate pitch in performance parts have And realize the function.

本発明では、複数の演奏パートの演奏内容を示す楽曲データを参照して、演奏パート毎に、演奏の進行に応じてその楽曲データが表す楽音の音高を候補音高として随時、設定し、複数の演奏操作子のなかの何れかの演奏操作子が操作された場合に、複数の演奏パートのなかで当該演奏操作子への操作により楽音を発音させる演奏パートを選択し、選択した演奏パートで設定した候補音高(或いはその候補音高から特定される音高)により楽音を発音させる。このため、演奏者にとっては、発音させるべき楽音を発音させるための演奏操作子を操作することなく、つまりその演奏操作子以外の演奏操作子を操作して、複数の演奏パートの演奏を行うことができる。   In the present invention, referring to music data indicating the performance contents of a plurality of performance parts, for each performance part, the pitch of the musical sound represented by the music data according to the progress of the performance is set as a candidate pitch at any time, When one of the performance operators is operated, a performance part that causes the musical sound to be generated by operating the performance operator is selected from the plurality of performance operators, and the selected performance part is selected. A musical tone is generated by the candidate pitch set in (or a pitch specified from the candidate pitch). For this reason, a performer can perform a plurality of performance parts without operating a performance operator for generating a musical sound to be generated, that is, operating a performance operator other than the performance operator. Can do.

上記複数の演奏パートの演奏は、複数の演奏操作子を複数のグループに分けると共に、各グループに一つ以上の演奏パートを割り当て、楽曲データを参照して演奏パート毎に設定する候補音高のなかで演奏操作子への操作により楽音の発音に用いる候補音高を、その演奏操作子が属するグループに割り当てられている演奏パートに応じて選択することで行えるようにすることができる。その場合、操作する演奏操作子により、楽音を発音させる演奏パートを演奏者は選択することができる。   In the performance of the plurality of performance parts, a plurality of performance operators are divided into a plurality of groups, one or more performance parts are assigned to each group, and reference pitch data set for each performance part with reference to music data is set. Among them, it is possible to select candidate pitches used for sound generation by operating the performance operator according to the performance part assigned to the group to which the performance operator belongs. In this case, the performer can select a performance part that generates a musical tone by a performance operator to be operated.

以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
<第1の実施形態>
図1は、第1の実施形態による演奏装置の構成図である。本実施形態による演奏装置は鍵盤楽器であり、全体を制御するCPU1と、CPU1が実行するプログラム、各種制御用データ、および演奏対象の楽曲データ等を格納したROM(Read Only Memory)2と、CPU1がワークに用いるRAM(Random Access Memory)3と、複数のキー(演奏操作子である鍵)を有する鍵盤4と、各種操作子を有するスイッチ群5と、例えばMIDI(Musical Instrument Digital Interface)データで発音が指示された楽音の波形データを生成し、その波形データをD/A変換して得られるオーディオ信号を出力する音源システム6と、音源システム6から出力されたオーディオ信号を増幅して出力するアンプ回路7と、アンプ回路7から入力したオーディオ信号により楽音を放音するスピーカー8と、CPU1、ROM2、RAM3、鍵盤4、スイッチ群5、音源システム6を互いに接続するバス9と、を備えている。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
<First Embodiment>
FIG. 1 is a configuration diagram of a performance device according to the first embodiment. The performance apparatus according to the present embodiment is a keyboard instrument, and includes a CPU 1 that controls the whole, a ROM (Read Only Memory) 2 that stores programs executed by the CPU 1, various control data, music data to be played, and the like, and a CPU 1 RAM (Random Access Memory) 3 used for work, a keyboard 4 having a plurality of keys (keys as performance operators), a switch group 5 having various operators, and MIDI (Musical Instrument Digital Interface) data, for example. A tone generator 6 that generates waveform data of a musical tone for which pronunciation is instructed, outputs an audio signal obtained by D / A conversion of the waveform data, and amplifies and outputs the audio signal output from the tone generator system 6 An amplifier circuit 7, a speaker 8 that emits a musical tone by an audio signal input from the amplifier circuit 7, a CPU 1, a ROM 2, and a RAM , Keyboard 4, a switch group 5, the bus 9 which connects the tone generator system 6 together, a.

CPU1はROM2に記録されているプログラムを実行することにより、演奏者(ユーザー)が鍵盤4やスイッチ群5に対して行った操作に応じた制御を行う。鍵盤4への操作が行われた場合には、操作されたキーに割り当てられている音高の楽音の発音指示を音源システム6に対して行う。その指示に従って音源システム6が波形データを生成してオーディオ信号をアンプ回路7に出力する結果、その楽音がスピーカー8により発音される。それにより、音源システム6は楽音発生装置に相当する。スイッチ群5への操作が行われた場合には、操作が行われた操作子に応じて、楽曲データの指定を含む各種設定を行う。その楽音発生装置は、演奏装置に搭載されていないものであっても良い。   The CPU 1 executes a program recorded in the ROM 2 to perform control according to an operation performed by the performer (user) on the keyboard 4 or the switch group 5. When an operation is performed on the keyboard 4, a tone generation instruction for a musical tone having a pitch assigned to the operated key is issued to the sound source system 6. As a result of the sound source system 6 generating waveform data and outputting an audio signal to the amplifier circuit 7 in accordance with the instruction, the musical sound is produced by the speaker 8. Thereby, the sound source system 6 corresponds to a musical sound generator. When an operation is performed on the switch group 5, various settings including designation of music data are performed in accordance with the operation element on which the operation has been performed. The musical sound generator may not be mounted on the performance device.

スイッチ群5への操作により設定可能なモードとして、楽曲データから特定される音高の楽音を鍵盤4へのキー操作により発音させるもの(以降「エニーキーモード」)がある。そのエニーキーモードは本発明に係わるモードである。このことから便宜的に以降、特に断らない限り、そのエニーキーモードが設定されていることを前提に説明する。ここでは、そのエニーキーモードで用いられる楽曲データは選択されているものとする。また、以下のことも前提とする。
(1)演奏者が演奏すべき演奏パート(以降「対象演奏パート」)は、メロディパート、コードパート、ベースパートの3つとする。
(2)演奏の進行には楽曲データに沿って自動的に演奏を進行させる自動進行方法が採用されている。
(3)メロディパート、コードパート、及びベースパートの各データは、それぞれ異なるチャンネル(以下ではそれぞれ「メロディチャンネル」、「コードチャンネル」及び「ベースチャンネル」と呼ぶ)のデータとして楽曲データに格納されている。
As a mode that can be set by operating the switch group 5, there is a mode in which a musical tone having a pitch specified from music data is generated by a key operation on the keyboard 4 (hereinafter, “any key mode”). The any key mode is a mode according to the present invention. Therefore, for the sake of convenience, the following description will be made on the assumption that the any key mode is set unless otherwise specified. Here, it is assumed that the music data used in the any key mode is selected. The following is also assumed.
(1) There are three performance parts (hereinafter referred to as “target performance parts”) to be performed by the performer: a melody part, a chord part, and a bass part.
(2) For the progress of the performance, an automatic progress method is adopted in which the performance is automatically advanced according to the music data.
(3) The melody part, chord part, and base part data are stored in the music data as data of different channels (hereinafter referred to as “melody channel”, “code channel”, and “base channel”, respectively). Yes.

図5は、上記楽曲データを構成する楽音データの構成を説明する図である。
楽曲データを構成する楽音データは、図5に示すように、演奏上のイベントの内容を示すイベントデータ、及び次に処理すべき楽音データを処理するまでの時間間隔(Δt)を示す時間データから構成される。
FIG. 5 is a diagram for explaining the structure of musical sound data constituting the music data.
As shown in FIG. 5, the musical sound data constituting the music data is obtained from the event data indicating the contents of the performance event and the time data indicating the time interval (Δt) until the musical sound data to be processed next is processed. Composed.

上記時間間隔Δtは、テンポによって変更される最小時間間隔を単位として表現されたものである。これは他の時間、或いは時間間隔についても同様である。楽音の発音に係わるイベントデータは、例えばイベントが楽音の発音、及び消音の何れであるかを示すイベント種別、楽音の音高を示す番号(以降「音階番号」)、及びチャンネル番号の各データを有するものである。それにより楽曲データは、イベント(楽音)単位で用意された楽音データをその処理順に並べた形の構成となっている。楽曲を構成する演奏パートにはそれぞれ異なるチャンネルが割り当てられる。その演奏パートの一つであるコード(和音)の演奏用のコードパートでは、コード発音用のイベントデータとして、例えば音階番号の代わりに、コードの種類を示すコード名データ、及びルート(根音)の音高を示す音階番号(ルート音階番号)が挿入されている。楽曲データ、或いは楽音データは、上述したような構成に限定されるものではない。また、楽曲データは、ROM2等の不揮発性メモリに用意するのではなく、通信ネットワーク、或いは可搬性の記録媒体を介して取得できるようにすることにより、RAM3に格納しても良い。   The time interval Δt is expressed in units of the minimum time interval changed by the tempo. The same applies to other times or time intervals. The event data related to the tone generation includes, for example, the event type indicating whether the event is tone generation or mute, the number indicating the tone pitch (hereinafter referred to as “scale number”), and the channel number. It is what you have. Thereby, the music data has a configuration in which musical sound data prepared for each event (musical sound) is arranged in the processing order. Different channels are assigned to the performance parts constituting the music. In the chord part for playing chords (chords), which is one of the performance parts, as chord sounding event data, for example, chord name data indicating the type of chord and root (root) instead of scale numbers. A scale number (root scale number) indicating the pitch of is inserted. The music data or the musical sound data is not limited to the above-described configuration. Further, the music data may be stored in the RAM 3 by being prepared via a communication network or a portable recording medium, instead of being prepared in a nonvolatile memory such as the ROM 2.

CPU1は、処理すべきタイミングとなったイベントデータから音源システム6に送出すべきコマンド(以降MIDIデータを想定する)を生成して送出することで楽音の発音開始、或いは消音を指示する。イベントデータ中にコード名データ、及びルート音階番号が挿入されていた場合には、そのコード名データ、及び音階番号から各コード構成音の音高を特定し、コード構成音毎にMIDIデータを生成して送出する。処理すべきタイミングは、対象演奏パートでは時間データの他に鍵盤4への操作を考慮して判定し、それ以外の演奏パートでは時間データのみから判定する。それにより、エニーキーモード設定時では、対象演奏パートの楽音はユーザーの演奏に応じて放音させ、それ以外の演奏パートの楽音は自動的に放音させる。   The CPU 1 generates a command to be sent to the sound source system 6 from the event data that is to be processed (hereinafter referred to as MIDI data) and sends it to instruct the start of sound generation or mute. If chord name data and root scale number are inserted in the event data, the pitch of each chord constituent sound is specified from the chord name data and scale number, and MIDI data is generated for each chord constituent sound. And send it out. The timing to be processed is determined in consideration of the operation on the keyboard 4 in addition to the time data in the target performance part, and is determined only from the time data in the other performance parts. Accordingly, when the any key mode is set, the musical sound of the target performance part is emitted according to the performance of the user, and the musical sounds of the other performance parts are automatically emitted.

音源システム6は、発音を指示するMIDIデータをCPU1から入力した場合、そのMIDIデータ中の音階番号(ノートナンバー)で指定される音高に応じて、楽音発音用の波形データを生成し、生成した波形データをアナログのオーディオ信号に変換してアンプ回路7に出力する。波形データの生成は、消音を指示するMIDIデータがCPU1から送出されて実際に消音させるまでの間、行う。そのような波形データの生成、及び生成した波形データを変換してのオーディオ信号の出力を行うことにより、CPU1の指示に従って楽音の放音を可能とさせる。   When the sound source system 6 receives MIDI data for instructing sound generation from the CPU 1, it generates waveform data for tone generation according to the pitch specified by the scale number (note number) in the MIDI data. The converted waveform data is converted into an analog audio signal and output to the amplifier circuit 7. The generation of the waveform data is performed until the MIDI data instructing the mute is sent from the CPU 1 and actually mute. Generation of such waveform data and output of an audio signal obtained by converting the generated waveform data enable sound emission according to an instruction from the CPU 1.

以降は、図2〜図4、及び図8に示すフローチャートを参照しつつ、エニーキーモード設定時のCPU1の動作について具体的に説明する。
図2は、メイン処理のフローチャートである。そのメイン処理は、電源の投入後に実行される主な処理を抜粋してその流れを示したものであり、ROM2に格納されたプログラムをCPU1が実行することにより実現される。
Hereinafter, the operation of the CPU 1 when the any key mode is set will be described in detail with reference to the flowcharts shown in FIGS. 2 to 4 and 8.
FIG. 2 is a flowchart of the main process. The main process is an excerpt of the main process executed after the power is turned on, and the flow is shown. The main process is realized by the CPU 1 executing the program stored in the ROM 2.

先ず、ステップA1では、イニシャル処理が行われる。そのイニシャル処理では、各種変数の初期化等が行われる。ステップA1の処理の実行後はステップA2に移行する。
ステップA2〜A5は繰り返しループを形成しており、例えば予め定めた時間間隔で繰り返し実行される。
First, in step A1, initial processing is performed. In the initial process, initialization of various variables is performed. After execution of the process of step A1, the process proceeds to step A2.
Steps A2 to A5 form a repetitive loop, and are repeatedly executed at predetermined time intervals, for example.

ステップA2では、図3に示す自動演奏処理を実行する。これは、楽曲データを読み込み、演奏者が演奏の対象とする対象演奏パート毎に、その楽曲データが発音を示す楽音の音高を候補音高として設定し、他の演奏パートを自動演奏する処理である。その実行後はステップA3に移行する。自動進行方法では、候補音高の設定は、自動演奏の進行に応じて随時、更新する。   In step A2, the automatic performance process shown in FIG. 3 is executed. This is a process that reads music data, sets the pitch of the musical tone that the music data indicates to be played as the candidate pitch for each target performance part that the performer is to perform, and automatically plays the other performance parts. It is. After the execution, the process proceeds to step A3. In the automatic progress method, the setting of the candidate pitch is updated as needed according to the progress of the automatic performance.

ステップA3では、図8に示す鍵盤処理を実行する。これは、演奏者の鍵盤4への操作(押鍵や離鍵)に応じて楽音を発音させるための処理である。ここではエニーキーモードが設定された場合に実行される処理を抜粋して図8に示している。その鍵盤処理の実行後、ステップA4に移行する。   In step A3, the keyboard process shown in FIG. 8 is executed. This is a process for generating a musical tone in accordance with the player's operation on the keyboard 4 (key pressing or key release). Here, the processing executed when the any key mode is set is extracted and shown in FIG. After executing the keyboard process, the process proceeds to step A4.

ステップA4では、音源発音処理を実行する。発音、或いは消音させるべき楽音は、ステップA2の自動演奏処理、及びステップA3の鍵盤処理の実行によって特定され、その特定によって生成されるMIDIデータはRAM3に確保された領域に格納される。音源発音処理は、その領域に格納されたMIDIデータを音源システム6に送出することにより、特定した楽音の発音、或いは消音を音源システム6に対して指示するための処理である。その指示を行い、音源システム6からオーディオ信号がアンプ回路7に出力される結果、楽音がスピーカー8を介して発音される。音源発音処理の実行後、ステップA5に移行する。   In step A4, a sound source sound generation process is executed. The musical tone to be sounded or muted is specified by executing the automatic performance process in step A2 and the keyboard process in step A3, and the MIDI data generated by the specification is stored in an area secured in the RAM 3. The sound source sound generation process is a process for instructing the sound source system 6 to generate or mute the specified musical sound by sending the MIDI data stored in the area to the sound source system 6. The instruction is given and an audio signal is output from the sound source system 6 to the amplifier circuit 7, and as a result, a musical sound is generated through the speaker 8. After executing the sound source sound generation process, the process proceeds to step A5.

ステップA5では、スイッチ群5への操作に対応することを含むその他の処理を実行し、ステップA2に戻る。
設定した候補音高を示す音高データは、それぞれ演奏パート毎にRAM3上に確保された領域に格納される。図6は、その領域のデータ構成図である。図6(a)に示すように、メロディパートで設定した候補音高を示す音高データは候補音高バッファ1に格納される。同様に、コードパートの音高データは図6(b)に示す候補音高バッファ2、ベースパートの音高データは図6(c)に示す候補音高バッファ3にそれぞれ格納される。候補音階バッファ1、3に格納する音高データが一つなのは、メロディパート、ベースパート共に、同時に2音以上、発音させることはないと想定しているためである。候補音階バッファ2に6つの音高データを格納できるようにしたのは、最大で6つの構成音のコードまで対応可能としているためである。
In step A5, other processes including responding to the operation on the switch group 5 are executed, and the process returns to step A2.
The pitch data indicating the set candidate pitches is stored in an area secured on the RAM 3 for each performance part. FIG. 6 is a data configuration diagram of the area. As shown in FIG. 6A, pitch data indicating the candidate pitch set in the melody part is stored in the candidate pitch buffer 1. Similarly, the pitch data of the chord part is stored in the candidate pitch buffer 2 shown in FIG. 6B, and the pitch data of the base part is stored in the candidate pitch buffer 3 shown in FIG. 6C. The reason why the pitch data stored in the candidate scale buffers 1 and 3 is one is that it is assumed that both the melody part and the bass part will not sound two or more sounds at the same time. The reason why the pitch data of six pitches can be stored in the candidate scale buffer 2 is that it is possible to handle up to six chords of constituent sounds.

図3は自動演奏処理のフローチャートである。その自動演奏処理は図2のステップA2で呼び出される。処理の対象となる楽曲データはROM2から読み出してRAM3に格納したものである。   FIG. 3 is a flowchart of the automatic performance process. The automatic performance process is called at step A2 in FIG. The music data to be processed is read from the ROM 2 and stored in the RAM 3.

上述したように楽曲データを構成する楽音データは、イベントの内容を示すイベントデータに、次の楽音データの処理タイミングを示す時間データが付加された構成となっている(図5)。ステップB1では、時間データが示す処理タイミングとなったイベントデータの有無を判定し、それにより処理タイミングとなったイベントデータが有ることが判明すると、そのイベントデータの演奏パートが対象演奏パートか否か判定する。そのイベントデータがメロディチャンネル、コードチャンネル、或いはベースチャンネルのものであった場合、判定はYESとなってステップB2に移行し、それらの何れでもない場合には、判定はNOとなってステップB3に移行する。処理タイミングとなったイベントデータが無いことが判明すると、特には図示していないが、ここで自動演奏処理を終了する。   As described above, the musical sound data constituting the music data has a structure in which time data indicating the processing timing of the next musical sound data is added to the event data indicating the contents of the event (FIG. 5). In step B1, it is determined whether or not there is event data at the processing timing indicated by the time data, and when it is determined that there is event data at the processing timing, it is determined whether or not the performance part of the event data is the target performance part. judge. If the event data is for a melody channel, chord channel, or bass channel, the determination is yes and the process moves to step B2, and if none of them is true, the determination is no and the process proceeds to step B3. Transition. If it is determined that there is no event data at the processing timing, the automatic performance processing is terminated here, although not particularly shown.

ステップB2では、図4に示す候補音高取り込み処理を実行して自動演奏処理を終了し、図2のメイン処理に戻る。他方のステップB3では、演奏対象外の演奏パートの自動演奏を行うための通常再生処理を実行する。それにより、演奏対象でない演奏パートのイベントデータからMIDIデータを生成し、そのMIDIデータをRAM3に確保した領域に格納する。その領域に格納されたデータは、図2のステップA4で実際の発音や消音を音源システム6により行わせるために利用される。通常再生処理の実行後は自動演奏処理を終了し、図2のメイン処理に戻る。   In step B2, the candidate pitch capturing process shown in FIG. 4 is executed, the automatic performance process is terminated, and the process returns to the main process in FIG. In the other step B3, normal reproduction processing for automatically performing performance parts that are not performance targets is executed. Thereby, MIDI data is generated from the event data of the performance part that is not the performance target, and the MIDI data is stored in the area secured in the RAM 3. The data stored in the area is used to cause the sound source system 6 to perform actual sound generation and mute at step A4 in FIG. After execution of the normal playback process, the automatic performance process is terminated, and the process returns to the main process of FIG.

図4は候補音高取り込み処理のフローチャートである。候補音高取り込み処理は図3のステップB2で呼び出され、図6に示す候補音高バッファ1〜3への音高データの格納を行う処理である。   FIG. 4 is a flowchart of the candidate pitch capturing process. The candidate pitch capturing process is called at step B2 in FIG. 3, and stores pitch data in the candidate pitch buffers 1 to 3 shown in FIG.

ステップB2−1では、図3のステップB1で処理タイミングとなったことを確認したイベントデータがメロディパートのもの(メロディ音として発音される楽音を示すもの)であれば、そのイベントデータが示すイベントの内容(ここでは発音、及び消音の何れか)に応じて、それを構成する音高データの図6(a)の候補音高バッファ1への格納、或いは格納された音高データのクリアを行う。そのクリアは「NODATA」とも表記する。   In step B2-1, if the event data confirmed to have reached the processing timing in step B1 in FIG. 3 is for the melody part (indicating a musical sound that is pronounced as a melody sound), the event indicated by the event data Depending on the content of the sound (here, either pronunciation or mute), the pitch data constituting it is stored in the candidate pitch buffer 1 in FIG. 6A, or the stored pitch data is cleared. Do. The clear is also expressed as “NODATA”.

ステップB2−2では、図3のステップB1で処理タイミングとなったことを確認したイベントデータがコードパートのものであれば、そのイベントデータ中に挿入されているコード名データ、及びルート音階番号から、コードの各構成音の音高データを特定し、特定した音高データを、イベント種別が示すイベントの内容(ここでは発音、及び消音の何れか)に応じて、図6(b)の候補音高バッファ2に格納するか、或いはそのバッファ2からクリアしてNODATAの状態にする。   In step B2-2, if the event data confirmed to have reached the processing timing in step B1 in FIG. 3 is that of the chord part, the chord name data inserted in the event data and the root scale number are used. , The pitch data of each constituent sound of the chord is specified, and the specified pitch data is selected from the candidates shown in FIG. 6B according to the event content (in this case, pronunciation or mute) indicated by the event type. Either stored in the pitch buffer 2 or cleared from the buffer 2 to be in a NODATA state.

ステップB2−3では、図3のステップB1で処理タイミングとなったことを確認したイベントデータがベースパートのもの(ベース音として発音される楽音を示すもの)であれば、そのイベントデータ中のイベント種別が示すイベントの内容(ここでは発音、及び消音の何れか)に応じて、それに挿入された音階番号に対応する音高データの図6(c)の候補音高バッファ3への格納、或いはそのバッファ3からのクリアを行う。その後は候補音高取り込み処理を終了して自動演奏処理に戻る。   In step B2-3, if the event data confirmed to have reached the processing timing in step B1 in FIG. 3 is that of the base part (indicating a musical sound that is pronounced as a base sound), the event in the event data Depending on the content of the event indicated by the type (in this case, either pronunciation or mute), the pitch data corresponding to the scale number inserted in the event is stored in the candidate pitch buffer 3 in FIG. 6C, or Clearing from the buffer 3 is performed. Thereafter, the candidate pitch capturing process is terminated and the process returns to the automatic performance process.

図8は鍵盤処理のフローチャートである。鍵盤処理は図2のステップA3で呼び出される。上記したように、ここでもエニーキーモード設定時に実行される処理を抜粋して示している。鍵盤4への操作により発音させる楽音は、この鍵盤処理を実行することで決定される。   FIG. 8 is a flowchart of keyboard processing. The keyboard process is called at step A3 in FIG. As described above, the processing executed when the any key mode is set is also extracted here. The musical sound to be generated by operating the keyboard 4 is determined by executing this keyboard process.

鍵盤処理では、図6に示す各候補音高バッファ1〜3が参照される。また、図7のAnyKeyバッファおよび前回押鍵バッファを参照し、更新する。AnyKeyバッファはエニーキーモードでの楽音の発音を管理するためのものであり、図7(a)に示すように、実際に演奏者が押鍵しているキーに割り当てられた音高を示す鍵盤番号と、その押鍵に対応して実際に発音している音高と、その発音に使っているチャンネル番号からなる組を10組分格納できるように、RAM3上に確保された領域である。以下では、鍵盤番号を格納するフィールドを鍵盤フィールド、音高(データ)を格納するフィールドを「音高フィールド」、チャンネル番号を格納するフィールドを「チャンネルフィールド」とそれぞれ呼ぶことにする。AnyKeyバッファでデータが格納されている(NODATAの状態ではない)組の数は、現在押鍵中のキーの数、つまり発音中の楽音の数と一致する。データを10組分、格納できるようにしたのは、両手の10本の指で最大10個のキーを同時に押鍵することが可能なためである。チャンネルフィールドを設けたのは、演奏パート毎に異なる音色で楽音を発音させることもできるようにしたためである。   In the keyboard process, the candidate pitch buffers 1 to 3 shown in FIG. 6 are referred to. Further, the update is performed with reference to the AnyKey buffer and the previous key depression buffer in FIG. The AnyKey buffer is used for managing the tone generation in the any key mode, and as shown in FIG. 7A, a keyboard indicating the pitches assigned to the keys actually pressed by the performer. This is an area secured on the RAM 3 so that 10 sets of numbers, pitches actually generated corresponding to the key depression, and channel numbers used for the generation can be stored. In the following, a field for storing a keyboard number is called a keyboard field, a field for storing a pitch (data) is called a “pitch field”, and a field for storing a channel number is called a “channel field”. The number of sets in which data is stored in the AnyKey buffer (not in the NODATA state) matches the number of keys currently being pressed, that is, the number of musical tones being generated. The reason for storing 10 sets of data is that it is possible to simultaneously press up to 10 keys with 10 fingers of both hands. The reason why the channel field is provided is that a musical tone can be generated with a different tone for each performance part.

前回押鍵バッファは、図7(b)に示すように、AnyKeyバッファと同様の鍵盤フィールドと音高フィールドを備えた、RAM3上に確保された領域である。鍵盤フィールドには、前回押鍵されたキーの鍵盤番号、音高フィールドには、その押鍵に対応して発音させた楽音の音高データをそれぞれ格納するようにしている。   As shown in FIG. 7B, the previous key pressing buffer is an area secured on the RAM 3 having the same keyboard field and pitch field as the AnyKey buffer. The keyboard field stores the key number of the key that was pressed last time, and the pitch field stores the pitch data of the musical tone that is pronounced corresponding to the key pressed.

先ず、ステップC1では、鍵盤4上のキーの状態変化を判定する。演奏者が新たな押鍵、及び離鍵を行っていない場合、状態が変化したキーは存在しないことから、その旨が判定され、鍵盤処理を終了する。演奏者が新たな離鍵を行った場合には、その旨(OFF)が判定されてステップC23に移行し、演奏者が新たな押鍵を行った場合には、その旨(ON)が判定されてステップC2に移行する。   First, in step C1, a change in the state of a key on the keyboard 4 is determined. If the performer does not perform new key pressing or key release, there is no key whose state has changed, so that determination is made and the keyboard processing is terminated. If the performer performs a new key release, a determination to that effect is made (OFF), and the process proceeds to step C23. If the performer performs a new key press, a determination to that effect (ON) is made. Then, the process proceeds to step C2.

ステップC2では、AnyKeyバッファの空き領域を抽出するためのサーチを行う。その後に移行するステップC3では、サーチによってAnyKeyバッファの空き領域を抽出できたか否か判定する。その空き領域を抽出できた場合、判定はYESとなってステップC4に移行する。反対に空き領域を抽出できなかった場合には、つまり既に10個の楽音を発音中の場合には、判定はNOとなり、ここで鍵盤処理を終了する。   In step C2, a search for extracting an empty area of the AnyKey buffer is performed. In step C3, which moves to the subsequent step, it is determined whether or not a free area of the AnyKey buffer has been extracted by the search. If the free area can be extracted, the determination is yes and the process moves to step C4. On the other hand, if the empty area cannot be extracted, that is, if ten musical sounds are already being generated, the determination is no and the keyboard process is terminated here.

承知のように、ベースパートは最低音を担当する楽器で演奏される。このことに着目し、本実施形態では、ベースパートの楽音を発音可能な鍵域(ベース鍵域)を設定し、そのベース鍵域への操作に応じてそのベースパートで発音させるべき楽音を発音させるようにしている。ベース鍵域以外は、メロディパート、或いはコードパートの楽音を発音可能な鍵域(メロディ・コード鍵域)としている。このことからステップC4では、新たに押鍵されたキーがベース鍵域内のものか否か判定する。演奏者がベース鍵域内のキーを新たに押鍵した場合、判定はYESとなってステップC5に移行し、そうでない場合には、つまりメロディ・コード鍵域内のキーを演奏者が新たに押鍵した場合には、判定はNOとなってステップC7に移行する。   As you know, the bass part is played with the instrument responsible for the lowest note. Focusing on this, in this embodiment, a key range (bass key range) is set that can produce the sound of the bass part, and the tone that should be produced by that base part is pronounced according to the operation to that base key range. I try to let them. Except for the base key range, the key range (melody / code key range) that can generate the melody part or chord part tone is used. Therefore, in step C4, it is determined whether or not the newly pressed key is in the base key range. If the performer presses a new key in the bass key range, the determination is yes and the process moves to step C5. Otherwise, the player presses a new key in the melody chord range. If so, the determination is no and the process moves to step C7.

ステップC5では、演奏すべきベース音があるか否か、つまり図6(c)の候補音高バッファ3に音高データが格納されているか否かを判定する。候補音高バッファ3に音高データが格納されている場合、判定はYESとなってステップC6に移行し、そうでない場合には、判定はNOとなってステップC9に移行する。   In step C5, it is determined whether or not there is a bass sound to be played, that is, whether or not pitch data is stored in the candidate pitch buffer 3 of FIG. If pitch data is stored in the candidate pitch buffer 3, the determination is yes and the process proceeds to step C6, and if not, the determination is no and the process proceeds to step C9.

ステップC6では、候補音高バッファ3に格納されている音高データで楽音が発音中か否か判定する。その音高データが図7(a)のAnyKeyバッファのいずれかの音高フィールドに格納されていた場合、その楽音は発音中として、判定はYESとなってステップC9に移行する。それにより、今回の押鍵はコードパートの楽音を発音させるためのものと見なす。そうでない場合には、判定はNOとなってステップC21に移行する。   In step C6, it is determined whether or not a musical tone is being generated based on the pitch data stored in the candidate pitch buffer 3. If the pitch data is stored in any pitch field of the AnyKey buffer in FIG. 7A, the musical tone is being sounded and the determination is YES, and the process proceeds to step C9. As a result, this key press is considered to be used to sound the chord part. Otherwise, the determination is no and the process moves to step C21.

一方ステップC7では、発音させるべきメロディパートの楽音があるか否か、つまり図6(a)の候補音高バッファ1に音高データが格納されているか否かを判定する。候補音高バッファ1に音高データが格納されている場合、判定はYESとなってステップC8に移行し、その音高データが格納されていない、つまり候補音高バッファ1がNODATAの状態であった場合には、判定はNOとなってステップC9に移行する。   On the other hand, in step C7, it is determined whether or not there is a melody part musical tone to be generated, that is, whether or not pitch data is stored in the candidate pitch buffer 1 of FIG. If pitch data is stored in the candidate pitch buffer 1, the determination is yes and the process moves to step C8, where the pitch data is not stored, that is, the candidate pitch buffer 1 is in a NODATA state. If YES, the determination is no and the process moves to step C9.

ステップC8では、候補音高バッファ1に格納されている音高データで楽音が発音中か否かを判定する。その音高データが図7(a)のAnyKeyバッファのいずれかの音高フィールドに格納されていた場合、その楽音は発音中として、判定はYESとなってステップC9に移行する。そうでない場合には、判定はNOとなってステップC21に移行する。   In step C8, it is determined whether or not the musical sound is being generated based on the pitch data stored in the candidate pitch buffer 1. If the pitch data is stored in any pitch field of the AnyKey buffer in FIG. 7A, the musical tone is being sounded and the determination is YES, and the process proceeds to step C9. Otherwise, the determination is no and the process moves to step C21.

ステップC9〜C20は、今回の押鍵に対してコードパートを対応させて発音する場合の処理である。ステップC9への移行は、ベース鍵域内のキーを押鍵してもベースパートに新たに発音させるべき楽音が存在しない場合、或いはメロディ・コード鍵域内のキーを押鍵してもメロディパートに新たに発音させるべき楽音が存在しない場合に行われる。   Steps C9 to C20 are processes in the case of sounding the chord part corresponding to the current key depression. The transition to Step C9 is that if there is no musical sound to be newly generated even if a key in the bass key range is pressed, or if a key in the melody / code key range is pressed, a new melody part is added. This is performed when there is no musical sound to be generated.

ステップC9では、コードの構成音のうち未発音のものがあるか否かを判定する。候補音高バッファ2に1つ以上の音高データが格納されており、且つそれらのうちで図7(a)のAnyKeyバッファの音高フィールドに格納されていないものがある場合、コードの構成音のうち未発音のものがあるとして、判定はYESとなりステップC10に移行する。候補音高バッファ2に音高データが格納されていない、或いは音高データが1つ以上格納され、且つそのすべてがAnyKeyバッファの音高フィールドに格納されている場合には、未発音の構成音は存在しないとして、判定はNOとなりステップC17に移行する。   In Step C9, it is determined whether or not there are unsounded sounds among the constituent sounds of the chord. If one or more pitch data is stored in the candidate pitch buffer 2 and some of them are not stored in the pitch field of the AnyKey buffer in FIG. As a result, the determination is YES and the process proceeds to step C10. If no pitch data is stored in the candidate pitch buffer 2 or if one or more pitch data is stored and all of them are stored in the pitch field of the AnyKey buffer, the unsounded component sound The determination is NO and the process proceeds to step C17.

ステップC10では、今回押鍵されたキーは前回押鍵されたキーより割り当てられた音高が下か否か判定する。前回押鍵したキーより低い音高のキーを演奏者が今回押鍵した場合、つまり前回押鍵バッファの鍵盤フィールドに格納された鍵盤番号より小さい鍵盤番号が割り当てられたキーを演奏者が今回押鍵した場合、判定はYESとなってステップC14に移行し、そうでない場合には、判定はNOとなってステップC11に移行する。   In step C10, it is determined whether or not the pitch of the key pressed this time is lower than that of the key pressed last time. If the player presses a key with a pitch lower than the key pressed last time, that is, the player presses a key to which a keyboard number smaller than the key number stored in the key field of the previous key pressing buffer is assigned. If the key is locked, the determination is yes and the process proceeds to step C14, and if not, the determination is no and the process proceeds to step C11.

ステップC11では、演奏者が前回の押鍵時よりも高い音高の楽音を発音させようとしたと見なし、候補音高バッファ2に格納された音高データのなかで、AnyKeyバッファの音高フィールドに対応する音高データが格納されてなく、且つ前回、発音させた構成音の音高データ以上、高音の音高データを探す。次にステップC12では、そのような音高データが有ったか否か判定する。そのような音高データを探し出せた場合、判定はYESとなってステップC21に移行し、そうでない場合には、判定はNOとなってステップC13に移行する。   In step C11, it is assumed that the performer tried to produce a musical tone having a pitch higher than that at the time of the previous key depression, and the pitch field of the AnyKey buffer is stored in the pitch data stored in the candidate pitch buffer 2. No pitch data corresponding to is stored, and the pitch data of the treble higher than the pitch data of the constituent sound that was generated last time is searched. Next, in step C12, it is determined whether or not there is such pitch data. If such pitch data can be found, the determination is yes and the process proceeds to step C21, and if not, the determination is no and the process proceeds to step C13.

ステップC13は、コードの構成音に未発音の音が存在するが、その中には前回の押鍵に対応して発音させた構成音の音高データ以上高音の構成音がない場合に実行される。この場合、未発音の構成音をそのまま発音したのでは、前回の押鍵時よりも高音の構成音を発音させようとしている演奏者の意図に応えることはできない。そこで、ステップC13では、未発音の構成音を1オクターブ上げた音高で発音させるよう設定するオクターブUP変換処理を実行する。それにより、演奏者の意図を反映しつつ自然と感じられるようにコードの構成音を発音させる(コードはメロディやベースと異なり、その構成音をオクターブ単位で変換しても(転回しても)演奏の自然さが保たれる)。その後はステップC21に移行する。   Step C13 is executed when there is an unsounded sound in the constituent sounds of the chord, but there is no higher sound than the pitch data of the constituent sound generated in response to the previous key depression. The In this case, if the unsounded component sound is sounded as it is, it cannot respond to the intention of the player who wants to sound a higher sound component than the previous key depression. Therefore, in step C13, an octave UP conversion process is executed for setting the unsounded component sound to be generated at a pitch one octave higher. As a result, the sound of the chord is pronounced so that it feels natural while reflecting the intention of the performer (the chord is different from the melody and bass, even if the sound is converted in octaves) The natural nature of the performance is preserved). Thereafter, the process proceeds to step C21.

ステップC14〜C16は、コードの構成音のうち未発音のものがあり、且つ演奏者は前回よりも低音のキーを今回押鍵している場合に実行される。それにより、演奏者が前回の押鍵時よりも低音の構成音を発音させようとしていると見なし、その意図に対応するための処理が行われる。   Steps C14 to C16 are executed when there is an unsounding sound among the constituent sounds of the chord and the performer has pressed a key that is lower than the previous time this time. As a result, it is considered that the performer is trying to produce a lower component sound than when the key was pressed last time, and processing for responding to the intention is performed.

ステップC14では、候補音高バッファ2に格納された音高データのなかで、AnyKeyバッファの音高フィールドに音高データが格納されてなく、且つ前回、発音させた構成音の音高データより低音の音高データを探す。次にステップC15では、そのような音高データが有ったか否か判定する。そのような音高データを探し出せた場合、判定はYESとなってステップC21に移行し、そうでない場合には、判定はNOとなってステップC16に移行する。   In step C14, the pitch data stored in the candidate pitch buffer 2 does not contain pitch data in the pitch field of the AnyKey buffer, and the pitch data is lower than the pitch data of the constituent sound generated last time. Search for pitch data. Next, in step C15, it is determined whether or not there is such pitch data. If such pitch data can be found, the determination is yes and the process proceeds to step C21, and if not, the determination is no and the process proceeds to step C16.

ステップC16は、コードの構成音に未発音の音が存在するが、その中には前回の押鍵に対応して発音させた構成音の音高データより低音の構成音がない場合に実行される。このことから、ステップC16では、未発音の構成音を1オクターブ下げた音高で発音させるよう設定するオクターブDOWN変換処理を実行する。それにより、演奏者の意図を反映しつつ自然と感じられるようにコードの構成音を発音させる。   Step C16 is executed when there is an unsounded sound in the chord constituent sound, but there is no lower constituent sound than the pitch data of the constituent sound generated corresponding to the previous key depression. The For this reason, in step C16, an octave DOWN conversion process is executed to set the unsounded component sound to be generated at a pitch lowered by one octave. As a result, the constituent sounds of the chords are pronounced so that they feel natural while reflecting the intentions of the performer.

ステップC17〜C20は、演奏すべきコード構成音がすべて発音中の場合に実行される。押鍵操作は、現状よりもさらに多くの楽音を発音させたいという演奏者の意図の表れと見なすことができる。演奏者の意図を実際の楽音の発音に反映させるという観点からは、現在発音されている構成音とは音高が異なる音を押鍵操作に合わせて発音することが好ましいと言える。しかし、ステップC17に移行時には発音すべき構成音は既にすべて発音されているので、演奏の自然さを損なわないような楽音を、現在発音させていない楽音の中から選んで発音する必要がある。   Steps C17 to C20 are executed when all chord constituent sounds to be played are being produced. The key pressing operation can be regarded as an expression of the player's intention to generate more musical sounds than the present situation. From the viewpoint of reflecting the intention of the performer in the pronunciation of the actual musical sound, it can be said that it is preferable to generate a sound having a pitch different from that of the constituent sound currently being generated in accordance with the key depression operation. However, since all the constituent sounds to be pronounced have already been pronounced at the time of the transition to Step C17, it is necessary to select a musical sound that does not impair the naturalness of the performance from the musical sounds that are not currently being pronounced.

そのような楽音として、本実施形態では、発音中のコードの構成音のうちの任意の1つの音高をオクターブ単位で上または下に変換した楽音を採用している。上か下かの選択は、演奏者の意図を発音に反映させるという観点から、前回と今回で押鍵されたキー間の音高関係により行う。   As such a musical tone, in the present embodiment, a musical tone is used in which the pitch of any one of the constituent sounds of the chord being generated is converted up or down in octave units. The selection between upper and lower is made based on the pitch relationship between the key pressed last time and this time from the viewpoint of reflecting the intention of the performer in the pronunciation.

ステップC17への移行は、発音させるべきコード自体が存在しない場合にも行われる。その場合、特には図示していないが、ステップC17〜C20を実行することなく、鍵盤処理を終了するようになっている。   The transition to step C17 is also performed when there is no chord to be generated. In this case, although not shown in particular, the keyboard process is terminated without executing steps C17 to C20.

ステップC17では、図6の候補音高バッファ2の音高フィールドに格納された音高データの中から1つの音高データを選択する。その選択後、ステップC18に移行する。
ステップC18では、ステップC10と同様に、今回押鍵されたキーは前回押鍵されたキーより低音のものか否か判定する。前回押鍵したキーより低音のキーを今回、演奏者が押鍵した場合、判定はYESとなってステップC20に移行し、そうでない場合には、判定はNOとなってステップC19に移行する。
In step C17, one pitch data is selected from the pitch data stored in the pitch field of the candidate pitch buffer 2 in FIG. After the selection, the process proceeds to step C18.
In step C18, as in step C10, it is determined whether or not the key pressed this time is lower than the key pressed last time. If the player presses a key that is lower than the previously pressed key, the determination is yes and the process moves to step C20, and if not, the determination is no and the process moves to step C19.

ステップC19では、ステップC13と同様に、選択した音高データを対象にオクターブUP変換処理を実行する。その後ステップC21に移行する。他方のステップC20では、ステップC16と同様に、選択した音高データを対象にオクターブDOWN変換処理を実行する。その後ステップC21に移行する。   In step C19, as in step C13, octave UP conversion processing is executed for the selected pitch data. Thereafter, the process proceeds to step C21. In the other step C20, the octave DOWN conversion process is executed for the selected pitch data as in the step C16. Thereafter, the process proceeds to step C21.

ステップC21に移行時には、発音させる楽音の音高、その楽音の演奏パートが決定している。その音高は、演奏パートがメロディパート、或いはベースパートであれば候補音高であり、コードパートであれば候補音高、それよりも1オクターブ上の音高、或いは1オクターブ下の音高である。ステップC21では、決定した音高、その音高の楽音を発音させる演奏パートから音源システム6に出力すべきコマンド(ここではMIDIデータ)を生成し、RAM3上に確保した領域に格納する。また、AnyKeyバッファのステップC2で探した空き領域の各フィールドに、今回押鍵されたキーの鍵盤番号、候補音高を示す音高データ、及び演奏パートに対応するチャンネル番号をそれぞれ格納する。続くステップC22では、図7(b)の前回押鍵バッファを更新する。つまり、今回押鍵されたキーの鍵盤番号を鍵盤フィールドに格納し、今回の押鍵により実際に発音させた楽音の音高データを音高フィールドに格納する。その後、鍵盤処理を終了する。   At step C21, the pitch of the musical sound to be generated and the performance part of the musical sound are determined. If the performance part is a melody part or bass part, the pitch is a candidate pitch, if it is a chord part, the pitch is a candidate pitch, a pitch one octave higher than that, or a pitch one octave lower than that. is there. In step C21, a command (MIDI data in this case) to be output to the sound source system 6 is generated from the determined pitch and the performance part that generates the musical tone of that pitch, and stored in an area secured on the RAM 3. Further, the keyboard number of the key pressed this time, the pitch data indicating the candidate pitch, and the channel number corresponding to the performance part are stored in each field of the empty area searched in step C2 of the AnyKey buffer. In the subsequent step C22, the previous key pressing buffer in FIG. 7B is updated. That is, the keyboard number of the key pressed this time is stored in the keyboard field, and the pitch data of the tone actually generated by the current key pressing is stored in the pitch field. Thereafter, the keyboard process is terminated.

演奏者が新たな離鍵を行っていないとステップC1で判定した場合に移行するステップC23では、図7(a)のAnyKeyバッファをサーチして、鍵盤フィールドの鍵盤番号が今回押鍵されたキーのそれと一致する領域の抽出を行う。次のステップC24では、一致する領域が見つかったか否かを判定する。一致する領域を探し出せた場合、判定はYESとなってステップC25に移行する。そうでない場合には、判定はNOとなり、ここで鍵盤処理を終了する。   In step C23 to which the process proceeds when it is determined in step C1 that the performer has not released a new key, the AnyKey buffer in FIG. 7A is searched, and the key whose keyboard number is currently pressed is searched. Extract the region that matches that of. In the next step C24, it is determined whether or not a matching area has been found. If a matching area can be found, the determination is yes and the process moves to step C25. Otherwise, the determination is no and the keyboard process is terminated here.

ステップC25では、一致する領域が複数あればそのうちの一つを選択し、音高フィールドの音高データ、及びチャンネルフィールドのチャンネル番号を用いて音源システム6に出力するコマンド(MIDIデータ)を生成し、RAM3上に確保した領域に格納する。また、AnyKeyバッファのコマンドの生成に用いたデータを格納した領域の各フィールドをクリアしてNODATAの状態にする。その後、鍵盤処理を終了する。   In step C25, if there are a plurality of matching areas, one of them is selected, and a command (MIDI data) to be output to the sound source system 6 is generated using the pitch data of the pitch field and the channel number of the channel field. And stored in an area secured on the RAM 3. In addition, each field of the area storing the data used for generating the command of the AnyKey buffer is cleared to be in a NODATA state. Thereafter, the keyboard process is terminated.

このようにして上記ステップC23〜C25は、離鍵操作に対応するために実行される。その実行により、鍵の押鍵よって発音を開始させたコードの構成音は、その鍵の離鍵によって消音される。このため、ユーザー(演奏者)はコードの構成音毎に、その発音期間を制御できるようになっている。   In this way, the above steps C23 to C25 are executed to respond to the key release operation. As a result of the execution, the constituent sound of the chord that has started sounding by pressing the key is muted by releasing the key. For this reason, the user (performer) can control the period of sound generation for each constituent sound of the chord.

図8の鍵盤処理は上記のとおりであるが、その主な特徴と効果は以下のとおりである。
第一に、複数の演奏パートに優先度を設けることにより、演奏者が押鍵したときに優先度の高い対象演奏パートの音から発音することができる。図8では優先度の順に処理を行うことで実現させている。これにより、演奏者がメロディ・コード鍵域を押鍵した際には、より重要なメロディパートがコードパートよりも優先して発音される。
The keyboard processing of FIG. 8 is as described above, and the main features and effects are as follows.
First, by providing priority to a plurality of performance parts, it is possible to generate sound from the sound of the target performance part having a high priority when the performer presses the key. In FIG. 8, it is realized by performing processing in order of priority. As a result, when the performer presses the melody / chord key range, the more important melody part is pronounced in preference to the chord part.

第二に、押鍵された鍵域によって複数の演奏パートの優先度を変更することにより、演奏者の意図が発音に反映される度合いを高めることができる。本実施形態では、ベース鍵域内のキーが押鍵されたか否かによって優先度を変えている。ベース鍵域内のキーが押鍵された場合の優先度はベースパート、コードパートの順であり、メロディパートは無視される。逆に、メロディ・コード鍵域が押鍵された場合の優先度はメロディパート、コードパートの順であり、ベースパートは無視される。   Second, by changing the priorities of a plurality of performance parts depending on the key range that is pressed, the degree to which the player's intention is reflected in the pronunciation can be increased. In this embodiment, the priority is changed depending on whether or not a key in the base key area is pressed. When a key in the bass key range is pressed, the priority is in the order of the base part and the chord part, and the melody part is ignored. On the other hand, when the melody / code key area is pressed, the priority is in the order of the melody part and the chord part, and the base part is ignored.

なお、本実施形態では対象演奏パートは3つとなっているが、対象演奏パート数はそれよりも多くとも少なくともよい。例えば、演奏パートがメロディパートとコードパートの2つだけでもよい。その場合、図4のステップB2−3、図6(c)の候補音高バッファ3、図8のステップC4〜C6は不要である。   In this embodiment, there are three target performance parts, but the number of target performance parts may be at least greater than that. For example, there may be only two performance parts, a melody part and a chord part. In that case, step B2-3 in FIG. 4, the candidate pitch buffer 3 in FIG. 6C, and steps C4 to C6 in FIG. 8 are unnecessary.

楽曲データについては、データを演奏パート毎に分けて記述されたものを用いているが、パート毎に分けて記述されていないものを用いても良い。その場合、演奏内容を解析して、発音を示す楽音が属する演奏パートを特定すれば良い。また形式も特に限定されるものではない。その楽曲データは、ROM2に格納して用意するのではなく、ネットワークや可搬型コンピュータ読み取り可能記憶媒体(メモリカード等)を介して取得するものであっても良い。   As for the music data, the data is described separately for each performance part, but the data that is not described separately for each part may be used. In that case, it is only necessary to analyze the performance content and specify the performance part to which the musical sound indicating the pronunciation belongs. Also, the format is not particularly limited. The music data may be acquired via a network or a portable computer-readable storage medium (memory card or the like), instead of being stored in the ROM 2 and prepared.

演奏パート間の優先度の変更は、ベース鍵域内のキーが押鍵されたか否かにより行っている。その変更は、演奏パート毎に鍵域を設定して行うようにしても良い。その鍵域は固定でも良いが、ユーザーによって変更可能としても良い。   The priority between performance parts is changed depending on whether or not a key in the bass key range is pressed. The change may be made by setting a key range for each performance part. The key range may be fixed, but may be changed by the user.

本実施形態では、発音させるべき楽音を全て発音中の状況下で更に押鍵が行われると、その押鍵によって更に楽音を発音させるようにしている。しかし、そのような状況下では、更に楽音を発音させないようにしても良い。つまり押鍵を無視するようにしても良い。   In the present embodiment, when a key is further pressed under a situation where all the musical sounds to be generated are being generated, the musical sound is further generated by the key pressing. However, in such a situation, it may be possible to prevent further sound generation. That is, the key press may be ignored.

コードを発音させるための全ての押鍵が同時に行われるとは限らない。発音させるコード(の構成音)は常に同じものとは限らない。このことから、前後に押鍵されたキーの音高関係に着目して構成音を選択するのではなく、一定時間の間に押鍵されたキーを全て考慮する形で構成音を選択するようにしても良い。コードによって構成音は異なることから、前のコードの影響を回避するために、前回押鍵バッファは候補音階バッファ2の更新に応じてクリアすることが望ましい。   Not all keys are pressed at the same time to generate a chord. The chords to be pronounced (the constituent sounds) are not always the same. Therefore, instead of selecting the constituent sounds by focusing on the pitch relationship of the keys pressed before and after, select the constituent sounds in a way that considers all the keys pressed for a certain period of time. Anyway. Since the constituent sounds differ depending on the chord, it is desirable to clear the previous key pressing buffer in accordance with the update of the candidate musical scale buffer 2 in order to avoid the influence of the previous chord.

<第2の実施形態>
上記第1の実施形態では、楽曲データに沿って自動的に演奏を進行させる自動進行方法が採用されている。これに対し第2の実施形態は、演奏操作子への操作によって進行させるマニュアル進行方法を採用したものである。それにより、スキルの低い演奏者が自身に合ったペースで演奏を行えるようにしている。
<Second Embodiment>
In the said 1st Embodiment, the automatic progress method which advances a performance automatically along music data is employ | adopted. On the other hand, the second embodiment employs a manual progression method that proceeds by operating the performance operator. This allows players with low skills to perform at a pace that suits them.

第2の実施形態による演奏装置の構成は基本的に第1の実施形態と同じである。動作も大部分は同じである。このことから、第1の実施形態で付した符号をそのまま用いつつ、第1の実施形態から異なる部分にのみ着目する形で説明を行う。ここでは、対象演奏パートはメロディパート、及びコードパートを想定する。   The configuration of the performance device according to the second embodiment is basically the same as that of the first embodiment. The operation is largely the same. For this reason, the description will be made in such a manner that only the portions different from the first embodiment are focused while using the reference numerals given in the first embodiment as they are. Here, the target performance part is assumed to be a melody part and a chord part.

上記第1の実施形態では、鍵盤4上のキーをベース鍵域、及びメロディ・コード鍵域の2つのグループに分け、ベース鍵域はベースパート、メロディ・コート鍵域はメロディパート、及びコードパートの2つの演奏パートの演奏用に割り当てている。これに対し第2の実施形態では、鍵盤4上のキーをコードパート演奏用のコード鍵域、及びコード鍵域以外をメロディパート演奏用のメロディ鍵域の2つのグループに分けている。それにより、各グループにそれぞれ一つの演奏パートを割り当てている。演奏の進行は、メロディ鍵域への操作に応じて、つまりメロディパートでの楽音の発音に応じて行うようにしている。   In the first embodiment, the keys on the keyboard 4 are divided into two groups: a base key range and a melody / code key range. The base key range is the base part, the melody / coat key range is the melody part, and the chord part. Are assigned for the performance of the two performance parts. On the other hand, in the second embodiment, the keys on the keyboard 4 are divided into two groups: a chord key area for chord part performance, and a melody key area for melody part performance other than the chord key area. Thereby, one performance part is assigned to each group. The progress of the performance is performed according to the operation to the melody key range, that is, according to the sound of the musical tone in the melody part.

上述したような演奏の進行を可能とするために、第2の実施形態では図2に示すメイン処理において、ステップA2として実行される自動演奏処理、及びステップA3として実行される鍵盤処理が第1の実施形態から異なっている。他のステップでは処理内容は同じか、或いは基本的に同じである。このことから、第2の実施形態で実行される自動演奏処理、及び鍵盤処理について、図9〜図12を参照して詳細に説明する。   In order to enable the progress of the performance as described above, in the second embodiment, the automatic performance process executed as step A2 and the keyboard process executed as step A3 in the main process shown in FIG. Different from the embodiment. In other steps, the processing contents are the same or basically the same. Thus, the automatic performance process and the keyboard process executed in the second embodiment will be described in detail with reference to FIGS.

図9は、第2の実施形態で実行される自動演奏処理のフローチャートである。始めに図9を参照して、その自動演奏処理について詳細に説明する。
楽曲データ中で処理対象とする楽音データは、各楽音データを構成する時間データが示す時間間隔Δtを計時して移行させる。第2の実施形態では、発音すべき楽音が発生した場合に、つまり図6(a)の候補音高バッファ1に音高データを新たに格納した場合に、その楽音の発音を指示するメロディ鍵域に対する押鍵が行われるまでの間、時間の計時を一時停止させることにより、メロディパートでの演奏に合わせて、楽曲データ中の楽音データの処理を進行させる。時間の計時は、一定時間間隔(例えば上記最小時間間隔)で発生する割り込み信号により実行されるタイマインタラプト処理、或いはCPU1に搭載のハードタイマを用いて行うことができる。ここでは、タイマインタラプト処理を用いて時間を計時するものと想定する。そのタイマインタラプト処理は、例えば実行する度に、計時した時間を示す値(以降「タイマ値」と呼ぶ)をインクリメント、或いはデクリメントするものである。そのようなタイマインタラプト処理による時間の計時は、それを実行させる割り込み信号を無効とさせることで停止させることができる。
FIG. 9 is a flowchart of the automatic performance process executed in the second embodiment. First, the automatic performance process will be described in detail with reference to FIG.
The musical tone data to be processed in the music data is shifted by measuring the time interval Δt indicated by the time data constituting each musical tone data. In the second embodiment, when a musical tone to be generated is generated, that is, when pitch data is newly stored in the candidate pitch buffer 1 of FIG. 6A, a melody key that instructs the musical tone to be generated. Until the key is pressed to the area, the time measurement is temporarily stopped, so that the processing of the musical sound data in the music data is advanced in accordance with the performance of the melody part. The time can be measured using a timer interrupt process executed by an interrupt signal generated at a constant time interval (for example, the above-mentioned minimum time interval), or a hardware timer mounted on the CPU 1. Here, it is assumed that the time is measured using the timer interrupt process. The timer interrupt process, for example, increments or decrements a value indicating the measured time (hereinafter referred to as “timer value”) each time it is executed. Time counting by such timer interrupt processing can be stopped by disabling the interrupt signal for executing it.

先ず、ステップB10では、時間を計時中か否か判定する。時間を計時中か否かは、上記タイマインタラプト処理を実行させる割り込み信号が無効となっているか否かの確認、或いは上記タイマ値の更新の有無の確認により判定することができる。そのような確認の結果、時間が計時中であることが判明した場合、判定はYESとなってステップB11に移行する。そうでない場合には、判定はNOとなり、ここで自動演奏処理を終了する。   First, in step B10, it is determined whether or not the time is being measured. Whether or not the time is being measured can be determined by confirming whether or not the interrupt signal for executing the timer interrupt process is invalid, or confirming whether or not the timer value is updated. As a result of such confirmation, if it is determined that the time is being measured, the determination is yes and the process proceeds to step B11. Otherwise, the determination is no and the automatic performance process ends here.

ステップB11では、直前のイベントデータを処理してから、そのイベントデータに付加された時間データ(図5)が示す時間間隔Δtが経過したか否か判定する。直前のイベントデータが存在しない(次に処理対象とするイベントデータは先頭に位置する楽音データを構成している)、或いは上記タイマ値がその時間間隔Δtの経過を示していた場合、判定はYESとなってステップB12に移行する。それらの何れでもない場合には、判定はNOとなり、ここで自動演奏処理を終了し、図2のメイン処理に戻る。   In step B11, it is determined whether or not the time interval Δt indicated by the time data (FIG. 5) added to the event data has elapsed since the previous event data was processed. If the previous event data does not exist (the event data to be processed next constitutes the musical sound data located at the head), or the timer value indicates the lapse of the time interval Δt, the determination is YES Then, the process proceeds to step B12. If it is none of these, the determination is no, the automatic performance process is terminated here, and the process returns to the main process in FIG.

ステップB12では、楽曲データから次の楽音データを読み出し、その楽音データ中の時間データが示す時間間隔Δtの計時を開始させる。その計時の開始は、上記タイマ値に初期値を設定することで行う。続くステップB13では、読み出した楽音データ中のイベントデータが示すチャンネル(図中「演奏ch」と表記)の判定を行う。そのチャンネルがメロディパートのもの(メロディチャンネル)であった場合、その旨が判定されてステップB14に移行し、時間の計時を一時停止させた後、自動演奏処理を終了する。   In step B12, the next musical tone data is read from the music data, and the time interval Δt indicated by the time data in the musical tone data is started. The timing is started by setting an initial value for the timer value. In the subsequent step B13, the channel (denoted as “performance ch” in the figure) indicated by the event data in the read musical sound data is determined. If the channel is that of the melody part (melody channel), it is determined to that effect, the process proceeds to step B14, the time measurement is temporarily stopped, and then the automatic performance process is terminated.

メロディパートの演奏に合わせて演奏全体を進行させることから、図6(a)の候補音高バッファ1への音高データの格納は基本的に、後述の鍵盤処理で行うようになっている。その鍵盤処理では、メロディ鍵域への押鍵により、楽曲データ中で処理対象とする楽音データをメロディパートで次の楽音の発音を示す楽音データまで進め、その楽音データから特定される音高データを候補音高バッファ1に格納することにより、次のメロディ鍵域への押鍵への用意を行うようにしている。このため、ステップB14への移行は基本的に、メロディパートで発音タイミングとなった楽音の発音指示をそのタイミング期間内に演奏者が行わなかった場合に生じるようになっている。それにより、メロディパートの楽音の発音指示を演奏者が行うのを待つようにして、演奏者が自身の演奏により、演奏全体の進行を制御できるようにしている。   Since the entire performance is advanced in accordance with the performance of the melody part, the pitch data is basically stored in the candidate pitch buffer 1 shown in FIG. In the keyboard processing, by pressing the key to the melody key range, the musical sound data to be processed in the music data is advanced to the musical sound data indicating the next musical sound in the melody part, and the pitch data specified from the musical sound data Is stored in the candidate pitch buffer 1 to prepare for the key depression to the next melody key range. For this reason, the transition to step B14 basically occurs when the performer does not give an instruction to generate a musical sound that has been generated at the melody part within that timing period. This allows the player to control the progress of the entire performance according to his / her performance while waiting for the performer to issue a tone generation instruction for the melody part.

なお、上記ステップB12で読み出すべき楽音データが無いことが判明すると、特には図示していないが、ここで自動演奏処理を終了するようになっている。そのステップB12、及びステップB11は、図3に示す自動演奏処理ではステップB1で行われる。   If it is found that there is no musical tone data to be read in step B12, the automatic performance process is terminated here, although not particularly shown. Step B12 and step B11 are performed in step B1 in the automatic performance process shown in FIG.

候補音高バッファ1への音高データの格納は、メロディパートの最初の楽音を発音させるタイミングとなってから行われる。このため、その楽音の発音を示す楽音データはステップB12で読み出される。その楽音データをステップB12で読み出した場合には、ステップB14に移行して、時間の計時を一時停止させると共に、音高データの候補音高バッファ1への格納を併せて行うようになっている。その音高データを格納すべきか否かは、候補音高バッファ1に格納された音高データの有無により判定することができる。   The pitch data is stored in the candidate pitch buffer 1 after the timing for generating the first musical tone of the melody part. For this reason, the musical tone data indicating the pronunciation of the musical tone is read in step B12. When the musical tone data is read out in step B12, the process proceeds to step B14 to temporarily stop timing and store the pitch data in the candidate pitch buffer 1 together. . Whether or not the pitch data should be stored can be determined based on the presence or absence of pitch data stored in the candidate pitch buffer 1.

一方、イベントデータが示すチャンネルがコードパートのもの(コードチャンネル)であった場合には、その旨がステップB13で判定されてステップB15に移行する。コードパートのイベントデータには、コードの種類を示すコード名データ、及びルートの音高を示すルート音階番号が挿入されている。このことから、ステップB15では、コード名データ、及びルート音階番号からコードの各構成音の音高データを特定し、特定した音高データを、イベント種別が示すイベントの内容(ここでは発音、及び消音の何れか)に応じて、図6(b)の候補音高バッファ2に格納するか、或いはそのバッファ2からクリアしてNODATAの状態にする。自動演奏処理はその後に終了する。   On the other hand, if the channel indicated by the event data is that of the code part (code channel), this is determined in step B13 and the process proceeds to step B15. In the chord part event data, chord name data indicating the type of chord and root scale number indicating the pitch of the root are inserted. Therefore, in step B15, the pitch data of each constituent sound of the chord is specified from the chord name data and the root scale number, and the specified pitch data is used for the event content (in this case, the pronunciation and Depending on whether the sound is muted), it is stored in the candidate pitch buffer 2 in FIG. 6B, or cleared from the buffer 2 to be in a NODATA state. The automatic performance process ends thereafter.

イベントデータが示すチャンネルがメロディパート及びコードパート以外のもの、つまりリズムパートや、リズムパート等のチャンネルであった場合には、その旨がステップB13で判定されてステップB16に移行する。そのステップB16では、イベントデータから音源システム6に送出すべきMIDIデータを生成しRAM3に格納する。その後、自動演奏処理を終了する。   If the channel indicated by the event data is a channel other than the melody part and chord part, that is, a channel such as a rhythm part or a rhythm part, this is determined in step B13 and the process proceeds to step B16. In step B16, MIDI data to be sent to the sound source system 6 is generated from the event data and stored in the RAM 3. Thereafter, the automatic performance process is terminated.

図10は、第2の実施形態で実行される鍵盤処理のフローチャートである。次に図10を参照して、その鍵盤処理について詳細に説明する。
その鍵盤処理は、第1の実施形態と同様に、エニーキーモード設定時に実行される処理を抜粋して示している。第1の実施形態と同じ、或いは基本的に同じ処理内容のステップには同一の符号を付している(図12)。それにより、第1の実施形態から異なる部分にのみ着目する形で説明を行う。
FIG. 10 is a flowchart of keyboard processing executed in the second embodiment. Next, the keyboard process will be described in detail with reference to FIG.
The keyboard processing is extracted from the processing executed when the any key mode is set, as in the first embodiment. Steps having the same processing contents as in the first embodiment or basically the same processing steps are denoted by the same reference numerals (FIG. 12). Thus, the description will be made in a manner that focuses only on portions that are different from the first embodiment.

先ず、ステップD1では、メロディ鍵域で状態が変化したキーがあるか否か判定する。新たな押鍵、或いは離鍵によって状態が変化したキーがメロディ鍵域のものであった場合、判定はYESとなってステップD2に移行し、メロディ鍵域に対する操作に対応するためのメロディ鍵処理を実行した後、鍵盤処理を終了する。状態が変化したキーがコード鍵域のものであった場合には、判定はNOとなってステップD3に移行し、コード鍵域に対する操作に対応するための伴奏鍵処理を実行した後、鍵盤処理を終了する。新たに押鍵、或いは離鍵されたキーが存在しない場合には、その旨が判定され、ここで鍵盤処理を終了する。   First, in step D1, it is determined whether there is a key whose state has changed in the melody key range. If the key whose state has changed due to a new key press or key release is in the melody key range, the determination is YES, the process moves to step D2, and the melody key process for responding to the operation on the melody key range After executing the above, the keyboard process is terminated. If the key whose state has changed is in the chord key range, the determination is no, the process moves to step D3, and after performing accompaniment key processing to respond to an operation on the chord key range, Exit. If there is no newly pressed or released key, it is determined to that effect and the keyboard process is terminated here.

図11は、上記ステップD2として実行されるメロディ鍵処理のフローチャートである。次に図11を参照して、そのメロディ鍵処理について詳細に説明する。
先ず、ステップE1では、状態の変化がキーへの押鍵によるものか否か判定する。演奏者がキーを新たに押鍵した場合、その旨を示す情報が鍵盤4からCPU1に通知されることから、判定はYESとなってステップE2に移行し、そうでない場合には、判定はNOとなってステップE6に移行し、離鍵された鍵への押鍵によって発音させている楽音の消音を指示するMIDIデータを作成しRAM3に格納した後、メロディ鍵処理を終了する。
FIG. 11 is a flowchart of the melody key process executed as step D2. Next, the melody key process will be described in detail with reference to FIG.
First, in step E1, it is determined whether or not the change in state is caused by pressing a key. When the performer newly presses a key, information indicating that fact is notified from the keyboard 4 to the CPU 1, so that the determination is YES and the process proceeds to step E 2. Otherwise, the determination is NO Then, the process proceeds to step E6, where MIDI data for instructing the muting of the musical sound generated by pressing the key that has been released is created and stored in the RAM 3, and then the melody key process is terminated.

ステップE2では、図6(a)の候補音高バッファ1に格納された音高データを用いて楽音の発音を指示するMIDIデータを生成しRAM3に格納する。続くステップE3では、楽曲データ中で処理対象とする楽音データを、メロディパートで次の楽音の発音を示す楽音データまで早送りし(進め)、読み出す。次のステップE4では、時間の計時が一時停止中であればその計時を再開、つまりタイマインタラプト処理を実行(起動)させる割り込み信号を有効とさせる。その後はステップE5に移行し、読み出した楽音データ中のイベントデータから特定される音高データを候補音高バッファ1に格納し、上記タイマ値に初期値を設定してから鍵盤処理を終了する。   In step E2, MIDI data for instructing the pronunciation of a musical tone is generated and stored in the RAM 3 using the pitch data stored in the candidate pitch buffer 1 of FIG. In the subsequent step E3, the musical sound data to be processed in the music data is fast-forwarded (advanced) and read out to musical sound data indicating the sound of the next musical sound in the melody part. In the next step E4, if the time measurement is temporarily stopped, the time measurement is restarted, that is, an interrupt signal for executing (starting) the timer interrupt process is made valid. Thereafter, the process proceeds to step E5, in which pitch data specified from the event data in the read musical tone data is stored in the candidate pitch buffer 1, and an initial value is set to the timer value, and then the keyboard process is terminated.

このようにして、メロディ鍵域への押鍵により、次にメロディパートで発音させるべき楽音の音高データが候補音高バッファ1に格納され、演奏箇所はその楽音の発音開始タイミングに変更される。それにより、メロディパートでの演奏に合わせて演奏全体の進行が管理される。   In this way, by pressing the key into the melody key range, the pitch data of the musical sound to be generated next by the melody part is stored in the candidate pitch buffer 1, and the performance location is changed to the sounding start timing of the musical sound. . Thereby, the progress of the entire performance is managed according to the performance of the melody part.

図12は、上記ステップD3として実行される伴奏鍵処理のフローチャートである。最後に図12を参照して、その伴奏鍵処理について詳細に説明する。この伴奏鍵処理では、第1の実施形態(図8)と同じ、或いは基本的に同じ処理内容のステップには同一の符号を付している。それにより、第1の実施形態から異なる部分にのみ着目して説明する。   FIG. 12 is a flowchart of the accompaniment key process executed as step D3. Finally, the accompaniment key process will be described in detail with reference to FIG. In this accompaniment key process, steps having the same or basically the same processing contents as those in the first embodiment (FIG. 8) are denoted by the same reference numerals. Accordingly, only the parts different from the first embodiment will be described.

先ず、ステップF1では、状態の変化がキーへの押鍵によるものか否か判定する。演奏者がキーを新たに押鍵した場合、その旨を示す情報が鍵盤4からCPU1に通知されることから、判定はYESとなってステップC2に移行し、そうでない場合には、判定はNOとなってステップC23に移行する。   First, in step F1, it is determined whether or not the change in state is caused by pressing a key. When the performer presses a new key, information indicating that is notified from the keyboard 4 to the CPU 1, the determination is YES and the process proceeds to step C 2. Otherwise, the determination is NO Then, the process proceeds to step C23.

第2の実施形態では、ステップC3の処理の実行後にステップC9に移行する。ステップC3、或いはC24でのNOの判定、ステップ22、或いはC25の処理の実行により、伴奏鍵処理を終了する。   In the second embodiment, the process proceeds to step C9 after the process of step C3 is executed. The accompaniment key process is terminated by determining NO in step C3 or C24 and executing the process in step 22 or C25.

<第3の実施形態>
上記第2の実施形態では、メロディ鍵域の任意のキーを演奏者が押鍵することにより、メロディパートで発音させるべき楽音を発音させるようにしている。これに対し第3の実施形態は、メロディパートで発音させるべき楽音の音高に対応するキーの押鍵によりその楽音を発音させるようにしたものである。それにより、演奏者が自身に合ったペースでの演奏を行えるようにしつつ、正しいキーの押鍵を学習できるようにさせている。
<Third Embodiment>
In the second embodiment, when a player presses any key in the melody key range, a musical sound to be generated in the melody part is generated. On the other hand, in the third embodiment, the musical sound is generated by pressing the key corresponding to the pitch of the musical sound to be generated by the melody part. This allows the performer to learn the correct key press while allowing the performer to perform at a pace that suits him.

第3の実施形態による演奏装置の構成も第2の実施形態と同様に、基本的に第1の実施形態と同じである。動作も大部分は同じである。このことから、第1の実施形態で付した符号をそのまま用いつつ、第1或いは第2の実施形態から異なる部分にのみ着目する形で説明を行う。ここでも第2の実施形態と同様に、対象演奏パートはメロディパート、及びコードパートを想定する。   The configuration of the performance device according to the third embodiment is basically the same as that of the first embodiment, similarly to the second embodiment. The operation is largely the same. For this reason, the description will be made in such a manner that only the portions different from those in the first or second embodiment are focused while using the reference numerals given in the first embodiment as they are. Here, as in the second embodiment, the target performance part is assumed to be a melody part and a chord part.

上記第2の実施形態では、鍵盤4上のキーをコードパート演奏用のコード鍵域、及びコード鍵域以外をメロディパート演奏用のメロディ鍵域の2つのグループに分け、各グループにそれぞれ一つの演奏パートを割り当てている。これに対し第3の実施形態では、メロディパートの演奏では正しいキーの押鍵を演奏者に要求することから、そのキーのみをメロディ演奏用とし、それ以外をコード演奏用としている。演奏の進行は、メロディ鍵域への正しいキーへの押鍵に応じて行うようにしている。メロディ演奏用のキーを通常の演奏で操作すべきとする正しいキーにのみ限定することから、演奏者にとっては鍵域を考慮した演奏を行う必要性が回避される。演奏の進行の基準となる演奏パート(メロディパート)用に割り当てるキー数は必要最小限となることから、つまり他の演奏パート用に割り当て可能なキー数はより多くなることから、他の演奏パートでの演奏における自由度がより高くなる、キーを割り当て可能な演奏パート数がより多くなる、といった利点もある。   In the second embodiment, the keys on the keyboard 4 are divided into two groups: a chord key area for playing a chord part, and a melody key area for playing a melody part other than the chord key area, one for each group. A performance part is assigned. On the other hand, in the third embodiment, when a melody part is played, the player is required to press the correct key, so that only that key is used for playing the melody and the other keys are used for playing the chord. The progress of the performance is performed in response to pressing of the correct key to the melody key range. Since the keys for playing the melody are limited to the correct keys that should be operated in the normal performance, it is possible for the performer to avoid performing the performance in consideration of the key range. Since the number of keys that can be assigned to the performance part (melody part), which is the basis for the performance progress, is minimized, that is, the number of keys that can be assigned to other performance parts is increased. There are also advantages such as a greater degree of freedom in performances and a greater number of performance parts to which keys can be assigned.

上述したような演奏の進行を可能とするために、第3の実施形態では図2に示すメイン処理において、ステップA3として実行される鍵盤処理が第2の実施形態から異なっている。他のステップでは処理内容は同じか、或いは基本的に同じである。このことから、第3の実施形態で実行される鍵盤処理についてのみ、図13を参照して詳細に説明する。その図13は、第3の実施形態で実行される鍵盤処理のフローチャートである。その鍵盤処理は、第1及び第2の実施形態と同様に、エニーキーモード設定時に実行される処理を抜粋して示している。第1の実施形態と同じ、或いは基本的に同じ処理内容のステップには同一の符号を付している。   In order to allow the performance of the performance as described above, in the third embodiment, the keyboard process executed as step A3 in the main process shown in FIG. 2 is different from that in the second embodiment. In other steps, the processing contents are the same or basically the same. Therefore, only the keyboard process executed in the third embodiment will be described in detail with reference to FIG. FIG. 13 is a flowchart of keyboard processing executed in the third embodiment. As in the first and second embodiments, the keyboard process is extracted from the process executed when the any key mode is set. Steps having the same processing contents as or basically the same as those in the first embodiment are denoted by the same reference numerals.

先ず、ステップG1では、鍵盤4上のキーの状態変化を判定する。演奏者が新たな押鍵、及び離鍵を行っていない場合、状態が変化したキーは存在しないことから、その旨が判定され、ここで鍵盤処理を終了する。演奏者が新たな離鍵を行った場合には、その旨(OFF)が判定されてステップG8に移行する。演奏者が新たな押鍵を行った場合には、その旨(ON)が判定されてステップG2に移行する。   First, in step G1, the state change of the key on the keyboard 4 is determined. If the performer has not pressed and released a new key, there is no key whose state has changed, so that determination is made, and the keyboard process ends here. When the performer performs a new key release, it is determined to that effect (OFF) and the process proceeds to step G8. If the performer has pressed a new key, a determination to that effect is made (ON), and the process proceeds to step G2.

ステップG2では、押鍵されたキーは図6(a)の候補音高バッファ1に格納された音高データに対応するものか否か判定する。メロディパートで次の楽音の発音指示のために押鍵すべきキーを演奏者が正しく押鍵した場合、判定はYESとなってステップG3に移行し、そうでない場合には、判定はNOとなってステップC2に移行する。それにより、コード演奏用のキーが押鍵されたと見なし、その押鍵に対応するための処理を実行する。一方、ステップG3〜G6の処理内容については、図11のステップE2〜E5と同じであるため、説明を省略する。   In step G2, it is determined whether or not the pressed key corresponds to the pitch data stored in the candidate pitch buffer 1 of FIG. If the performer correctly presses the key to be pressed to instruct the next musical tone in the melody part, the determination is yes and the process moves to step G3. Otherwise, the determination is no. To step C2. As a result, it is considered that a chord playing key has been depressed, and processing for responding to the depressed key is executed. On the other hand, the processing contents of steps G3 to G6 are the same as steps E2 to E5 of FIG.

一方、上記ステップG8では、離鍵されたキーがメロディパートで発音中の楽音の発音を指示したものか否か判定する。その楽音をそのキーへの押鍵によって発音させていた場合、判定はYESとなってステップG9に移行し、その楽音の消音を指示するMIDIデータを生成してRAM3に格納した後、鍵盤処理を終了する。そうでない場合には、判定はNOとなってステップC23に移行する。   On the other hand, in step G8, it is determined whether or not the key that has been released has instructed the pronunciation of a musical sound that is being generated in the melody part. If the musical tone is sounded by pressing the key, the determination is YES, the process proceeds to step G9, MIDI data for instructing the muting of the musical sound is generated and stored in the RAM 3, and then keyboard processing is performed. finish. Otherwise, the determination is no and the process moves to step C23.

なお、第3の実施形態では、第2の実施形態と同様に、メロディパートでの楽音の発音指示により、演奏箇所をメロディパートで次に発音させるべき楽音の位置に進め、楽曲データ中で処理対象とする楽音データをその楽音の発音を示す楽音データに移行させるようにしているが、そのように演奏を進行させなくとも良い。例えばメロディパートでの楽音の発音指示により、その楽音の発音を示す楽音データ以降の処理を進めるようにしても良い。   In the third embodiment, in the same way as in the second embodiment, in response to a musical sound generation instruction in the melody part, the performance location is advanced to the position of the musical sound to be generated next in the melody part and processed in the music data. Although the target musical tone data is shifted to musical tone data indicating the pronunciation of the musical tone, the performance does not have to proceed in this way. For example, in response to a tone generation instruction in a melody part, the processing after the tone data indicating the tone generation may be advanced.

<第4の実施形態>
上記第2及び第3の実施形態では、鍵盤4への操作により演奏を進行させるようにしている。これに対し第4の実施形態は、鍵盤4以外の演奏操作子への操作により演奏を進行させるようにしたものである。
<Fourth Embodiment>
In the second and third embodiments, the performance is advanced by operating the keyboard 4. On the other hand, in the fourth embodiment, the performance is advanced by operating the performance operators other than the keyboard 4.

第4の実施形態による演奏装置の構成も第2及び第3の実施形態と同様に、基本的に第1の実施形態と同じである。動作も大部分は同じである。このことから、第1の実施形態で付した符号をそのまま用いつつ、第1、第2、或いは第3の実施形態から異なる部分にのみ着目する形で説明を行う。ここでは対象演奏パートは、メロディパート、コードパート、ベースパート、及びリズムパートを想定する。   The configuration of the performance device according to the fourth embodiment is basically the same as that of the first embodiment, as in the second and third embodiments. The operation is largely the same. For this reason, the description will be made in such a manner that only the portions different from those of the first, second, or third embodiment are focused while using the reference numerals given in the first embodiment as they are. Here, the target performance part is assumed to be a melody part, chord part, bass part, and rhythm part.

第4の実施形態では、鍵盤4(上のキー)以外の演奏操作子として、演奏者が足で操作するペダルを想定している。そのために第4の実施形態による演奏装置は、図1に示すように、ペダル20用のインターフェース10を備えている。エニーキーモード設定時には、ペダル20はそれに割り当てた対象演奏パートの音の発音指示用の演奏操作子として機能させるようにしている。その対象演奏パートはリズムパートとし、演奏の進行はペダル20への操作に応じて行うようにしている。そのペダル20を演奏操作子として用いるようにしたことにより、演奏者が自身に合ったペースでより多くの演奏パートの演奏を容易に行えるようにしている。   In the fourth embodiment, a pedal operated by a performer with a foot is assumed as a performance operator other than the keyboard 4 (upper key). Therefore, the performance device according to the fourth embodiment includes an interface 10 for the pedal 20, as shown in FIG. When the any key mode is set, the pedal 20 is made to function as a performance operator for instructing sound generation of the target performance part assigned thereto. The target performance part is a rhythm part, and the progress of the performance is performed according to the operation of the pedal 20. By using the pedal 20 as a performance operator, the performer can easily perform more performance parts at a pace suitable for him.

上述したような演奏の進行を可能とするために、第4の実施形態では図2に示すメイン処理において、ステップA2として実行される自動演奏処理、及びステップA5として実行されるその他処理が第1の実施形態から異なっている。他のステップでは処理内容は同じか、或いは基本的に同じである。このことから、第4の実施形態で実行される鍵盤処理、及びその他処理についてのみ詳細に説明する。   In order to enable the progress of the performance as described above, in the fourth embodiment, the automatic performance process executed as step A2 and the other processes executed as step A5 in the main process shown in FIG. Different from the embodiment. In other steps, the processing contents are the same or basically the same. For this reason, only the keyboard processing and other processing executed in the fourth embodiment will be described in detail.

図14は、第4の実施形態で実行される自動演奏処理のフローチャートである。始めに図14を参照して、その自動演奏処理について詳細に説明する。その図14では、第2の実施形態(図9)と同じ、或いは処理内容が同じものには同一の符号を付している。   FIG. 14 is a flowchart of an automatic performance process executed in the fourth embodiment. First, the automatic performance process will be described in detail with reference to FIG. In FIG. 14, the same reference numerals are given to the same components as those in the second embodiment (FIG. 9) or the same processing contents.

第4の実施形態では、ステップB12の処理の実行後はステップH1に移行する。そのステップH1では、読み出した楽音データ中のイベントデータが示すチャンネルの判定を行う。そのチャンネルがリズムパートのもの(リズムチャンネル)であった場合、その旨が判定されてステップH2に移行し、時間の計時を一時停止させた後、自動演奏処理を終了する。イベントデータが示すチャンネルがメロディパート、コードパート、或いはベースパートのものであった場合には、その旨がステップH1で判定されてステップB2に移行し、図4に示す候補音高取り込み処理を実行した後、自動演奏処理を終了する。その候補音高取り込み処理の内容は第1の実施形態と同じであることから、図2に示すメイン処理内でステップA3として実行される鍵盤処理の内容も第1の実施形態と同じとなっている。   In the fourth embodiment, after execution of the process of step B12, the process proceeds to step H1. In step H1, the channel indicated by the event data in the read musical tone data is determined. If the channel is that of a rhythm part (rhythm channel), it is determined to that effect, the process proceeds to step H2, the time measurement is temporarily stopped, and then the automatic performance process is terminated. If the channel indicated by the event data is that of the melody part, chord part, or base part, that fact is determined in step H1, the process proceeds to step B2, and the candidate pitch capturing process shown in FIG. 4 is executed. After that, the automatic performance process is terminated. Since the contents of the candidate pitch capturing process are the same as those of the first embodiment, the contents of the keyboard process executed as step A3 in the main process shown in FIG. 2 are also the same as those of the first embodiment. Yes.

リズムパートでリズム音を発音させるためのデータ(以降「リズム音データ」)は、他の対象演奏パートであるメロディパートやコードパート等と同様に、そのリズムパート用にRAM3に確保した領域である領域(以降「リズムバッファ」と呼ぶ)に格納するようになっている。リズムパートの演奏に合わせて演奏全体を進行させることから、そのリズムバッファへのリズム音データの格納は基本的に、別のサブルーチン処理で行うようになっている。そのサブルーチン処理では、第2の実施形態と同様に、ペダル20の押下により、楽曲データ中で処理対象とする楽音データをリズムパートで次のリズム音の発音を示す楽音データまで進め、その楽音データから特定されるリズム音データをリズムバッファに格納することにより、次のペダル20の押下への用意を行うようにしている。このため、ステップH3への移行は基本的に、リズムパートで発音タイミングとなったリズム音の発音指示をそのタイミング期間内に演奏者が行わなかった場合に生じるようになっている。それにより、リズムパートの楽音の発音指示を演奏者が行うのを待つようにして、演奏者が自身の演奏により、演奏全体の進行を制御できるようにしている。   Data for generating a rhythm sound by the rhythm part (hereinafter “rhythm sound data”) is an area secured in the RAM 3 for the rhythm part, like the melody part and chord part which are other target performance parts. It is stored in an area (hereinafter referred to as “rhythm buffer”). Since the entire performance is advanced in accordance with the performance of the rhythm part, the storage of the rhythm sound data in the rhythm buffer is basically performed by another subroutine process. In the subroutine processing, as in the second embodiment, when the pedal 20 is pressed, the musical tone data to be processed in the music data is advanced to musical tone data indicating the next rhythm sound pronunciation in the rhythm part, and the musical tone data The rhythm sound data specified from the above is stored in the rhythm buffer to prepare for the next depression of the pedal 20. For this reason, the transition to step H3 basically occurs when the performer does not issue a sound generation instruction for the rhythm sound that has been sounded at the rhythm part within that timing period. This allows the player to control the progress of the entire performance according to his / her performance while waiting for the performer to issue a tone generation instruction for the rhythm part.

リズムバッファへのリズム音データの格納は、リズムパートの最初のリズム音を発音させるタイミングとなってから行われる。このため、そのリズム音の発音を示す楽音データはステップB12で読み出される。その楽音データをステップB12で読み出した場合には、ステップH3に移行して、時間の計時を一時停止させると共に、リズム音データのリズムバッファへの格納を併せて行うようになっている。そのリズム音データを格納すべきか否かは、リズムバッファに格納されたリズム音データの有無により判定することができる。   The rhythm sound data is stored in the rhythm buffer after the timing for generating the first rhythm sound of the rhythm part. For this reason, the musical sound data indicating the pronunciation of the rhythm sound is read in step B12. When the musical sound data is read out in step B12, the process proceeds to step H3, where the time measurement is temporarily stopped and the rhythm sound data is also stored in the rhythm buffer. Whether or not to store the rhythm sound data can be determined by the presence or absence of the rhythm sound data stored in the rhythm buffer.

第4の実施形態では、インターフェース10から通知された情報を解析してペダル20の状態変化を判定し、その判定結果に対応するためのペダル処理をその他処理内で実行するようになっている。それにより、その他処理が第1の実施形態から異なっている。次にそのペダル処理について詳細に説明する。   In the fourth embodiment, information notified from the interface 10 is analyzed to determine a change in the state of the pedal 20, and a pedal process for responding to the determination result is executed in the other processes. Thereby, other processing differs from the first embodiment. Next, the pedal process will be described in detail.

そのペダル処理で実行する処理の流れは、図11に示すメロディ鍵処理と基本的に同じである。このことから図11を参照し、各ステップで実行される処理の内容について具体的に説明することとする。   The flow of processing executed in the pedal processing is basically the same as the melody key processing shown in FIG. Therefore, the contents of the processing executed in each step will be specifically described with reference to FIG.

ペダル処理では、ステップE1において、インターフェース10から通知された情報を解析し、ペダル20に押下による状態の変化が生じたか否か判定する。演奏者がペダル20を新たに押下した場合、その旨を示す情報がインターフェース10からCPU1に通知されることから、判定はYESとなってステップE2に移行し、そうでない場合には、つまり押下の解除による状態の変化が生じた場合には、判定はNOとなってステップE6に移行し、ペダル20の押下によって発音させているリズム音の消音を指示するMIDIデータを作成しRAM3に格納した後、ペダル処理を終了する。   In the pedal process, in step E1, the information notified from the interface 10 is analyzed, and it is determined whether or not the pedal 20 has changed its state due to pressing. When the performer presses the pedal 20 anew, information indicating that fact is notified from the interface 10 to the CPU 1, so the determination is YES and the process proceeds to step E <b> 2. If the state change due to the release occurs, the determination is no and the process proceeds to step E6, where MIDI data for instructing to mute the rhythm sound generated by pressing the pedal 20 is created and stored in the RAM 3. The pedal processing is terminated.

ステップE2では、上記リズムバッファに格納されたリズム音データを用いてリズム音の発音を指示するMIDIデータを生成しRAM3に格納する。続くステップE3では、楽曲データ中で処理対象とする楽音データを、リズムパートで次のリズム音の発音を示す楽音データまで早送りし(進め)、読み出す。次のステップE4では、時間の計時が一時停止中であればその計時を再開、つまりタイマインタラプト処理を実行(起動)させる割り込み信号を有効とさせる。その後はステップE5に移行し、読み出した楽音データ中のイベントデータから特定されるリズム音データをリズムバッファに格納し、上記タイマ値に初期値を設定してから鍵盤処理を終了する。   In step E2, MIDI data for instructing rhythm sound generation is generated using the rhythm sound data stored in the rhythm buffer and stored in the RAM 3. In the next step E3, the musical sound data to be processed in the music data is fast-forwarded (advanced) to the musical sound data indicating the sound of the next rhythm sound in the rhythm part and read out. In the next step E4, if the time measurement is temporarily stopped, the time measurement is restarted, that is, an interrupt signal for executing (starting) the timer interrupt process is made valid. Thereafter, the process proceeds to step E5, where the rhythm sound data specified from the event data in the read musical sound data is stored in the rhythm buffer, the initial value is set to the timer value, and the keyboard process is terminated.

このようにして、ペダル処理では第2の実施形態におけるメロディ鍵処理と同様の処理が各ステップで実行される。それにより、ペダル20を操作して行われるリズムパートでの演奏に合わせて演奏全体の進行が管理される。   In this way, in the pedal process, the same process as the melody key process in the second embodiment is executed in each step. Thereby, the progress of the entire performance is managed in accordance with the performance of the rhythm part performed by operating the pedal 20.

なお、第2〜第4の実施形態では、着目する演奏パートの演奏に合わせて演奏全体(他の演奏パート)の進行を制御するようにしているが、一つ以上の演奏操作子を演奏の進行用とし、その演奏操作子への操作に応じて、予め定めた単位演奏分、進行させるようにしても良い。その単位演奏分は、演奏する楽曲に応じて演奏者に設定させても良いが、楽曲データの内容を解析して自動的に設定させるようにしても良い。着目する演奏パート、及び他の演奏対象とする演奏パートについては限定されるものではなく、任意に設定可能としても良い。   In the second to fourth embodiments, the progress of the entire performance (other performance parts) is controlled in accordance with the performance of the performance part of interest. It may be used for progression, and may be advanced by a predetermined unit performance according to the operation of the performance operator. The unit performance may be set by the performer according to the music to be played, or may be automatically set by analyzing the contents of the music data. The performance part of interest and other performance parts to be played are not limited and may be set arbitrarily.

本実施形態(第1〜第4の実施形態)による演奏装置は、CPU1に実行させるプログラムをROM2に格納し実行させることで実現させているが、そのようなプログラムは、CD−ROM、DVD、或いは着脱自在なフラッシュメモリ等の記録媒体に記録させて配布しても良い。公衆網等の通信ネットワークを介して、そのプログラムの一部、若しくは全部を配信するようにしても良い。そのようにした場合には、ユーザーはプログラムを取得して、演奏装置として用いることが可能なコンピュータにロードすることにより、そのコンピュータに本発明を適用させることができる。このことから、記録媒体は、プログラムを配信する装置がアクセスできるものであっても良い。そのコンピュータは演奏装置を構成するものであっても良いが、鍵盤4のような複数の演奏操作子を備えた装置を接続できるもの、つまり行われた演奏操作の内容を示すデータを受信できるものであっても良い。   The performance device according to the present embodiment (first to fourth embodiments) is realized by storing a program to be executed by the CPU 1 in the ROM 2 and executing the program. Such a program may be a CD-ROM, a DVD, Alternatively, it may be distributed by being recorded on a recording medium such as a detachable flash memory. Part or all of the program may be distributed via a communication network such as a public network. In such a case, the user can apply the present invention to a computer by acquiring the program and loading it into a computer that can be used as a performance device. Therefore, the recording medium may be accessible by a device that distributes the program. The computer may constitute a performance device, but can be connected to a device having a plurality of performance operators such as the keyboard 4, that is, can receive data indicating the contents of the performed performance operation. It may be.

本実施形態による演奏装置の構成図である。It is a block diagram of the performance apparatus by this embodiment. メイン処理のフローチャートである。It is a flowchart of a main process. 自動演奏処理のフローチャートである。It is a flowchart of an automatic performance process. 候補音高取り込み処理のフローチャートである。It is a flowchart of a candidate pitch taking process. 楽曲データを構成する楽音データの構成を説明する図である。It is a figure explaining the structure of the musical sound data which comprises music data. 各種候補音高バッファのデータ構成図である。It is a data block diagram of various candidate pitch buffers. AnyKeyバッファおよび前回押鍵バッファのデータ構成図である。It is a data block diagram of an AnyKey buffer and the last key press buffer. 鍵盤処理のフローチャートである。It is a flowchart of a keyboard process. 第2の実施形態で実行される自動演奏処理のフローチャートである。It is a flowchart of the automatic performance process performed in 2nd Embodiment. 第2の実施形態で実行される鍵盤処理のフローチャートである。It is a flowchart of the keyboard process performed in 2nd Embodiment. メロディ鍵処理のフローチャートである。It is a flowchart of a melody key process. 伴奏鍵処理のフローチャートである。It is a flowchart of an accompaniment key process. 第3の実施形態で実行される鍵盤処理のフローチャートである。It is a flowchart of the keyboard process performed in 3rd Embodiment. 第4の実施形態で実行される自動演奏処理のフローチャートである。It is a flowchart of the automatic performance process performed in 4th Embodiment.

符号の説明Explanation of symbols

1 CPU
2 ROM
3 RAM
4 鍵盤
5 スイッチ群
6 音源システム
7 アンプ回路
8 スピーカー
9 バス
10 インターフェース
20 ペダル
1 CPU
2 ROM
3 RAM
4 Keyboard 5 Switch group 6 Sound source system 7 Amplifier circuit 8 Speaker 9 Bus 10 Interface 20 Pedal

Claims (3)

演奏者が演奏を行うための複数の演奏操作子を備えた演奏装置において、
演奏パートとしてメロディパート、コードパート、及びベースパートを有し、該各演奏パートの演奏内容を示す楽曲データを記憶する楽曲データ記憶手段と、
前記楽曲データ記憶手段が記憶する楽曲データを参照して、前記演奏パート毎に、演奏の進行に応じて該楽曲データが表す楽音の音高を候補音高として随時、設定する音高設定手段と、
前記複数の演奏操作子のなかの何れかの演奏操作子が操作された場合に、該操作された演奏操作子により楽音を発音させる演奏パートを、前記ベースパートは該演奏操作子に割り当てられた音高により選択し、前記メロディパート、及び前記コードパートは、前記ベースパートを該割り当てられた音高により選択しない場合に、それらの間で定めた優先度に従って選択し、該選択した演奏パートで前記音高設定手段が設定した候補音高により楽音を楽音発生装置により発音させる発音制御手段と、
を具備することを特徴とする演奏装置。
In a performance device having a plurality of performance operators for a performer to perform,
Music data storage means for storing music data indicating the performance content of each performance part , having a melody part, a chord part, and a base part as performance parts ;
A pitch setting means for referring to the music data stored in the music data storage means and setting the pitch of the musical sound represented by the music data as a candidate pitch at any time according to the progress of the performance for each performance part; ,
When any one of the plurality of performance operators is operated, a performance part that causes a musical sound to be generated by the operated performance operator is assigned, and the base part is assigned to the performance operator. The melody part and the chord part are selected according to the priority determined between them when the bass part is not selected according to the assigned pitch. A sound generation control means for causing a musical sound to be generated by a musical sound generator using the candidate pitch set by the pitch setting means;
The performance apparatus characterized by comprising.
演奏パートとしてメロディパート、コードパート、及びベースパートを有し、該各演奏パートの演奏内容を示す楽曲データを記憶する楽曲データ記憶手段を有する演奏装置に備えられている複数の演奏操作子を用いた演奏者による演奏を実現させるための方法であって、
前記楽曲データ記憶手段が記憶する楽曲データを参照して、前記演奏パート毎に、演奏の進行に応じて該楽曲データが表す楽音の音高を候補音高として随時、設定し、
前記複数の演奏操作子のなかの何れかの演奏操作子が操作された場合に、該操作された演奏操作子により楽音を発音させる演奏パートを、前記ベースパートは該演奏操作子に割り当てられた音高により選択し、前記メロディパート、及び前記コードパートは、前記ベースパートを該割り当てられた音高により選択しない場合に、それらの間で定めた優先度に従って選択し、該選択した演奏パートで前記設定された候補音高により楽音を楽音発生装置により発音させる、
ことを特徴とする演奏実現方法。
A plurality of performance operators provided in a performance device having a melody part, a chord part, and a base part as performance parts and having music data storage means for storing music data indicating the performance contents of each performance part are used. A method for realizing a performance by a performer,
With reference to the music data stored in the music data storage means, for each performance part, set the tone pitch of the musical sound represented by the music data as the candidate pitch according to the progress of the performance, as needed,
When any one of the plurality of performance operators is operated, a performance part that causes a musical sound to be generated by the operated performance operator is assigned, and the base part is assigned to the performance operator. The melody part and the chord part are selected according to the priority determined between them when the bass part is not selected according to the assigned pitch. The musical sound is generated by the musical sound generator using the set candidate pitch.
The performance realization method characterized by this.
演奏パートとしてメロディパート、コードパート、及びベースパートを有し、該各演奏パートの演奏内容を示す楽曲データを記憶する楽曲データ記憶手段、及び演奏者が演奏を行うための複数の演奏操作子を備えた演奏装置として用いることが可能なコンピュータに、A music data storage means for storing music data indicating the performance contents of each performance part, and a plurality of performance operators for the performer to perform, having a melody part, a chord part, and a base part as performance parts In a computer that can be used as a performance device provided,
前記楽曲データ記憶手段が記憶する楽曲データを参照して、前記演奏パート毎に、演奏の進行に応じて該楽曲データが表す楽音の音高を候補音高として随時、設定する音高設定機能と、A pitch setting function for referring to the music data stored in the music data storage means and setting the pitch of the musical sound represented by the music data as a candidate pitch at any time according to the progress of the performance for each performance part; ,
前記複数の演奏操作子のなかの何れかの演奏操作子が操作された場合に、該操作された演奏操作子により楽音を発音させる演奏パートを、前記ベースパートは該演奏操作子に割り当てられた音高により選択し、前記メロディパート、及び前記コードパートは、前記ベースパートを該割り当てられた音高により選択しない場合に、それらの間で定めた優先度に従って選択し、該選択した演奏パートで前記設定された候補音高により楽音を楽音発生装置により発音させる発音制御機能と、When any one of the plurality of performance operators is operated, a performance part that causes a musical sound to be generated by the operated performance operator is assigned, and the base part is assigned to the performance operator. The melody part and the chord part are selected according to the priority determined between them when the bass part is not selected according to the assigned pitch. A sound generation control function for causing a musical sound to be generated by a musical sound generator using the set candidate pitch;
を実現させるためのプログラム。A program to realize
JP2006335127A 2006-06-15 2006-12-12 Performance device, performance realization method and program Active JP4978176B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006335127A JP4978176B2 (en) 2006-06-15 2006-12-12 Performance device, performance realization method and program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006166748 2006-06-15
JP2006166748 2006-06-15
JP2006335127A JP4978176B2 (en) 2006-06-15 2006-12-12 Performance device, performance realization method and program

Publications (2)

Publication Number Publication Date
JP2008020875A JP2008020875A (en) 2008-01-31
JP4978176B2 true JP4978176B2 (en) 2012-07-18

Family

ID=39076814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006335127A Active JP4978176B2 (en) 2006-06-15 2006-12-12 Performance device, performance realization method and program

Country Status (1)

Country Link
JP (1) JP4978176B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5969421B2 (en) * 2013-03-28 2016-08-17 株式会社エクシング Musical instrument sound output device and musical instrument sound output program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152372A (en) * 1993-11-30 1995-06-16 Casio Comput Co Ltd Playing device
JP3194850B2 (en) * 1995-06-07 2001-08-06 株式会社河合楽器製作所 Electronic musical instrument with automatic performance function
JP2001356768A (en) * 2001-05-08 2001-12-26 Kawai Musical Instr Mfg Co Ltd Electronic musical instrument
JP2002333877A (en) * 2001-05-10 2002-11-22 Yamaha Corp Playing practice device, method for controlling the playing practice device, program for playing aid and recording medium

Also Published As

Publication number Publication date
JP2008020875A (en) 2008-01-31

Similar Documents

Publication Publication Date Title
JP4321476B2 (en) Electronic musical instruments
JP7476934B2 (en) Electronic musical instrument, electronic musical instrument control method, and program
JP2004264501A (en) Keyboard musical instrument
CN114067768A (en) Playing control method and playing control system
JP4650182B2 (en) Automatic accompaniment apparatus and program
CN114446266A (en) Sound processing system, sound processing method, and program
JP5228315B2 (en) Program for realizing automatic accompaniment generation apparatus and automatic accompaniment generation method
WO2014025041A1 (en) Device and method for pronunciation allocation
JP5732982B2 (en) Musical sound generation device and musical sound generation program
JP4978176B2 (en) Performance device, performance realization method and program
JP2012098480A (en) Chord detection device and program
JP4978177B2 (en) Performance device, performance realization method and program
JP2007248881A (en) Musical performance system, controller used for same system, and program
CN113140201A (en) Accompaniment sound generation device, electronic musical instrument, accompaniment sound generation method, and accompaniment sound generation program
US20150310843A1 (en) Sampling device, electronic instrument, method, and program
JP4534926B2 (en) Image display apparatus and program
JP3613062B2 (en) Musical sound data creation method and storage medium
JP2007248880A (en) Musical performance controller and program
WO2022172732A1 (en) Information processing system, electronic musical instrument, information processing method, and machine learning system
JP7571804B2 (en) Information processing system, electronic musical instrument, information processing method, and machine learning system
JP5742592B2 (en) Musical sound generation device, musical sound generation program, and electronic musical instrument
JP2006113395A (en) Electronic musical instrument
JP6102975B2 (en) Musical sound generation device, musical sound generation program, and electronic musical instrument
JP6264660B2 (en) Sound source control device, karaoke device, sound source control program
JP5983624B6 (en) Apparatus and method for pronunciation assignment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120321

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120403

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4978176

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150