JP3923177B2 - Electronic musical instruments - Google Patents

Electronic musical instruments Download PDF

Info

Publication number
JP3923177B2
JP3923177B2 JP12825998A JP12825998A JP3923177B2 JP 3923177 B2 JP3923177 B2 JP 3923177B2 JP 12825998 A JP12825998 A JP 12825998A JP 12825998 A JP12825998 A JP 12825998A JP 3923177 B2 JP3923177 B2 JP 3923177B2
Authority
JP
Japan
Prior art keywords
waveform data
pad
cluster
hold
reproduction
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.)
Expired - Fee Related
Application number
JP12825998A
Other languages
Japanese (ja)
Other versions
JPH11282470A (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.)
Roland Corp
Original Assignee
Roland Corp
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 Roland Corp filed Critical Roland Corp
Priority to JP12825998A priority Critical patent/JP3923177B2/en
Publication of JPH11282470A publication Critical patent/JPH11282470A/en
Application granted granted Critical
Publication of JP3923177B2 publication Critical patent/JP3923177B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、電子楽器に関し、さらに詳細には、ホールド操作子を備えた電子楽器に関する。
【0002】
【従来の技術】
一般に、電子楽器においては、鍵やパッドなどの演奏用操作子に楽音を対応付けて割り当てておき、鍵を押鍵したり、パッドを押下したりすることにより、その鍵やパッドに割り当てられている楽音の生成を開始するとともに、押鍵中の鍵を離鍵したり、押下中のパッドの押下を解除したりすることにより、楽音の生成を停止するようになっている。
【0003】
また、従来より、ホールド・ペダルやホールド・ボタンなどのホールド操作子を備えた電子楽器が知られており、こうしたホールド操作子を備えた電子楽器においては、ホールド操作子の操作中はホールド状態とされており、このホールド状態の間は、押鍵中の鍵を離鍵したり、押下中のパッドの押下を解除したりしても、楽音の生成が続行されるようになされている。
【0004】
ところで、従来のホールド操作子を備えた電子楽器においては、ホールド操作子を操作すると、生成中の全ての楽音が一様にホールド状態となされていた。
【0005】
一方、ホールド操作子に加えて、ソステヌート・ペダルを備えた電子楽器においては、ソステヌート・ペダルが操作された時点で押鍵中の楽音に関してのみホールド状態とされ、ソステヌート・ペダルの操作後に押鍵された鍵の楽音はホールド状態とされないようになされている。
【0006】
このように、ソステヌート・ペダルを設けた場合には、ホールド状態にする楽音とホールド状態にしない楽音とを選別することは可能であるが、いずれかの楽音をホールド状態としている最中に、別の楽音をホールド状態とすることはできないという問題点があった。
【0007】
【発明が解決しようとする課題】
本発明は、上記したような従来の技術の有する種々の問題点に鑑みてなされたものであり、その目的とするところは、ホールド状態にする楽音とホールド状態にしない楽音とを選別することを可能にするとともに、いずれかの楽音をホールド状態としている最中に、別の楽音をホールド状態とすることも可能にした電子楽器を提供しようとするものである。
【0008】
【課題を解決するための手段】
上記目的を達成するために、本発明のうち請求項1に記載の発明は、操作に基づいて生成すべき楽音がそれぞれ対応付けられた複数の演奏用操作子と、上記演奏用操作子の操作に基づいて生成された楽音をホールド状態にするためのホールド操作子と、上記演奏用操作子の操作開始に応じて、上記操作開始された演奏用操作子に対応付けられた楽音の生成開始を指示するとともに、ホールド状態とされていない楽音に対応する上記演奏用操作子の操作停止に応じて、上記操作停止された演奏用操作子に対応付けられている楽音の生成停止を指示する第1の指示手段と、上記演奏用操作子の操作中に上記ホールド操作子が操作された場合に、上記操作中の演奏用操作子に対応付けられている楽音をホールド状態とすることを指示するとともに、上記演奏用操作子のいずれもが操作されていないときに上記ホールド操作子が操作された場合に、ホールド状態とされていた楽音に関して生成の停止を指示する第2の指示手段とを有するようにしたものである。
【0009】
従って、本発明のうち請求項1に記載の発明によれば、演奏用操作子の操作開始に応じて、操作開始された演奏用操作子に対応付けられた楽音の生成が開始されるとともに、ホールド状態とされていない楽音に対応する演奏用操作子の操作停止に応じて、操作停止された演奏用操作子に対応付けられている楽音の生成が停止されるものであり、また、演奏用操作子の操作中にホールド操作子が操作された場合には、操作中の演奏用操作子に対応付けられている楽音をホールド状態とすることができ、演奏用操作子のいずれもが操作されていないときにホールド操作子が操作された場合には、ホールド状態とされていた楽音に関して生成を停止することができるものであるので、ホールド状態にする楽音とホールド状態にしない楽音とを選別することが可能になり、しかも、いずれかの楽音をホールド状態としている最中に別の楽音をホールド状態とすることもできるようになる。また、本発明のうち請求項2に記載の発明は、請求項1に記載の発明において、生成中の各楽音がホールド状態であるか否かを示す情報を記憶する記憶手段を設けるようにして、上記第1の指示手段が、上記記憶手段の記憶内容に基づいて各楽音がホールド状態とされているか否かを判断し、上記第2の指示手段が、上記演奏用操作子の操作中に上記ホールド操作子が操作された場合に、上記操作中の演奏用操作子に対応付けられている楽音をホールド状態とすることを上記記憶手段に記憶させるとともに、上記演奏用操作子のいずれもが操作されていないときに上記ホールド操作子が操作された場合に、上記記憶手段にホールド状態であることが記憶されている楽音に関して生成の停止を指示するようにしたものである。
【0010】
【発明の実施の形態】
以下、添付の図面を参照しながら、本発明による電子楽器の実施の形態の一例を詳細に説明する。
【0011】
図1には、本発明による電子楽器の実施の形態の一例としての波形データ再生装置の全体構成を表すブロック構成図が示されている。
【0012】
この波形データ再生装置は、その全体の動作の制御を中央処理装置(CPU)10を用いて制御するように構成されており、このCPU10と、アナログ/デジタル変換器(A/D)12と、磁気あるいは光などを利用したディスク14と、半導体メモリ16と、再生器18と、操作パネル20と、ホールド・ペダル22と、デジタル/アナログ変換器(D/A)24とを有して構成されている。
【0013】
即ち、図1に示す波形データ再生装置においては、CPU10によって全体の動作の制御が行われるものであり、外部から入力されたオーディオ信号(楽音信号)は、アナログ/デジタル変換器12によりA/D変換され波形データとして、CPU10の制御のもとディスク14に記憶される。
【0014】
なお、この実施の形態においては、波形データを記憶するものとして磁気あるいは光などを利用したディスク14を用いたが、大容量の記憶ができるものであれば、ディスク以外の記憶装置を用いてもよいことは勿論である。
【0015】
半導体メモリ16は、ディスク14に比較して小容量の記憶容量のみを有するものであるが、高速なアクセスが可能なものである。この半導体メモリ16は、波形データを記憶する領域やワーキング用の領域などが設けられているランダム・アクセス・メモリ(RAM)とCPU10のプログラムを記憶しているリード・オンリ・メモリ(ROM)とから構成されている。
【0016】
再生器18は、CPU10の制御の下に半導体メモリ16に記憶された波形データを再生するものであり、再生された波形データはデジタル/アナログ変換器24によりオーディオ信号(楽音信号)にD/A変換されて出力される。
【0017】
また、操作パネル20には、スタート位置指定操作子20a、ループ・スタート位置指定操作子20b、エンド位置指定操作子20c、ループ/ワン・ショット指定操作子20d、図1上において数字1〜16により示す16個のパッド20e(なお、パッド20eは、図1上における数字1〜16に対応してパッド番号1〜16がふられて管理されている。)、バンク切り換え操作子20f、ホールド操作子20gおよびその他の操作子20hが設けられている。
【0018】
ここで、パッド20eは、押しボタン・スイッチであり、その操作に応じてその、操作されたパッド20eに予め割り当てられている波形データの再生開始を指示するものである。
【0019】
なお、16個のパッド20eへの波形データ割り当てパターンは、この実施の形態においては3種類設定されている。各割り当てパターンはバンクと称され、バンク切り換え操作子20fの操作に応じて、任意のバンクを選択することができる。
【0020】
また、スタート位置指定操作子20aは、波形データの読み出しを行うスタート位置を指定するものであり、ループ・スタート位置指定操作子20bは、波形データの読み出しを行うループ・スタート位置を指定するものであり、エンド位置指定操作子20cは、波形データの読み出しの終了の位置を指定するものであり、ループ/ワン・ショット指定操作子20dは、ループ読み出しを行うか、ワン・ショット読み出しを行うかを指定するものである。
【0021】
そして、波形データは、対応するパッド20eの操作(押下開始)に応じて、スタート位置指定操作子20aにより指定されたスタート位置から読み出しが開始されることになる。即ち、パッド20eの押下開始操作が、波形データの再生開始の指示となる。
【0022】
なお、ループ/ワン・ショット指定操作子20dによりループ読み出しが指定されている場合には、対応するパッド20eが操作されている間(押下中)においては、エンド位置指定操作子20cにより指定されたエンド位置まで読み出しが行われたときに、読み出し位置がループ・スタート位置指定操作子20bにより指定されたループ・スタート位置まで戻され、読み出しが続行されるという動作が繰り返されるものであり、対応するパッド20eの操作が止められた(押下解除)時点で読み出しが停止されることになる。
【0023】
また、ループ/ワン・ショット指定操作子20dによりワン・ショット読み出しが指定されている場合には、エンド位置指定操作子20cにより指定されたエンド位置まで読み出しが行われたときに読み出しを終了する。
【0024】
なお、ループ・スタート位置は、スタート位置よりも前に置くことも、また、スタート位置よりも後ろに置くことも、また、スタート位置と一致させることも許容されている。
【0025】
また、ホールド操作子20gならびにホールド・ペダル22は、ループ読み出しが指定されている波形データに関してパッド20eの操作が止められたときにも、当該パッド20eを操作し続けているのと同様な状態を実現するための操作子である。
【0026】
なお、外部から入力されたオーディオ信号(楽音信号)をアナログ/デジタル変換器12によりA/D変換した波形データを、いずれのパッド20eに割り当てるか、また、いずれの波形データに対してスタート位置、ループ・スタート位置、エンド位置ならびにループ読み出しあるいはワン・ショット読み出しを指定するかは、符号20hにより示すその他の操作子によって設定されることになる。
【0027】
図2には、ディスク14の記憶領域のフォーマットが概念的に示されており、ディスク14の記憶領域は、所定の記憶容量を有するクラスタ毎に分割されていて、各波形データは1つあるいは複数のクラスタに跨って記憶されている。
【0028】
なお、図2においては、クラスタ同士が物理的に連続しているように描かれているが、物理的に連続している必要はない。このため、各波形データに関して、波形データの先頭部分を記憶しているクラスタ、次の部分を記憶しているクラスタ、さらに次の部分を記憶しているクラスタ、・・・、という形で、各波形データ毎にその波形データの各部分がディスク14上のいずれのクラスタに記憶されているかが管理されている。
【0029】
また、波形データは、必ずクラスタの先頭部分から記憶されるようになっており、1つのクラスタには1つの波形データのみが記憶されている。そして、波形データの大きさはクラスタの大きさとは無関係であるので、波形データの末尾は一般にはクラスタの末尾とはならない。
【0030】
さらに、波形データを記憶したクラスタは、各波形データ毎にスタート位置(スタート位置がループ・スタート位置よりも前にある場合)あるいはループ・スタート位置(ループス・タート位置がスタート位置よりも前にある場合)を含むクラスタから順に、1,2,3,・・・というクラスタ番号がふられて管理されている。
【0031】
そして、各波形データには、スタート位置、ループ・スタート位置、エンド位置ならびにループ読み出しあるいはワン・ショット読み出しが指定されている。なお、波形データの1サンプルあたりのデータ量および1クラスタあたりのデータ量から、波形データの任意の位置のサンプルに関して、当該サンプルが記憶されているクラスタおよび当該クラスタの先頭からの相対位置が一意的に決定されることになる。
【0032】
次ぎに、半導体メモリ16について説明すると、半導体メモリ16には、上記した各波形データの管理用の領域、バンク管理用の領域、ワーキング用の領域などの他に、16個のパッド20eにそれぞれ対応して、これらのパッド20eにそれぞれ割り当てられた波形データのスタート位置部分を記憶するスタート・バッファSTARTと、波形データの再生時にディスク14から波形データを順次読み出すための4音の同時再生を可能とする4チャンネル分の再生バッファPLAYとが設けられている。
【0033】
図3には、上記したスタート・バッファSTARTのフォーマットが概念的に示されている。スタート・バッファSTARTには、パッド番号1〜16の16個のパッド20eにそれぞれ対応して2クラスタ分の領域が設けられており、各領域にはそれぞれクラスタ番号1、クラスタ番号2がふられている。
【0034】
また、図4には、上記した再生バッファPLAYのフォーマットが概念的に示されている。再生バッファPLAYには、4音同時発音が可能なように4チャンネル分の領域(再生チャンネル)が設けられていて、各再生チャンネルにはチャンネル番号1〜4がふられている。さらに、これら4チャンネル分の再生チャンネルには、各チャンネルに対応して4クラスタ分の領域が設けられていて、各領域にはクラスタ番号1〜4がふられている。
【0035】
なお、本明細書においては、本発明の理解を容易にするために、スタート・バッファSTARTならびに再生バッファPLAYの1クラスタ分の領域も「クラスタ」と称することとする。
【0036】
そして、パッド20eの操作(押下開始)により再生開始が指示された場合には、いずれの再生チャンネルを選択するかの順番を示すアサイン順位(後述する)に基づいて、いずれかの再生チャンネルが選択され、操作されたパッド20eに対応するスタート・バッファSTARTの記憶内容がその再生チャンネルの再生バッファPLAYに転送される。
【0037】
また、再生器18には、再生用の4つのチャンネル(再生チャンネル)が設けられており、各再生チャンネルは再生バッファPLAYの対応する再生チャンネルの記憶内容を読み出し、音声信号(楽音信号)として再生する。再生器18により再生バッファPLAYの記憶内容を再生する際には、再生バッファPLAYの各クラスタがクラスタ番号1〜4の順に読み出されることになり、クラスタ番号4のクラスタのを読み終わると、次ぎにはクラスタ番号1のクラスタが読み出される。
【0038】
なお、再生バッファPLAYの各再生チャンネルには、図4においてチャンネル番号1の再生チャンネルに例示してあるように、その再生チャンネルで再生される波形データに応じてスタート・アドレスSTおよびデータ量QTが設定される。
【0039】
ここで、スタート・アドレスSTは、再生対象のクラスタにおけるクラスタの先頭からの相対位置を示すものであり、波形データのスタート位置あるいはループ・スタート位置に基づいて設定される。また、データ量QTは、波形データのスタート位置あるいはループ・スタート位置からエンド位置までのデータ量を示すものである。
【0040】
従って、再生器18においては、パッド20eの操作(押下開始)による波形データの再生開始指示に応じて、各再生チャンネルは再生バッファPLAYの第1クラスタに記憶された波形データを、そのクラスタの先頭からスタート・アドレスSTで示されるだけ離れた位置から読み出し開始し、以降、サンプリング周期毎に1サンプルのデータを読み出すとともに、設定されたデータ量QTの値をデクリメントする。
【0041】
そして、各再生チャンネルは、再生バッファPLAYの各クラスタの読み出しを終了したときおよびデータ量QTの値が0になったときに、その旨をCPU10に通知する。
【0042】
そして、CPU10は、クラスタの読み出しが終了した旨の通知を受けたときには、そのクラスタに次に記憶すべき波形データの1クラスタ分をディスク14から読み出して記憶し、一方、データ量QTの値が0となった旨の通知を受けたときには、その波形データがループ読み出しを行うものであれば次のスタート・アドレスSTおよびデータ量QTをその再生チャンネルに設定した後にクラスタ読み出しが終了した旨の通知を発行し、その波形データがワン・ショット読み出しを行うものであればその再生チャンネルに再生停止を指示する。再生チャンネルは新たなスタート・アドレスSTおよびデータ量QTの設定に応じて、今まで読み出しを行っていたクラスタの次のクラスタを再生対象のクラスタとし、スタート・アドレスSTで示される位置から読み出しを行う。
【0043】
また、各再生チャンネルは、CPU10から再生停止指示を受けると、波形データの読み出し(再生)を停止する。
【0044】
次に、図5に示すバンク切り換え処理のフローチャートを参照しながら、バンク切り換え操作子20fが操作されてバンク切り換えが指示されたときの処理を説明する。
【0045】
即ち、バンク切り換え操作子20fが操作されてバンク切り換えが指示されたときには、図5のバンク切り換え処理のフローチャートに示される処理が実行されるものである。
【0046】
このバンク切り換え処理のフローチャートにおいては、まず、ステップS502において、新たに指定されたバンクに対応して各パッド20eに波形データを割り当てる。
【0047】
ステップS502の処理を終了すると、ステップS504へ進み、各パッド20eに対応する波形データに関して、ディスク14からスタート位置を含むクラスタおよびその次のクラスタの波形データを読み出し、対応するスタート・バッファSTARTの第1クラスタおよび第2クラスタに記憶する。ただし、1クラスタのみから構成されている波形データに関しては、その波形データがワン・ショット読み出しである場合には第1クラスタにのみ波形データを記憶し、ループ読み出しである場合には第1クラスタおよび第2クラスタに同じ波形データを記憶するものである。
【0048】
ステップS504の処理を終了すると、ステップS506へ進み、再生器18のホールド・フラグhold(後述する)が「0」である再生チャンネルに対して波形データの再生停止を指示し、その再生チャンネルが不使用状態となったことに伴いアサイン順位を更新する。
【0049】
ステップS506の処理を終了すると、このバンク切り換え処理のフローチャートの処理を終了する。
【0050】
ここで、ホールド・フラグholdとは、各再生チャンネル毎に設けられたホールド操作子20gならびにホールド・ペダル22によりホールド状態(後述する)とされているか否かを示すものである。ホールド・フラグholdが「0」である再生チャンネルはホールド状態でないことを示しており、ホールド・フラグholdが「1」である再生チャンネルはホールド状態であることを示している。この処理によりホールド状態でない再生チャンネルは波形データの読み出しを停止する。
【0051】
なお、ホールド・フラグholdは電源投入後の初期状態においては「0」とされており、またワン・ショット読み出しが指定されている波形データが割り当てられている再生チャンネルに関しては常に「0」とされている。
【0052】
従って、バンク切り換えが行われたときには、再生中の波形データのうちワン・ショット読み出しが指定されているものは無条件に再生が停止されることになる。
【0053】
次に、図6に示すパッド・オン処理のフローチャートを参照しながら、いずれかのパッド20eが操作(押下開始)されて再生開始指示がなされたときの処理を説明する。
【0054】
即ち、いずれかのパッド20eが操作(押下開始)されて再生開始指示がなされたときには、図6のパッド・オン処理のフローチャートに示される処理が実行されるものである。
【0055】
このパッド・オン処理のフローチャートにおいては、まず、ステップS602において、操作されたパッド20eのパッド番号(1〜16)をパッド番号padに設定する。
【0056】
ステップS602の処理を終了すると、ステップS604へ進み、新たに操作されたパッド20eの波形データを割り当てる再生チャンネルを所定のアサイン順位に基づいて選択し、選択した再生チャンネルのチャンネル番号をチャンネル番号chに設定する。アサイン順位の決定は、周知のアサイン技術を使用すればよく、例えば、波形データの読み出しが行われていない再生チャンネルがあればその再生チャンネルを選択し、波形データの読み出しが行われていない再生チャンネルがなければ最も以前に再生を開始した再生チャンネルを選択すればよい
なお、全ての再生チャンネルで波形データの再生が行われているときには、後述するホールド状態とされている再生チャンネルに関しては選択の対象から外すようにしてもよい。
【0057】
また、全ての再生チャンネルで波形データの再生が行われているときには、ワン・ショット読み出しが指定されている波形データを再生中の再生チャンネルがあればその中から再生チャンネルを選択し、ループ読み出しが指定されている波形データを再生中の再生チャンネルしかない場合にはその中から再生チャンネルを選択するようにしてもよい。
【0058】
なお、再生中の再生チャンネルを選択した場合には、その再生チャンネルに対して再生停止を指示する。
【0059】
ステップS604の処理を終了すると、ステップS606へ進み、パッド番号padのパッド20eに対応する波形データのスタート位置を含むディスク14上のクラスタ番号を求め、当該クラスタ番号を読み出しクラスタ番号rd_cl(ch)に設定し、パッド番号padのパッド20eに対応する波形データのループ・スタート位置を含むディスク14上のクラスタ番号を求め、当該クラスタ番号をループ・スタート・クラスタ番号lst_cl(ch)に設定し、パッド番号padのパッド20eに対応する波形データのエンド位置を含むディスク14上のクラスタ番号を求め、当該クラスタ番号をエンド・クラスタ番号ed_cl(ch)に設定する。
【0060】
ステップS606の処理を終了すると、ステップS608へ進み、パッド番号padのスタート・バッファSTARTの第1クラスタSTART[pad,1]から、波形データをチャンネル番号chの再生バッファPLAYの第1クラスタPLAY[ch,1]に転送する。即ち、操作されたパッド20eのスタート・バッファSTARTの第1クラスタの波形データを、選択された再生チャンネルの再生バッファPLAYの第1クラスタに記憶するものである。
【0061】
ステップS608の処理を終了すると、ステップS610へ進み、パッド番号padに対応する波形データのスタート位置に基づいて、当該スタート位置の当該スタート位置を含むクラスタ内における相対位置を求め、当該相対位置をスタート・アドレスSTとするとともに、パッド番号padに対応する波形データのスタート位置およびエンド位置に基づいてその波形データのデータ量を求め、当該データ量をデータ量QTとし、これらスタート・アドレスSTおよびデータ量QTを再生チャンネルchに設定し、この再生チャンネルchに第1クラスタのスタート・アドレスSTから再生を開始するように指示し、当該再生チャンネルchが使用状態となったことに伴い、いずれの再生チャンネルでいずれのパッド20eの波形データを再生しているかを示す管理情報およびアサイン順位を更新する。
【0062】
これにより、再生チャンネルchにおいて、操作されたパッド20eに割り当てられている波形データの再生が開始される。
【0063】
ステップS610の処理を終了すると、ステップS612へ進み、パッド番号padのパッド20eに割り当てられている波形データが、ワン・ショット読み出しであり、かつ、「読み出しクラスタ番号rd_cl(ch)=エンド・クラスタ番号ed_cl(ch)」であるか否かを判断する。
【0064】
ステップS612において、パッド番号padのパッド20eに割り当てられている波形データが、ワン・ショット読み出しであり、かつ、「読み出しクラスタ番号rd_cl(ch)=エンド・クラスタ番号ed_cl(ch)」であると判断された場合には、このパッド・オン処理を終了する。
【0065】
これは、その波形データの読み出し開始時の読み出し位置のクラスタとエンド位置のクラスタとが一致している場合、即ち、その波形データが1つのクラスタのみに記憶されている場合には、再生すべき波形データを全て既に再生バッファに記憶したことになるので、ワン・ショット読み出しを行う場合には、追加の波形データを再生バッファに記憶する必要がないためである。
【0066】
一方、ステップS612において、パッド番号padのパッド20eに割り当てられている波形データが、ワン・ショット読み出しであり、かつ、「読み出しクラスタ番号rd_cl(ch)=エンド・クラスタ番号ed_cl(ch)」ではないと判断された場合には、ステップS614へ進み、パッド番号padのスタート・バッファSTARTの第2クラスタSTART[pad,2]から、波形データをチャンネル番号chの再生バッファPLAYの第2クラスタPLAY[ch,2]に転送する。即ち、操作されたパッド20eのスタート・バッファの第2クラスタの波形データを、選択された再生チャンネルの再生バッファの第2クラスタに記憶する。
【0067】
ステップS614の処理を終了すると、ステップS616の処理へ進み、読み出しクラスタ番号rd_cl(ch)をインクリメントし、パッド番号chのスタート・バッファの書き込みクラスタ番号wr_cl(ch)を2とする。
【0068】
従って、上記したステップS616までの処理により、再生バッファの第1クラスタおよび第2クラスタに波形データが書き込まれることになるとともに、読み出しクラスタ番号および書き込みクラスタ番号がそれぞれ増加される。そして、以降のステップにおいては、再生バッファの第3クラスタおよび第4クラスタに波形データを書き込む処理を行うことになる。
【0069】
即ち、ステップS616の処理を終了すると、ステップS618へ進み、まず、書き込みクラスタ番号wr_cl(ch)が「4」であるか否かを判断する。ステップS618において、書き込みクラスタ番号wr_cl(ch)が「4」であると判断された場合には、波形データを再生バッファの第3クラスタおよび第4クラスタにかき終えたので、このパッド・オン処理を終了する。
【0070】
一方、ステップS618において、書き込みクラスタ番号wr_cl(ch)が「4」ではないと判断された場合には、ステップS620へ進み、「読み出しクラスタ番号rd_cl(ch)=エンドクラスタ番号ed_cl(ch)」であるか否かを判断する。
【0071】
ステップS620において、「読み出しクラスタ番号rd_cl(ch)=エンドクラスタ番号ed_cl(ch)」であると判断された場合には、ステップS622へ進み、パッド番号padのパッド20eに割り当てられている波形データが、ワン・ショット読み出しであるか否かを判断する。
【0072】
ステップS622において、パッド番号padのパッド20eに割り当てられている波形データが、ワン・ショット読み出しであると判断された場合には、追加の波形データを再生バッファに記憶する必要がないため、このパッド・オン処理を終了する。
【0073】
一方、ステップS620において、「読み出しクラスタ番号rd_cl(ch)=エンドクラスタ番号ed_cl(ch)」ではないと判断された場合には、読み出しクラスタ番号rd_cl(ch)をインクリメントし(ステップS624)、さらに、書き込みクラスタ番号wr_cl(ch)をインクリメントし(ステップS626)、それから、ディスク14からパッド番号padの読み出しクラスタ番号rd_cl(ch)に対応する波形データを読み出し、再生チャンネルchの再生バッファの書き込みクラスタ番号wr_cl(ch)で示されるクラスタに記憶し(ステップS628)、ステップS618へ戻る。
【0074】
また、ステップS622において、パッド番号padのパッド20eに割り当てられている波形データが、ワン・ショット読み出しではないと判断された場合には、ループ・スタート・クラスタ番号lst_cl(ch)を読み出しクラスタ番号rd_cl(ch)に設定し(ステップS630)、さらに、書き込みクラスタ番号wr_cl(ch)をインクリメントし(ステップS626)、それから、ディスク14からパッド番号padの読み出しクラスタrd_cl(ch)に対応する波形データを読み出し、再生チャンネルchの再生バッファの書き込みクラスタ番号wr_cl(ch)で示されるクラスタに記憶し(ステップS628)、ステップS618へ戻る。
【0075】
このようにして、操作されたパッド20eに応じて再生バッファに必要な波形データが記憶されるとともに、再生が開始されることになる。
【0076】
次に、図7に示すパッド・オフ処理のフローチャートを参照しながら、いずれかのパッド20eが操作(押下解除)されて再生停止指示がなされたときの処理を説明する。
【0077】
即ち、押下されていたいずれかのパッド20eが操作(押下解除)されて再生停止指示がなされたときには、図7のパッド・オフ処理のフローチャートに示される処理が実行されるものである。
【0078】
このパッド・オフ処理のフローチャートにおいては、まず、ステップS702において、操作(押下解除)されたパッド20eのパッド番号(1〜16)をパッド番号padに設定する。
【0079】
ステップS702の処理を終了すると、ステップS704へ進み、操作(押下解除)されたパッド20eの波形データを再生中の再生チャンネルがあるか否かを判断する。
【0080】
ステップS704において、操作(押下解除)されたパッド20eの波形データを再生中の再生チャンネルがないと判断された場合には、このパッド・オフ処理を終了する。
【0081】
一方、ステップS704において、操作(押下解除)されたパッド20eの波形データを再生中の再生チャンネルがあると判断された場合には、ステップS706へ進み、操作(押下解除)されたパッド20eの波形データを再生中の再生チャンネルのチャンネル番号をチャンネル番号chに設定する。
【0082】
ステップS706の処理を終了すると、ステップS708へ進み、パッド番号padのパッド20eに割り当てられている波形データが、ループ読み出しであるか否かを判断する。
【0083】
ステップS708において、パッド番号padのパッド20eに割り当てられている波形データが、ループ読み出しでないと判断された場合には、このパッド・オフ処理を終了する。
【0084】
一方、ステップS708において、パッド番号padのパッド20eに割り当てられている波形データが、ループ読み出しであると判断された場合には、ステップS710へ進み、チャンネル番号chのホールド・フラグhold(ch)が「ホールド・フラグhold(ch)=1」であるか否かを判断する。
【0085】
ステップS710において、チャンネル番号chのホールド・フラグhold(ch)が「ホールド・フラグhold(ch)=1」であると判断された場合には、このパッド・オフ処理を終了する。即ち、この場合には、パッド20eの押下の操作を止めても、波形データの再生が続行されることになる。
【0086】
ステップS710において、チャンネル番号chのホールド・フラグhold(ch)が「ホールド・フラグhold(ch)=1」でないと判断された場合には、ステップS712へ進み、再生チャンネルchに再生停止を指示し、その再生チャンネルが不使用状態となったことに伴い、いずれの再生チャンネルでいずれのパッド20eの波形データを再生しているかを示す管理情報およびアサイン順位を変更する。
【0087】
次に、図8に示すホールド・オン処理のフローチャートを参照しながら、ホールド操作子20gあるいはホールド・ペダル22が操作されたときの処理を説明する。
【0088】
即ち、ホールド操作子20gあるいはホールド・ペダル22が操作されたときに、このホールド・オン処理のフローチャートに示される処理が実行されるものである。
【0089】
このホールド・オン処理のフローチャートにおいては、まず、ステップS802において、操作中(押下中)のパッド20eがあるか否かを判断する。
【0090】
ステップS802において、操作中(押下中)のパッド20eがあると判断された場合には、ステップS804へ進み、操作中(押下中)のパッド20eに割り当てられている波形データが、ループ読み出しであるか否かを判断する。
【0091】
ステップS804において、操作中(押下中)のパッド20eに割り当てられている波形データが、ループ読み出しでないと判断された場合には、このホールド・オン処理を終了する。即ち、ワン・ショット読み出しの波形データの再生に関しては、ホールド操作子20gおよびホールド・ペダル22の操作は何等の影響も与えることはない。
【0092】
一方、ステップSS804において、操作中(押下中)のパッド20eに割り当てられている波形データが、ループ読み出しであると判断された場合には、ステップS806へ進み、そのパッド20eの波形データを再生中の再生チャンネルchに関して、「hold(ch)=1」と設定して、このホールド・オン処理を終了する。即ち、ループ読み出しの波形データの再生を指示するパッド20eを操作(押下)しながらホールド操作子20gあるいはホールド・ペダル22を操作したときには、その波形データの再生を行っている再生チャンネルがホールド状態とされ、そのパッド20eの操作を止めても(押下解除しても)波形データの再生が続行されるようになる。
【0093】
なお、複数のパッド20eを操作(押下)しながら、ホールド操作子20gあるいはホールド・ペダル22を操作した場合には、操作(押下)されている各パッド20eに関して同様なそれぞれ処理が行われる。
【0094】
また、ステップS802において、操作中(押下中)のパッド20eがないと判断された場合、即ち、いずれのパッド20eも操作(押下)されていない状態でホールド操作子20gあるいはホールド・ペダル22が操作された場合には、ステップS808へ進み、「hold(ch)=1」とされている再生チャンネルchに対して再生停止を指示し、その再生チャンネルが不使用状態となったことに伴い、いずれの再生チャンネルでいずれのパッド20eの波形データを再生しているかを示す管理情報およびアサイン順位を更新する。
【0095】
ステップS808の処理を終了すると、ステップS810へ進み、「hold(ch)=0」と設定し、このホールド・オン処理を終了する。即ち、いずれのパッド20eも操作されずにホールド操作子20gあるいはホールド・ペダル22が操作されたときには、ホールド状態とされていた再生チャンネルに関してホールド状態を解除し、その再生チャンネルでの波形データの再生を停止することになる。
【0096】
次に、図9に示すクラスタ読み出し終了処理のフローチャートを参照しながら、いずれかの再生チャンネルからクラスタの読み出しを終了したことを通知されたときの処理を説明する。
【0097】
即ち、いずれかの再生チャンネルからクラスタの読み出しを終了したことを知らされたときに、このクラスタ読み出し終了処理のフローチャートに示される処理が実行されるものである。
【0098】
このクラスタ読み出し終了処理のフローチャートにおいては、まず、ステップS902において、クラスタの読み出しを終了した再生チャンネルのチャンネル番号をチャンネル番号chに設定し、この再生チャンネルで再生中の波形データに対応するパッド番号をパッド番号padに設定する。
【0099】
ステップS902の処理を終了すると、ステップS904へ進み、「読み出しクラスタ番号rd_cl(ch)=エンド・クラスタ番号ed_cl(ch)」であるか否かを判断する。
【0100】
ステップS904において、「読み出しクラスタ番号rd_cl(ch)=エンド・クラスタ番号ed_cl(ch)」であると判断された場合には、ステップS906へ進み、パッド番号padのパッドに割り当てられている波形データが、ワン・ショット読み出しであるか否かを判断する。
【0101】
ステップS906において、パッド番号padのパッドに割り当てられている波形データが、ワン・ショット読み出しであると判断された場合には、追加の波形データを再生バッファに記憶する必要がないため、このクラスタ読み出し終了処理を終了する。
【0102】
一方、ステップS904において、「読み出しクラスタ番号rd_cl(ch)=エンド・クラスタ番号ed_cl(ch)」でないと判断された場合には、ステップS908へ進み、読み出しクラスタ番号rd_cl(ch)をインクリメントする。
【0103】
また、ステップS906において、パッド番号padのパッドに割り当てられている波形データが、ワン・ショット読み出しでないと判断された場合には、ステップS910へ進み、ループ・スタート・クラスタlst_cl(ch)を読み出しクラスタ番号rd_cl(ch)に設定する。
【0104】
そして、ステップS908あるいはステップS910の処理を終了すると、ステップS912へ進み、書き込みクラスタ番号wr_cl(ch)が「4」であるか否かを判断する。
【0105】
ステップS912において、書き込みクラスタ番号wr_cl(ch)が「4」でないと判断された場合には、ステップS914へ進み、書き込みクラスタ番号wr_cl(ch)をインクリメントする。
【0106】
一方、ステップS912において、書き込みクラスタ番号wr_cl(ch)が「4」であると判断された場合には、ステップS916へ進み、書き込みクラスタ番号wr_cl(ch)に「1」を設定する。
【0107】
そして、ステップS914あるいはステップS916の処理を終了すると、ステップS918へ進み、ディスク14からパッド番号padの読み出しクラスタ番号rd_cl(ch)に対応する波形データを読み出し、チャンネル番号chの再生バッファの書き込みクラスタ番号wr_cl(ch)で示されるクラスタに記憶し、このクラスタ読み出し終了処理を終了する。
【0108】
このようにして、いずれかの再生チャンネルでクラスタの読み出しを終了した場合には、次のクラスタの波形データが読み出しを終了したクラスタに記憶されることになる。
【0109】
次に、図10に示す「QT=0」処理のフローチャートを参照しながら、いずれかの再生チャンネルからデータ量QTの値が「0」となったことを通知されたときの処理を説明する。
【0110】
即ち、いずれかの再生チャンネルからデータ量QTの値が「0」となったことを知らされたときに、この「QT=0」処理のフローチャートに示される処理が実行されるものである。
【0111】
この「QT=0」処理のフローチャートにおいては、まず、ステップS1002において、データ量QTの値が「0」となった再生チャンネルのチャンネル番号をチャンネル番号chに設定する。
【0112】
ステップS1002の処理を終了すると、ステップS1004へ進み、データ量QTの値が「0」となった再生チャンネルで再生中の波形データが、ループ読み出しであるか否かを判断する。
【0113】
ステップS1004において、データ量QTの値が「0」となった再生チャンネルで再生中の波形データが、ループ読み出しであると判断された場合には、ステップS1006へ進み、再生チャンネルchに対してその再生チャンネルで再生中の波形データのループ・スタート位置に基づいて、当該ループ・スタート位置の当該ループ・スタート位置を含むクラスタ内における相対位置を求め、スタート・アドレスSTとするとともに、当該波形データのループ・スタート位置およびエンド位置に基づいて、当該波形データの波形データ量を求め、当該波形データ量をデータ量QTとし、これらスタート・アドレスSTおよびデータ量QTを再生チャンネルchに設定し、さらに、再生チャンネルchに対して今まで再生していたクラスタの次のクラスタを再生対象のクラスタとするよう指示した後に、クラスタ読み出しが終了した旨の通知を発行し、クラスタ読み出しが終了した旨の通知に応じて引き続き図9に示すフローチャートの処理が行われ、この「QT=0」処理を終了する。
【0114】
一方、ステップS1004において、データ量QTの値が「0」となった再生チャンネルで再生中の波形データが、ループ読み出しでないと判断された場合には、ステップS1008へ進み、再生チャンネルchに対して再生停止を指示し、当該再生チャンネルが不使用状態となったことに伴いいずれの再生チャンネルでいずれのパッド20eの波形データを再生しているかを示す管理情報およびアサイン順位を更新し、この「QT=0」処理を終了する。
【0115】
従って、上記した実施の形態においては、バンク切り換え操作子20fの操作によりバンク切り換えを指示すると、バンク切り換え処理のフローチャートにより、新たに指定されたバンクに応じて各パッド20eに波形データが割り当てられる(ステップS502)。このとき、各パッド20eに割り当てられた各波形データに設定されているスタート位置に応じて、当該波形データのスタート位置を含む1クラスタあるいは2クラスタ分の波形データが、ディスク14から読み出されてスタート・バッファSTARTに記憶される(ステップS504)。
【0116】
即ち、ディスク14のスタート位置を含むクラスタから、波形データをスタート・バッファSTARTに記憶するので、スタート・バッファSTARTは必要最小限の記憶容量があれば足りる。
【0117】
そして、パッド20eを操作(押下)すると、パッド・オン処理のフローチャートにより、操作(押下)されたパッド20eの波形データのスタート部分の波形データが、スタート・バッファSTARTから再生バッファPLAYに転送され(ステップS608)、再生バッファPLAYにおいてスタート位置から波形データの読み出しが開始される(ステップS610)。
【0118】
従って、波形データの先頭以外の場所をスタート位置と指定しても、そのスタート位置からパッド20eの操作に応じて時間遅れなく波形の読み出しが行われる。
【0119】
また、必要に応じて2クラスタ分の波形データがスタート・バッファSTARTに記憶されるので(ステップS504)、スタート位置が当該スタート位置を含むクラスタの末尾の方である場合でも、そのクラスタの再生が終了した時点で次のクラスタの波形データが既に用意されており、波形データの再生がスムーズに行われる。
【0120】
なお、スタート・バッファSTARTに、3クラスタ分以上の記憶領域を設けるようにしてもよい。
【0121】
そして、波形データの読み出し開始以降は、再生バッファPLAYの空いている領域(読み出しを終了した領域)にまだ読み出しが行われていない波形データをディスク14からクラスタ単位で読み出して順次記憶していく(ステップS618〜ステップS628)。つまり、再生バッファPLAYにおいて、あるクラスタの読み出しが完了したときには、当該クラスタは空いている領域として扱われ、新たな波形データが記憶される。
【0122】
また、ループ読み出しが指定されている波形データをエンド位置まで読み出した場合も同様に、当該クラスタは空いている領域として扱われ、新たな波形データが記憶される。
【0123】
ここで、ループ読み出しが指定されている波形データの場合において、当該波形データをエンド位置を含むクラスタまで再生バッファPLAYに記憶したときには、次からはループ・スタート位置を含むクラスタを再生バッファPLAYに記憶する。
【0124】
また、波形データをエンド位置まで再生した場合には、次のクラスタのループ・スタート位置で示される位置から読み出しを続行する。
【0125】
従って、ループ・スタート位置ならびにエンド位置に基づいて、ループ再生が可能であるとともに、再生バッファは必要最小限の記憶容量があれば足りることになる。
【0126】
また、あるクラスタを再生している際に、その次のクラスタへの波形データの記憶は既に終了しているので、ループ・エンド位置がそのエンド位置を含むクラスタの先頭の方にある場合でも、そのクラスタの再生が終了した時点で次のクラスタの波形データが既に用意されていることになり、波形データの再生がスムーズに行われる。
【0127】
なお、上記した実施の形態においては、再生バッファPLAYとして4クラスタ分の記憶領域を設けたが、最低3クラスタ分の記憶領域があればよい。
【0128】
なお、ワン・ショット読み出しが指定されている波形データに関しては、対応するパッド20eの操作の中止(押下解除)にかかわらず、その波形データがエンド位置まで再生された時点で再生が停止される。
【0129】
また、ループ読み出しが指定されている波形データに関しては、対応するパッド20eの操作が中止(押下解除)された時点で再生が停止される。
【0130】
ただし、ループ読み出しが指定されている波形データに関しては、対応するパッド20eを操作しながらホールド操作子20gあるいはホールド・ペダル22を操作したときには、ホールド・オン処理のフローチャートにより、ホールド状態とされ(ステップS806)、対応するパッド20eの操作が中止されても再生を続行する。
【0131】
この状態でさらに、ループ読み出しが指定されている別の波形データに対応するパッド20eを操作しながらホールド操作子20gあるいはホールド・ペダル22を操作したときには、先の波形データに加えてこの波形データもホールド状態とされる。
【0132】
いずれのパッド20eも操作せずにホールド操作子20gあるいはホールド・ペダル22を操作したときには、ホールド状態が解除され、それまでホールド状態とされていた波形データの再生が停止される。
【0133】
なお、ホールド状態中にバンクを切り換えた場合にも、ホールド状態とされている波形データの再生は続けられる。またこのとき新たなバンクに対応して、スタート・バッファSTARTに新たな波形データが記憶されるので、その状態でパッド20eを操作すれば以前のバンクにおける波形データをループ再生しながら、新たなバンクにおける波形データの再生が行える。
【0134】
なお、上記した実施の形態は、以下に示すように変形したもよい。
【0135】
(1)上記した実施の形態においては、波形データをスタート・バッファSTARTから再生バッファPLAYに転送して再生バッファPLAYを再生するようにしたが、これに限られることなしに、波形データをスタート・バッファSTARTから再生バッファPLAYに転送して再生バッファPLAYを再生するのではなく、スタート・バッファSTARTに記憶されている波形データはスタート・バッファSTARTから読み出し、それ以降の波形データをディスク14から再生バッファPLAYに転送し、スタート・バッファSTARTに記憶されている波形データを読み出し終えたら、その後は再生バッファPLAYを再生するようにしてもよい。
【0136】
(2)上記した実施の形態においては、波形データをスタート・バッファSTARTから再生バッファPLAYに転送して再生バッファPLAYを再生するようにしたが、これに限られることなしに、波形データをスタート・バッファSTARTから再生バッファPLAYに転送して再生バッファPLAYを再生するのではなく、各パッド20eに対応して再生バッファPLAYを設け(スタート・バッファSTARTは設けない。)、波形データのスタート部分を予め再生バッファPLAYに記憶しておくようにしてもよい。そして、再生を終了したときに、波形データのスタート部分を再生バッファPLAYに記憶し直すようにする。(3)上記した実施の形態においては、ループ読み出しが指定されている波形データに関しては対応するパッドの操作が中止された時点(ホールド状態とされている場合にはホールドの解除時点)で再生が停止されるようにしたが、パッドの操作中止(押下解除)以降(ホールド状態とされている場合にはホールドの解除以降)に波形データがエンド位置まで再生された時点で再生を停止するようにしてもよいし、パッド20eの操作中止(押下解除)時点(ホールド状態とされている場合にはホールドの解除時点)で再生を停止するか、あるいは、パッド操作中止以降の波形データのエンド位置再生時点で再生を停止するかを、任意に選択可能としてもよい。なお、いずれの条件で再生を停止するか任意に設定可能とする場合には、全ての波形データに関して一括して設定できるようにしてもよいし、各波形データあるいはパッド20e毎に設定できるようにしてもよい。
【0137】
(4)上記した実施の形態においては、ホールド・フラグholdを各再生チャンネル毎に設けることにより、再生中の各楽音がホールド状態であるか否かを管理するようにしたが、これに限られることなしに、再生中の各楽音がホールド状態であるか否かが管理できれば、別の形態で管理するようにしてもよい。例えば、各パッド20e毎にホールド・フラグholdを設け、パッド20eが操作されながらホールド操作子20gあるいはホールド・ペダル22が操作された場合には、そのパッド20eのホールド・フラグholdをたて、いずれのパッド20eも操作されずにホールド操作子20gあるいはホールド・ペダル22が操作された場合には、全てのパッド20eのホールド・フラグholdを降ろすようにし、パッド20eの操作(押下)が止められたときに、そのパッド20eのホールド・フラグholdがたっていれば、対応する波形データの再生停止を指示しないようにしてもよい。また、パッド20eに代えて、各波形データ毎にホールド・フラグholdを設けるようにしてもよい。
【0138】
(5)上記した実施の形態においては、楽音の再生を指示する各演奏操作子たるパッド20eに対してそれぞれ異なる波形データを割り当てるようにしたが、各演奏操作子たるパッド20eに同じ波形データであるが音高が異なる波形データを割り当てるようにしてもよい。
【0139】
(6)上記した実施の形態においては、パッド操作時に波形データの先頭部分を再生するときのみにスタート・バッファSTARTの記憶内容を用いているが、これを、ループ部分の波形データが既にスタート・バッファSTARTに記憶されている場合には、スタート・バッファSTARTの記憶内容を用いてループ読み出しを行うようにしてもよい。
【0140】
例えば、ループ部分の波形データが既にスタート・バッファSTARTに記憶されている場合には、その波形データをディスク14から再生バッファPLAYに転送するのではなくスタート・バッファSTARTから転送する。このようにすれば、ディスク14から波形データを読み出して再生バッファPLAYに転送するのに比べ、短い時間で転送が終了する。
【0141】
これは、特に、次のような場合に有効である。即ち、ループ読み出しを行う場合には、現在再生中のループ部分の再生が終了する前に、次回再生用のループ部分の波形データの少なくとも先頭部分が再生バッファPLAYに用意されている必要がある。ところが、ループ部分が1クラスタ分しかない場合、あるいは、ループ部分が2クラスタに跨っている場合であっても、ループ・スタート位置が前のクラスタの末尾の部分にあり、エンド位置が後ろのクラスタの先頭の部分にあるような場合には、ループ部分の再生は短時間で終了してしまうため、転送が間に合わず、再生終了までに次回再生用のループ部分の波形データのディスク14から再生バッファPLAYへの転送が終了しない可能性がある。
【0142】
この場合、上記したように、スタート・バッファSTARTから再生バッファPLAYに波形データを転送するようにすることにより、転送が間に合わなくなる可能性を大幅に低く押さえることができる。以下に、このような変形を行う場合について説明する。
【0143】
まず、各パッド20e毎に、そのパッド20eのスタート・バッファSTARTのクラスタ1、クラスタ2に記憶されている波形データが、ディスク14上のいずれのクラスタに記憶されていたものかをクラスタ番号で示すスタート1・クラスタ番号ST1−cl(pad)、スタート2・クラスタ番号ST2−cl(pad)を設ける。
【0144】
そして、バンク切り換え処理においては、各パッド20eのスタート・バッファSTARTにディスク14から波形データを記憶するときに、スタート1・クラスタ番号ST1−cl(pad)、スタート2・クラスタ番号ST2−cl(pad)に対応するディスク14上のクラスタ番号を設定する処理を追加する。また、パッド・オン処理においては、ステップS628の処理、即ち、再生バッファPLAYに波形データを記憶する処理の前に、操作されたパッド20eに割り当てられている波形データがワン・ショット読み出しであるか否かを判断する処理を追加し、ワン・ショット読み出しであると判断された場合には、上記した実施の形態と同様にステップS628へ進むようにする。一方、ワン・ショット読み出しでない、即ち、ループ読み出しであると判断された場合には、読み出しクラスタ番号rd_cl(ch)が示すクラスタがスタート1・クラスタ番号ST1−cl(pad)あるいはスタート2・クラスタ番号ST2−cl(pad)のいずれかが示すクラスタと一致しているか否かを判断する。
【0145】
ここで、一致していると判断されれば、再生バッファPLAYに記憶しようとする波形データが既にスタート・バッファSTARTに記憶されていることを示しているので、一致しているスタート・クラスタ番号の示すスタート・バッファSTARTのクラスタから波形データを読み出し再生バッファPLAYに記憶し、ステップS618の処理に戻るようにする。
【0146】
クラスタ読み出し処理も、同様に変形させる。つまり、ステップS918の処理、即ち、再生バッファPLAYに波形データを記憶する処理の前に、操作されたパッド20eに割り当てられている波形データがワン・ショット読み出しであるか否かを判断する処理を追加し、ワン・ショット読み出しであると判断された場合には、実施の形態と同様にステップS918へ進むようにする。一方、ワン・ショット読み出しでない、即ち、ループ読み出しであると判断された場合には、読み出しクラスタ番号rd_cl(ch)が示すクラスタがスタート1・クラスタ番号ST1−cl(pad)あるいはスタート2・クラスタ番号ST2−cl(pad)のいずれかが示すクラスタと一致しているか否かを判断する。
【0147】
ここで、一致していると判断されれば、再生バッファPLAYに記憶しようとする波形データが既にスタート・バッファSTARTに記憶されていることを示しているので、一致しているスタート・クラスタ番号の示すスタート・バッファSTARTのクラスタから波形データを読み出し再生バッファPLAYに記憶し、クラスタ読み出し処理を終了する。
【0148】
なお、以上において説明した変形例は、上記した変形例(1)で説明した変形例と組み合わせてもよい。
【0149】
即ち、ループ部分の波形データがスタート・バッファSTARTに記憶されている場合には、その波形データをスタート・バッファSTARTから再生バッファPLAYに転送して再生バッファPLAY上で再生するのではなく、スタート・バッファSTARTを直接再生するようにする。
【0150】
なお、上記した実施の形態においては、ホールド状態とされている波形データに関しては、その再生中にバンクが切り換えられた場合にも再生を続けるようにしたが、上記のように変形させた場合には、バンクが切り換えられたときにスタート・バッファSTARTの内容が新たなバンクに対応するものに書き換えられるため、スタート・バッファSTARTの内容を使用したループ読み出しを行うと、正常な再生が行えなくなる。
【0151】
これに対処するために、バンク切り換えが行われた場合にはスタート・バッファSTARTに基づくループ読み出しを禁止したり、バンク切り換え指示がなされてもホールド状態とされている波形データに対応しているパッド20eに関しては、スタート・バッファSTARTの内容の書き換えを保留してスタート・バッファSTARTの内容に基づくループ読み出しを続け、ホールド状態が解除されたときに、保留していたスタート・バッファSTARTの内容の書き換えを行うようにすることが考えられる。
【0152】
(7)上記した実施の形態においては、波形データの再生中に新たな波形データをディスク14から再生バッファPLAYに転送するようにしている。しかしながら、ループ部分が短く再生バッファPLAYに全て記憶されている場合には、波形データをディスク14から再生バッファPLAYに転送することなく、既に記憶されている再生バッファPLAYを繰り返し読み出すようにしてもよい。このようにすれば、ループ部分の波形データの今回の再生終了までに、次回再生用のループ部分の波形データをディスク14から再生バッファPLAYに転送するのが間に合わないという状況が起こることを防ぐことができる。具体的には、以下のように変形させればよい。
【0153】
即ち、まず、各パッド20e毎に、そのパッド20eに割り当てられている波形データのループ部分の占有するクラスタ数を記憶するようにし、バンク切り換え処理において、各パッド20eに割り当てわれる波形データのエンド位置とループ・スタート位置との差に基づいてこの変数を設定する処理を追加する。
【0154】
クラスタ読み出し終了処理においては、ステップS906でワン・ショット読み出しでない、即ち、ループ読み出しの波形データをエンド位置まで再生バッファPLAYに記憶させたことが判断された場合に、上記した変数に基づいてその再生チャンネルに割り当てられている波形データのループ部分の占有するクラスタの数が、再生チャンネルのクラスタ数(上記した実施の形態では「4」である。)以下であるか否かを判断する処理を追加し、以下でないと判断された場合には、上記した実施の形態と同様にステップS910に進むようにする。一方、以下であると判断された場合には、そのままクラスタ読み出し処理を終了する。
【0155】
また、「QT=0」処理においては、ステップS1006の処理内容を、再生チャンネルに対するスタート・アドレスSTおよびデータ量QTの再設定、および今までで再生していたクラスタから上記した変数が示すクラスタ数よりも1小さい数だけ前のクラスタを次のクラスタを再生対象のクラスタとして指示する処理を行う、と変えるようにする。
【0156】
(8)上記した実施の形態においては、波形データ再生装置本体にホールド・ペダル22を設けるようにしたが、波形データ再生装置に外部のホールド・ペダルからの信号を受け取る接続端子を設けるようにしてもよい、
また、上記した実施の形態では、波形データ再生装置本体に設けられたパッド20e、ホールド操作子20g、バンク切り換え操作子20fなどにより演奏を行うようにしたが、これらの操作子の操作に相当する操作信号を外部機器からMIDIなどの通信手段を用いて入力するようにしてもよい。
【0157】
【発明の効果】
本発明は、以上説明したように構成されているので、ホールド状態にする楽音とホールド状態にしない楽音とを選別することが可能になるとともに、いずれかの楽音をホールド状態としている最中に、別の楽音をホールド状態とすることも可能になるという優れた効果を奏する。
【図面の簡単な説明】
【図1】本発明による電子楽器の実施の形態の一例としての波形データ再生装置の全体構成を表すブロック構成図である。
【図2】ディスクの記憶領域のフォーマットを概念的に示す説明図である。
【図3】スタート・バッファSTARTのフォーマットを概念的に示す説明図である。
【図4】再生バッファPLAYのフォーマットを概念的に示す説明図である。
【図5】バンク切り換え処理のフローチャートである。
【図6】パッド・オン処理のフローチャートである。
【図7】パッド・オフ処理のフローチャートである。
【図8】ホールド・オン処理のフローチャートである。
【図9】クラスタ読み出し終了処理のフローチャートである。
【図10】「QT=0」処理のフローチャートである。
【符号の説明】
10 中央処理装置(CPU)
12 アナログ/デジタル変換器(A/D)
14 ディスク
16 半導体メモリ
18 再生器
20 操作パネル
20a スタート位置指定操作子
20b ループ・スタート位置指定操作子
20c エンド位置指定操作子
20d ループ/ワン・ショット指定操作子
20e パッド
20f バンク切り換え操作子
20g ホールド・ボタン
20h その他の操作子
22 ホールド・ペダル
24 デジタル/アナログ変換器(D/A)
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an electronic musical instrument, and more particularly to an electronic musical instrument provided with a hold operator.
[0002]
[Prior art]
Generally, in an electronic musical instrument, a musical sound is associated with a performance operator such as a key or a pad and assigned to the key or pad by pressing the key or pressing the pad. The generation of a musical sound is stopped by releasing the key being pressed or releasing the pressing of the pad being pressed.
[0003]
Conventionally, an electronic musical instrument having a hold operator such as a hold pedal or a hold button is known. In an electronic musical instrument having such a hold operator, a hold state is maintained during operation of the hold operator. In this hold state, the generation of the musical tone is continued even if the key being pressed is released or the pressing of the pad being pressed is released.
[0004]
By the way, in an electronic musical instrument equipped with a conventional hold operator, when the hold operator is operated, all musical tones being generated are uniformly held.
[0005]
On the other hand, in the case of an electronic musical instrument equipped with a sostenuto pedal in addition to the hold operator, only the musical tone being pressed is held when the sostenuto pedal is operated, and the key is pressed after the sostenuto pedal is operated. The key's tone is not held.
[0006]
In this way, when a sostenuto pedal is provided, it is possible to select a musical sound to be held and a musical sound that is not to be held. However, while one of the musical sounds is held, There was a problem that it was not possible to put the musical tone in the hold state.
[0007]
[Problems to be solved by the invention]
The present invention has been made in view of the various problems of the prior art as described above, and the object of the present invention is to select a musical sound to be held and a musical sound not to be held. The present invention aims to provide an electronic musical instrument capable of making another musical sound into a hold state while making it possible to hold another musical sound.
[0008]
[Means for Solving the Problems]
In order to achieve the above object, the invention according to claim 1 of the present invention is characterized in that a plurality of performance operators each associated with a musical tone to be generated based on an operation, and an operation of the performance operator A hold operator for placing the musical sound generated on the basis of the sound, and in response to the start of the operation of the performance operator, generation of a musical sound associated with the performance operator that has been started is started. A first instruction for instructing to stop the generation of a musical tone associated with the operation controller for which the operation has been stopped in response to the operation stop of the performance operator corresponding to the musical sound not being held; And when the hold operator is operated during the operation of the performance operator, the musical instrument associated with the performance operator being operated is instructed to be held. , A second instruction means for instructing to stop the generation of the musical tone that is in the hold state when the hold operation element is operated when none of the musical performance operators are operated. It is a thing.
[0009]
Therefore, according to the first aspect of the present invention, in response to the start of the operation of the performance operator, generation of a musical tone associated with the performance operator that has been started is started, The generation of the musical sound associated with the operation controller whose operation has been stopped is stopped in response to the operation of the musical operation element corresponding to the musical sound not in the hold state being stopped. If the hold operator is operated while the operator is operating, the musical tone associated with the performance operator being operated can be held, and any of the performance operators can be operated. If the hold operator is operated when not being held, generation can be stopped with respect to the musical tone that has been in the hold state, so that the musical sound that is to be held and the musical tone that is not to be held are selected. It allows, moreover, it will be able to be a different tone and hold state during that one of the musical tones in the hold state. Further, the invention according to claim 2 of the present invention is characterized in that in the invention according to claim 1, there is provided storage means for storing information indicating whether or not each musical sound being generated is in the hold state. The first instruction means determines whether or not each musical tone is in a hold state based on the stored contents of the storage means, and the second instruction means operates during the operation of the performance operator. When the hold operator is operated, the storage means stores the musical sound associated with the performance operator being operated in a hold state, and any of the performance operators is When the hold operator is operated when it is not being operated, generation stop is instructed with respect to a musical tone that is stored in the storage means as being held.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an example of an embodiment of an electronic musical instrument according to the present invention will be described in detail with reference to the accompanying drawings.
[0011]
FIG. 1 is a block diagram showing the overall structure of a waveform data reproducing apparatus as an example of an embodiment of an electronic musical instrument according to the present invention.
[0012]
This waveform data reproducing device is configured to control the overall operation using a central processing unit (CPU) 10, and this CPU 10, an analog / digital converter (A / D) 12, It comprises a disk 14 that uses magnetism or light, a semiconductor memory 16, a player 18, an operation panel 20, a hold pedal 22, and a digital / analog converter (D / A) 24. ing.
[0013]
That is, in the waveform data reproducing apparatus shown in FIG. 1, the entire operation is controlled by the CPU 10, and an audio signal (musical sound signal) input from the outside is A / D converted by the analog / digital converter 12. The converted waveform data is stored in the disk 14 under the control of the CPU 10.
[0014]
In this embodiment, the disk 14 using magnetism or light is used to store the waveform data. However, a storage device other than the disk may be used as long as it can store a large capacity. Of course it is good.
[0015]
The semiconductor memory 16 has only a small storage capacity compared to the disk 14 but can be accessed at high speed. The semiconductor memory 16 includes a random access memory (RAM) in which an area for storing waveform data, a working area, and the like are provided, and a read only memory (ROM) in which a program of the CPU 10 is stored. It is configured.
[0016]
The reproducer 18 reproduces the waveform data stored in the semiconductor memory 16 under the control of the CPU 10, and the reproduced waveform data is converted into an audio signal (musical signal) by a digital / analog converter 24. It is converted and output.
[0017]
Further, the operation panel 20 includes a start position designation operator 20a, a loop start position designation operator 20b, an end position designation operator 20c, a loop / one shot designation operator 20d, and numerals 1 to 16 in FIG. 16 pads 20e shown (note that the pad 20e is managed by being assigned pad numbers 1 to 16 corresponding to numerals 1 to 16 in FIG. 1), a bank switching operator 20f, and a hold operator. 20g and other operating elements 20h are provided.
[0018]
Here, the pad 20e is a push button switch, and instructs the start of reproduction of waveform data pre-assigned to the operated pad 20e in accordance with the operation.
[0019]
In this embodiment, three types of waveform data allocation patterns to the 16 pads 20e are set. Each allocation pattern is referred to as a bank, and an arbitrary bank can be selected according to the operation of the bank switching operator 20f.
[0020]
The start position designation operator 20a designates a start position from which waveform data is read. The loop start position designation operator 20b designates a loop start position from which waveform data is read. Yes, the end position designation operator 20c designates the end position of waveform data readout, and the loop / one-shot designation operator 20d determines whether to perform loop readout or one-shot readout. It is what you specify.
[0021]
The waveform data starts to be read from the start position specified by the start position specifying operator 20a in response to the operation (start of pressing) of the corresponding pad 20e. That is, the pressing start operation of the pad 20e is an instruction to start reproduction of the waveform data.
[0022]
When loop reading is designated by the loop / one-shot designation operator 20d, it is designated by the end position designation operator 20c while the corresponding pad 20e is being operated (pressed). When the reading is performed up to the end position, the operation of returning the reading position to the loop start position designated by the loop start position designating operator 20b and continuing the reading is repeated. Reading is stopped when the operation of the pad 20e is stopped (press release).
[0023]
If one-shot reading is specified by the loop / one-shot specifying operator 20d, the reading ends when the reading is performed up to the end position specified by the end position specifying operator 20c.
[0024]
It should be noted that the loop start position can be placed before the start position, placed behind the start position, or matched with the start position.
[0025]
Further, the hold operator 20g and the hold pedal 22 are in the same state as the operation of the pad 20e when the operation of the pad 20e is stopped with respect to the waveform data for which loop reading is designated. It is an operator for realizing.
[0026]
It should be noted that the waveform data obtained by A / D-converting an externally input audio signal (musical sound signal) by the analog / digital converter 12 is assigned to which pad 20e, and the start position, Whether to specify the loop start position, end position, and loop reading or one-shot reading is set by other operators indicated by reference numeral 20h.
[0027]
FIG. 2 conceptually shows the format of the storage area of the disk 14. The storage area of the disk 14 is divided into clusters each having a predetermined storage capacity, and each waveform data includes one or a plurality of waveform data. Are stored across multiple clusters.
[0028]
In FIG. 2, the clusters are drawn so as to be physically continuous, but need not be physically continuous. Therefore, with respect to each waveform data, a cluster storing the top part of the waveform data, a cluster storing the next part, a cluster storing the next part,... For each waveform data, it is managed in which cluster on the disk 14 each part of the waveform data is stored.
[0029]
The waveform data is always stored from the beginning of the cluster, and only one waveform data is stored in one cluster. Since the size of the waveform data is independent of the size of the cluster, the end of the waveform data is generally not the end of the cluster.
[0030]
Further, the cluster storing the waveform data has a start position (when the start position is before the loop start position) or a loop start position (the loop start position is before the start position) for each waveform data. .., In order from the cluster including the case), the cluster numbers 1, 2, 3,...
[0031]
Each waveform data specifies a start position, a loop start position, an end position, and loop reading or one-shot reading. From the data amount per sample of the waveform data and the data amount per cluster, regarding the sample at an arbitrary position of the waveform data, the cluster where the sample is stored and the relative position from the head of the cluster are unique. Will be determined.
[0032]
Next, the semiconductor memory 16 will be described. The semiconductor memory 16 corresponds to each of the 16 pads 20e in addition to the waveform data management area, bank management area, working area, and the like. Thus, the start buffer START for storing the start position portion of the waveform data assigned to each of these pads 20e, and the simultaneous reproduction of four sounds for sequentially reading the waveform data from the disk 14 when reproducing the waveform data are possible. The four-channel playback buffer PLAY is provided.
[0033]
FIG. 3 conceptually shows the format of the start buffer START described above. The start buffer START is provided with areas for two clusters corresponding to the 16 pads 20e of pad numbers 1 to 16, respectively, and each area is assigned with cluster number 1 and cluster number 2, respectively. Yes.
[0034]
FIG. 4 conceptually shows the format of the reproduction buffer PLAY described above. The reproduction buffer PLAY is provided with an area (reproduction channel) for four channels so that four-tone sound can be generated simultaneously. Channel numbers 1 to 4 are assigned to the respective reproduction channels. Further, these four playback channels are provided with areas for four clusters corresponding to the respective channels, and cluster numbers 1 to 4 are assigned to the respective areas.
[0035]
In this specification, in order to facilitate understanding of the present invention, an area corresponding to one cluster of the start buffer START and the reproduction buffer PLAY is also referred to as “cluster”.
[0036]
When the playback start is instructed by the operation of the pad 20e (pressing start), one of the playback channels is selected based on the assignment order (which will be described later) indicating the order of which playback channel is selected. Then, the stored contents of the start buffer START corresponding to the operated pad 20e are transferred to the reproduction buffer PLAY of the reproduction channel.
[0037]
In addition, the playback unit 18 is provided with four channels (playback channels) for playback, and each playback channel reads out the stored content of the corresponding playback channel of the playback buffer PLAY and plays it as an audio signal (musical signal). To do. When reproducing the stored contents of the reproduction buffer PLAY by the reproducer 18, the clusters of the reproduction buffer PLAY are read in the order of cluster numbers 1 to 4, and when the cluster number 4 has been read, Reads the cluster of cluster number 1.
[0038]
Each playback channel of the playback buffer PLAY has a start address ST and a data amount QT according to the waveform data played back on the playback channel, as exemplified by the playback channel of channel number 1 in FIG. Is set.
[0039]
Here, the start address ST indicates a relative position from the beginning of the cluster in the cluster to be reproduced, and is set based on the start position or the loop start position of the waveform data. The data amount QT indicates the data amount from the start position or the loop start position to the end position of the waveform data.
[0040]
Therefore, in the regenerator 18, in response to an instruction to start waveform data reproduction by operating the pad 20e (pressing start), each reproduction channel uses the waveform data stored in the first cluster of the reproduction buffer PLAY as the head of the cluster. Is started from a position as far as indicated by the start address ST, and thereafter, one sample of data is read at every sampling period and the value of the set data amount QT is decremented.
[0041]
Each reproduction channel notifies the CPU 10 when reading of each cluster of the reproduction buffer PLAY is completed and when the value of the data amount QT becomes zero.
[0042]
When the CPU 10 receives notification that the cluster reading has been completed, the CPU 10 reads and stores one cluster of waveform data to be stored next in the cluster from the disk 14, while the value of the data amount QT is When the notification that it has become 0 is received, if the waveform data is to be loop read, the notification that the cluster read is completed after the next start address ST and the data amount QT are set to the reproduction channel. Is issued, and if the waveform data is one-shot read, the playback channel is instructed to stop playback. The reproduction channel reads out from the position indicated by the start address ST, with the next cluster of the cluster that has been read up to now as the reproduction target cluster in accordance with the setting of the new start address ST and data amount QT. .
[0043]
Further, each reproduction channel stops reading (reproducing) the waveform data when receiving a reproduction stop instruction from the CPU 10.
[0044]
Next, processing when bank switching is instructed by operating the bank switching operator 20f will be described with reference to the bank switching processing flowchart shown in FIG.
[0045]
That is, when the bank switching operator 20f is operated to instruct bank switching, the processing shown in the bank switching processing flowchart of FIG. 5 is executed.
[0046]
In the bank switching process flowchart, first, in step S502, waveform data is assigned to each pad 20e corresponding to a newly designated bank.
[0047]
When the process of step S502 is completed, the process proceeds to step S504, and the waveform data of the cluster including the start position and the next cluster are read from the disk 14 with respect to the waveform data corresponding to each pad 20e, and the corresponding start buffer START is read. Store in one cluster and second cluster. However, regarding the waveform data composed of only one cluster, the waveform data is stored only in the first cluster when the waveform data is one-shot readout, and the first cluster and The same waveform data is stored in the second cluster.
[0048]
When the process of step S504 is completed, the process proceeds to step S506, instructing the reproduction channel whose hold flag hold (described later) of the regenerator 18 is “0” to stop the reproduction of the waveform data, and the reproduction channel is not set. The assignment order is updated in accordance with the use state.
[0049]
When the process of step S506 is terminated, the process of the flowchart of the bank switching process is terminated.
[0050]
Here, the hold flag hold indicates whether or not a hold state (described later) is set by the hold operator 20g and the hold pedal 22 provided for each reproduction channel. The reproduction channel whose hold flag hold is “0” indicates that it is not in the hold state, and the reproduction channel whose hold flag hold is “1” indicates that it is in the hold state. By this processing, the reproduction channel that is not in the hold state stops reading the waveform data.
[0051]
The hold flag hold is set to “0” in the initial state after the power is turned on, and is always set to “0” for the playback channel to which the waveform data for which one-shot reading is specified is assigned. ing.
[0052]
Therefore, when bank switching is performed, the reproduction of waveform data for which one-shot reading is designated among the waveform data being reproduced is unconditionally stopped.
[0053]
Next, referring to the pad-on process flowchart shown in FIG. 6, a process when one of the pads 20e is operated (pressed down) and a reproduction start instruction is given will be described.
[0054]
That is, when one of the pads 20e is operated (pressing is started) and a reproduction start instruction is given, the process shown in the flowchart of the pad-on process in FIG. 6 is executed.
[0055]
In the pad-on process flowchart, first, in step S602, the pad number (1 to 16) of the operated pad 20e is set to the pad number pad.
[0056]
When the process of step S602 is completed, the process proceeds to step S604, a playback channel to which the waveform data of the newly operated pad 20e is assigned is selected based on a predetermined assignment order, and the channel number of the selected playback channel is set to the channel number ch. Set. The assignment order may be determined by using a well-known assignment technique. For example, if there is a playback channel for which waveform data is not read out, the playback channel is selected, and a playback channel for which waveform data is not read out. If there is no, you can select the playback channel that started playback the earliest
When waveform data is being reproduced on all reproduction channels, a reproduction channel that is in a hold state, which will be described later, may be excluded from selection.
[0057]
Also, when waveform data is being played back on all playback channels, if there is a playback channel that is playing back waveform data for which one-shot readout is specified, the playback channel is selected from those playback channels, and loop readout is performed. If there is only a reproduction channel for reproducing the designated waveform data, the reproduction channel may be selected from the reproduction channels.
[0058]
If a playback channel being played back is selected, stop playback is instructed to that playback channel.
[0059]
When the process of step S604 is completed, the process proceeds to step S606, the cluster number on the disk 14 including the start position of the waveform data corresponding to the pad 20e with the pad number pad is obtained, the cluster number is read, and the cluster number rd_cl (ch) is read. The cluster number on the disk 14 including the loop start position of the waveform data corresponding to the pad 20e of the pad number pad is obtained, the cluster number is set to the loop start cluster number lst_cl (ch), and the pad number The cluster number on the disk 14 including the end position of the waveform data corresponding to the pad 20e of the pad is obtained, and the cluster number is set to the end cluster number ed_cl (ch).
[0060]
When the process of step S606 is completed, the process proceeds to step S608, and waveform data is transferred from the first cluster START [pad, 1] of the start buffer START of the pad number pad to the first cluster PLAY [ch of the reproduction buffer PLAY of the channel number ch. , 1]. That is, the waveform data of the first cluster of the start buffer START of the operated pad 20e is stored in the first cluster of the reproduction buffer PLAY of the selected reproduction channel.
[0061]
When the process of step S608 ends, the process proceeds to step S610, and based on the start position of the waveform data corresponding to the pad number pad, the relative position of the start position in the cluster including the start position is obtained, and the relative position is started. The address ST is used, and the data amount of the waveform data is obtained based on the start position and end position of the waveform data corresponding to the pad number pad. The data amount is defined as the data amount QT, and the start address ST and the data amount are determined. QT is set as a playback channel ch, this playback channel ch is instructed to start playback from the start address ST of the first cluster, and any playback channel is associated with the playback channel ch being used. The waveform data of any pad 20e None or not to update the management information and assign rank shows the are.
[0062]
As a result, the reproduction of the waveform data assigned to the operated pad 20e is started in the reproduction channel ch.
[0063]
When the process of step S610 ends, the process proceeds to step S612, where the waveform data assigned to the pad 20e with the pad number pad is one-shot read, and “read cluster number rd_cl (ch) = end cluster number”. It is determined whether or not “ed_cl (ch)”.
[0064]
In step S612, it is determined that the waveform data assigned to the pad 20e with the pad number pad is one-shot read and “read cluster number rd_cl (ch) = end cluster number ed_cl (ch)”. If so, the pad-on process is terminated.
[0065]
This is to be reproduced when the cluster at the read position at the start of reading the waveform data and the cluster at the end position match, that is, when the waveform data is stored in only one cluster. This is because all the waveform data has already been stored in the reproduction buffer, and therefore, when performing one-shot reading, it is not necessary to store additional waveform data in the reproduction buffer.
[0066]
On the other hand, in step S612, the waveform data assigned to the pad 20e with the pad number pad is one-shot reading, and “reading cluster number rd_cl (ch) = end cluster number ed_cl (ch)” is not satisfied. If it is determined, step S614 follows and the waveform data is transferred from the second cluster START [pad, 2] of the start buffer START of the pad number pad to the second cluster PLAY [ch of the reproduction buffer PLAY of the channel number ch. , 2]. That is, the waveform data of the second cluster of the start buffer of the operated pad 20e is stored in the second cluster of the reproduction buffer of the selected reproduction channel.
[0067]
When the process of step S614 ends, the process proceeds to step S616, the read cluster number rd_cl (ch) is incremented, and the write cluster number wr_cl (ch) of the start buffer of the pad number ch is set to 2.
[0068]
Therefore, the processing up to step S616 described above writes waveform data to the first cluster and the second cluster of the reproduction buffer, and increases the read cluster number and the write cluster number, respectively. In subsequent steps, a process of writing waveform data to the third cluster and the fourth cluster of the reproduction buffer is performed.
[0069]
That is, when the process of step S616 is completed, the process proceeds to step S618, and it is first determined whether or not the write cluster number wr_cl (ch) is “4”. If it is determined in step S618 that the write cluster number wr_cl (ch) is “4”, the waveform data has been written into the third cluster and the fourth cluster of the reproduction buffer. finish.
[0070]
On the other hand, if it is determined in step S618 that the write cluster number wr_cl (ch) is not “4”, the process proceeds to step S620, where “read cluster number rd_cl (ch) = end cluster number ed_cl (ch)”. Judge whether there is.
[0071]
If it is determined in step S620 that “read cluster number rd_cl (ch) = end cluster number ed_cl (ch)”, the process proceeds to step S622, and the waveform data assigned to the pad 20e with the pad number pad is obtained. Then, it is determined whether or not the one-shot reading is performed.
[0072]
If it is determined in step S622 that the waveform data assigned to the pad 20e with the pad number pad is one-shot reading, it is not necessary to store additional waveform data in the playback buffer. -End the on process.
[0073]
On the other hand, if it is determined in step S620 that “read cluster number rd_cl (ch) = end cluster number ed_cl (ch)” is not satisfied, the read cluster number rd_cl (ch) is incremented (step S624). The write cluster number wr_cl (ch) is incremented (step S626), and then the waveform data corresponding to the read cluster number rd_cl (ch) of the pad number pad is read from the disk 14, and the write cluster number wr_cl of the playback buffer of the playback channel ch is read. The data is stored in the cluster indicated by (ch) (step S628), and the process returns to step S618.
[0074]
If it is determined in step S622 that the waveform data assigned to the pad 20e with the pad number pad is not one-shot read, the loop start cluster number lst_cl (ch) is read and the cluster number rd_cl is read. (Ch) is set (step S630), and the write cluster number wr_cl (ch) is further incremented (step S626), and then the waveform data corresponding to the read cluster rd_cl (ch) of the pad number pad is read from the disk 14. Then, it is stored in the cluster indicated by the write cluster number wr_cl (ch) of the reproduction buffer of the reproduction channel ch (step S628), and the process returns to step S618.
[0075]
In this way, necessary waveform data is stored in the reproduction buffer in accordance with the operated pad 20e, and reproduction is started.
[0076]
Next, referring to the pad-off process flowchart shown in FIG. 7, a process when any one of the pads 20e is operated (depressed) and a reproduction stop instruction is given will be described.
[0077]
That is, when any of the pressed pads 20e is operated (depressed) and a playback stop instruction is given, the process shown in the flowchart of the pad-off process in FIG. 7 is executed.
[0078]
In the flowchart of the pad-off process, first, in step S702, the pad number (1 to 16) of the pad 20e that has been operated (depressed) is set to the pad number pad.
[0079]
When the process of step S702 is completed, the process proceeds to step S704, where it is determined whether or not there is a reproduction channel that is reproducing the waveform data of the operated pad 20e (depressed).
[0080]
If it is determined in step S704 that there is no reproduction channel for reproducing the waveform data of the operated pad 20e (depressed), this pad-off process is terminated.
[0081]
On the other hand, if it is determined in step S704 that there is a playback channel that is playing back the waveform data of the pad 20e that has been operated (press release), the process proceeds to step S706, and the waveform of the pad 20e that has been operated (press release). Set the channel number of the playback channel that is reproducing data to the channel number ch.
[0082]
When the process of step S706 ends, the process proceeds to step S708 to determine whether or not the waveform data assigned to the pad 20e with the pad number pad is loop read.
[0083]
If it is determined in step S708 that the waveform data assigned to the pad 20e with the pad number pad is not loop reading, the pad-off process is terminated.
[0084]
On the other hand, if it is determined in step S708 that the waveform data assigned to the pad 20e with the pad number pad is loop reading, the process proceeds to step S710, and the hold flag hold (ch) for the channel number ch is set. It is determined whether or not “hold flag hold (ch) = 1”.
[0085]
If it is determined in step S710 that the hold flag hold (ch) of the channel number ch is “hold flag hold (ch) = 1”, the pad-off process is terminated. That is, in this case, even if the operation of pressing the pad 20e is stopped, the reproduction of the waveform data is continued.
[0086]
If it is determined in step S710 that the hold flag hold (ch) of the channel number ch is not “hold flag hold (ch) = 1”, the process proceeds to step S712 to instruct the playback channel ch to stop playback. As the playback channel becomes inactive, the management information indicating which waveform data of which pad 20e is being played back in which playback channel and the assignment order are changed.
[0087]
Next, a process when the hold operator 20g or the hold pedal 22 is operated will be described with reference to the flowchart of the hold-on process shown in FIG.
[0088]
That is, when the hold operator 20g or the hold pedal 22 is operated, the process shown in the flowchart of the hold-on process is executed.
[0089]
In the hold / on process flowchart, first, in step S802, it is determined whether or not there is a pad 20e being operated (pressed).
[0090]
If it is determined in step S802 that there is a pad 20e being operated (pressed), the process proceeds to step S804, and the waveform data assigned to the pad 20e being operated (pressed) is loop reading. Determine whether or not.
[0091]
If it is determined in step S804 that the waveform data assigned to the pad 20e being operated (pressed) is not loop reading, the hold-on process is terminated. That is, regarding the reproduction of the one-shot readout waveform data, the operation of the hold operator 20g and the hold pedal 22 has no influence.
[0092]
On the other hand, if it is determined in step SS804 that the waveform data assigned to the pad 20e being operated (pressed) is loop reading, the process proceeds to step S806, and the waveform data of the pad 20e is being reproduced. Is set to “hold (ch) = 1”, and this hold-on process is terminated. That is, when the hold operator 20g or the hold pedal 22 is operated while operating (pressing) the pad 20e for instructing the reproduction of the waveform data for loop reading, the reproduction channel for reproducing the waveform data is in the hold state. Thus, even if the operation of the pad 20e is stopped (press release is released), the reproduction of the waveform data is continued.
[0093]
If the hold operator 20g or the hold pedal 22 is operated while operating (pressing) the plurality of pads 20e, the same processing is performed for each pad 20e being operated (pressed).
[0094]
If it is determined in step S802 that there is no pad 20e that is being operated (pressed), that is, the hold operator 20g or the hold pedal 22 is operated without any pad 20e being operated (pressed). If YES in step S808, the flow advances to step S808 to instruct the playback channel ch set to “hold (ch) = 1” to stop playback. The management information and the assignment order indicating which pad 20e waveform data is being reproduced on the reproduction channel are updated.
[0095]
When the process of step S808 ends, the process proceeds to step S810, where “hold (ch) = 0” is set, and this hold-on process ends. That is, when the hold operator 20g or the hold pedal 22 is operated without operating any of the pads 20e, the hold state is released with respect to the playback channel that is in the hold state, and waveform data is reproduced on the playback channel. Will stop.
[0096]
Next, referring to a flowchart of the cluster read end process shown in FIG. 9, a process when it is notified from one of the reproduction channels that the cluster read has been completed will be described.
[0097]
That is, when it is notified from one of the playback channels that the cluster read has been completed, the process shown in the flowchart of the cluster read end process is executed.
[0098]
In the flowchart of the cluster reading end process, first, in step S902, the channel number of the reproduction channel for which the cluster reading has been completed is set to the channel number ch, and the pad number corresponding to the waveform data being reproduced on this reproduction channel is set. Set to pad number pad.
[0099]
When the process of step S902 is completed, the process proceeds to step S904, and it is determined whether or not “read cluster number rd_cl (ch) = end cluster number ed_cl (ch)”.
[0100]
If it is determined in step S904 that “read cluster number rd_cl (ch) = end cluster number ed_cl (ch)”, the process proceeds to step S906, and the waveform data assigned to the pad with the pad number pad is obtained. Then, it is determined whether or not the one-shot reading is performed.
[0101]
If it is determined in step S906 that the waveform data assigned to the pad of the pad number pad is one-shot reading, it is not necessary to store additional waveform data in the reproduction buffer. End the termination process.
[0102]
On the other hand, if it is determined in step S904 that “read cluster number rd_cl (ch) = end cluster number ed_cl (ch)”, the process proceeds to step S908, and the read cluster number rd_cl (ch) is incremented.
[0103]
If it is determined in step S906 that the waveform data assigned to the pad with the pad number pad is not one-shot read, the process proceeds to step S910, where the loop start cluster lst_cl (ch) is read and the cluster is read. Set to the number rd_cl (ch).
[0104]
Then, when the process of step S908 or step S910 is completed, the process proceeds to step S912, and it is determined whether or not the write cluster number wr_cl (ch) is “4”.
[0105]
If it is determined in step S912 that the write cluster number wr_cl (ch) is not “4”, the process advances to step S914 to increment the write cluster number wr_cl (ch).
[0106]
On the other hand, if it is determined in step S912 that the write cluster number wr_cl (ch) is “4”, the process proceeds to step S916, and “1” is set to the write cluster number wr_cl (ch).
[0107]
When step S914 or step S916 is completed, the process proceeds to step S918, where the waveform data corresponding to the read cluster number rd_cl (ch) of the pad number pad is read from the disk 14, and the write cluster number of the reproduction buffer of the channel number ch is read. The data is stored in the cluster indicated by wr_cl (ch), and the cluster read end process is terminated.
[0108]
In this way, when the cluster reading is finished in any one of the reproduction channels, the waveform data of the next cluster is stored in the cluster that has been read out.
[0109]
Next, referring to the flowchart of the “QT = 0” process shown in FIG. 10, a process when one of the playback channels is notified that the value of the data amount QT has become “0” will be described.
[0110]
That is, when it is notified from any playback channel that the value of the data amount QT has become “0”, the processing shown in the flowchart of this “QT = 0” processing is executed.
[0111]
In the flowchart of the “QT = 0” process, first, in step S1002, the channel number of the reproduction channel whose data amount QT is “0” is set as the channel number ch.
[0112]
When the process of step S1002 ends, the process proceeds to step S1004, and it is determined whether or not the waveform data being reproduced on the reproduction channel whose data amount QT is “0” is loop readout.
[0113]
If it is determined in step S1004 that the waveform data being reproduced on the reproduction channel whose data amount QT is “0” is loop read, the process proceeds to step S1006, and the reproduction channel ch is changed to that data. Based on the loop start position of the waveform data being played back on the playback channel, the relative position of the loop start position in the cluster including the loop start position is obtained and set as the start address ST. Based on the loop start position and end position, the waveform data amount of the waveform data is obtained, the waveform data amount is set as the data amount QT, the start address ST and the data amount QT are set in the reproduction channel ch, and Of the cluster that was playing up to now for the playback channel ch 9 is issued as a cluster to be reproduced, a notification that the cluster read is completed is issued, and the process of the flowchart shown in FIG. 9 is performed in response to the notification that the cluster read is completed. The “QT = 0” process is terminated.
[0114]
On the other hand, if it is determined in step S1004 that the waveform data being reproduced on the reproduction channel whose data amount QT is “0” is not loop read, the process proceeds to step S1008, and the reproduction channel ch is selected. Instructing to stop the reproduction, the management information indicating which waveform data of which pad 20e is being reproduced in which reproduction channel when the reproduction channel is not in use and the update order are updated. = 0 ”process is terminated.
[0115]
Therefore, in the above-described embodiment, when bank switching is instructed by operating the bank switching operator 20f, waveform data is assigned to each pad 20e according to the newly designated bank according to the bank switching processing flowchart ( Step S502). At this time, waveform data for one cluster or two clusters including the start position of the waveform data is read from the disk 14 in accordance with the start position set for each waveform data assigned to each pad 20e. It is stored in the start buffer START (step S504).
[0116]
That is, since the waveform data is stored in the start buffer START from the cluster including the start position of the disk 14, it is sufficient that the start buffer START has a minimum storage capacity.
[0117]
When the pad 20e is operated (pressed), the waveform data of the start portion of the waveform data of the pad 20e operated (pressed) is transferred from the start buffer START to the reproduction buffer PLAY according to the pad-on process flowchart ( In step S608), waveform data reading is started from the start position in the reproduction buffer PLAY (step S610).
[0118]
Accordingly, even if a place other than the top of the waveform data is designated as the start position, the waveform is read from the start position without a time delay according to the operation of the pad 20e.
[0119]
Since waveform data for two clusters is stored in the start buffer START as necessary (step S504), even when the start position is the end of the cluster including the start position, the reproduction of the cluster is performed. When the processing is completed, the waveform data of the next cluster has already been prepared, and the waveform data can be reproduced smoothly.
[0120]
The start buffer START may be provided with a storage area for three clusters or more.
[0121]
After the start of reading the waveform data, the waveform data that has not yet been read out is read from the disk 14 in cluster units in the empty area of the reproduction buffer PLAY (the area where the reading has been completed) and sequentially stored ( Step S618 to Step S628). That is, when reading of a certain cluster is completed in the reproduction buffer PLAY, the cluster is treated as an empty area, and new waveform data is stored.
[0122]
Similarly, when waveform data for which loop reading is designated is read to the end position, the cluster is treated as an empty area, and new waveform data is stored.
[0123]
Here, in the case of waveform data for which loop reading is designated, when the waveform data is stored in the reproduction buffer PLAY up to the cluster including the end position, the cluster including the loop start position is stored in the reproduction buffer PLAY from the next time. To do.
[0124]
When the waveform data is reproduced to the end position, reading is continued from the position indicated by the loop start position of the next cluster.
[0125]
Therefore, loop reproduction is possible based on the loop start position and end position, and the reproduction buffer only needs to have a minimum storage capacity.
[0126]
In addition, when playing a certain cluster, the storage of waveform data in the next cluster has already been completed, so even if the loop end position is closer to the beginning of the cluster including that end position, When the reproduction of the cluster is completed, the waveform data of the next cluster is already prepared, and the waveform data is reproduced smoothly.
[0127]
In the embodiment described above, a storage area for four clusters is provided as the reproduction buffer PLAY. However, a storage area for at least three clusters is sufficient.
[0128]
Note that the waveform data for which one-shot reading is designated is stopped when the waveform data is played back to the end position, regardless of the operation (depressing pressing) of the corresponding pad 20e.
[0129]
For waveform data for which loop reading is designated, reproduction is stopped when the operation of the corresponding pad 20e is stopped (press release).
[0130]
However, regarding the waveform data for which loop reading is designated, when the hold operator 20g or the hold pedal 22 is operated while operating the corresponding pad 20e, the hold data is set to the hold state according to the flowchart of the hold-on process (step S806), the reproduction is continued even if the operation of the corresponding pad 20e is stopped.
[0131]
In this state, when the hold operator 20g or the hold pedal 22 is operated while operating the pad 20e corresponding to another waveform data for which loop reading is designated, this waveform data is also added to the previous waveform data. The hold state is set.
[0132]
When the hold operator 20g or the hold pedal 22 is operated without operating any of the pads 20e, the hold state is canceled and the reproduction of the waveform data that has been in the hold state until then is stopped.
[0133]
Even when the bank is switched during the hold state, the waveform data in the hold state is continuously reproduced. At this time, since new waveform data is stored in the start buffer START corresponding to the new bank, if the pad 20e is operated in this state, the waveform data in the previous bank is loop-reproduced, and the new bank data is stored. Waveform data can be played back.
[0134]
The embodiment described above may be modified as shown below.
[0135]
(1) In the embodiment described above, the waveform data is transferred from the start buffer START to the reproduction buffer PLAY to reproduce the reproduction buffer PLAY. However, the present invention is not limited to this. The waveform data stored in the start buffer START is read from the start buffer START, and the subsequent waveform data is read from the disk 14 instead of being transferred from the buffer START to the reproduction buffer PLAY to reproduce the reproduction buffer PLAY. When the waveform data stored in the start buffer START is read after being transferred to the PLAY, the reproduction buffer PLAY may be reproduced.
[0136]
(2) In the embodiment described above, the waveform data is transferred from the start buffer START to the reproduction buffer PLAY to reproduce the reproduction buffer PLAY. However, the present invention is not limited to this. The reproduction buffer PLAY is not transferred from the buffer START to the reproduction buffer PLAY and reproduced, but the reproduction buffer PLAY is provided corresponding to each pad 20e (the start buffer START is not provided), and the start portion of the waveform data is previously provided. You may make it memorize | store in the reproduction | regeneration buffer PLAY. When the reproduction is finished, the start portion of the waveform data is stored again in the reproduction buffer PLAY. (3) In the above-described embodiment, the waveform data for which loop reading is designated is reproduced at the time when the operation of the corresponding pad is stopped (when the hold is set, the hold is released). Although it is stopped, playback is stopped when the waveform data is played back to the end position after the pad operation is canceled (press release) (after the hold is released if it is in the hold state). Alternatively, the playback may be stopped when the operation of the pad 20e is stopped (press release) (or when the hold is released), or the end position of the waveform data after the pad operation is stopped is played back. It may be possible to arbitrarily select whether to stop playback at the time. Note that when it is possible to arbitrarily set whether playback is stopped under any condition, all waveform data may be set collectively, or may be set for each waveform data or pad 20e. May be.
[0137]
(4) In the above-described embodiment, the hold flag hold is provided for each reproduction channel so as to manage whether or not each musical sound being reproduced is in the hold state. However, the present invention is not limited to this. Of course, if it is possible to manage whether or not each musical sound being played is in the hold state, it may be managed in another form. For example, when a hold flag hold is provided for each pad 20e and the hold operator 20g or hold pedal 22 is operated while the pad 20e is being operated, the hold flag hold for that pad 20e is When the hold operator 20g or the hold pedal 22 is operated without operating the pad 20e, the hold flag hold of all the pads 20e is lowered, and the operation (pressing) of the pad 20e is stopped. In some cases, if the hold flag hold of the pad 20e is set, it may not be instructed to stop the reproduction of the corresponding waveform data. In place of the pad 20e, a hold flag hold may be provided for each waveform data.
[0138]
(5) In the above-described embodiment, different waveform data is assigned to each pad 20e as a performance operator instructing reproduction of a musical tone. However, the same waveform data is assigned to each pad 20e as a performance operator. However, waveform data having different pitches may be assigned.
[0139]
(6) In the above-described embodiment, the stored contents of the start buffer START are used only when the head portion of the waveform data is reproduced at the time of pad operation. When stored in the buffer START, loop reading may be performed using the stored contents of the start buffer START.
[0140]
For example, when the waveform data of the loop portion is already stored in the start buffer START, the waveform data is transferred from the start buffer START instead of being transferred from the disk 14 to the reproduction buffer PLAY. In this way, the transfer is completed in a shorter time than when the waveform data is read from the disk 14 and transferred to the reproduction buffer PLAY.
[0141]
This is particularly effective in the following cases. That is, when loop reading is performed, it is necessary that at least the first portion of the waveform data of the loop portion for the next reproduction is prepared in the reproduction buffer PLAY before the reproduction of the currently reproduced loop portion is completed. However, the loop start position is at the end of the previous cluster and the end position is in the rear cluster even if the loop part is only for one cluster or the loop part spans two clusters. Since the playback of the loop portion is completed in a short time, the transfer is not in time, and the playback buffer from the waveform data of the loop portion for the next playback is reproduced from the disk 14 until the end of the playback. There is a possibility that the transfer to PLAY does not end.
[0142]
In this case, as described above, by transferring the waveform data from the start buffer START to the reproduction buffer PLAY, it is possible to greatly reduce the possibility that the transfer will not be in time. Hereinafter, a case where such a modification is performed will be described.
[0143]
First, for each pad 20e, a cluster number indicates in which cluster on the disk 14 the waveform data stored in cluster 1 and cluster 2 of the start buffer START of that pad 20e is stored. A start 1 cluster number ST1-cl (pad) and a start 2 cluster number ST2-cl (pad) are provided.
[0144]
In the bank switching process, when the waveform data is stored from the disk 14 in the start buffer START of each pad 20e, the start 1 / cluster number ST1-cl (pad), the start 2 / cluster number ST2-cl (pad) ) Is added to set the cluster number on the disk 14 corresponding to. In the pad-on process, whether the waveform data assigned to the operated pad 20e is one-shot read before the process of step S628, that is, the process of storing the waveform data in the reproduction buffer PLAY. If it is determined that the one-shot reading is performed, the process proceeds to step S628 as in the above-described embodiment. On the other hand, when it is determined that the one-shot read is not performed, that is, the loop read is performed, the cluster indicated by the read cluster number rd_cl (ch) is the start 1 / cluster number ST1-cl (pad) or start 2 / cluster number. It is determined whether or not it matches the cluster indicated by any of ST2-cl (pad).
[0145]
Here, if it is determined that they match, it indicates that the waveform data to be stored in the reproduction buffer PLAY has already been stored in the start buffer START. The waveform data is read out from the cluster of the start buffer START shown and stored in the reproduction buffer PLAY, and the process returns to step S618.
[0146]
The cluster reading process is similarly modified. That is, before the process of step S918, that is, the process of storing the waveform data in the reproduction buffer PLAY, the process of determining whether or not the waveform data assigned to the operated pad 20e is one-shot readout. In addition, if it is determined that the one-shot read is performed, the process proceeds to step S918 as in the embodiment. On the other hand, when it is determined that the one-shot read is not performed, that is, the loop read is performed, the cluster indicated by the read cluster number rd_cl (ch) is the start 1 / cluster number ST1-cl (pad) or start 2 / cluster number. It is determined whether or not it matches the cluster indicated by any of ST2-cl (pad).
[0147]
Here, if it is determined that they match, it indicates that the waveform data to be stored in the reproduction buffer PLAY has already been stored in the start buffer START. The waveform data is read from the cluster of the start buffer START shown and stored in the reproduction buffer PLAY, and the cluster read processing is terminated.
[0148]
Note that the modification described above may be combined with the modification described in Modification (1) above.
[0149]
That is, when the waveform data of the loop portion is stored in the start buffer START, the waveform data is not transferred from the start buffer START to the reproduction buffer PLAY and reproduced on the reproduction buffer PLAY. The buffer START is directly reproduced.
[0150]
In the above-described embodiment, the waveform data in the hold state is continuously reproduced even when the bank is switched during the reproduction. However, when the waveform data is changed as described above, When the bank is switched, the contents of the start buffer START are rewritten to those corresponding to the new bank. Therefore, if loop reading is performed using the contents of the start buffer START, normal reproduction cannot be performed.
[0151]
In order to cope with this, when bank switching is performed, the loop reading based on the start buffer START is prohibited, or the pad corresponding to the waveform data in the hold state even if the bank switching instruction is given. Regarding 20e, rewriting of the contents of the start buffer START is suspended, loop reading based on the contents of the start buffer START is continued, and when the hold state is released, the contents of the held start buffer START are rewritten. Can be considered.
[0152]
(7) In the embodiment described above, new waveform data is transferred from the disk 14 to the reproduction buffer PLAY during the reproduction of the waveform data. However, when the loop portion is short and all the data is stored in the reproduction buffer PLAY, the stored reproduction buffer PLAY may be repeatedly read without transferring the waveform data from the disk 14 to the reproduction buffer PLAY. . By doing so, it is possible to prevent a situation in which it is not in time to transfer the waveform data of the loop portion for the next playback from the disk 14 to the playback buffer PLAY until the end of the current playback of the waveform data of the loop portion. Can do. Specifically, it may be modified as follows.
[0153]
That is, first, for each pad 20e, the number of clusters occupied by the loop portion of the waveform data assigned to the pad 20e is stored, and the end position of the waveform data assigned to each pad 20e in the bank switching process. Add a process to set this variable based on the difference between and the loop start position.
[0154]
In the cluster reading end process, when it is determined in step S906 that the one-shot reading is not performed, that is, the loop reading waveform data is stored in the reproduction buffer PLAY up to the end position, the reproduction is performed based on the above-described variables. Added processing to determine whether or not the number of clusters occupied by the loop portion of the waveform data assigned to the channel is equal to or less than the number of clusters in the reproduction channel (in the above-described embodiment, “4”). However, if it is determined that it is not the following, the process proceeds to step S910 as in the above-described embodiment. On the other hand, if it is determined that the following is true, the cluster read processing is terminated as it is.
[0155]
Further, in the “QT = 0” process, the processing content of step S1006 is changed to the start address ST and the data amount QT for the playback channel, and the number of clusters indicated by the above-described variables from the clusters that have been played so far. A cluster that is one number smaller than the previous cluster is changed to a process that designates the next cluster as a cluster to be reproduced.
[0156]
(8) In the above-described embodiment, the hold pedal 22 is provided in the waveform data reproducing apparatus main body. However, the connection terminal for receiving a signal from an external hold pedal is provided in the waveform data reproducing apparatus. Good,
Further, in the above-described embodiment, the performance is performed by the pad 20e, the hold operator 20g, the bank switching operator 20f, etc. provided in the waveform data reproducing apparatus main body, which corresponds to the operation of these operators. The operation signal may be input from an external device using a communication means such as MIDI.
[0157]
【The invention's effect】
Since the present invention is configured as described above, it is possible to select a musical sound to be held and a musical sound that is not to be held, and while any one of the musical sounds is in the holding state, It has an excellent effect that it is possible to put another musical sound in the hold state.
[Brief description of the drawings]
FIG. 1 is a block diagram showing the overall configuration of a waveform data reproducing apparatus as an example of an embodiment of an electronic musical instrument according to the present invention.
FIG. 2 is an explanatory diagram conceptually showing a format of a storage area of a disc.
FIG. 3 is an explanatory diagram conceptually showing a format of a start buffer START.
FIG. 4 is an explanatory diagram conceptually showing a format of a reproduction buffer PLAY.
FIG. 5 is a flowchart of bank switching processing.
FIG. 6 is a flowchart of pad-on processing.
FIG. 7 is a flowchart of pad-off processing.
FIG. 8 is a flowchart of hold-on processing.
FIG. 9 is a flowchart of cluster read end processing;
FIG. 10 is a flowchart of a “QT = 0” process.
[Explanation of symbols]
10 Central processing unit (CPU)
12 Analog / digital converter (A / D)
14 discs
16 Semiconductor memory
18 Regenerator
20 Operation panel
20a Start position specification operator
20b Loop start position specification operator
20c End position specification operator
20d loop / one-shot designator
20e pad
20f Bank switching operator
20g Hold button
20h Other controls
22 Hold pedal
24 Digital / analog converter (D / A)

Claims (2)

操作に基づいて生成すべき楽音がそれぞれ対応付けられた複数の演奏用操作子と、
前記演奏用操作子の操作に基づいて生成された楽音をホールド状態にするためのホールド操作子と、
前記演奏用操作子の操作開始に応じて、前記操作開始された演奏用操作子に対応付けられた楽音の生成開始を指示するとともに、ホールド状態とされていない楽音に対応する前記演奏用操作子の操作停止に応じて、前記操作停止された演奏用操作子に対応付けられている楽音の生成停止を指示する第1の指示手段と、
前記演奏用操作子の操作中に前記ホールド操作子が操作された場合に、前記操作中の演奏用操作子に対応付けられている楽音をホールド状態とすることを指示するとともに、前記演奏用操作子のいずれもが操作されていないときに前記ホールド操作子が操作された場合に、ホールド状態とされていた楽音に関して生成の停止を指示する第2の指示手段と
を有する電子楽器。
A plurality of performance controls each associated with a musical sound to be generated based on the operation;
A hold operator for holding the musical sound generated based on the operation of the performance operator; and
In response to the start of the operation of the performance operator, the performance operator corresponding to the musical sound that is not in the hold state is instructed to start generation of a musical sound associated with the performance operator that has been started. First instruction means for instructing to stop the generation of the musical sound associated with the operation controller for which the operation has been stopped,
When the hold operator is operated during operation of the performance operator, the musical operation associated with the performance operator being operated is instructed to be held, and the performance operation is performed. An electronic musical instrument comprising: a second instructing unit that instructs generation to be stopped with respect to a musical tone that is in a hold state when the hold operator is operated when none of the children is operated.
請求項1に記載の電子楽器において、
生成中の各楽音がホールド状態であるか否かを示す情報を記憶する記憶手段と
を有し、
前記第1の指示手段は、前記記憶手段の記憶内容に基づいて各楽音がホールド状態とされているか否かを判断し、
前記第2の指示手段は、前記演奏用操作子の操作中に前記ホールド操作子が操作された場合に、前記操作中の演奏用操作子に対応付けられている楽音をホールド状態とすることを前記記憶手段に記憶させるとともに、前記演奏用操作子のいずれもが操作されていないときに前記ホールド操作子が操作された場合に、前記記憶手段にホールド状態であることが記憶されている楽音に関して生成の停止を指示する
ものである電子楽器。
The electronic musical instrument according to claim 1,
Storage means for storing information indicating whether each musical sound being generated is in a hold state;
The first instruction means determines whether or not each musical sound is in a hold state based on the stored contents of the storage means,
The second instruction means sets the musical sound associated with the performance operator being operated to a hold state when the hold operator is operated during operation of the performance operator. Regarding a musical sound that is stored in the storage means and is stored in the storage means when the hold operator is operated when none of the performance operators are operated An electronic musical instrument that instructs to stop generation.
JP12825998A 1998-01-28 1998-04-22 Electronic musical instruments Expired - Fee Related JP3923177B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12825998A JP3923177B2 (en) 1998-01-28 1998-04-22 Electronic musical instruments

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP3064198 1998-01-28
JP10-30641 1998-01-28
JP12825998A JP3923177B2 (en) 1998-01-28 1998-04-22 Electronic musical instruments

