(57)【特許請求の範囲】
【請求項１】
音色及びキーナンバーで特定される楽音波形のサンプル波形データを記憶している波形記憶手段と、割り当てられた音色及びキーナンバーに基づいて前記波形記憶手段から前記サンプル波形データを取得し、読出サンプリング周期毎に該取得したサンプル波形データに演算処理を施して楽音信号波形データを生成する複数の波形生成チャネルとを備える楽音信号発生装置において、
前記各波形生成チャネルは、Ｍ回（Ｍは複数）の前記読出サンプリング周期に１回の割合で前記波形記憶手段から少なくともＭ回の前記楽音信号波形データの生成に要する前記サンプル波形データ（Ｎ個）を取得して記憶する取得波形記憶手段を有し、前記読出サンプリング周期毎に該取得波形記憶手段から読出される前記サンプル波形データに演算処理を施して前記楽音信号波形データを生成することを特徴とする楽音信号発生装置。
【請求項２】
請求項１記載の楽音信号発生装置において、
各々の前記取得波形記憶手段に記憶されるＮ個の前記サンプル波形データは、そのサンプリング順に連続していることを特徴とする楽音信号発生装置。
【請求項３】
請求項１または２記載の楽音信号発生装置において、
演奏者によって操作される音色設定手段により設定された音色とオン操作されたキーのキーナンバーとに基づいて決まる前記波形記憶手段のアドレスを前記波形生成チャネルのいずれかに割り当てる割当手段を備え、
前記波形生成チャネルは、該割当手段によって割り当てられた前記アドレスから連続するアドレスに記憶されているＮ個の前記サンプル波形データを読出して前記取得波形記憶手段に記憶する
ことを特徴とする楽音信号発生装置。
【請求項４】
請求項１ないし３のいずれか記載の楽音信号発生装置において、
前記波形記憶手段と前記取得波形記憶手段との間に前記各波形生成チャネルで共用するファーストイン・ファーストアウト方式のバッファメモリを備え、
前記取得波形記憶手段は、前記波形記憶手段から読出されて前記バッファメモリに蓄積されていたＮ個の前記サンプル波形データを読み込んで記憶する
ことを特徴とする楽音信号発生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、鍵盤電子楽器の技術分野に属し、詳しくは電子楽器に装備されている楽音信号発生装置に関する。
【０００２】
【従来の技術】
鍵盤電子楽器には、演奏者が選択した音色と演奏者によって操作された鍵（キー）に対応する楽音信号波形データ（デジタル信号）を生成し、これをＤＡＣ、アンプ、スピーカ等で構成される音声出力系に供給する楽音信号発生装置が装備されている。
【０００３】
従来の楽音信号発生装置は例えば図４に示す構成であった。
外部波形メモリは、例えばピアノ、ギター、オルガン等の楽器（すなわち音色）毎に、かつ音高（キーナンバー）毎に異なる楽音波形を、設定されたサンプリングタイミング毎にサンプリングしてデジタルデータにしたサンプル波形データを記憶している。
【０００４】
波形スタートアドレス、Ｆナンバ累算器、エンベロープ発生器、サンプル補間乗数テーブル、ラッチ、加算回路、乗算回路及び加算器等により１つの波形生成チャネルが構成され、そうした波形生成チャネルが複数（通常、３２チャネルまたは６４チャネル）設けられている。
【０００５】
演奏者が選択した音色（例えばピアノ、ギター、オルガン等の楽器に対応）とと演奏者によって操作されたキーオン／オフに関わるキーイベント情報（キーナンバー、ベロシティ等）は、図外のスキャン手段によって検出され、同じく図外のＣＰＵは、波形生成チャネルのいずれかを選択して、その波形生成チャネル（チャネル番号）に音色及びキーイベント情報をリンクさせてアサイメントメモリに書き込む（アサインする）。
【０００６】
アサインされている波形生成チャネルについては、読出サンプリング周期毎に、波形スタートアドレスとＦナンバ累算器で指定されるアドレスのサンプル波形データが読出されてラッチに保持され、ラッチからのデータにはＦナンバ累算器からの補間値によりサンプル補間乗数テーブルから出力される補間乗数が乗算されて加算器に入力される。加算器からのデータには、エンベロープ発生器からのエンベロープデータが乗算されて系列累算器に入力される。
【０００７】
こうして各波形生成チャネルで生成され系列累算器に入力された楽音信号波形データは、系列累算されてＬ、Ｒの音声出力系に供給され、音声出力される。
各波形生成チャネルによるサンプル波形データの読込みのタイミングチャートは図５に例示するようなものであり、読出時の１サンプリング周期の間に必要なサンプル波形データの全てを、１読出サンプリング周期の中で外部波形メモリから読出すという方式である。図示の例では読出サンプリング周期は４４．１ｋＨｚ、チャネル数は６４で１チャネル毎に２つのサンプル波形データを読込む設定である。
【０００８】
なお、図４に破線で囲んで示すように、２サンプルメモリを付加し、これに前回読出したサンプル波形データ（前回データ）を記憶しておき、今回読出したサンプル波形データと前回データの双方を用いて精度の良いサンプルポイント補間値を得ているものもあった。しかし、この前回データを使用する方式にあっても、毎回の読出サンプリング周期毎に、アサインされている全チャネル分の新たなサンプル波形データを読出すことに変わりはない。
【０００９】
これら従来の楽音信号発生装置は、回路をシンプルに構成でき、精度も良く、それなりに効率的であった。
【００１０】
【発明が解決しようとする課題】
ところが、外部波形メモリの市場性（供給量、価格）に問題が存在した。
従来の楽音信号発生装置が使用していた外部波形メモリは、高速でランダムなアクセスが可能なＲＯＭ、ＲＡＭ（Ｄ−ＲＡＭ、Ｓ−ＲＡＭ）、フラッシュメモリ等の高速なランダムアクセスが可能な半導体メモリであったが、近年これらの半導体メモリの容量増加曲線が頭打ちに（従来のような容量増加は見込めなく）なりつつある。
【００１１】
一方、楽音信号発生装置においては、電子楽器のユーザーがよりリアルな音、よりダイナミックレンジの広い音を要求する傾向にあるので、そのような要求に応えるために、より多量の多数のサンプル波形データを必要とし、半導体メモリの容量増加を上回るスピードで外部波形メモリの高容量化が進んでいる。このため、近年の楽音信号発生装置では、外部波形メモリとして、６４メガビットのマスクＲＯＭを複数使用するのが一般的になりつつある。
【００１２】
６４メガビットのマスクＲＯＭを採用する理由はといえば、現在のところビット単価がもっとも安いのがマスクＲＯＭであり、そのマスクＲＯＭの中で一番容量が大きく最先端を行くのが６４メガビットだからである。
しかし、フラッシュメモリの技術進歩が大きく、現在ではフラッシュメモリのビット単価はマスクＲＯＭの２倍以上であるが、将来的にはフラッシュメモリの方が安くなる可能性がある。
【００１３】
また、マスクＲＯＭは内容の書き換えができないためにリサイクルに不適であるが、フラッシュメモリは何度でも書き換え可能なためにリサイクル性に優れているので、環境保護や省資源性を考慮するとフラッシュメモリが広範に採用されると予想される。
【００１４】
ところで、フラッシュメモリには、マスクＲＯＭと同様に中速（１００ｎｓ程度）でランダムアクセス可能なタイプと、高速（５０ｎｓ以下）でアクセス可能な小さなフラッシュメモリ（セル）を多数集合した構造で（セル構造フラッシュメモリ）、セルを指定するのにかなり時間がかかるが（１０μｓ程度）、一旦セルを指定すれば、そのセル内のメモリ内容は前述したタイプの２倍程度高速で読み出せるタイプとの、２タイプある。
【００１５】
本発明は、上記のセル構造フラッシュメモリのように、ランダムアクセスには時間がかかるが、あるセル（またはエリア）が指定された後の連続読出しは非常に高速アクセス可能な半導体メモリもしくはメカニカルな記憶装置を、波形記憶手段（サンプル波形データを記憶するための記憶手段）として利用するのに好適な楽音信号発生装置を提供することを目的としている。
【００１６】
【課題を解決するための手段および発明の効果】
上記課題を解決するための請求項１記載の楽音信号発生装置は、音色及びキーナンバーで特定される楽音波形のサンプル波形データを記憶している波形記憶手段と、割り当てられた音色及びキーナンバーに基づいて前記波形記憶手段から前記サンプル波形データを取得し、読出サンプリング周期毎に該取得したサンプル波形データに演算処理を施して楽音信号波形データを生成する複数の波形生成チャネルとを備える楽音信号発生装置において、前記各波形生成チャネルは、Ｍ回（Ｍは複数）の前記読出サンプリング周期に１回の割合で前記波形記憶手段から少なくともＭ回の前記楽音信号波形データの生成に要する前記サンプル波形データ（Ｎ個）を取得して記憶する取得波形記憶手段を有し、前記読出サンプリング周期毎に該取得波形記憶手段から読出される前記サンプル波形データに演算処理を施して前記楽音信号波形データを生成することを特徴とする。
【００１７】
請求項１記載の楽音信号発生装置の各波形生成チャネルは、Ｍ回（Ｍは複数）の読出サンプリング周期に１回の割合で波形記憶手段から少なくともＭ回の楽音信号波形データの生成に要するサンプル波形データ（Ｎ個）を取得して取得波形記憶手段に記憶する。そして、読出サンプリング周期毎に取得波形記憶手段から読出されるサンプル波形データに演算処理を施して楽音信号波形データを生成する。
【００１８】
すなわち、Ｍ回の読出サンプリング周期分の楽音信号波形データの生成に要するＮ個のサンプル波形データを先読みして記憶しておき、次に波形記憶手段からサンプル波形データを取得するまでの間は、先読みしてあったサンプル波形データを使用して楽音信号波形データを生成するのである。
【００１９】
例えば波形生成チャネルが６４チャネルあるとしてＭ＝６４とすれば、ある読出サンプリング周期には、ある１つの波形生成チャネルがサンプル波形データをＮ個（例えばＮ＝６４×２個）読出して記憶するのである。こうすると、６４読出サンプリング周期で全ての波形生成チャネルが６４読出サンプリング周期分のサンプル波形データを取り込んで記憶できる。
【００２０】
１回の読込みのために１つの波形生成チャネルに与えられる時間は１読出サンプリング周期であり、従来の読込み時間（１読出サンプリング周期を波形生成チャネル数で分割した時間）と比べればきわめて長時間であるから、その時間内に、上述のセル構造フラッシュメモリのようなセル（エリア）の指定に時間がかかるメモリでも、セルを指定して多数のサンプル波形データを読出すことができる。
【００２１】
よって、セル構造フラッシュメモリのように、ランダムアクセスには時間がかかるが、あるセル（エリア）が指定された後の連続読出しは非常に高速アクセス可能な半導体メモリ（もしくはメカニカルな記憶装置）を、波形記憶手段として利用するのに好適である。
【００２２】
なお、１読出サンプリング周期に複数の波形生成チャネル用のサンプル波形データを取り込んで記憶する構成としてもよい。
このように多数のサンプル波形データを先読みしておいて、これを使用して楽音信号波形データを生成するには、先読みしたサンプル波形データが、そのサンプリング順に連続しているのが好ましい。すなわち、請求項２記載のように、請求項１記載の楽音信号発生装置において、各々の前記取得波形記憶手段に記憶されるＮ個の前記サンプル波形データは、そのサンプリング順に連続しているとよい。
【００２３】
そうしたサンプリング順に連続しているサンプル波形データを扱うために好適なものとして、請求項３記載の楽音信号発生装置がある。
請求項３記載の楽音信号発生装置は、請求項１または２記載の楽音信号発生装置において、演奏者によって操作される音色設定手段により設定された音色とオン操作されたキーのキーナンバーとに基づいて決まる前記波形記憶手段のアドレスを前記波形生成チャネルのいずれかに割り当てる割当手段を備え、前記波形生成チャネルは、該割当手段によって割り当てられた前記アドレスから連続するアドレスに記憶されているＮ個の前記サンプル波形データを読出して前記取得波形記憶手段に記憶することを特徴としている。
【００２４】
この楽音信号発生装置では、割当手段は、演奏者によって操作される音色設定手段により設定された音色とオン操作されたキーのキーナンバーとに基づいて決まる波形記憶手段のアドレスを波形生成チャネルのいずれかに割り当て、波形生成チャネルは、割当手段によって割り当てられたアドレスから連続するアドレスに記憶されているＮ個のサンプル波形データを読出して取得波形記憶手段に記憶する。
【００２５】
サンプル波形データを波形記憶手段に記憶させる際に、そのサンプリング順に従ってアドレスを与えておけば、割り当てられたアドレスから連続するアドレスに記憶されているサンプル波形データを読出すことにより、サンプリング順に連続しているサンプル波形データを取得できる。
【００２６】
請求項４記載の楽音信号発生装置は、請求項１ないし３のいずれか記載の楽音信号発生装置において、前記波形記憶手段と前記取得波形記憶手段との間に前記各波形生成チャネルで共用するファーストイン・ファーストアウト方式のバッファメモリを備え、前記取得波形記憶手段は、前記波形記憶手段から読出されて前記バッファメモリに蓄積されていたＮ個の前記サンプル波形データを読み込んで記憶するので、取得波形記憶手段にサンプル波形データを記憶するタイミングを、１読出サンプリング周期の任意の期間に設定できる。
【００２７】
【発明の実施の形態】
次に、本発明の実施例を図面を参照して説明することにより、発明の実施の形態を具体的に説明する。
【００２８】
【実施例１】
図１は、本実施例の楽音信号発生装置１０の構成を説明するブロック図である。なお、この楽音信号発生装置１０は、鍵盤式電子楽器の一部であり、鍵盤式電子楽器には、複数のキーを備える鍵盤、音色を設定するための音色選択スイッチ（音色設定手段）、音色選択スイッチにて設定された音色とオン操作されたキーのキーナンバーとに対応する楽音信号波形データの生成を波形生成チャネルのいずれかに割り当てるアサイン装置（割当手段）等（いずれも図外）を備えている。
【００２９】
図１に示すように、本実施例の楽音信号発生装置１０は、サンプル波形データを格納している外部波形メモリ２０と外部波形メモリ２０から読み込んだサンプル波形データに基づいて楽音信号波形データ（デジタル信号）を生成する波形発生器４０とによって構成される。なお、波形記憶手段に該当する外部波形メモリ２０はＮＡＮＤ型セル構造フラッシュメモリであり、本実施例では東芝製のＴＣ５８Ｖ６４ＦＴを使用している。このＴＣ５８Ｖ６４ＦＴは、セル選択に約１０μｓ、同一セル内の連続アドレス読出しのシリアルリードサイクルは約５０ｎｓである。また、波形発生器４０は１個のＬＳＩとされており、詳細は後述するがそれぞれが１音のサンプル波形を生成する楽音発生チャネルを６４チャネル備えている。
【００３０】
波形発生器４０のアサイメントメモリ４６はＲＡＭであり、各チャネル毎の（６４チャネル分の）アサイメント情報を記憶する。すべての音色及びキーナンバーに対応するアサイメント情報は、アサイン装置のＲＯＭに記憶されており、音色選択スイッチにより設定された音色とオン操作されたキーのキーナンバーとに基づいて、アサイン装置がＲＯＭから読出してアサイメントメモリ４６に書込んだものである。
【００３１】
１チャネル分のアサイメント情報は、キーナンバ、そのオン／オフ情報、波形スタートアドレス、Ｌ側及びＲ側パンニング係数、アタック、ディケイ及びリリースの各エンベロープデータ、ラウドネスデータ等からなり、公知技術に従っている。
【００３２】
波形スタートアドレス４８はレジスタメモリであり、チャネル数分（本実施例では６４個）備わっている。各波形スタートアドレス４８には、アサイメント情報の波形スタートアドレスデータが１個ずつ記憶される。波形スタートアドレス４８の波形スタートアドレスデータ（Ａ０〜Ａ３１、３２ビット）は加算器ＡＤＤ１に送られる。
【００３３】
Ｆナンバ累算器５０も波形スタートアドレス４８と同様にチャネル数分（本実施例では６４個）備わっている。Ｆナンバ累算器５０にはキーナンバに対応するＦナンバ及びキーオン／オフ情報が入力される。Ｆナンバ累算器５０の出力のうちＦナンバの整数部分に相当するＡ０〜Ａ２３の２４ビットは加算器ＡＤＤ１に送られ、波形スタートアドレスデータに加算されて、波形読出アドレスとして外部波形メモリアドレスコントローラ５８に入力され、外部波形メモリアドレスコントローラ５８から外部波形メモリ２０に入力される。なお、外部波形メモリ２０のＩ／Ｏポートが８ビットであるので、実際には８ビットずつ４回に分けて外部波形メモリ２０に入力される。
【００３４】
この波形読出アドレスで指定されるアドレスに格納されているサンプル波形データが、ファーストイン・ファーストアウト方式のバッファメモリであるＦＩＦＯＲＡＭ６０に読み込まれ、蓄積される。ＦＩＦＯＲＡＭ６０はＡ、Ｂ２つの格納領域を持ち、それぞれの格納領域に１２８個のサンプル波形データを記憶できる。なお、ＦＩＦＯＲＡＭ６０のＡ領域とＢ領域の選択は、サイクルステール転送アドレスジェネレータ５７から領域切替信号に従う。サイクルステール転送アドレスジェネレータ５７は一種のカウンタであり、１３ビットの値を０から昇順に繰り返し生成し、０リセットする毎に領域切替信号を出力する。
【００３５】
また、Ｆナンバ累算器５０のＡ０〜Ａ６の７ビットは内部波形メモリアドレスコントローラ５４に送られる。内部波形メモリアドレスコントローラ５４にはサイクルステール転送アドレスジェネレータ５７からの１３ビット信号も入力される。内部波形メモリアドレスコントローラ５４は、Ｆナンバ累算器５０のＡ０〜Ａ６の７ビットとサイクルステール転送アドレスジェネレータ５７からの１３ビットに基づいて、１２８個のサンプル波形データを例えば１個目から１２８個目へと昇順に指示するための７ビットと６４の波形生成チャネルを特定するための６ビットとからなる１３ビット信号を、ＲＡＭであり取得波形記憶手段に該当する内部波形メモリ５６のアドレス指定信号として生成し、出力する。
【００３６】
内部波形メモリ５６は、波形スタートアドレス４８やＦナンバ累算器５０と同様にチャネル数分（本実施例では６４個）備わっており、ＦＩＦＯＲＡＭ６０から読み込んだサンプル波形データを、内部波形メモリアドレスコントローラ５４からのアドレス指定信号にて指定されるアドレスに記憶する。記憶されたサンプル波形データは、定期的に（読出サンプリング周期に従って）ラッチＬ１〜Ｌ４に（各１サンプル波形データが）送られる。
【００３７】
各ラッチＬ１〜Ｌ４の出力側にはそれぞれ乗算器ＭＬＴ１〜ＭＬＴ４が配されており、乗算器ＭＬＴ１〜ＭＬＴ４にはラッチＬ１〜Ｌ４にラッチされている値（サンプル波形データ）とサンプル補間乗数テーブル５２からの補間乗数が入力される。補間乗数は、Ｆナンバ累算器５０から出力されるＦナンバの小数部分に相当するＡ−４〜Ａ−１の４ビットのデータに対応して、サンプル補間乗数テーブル５２で選択された値であり、各乗算器ＭＬＴ１〜ＭＬＴ４にてサンプル波形データに補間乗数を乗算する（補間処理を施す）。
【００３８】
補間処理されたサンプル波形データは加算器６２において加算処理され、加算波形データとして乗算器ＭＬＴ５に送られる。乗算器ＭＬＴ５には、エンベロープ発生器６３からのエンベロープデータが入力され、加算波形データにエンベロープデータが乗算され楽音信号波形データとなる。ここで乗算されるエンベロープデータは、アサイメントメモリ４６からエンベロープ発生器６３に供給されるアタック、ディケイ及びリリースのエンベロープデータに基づいている。
【００３９】
そして、乗算器ＭＬＴ５の出力（楽音信号波形データ）は系列累算回路６４に入力され、ここで全チャネル分（本実施例では６４チャネル分）の楽音信号波形データの累算処理が行われる。累算後のデータは、左出力端子Ｌから左出力系のデジタルアナログコンバータ（Ｄ／Ａ）６６Ｌに送られ、右出力端子Ｒから右出力系のデジタルアナログコンバータ（Ｄ／Ａ）６６Ｒに送られ、それぞれアナログ信号に変換され、図示しないアンプで増幅されて図示しないスピーカから音声出力される。
【００４０】
本実施例の場合、波形スタートアドレス４８、Ｆナンバ累算器５０、内部波形メモリ５６及びエンベロープ発生器６３が、それぞれ６４個備わっており、アサイメントメモリ４６の１チャネル分のアサイメント情報について、波形スタートアドレス４８、Ｆナンバ累算器５０、内部波形メモリ５６及びエンベロープ発生器６３を１個ずつ対応させて１組となし、その各組を１読出サンプリング周期に１回ずつ時分割で動作させる（ただし、内部波形メモリ５６のデータ記憶動作は１読出サンプリング周期に１回ずつではない。）ことにより、１読出サンプリング周期につき６４の楽音信号波形データを生成できる。すなわち、波形生成チャネルが６４チャネル備わっている。
【００４１】
次に、本実施例の楽音信号発生装置１０に特有の、内部波形メモリ５６にサンプル波形データを記憶する動作について、図２を参照して説明する。
上述した６４の波形生成チャネルを時分割動作させる読出サンプリング周期は４４．１ｋＨｚ（１周期＝２２．６７μｓ）であり、これを６４に等分し０〜６３のチャネル演算タイムスロットが設定されている。
【００４２】
外部波形メモリ２０からサンプル波形データを読出すための波形読出タイムスロットは、図示するとおり１読出サンプリング周期の前半１１．３μｓをセル選択時間に充当し、後半をデータ読出時間に充当している。
マスタークロックは２２．５８ＭＨｚである。１読出サンプリング周期がスタートすると、外部波形メモリ２０のセル選択のための波形読出アドレスが、外部波形メモリアドレスコントローラ５８から外部波形メモリ２０に出力される。外部波形メモリ２０のアドレス入力ポートが８ビットであるので、外部波形メモリアドレスコントローラ５８は、波形読出アドレス（３２ビット）を８ビットずつに分けて（Ａ０〜Ａ７、Ａ８〜Ａ１５、Ａ１６〜Ａ２３、Ａ２４〜Ａ３１）、マスタークロックの１周期毎に外部波形メモリ２０に送り出す。各８ビットデータはアドレスラッチクロックにてラッチされ、外部波形メモリ２０に取込まれる。ここまでに要する時間は、マスタークロックの４周期分（１７７ｎｓ）である。
【００４３】
波形読出アドレスにより外部波形メモリ２０のセルが指定され、外部波形メモリ２０内部では、選択されたセルのデータが出力用のレジスタに転送される。本実施例の場合、１セルには、そのセルの先頭アドレスから連続する１２８アドレスに、各１バイトのサンプル波形データが記憶されており、その１２８個のサンプル波形データがレジスタに転送される。前述したとおり外部波形メモリ２０のセル選択に要する時間は約１０μｓであるから、チャネル演算タイムスロットの０〜３１スロットまでの１１．３μｓにて外部波形メモリ２０のセル選択（外部波形メモリ２０内でのデータ転送）が完了する。なお、セル内でのサンプル波形データのアドレス順序は、サンプリング順になっている。つまり、サンプル波形データをアドレス順に読出せば、そのままサンプリング順になる。
【００４４】
３２スロットのスタート時に外部波形メモリ２０に対する波形読出クロックが立ち下がる。波形読出クロックは、以後マスタークロックの２周期毎に立ち下がりを繰り返し、チャネル演算タイムスロットの６３スロットの終了（１読出サンプリング周期の終了、次の読出サンプリング周期のスタート時）にハイレベルに戻る。すなわち、波形読出クロックは、読出サンプリング周期の前半はハイレベルを維持し、後半はマスタークロックの２周期毎に立ち下がる。
【００４５】
そして、波形読出クロックの立ち下がりに起因して、外部波形メモリ２０の出力用のレジスタからセル内の先頭アドレスの８ビットのデータ（すなわち１個のサンプル波形データ）が出力され、ＦＩＦＯＲＡＭ６０に記憶される。そして、続く波形読出クロックの立ち下がり毎に、先頭アドレスから連続するアドレスのサンプル波形データが、１個ずつ読出されてＦＩＦＯＲＡＭ６０に記憶される。こうした動作を繰り返すことにより、読出読出アドレスで選択されたセルからの１２８個のサンプル波形データをＦＩＦＯＲＡＭ６０に記憶することができる。
【００４６】
図示するように、外部波形メモリ２０のシリアルリードタイムは、波形読出クロックの立ち下がりから立ち上がりまでに相当する６６．３ｎｓとなるので、チャネル演算タイムスロットの３２〜６３スロットまでの１１．３μｓの間に、ある１つの波形生成チャネル用の１２８個のサンプル波形データをＦＩＦＯＲＡＭ６０に記憶することができる。
【００４７】
このように外部波形メモリ２０から読出されＦＩＦＯＲＡＭ６０に記憶される１２８個のサンプル波形データは、外部波形メモリ２０の同一セル内の連続するアドレスに記憶されているので、セル選択さえ済めば、外部波形メモリ２０からのデータの読出はきわめて短時間で行うことができる。
【００４８】
ＦＩＦＯＲＡＭ６０に記憶されたサンプル波形データは、次の読出サンプリング周期において、内部波形メモリ５６に送られて記憶される。
前述したとおりＦＩＦＯＲＡＭ６０はＡ、Ｂ２つの記憶領域を持っているので、ある読出サンプリング周期で例えばＡ領域に１２８個のサンプル波形データを蓄積したとすれば、次の読出サンプリング周期では、Ａ領域のサンプル波形データを内部波形メモリ５６に出力し、外部波形メモリ２０からの新たなサンプル波形データはＢ領域に記憶する。そして、その次の読出サンプリング周期では、Ｂ領域から内部波形メモリ５６に出力し、外部波形メモリ２０からのサンプル波形データＡ領域に記憶する。このように、Ａ、Ｂ２つの領域の一方に記憶し、他方から出力するので、１読出サンプリング周期毎に１２８個のサンプル波形データを記憶し、同じく１２８個のサンプル波形データを内部波形メモリ５６に出力できる。
【００４９】
したがって、この楽音信号発生装置１０の波形発生器４０は、初期状態直後の読出サンプリング周期（ＦＩＦＯＲＡＭ６０は空）を除けば、１読出サンプリング周期毎に１つの波形生成チャネル用の１２８個のサンプル波形データを、外部波形メモリ２０から取得して記憶できる。
【００５０】
そして、読出サンプリング周期毎に、各波形生成チャネルでは、それぞれの内部波形メモリ５６に記憶されている１２８個のサンプル波形データの中から連続する４個ずつが読出されて、それぞれラッチＬ１〜Ｌ４に送られ、上述のように補間処理と加算処理が行われる。なお、読出サンプリング周期毎にラッチＬ１〜Ｌ４に送られる４つのサンプル波形データは毎回異なるわけではなく、例えば今回０〜３番の４データとすれば、次回は１〜４番の４データ、その次は２〜５番の４データというように、サンプリング順序（すなわち外部波形メモリ２０内でのアドレス順序）を１ずつシフトした４データとされる。
【００５１】
よって、次のサンプル波形データの取込機会（６４読出サンプリング周期後）までに必要とするサンプル波形データの個数は６４＋３＝６７であるから、１回の取込機会には、最低６７データを取込んで内部波形メモリ５６に記憶すれば足りる。なお、本実施例では４個のサンプル波形データを使用して１つのサンプル波形を生成している（４ポイント方式である）が、２ポイント方式なら６４＋１＝６５データを内部波形メモリ５６に取込めばよいことになる。本実施例のように、１読出サンプリング周期に１２８個のサンプル波形データを内部波形メモリ５６に記憶せずに、必要最低限の数のサンプル波形データを内部波形メモリ５６に記憶させる構成としてもよい。そのようにすれば、データ読出時間を短縮できる。
【００５２】
以上のように、各波形生成チャネルは、６４回の読出サンプリング周期に１回の割合で外部波形メモリ２０から１２８個（６４個の楽音信号波形データの生成に要するサンプル波形データの個数（６７個）を上回っている）を取得して、内部波形メモリ５６に記憶し、読出サンプリング周期毎に内部波形メモリ５６からラッチＬ１〜Ｌ４に出力される４個のサンプル波形データに補間処理（乗算器ＭＬＴ１〜４）、加算処理（加算器６２）及びエンベロープ処理（乗算器ＭＬＴ５）を施して楽音信号波形データを生成するので、ランダムアクセスには時間がかかるが、あるセル（エリア）が指定された後の連続読出しは非常に高速アクセス可能な半導体メモリ（セル構造フラッシュメモリ）を、外部波形メモリ２０として利用するのに好適である。
【００５３】
そして、外部波形メモリ２０のセル内では、サンプリング順に連続しているサンプル波形データを、その順序に従って連続するアドレスに記憶させてあるので、上述の連続的な読出に好適である。
また、連続的に読出されたサンプル波形データを一旦ＦＩＦＯＲＡＭ６０の一方の記憶領域に記憶し、次の読出サンプリング周期で内部波形メモリ５６に記憶するので、内部波形メモリ５６にサンプル波形データを記憶するタイミングを、１読出サンプリング周期の任意の期間に設定できるし、内部波形メモリ５６からラッチＬ１〜Ｌ４への出力のタイミングとのオーバーラップを避けることができる。
【００５４】
【実施例２】
実施例１はセル選択に１０μｓ程度のセル構造フラッシュメモリを使用する例であるが、この実施例２ではセル選択をもっと短時間（例えば３００ｎｓ程度）を要するセル構造のメモリを使用する例である。ハード構成は実施例１と同様であるので図示と説明を省略し、実施例１の符号を引用する。
【００５５】
図３に示すように、この実施例２でも、実施例１と同様に読出サンプリング周期のスタートと同時に外部波形メモリ２０のセルを指定するために、波形読出アドレスが外部波形メモリ２０に送られる。外部波形メモリ２０内でのセル選択（出力用のレジスタにセルのデータを転送）は、３５４ｎｓ（チャネル演算タイムスロット１個分）で完了する。
【００５６】
セル選択が行われたチャネル演算タイムスロット（例えば０スロット）に続くタイムスロット（例えば１スロット）の期間内では、そのスロットのスタート時に外部波形メモリ２０に対する波形読出クロックが立ち下がり、以後マスタークロックの２周期毎に合計４回立ち下がる。そして、実施例１の場合と同様に、
波形読出クロックの立ち下がりに起因して、１個のサンプル波形データが外部波形メモリ２０からＦＩＦＯＲＡＭ６０に送られて記憶される。
【００５７】
このように、チャネル演算タイムスロットの２つのスロットに相当する時間内で４個のサンプル波形データが読出されて、ＦＩＦＯＲＡＭ６０のＡ領域またはＢ領域に記憶される。ＦＩＦＯＲＡＭ６０に記憶されたサンプル波形データは、次の外部波形メモリ２０からのデータ読出が行われる期間（次の２つのタイムスロットに対応する期間）に内部波形メモリ５６に転送され、記憶される。これにより、例えば０〜１スロットでＡ領域に記憶し、続く２〜３スロットではＢ領域への記憶とＡ領域からの送出というように、Ａ、Ｂ領域を交互に使用して、外部波形メモリ２０からの読出と内部波形メモリ５６への記憶を滞りなく実行できる。
【００５８】
この実施例では、１チャネル当たり４サンプル波形データを、１読出サンプリング周期当たり３２チャネル分、外部波形メモリ２０から読み出しできる。したがって、６４チャネルすべてについて４つのサンプル波形データを読出すには、２読出サンプリング周期を要する（各波形生成チャネルがサンプル波形データを獲得するのは２周期に１回となる。）。
【００５９】
このため、本実施例の場合、１つの楽音信号波形データの生成に２つのサンプル波形データを使用する方式（２ポイント方式）を採用している。実施例１で採用している４ポイント方式に比べれば、楽音信号波形データの精度が多少は劣るが、実用上問題はない。
【００６０】
この例のように、セル選択を短時間で行える場合には、１読出サンプリング周期内で複数チャネル分のサンプル波形データを外部波形メモリ２０から読出して記憶する構成とできる。また、本実施例の装置でも実施例１と同様の効果が得られる。
【００６１】
以上、２つの実施例に従って、本発明の実施の形態について説明したが、本発明はこれらの実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲でさまざまに実施できることは言うまでもない。
【図面の簡単な説明】
【図１】  実施例１の楽音信号発生装置の構成を説明するブロック図である。
【図２】  実施例１の楽音信号発生装置におけるサンプル波形データ読出のタイムチャートである。
【図３】  実施例２の楽音信号発生装置におけるサンプル波形データ読出のタイムチャートである。
【図４】  従来例の楽音信号発生装置の構成を説明するブロック図である。
【図５】  従来例の楽音信号発生装置におけるサンプル波形データ読出のタイムチャートである。
【符号の説明】
１０…楽音信号発生装置
２０…外部波形メモリ（波形記憶手段）
４０…波形発生器
４６…アサイメントメモリ
４８…波形スタートアドレス
５０…Ｆナンバ累算器
５２…サンプル補間乗数テーブル
５４…内部波形メモリアドレスコントローラ
５６…内部波形メモリ（取得波形記憶手段）
５７…サイクルステール転送アドレスジェネレータ
５８…外部波形メモリアドレスコントローラ
６０…ＦＩＦＯＲＡＭ（バッファメモリ）
６２…加算器
６３…エンベロープ発生器
６４…系列累算回路
【図１】
0004070347.tif 000002
【図２】
0004070347.tif 000003
【図３】
0004070347.tif 000004
【図４】
0004070347.tif 000005
【図５】
0004070347.tif 000006