JP3541718B2 - 楽音生成装置 - Google Patents
楽音生成装置 Download PDFInfo
- Publication number
- JP3541718B2 JP3541718B2 JP07952399A JP7952399A JP3541718B2 JP 3541718 B2 JP3541718 B2 JP 3541718B2 JP 07952399 A JP07952399 A JP 07952399A JP 7952399 A JP7952399 A JP 7952399A JP 3541718 B2 JP3541718 B2 JP 3541718B2
- Authority
- JP
- Japan
- Prior art keywords
- waveform data
- transfer
- data
- waveform
- read
- 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
- Memory System Of A Hierarchy Structure (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、データ転送速度が低速の記憶装置に記憶された波形データに基づいて、該記憶装置のデータ転送速度に依存して制限されるチャンネル数より多いチャンネル数の楽音を生成する楽音生成装置に関する。
【0002】
【従来の技術】
従来、データ転送速度が低速の記憶装置(波形メモリ(ROM)を含む)に記憶された波形データに基づいて楽音を生成する楽音生成装置として、次のものが知られている。すなわち、
(1)波形メモリから読み出された波形サンプルを補間することにより、目的の楽音波形を生成する楽音生成装置において、補間に用いる読み出し波形サンプルをキャッシュメモリに記憶し、このキャッシングされた波形サンプルに基づいて楽音波形を生成するもの
(2)データ転送速度が低速の記憶装置であるハードディスクに記憶された波形データを、低容量かつデータ転送速度が高速のRAMにロードし、このロードされた波形データに基づいて楽音を生成する楽音生成装置
等である。
【0003】
【発明が解決しようとする課題】
しかし、上記従来の楽音生成装置のうち(1)では、生成すべき楽音波形が進行し、この楽音波形を補間生成するための波形サンプルがキャッシュメモリに保持されていないときには、その波形サンプルを波形メモリから読み出さなければならないので、結局、生成される楽音波形のチャンネル数は波形メモリのデータ転送速度に依存することになる。
【0004】
また、上記従来の楽音生成装置のうち(2)では、発音が指示されたときに、その発音指示された楽音に対応する波形データがRAM上にロードされていない場合には、その楽音を生成できなかった。
【0005】
本発明は、この点に着目してなされたものであり、データ転送速度が低速の記憶装置に記憶された波形データに基づいて、該記憶装置のデータ転送速度に依存して制限されるチャンネル数より多いチャンネル数の楽音を生成することが可能な楽音生成装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
上記目的を達成するため、請求項1に記載の楽音生成装置は、複数の波形データを記憶する、所定のデータ転送速度を有する第1の記憶手段と、前記複数の波形データのうちの一部の波形データを波形データ単位で記憶する第2の記憶手段であって、データ転送速度が前記第1の記憶手段より高速のものと、複数の波形データを同時に読み出すように指示する読み出し指示を入力する入力手段と、該入力手段によって入力された読み出し指示に係る各波形データが前記第2の記憶手段に記憶されているか否かを判別する第1の判別手段と、該第1の判別手段による判別の結果、前記読み出し指示に係る波形データが前記第2の記憶手段に記憶されていないときには、前記読み出し指示に応じて、該読み出し指示に係る波形データを、波形データ単位で前記第1の記憶手段から読み出して前記第2の記憶手段に転送する第1の転送手段と、前記入力された読み出し指示に応じて、前記第2の記憶手段からその読み出し指示に係る複数の波形データを読み出し、該読み出された複数の波形データに基づいて複数の楽音を同時に生成する楽音生成手段とを有し、前記第1の転送手段による波形データの転送と前記楽音生成手段による波形データの読み出しとは並行して実行可能であることを特徴とする。
【0007】
ここで、第1の記憶手段は、典型的には、波形メモリ(ROM)であるが、これに限らず、ハードディスクやMD等、データ転送速度が低速の記憶手段であればどのようなものであってもよい。第2の記憶手段は、典型的には、キャッシュメモリであるが、これに限らず、データ転送速度が高速であれば、RAMであってもよい。以上は、請求項が変わっても同様である。
【0008】
好ましくは、前記第1の転送手段による波形データの転送と前記楽音生成手段による波形データの読み出しとは相互に非同期で進行し、前記第1の転送手段は、波形データの転送を、ブロック転送やバースト転送などの高効率の転送方法で行うことを特徴とする。
【0009】
また、好ましくは、音色切換を指示する音色切換指示手段と、該音色切換指示手段により音色切換が指示されたときに、該指示された音色において優先的に用いられる1ないし複数の波形データが前記第2の記憶手段に記憶されているか否かをその各波形データ毎に判別する第3の判別手段と、該第3の判別手段による判別の結果、前記優先的に用いられる波形データのうち前記第2の記憶手段に記憶されていないと判別された波形データについて、当該波形データを波形データ単位で前記第1の記憶手段から読み出して前記第2の記憶手段に転送する第2の転送手段とをさらに有することを特徴とする。
【0010】
さらに好ましくは、前記第1の転送手段が波形データを前記第2の記憶手段に転送するのに先立ち、当該波形データを記憶するだけの十分な空き領域が前記第2の記憶手段にあるか否かを判別する第2の判別手段と、該第2の判別手段によって十分な空き領域がないと判別されたときには、前記第2の記憶手段に既に記憶されている波形データのうち、少なくとも1つの波形データを消去して、当該波形データを記憶するのに必要な空き領域を確保する確保手段とをさらに有することを特徴とする。
【0011】
また、さらに好ましくは、前記第1の転送手段は、前記第1の記憶手段の前記データ転送速度による制限内で、前記第1の記憶手段から前記第2の記憶手段へ、複数の波形データを並行して転送することが可能であることを特徴とする。
【0012】
また、好ましくは、前記読み出し指示には、当該読み出し指示に係る各波形データの読み出し速度を指定する速度指定情報が含まれており、前記楽音生成手段は、当該波形データを、対応する速度指定情報によって指定された読み出し速度で読み出して楽音を生成し、前記第1の転送手段は、転送する各波形データ毎に、対応する速度指定情報に基づいてその転送速度を制御することを特徴とする。
【0013】
さらに好ましくは、前記第1の転送手段による波形データの転送と前記楽音生成手段による波形データの読み出しとは相互に非同期で進行し、前記第1の転送手段は、前記第1の記憶手段の前記データ転送速度による制限内で、前記第1の記憶手段から前記第2の記憶手段へ、複数の波形データを並行して、それぞれ異なる速度で転送することが可能であることを特徴とする。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0015】
図1は、本発明の一実施の形態に係る楽音生成装置の概略構成を示すブロック図である。
【0016】
同図に示すように、本実施の形態の楽音生成装置は、各種情報を入力するための複数のスイッチを備えたパネルスイッチ1と、各種情報等を表示する、たとえば大型液晶ディスプレイ(LCD)および発光ダイオード(LED)等を備えた表示装置2と、装置全体の制御を司るCPU3と、該CPU3が実行する制御プログラムや各種テーブルデータ等を記憶するROM4と、演奏データ、各種入力情報および演算結果等を一時的に記憶するRAM5と、タイマ割込み処理における割込み時間や各種時間を計時するタイマ6と、前記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶するハードディスク装置7と、外部からのMIDI(musical instrument digital interface)信号を入力したり、MIDI信号を外部に出力したりするMIDIインターフェース8と、ch(channel)データ(図2を用いて後述)やC(cache)管理データ(図3を用いて後述)等のデータを格納する領域を備えたレジスタ9とを有し、これらの各構成要素1〜9は、バス18を介して相互に接続されている。
【0017】
ハードディスク装置7には、前述のように、CPU3が実行する制御プログラムも記憶でき、ROM4に制御プログラムが記憶されていない場合には、このハードディスクに制御プログラムを記憶させておき、それをRAM5に読み込むことにより、ROM4に制御プログラムを記憶している場合と同様の動作をCPU3にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【0018】
MIDIインターフェース8は、専用のものに限らず、RS−232CやUSB(ユニバーサル・シリアル・バス)、IEEE1394(アイトリプルイー1394)等の汎用のインターフェースより構成してもよい。この場合、MIDIメッセージ以外のデータをも同時に送受信してもよい。
【0019】
レジスタ9には、大容量(たとえば、128Mword)かつデータ転送速度が低速(たとえば、6Mword/秒)の波形メモリ(ROM)10に記憶されている波形データを、小容量(たとえば、4Mword)かつデータ転送速度が高速(たとえば、66Mword/秒)のキャッシュメモリ11にロードしたり、キャッシュメモリ11にロードされている波形データを読み出したりするキャッシュ制御部12と、波形データを読み出す際の1サンプル当たりのアドレスの進み量を示すFナンバFNを各発音チャンネル毎に累算することにより、該各チャンネル毎の波形データの読み出しアドレス(相対アドレス)を発生する位相発生部14と、キャッシュメモリ11から読み出された波形データを加工するためのDSP(digital signal processor)15が接続されている。
【0020】
ここで、本実施の形態の楽音生成装置は、楽音を生成するときには、常にキャッシュメモリ11からその楽音生成の基準となる波形データを読み出し、この波形データに基づいて楽音を生成する。そして、その楽音生成の基準となる波形データがキャッシュメモリ11上に保持されていないとき、すなわちキャッシュミスが発生したときには、その波形データを波形メモリ10から読み出して、キャッシュメモリ11に転送した後、この波形データをキャッシュメモリ11から読み出して楽音を生成する。このとき、後述するように、波形メモリ10からキャッシュメモリ11への波形データの転送速度は、キャッシュメモリ11上の波形データの読み出しアドレスの進み量(読み出し速度)より速く設定されているので、発音の途中で、キャッシュメモリ11に読み出すべき波形サンプルが未転送という状態にはならない。
【0021】
本実施の形態では、装置のサンプリング周波数を、たとえば50kHzとし、位相発生部14によって発生された読み出しアドレスに小数部が含まれるときには、そのアドレスの波形サンプルは直線補間によって算出するようにしているため、1周期当たり2個の波形サンプルを読み出す必要があるので、サンプリング周波数は実質100kHzとなっている。
【0022】
この100kHzのサンプリング周波数の1周期で、1個の波形サンプル(そのデータ容量は1wordとする)を読み出せれば、1チャンネル分の楽音を生成できるので、本実施の形態のように、常にキャッシュメモリ11をアクセスすることにより、その記憶された波形データ(波形サンプル)を読み出して楽音生成に使用したときには、66Mword/秒÷100kword/秒/ch=660ch分の楽音を生成することができる。
【0023】
ただし、本実施の形態では、1サンプリング周期内で、最大6Mword/秒のデータ転送、すなわち波形メモリ10からキャッシュメモリ11への波形データのデータ転送も行っているため、6Mword/秒÷100kword/秒/ch=60ch分、上記660chから差し引く必要がある。したがって、本実施の形態の楽音生成装置は、最大600chの楽音を生成することができる。
【0024】
位相発生部14は、レジスタ9に格納された各発音チャンネル(チャンネル数は、上述のように、最大600ch)毎のchデータに基づいて、該各チャンネル毎の波形データの読み出しアドレス(実数値)を発生し、その整数部をキャッシュ制御部12に供給するとともに、その小数部をDSP15に供給する。
【0025】
キャッシュ制御部12は、レジスタ9に格納されたC管理データに基づいて、各チャンネルで読み出そうとしている波形データがキャッシュメモリ11に記憶されているか否かを判別し、記憶されていないときには、当該チャンネルにおける波形データの読み出しを開始すると同時に、その波形データを波形メモリ10から読み出してキャッシュメモリ11に転送する一方、記憶されているときには、当該チャンネルで発生された読み出しアドレスの整数部に対応する位置(およびその次の位置)の波形データをキャッシュメモリ11から読み出して、DSP15に供給する。
【0026】
ここで、波形データは、波形メモリ10からブロック単位(1ブロックは、本実施の形態では、1kword)で読み出されて、キャッシュメモリ11にロードされる。通常、読み出すべき波形データの容量は1kwordより大きいので、複数ブロックがキャッシュメモリ11にロードされるが、この複数ブロック分の容量のまとまった空き領域がキャッシュメモリ11に存在しない場合には、各ブロックの波形データは、キャッシュメモリ11上で離散的に記憶される。他方、位相発生部14は、読み出しアドレスを、当該波形データのアドレスが連続しているものとして発生する。このため、キャッシュメモリ11上の実アドレスに対して仮想アドレスを定義し、この仮想アドレス(各ブロック毎の仮想アドレス)を再配置するすることにより、実アドレスでは依然として離散的に存在している波形データのアドレスを、見かけ上連続的にしている。この種の技術を、ガーベジ・コレクション(garbage collection)と呼んでいる。これにより、空き領域をまとめる際にキャッシュメモリ11上に記憶されているデータを転送する必要がなくなるので、処理を高速に行うことができる。
【0027】
キャッシュ制御部12は、目的の波形データをキャッシュメモリ11から読み出すために、この仮想アドレスをキャッシュメモリ11上の実アドレスに変換するアドレス変換部13を介して、キャッシュメモリ11に接続されている。
【0028】
DSP15は、発音チャンネル処理、エフェクト処理およびミキサ処理を行い、これら各処理の施されたデジタル楽音データをDAC(digital to analog converter)16に出力し、DAC16は、DSP15から供給されたデジタル楽音データをアナログ楽音信号に変換し、アンプやスピーカ等からなるサウンドシステム17を介して音響に変換される。
【0029】
ここで、発音チャンネル処理の主なものとしては、たとえば、サンプル間補間処理、音色フィルタ処理、音量エンベロープ処理、チャンネル累算処理が挙げられる。
【0030】
サンプル間補間処理では、キャッシュ制御部12から供給された波形データと位相発生部14から供給された読み出しアドレスの小数部に基づいて補間演算を行い、補間された波形データの波形サンプルを生成する。本実施の形態では、キャッシュ制御部12は、各チャンネル当たり2個の波形サンプルをDSP15に供給し、DSP15は、この2個の波形サンプルに基づいて直線補間により補間サンプルを生成する。もちろん、過去に読み出された波形サンプルを記憶しておき、この波形サンプルと新たに読み出された波形サンプルに基づいて、より高次の補間を行うようにしてもよい。
【0031】
音色フィルタ処理では、上記補間後の波形データに対して、たとえばローパスフィルタ演算により音色制御を行う。このローパスフィルタ演算は、パラメータとして供給されたカットオフ特性やレゾナンス特性等に基づいて行われる。
【0032】
音量エンベロープ処理では、音色フィルタ処理が施された波形データに対して、楽音の立ち上がりから立ち下がりまでの音量の時間変化(エンベロープ)を与える。この音量エンベロープ処理も、パラメータとして供給されたEG(envelope generator)制御情報に基づいて行われる。
【0033】
チャンネル累算処理では、エンベロープの付与された波形データを、各エフェクト処理(本実施の形態では、コーラス処理、リバーブ処理およびイコライザ処理の3種類の処理がある)向けにそれぞれレベル制御した後に、全チャンネル分累算し、各エフェクト処理に出力する。
【0034】
コーラス処理では、当処理向けに出力された波形データに対してコーラス効果を付与する。
【0035】
リバーブ処理では、当処理向けに出力された波形データに対して残響効果を付与する。
【0036】
ミキサ処理では、コーラス効果が付与された波形データと残響効果が付与された波形データの各音量を制御し、この音量制御された各波形データとイコライザ処理向けに出力された波形データとをミキシングする。
【0037】
イコライザ処理では、ミキサ処理によってミキシングされた波形データの周波数特性を加工制御する。
【0038】
この周波数特性が加工制御された波形データが、DSP15からDAC16に供給される。
【0039】
以上のように、位相発生部14およびDSP15は、それぞれ、1サンプリング周期内で最大600ch分の楽器生成のための処理を時分割で行う必要がある。この処理を実現するためには、必要に応じて、各回路を並列化したり、パイプライン化したりすればよい。すなわち、各処理を時分割600chで複数段にパイプライン化した構成、2つに並列化してそれぞれ時分割300chで複数段にパイプライン化した構成、4つに並列化してそれぞれ時分割150chで複数段にパイプライン化した構成等を採ることができる。一般的に、並列化の数を増やすことによりパイプラインの段数を減少させることができる。
【0040】
図2は、レジスタ9に格納されるchデータのデータフォーマットを示す図である。
【0041】
各chデータは、それぞれ、当該発音チャンネルでの楽音生成のために必要な複数個のデータからなり、レジスタ9には、600ch分のデータが記憶される領域ch1〜ch600が設けられている。なお、各chデータのデータフォーマットはすべて共通であるため、同図には、ch3のchデータのデータフォーマットが代表的に例示されている。
【0042】
同図において、chデータは、FナンバFNと、生成される楽音の全体的な音量と、楽音生成に使用する、波形メモリ10上の波形データを特定するための波形IDと、波形メモリ10(またはキャッシュメモリ11)上の当該(波形IDに対応する)波形データの先頭記憶位置(アドレス)を基準とした所定位置(たとえば、読み出し開始位置、ループ読み出し開始位置およびループ読み出し終了位置)の相対アドレス情報と、前記音色フィルタ処理でのフィルタ演算に用いるパラメータであるDCF(digital controlled filter)制御情報(前記カットオフ特性やレゾナンス特性を含む)と、前記音量エンベロープ処理での音量制御に用いるパラメータであるEG制御情報と、楽音生成に用いるその他の情報と、ノートオン/オフの状態をそれぞれ“0”と“1”で示すオン/オフデータとによって構成されている。
【0043】
FナンバFNは、上述のように、波形データを読み出す際の1サンプル当たりのアドレスの進み量を示すものであり、生成すべき楽音の音高とその生成に用いる波形データが決まれば、その値は決まる。前記位相発生部14は、システムのサンプリング周波数(本実施の形態では、前述のように、50kHz)に同期して、各チャンネル毎にFナンバFNを累積し、該各チャンネル毎の波形データの読み出しアドレス(相対アドレス)を発生する。
【0044】
波形メモリ10に記憶されている各波形データには、それぞれIDが付与され、chデータ内の波形IDを指定することにより、目的の波形データを波形メモリ10上で特定することができる。
【0045】
オン/オフデータは、その値が“0”から“1”に変化した時点で、当該チャンネルの楽音の生成を開始し、“1”から“0”に変化した時点で、当該チャンネルの楽音のリリースを開始するように、前記DSP15に指示するためのものである。
【0046】
図3は、レジスタ9に格納されるC管理データのデータフォーマットを示す図である。
【0047】
C管理データは、キャッシュメモリ11に格納される波形データの状態を管理するために必要な複数個のデータからなり、レジスタ9には、600波形分のデータが記憶される領域cw1〜cw600が設けられている。なお、各C管理データのデータフォーマットはすべて共通であるため、同図には、cw(cache wave)3のC管理データのデータフォーマットが例示されている。
【0048】
同図において、C管理データは、上記chデータ内の波形IDと同様に作用する波形IDと、キャッシュメモリ11への当該波形データの転送状態を示す転送ステートTSと、キャッシュメモリ11へ当該波形データを転送するときの速度を示す転送速度TAと、当該波形データのキャッシュメモリ11上の記憶位置を仮想アドレスで表現するキャッシュ記憶位置仮想アドレスと、当該波形データのうちキャッシュメモリ11に転送されたデータのデータサイズを示す転送済みサイズと、当該波形データの全データサイズを示すトータルサイズと、当該波形データの波形メモリ10上の記憶位置を実アドレス(波形データは通常波形メモリ10上リニアに(連続して)記憶されているため、リニアアドレスである)で示す波形メモリ記憶位置リニアアドレスとによって構成されている。
【0049】
転送ステートTSは、“0”から“2”までのいずれかの整数値を採り、各整数値は、次のような状態を意味している。
【0050】
0:当該波形IDが示す波形データは楽音生成に使用されていない状態
1:当該波形IDが示す波形データはキャッシュメモリ11に転送中の状態
2:当該波形IDが示す波形データはキャッシュメモリ11に転送を完了した状態
転送速度TAは、“0”から“120”までのいずれかの整数値を採り、1秒当たりに転送される前記ブロックのブロック数(本実施の形態では、50ブロック=50kword)を1単位としている。たとえば、TA=0は、キャッシュメモリ11へのデータ転送を行わない状態を示し、TA=1は、キャッシュメモリ11への50ブロック/秒のデータ転送を行う状態を示し、TA=2は、キャッシュメモリ11への100ブロック/秒のデータ転送を行う状態を示し、というように、転送速度TAとして設定される値が大きくなるほど、1秒間に転送されるブロック数、すなわち転送速度が速くなるようになっている。
【0051】
ここで、1秒当たりに転送されるブロック数の1単位を50ブロックとしたのは、この転送速度が、FナンバFNが“1”に設定されたとき(システムのサンプリング周波数(=50kHz)で波形データの各波形サンプルを読み出すとき)の楽音再生に相当する速度であるからである。
【0052】
また、転送速度TAとしては、上述のように、最大“120”を採ることができる。これは、波形メモリ10からのデータ転送速度が、本実施の形態では6Mword/秒であることによる。したがって、キャッシュメモリ11に転送すべき波形データが複数個あるときには、“120”を分配する必要がある。(すなわち、各ロードに対して割り当てた転送速度TAの合計値は“120”を超えない。)分配する方法としては、たとえば次のような方法が考えられる。すなわち、
(1)発音時のロードに対して、音色切換時のロードより、大きい整数値を優先的に割り当てる
(2)発音時のロードに対しては、その波形データを使用する発音チャンネルのFナンバFNに応じた整数値以上の数を割り当てる
(3)音色切換時のロードに対しては、120以下の任意の整数値を割り当ててもよい(たとえば、他のロードに割り当てた転送速度TAの合計が、“120”に到達してしまった場合には、残りの音色切換時のロードに対しては、転送速度TAを“0”としてもよい)
ここで、上記(1)において、発音時のロードとは、今まさに発音されようとしている楽音に対応する波形データがキャッシュメモリ11上に記憶されていないときに、当該波形データを波形メモリ10から読み出してキャッシュメモリ11にロードすることをいう。また、音色切換時のロードとは、たとえば演奏データとして音色切換を指示するデータが供給されたときに、その指示された音色で優先的に使用される(たとえば、最も頻繁に使用される)波形データがキャッシュメモリ11上に記憶されていない場合には、本実施の形態では、当該波形データを波形メモリ10から読み出してキャッシュメモリ11にロードするが、このロードをいう。
【0053】
また、上記(2)において、FナンバFNに応じた整数値とは、たとえば、FナンバFNの小数点を切り上げた値をいい、FN=1.5のときには“2”である。転送速度TAとして、FナンバFNに応じた整数値以上の整数値を設定するようにしたのは、転送速度の1単位を、FナンバFN=1のときに必要な転送速度を基準に設定したからであり、FナンバFNが“1”より大きい値に設定されている場合には、それに見合った転送速度で波形データをキャッシュメモリ11に転送しないと、読み出しアドレスの進み量が転送済みの波形サンプルのアドレスを越えてしまうことがあり、このときには、楽音を再生できなくなってしまうからである。
【0054】
さらに、上記(3)において、音色切換時のロードに対する転送速度TAの設定値に、上記(2)のような条件を設けなかったのは、音色切換の指示からその音色で実際に楽音が生成されるまでの間に時間的な余裕があるからである。
【0055】
キャッシュ記憶位置仮想アドレスは、上述のように、当該波形データのキャッシュメモリ11上の記憶位置を仮想アドレスで表現したものであり、キャッシュメモリ11の実アドレス空間上で離散的に配置されている、当該波形データを構成する各ブロックを、仮想アドレス空間上で連続的に再配置したものである。本実施の形態では、このキャッシュ記憶位置仮想アドレスに基づいて、当該波形データの各波形サンプルを読み出すようにしているので、位相発生部14は、単にFナンバFNを累算するだけで読み出しアドレスを発生させることができる。仮想アドレス空間上でのデータブロックの再配置は、前記キャッシュ制御部12が自動的に行い、この結果に基づいて、キャッシュ制御部12は、仮想アドレスと実アドレスとを相互に変換するためにアドレス変換部13内に設けられたアドレス変換テーブルを書き換える。このキャッシュ制御部12が実行する制御処理については、特開平6−35473号公報に詳細に示されているので、その説明を省略する。この公報に記載されたハードウェア的なアドレス変換を採用することにより、仮想アドレスによるキャッシュメモリ11へのアクセスを時間遅れなく実行することができる。
【0056】
以上のように構成された楽音生成装置が実行する制御処理を、まずその概要を説明した後に、図4〜図7を参照して詳細に説明する。
【0057】
本実施の形態の楽音生成装置は、主として次の制御処理を行う。すなわち、
(1)発音が指示された波形データのキャッシュヒットまたはキャッシュミスを検出し、キャッシュヒットが検出されたときには、キャッシュメモリ11上に保持されている波形データを用いて楽音を生成し、キャッシュミスが検出されたときには、発音指示に係る波形データを波形メモリ10から読み出して、キャッシュメモリ11に転送し、転送後の波形データを用いて楽音を生成する
(2)音色切換が指示されたときに、その切換指示された音色で優先的に使用される波形データが、キャッシュメモリ11上に保持されているか否かを検出し、この波形データがキャッシュメモリ11上に保持されていないときには、この波形データを波形メモリ10から読み出して、キャッシュメモリ11に転送する
(3)上記(1)および(2)における波形メモリ10からキャッシュメモリ11への波形データの転送と、各チャンネルの楽音生成をするための、キャッシュメモリ11に保持されている波形データ(波形サンプル)の読み出しとを非同期に行う
(4)波形データのキャッシュメモリ11へのキャッシングを1波形単位で行う(ただし、波形メモリ10からの波形データの転送は、1波形単位で行う必要はなく、本実施の形態では、複数に分割された波形を時分割で並行して転送している。要するに、キャッシュヒットの判定や、ヒットしなかった場合のロード指示等のキャッシュ管理が、1つの波形の中の各サンプルあるいは複数サンプル単位ではなく、各1つの波形を単位として行われるということである。また、キャッシュメモリ11上の波形データの格納態様は、離散的であってもよいし、連続的であってもよい。)
(5)上記(1)におけるキャッシュミス時の転送、すなわち波形メモリ10からキャッシュメモリ11への波形データの転送を、楽音生成時の波形サンプルの読み出し速度(アドレスの進み量)より速く行う
次に、上記各制御処理(1)〜(5)の詳細を説明する。
【0058】
図4は、本実施の形態の楽音生成装置、特に前記CPU3が実行する音色切換イベント処理の手順を示すフローチャートであり、上記制御処理(2)を実現したものである。本処理は、演奏データとして音色切換イベントが供給されたときに、起動される。
【0059】
同図において、まず、音色切換イベントが指示する新たな音色の音色番号(新音色番号)を取得して、RAM5の所定位置に確保された領域TC(以下、この領域の内容を「音色TC」という)に格納する(ステップS1)。
【0060】
次に、音色TCにおいて使用される各種波形データ中、優先度に応じてキャッシュメモリ11にロードする波形データの波形IDを決定する(ステップS2)。
【0061】
そして、この決定された波形IDに対応する波形データがキャッシュメモリ11に新規にロードすべきものであるか否かを判別する(ステップS3)。ここで、新規にロードすべきものであるか否かは、次のようにして判別する。
【0062】
すなわち、ステップS2で決定された波形IDと同一の波形IDが、前記転送ステートTSが“0”以外のC管理データ中にあるか否かをチェックし、ないときに、その波形IDに対応する波形データを新規にロードすべきものと判別する。
【0063】
ステップS3で、目的の波形データは、キャッシュメモリ11に転送中または転送が完了していて、新規にロードすべき波形データがないときには、直ちに本音色切換イベント処理を終了する一方、新規にロードすべき波形データがあるときには、その波形データのキャッシュメモリ11へのロード指示を行うロード指示処理サブルーチン(図6を用いて後述する)を実行した(ステップS4)後に、本音色切換イベント処理を終了する。
【0064】
ここで、ロード指示処理サブルーチンは、後述するように、転送速度TAに設定する値に応じて低速ロード指示と高速ロード指示とを1つのサブルーチンで切り換え可能なように構成されており、ステップS4では、転送速度TAに「低速」に対応する値を設定することにより低速ロード指示を行っている。これは、前述のように、音色切換時は、ロードを速く行う必要はないからである。
【0065】
図5は、CPU3が実行するノートオンイベント処理の手順を示すフローチャートであり、上記制御処理(1)を実現したものである。本処理は、演奏データとしてノートオンイベントが供給されたときに、起動される。
【0066】
同図において、まず、供給されたノートオンイベントからノートナンバおよび(&)ベロシティを取得し、それぞれ、RAM5の所定位置に確保された領域NN(以下、この領域の内容を「ノートナンバNN」という)および領域VEL(以下、この領域の内容を「ベロシティVEL」という)に格納する(ステップS11)。
【0067】
次に、ノートナンバNNおよび音色TC(この音色TCは、ノートオンイベントが供給されるときには既に設定されている)に対応した波形IDを検出する(ステップS12)。
【0068】
そして、この検出された波形IDの波形データがキャッシュメモリ11上にロードされているか否かを判別する(ステップS13)。この判別は、前記ステップS3での判別と同様の方法によって行う。
【0069】
ステップS13で、目的の波形データがキャッシュメモリ11上にロードされていないときには、前記ステップS4と同様にして、ロード指示処理サブルーチン(ただし、高速ロード指示)を実行した(ステップS14)後に、ステップS15に進む一方、目的の波形データがキャッシュメモリ11上にロードされているときには、ステップS14をスキップしてステップS15に進む。
【0070】
ステップS15では、空きチャンネルを検出して、そのチャンネルに発音割り当てを行う。
【0071】
続くステップS16では、割り当てたチャンネルに、音色TCおよびノートナンバNNに応じた各種パラメータを設定する。具体的には、前記レジスタ9の600ch分のchデータ格納領域中、割り当てチャンネルに対応するchデータ領域に、前記FナンバFN、波形ID、相対アドレス、DCF制御情報、EG制御情報およびその他の情報を書き込む。
【0072】
そして、当該チャンネルに対してノートオンを設定した(ステップS17)後に、本ノートオンイベント処理を終了する。ここで、ノートオンの設定は、上記ステップS16のchデータ領域中のノートオン/オフデータをノートオン(“1”)に設定することにより行う。
【0073】
図6は、前記ステップS4およびS14のロード指示処理サブルーチンの詳細な手順を示すフローチャートである。本ロード指示処理によって、前記制御処理(5)が実現される。
【0074】
同図において、まず、レジスタ9の600波形分のC管理データ格納領域中、転送ステートTSが“0”の領域cwk(kは、1〜600のいずれかの整数値)のうち最小のkを取得する(ステップS21)。
【0075】
次に、決定(または検出)された波形IDが示す波形データを記憶するためのキャッシュメモリ11上の領域を割り当てる(ステップS22)。この領域割当は、たとえば、次のようにして行う。すなわち、
(1)キャッシュメモリ11に記憶されている複数個の波形データを仮想アドレス上で前詰めする
(2)その後に形成された空き領域中、波形IDが示す波形データを書き込む領域を確保する
(3)空き領域が足りない場合には、現在使用されていない波形データが記憶されている領域を開放し、上記(1)および(2)の処理を繰り返す。
【0076】
続くステップS23では、領域cwkに必要なパラメータを設定する。具体的には、前記波形ID、転送ステートTS、キャッシュ記憶位置仮想アドレス、トータルサイズおよび波形メモリ記憶位置リニアアドレスを書き込む。
【0077】
そして、同時にロードする波形データの優先度に応じて、各波形データの転送速度TAを割り当て(分配し)た(ステップS24)後に、本ロード指示処理を終了する。ここで、分配は、前述した方法によって行い、この分配された各転送速度TAは、当該領域cwk中、対応する転送速度TA領域に書き込まれる。これにより、前記音色切換イベント処理では、「低速」に相当する転送速度が設定され、前記ノートオンイベント処理では、「高速」に相当する転送速度が設定される。なお、「低速」および「高速」は、音色切換イベント処理およびノート御イベント処理での転送速度の相対的な表現であって、分配の結果、ノートオンイベント処理での転送に、より大きな速度が割り当てられるという意味である。「低速」が設定された場合でも、他に転送が行われていなければ、転送速度TAに“120”全てが割り当てられる。
【0078】
図7は、前記キャッシュ制御部12が実行する転送処理の手順を示すフローチャートであり、前記制御処理(3)および(4)を実現したものである。本転送処理は、上記図6のロード指示処理サブルーチンによってロード指示が行われると、起動される。
【0079】
図7において、まず、ロードが指示(TS=1)された領域cwk中、最小のk(初期値)を検出し、RAM5の所定位置に確保された領域L(以下、この内容を「インデックスL」という)に格納する(ステップS31)。
【0080】
そして、インデックスLが示す領域cwL内の転送速度TA(L)を取得して、RAM5の所定位置に確保されたソフトウェアカウンタ領域CNT(以下、この内容を「カウンタCNT」という)に格納する(ステップS32)。
【0081】
次に、インデックスLが示す領域cwL内の波形ID(L)に対応する波形データを波形メモリ10から読み出して、前記ステップS22で割り当てられたキャッシュメモリ11上の領域に転送する(ステップS33)。この転送は、1または複数個のブロック分、すなわち、50ブロック/秒の転送速度が得られるだけのブロック分行われる。
【0082】
続くステップS34では、波形ID(L)に対応する波形データの転送が完了したか否かを判別する。この判別は、領域cwL内の転送済みサイズとトータルサイズとを比較することによって行う。
【0083】
ステップS34で、波形ID(L)に対応する波形データの転送がまだ完了していないときには、カウンタCNTを“1”だけデクリメントした(ステップS35)後に、カウンタCNTが“0”であるか否かを判別する(ステップS36)。
【0084】
ステップS36で、CNT≠0のときには、転送すべき波形データのブロックがあるので、前記ステップS33に戻って、1または複数個のブロックの転送を繰り返す。
【0085】
一方、ステップS34で、波形ID(L)に対応する波形データの転送が完了したときには、領域cwL内の転送ステートTS(L)に“2”を設定した(ステップS37)後に、転送ステートTSが“1”の領域cwkが他に存在するか否かを判別する(ステップS38)。
【0086】
ステップS38で、転送ステートTSが“1”の領域cwkが他に存在しないときには、本転送処理を終了する一方、転送ステートTSが“1”の領域cwkが他に存在するときには、その領域cwk間で、転送速度TAの再配分を行う(ステップS39)。再配分は、たとえば、転送中の波形データ間でトリガ要因や優先度を考慮して行う。そして、このようにして再配分された転送速度TAを、対応する転送速度TA領域に書き込む。
【0087】
続くステップS40では、次に転送すべき波形データを求めるために、転送ステートTSが“1”の領域cwk中の、前列に転送処理した領域cwLの次のk(ここで、次の“k”は、循環的に選択される。たとえば、転送ステートTSが“1”の領域がk=2,5,10,25のとき、cwLの“L”が“2”であれば次の“k”は“5”であり、“L”が“25”であれば、次の“k”は“2”である。)を取得して、インデックスLに設定し、前記ステップS32と同様にして、インデックスLが示す領域cwL内の転送速度TA(L)を取得し、カウンタCNTに格納した(ステップS41)後に、前記ステップS33に戻る。
【0088】
一方、ステップS36で、CNT=0のときには、転送すべき波形データのブロックがないので、上記ステップS40に進む。
【0089】
このように、本実施の形態では、楽音を生成するときには、キャッシュメモリに記憶された波形データのみを使用して高速に波形データを供給するようにしたので、波形メモリのデータ転送速度の遅さに依存する発音チャンネル数の制限を解消することができる。
【0090】
キャッシュヒット時には、キャッシュメモリに保持された波形データを用いて楽音を生成するので、波形メモリからキャッシュメモリへの波形データの転送を行う必要がない。
【0091】
発音が指示された波形データのキャッシュミス時には、他の要因でロードが指示された波形データより高い優先度でキャッシュメモリに転送されるとともに、その転送速度の下限は、当該波形データのFナンバに応じて制御されるので、発音の途中にキャッシュメモリに読み出すべき波形サンプルが未転送という状態を解消することができ、楽音を安定して再生することができる。
【0092】
波形サンプルの読み出しアドレスの進行と、波形メモリからキャッシュメモリへの波形データの転送とが非同期でなされるので、キャッシュメモリへの波形データの転送方法が制限されず、たとえばブロック転送やバースト転送等最も効率のよい転送方法を使用することができる。
【0093】
波形データのキャッシュメモリへのキャッシングは1波形単位で行われるので、すなわち、波形データを分割して、その一部のみをキャッシングするという方法ではないので、そのデータ管理が簡単になる。
【0094】
音色選択に応じて優先度の高い波形データを予めキャッシュメモリに記憶するようにしたので、初めて使用する波形データについても効率よくキャッシュヒットさせることができる。
【0095】
なお、本実施の形態では、波形データを記憶する記憶装置として波形メモリ(ROM)を使用したが、これに限らず、ランダムアクセス可能なハードディスク装置やMD装置等を使用してもよい。この場合には、まず、全波形データの各先頭部のみをキャッシュメモリに記憶しておき、その後、使用される波形や必要な波形を当該記憶装置から順次キャッシュメモリに転送するようにする。
【0096】
また、本実施の形態では、音色選択時に優先度の高い波形データをロードするようにしているが、これに限らず、演奏音域やテンポ等の変化に応じて、その後に使用されそうな波形データを予測し、この予測された波形データを予めロードするようにしてもよい。または、演奏者が今後使用したい波形データを、その使用時点に先立って指定し、この指定された波形データを予めロードするようにしてもよい。
【0097】
さらに、本実施の形態では、波形メモリから読み出した波形データをキャッシュメモリに転送するとき、その転送場所は空いている任意の場所として、いわゆるフルアソシアティブ方式を採用したが、これに限らず、ダイレクトマップ方式またはセットアソシアティブ方式のいずれの方式を採用してもよい。
【0098】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPU3やMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは云うまでもない。
【0099】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0100】
プログラムコードを供給するための記憶媒体としては、たとえば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM4などを用いることができる。また、他のMIDI機器や通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【0101】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは云うまでもない。
【0102】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU3などが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは云うまでもない。
【0103】
【発明の効果】
以上説明したように、請求項1に記載の発明によれば、読み出し指示に係る波形データが第2の記憶手段に記憶されているときには、その記憶されている波形データに基づいて、また、読み出し指示に係る波形データが第2の記憶手段に記憶されていないときには、その波形データを波形データ単位で第1の記憶手段から読み出して、第2の記憶手段に転送した後、その記憶されている波形データに基づいて、楽音を生成するようにしたので、すなわち、楽音を生成するときには、データ転送速度が高速の第2の記憶手段に記憶された波形データのみを使用して高速に波形データを供給するようにしたので、データ転送速度が低速の第1の記憶手段に依存する発音チャンネル数の制限を解消することができる。
【0104】
また、第1の記憶手段から第2の記憶手段への波形データの転送と、第2の記憶手段から読み出された波形データに基づく楽音の生成とが非同期で行われるので、第2の記憶手段への波形データの転送方法が制限されず、たとえばブロック転送やバースト転送等最も効率のよい転送方法を使用することができる。
【0105】
また、読み出し指示に係る波形データが波形データ単位で第2の記憶手段に転送されるので、すなわち、波形データを分割して、その一部のみが第2の記憶手段に転送されるという方法ではないので、そのデータ管理が簡単になる。
【0106】
請求項7に記載の発明によれば、音色切換が指示されたときに、該指示された音色において優先的に用いられる波形データが第2の記憶手段に記憶されていないときには、該波形データが波形データ単位で第1の記憶手段から読み出されて、前記第2の記憶手段に転送されるので、初めて使用する波形データについても効率よくキャッシュヒットさせることができる。
【0107】
請求項5に記載の発明によれば、前記読み出し指示には、当該読み出し指示に係る各波形データの読み出し速度を指定する速度指定情報が含まれており、前記楽音生成手段は、当該波形データを、対応する速度指定情報によって指定された読み出し速度で読み出して楽音を生成し、前記第1の転送手段は、転送する各波形データ毎に、対応する速度指定情報に基づいてその転送速度を制御するようにしたので、発音の途中に第2の記憶手段に読み出すべき波形サンプルが未転送という状態を解消することができ、楽音を安定して再生することができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係る楽音生成装置の概略構成を示すブロック図である。
【図2】図1のレジスタに格納されるchデータのデータフォーマットを示す図である。
【図3】図1のレジスタに格納されるC管理データのデータフォーマットを示す図である。
【図4】図1の楽音生成装置、特にCPUが実行する音色切換イベント処理の手順を示すフローチャートである。
【図5】図1のCPUが実行するノートオンイベント処理の手順を示すフローチャートである。
【図6】図4または図5のロード指示処理サブルーチンの詳細な手順を示すフローチャートである。
【図7】図1のキャッシュ制御部が実行する転送処理の手順を示すフローチャートである。
【符号の説明】
3 CPU(第1の判別手段、第2の判別手段、第3の判別手段、第1の転送手段、第2の転送手段、音色切換指示手段、確保手段)
10 波形メモリ(第1の記憶手段)
11 キャッシュメモリ(第2の記憶手段)
12 キャッシュ制御部(第1の転送手段、第2の転送手段、楽音生成手段)
13 アドレス変換部(第1の転送手段、第2の転送手段、楽音生成手段)
15 DSP(楽音生成手段)
Claims (7)
- 複数の波形データを記憶する、所定のデータ転送速度を有する第1の記憶手段と、
前記複数の波形データのうちの一部の波形データを波形データ単位で記憶する第2の記憶手段であって、データ転送速度が前記第1の記憶手段より高速のものと、
複数の波形データを同時に読み出すように指示する読み出し指示を入力する入力手段と、
該入力手段によって入力された読み出し指示に係る各波形データが前記第2の記憶手段に記憶されているか否かを判別する第1の判別手段と、
該第1の判別手段による判別の結果、前記読み出し指示に係る波形データが前記第2の記憶手段に記憶されていないときには、前記読み出し指示に応じて、該読み出し指示に係る波形データを、波形データ単位で前記第1の記憶手段から読み出して前記第2の記憶手段に転送する第1の転送手段と、
前記入力された読み出し指示に応じて、前記第2の記憶手段からその読み出し指示に係る複数の波形データを読み出し、該読み出された複数の波形データに基づいて複数の楽音を同時に生成する楽音生成手段と
を有し、
前記第1の転送手段による波形データの転送と前記楽音生成手段による波形データの読み出しとは並行して実行可能である
ことを特徴とする楽音生成装置。 - 前記第1の転送手段による波形データの転送と前記楽音生成手段による波形データの読み出しとは相互に非同期で進行し、
前記第1の転送手段は、波形データの転送を、ブロック転送やバースト転送などの高効率の転送方法で行う
ことを特徴とする請求項1に記載の楽音生成装置。 - 前記第1の転送手段が波形データを前記第2の記憶手段に転送するのに先立ち、当該波形データを記憶するだけの十分な空き領域が前記第2の記憶手段にあるか否かを判別する第2の判別手段と、
該第2の判別手段によって十分な空き領域がないと判別されたときには、前記第2の記憶手段に既に記憶されている波形データのうち、少なくとも1つの波形データを消去して、当該波形データを記憶するのに必要な空き領域を確保する確保手段と
をさらに有することを特徴とする請求項1に記載の楽音生成装置。 - 前記第1の転送手段は、前記第1の記憶手段の前記データ転送速度による制限内で、前記第1の記憶手段から前記第2の記憶手段へ、複数の波形データを並行して転送することが可能であることを特徴とする請求項1に記載の楽音生成装置。
- 前記読み出し指示には、当該読み出し指示に係る各波形データの読み出し速度を指定する速度指定情報が含まれており、
前記楽音生成手段は、当該波形データを、対応する速度指定情報によって指定された読み出し速度で読み出して楽音を生成し、
前記第1の転送手段は、転送する各波形データ毎に、対応する速度指定情報に基づいてその転送速度を制御する
ことを特徴とする請求項4に記載の楽音生成装置。 - 前記第1の転送手段による波形データの転送と前記楽音生成手段による波形データの読み出しとは相互に非同期で進行し、
前記第1の転送手段は、前記第1の記憶手段の前記データ転送速度による制限内で、前記第1の記憶手段から前記第2の記憶手段へ、複数の波形データを並行して、それぞれ異なる速度で転送することが可能であることを特徴とする請求項1に記載の楽音生成装置。 - 音色切換を指示する音色切換指示手段と、
該音色切換指示手段により音色切換が指示されたときに、該指示された音色において優先的に用いられる1ないし複数の波形データが前記第2の記憶手段に記憶されているか否かをその各波形データ毎に判別する第3の判別手段と、
該第3の判別手段による判別の結果、前記優先的に用いられる波形データのうち前記第2の記憶手段に記憶されていないと判別された波形データについて、当該波形データを波形データ単位で前記第1の記憶手段から読み出して前記第2の記憶手段に転送する第2の転送手段と
をさらに有することを特徴とする請求項1に記載の楽音生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07952399A JP3541718B2 (ja) | 1999-03-24 | 1999-03-24 | 楽音生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07952399A JP3541718B2 (ja) | 1999-03-24 | 1999-03-24 | 楽音生成装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004026140A Division JP3918817B2 (ja) | 2004-02-02 | 2004-02-02 | 楽音生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000276172A JP2000276172A (ja) | 2000-10-06 |
JP3541718B2 true JP3541718B2 (ja) | 2004-07-14 |
Family
ID=13692356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07952399A Expired - Fee Related JP3541718B2 (ja) | 1999-03-24 | 1999-03-24 | 楽音生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3541718B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3642039B2 (ja) | 2001-05-25 | 2005-04-27 | ヤマハ株式会社 | 楽音再生装置および携帯端末装置 |
JP2008015315A (ja) * | 2006-07-07 | 2008-01-24 | Casio Comput Co Ltd | 楽音発生装置および楽音発生処理プログラム |
US7807914B2 (en) * | 2007-03-22 | 2010-10-05 | Qualcomm Incorporated | Waveform fetch unit for processing audio files |
JP6724316B2 (ja) * | 2015-09-07 | 2020-07-15 | カシオ計算機株式会社 | 波形書き込み装置、方法、プログラム、及び電子楽器 |
JP6657693B2 (ja) * | 2015-09-11 | 2020-03-04 | カシオ計算機株式会社 | 波形書き込み装置、方法、プログラム、及び電子楽器 |
JP6443772B2 (ja) | 2017-03-23 | 2018-12-26 | カシオ計算機株式会社 | 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 |
JP6388048B1 (ja) | 2017-03-23 | 2018-09-12 | カシオ計算機株式会社 | 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 |
JP7130185B2 (ja) * | 2018-03-26 | 2022-09-05 | カシオ計算機株式会社 | 電子楽器、電子楽器の制御方法及び制御プログラム |
-
1999
- 1999-03-24 JP JP07952399A patent/JP3541718B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000276172A (ja) | 2000-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5266736A (en) | Interruption control apparatus for use in performance information processing system | |
JPH06308964A (ja) | 楽音形成装置 | |
US6441290B2 (en) | Apparatus and method for reproducing or recording, via buffer memory, sample data supplied from storage device | |
US5831193A (en) | Method and device for forming a tone waveform by combined use of different waveform sample forming resolutions | |
JP3541718B2 (ja) | 楽音生成装置 | |
JP4998046B2 (ja) | 楽音発生装置 | |
US20100147138A1 (en) | Flash memory based stored sample electronic music synthesizer | |
JP2002297142A (ja) | 音色選択装置及び方法 | |
JP3918817B2 (ja) | 楽音生成装置 | |
JPH0922287A (ja) | 楽音波形生成方法 | |
US8383924B2 (en) | Musical tone signal generating apparatus | |
JP2562260B2 (ja) | 電子楽器のアサイナ | |
JP2001109470A (ja) | 自動演奏装置及び方法 | |
JP2901143B2 (ja) | 楽音生成装置 | |
JP3637577B2 (ja) | 楽音生成方法 | |
JPH11282465A (ja) | 波形データ再生装置 | |
JP3000894B2 (ja) | 楽音発生方法 | |
JP3301350B2 (ja) | 楽音発生装置 | |
JP5839156B2 (ja) | 楽音信号発生装置 | |
JP3460524B2 (ja) | 曲データ加工方法、加工後曲データ再生方法および記憶媒体 | |
JP3603638B2 (ja) | 楽音発生方法 | |
JP3603849B2 (ja) | 楽音発生方法 | |
JP3632744B2 (ja) | 音生成方法 | |
JP3050779B2 (ja) | 信号処理装置 | |
JP3275678B2 (ja) | 楽音発生方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040202 |
|
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: 20040309 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040322 |
|
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: 20090409 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090409 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100409 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110409 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120409 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130409 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140409 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |