JP4258878B2 - 楽音制御装置及び楽音制御方法 - Google Patents
楽音制御装置及び楽音制御方法 Download PDFInfo
- Publication number
- JP4258878B2 JP4258878B2 JP05955399A JP5955399A JP4258878B2 JP 4258878 B2 JP4258878 B2 JP 4258878B2 JP 05955399 A JP05955399 A JP 05955399A JP 5955399 A JP5955399 A JP 5955399A JP 4258878 B2 JP4258878 B2 JP 4258878B2
- Authority
- JP
- Japan
- Prior art keywords
- waveform data
- waveform
- overtone
- storage means
- mode
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、楽音制御装置及び楽音制御方法に関する。
【0002】
【従来の技術】
ドローバーオルガンにおいては、基音及び複数の倍音を、各倍音のバーの位置によって任意に組み合わせて合成し、所望の音色を作り出すことができる。一方、電子鍵盤楽器においても、PCM音源を用いてドローバーオルガンのような音色を生成することができる。当初、このような電子鍵盤楽器に搭載された楽音制御装置では、マイコンで基音及び倍音の波形データをリアルタイムで演算して生成し、これらを合成してRAM等の発音バッファメモリに記憶させ、この合成された波形データを読み出して発音を制御していた。
【0003】
しかしながら、リアルタイムで倍音の複数の波形データを演算することは、マイコンの負荷が重すぎるため、合成処理の応答速度が遅くなってしまう。このため、基音と合成する倍音数に限界があった。したがって、ドローバーオルガンのような音色を実現するには到らなかった。
【0004】
一方、基音のPCM波形データ及び複数の倍音のPCM波形データをROMにあらかじめ格納しておき、押鍵される鍵の音高に対応する基音及び複数の倍音に対応するPCM波形データを読み出して、RAM等の発音バッファメモリに記憶する方法も行われていた。
【0005】
しかしながら、この場合には、各音色(楽器音)ごとの基音及び複数の倍音のPCM波形データをROMに格納しなければならず、ROMの記憶容量が膨大になってしまうため、製品のコストダウンや小型化に障害があった。
【0006】
そこで最近は、CPU等のマイコンによって、ROMに格納した基音のPCM波形データを元に、波形合成のアルゴリズムによって倍音の波形データを生成している。この場合には、操作によって設定されたドローバーを読み取って、基音のPCM波形データを倍音に応じた読み出し速度及びドローバーの値に応じたゲインで倍音数に応じて読み出して合成し、その合成波形データをRAMに書き込み、発音制御処理の際に、その合成波形データを読み出して発音させている。
【0007】
【発明が解決しようとする課題】
しかしながら、従来の電子鍵盤楽器における楽音制御装置及び楽音制御方法においては、波形合成のアルゴリズムの処理に柔軟性がなかったため、ユーザの要求に対応できなかった。例えば、8チャンネルの電子鍵盤楽器において、8スロットを周期として各処理を行う場合には、1スロット目から7スロット目までの各スロットごとにROMからPCM波形データを読み出すアルゴリズムWG(1)〜(7)処理を行い、8スロット目で7つの波形データを合成した波形データをRAMに記憶している。
【0008】
すなわち、7スロットがROMからPCM波形データを読み出す再生モードに指定され、1スロットがRAMに合成した波形データを書き込む記録モードに指定されている。このため、ユーザの要求によって合成する倍音数が7から増加した場合や減少した場合には対応することができなかった。
【0009】
本発明の課題は、波形合成のアルゴリズムによって、ドローバーオルガンのような音色を実現する際に、ユーザの要求に柔軟に対応するとともに、製品のコストダウンや小型化を図ることである。
【0010】
【課題を解決するための手段】
請求項1に記載の楽音制御装置は、基本音高のPCM波形データをあらかじめ記憶している波形記憶手段と、基音及び複数の倍音夫々のレベルを示す倍音パラメータを操作に応じて設定するパラメータ設定手段と、書き込み可能であって、前記パラメータ設定手段によって設定された複数の倍音パラメータを複数のグループに分割して記憶するとともに、当該グループ毎に割り当てられた記憶領域を有する記憶手段と、前記記憶手段に記憶された複数の倍音パラメータに基づいて、前記パラメータ設定手段の操作により倍音パラメータに変化がある毎に当該変化のあった倍音パラメータを含むグループを検出する検出手段と、波形合成処理のアルゴリズムのモードを、前記検出手段により変化のあった倍音パラメータを含むグループを検出したときのみ波形合成処理のモードに設定し、検出されない時は、発音制御処理のモードに設定するモード設定手段と、前記波形合成処理のモードにおいては、前記波形記憶手段のPCM波形データおよび前記検出されたグループに含まれる倍音パラメータに基づいて波形データを生成して当該検出されたグループに割り当てられた前記記憶手段の記憶領域に書き込み、前記記憶手段の各グループに対応する記憶領域夫々から前記波形データを読み出して当該読み出された複数の波形データを合成して前記記憶手段の所定の記憶領域に書き込むデータ合成手段と、前記発音制御処理のモードにおいては、前記記憶手段の前記所定の記憶領域に記憶された波形データに基づいて発音を制御する発音制御手段と、を備えた構成になっている。
【0011】
請求項4に記載の楽音制御方法は、パラメータ設定手段によって基音及び複数の倍音夫々のレベルを示す倍音パラメータの操作に応じて設定される複数の倍音パラメータが複数のグループに分割して記憶されるとともに、当該グループ毎に割り当てられた記憶領域を有する書き込み可能な記憶手段に記憶されている複数の倍音パラメータに基づいて、前記パラメータ設定手段の操作により設定される倍音パラメータに変化がある毎に当該変化のあった倍音パラメータを含むグループを検出する検出処理と、波形合成処理のアルゴリズムのモードを、前記検出処理により変化のあった倍音パラメータを含むグループを検出したときのみ波形合成処理のモードに設定し、検出されない時は、発音制御処理のモードに設定するモード設定処理と、前記波形合成処理のモードにおいては、波形記憶手段のPCM波形データおよび前記検出されたグループに含まれる倍音パラメータに基づいて波形データを生成して当該検出されたグループに割り当てられた前記記憶手段の記憶領域に書き込み、前記記憶手段の各グループに対応する記憶領域夫々から前記波形データを読み出して当該読み出された複数の波形データを合成して前記記憶手段の所定の記憶領域に書き込むデータ合成処理と、前記発音制御処理のモードにおいては、前記記憶手段の前記所定の記憶領域に記憶された波形データに基づいて発音を制御する発音制御処理と、を実行することを特徴とする。
【0013】
請求項2に記載の楽音制御装置は、基本音高のPCM波形データをあらかじめ記憶している波形記憶手段と、基音及び複数の倍音夫々のレベルを示す倍音パラメータを操作に応じて設定するパラメータ設定手段と、書き込み可能であって、前記パラメータ設定手段によって設定された複数の倍音パラメータを複数のグループに分割して記憶するとともに、当該グループ毎に割り当てられた記憶領域を有する記憶手段と、前記記憶手段に記憶された複数の倍音パラメータに基づいて、前記パラメータ設定手段の操作により倍音パラメータに変化がある毎に当該変化のあった倍音パラメータを含むグループを検出する検出手段と、波形合成処理のアルゴリズムのモードを、前記検出手段により変化のあった倍音パラメータを含むグループを検出したときのみ波形合成処理のモードに設定し、検出されない時は、発音制御処理のモードに設定するモード設定手段と、前記波形合成処理のモードにおいては、前記波形記憶手段のPCM波形データおよび前記検出されたグループに含まれる倍音パラメータ夫々に基づいて複数の波形データを生成するとともに当該生成された複数の波形データを合成して中間波形データを生成し、当該生成された中間波形データを前記検出されたグループに割り当てられた前記記憶手段の記憶領域に書き込み、前記記憶手段の各グループに対応する記憶領域夫々から前記中間波形データを読み出して当該読み出された複数の中間波形データを合成して前記記憶手段の所定の記憶領域に書き込むデータ合成手段と、前記発音制御処理のモードにおいては、前記記憶手段の前記所定の記憶領域に記憶された波形データに基づいて発音を制御する発音制御手段と、を備えた構成になっている。
【0014】
請求項5に記載の楽音制御方法は、パラメータ設定手段によって基音及び複数の倍音夫々のレベルを示す倍音パラメータの操作に応じて設定される複数の倍音パラメータが複数のグループに分割して記憶されるとともに、当該グループ毎に割り当てられた記憶領域を有する書き込み可能な記憶手段に記憶されている複数の倍音パラメータに基づいて、前記パラメータ設定手段の操作により設定される倍音パラメータに変化がある毎に当該変化のあった倍音パラメータを含むグループを検出する検出処理と、波形合成処理のアルゴリズムのモードを、前記検出処理により変化のあった倍音パラメータを含むグループを検出したときのみ波形合成処理のモードに設定し、検出されない時は、発音制御処理のモードに設定するモード設定処理と、前記波形合成処理のモードにおいては、波形記憶手段のPCM波形データおよび前記検出されたグループに含まれる倍音パラメータ夫々に基づいて複数の波形データを生成するとともに当該生成された複数の波形データを合成して中間波形データを生成し、当該生成された中間波形データを前記検出されたグループに割り当てられた前記記憶手段の記憶領域に書き込み、前記記憶手段の各グループに対応する記憶領域夫々から前記中間波形データを読み出して当該読み出された複数の中間波形データを合成して前記記憶手段の所定の記憶領域に書き込むデータ合成処理と、前記発音制御処理のモードにおいては、前記記憶手段の前記所定の記憶領域に記憶された波形データに基づいて発音を制御する発音制御処理と、を実行することを特徴とする。
【0016】
【発明の実施の形態】
次に、本発明の楽音制御装置及び楽音制御方法について、電子鍵盤楽器を例に採って詳細に説明する。実施形態における楽音制御装置及び楽音制御方法においては、波形合成処理の期間及び発音制御処理の期間をそれぞれ一定時間ごとに時分割して、一定時間ごとに一連の楽音制御処理を行う。図1は、実施形態における電子鍵盤楽器のシステム構成を示している。鍵盤1は、押鍵及び離鍵の演奏操作に応じて、鍵番号すなわち音高及び鍵操作の強さすなわちベロシティを入力する。ドローバー2(パラメータ設定手段)は、基音及び複数の倍音のレベルをドローバー設定値(倍音パラメータ)として入力する。実施形態においては、9個のドローバーが具備されており、各ドローバーの位置を検出して基音及び各倍音のレベルを設定する。スイッチ群3は、音色を設定するスイッチの他、発音する楽音の条件を設定する各種スイッチで構成されている。
【0017】
CPU4は、システムバスを介してコマンド及びデータを授受して、この電子鍵盤楽器を制御する。ROM5は、CPU4によって実行されるプログラムやイニシャライズにおける初期データを格納している。RAM6は、CPU4が処理するデータを一時的に記憶するワークエリアである。表示部7は、鍵盤1、ドローバー2、スイッチ群3の操作に応じて、その操作状態及びCPU4のコマンド等を表示する。
【0018】
音源部8は、図2に示すように、DSP9(データ合成手段、発音制御手段)とDSP9のバスに接続された波形データROM10(第1の記憶手段)、ワークRAM11(第2の記憶手段)、MIXER12、D/A13で構成されている。DSP9は、CPU4に接続され、CPU4から送信された音源処理の制御プログラムを内部のプログラムRAMに格納し、その制御プログラムにしたがって音源処理を実行する。波形データROM10は、図3のメモリマップのエリアに示すように、音色に対応した基本音高(例えば、ピアノ音の音高A4)の元波形であるPCM波形データを格納している。
【0019】
図2のワークRAM11は、図3のメモリマップのエリアに示すように、ドローバー設定値、8つのチャンネルのオンフラグONF(1)〜(8)、基本音高の周波数データf(A4の場合には、f=440Hz)、音高レジスタNOTE(1)〜(8)、ベロシティレジスタVEL(1)〜(8)、波形合成処理又は発音制御処理を示すフラグSTFのエリアをもっている。ドローバー設定値は、3個のドローバーを1グループとして、各グループが3個のドローバーに対応している。したがって、ドローバー設定値を記憶するエリアは、図3に示すように、D[1][1]、D[1][2]、……D[3][3]の配列になっている。また、ドローバーのグループを指定するポインタnのエリアが設けられている。
【0020】
図2のMIXER12は、複数のチャンネルの楽音信号を混合してD/A13に入力する。D/A13は、MIXER12から入力された楽音信号をデジタルからアナログに変換して、サウンドシステム(図示せず)に出力する。
【0021】
なお、図3に示した各エリアは、CPU4側のRAM6にも設けられており、後述するCPU4の設定データ転送処理でDSP9側に転送される。ただし、ドローバー用のレジスタDBについては、CPU4側のRAM6のみに設けられたレジスタである。
【0022】
また、ワークRAM11には、図4に示すように、基音及び複数の倍音に対応する配列、MEM[1][1]、MEM[1][2]、……MEM[3][2]、MEM[3][3]のエリアをもっている。ここで、MEM[1][1]は基音を示し、MEM[1][2]、……MEM[3][3]はそれぞれ2倍音……8倍音を示している。また、MW[1]〜[3]のエリアは中間波形データを記憶するエリアであり、FWは最終波形データを記憶するエリアである。これについては後述する。
【0023】
さらに、図3に示すWGF(1)〜(8)は、DSP9の波形合成処理のアルゴリズムのモードを設定するモードフラグであり、CPU4からDSP9に送信されるデータによってセットされる。これについても後述する。
【0024】
次に、実施形態の構成による楽音制御方法について、図5〜図10に示すCPU4のフローチャート、及び、図11〜図13に示すDSP9のフローチャートに基づいて説明する。
【0025】
図5は、CPU4のメインフローである。まず、イニシャライズ処理(ステップA1)を実行した後、ドローバー読取り処理(ステップA2)、WG設定処理(ステップA3)、押鍵処理(ステップA4)を繰り返し実行するループ処理に移行する。
【0026】
図6にメインフローのステップA2におけるドローバー読取り処理のフローを示す。この処理では、RAM6におけるドローバー配列D[n][m]の3つのグループの1つを指定するポインタnを「1」にセットし(ステップB1)、指定したグループにおける3つのドローバー設定値の1つを示すポインタmを「1」にセットする(ステップB2)。そして、n、mをインクリメントしながら、以下のループ処理を実行する。
【0027】
すなわち、n、mで指定したRAM6の配列D[n][m]のエリアをクリアし(ステップB3)、mをインクリメントして次の配列を指定する(ステップB4)。そして、mが最大値「3」を超えたか否かを判別する(ステップB5)。mが「3」以下である場合には、ステップB3に移行してD[n][m]のエリアをクリアする。mが「3」を超えたときは、nで指定したグループのモードフラグMF(n)を「0」にクリアする(ステップB6)。そして、nをインクリメントして(ステップB7)、nが最大値「3」を超えたか否かを判別する(ステップB8)。nが「3」以下である場合には、ステップB2に移行してmを「1」にセットし、上記処理を繰り返す。ステップB8において、nが「3」を超えたときは、図5のメインフローに戻る。
【0028】
メインフローのステップA2におけるドローバー読取り処理のフローを図7に示す。この処理では、図1のドローバー2で設定されたドローバー[n][m]の3つのグループの1つを指定するポインタnを「1」にセットし(ステップC1)、指定したグループにおける3つのドローバー設定値の1つを示すポインタmを「1」にセットする(ステップC2)。そして、n、mをインクリメントしながら、以下のループ処理を実行する。
【0029】
すなわち、n、mで指定したドローバー[n][m]の値をレジスタDBにストアする(ステップC3)。そして、DBの値とRAM6の配列D[n][m]の値が異なるか否かを判別する(ステップC4)。両者の値が異なる場合、すなわちドローバーの値が変化した場合には、DBの値をD[n][m]のエリアにストアする(ステップC5)。そして、MF(n)を「1(モード設定)」にセットする(ステップC6)。
【0030】
MF(n)を「1」にセットした後、又は、ステップC4においてDBの値とRAM6の配列D[n][m]の値が同じである場合には、mをインクリメントする(ステップC7)。そして、mが最大値「3」を超えたか否かを判別する(ステップC8)。mが「3」以下である場合には、ステップC3に移行してドローバー[n][m]の値をDBにストアする。mが「3」を超えたときは、nをインクリメントして次のグループを指定し(ステップC9)、nが最大値「3」を超えたか否かを判別する(ステップC10)。nが「3」以下である場合には、ステップC2に移行してmを「1」にセットし、上記処理を繰り返す。ステップC10において、nが「3」を超えたときは、図5のメインフローに戻る。
【0031】
すなわち、図7の処理はパラメータ設定処理であり、入力される音高に応じた基音及び複数の倍音並びに基音及び各倍音のレベルを示す倍音パラメータを操作に応じて設定する。
【0032】
メインフローのステップA3におけるWG設定処理のフローを図8に示す。この処理では、ドローバー配列のグループの1つを指定するポインタnを「1」にセットし(ステップD1)、nをインクリメントしながら以下のループ処理を実行する。すなわち、MF(n)が「1」であるか否かを判別し(ステップD2)、「1」である場合にはモード設定処理を行う。
【0033】
DSP9の8つのアルゴリズムWG(1)〜(8)のうち、WG(1)〜(3)を再生モードに設定する(ステップD3)。次に、WG(4)を記録モードに設定する(ステップD4)。次に、WG(5)〜(7)を再生モードに設定する(ステップD5)。次に、WG(8)を記録モードに設定する(ステップD6)。また、スタートフラグSTFを「1」にセットする(ステップD7)。そして、設定データ送信処理を行い(ステップD8)、設定したモードデータ、ポインタn、STFのデータをDSP9に送信する。
【0034】
次に、DSP9からWG合成処理が終了した旨を示すSTF(=0)のメッセージの受信を待つ(ステップD9)。このメッセージを受信したときは、RAM6のSTFを「0」にクリアするとともに、MF(n)を「0」にクリアする(ステップD10)。次に、nをインクリメントして次のドローバーのグループを指定する(ステップD11)。そして、nが最大値「3」を超えたか否かを判別する(ステップD12)。nが「3」以下である場合には、ステップD2に移行して指定したグループのMF(n)のデータを判別する。
【0035】
ステップD12において、nが「3」以下である場合には、ステップD2〜ステップD11までの処理を繰り返し、ドローバーのすべてのグループについて設定データをDSP9に送信する。ステップD12において、nが「3」を超えた場合には、DSP9の8つのアルゴリズムWG(1)〜(8)をすべて再生モードに設定し(ステップD13)、設定データをDSP9に送信する(ステップD14)。そして、図5のメインフローに戻る。
【0036】
すなわち、CPU4はモード設定手段を構成する。そして、図8の処理はモード設定処理であり、図7のパラメータ設定処理によって設定された倍音パラメータの倍音数に応じて、時分割された一定時間ごとに再生モード又は記録モードを設定する。
【0037】
メインフローのステップA4における押鍵処理のフローを図9及び図10に示す。この処理では、図9において、鍵走査を行い(ステップE1)、鍵変化があるか否かを判別する(ステップE2)。押鍵によってオフからオンへの変化があったときは、チャンネルを指定するポインタnを「1」にセットして(ステップE3)、nをインクリメントしながら、以下のループ処理を繰り返す。
【0038】
すなわち、オンフラグONF(n)が「0(空き)」であるか否かを判別し(ステップE4)、ONF(n)が「1」である場合には、そのチャンネルが発音状態であるので、nをインクリメントして次のチャンネルを指定する(ステップE5)。そして、nが最大チャンネル数である「8」を超えたか否かを判別する(ステップE8)。nが「8」以下である場合には、ステップE4に移行してONF(n)のデータを判別して空きチャンネルを捜す。
【0039】
ONF(n)が「0」である場合には、そのチャンネルの音高データエリアNOTE(n)に鍵番号(音高データ)をストアする(ステップE7)。また、ベロシティデータエリアVEL(n)にベロシティデータをストアする(ステップE8)。そして、ONF(n)を「1」にセットする(ステップE9)。次に、鍵走査が終了したか否かを判別し(ステップE10)、終了していない場合には、ステップE1に移行して鍵走査を続行する。ステップE2において、鍵変化がない場合にも、ステップE1に移行して鍵走査を続行する。
【0040】
ステップE2において、離鍵によってオンからオフへの鍵変化があったときは、図10のフローにおいて、チャンネルを指定するポインタnを「1」にセットして(ステップE11)、nをインクリメントしながら、以下のループ処理を繰り返す。すなわち、オンフラグONF(n)が「1(発音状態)」であるか否かを判別し(ステップE12)、ONF(n)が「0」である場合には、そのチャンネルは空きであるので、nをインクリメントして次のチャンネルを指定する(ステップE13)。そして、nが最大チャンネル数である「8」を超えたか否かを判別する(ステップE14)。nが「8」以下である場合には、ステップE12に移行してONF(n)のデータを判別して発音状態のチャンネルを捜す。
【0041】
ONF(n)が「1」である場合には、そのチャンネルのNOTE(n)の鍵番号と離鍵による鍵番号とが同じであるか否かを判別する(ステップE15)。鍵番号が同じでない場合には、ステップE13に移行してnをインクリメントする。鍵番号が同じである場合には、ONF(n)を「0(空き)」にリセットする(ステップE16)。リセットした後、又はステップE14においてnが「8」を超えたときは、図9のステップE10に移行して鍵走査が終了したか否かを判別し、終了していない場合には、ステップE1に移行して鍵走査を続行する。鍵走査が終了した場合には、RAM6の対応するエリアに書き込まれた鍵データをDSP9に送信する(ステップE17)。そして、図5のメインフローに戻る。
【0042】
図11は、DSP9のメインフローである。なお、図には示さないが、CPU4から送信されたドローバー設定値、鍵データ及びWG(1)〜(8)の設定モードのデータのデータ、STFのデータは、RAM12に書き込まれている。STFが「1」である場合は波形合成処理を実行し、STFが「0」である場合は発音制御処理を実行する。したがって、DSP9は、図11のメインフローにおいて、STFが「1」であるか否かを判別し(ステップF1)、STFが「1」である場合にはWG合成処理を実行し(ステップF2)、STFが「0」である場合にはWG出力処理を実行する(ステップF3)。
【0043】
メインフローのステップF2におけるWG合成処理では、ワークRAM11のWGF(1)〜(8)のモードにしたがって、WG(1)〜(8)のアルゴリズムを実行する。すなわち、図12に示すように、再生モードに設定されたWG(1)において、波形データROM11のPCM波形データを基本音高の周波数のデータ、ワークRAM11のMEM[n][1]のデータ、及びD[n][1]のデータで中間波形データW(1)を生成する(ステップG1)。具体的には、波形データROM10のPCM波形データを基本音高の周波数及びMEM[n][1]のデータに基づく読み出し速度、並びに、D[n][1]のデータに基づくレベルで読み出す。したがって、MEM[1][1]の場合には、基本音高のPCM波形データをそのまま読み出す。
【0044】
同様に、再生モードに設定されたWG(2)において、基本音高、MEM[n][2]、及びD[n][2]の各データでPCM波形データを読み出して、中間波形データW(2)を生成する(ステップG2)。次に、再生モードに設定されたWG(3)において、基本音高、MEM[n][3]、及びD[n][3]の各データでPCM波形データを読み出して、中間波形データW(3)を生成する(ステップG3)。次に、記録モードに設定されたWG(4)において、WG(1)〜(3)で生成されたW(1)、W(2)、W(3)を合成して、ワークRAM11のエリアMW(n)に書き込む(ステップG4)。
【0045】
次に、再生モードに設定されたWG(5)において、基本音高の周波数のデータでMW(1)の中間波形データを読み出して、中間波形データW(1)を生成する(ステップG5)。次に、再生モードに設定されたWG(6)において、基本音高の周波数のデータでMW(2)の中間波形データを読み出して、中間波形データW(2)を生成する(ステップG6)。次に、再生モードに設定されたWG(7)において、基本音高の周波数のデータでMW(3)の中間波形データを読み出して、中間波形データW(3)を生成する(ステップG7)。
【0046】
次に、記録モードに設定されたWG(8)において、WG(5)〜(7)で生成されたW(1)、W(2)、W(3)をさらに合成して、ワークRAM11のエリアFWに最終波形データとして書き込む(ステップG8)。そして、STFを「0」にリセットするとともに、CPU4に対してSTF(=0)のメッセージを送信し(ステップG9)、図11のメインフローに戻る。
【0047】
すなわち、図11の処理はデータ合成処理であり、再生モードに設定された一定時間においては波形データROM10にあらかじめ記憶されているPCM波形データを、図7のパラメータ設定処理によって設定された倍音パラメータに応じて読み出して複数の波形データを生成し、記録モードに設定された一定時間においては、生成した複数の波形データを合成した中間波形データをワークRAM11に書き込む。そして、再生モードに設定された次の一定時間において、複数の中間波形データを読み出し、記録モードに設定された次の一定時間において複数の中間波形データを合成して、基音及び複数の倍音の最終波形データをワークRAM11の別のエリアに書き込む。
【0048】
メインフローのステップF3におけるWG出力処理のフローを図13に示す。この処理では、チャンネルを指定するポインタnを「1」にセットして(ステップH1)、nをインクリメントしながら以下のループ処理を繰り返す。すなわち、RAM12のONF(n)が「1」であるか否かを判別し(ステップH2)、ONF(n)が「0(空き)」である場合には、nをインクリメントして次のチャンネルを指定する(ステップH3)。
【0049】
そして、nが最大チャンネル数である「8」を超えたか否かを判別する(ステップH4)。nが「8」以下である場合には、ステップH2に移行してONF(n)のデータを判別して使用中チャンネルを捜す。ONF(n)が「1」である場合には、NOTE(n)の読み出し速度で、FWの最終の波形データを読み出して、VEL(n)のベロシティデータに基づいてゲインを設定し、MIXER13に送出する(ステップH5)。次に、nをインクリメントして次のチャンネルを指定する(ステップH3)。
【0050】
そして、nが最大チャンネル数である「8」を超えたか否かを判別する(ステップH4)。nが「8」以下である場合には、ステップH2に移行してONF(n)のデータを判別して発音状態のチャンネルを捜す。ステップH4において、nが「8」を超えたときは、図11のメインフローに戻る。
【0051】
すなわち、図13の処理は発音制御処理であり、図8のモード設定処理によって分割された一定時間がすべて再生モードに設定された発音制御処理の期間には、ワークRAM11から読み出した最終波形データに基づいて発音を制御する。
【0052】
このように、上記実施形態における楽音制御装置は、波形合成処理の期間及び発音制御処理の期間をそれぞれ一定時間ごとに時分割して、一定時間ごとに一連の楽音制御処理を行う。図2に示す構成において、波形データROM10は、基本音高のPCM波形データをあらかじめ記憶し、ワークRAM11は、任意の波形データを書き込み可能に記憶する。CPU4は、入力される音高に応じた基音及び複数の倍音並びに基音及び各倍音のレベルを示す倍音パラメータを操作に応じて設定する。そして、波形合成処理の期間においては、設定された倍音パラメータの倍音数に応じて、時分割された一定時間ごとに再生モード又は記録モードを設定し、発音制御処理の期間においては、時分割された一定時間をすべて再生モードに設定する。
【0053】
DSP9は、波形合成処理の期間には、再生モードに設定された一定時間において、波形データROM10のPCM波形データを設定された倍音パラメータに応じて読み出して複数の波形データを生成し、記録モードに設定された一定時間において、複数の波形データを合成した中間波形データをワークRAM11のMW[1]〜[3]のエリアに書き込む。そして、再生モードに設定された次の一定時間において、MW[1]〜[3]のエリアに書き込まれた複数の中間波形データを読み出し、記録モードに設定された次の一定時間において、その複数の中間波形データを合成して、基音及び複数の倍音の最終波形データをワークRAM11のFWのエリアに書き込む。そして、その最終波形データに基づいて発音を制御する。
【0054】
したがって、波形合成のアルゴリズムを時分割された一定時間ごとに再生モード又は記録モードに自在に設定することによって、ドローバーオルガンのような音色を実現する際に、ユーザの要求に柔軟に対応することができる。また、波形データROMにすべてのPCM倍音波形データを記憶させておく必要がないので、波形データROMの記憶容量を相当に小さくでき、製品のコストダウンや小型化を図ることができる。
【0055】
なお、上記実施形態においては、PCM波形データを元に複数の波形データを合成した中間波形データを作成し、さらに、複数の中間波形データを合成して、発音制御のための最終波形データを作成する構成にしたが、倍音数が少ない場合には中間波形データを作成せずに、PCM波形データを元に複数の波形データを合成して、発音制御のための波形データを直接に作成する構成にしてもよい。
【0056】
すなわち、DSP9は、波形合成処理の期間には、再生モードに設定された一定時間において、波形データROM10のPCM波形データを設定された倍音パラメータに応じて読み出して複数の波形データを生成し、記録モードに設定された一定時間において、複数の波形データを合成して、基音及び複数の倍音の波形データをワークRAM11に書き込み、その波形データに基づいて発音を制御する。
【0057】
この場合においても、波形合成のアルゴリズムを時分割された一定時間ごとに再生モード又は記録モードに自在に設定することによって、ドローバーオルガンのような音色を実現する際に、ユーザの要求に柔軟に対応することができる。また、波形データROMにすべてのPCM倍音波形データを記憶させておく必要がないので、波形データROMの記憶容量を相当に小さくでき、製品のコストダウンや小型化を図ることができる。この場合には、実施形態に比べて倍音数は少なくなるが、ワークRAM11の容量は少なくできる。
【0058】
また、上記実施形態においては、楽音制御装置の発明について説明したが、この楽音制御装置の動作を示すフローチャートに示したように、楽音制御方法の発明とみなすこともできる。すなわち、請求項5及び6に記載した楽音制御方法の発明を実現することができる。
【0059】
【発明の効果】
【0060】
請求項1の楽音制御装置及び請求項4の楽音制御方法の発明によれば、波形データROMにすべてのPCM倍音波形データを記憶させておく必要がないので、波形データROMの記憶容量を相当に小さくでき、製品のコストダウンや小型化を図ることができる。
【図面の簡単な説明】
【図1】実施形態における電子鍵盤楽器のシステム構成を示すブロック図。
【図2】図1の音源部の構成を示すブロック図。
【図3】図1のCPU及び音源部におけるメモリマップを示す図。
【図4】図2のDSPにおけるメモリマップを示す図。
【図5】図1のCPUのメインフローチャート。
【図6】図5のイニシャライズ処理のフローチャート。
【図7】図5のドローバー読取り処理のフローチャート。
【図8】図5のWG設定処理のフローチャート。
【図9】図5の押鍵処理のフローチャート。
【図10】図9に続く押鍵処理のフローチャート。
【図11】図2のDSPのメインフローチャート。
【図12】図11におけるWG合成処理のフローチャート。
【図13】図11におけるWG出力処理のフローチャート。
【符号の説明】
4 CPU
9 DSP
10 波形データROM
11 ワークRAM
Claims (5)
- 基本音高のPCM波形データをあらかじめ記憶している波形記憶手段と、
基音及び複数の倍音夫々のレベルを示す倍音パラメータを操作に応じて設定するパラメータ設定手段と、
書き込み可能であって、前記パラメータ設定手段によって設定された複数の倍音パラメータを複数のグループに分割して記憶するとともに、当該グループ毎に割り当てられた記憶領域を有する記憶手段と、
前記記憶手段に記憶された複数の倍音パラメータに基づいて、前記パラメータ設定手段の操作により倍音パラメータに変化がある毎に当該変化のあった倍音パラメータを含むグループを検出する検出手段と、
波形合成処理のアルゴリズムのモードを、前記検出手段により変化のあった倍音パラメータを含むグループを検出したときのみ波形合成処理のモードに設定し、検出されない時は、発音制御処理のモードに設定するモード設定手段と、
前記波形合成処理のモードにおいては、前記波形記憶手段のPCM波形データおよび前記検出されたグループに含まれる倍音パラメータに基づいて波形データを生成して当該検出されたグループに割り当てられた前記記憶手段の記憶領域に書き込み、前記記憶手段の各グループに対応する記憶領域夫々から前記波形データを読み出して当該読み出された複数の波形データを合成して前記記憶手段の所定の記憶領域に書き込むデータ合成手段と、
前記発音制御処理のモードにおいては、前記記憶手段の前記所定の記憶領域に記憶された波形データに基づいて発音を制御する発音制御手段と、
を備えたことを特徴とする楽音制御装置。 - 基本音高のPCM波形データをあらかじめ記憶している波形記憶手段と、
基音及び複数の倍音夫々のレベルを示す倍音パラメータを操作に応じて設定するパラメータ設定手段と、
書き込み可能であって、前記パラメータ設定手段によって設定された複数の倍音パラメータを複数のグループに分割して記憶するとともに、当該グループ毎に割り当てられた記憶領域を有する記憶手段と、
前記記憶手段に記憶された複数の倍音パラメータに基づいて、前記パラメータ設定手段の操作により倍音パラメータに変化がある毎に当該変化のあった倍音パラメータを含むグループを検出する検出手段と、
波形合成処理のアルゴリズムのモードを、前記検出手段により変化のあった倍音パラメータを含むグループを検出したときのみ波形合成処理のモードに設定し、検出されない時は、発音制御処理のモードに設定するモード設定手段と、
前記波形合成処理のモードにおいては、前記波形記憶手段のPCM波形データおよび前記検出されたグループに含まれる倍音パラメータ夫々に基づいて複数の波形データを生成するとともに当該生成された複数の波形データを合成して中間波形データを生成し、当該生成された中間波形データを前記検出されたグループに割り当てられた前記記憶手段の記憶領域に書き込み、前記記憶手段の各グループに対応する記憶領域夫々から前記中間波形データを読み出して当該読み出された複数の中間波形データを合成して前記記憶手段の所定の記憶領域に書き込むデータ合成手段と、
前記発音制御処理のモードにおいては、前記記憶手段の前記所定の記憶領域に記憶された波形データに基づいて発音を制御する発音制御手段と、
を備えたことを特徴とする楽音制御装置。 - 前記パラメータ設定手段は、基音及び複数の倍音を合成するドローバー方式の操作手段の操作に応じて、前記倍音パラメータを設定することを特徴とする請求項1または2に記載の楽音制御装置。
- パラメータ設定手段によって基音及び複数の倍音夫々のレベルを示す倍音パラメータの操作に応じて設定される複数の倍音パラメータが複数のグループに分割して記憶されるとともに、当該グループ毎に割り当てられた記憶領域を有する書き込み可能な記憶手段に記憶されている複数の倍音パラメータに基づいて、前記パラメータ設定手段の操作により設定される倍音パラメータに変化がある毎に当該変化のあった倍音パラメータを含むグループを検出する検出処理と、
波形合成処理のアルゴリズムのモードを、前記検出処理により変化のあった倍音パラメータを含むグループを検出したときのみ波形合成処理のモードに設定し、検出されない時は、発音制御処理のモードに設定するモード設定処理と、
前記波形合成処理のモードにおいては、波形記憶手段のPCM波形データおよび前記検出されたグループに含まれる倍音パラメータに基づいて波形データを生成して当該検出されたグループに割り当てられた前記記憶手段の記憶領域に書き込み、前記記憶手段の各グループに対応する記憶領域夫々から前記波形データを読み出して当該読み出された複数の波形データを合成して前記記憶手段の所定の記憶領域に書き込むデータ合成処理と、
前記発音制御処理のモードにおいては、前記記憶手段の前記所定の記憶領域に記憶された波形データに基づいて発音を制御する発音制御処理と、
を実行することを特徴とする楽音制御方法。 - パラメータ設定手段によって基音及び複数の倍音夫々のレベルを示す倍音パラメータの操作に応じて設定される複数の倍音パラメータが複数のグループに分割して記憶されるとともに、当該グループ毎に割り当てられた記憶領域を有する書き込み可能な記憶手段に記憶されている複数の倍音パラメータに基づいて、前記パラメータ設定手段の操作により設定される倍音パラメータに変化がある毎に当該変化のあった倍音パラメータを含むグループを検出する検出処理と、
波形合成処理のアルゴリズムのモードを、前記検出処理により変化のあった倍音パラメータを含むグループを検出したときのみ波形合成処理のモードに設定し、検出されない時は、発音制御処理のモードに設定するモード設定処理と、
前記波形合成処理のモードにおいては、波形記憶手段のPCM波形データおよび前記検出されたグループに含まれる倍音パラメータ夫々に基づいて複数の波形データを生成するとともに当該生成された複数の波形データを合成して中間波形データを生成し、当該生成された中間波形データを前記検出されたグループに割り当てられた前記記憶手段の記憶領域に書き込み、前記記憶手段の各グループに対応する記憶領域夫々から前記中間波形データを読み出して当該読み出された複数の中間波形データを合成して前記記憶手段の所定の記憶領域に書き込むデータ合成処理と、
前記発音制御処理のモードにおいては、前記記憶手段の前記所定の記憶領域に記憶された波形データに基づいて発音を制御する発音制御処理と、
を実行することを特徴とする楽音制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05955399A JP4258878B2 (ja) | 1999-03-08 | 1999-03-08 | 楽音制御装置及び楽音制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05955399A JP4258878B2 (ja) | 1999-03-08 | 1999-03-08 | 楽音制御装置及び楽音制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000259157A JP2000259157A (ja) | 2000-09-22 |
JP4258878B2 true JP4258878B2 (ja) | 2009-04-30 |
Family
ID=13116568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05955399A Expired - Fee Related JP4258878B2 (ja) | 1999-03-08 | 1999-03-08 | 楽音制御装置及び楽音制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4258878B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108346445B (zh) * | 2017-01-25 | 2022-04-19 | 华邦电子股份有限公司 | 存储器装置、数据处理装置及存储器装置的操作方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5532446B2 (ja) * | 2011-07-27 | 2014-06-25 | カシオ計算機株式会社 | 楽音発生装置およびプログラム |
JP6524742B2 (ja) * | 2015-03-23 | 2019-06-05 | カシオ計算機株式会社 | 楽音発生装置、方法、およびプログラム |
JP7326800B2 (ja) * | 2019-03-22 | 2023-08-16 | カシオ計算機株式会社 | 電子楽器、電子楽器の制御方法及びプログラム |
-
1999
- 1999-03-08 JP JP05955399A patent/JP4258878B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108346445B (zh) * | 2017-01-25 | 2022-04-19 | 华邦电子股份有限公司 | 存储器装置、数据处理装置及存储器装置的操作方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2000259157A (ja) | 2000-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4258878B2 (ja) | 楽音制御装置及び楽音制御方法 | |
US5321198A (en) | Tone signal generator utilizing ancillary memories for electronic musical instrument | |
JPH0968980A (ja) | 電子鍵盤楽器の音色制御装置 | |
JP2671690B2 (ja) | 電子楽器 | |
JP3928725B2 (ja) | 楽音信号発生装置及びレガート処理プログラム | |
JP2684967B2 (ja) | 電子楽器 | |
US20020046639A1 (en) | Method and apparatus for waveform reproduction | |
JP2616533B2 (ja) | 電子楽器 | |
JP3012136B2 (ja) | 電子楽器 | |
JP3231895B2 (ja) | 電子楽器 | |
JP2853588B2 (ja) | 電子楽器 | |
JPH0926787A (ja) | 音色制御装置 | |
JP4048913B2 (ja) | エンベロープ編集装置およびエンベロープ編集のプログラム | |
JP2570945B2 (ja) | 楽音発生装置 | |
JP2546464B2 (ja) | 電子楽器 | |
JP3178176B2 (ja) | 自動伴奏装置 | |
JP3231896B2 (ja) | 電子楽器 | |
JP2674454B2 (ja) | 自動伴奏装置 | |
JP3026699B2 (ja) | 電子楽器 | |
JP3493838B2 (ja) | 電子楽器 | |
JP2939098B2 (ja) | 電子楽器 | |
JP3012135B2 (ja) | 電子楽器 | |
JP2858314B2 (ja) | 楽音特性制御装置 | |
JP2006133342A (ja) | 楽音制御装置および楽音制御処理のプログラム | |
JPS63261396A (ja) | 電子楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050606 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060203 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060414 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071106 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080422 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080519 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080620 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081007 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081202 |
|
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: 20090120 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090202 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4258878 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140220 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |