(57)【特許請求の範囲】
【請求項１】
プログラムに基づいて動作を行う中央処理装置であって、複数サンプリング周期に対応するフレーム周期ごとに生成処理を実行することにより、前記複数サンプリング周期分の楽音波形サンプルをまとめて生成し、バッファに書き込む前記中央処理装置と、
前記中央処理装置により前記フレーム周期ごとにまとめて生成された前記楽音波形サンプルを記憶する前記バッファと、
要求信号に応じて、前記バッファからＦＩＦＯバッファに前記楽音波形サンプルを転送する転送手段と、
前記バッファから転送された前記楽音波形サンプルを記憶し、サンプリング周期ごとに順次読み出して楽音信号形成手段に供給する前記ＦＩＦＯバッファと、
前記ＦＩＦＯバッファからサンプリング周期ごとに供給される前記楽音波形サンプルに基づき楽音信号を形成する楽音信号形成手段と、
前記ＦＩＦＯバッファに空きが生じたときに前記要求信号を発生する要求信号発生手段と
を有することを特徴とする楽音発生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、演算処理装置による演算により楽音を生成するようにした楽音発生装置に関する。
【０００２】
【従来の技術】
従来の楽音発生装置は、通常、ＭＩＤＩ（Musical Instrument Digital Interface）、鍵盤あるいはシーケンサなどからの演奏情報を入力する演奏入力部、楽音波形を発生する音源部、入力された演奏情報に応じて前記音源部を制御する中央処理装置（ＣＰＵ）などから構成されていた。ここで、ＣＰＵは、入力された演奏情報に応じて、チャンネルアサイン、パラメータ変換などの音源ドライバ処理を実行し、音源部の割り当てたチャンネルに変換したパラメータと発音開始指示（ノートオン）を供給する。また、音源部は供給されたパラメータに基づいて楽音波形を生成するものであり、この音源部としては電子回路などのハードウエアが採用されていた。
このため、楽音発生装置は楽音を発生するための専用機器となってしまい、楽音を発生するときには専用の楽音発生装置を準備することが必要であった。
【０００３】
また、パーソナルコンピュータなどの汎用処理装置において楽音を発生させる場合には、装置外部に専用音源装置を付加したり、あるいは、楽音波形を発生するための音源チップ、波形データを記憶する波形ＲＯＭ、および、Ａ／Ｄ変換回路、Ｄ／Ａ変換回路、ＦＩＦＯバッファおよびインタフェース回路を備えた符号化復号化回路（ＣＯＤＥＣ）チップなど、数個のＩＣチップが搭載された拡張ボードを本体内に接続することにより、楽音を発生させていた。
【０００４】
さらに、最近では、前記ハードウエア音源の動作をコンピュータプログラムによる音源処理（ソフトウエア音源）に置き換え、ＣＰＵにより演奏処理と音源処理とを実行させるようにした楽音発生方法、いわゆるソフトウエア音源が提案されている。ここで、演奏処理とは、前述した音源ドライバ処理に相当する処理であって、入力されたＭＩＤＩなどの演奏情報に基づき、生成される楽音を制御するための制御情報を作成する処理のことである。また、音源処理とは、前記演奏処理において作成された制御情報に基づき楽音の波形データを生成する処理のことである。この楽音発生方法によれば、専用の楽音発生装置や音源ボードを用いることなく、ＣＰＵとソフトウエアのほかにはＤＡ変換用のチップを備えるだけで、楽音を発生させることが可能となる。
【０００５】
楽音を発生させるためには、サンプリング周期、すなわち、ＤＡＣ（Digital Analog Converter）における変換タイミング毎に演算生成した波形サンプルをＤＡＣに供給することが必要であり、このためにＣＰＵにおける演算量は非常に大きいものとなっている。すなわち、ＣＰＵは、楽音を演算生成するために、入力されるＭＩＤＩイベントなどの演奏情報から楽音制御情報を生成する処理および波形生成処理を実行しなければならない。
【０００６】
例えば波形メモリ方式の音源の場合には、この波形生成処理において、演奏情報から生成された楽音制御情報に基づいて、各発音チャンネル毎に、ＬＦＯ（Low Frequency Oscillator）、フィルタＥＧおよび音量ＥＧなどの波形演算を実行し、対応する波形メモリ（波形テーブル）から波形データを読み出し、該読み出した波形データに対して補間演算を行い、その結果得られた波形データに対して各種ＥＧ波形のサンプルを乗算して当該発音チャンネル分の波形データを演算生成し、これを全発音チャンネルについて繰り返し実行して各発音チャンネル分の波形サンプルデータを累算することにより１サンプリングタイミングに対応する楽音波形データの生成が行われる。
【０００７】
【発明が解決しようとする課題】
前述した音源ボードを接続する方法は、音源ボードに搭載されるＩＣチップの点数が多く、楽音を発生させるためのコストが高くなるという問題点を有している。また、波形データが波形ＲＯＭに格納されており、発生する楽音の自由度が乏しいものであった。
また、前述したソフトウエア音源は、楽音を発生させるために特別のハードウエアを必要としないが、１ＤＡＣサイクル毎に出力すべき波形データを演算により生成することが必要であるため、この楽音波形データを演算生成するためのＣＰＵの負荷が非常に大きくなるという問題点がある。
【０００８】
そこで、本発明は、自由度があり、しかも、ＣＰＵの処理負荷が比較的小さい楽音発生装置を提供することを目的としている。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明の楽音発生装置は、プログラムに基づいて動作を行う中央処理装置であって、複数サンプリング周期に対応するフレーム周期ごとに生成処理を実行することにより、前記複数サンプリング周期分の楽音波形サンプルをまとめて生成し、バッファに書き込む前記中央処理装置と、前記中央処理装置により前記フレーム周期ごとにまとめて生成された前記楽音波形サンプルを記憶する前記バッファと、要求信号に応じて、前記バッファからＦＩＦＯバッファに前記楽音波形サンプルを転送する転送手段と、前記バッファから転送された前記楽音波形サンプルを記憶し、サンプリング周期ごとに順次読み出して楽音信号形成手段に供給する前記ＦＩＦＯバッファと、前記ＦＩＦＯバッファからサンプリング周期ごとに供給される前記楽音波形サンプルに基づき楽音信号を形成する楽音信号形成手段と、前記ＦＩＦＯバッファに空きが生じたときに前記要求信号を発生する要求信号発生手段とを有するものである。
【００１０】
【発明の実施の形態】
図１に本発明の楽音発生装置の一実施の形態の構成を示す。この図において、１０は楽音波形サンプルの生成や各種アプリケーションプログラムなどを実行する中央処理装置（ＣＰＵ）、１１はプリセット音色データなどが記憶されているＲＯＭ、１２は実行するプログラムやデータが読み込まれるとともに波形テーブル、各種バッファ領域およびワークエリアとして使用されるＲＡＭ、１３は各種の波形データや音色データおよび各種のアプリケーションプログラムなどが記憶されているハードディスク装置、１４は各種のデータやプログラムなどを記憶したＣＤ−ＲＯＭを駆動するＣＤ−ＲＯＭ装置、１５は外部接続されるＭＩＤＩキーボードなどの演奏装置との間で演奏データや制御信号の送受信を行うためのＭＩＤＩインタフェース、１６および１７は、それぞれ、パーソナルコンピュータに一般的なキーボードおよびディスプレイ装置である。
【００１１】
１８はＣＰＵ１０を介さずにＲＡＭ１２内のサンプルバッファ領域から波形サンプルデータを読み出して符号化復号化回路１９に転送するＤＭＡ制御回路（Direct Memory Access Controller）である。なお、このＤＭＡ制御回路１８はバスの転送速度が速いときには省略することができる。１９は、この波形サンプルデータに対して振幅エンベロープやパン係数の乗算処理を実行し、得られた楽音波形データをアナログの楽音信号に変換してサウンドシステム２０に出力する符号化復号化回路（ＣＯＤＥＣ）であり、その詳細については後述する。２０はＣＯＤＥＣ１９から出力される楽音信号を増幅して外部出力するサウンドシステム、２１は所定時間毎にＣＰＵ１０に対して割込をかけるとともに、ＣＯＤＥＣ１９にサンプリングクロックを供給するタイマである。そして、これら各構成要素はバスを介して相互に接続されている。以上の構成は、通常のパーソナルコンピュータやワークステーションなどと同等であり、それらの上で本発明の楽音生成方法を実行することができる。
【００１２】
図２に上記ＣＯＤＥＣ１９の内部構成を示す。この図において、３０は前記バスに接続され各種信号やデータの授受を行なうインタフェース回路、３１は外部入力端子ＬＬＩＮＥおよびＲＬＩＮＥから入力されるステレオの外部オーディオ信号を所定のサンプリング周波数でサンプリングしてアナログデジタル変換するＡ／Ｄ変換回路、３２は該Ａ／Ｄ変換回路３１から出力されるステレオの外部入力データを格納する左右２チャンネル分のＦＩＦＯ（first-in first-out）バッファである。このＦＩＦＯバッファ３２に格納されたデータは前記インタフェース回路３０を介してＣＰＵ１０により読み込まれ、所定の処理が行われる。
【００１３】
３３は前記ＣＰＵ１０により演算生成された波形データが格納されるＦＩＦＯバッファである。この例においては、前記ＣＰＵ１０は３２チャンネル分の楽音波形サンプルを演算生成するものとされており、前記ＦＩＦＯバッファ３３は３２チャンネルの楽音波形データをそれぞれ格納することができるように構成されている。
【００１４】
３４は、各チャンネル対応にＥＧ制御データが格納されるレジスタを有し、前記ＣＰＵ１０から供給される各発音チャンネルのＥＧ制御データに基づいて音量エンベロープ信号AEGを発生するとともに、該AEGと同じくＣＰＵ１０から供給される音量パラメータvolとを乗算して音量制御データを出力するエンベロープジェネレータＥＧ、３５は同じく各チャンネル対応にＣＰＵ１０から供給されるパン制御データを格納するレジスタを有し、該パン制御データpanに基づいてパン係数を発生するパン係数発生器である。３６は前記ＦＩＦＯバッファ３３から出力される各発音チャンネル分の波形データと前記ＥＧ３４から出力される当該発音チャンネルに対応する音量制御データとを乗算する乗算器、３７は前記乗算器３６から順次出力される各チャンネルに対応する楽音波形データと前記パン係数発生器３５から出力される当該チャンネルに対応するパン係数とを乗算するパン乗算器である。
【００１５】
３８は前記パン乗算器３７から出力される３２チャンネルの各発音チャンネルの楽音波形データを各サンプリング周期対応に順次加算合計するチャンネル累算器である。図示するように、このチャンネル累算器３８にＡ／Ｄ変換器３１の出力を入力することにより、外部入力信号と演算生成された楽音波形信号とをミキシングすることができる。３９は前記チャンネル累算器３８から出力される楽音波形データに対してリバーブなどのエフェクト処理を施すエフェクト回路である。なお、このエフェクト回路３９は場合によっては省略することができる。４０は、１ＤＡＣサイクル毎に前記エフェクト回路３９から出力される楽音波形サンプル信号をデジタルアナログ変換し、ＬＯＵＴおよびＲＯＵＴとして前記サウンドシステム２０に出力するデジタルアナログ変換器である。
このように、本発明においては、ＣＯＤＥＣ１９において音量制御および累算処理が実行されるようになされている。
【００１６】
次に、本発明の楽音発生装置におけるソフトウエア音源について説明する。図３は、このソフトウエア音源における処理の時間的な流れを説明する図である。
本発明のソフト音源は、例えば２５．６ｋＨｚのサンプリング周波数（レート）で楽音波形データを発生するが、その楽音波形データ生成処理は例えば１２８サンプル（１フレーム）時間毎に行うようになされている。そして、あるフレーム（ＦＬ）に対応するタイムスロットに演奏入力があると、次のフレームでその演奏入力に対応する楽音波形データの算出処理を行い、さらに次のフレームでこの楽音波形データを２５．６ｋＨｚの周期毎に１サンプルずつ読み出して楽音信号を形成する。したがって、演奏入力があってから実際に楽音が発音されるまで（または楽音が消音されるまで）は約２フレームの時間ずれが生じることになるが、１フレームが１２８サンプル（５ミリ秒）であるため、その時間ずれはわずかである。なお、この１フレームのサンプル数は任意に設定することができるが、サンプル数を大きくすると発音に遅れが生じ、小さくすると時間的マージンが減少して一時的な演算量の増加時に応答が悪くなることがある。
【００１７】
また、本発明においては、前記ハードディスク装置１３からＲＡＭ１２上に読み出される波形テーブルに記憶された波形サンプルに基づいて楽音を生成するいわゆるテーブルルックアップ方式の楽音生成を行っている。
【００１８】
図４は前記ソフト音源の動作時にＲＡＭ１２に設定される記憶エリアを説明する図である。同図（Ａ）は入力バッファを示しており、この入力バッファは、ＭＩＤＩインタフェース１５から演奏入力があったとき、その演奏入力の内容とその発生時刻を記憶するバッファである。このバッファの内容は、後述するＭＩＤＩ処理で読み出され、対応する処理が実行される。
【００１９】
同図（Ｂ）はサンプルバッファＷＢを示している。このサンプルバッファＷＢは３２チャンネル分設けられており、各チャンネルのバッファはそれぞれ１２８サンプル分の波形データ記憶エリア（ＳＤｉ１〜ＳＤｉ１２８）を備えている。
波形データ生成演算は、１つのチャンネル毎に１フレーム時間分の１２８サンプルを演算し、これを最大３２チャンネル分（発音しているチャンネル分）繰り返すという手順で行われるが、このようにして生成された各チャンネル１２８サンプルの波形データを記憶するのがサンプルバッファＷＢである。
【００２０】
同図（Ｃ）は音色データレジスタである。この音色データレジスタは、各ＭＩＤＩチャンネル（演奏パート）で生成される楽音波形を決定する音色データを記憶するレジスタであり、この音色データとして、各音色の各音域毎に素材とする波形テーブルを指定する波形指定データ、ＥＧ制御データ、パン制御データなどが記憶されている。
【００２１】
同図（Ｄ）は音源レジスタである。この音源レジスタには、各発音チャンネル別に該発音チャンネルで生成される楽音波形を決定するためのデータが記憶される。このデータとしてはノートナンバ、いずれか１つの波形テーブルのアドレスを示す波形指定アドレス（アタックスタートアドレスＡＳ、アタックエンドアドレスＡＥ、ループスタートアドレスＬＳ、ループエンドアドレスＬＥ）、ノートオンデータなどが記憶されている。
【００２２】
次に、フローチャートを参照して本発明のソフト音源の動作を説明する。
図５（ａ）はメインルーチンを示すフローチャートである。プログラムが起動されると、まず、レジスタエリアの確保などの初期設定を実行（Ｓ１）したのち、何らかの起動要因（トリガ）があるまで、Ｓ２、Ｓ３で待機する。起動要因が発生した場合には、その起動要因をＳ４で判断して対応する処理動作を実行する。起動要因としては、（１）入力バッファにＭＩＤＩデータが書き込まれた場合、（２）１フレームに対応する時間毎に発生されるタイマ２１などからの割込、（３）その他パネルやウインドウ画面からのスイッチイベントの発生、および、（４）終了コマンドの入力の４種類の要因があり、それぞれの要因に応じて、ＭＩＤＩ処理（Ｓ５）、音源処理（Ｓ６）、その他処理（Ｓ７）、および終了処理（Ｓ８）が実行される。
【００２３】
終了処理Ｓ８は設定データの退避やレジスタのクリアなどの処理であり、この処理が終了したのち動作を終える。その他処理Ｓ７は、各種のパネル入力やコマンド入力に対応する処理である。音源処理（Ｓ６）は、タイマ２１から１２８サンプルクロックをカウントしたことにより発生される割り込みなどによって図３における読み出し再生が次のフレームに進行したのを検出して実行される処理である。
【００２４】
図５の（ｂ）は最優先の割込処理として実行されるＭＩＤＩ割込処理のフローチャートである。この割込処理はＭＩＤＩインタフェース１５からＭＩＤＩデータを受信したときに起動されるものであり、当該ＭＩＤＩデータを取り込み（Ｓ１０）、該受信したＭＩＤＩデータとともにその受信時刻データを図４の（Ａ）に示した入力バッファに書き込む（Ｓ１１）。
【００２５】
ＭＩＤＩ処理（Ｓ５）は、前記入力バッファにＭＩＤＩデータが書き込まれていることが検出されたときに起動され、書き込まれたＭＩＤＩデータに対応した処理が行われる。
図６は、このＭＩＤＩ処理の１つであるノートオンイベント処理における動作を示す図である。この処理は、入力バッファにノートオンイベントデータが書き込まれていたときに実行される。まず、そのノートオンイベントデータのノートナンバ、ベロシティデータ、パート別音色、発生時刻をそれぞれＮＮ、ＶＥＬ、ｔ、ＴＭレジスタに記憶する（Ｓ２０）。次に、３２チャンネルの発音チャンネルのなかからこのノートオンにかかる楽音を発音する発音チャンネルを割り当て外発音チャンネル番号をｉに記憶する（Ｓ２１）。このノートオンにかかる音色データＴＰ（ｔ）のＥＧ制御データをＶＥＬに応じて加工する（Ｓ２２）。次に、加工されたＥＧ制御データとパン制御データをノートオンを示すデータとともにＣＯＤＥＣ１９内の第ｉチャンネルのレジスタに書き込む（Ｓ２３）。続いて、ＥＧ制御データおよびパン制御データ以外の音色データＴＰ（ｔ）およびＦナンバＦＮをノートオンとともに第ｉチャンネルの音源レジスタに書き込む（Ｓ２４）。
【００２６】
図７は１フレーム時間に対応する周期で起動される音源処理Ｓ６を示すフローチャートである。この音源処理動作は３２の発音チャンネルについて１フレーム（１２８サンプル）分の楽音波形データを生成する処理であるが、演算の途中であってもＣＰＵ１０の占有可能時間を経過すると強制的に終了されてしまうため、演算順が下位のチャンネルほど打ち切られる可能性が高くなる。したがって、優先度の高いチャンネル（消音されては困るチャンネル）から先に演算するように、まず、３２の発音チャンネルの演算順序を決定する（Ｓ３０）。次に、演算順位を示すポインタｉに１をセットする（Ｓ３１）。続いて、ｉ番目、すなわち、演算順序第１番目の発音チャンネルの音源レジスタにアドレスを設定して該チャンネルのデータを読出可能にするなどの波形データ演算準備処理（Ｓ３２）を実行する。次に、指定された波形テーブルからの波形の読出および補間処理（Ｓ３３）を実行する。
【００２７】
波形読出および補間処理（Ｓ３３）について図８を参照して説明する。この処理ではｉで指定されている演算順序の発音チャンネルの波形データを１フレーム（１２８サンプル）分まとめて演算生成する。まず、サンプル数カウンタｓに１をセットする（Ｓ４０）。次に、直前の演算のアドレス（この処理チャンネルの前のフレームにおける波形読出で最後に生成したアドレス）にＦナンバＦＮを加算してアドレスの更新を行う（Ｓ４１）。このとき、通常は整数部と小数部とからなるアドレスが生成されるため、ＲＡＭ１２の波形指定データｔで指定された波形テーブルからこのアドレスを含む２サンプル（整数部のアドレスで指定されるサンプルと整数部＋１のアドレスで指定されるサンプル）の波形データを読み出す（Ｓ４２）。これら２サンプルのデータを小数部の値で直線補間し、その値をＩＤレジスタにセットする（Ｓ４３）。次にＩＤレジスタの内容をサンプルバッファＷＢの対応するチャンネルの波形データ記憶エリアＳＤｉ（ｓ）にセットする（Ｓ４４）。この動作をｓ＝１からｓ＝１２８になるまで繰り返し実行し（Ｓ４５、Ｓ４６）、１２８回の処理が完了すれば音源処理（図７）に戻る。
【００２８】
波形読出および補間処理Ｓ３３が終了した後、全チャンネルについての波形データ演算が終了した否かを判定する（Ｓ３４）。終了していないときはｉをｉ＋１にインクリメントして（Ｓ３６）、次の優先順位の発音チャンネルについて波形データ演算準備処理（Ｓ３２）以降の処理を実行する。また、全チャンネル分の波形データ演算が終了したときには、生成した波形データの再生を再生部（ＤＭＡ制御回路１８）に再生予約する（Ｓ３５）。この再生予約は、ＲＡＭ１２内のサンプルバッファＷＢの記憶アドレスをＤＭＡ制御回路１８に通知することにより行われる。
【００２９】
このようにして、ソフトウエア音源処理により、サンプルバッファＷＢ（ＳＤｉ１〜ＳＤｉ１２８、ｉ＝１〜３２）に各発音チャンネルについてそれぞれ１フレーム時間分の補間サンプルが格納されることとなる。この補間サンプルに対しＣＯＤＥＣ１９において音量制御および累算処理が実行され楽音波形データが生成される。
【００３０】
前記サンプルバッファＷＢに格納された補間サンプルは、ＤＭＡ制御回路１８により前記ＣＯＤＥＣ１９内のＦＩＦＯバッファ３３に転送される。すなわち、前記ＣＯＤＥＣ１９内のＦＩＦＯバッファ３３に空が生じたときにＤＭＡ制御回路１８に対してＤＭＡ転送要求信号が出力され、ＤＭＡ制御回路１８は前記ステップＳ３５（図７）において再生予約されているサンプルバッファＷＢから補間サンプルデータを読み出して前記ＦＩＦＯバッファ３３に転送する。
【００３１】
ＦＩＦＯバッファ３３に格納されている各発音チャンネルの補間サンプルは、サンプリングタイミング毎に順次読み出されてレベル乗算器３６に入力される。
一方、エンベロープジェネレータ３４においては、前記ステップＳ２３（図６）によりレジスタに書き込まれたＥＧ制御データおよび音量パラメータに基づいて各発音チャンネルに対応する音量制御データが順次時分割で発生される。レベル乗算器３６において、前記ＦＩＦＯバッファ３３から出力される当該サンプリングタイミングにおける各発音チャンネルの補間サンプルと、前記エンベロープジェネレータ３４から出力される音量制御データの乗算が実行される。
【００３２】
また、前記パン係数発生器３５において、前記ステップＳ２３（図６）によりレジスタに書き込まれたパン制御データにより各発音チャンネルに対応するパン係数が時分割で発生される。このパン係数と前記レベル乗算器３６から出力される音量制御された波形サンプルデータがパン乗算器３７において乗算され、音像定位がなされた各発音チャンネルの波形サンプルデータが時分割で出力される。
【００３３】
チャンネル累算器３８は、各サンプリングタイミングに対応する記憶エリアを有しており、前記パン乗算器３７から各サンプリングタイミング毎に時分割で出力される各発音チャンネルの楽音波形サンプルデータがチャンネル累算器３８の当該サンプリングタイミングの記憶エリアに累積加算される。すなわち、このチャンネル累算器３８の各記憶エリアに当該サンプリングタイミングにおける全発音チャンネルの波形データが加算される。なお、前述したように、前記Ａ／Ｄ変換回路３１からの出力信号も同時にチャンネル累算器３８において加算することにより、入力アナログ信号とのミキシングを行なうことができる。
【００３４】
前記チャンネル累算器３８からの出力は、場合に応じて、エフェクト回路３９においてリバーブなどのエフェクト処理が行なわれ、サンプリングタイミング毎にＤ／Ａ変換回路４０に入力され、アナログの楽音信号に変換されて左右両チャンネルの出力信号ＬＯＵＴおよびＲＯＵＴとして前記サウンドシステム２０に出力される。
【００３５】
なお、上記実施の形態においては、ＣＯＤＥＣ１９内に設けられたエンベロープジェネレータ３４およびパン係数発生器３５により音量制御データおよびパン係数を発生させているが、ＣＰＵ１０の処理能力が大きいときには、ＣＰＵ１０による演算により音量制御データおよびパン係数を発生させるようにすることもできる。この場合には、前記エンベロープジェネレータ３４およびパン係数発生器３５に代えて前記ＦＩＦＯバッファ３３と同様の音量制御データおよびパン係数格納用のＦＩＦＯバッファを設け、演算生成された音量制御データおよびパン係数を格納するようにすればよい。
【００３６】
【発明の効果】
本発明の楽音発生装置によれば、楽音生成自体はソフトウエアにより実行し、該演算生成された楽音に対する音量制御演算はＣＯＤＥＣにおいてハードウエアにより実行しているので、楽音生成に要する演算量が少なくなりＣＰＵの負荷を軽減することができる。また、従来の音源ボードよりも少ないハードウエアを必要とするだけで楽音を発生させることが可能となる。さらに、ハードディスクに格納されている各種の波形データや音色データを用いて楽音を生成することができるので、楽音生成の自由度を高くすることができる。
【図面の簡単な説明】
【図１】  本発明の楽音発生装置の構成を示す図である。
【図２】  本発明におけるＣＯＤＥＣの構成を示す図である。
【図３】  本発明における処理の時間的な流れを説明するための図である。
【図４】  本発明における各記憶エリアを説明するための図である。
【図５】  本発明における処理のフローチャートである。
【図６】  本発明におけるノートオンイベント処理のフローチャートである。
【図７】  本発明における音源処理のフローチャートである。
【図８】  本発明における波形読出および補間処理のフローチャートである。
【符号の説明】
１０  ＣＰＵ、１１  ＲＯＭ、１２  ＲＡＭ、１３  ハードディスク装置、１４  ＣＤ−ＲＯＭ装置、１５  ＭＩＤＩインタフェース、１６  キーボード、１７  ディスプレイ装置、１８  ＤＭＡ制御回路、１９  符号化復号化回路（ＣＯＤＥＣ）、２０  サウンドシステム、３０  インタフェース回路、３１、Ａ／Ｄ変換回路、３２、３３  ＦＩＦＯバッファ、３４  エンベロープジェネレータ、３５  パン係数発生器、３６、３７  乗算器、３８チャンネル累算器、３９  エフェクト回路、４０  Ｄ／Ａ変換回路
【図１】
0003693046.tif 000002
【図２】
0003693046.tif 000003
【図３】
0003693046.tif 000004
【図４】
0003693046.tif 000005
【図５】
0003693046.tif 000006
【図６】
0003693046.tif 000007
【図７】
0003693046.tif 000008
【図８】
0003693046.tif 000009