Publications (2)

Publication Number Publication Date
JPH11282470A JPH11282470A (en) 1999-10-15
JP3923177B2 true JP3923177B2 (en) 2007-05-30

Family

ID=26369028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12825998A Expired - Fee Related JP3923177B2 (en) 1998-01-28 1998-04-22 Electronic musical instruments

Country Status (1)

Country Link
JP (1) JP3923177B2 (en)

Also Published As

Publication number Publication date
JPH11282470A (en) 1999-10-15

Similar Documents

Publication Publication Date Title
JP2671747B2 (en) Musical tone forming device
US20080069383A1 (en) Mixing apparatus for audio data, method of controlling the same, and mixing control program
JP3659190B2 (en) Playback control apparatus, method and program
JP2000156039A (en) Multi-track recording and reproducing system and device
US20010013269A1 (en) Method and apparatus for storing audio data
JP4170438B2 (en) Waveform data playback device
JPH04339000A (en) Music reproduction device
JP3923177B2 (en) Electronic musical instruments
JP3980750B2 (en) Electronic musical instruments
JP4132213B2 (en) Electronic musical instruments
JP3591227B2 (en) Karaoke equipment
JP4003419B2 (en) Ping-pong recording method and multi-track recorder apparatus
JPH05159540A (en) Playback apparatus
JPH04168492A (en) Musical sound reproducing device
JPH0430638Y2 (en)
JPH0511593Y2 (en)
JP3744477B2 (en) Performance data reproducing apparatus and performance data reproducing program
JPH0413194A (en) Musical sound reproducing device with abbreviated reproducing function
JP2505589Y2 (en) Sound field configuration device
JP3518392B2 (en) Performance information setting device and computer-readable recording medium storing performance information setting program
JP3666467B2 (en) Waveform editing apparatus and waveform editing program
JP2585807B2 (en) Automatic rhythm playing device
JP3770030B2 (en) Recording / playback device
JPH04247379A (en) Recording medium player
JPH04238393A (en) Music reproducing device with back-ground chorus reproducing function

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050412

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070130

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: 20070220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070221

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110302

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130302

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130302

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140302

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees