(57)【要約】  不揮発性メモリバンクに楽音データ群を圧縮せずに多重化して記録しておく。データ読み出し部は、アクセスモジュールからの読み出し指示に従って前記複数の不揮発性メモリバンクから並列的に楽音データを読み出す。どの音高の楽音データの読み出し指示がなされるか予想のつかない楽音生成システムにおいて、複数のデータの読み出しの際に複数の不揮発性メモリバンクから並列的に読み出すことができるため、発音遅延時間を許容時間内にすることができる。そのため、現在主流である大容量の多値ＮＡＮＤフラッシュメモリを楽音データ用のメモリとして使用して高音質かつ小型の楽音生成システムを実現することができる。
2009125541.tif 000002
【特許請求の範囲】
【請求項１】
外部からの読み出し指示に応じてデータの読み出しを行う不揮発性記憶モジュールであって、
夫々同一の楽音データを記録した複数の不揮発性メモリバンクと、
外部からの１つの読み出し指示に応じて前記いずれかの不揮発性メモリバンクからデータの読み出しを行い、当該読み出しを完了する前に、他の読み出し指示があったときに該読み出し中の不揮発性メモリバンクと異なる不揮発性メモリバンクから読み出しを並行して行うデータ読み出し部と、を具備する不揮発性記憶モジュール。
【請求項２】
外部からのアクセス指示に応じてデータの読み出しや書き込みを行う不揮発性記憶モジュールであって、
夫々同一の楽音データを記録する複数の不揮発性メモリバンクと、
外部からの１つの読み出し指示に応じて前記いずれかの不揮発性メモリバンクからデータの読み出しを行い、当該読み出しを完了する前に、他の読み出し指示があったときに該読み出し中の不揮発性メモリバンクと異なる不揮発性メモリバンクから読み出しを並行して行い、前記不揮発性メモリバンクの構成を示すメモリ構成情報を読み出すと共に、前記不揮発性メモリバンクに楽音データを多重化して書き込むデータ読み書き部と、を具備する不揮発性記憶モジュール。
【請求項３】
前記不揮発性メモリバンクは、
多重化した楽音データに加えて、オーディオデータ、演奏データ、画像データ、及びテキストデータのうち少なくとも１つと、前記不揮発性メモリバンクの構成を示すメモリ構成情報とを記録するものであり、
前記データ読み書き部は、
楽音データを多重化して書き込むと共に、オーディオデータ、演奏データ、画像データ、及びテキストデータのうち少なくとも１つを書き込むものである請求項２記載の不揮発性記憶モジュール。
【請求項４】
前記不揮発性メモリバンクは、
前記不揮発性メモリバンクの構成を示すメモリ構成情報及び読み出し性能情報を保持する請求項１記載の不揮発性記憶モジュール。
【請求項５】
前記不揮発性メモリバンクは、
前記不揮発性メモリバンクの構成を示すメモリ構成情報及び読み出し性能情報を保持する請求項２記載の不揮発性記憶モジュール。
【請求項６】
不揮発性記憶モジュールに読み出し指示を行うアクセスモジュールであって、
前記不揮発性記憶モジュールは、
夫々同一の楽音データを記録した複数の不揮発性メモリバンクと、
外部からの１つの読み出し指示に応じて前記いずれかの不揮発性メモリバンクからデータの読み出しを行い、当該読み出しを完了する前に、他の読み出し指示があったときに該読み出し中の不揮発性メモリバンクと異なる不揮発性メモリバンクから読み出しを並行して行うデータ読み出し部と、を具備するものであり、
前記アクセスモジュールは、
前記不揮発性記憶モジュールから読み出した楽音データに基づき、時分割多重処理により１サンプリング周期毎に複数チャンネル分の楽音生成処理を行う信号処理部を具備するアクセスモジュール。
【請求項７】
不揮発性記憶モジュールに書き込み、及び読み出し指示を行うアクセスモジュールであって、
前記不揮発性記憶モジュールは、
夫々同一の楽音データを記録した複数の不揮発性メモリバンクと、
前記不揮発性メモリバンクの構成を示すメモリ構成情報を保持するメモリと、
外部からの１つの読み出し指示に応じて前記いずれかの不揮発性メモリバンクからデータの読み出しを行い、当該読み出しを完了する前に、他の読み出し指示があったときに該読み出し中の不揮発性メモリバンクと異なる不揮発性メモリバンクから読み出しを並行して行い、前記不揮発性メモリバンクの構成を示すメモリ構成情報を読み出すと共に、前記不揮発性メモリバンクに楽音データを多重化して書き込むデータ読み書き部と、を具備するものであり、
前記アクセスモジュールは、
前記不揮発性メモリに保持される楽音データをファイルとして管理するファイルシステム部と、
前記不揮発性記憶モジュールから読み出した楽音データに基づき、時分割多重処理により１サンプリング周期毎に複数チャンネル分の楽音生成処理を行う信号処理部と、を具備するアクセスモジュール。
【請求項８】
不揮発性記憶モジュールに読み出し指示を行うアクセスモジュールであって、
前記不揮発性記憶モジュールは、
夫々同一の楽音データを記録する複数の不揮発性メモリバンクと、
外部からの１つの読み出し指示に応じて前記いずれかの不揮発性メモリバンクからデータの読み出しを行い、当該読み出しを完了する前に、他の読み出し指示があったときに該読み出し中の不揮発性メモリバンクと異なる不揮発性メモリバンクから読み出しを並行して行い、前記不揮発性メモリバンクの構成を示すメモリ構成情報を読み出すと共に、前記不揮発性メモリバンクに楽音データを多重化して書き込むデータ読み書き部と、を具備するものであり、
前記アクセスモジュールは、
前記不揮発性記憶モジュールから取得した読み出し性能情報及び記録データ特性情報に基づき、発音遅延時間が所定時間以下となるように発音チャンネル数を決定する発音チャンネル数決定部を具備し、
決定した発音チャンネル数の範囲内で前記不揮発性記憶モジュールに読み出し指示を行うアクセスモジュール。
【請求項９】
複数の不揮発性メモリバンクを含む不揮発性記憶モジュールに楽音データファイルを生成する楽音データファイル生成モジュールであって、
データ記憶モジュールに録音された音素材ファイル群を楽音データファイルに編集するファイル編集部と、
前記楽音データを前記不揮発性記憶モジュールから通知された前記メモリ構成情報に基づいて多重化する多重化部と、
前記不揮発性記憶モジュールにおいて少なくとも２以上の前記不揮発性メモリバンクに、前記多重化部によって多重化された楽音データを楽音データファイルとして前記不揮発性記憶モジュールに書き込むファイルシステム部と、を具備する楽音データファイル生成モジュール。
【請求項１０】
アクセスモジュールと、前記アクセスモジュールからの読み書き指示に応じてデータの読み出しや書き込みを行う不揮発性記憶モジュールと、を具備する楽音生成システムであって、
前記不揮発性記憶モジュールは、
夫々同一の楽音データを記録した複数の不揮発性メモリバンクと、
外部からの１つの読み出し指示に応じて前記いずれかの不揮発性メモリバンクからデータの読み出しを行い、当該読み出しを完了する前に、他の読み出し指示があったときに該読み出し中の不揮発性メモリバンクと異なる不揮発性メモリバンクから読み出しを並行して行い、前記不揮発性メモリバンクの構成を示すメモリ構成情報を読み出すと共に、前記不揮発性メモリバンクに楽音データを多重化して書き込むデータ読み書き部と、を備え、
前記アクセスモジュールは、
楽音データを前記不揮発性記憶モジュールから読み出した前記メモリ構成情報に基づいて多重化する多重化部と、
前記多重化部によって多重化された同一の楽音データファイルを、前記不揮発性記憶モジュールの少なくとも２以上の前記不揮発性メモリバンクに書き込み、前記楽音データファイルを読み出すファイルシステム部と、
前記不揮発性記憶モジュールから読み出した楽音データに基づき、時分割多重処理により１サンプリング周期毎に複数チャンネル分の楽音生成処理を行う信号処理部と、を具備する楽音生成システム。
【請求項１１】
前記アクセスモジュールは、
データ記憶モジュールに記憶された音素材ファイル群を１つの楽音データファイルに編集するファイル編集部を更に有する請求項１０記載の楽音生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリカードなどに楽器音などの楽音データを記憶する不揮発性記憶モジュール、前記不揮発性記憶モジュールから楽音データを読み出し、該楽音データに信号処理を施すことにより楽音を生成するアクセスモジュール、及び前記不揮発性記憶モジュールにアクセスモジュールを構成要件として加えた楽音生成システム、及び音素材ファイル群を楽音データファイルとして生成する楽音データファイル生成モジュールに関する。
【背景技術】
【０００２】
書き換え可能な不揮発性メモリを備える不揮発性記憶モジュールは、着脱型の記憶装置として半導体メモリカードを中心にその需要が広まっている。半導体メモリカードは、光ディスクやテープメディアなどと比較して非常に高価格なものではあるが、小型・軽量・耐震性・取り扱いの簡便さなどのメリットにより、デジタルスチルカメラや携帯電話などのポータブル機器の記録媒体としてその需要が広まっている。【０００３】
この半導体メモリカードは、不揮発性の主記憶メモリとしてフラッシュメモリを備え、それを制御するデータ読み出し部を有している。データ読み出し部は、デジタルスチルカメラなどのアクセスモジュールからの読み書き指示に応じて、フラッシュメモリに対する読み書き制御を行う。また非着脱型の不揮発性記憶モジュールとして、デジタルスチルカメラやポータブルオーディオ機器本体内に組み込まれたもの、あるいはハードディスクの代替として、パーソナルコンピュータに組み込まれたものもある。【０００４】
フラッシュメモリは、メモリセルアレイと、メモリセルアレイから読み出したデータを一時的に保持するため、あるいは外部から書き込まれたデータを一時的に保持するためのＩ／Ｏレジスタ（ＲＡＭ）などから構成される。フラッシュメモリはメモリセルアレイを構成するメモリセルへの書き込みや消去に比較的長い時間を必要とするため、複数のメモリセルを一括して消去したり書き込んだりできる構造となっている。具体的には、フラッシュメモリは複数の物理ブロックから構成され、各物理ブロックは複数のページを含む。データの消去は物理ブロック単位で、書き込みはページ単位で行われる。【０００５】
さて、電子楽器などの楽音データをＲＯＭに保持した楽音生成システムがある。楽音生成システムは、鍵盤などの打鍵操作に応じて楽器の音（以下、楽音という）を生成するシステムである。楽音生成システムは通常３２チャンネル以上の発音チャンネルを有しており、例えば打鍵された順に発音チャンネルを割り当てて楽音を生成する。このシステムではランダムな打鍵操作に対応して楽音を生成しなければならないので、ランダム読み出し速度の速いマスクＲＯＭが楽音データ用のＲＯＭとして使われている。【０００６】
特許文献１によれば、フラッシュメモリの技術進歩に伴い、マスクＲＯＭのビット単価よりもフラッシュメモリのビット単価が下がることが予測されている。マスクＲＯＭよりもランダム読み出し速度の遅いフラッシュメモリを楽音データ用のＲＯＭとして利用することによりシステムコストを合理化する技術が開示されている。【０００７】
その予測通り、フラッシュメモリは大容量化と低コスト化への要望に対応し、多値化とプロセスシュリンクによりギガビットクラスの多値ＮＡＮＤフラッシュメモリが主流となってきた。それによりフラッシュメモリはビット単価がマスクＲＯＭよりも遙かに安価になるとともに、単位面積当たりの容量もマスクＲＯＭよりも遙かに大容量となり、システムの低価格化と小型化の可能性がますます高まっている。【０００８】
尚、特許文献１の実施例で用いられた２値ＮＡＮＤフラッシュメモリ（品番：ＴＣ５８Ｖ６４ＦＴ）は、容量が６４Ｍｂｉｔ、メモリセルアレイからＩ／Ｏレジスタへアクセスしてデータを読み出すリードタイム（以下、ＴＲという）は７μ秒と、２値ＮＡＮＤフラッシュメモリの中でも小容量かつ高速である旧式タイプのフラッシュメモリである。
【特許文献１】特開２０００−２８４７８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ここで高音質を維持するため、ピアノ等の楽器音をデジタル録音した楽音データを非圧縮でマスクＲＯＭやＮＡＮＤフラッシュメモリに記憶した高音質の楽音生成システムについて検討する。この場合には、例えばサンプリング周波数を４４．１ｋＨｚ、１つの鍵盤あたりの発音時間を４０秒、楽音データ１サンプルあたりの語長を２Ｂｙｔｅ、ピアノの総鍵盤数を８８鍵盤とし、最も強く打鍵したときと最も弱く打鍵したときの２タッチを記録する場合には、式（１）に示すように約６２１ＭＢｙｔｅの容量が必要となる。
４４．１×４０×２×２×８８≒６２１ＭＢｙｔｅ  ・・・（１）【００１０】
従って前述した容量６４Ｍｂｉｔの２値ＮＡＮＤフラッシュメモリを使用した場合、式（２）に示すように約７８個のＮＡＮＤフラッシュメモリを実装する必要がある。
６２１ＭＢｙｔｅ÷６４Ｍｂｉｔ≒７８個  ・・・（２）
従って楽音生成システムを小型化することが困難となる。【００１１】
一方、現在主流であるギガビットクラスの多値ＮＡＮＤフラッシュメモリを使用した場合は、多値ＮＡＮＤフラッシュメモリを１個〜数個程度実装するたけで、６２１ＭＢｙｔｅ分の楽音データを圧縮することなく記憶することができる。【００１２】
しかしながら、多値ＮＡＮＤフラッシュメモリは、大容量データを一度に読み書きする速度を高めるためにページサイズを拡張したこと、及び多値化したことにより、リードタイムＴＲが５０μ秒と桁違いに長くなった。楽音生成システムでは、通常３２チャンネルを同時に発音することが要求される。しかし３２チャンネル目の楽音を生成しようとすると、式（３）に示すように発音遅延時間は少なくとも１．６ｍ秒となる。
発音遅延時間＝５０μ秒×３２＝１．６ｍ秒  ・・・（３）
尚、発音遅延時間とは、打鍵操作〜発音開始までの時間であり、その許容範囲は一般的に１ｍ秒以内とされている。これが１ｍ秒を超えてしまうと演奏上違和感をきたし、楽音生成システムとして成り立たない。【００１３】
そこで、本発明は、現在主流である大容量の多値ＮＡＮＤフラッシュメモリなどのメモリを楽音データ用のメモリとして使用した場合においても、高音質かつ小型の楽音生成システムを実現することができる不揮発性記憶モジュール、アクセスモジュール、楽音生成システムを提供することを目的とする。また、簡単に音色の更新ができるようにしたり、あるいは高音質かつ小型の自動伴奏付き電子楽器やカラオケ装置に応用できるようにすること、及びデータ記憶モジュールに録音された音素材ファイル群に基づき楽音データファイルを生成する楽音データファイル生成モジュールを提供することを目的とする。
【課題を解決するための手段】
【００１４】
この課題を解決するために、本発明の不揮発性記憶モジュールは、外部からの読み出し指示に応じてデータの読み出しを行う不揮発性記憶モジュールであって、夫々同一の楽音データを記録した複数の不揮発性メモリバンクと、外部からの１つの読み出し指示に応じて前記いずれかの不揮発性メモリバンクからデータの読み出しを行い、当該読み出しを完了する前に、他の読み出し指示があったときに該読み出し中の不揮発性メモリバンクと異なる不揮発性メモリバンクから読み出しを並行して行うデータ読み出し部と、を具備するものである。【００１５】
この課題を解決するために、本発明の不揮発性記憶モジュールは、外部からのアクセス指示に応じてデータの読み出しや書き込みを行う不揮発性記憶モジュールであって、夫々同一の楽音データを記録する複数の不揮発性メモリバンクと、外部からの１つの読み出し指示に応じて前記いずれかの不揮発性メモリバンクからデータの読み出しを行い、当該読み出しを完了する前に、他の読み出し指示があったときに該読み出し中の不揮発性メモリバンクと異なる不揮発性メモリバンクから読み出しを並行して行い、前記不揮発性メモリバンクの構成を示すメモリ構成情報を読み出すと共に、前記不揮発性メモリバンクに楽音データを多重化して書き込むデータ読み書き部と、を具備するものである。【００１６】
ここで前記不揮発性メモリバンクは、多重化した楽音データに加えて、オーディオデータ、演奏データ、画像データ、及びテキストデータのうち少なくとも１つと、前記不揮発性メモリバンクの構成を示すメモリ構成情報とを記録するものであり、前記データ読み書き部は、楽音データを多重化して書き込むと共に、オーディオデータ、演奏データ、画像データ、及びテキストデータのうち少なくとも１つを書き込むものとしてもよい。【００１７】
ここで前記不揮発性メモリバンクは、前記不揮発性メモリバンクの構成を示すメモリ構成情報及び読み出し性能情報を保持するようにしてもよい。【００１８】
ここで前記不揮発性メモリバンクは、前記不揮発性メモリバンクの構成を示すメモリ構成情報及び読み出し性能情報を保持するようにしてもよい。【００１９】
この課題を解決するために、本発明のアクセスモジュールは、不揮発性記憶モジュールに読み出し指示を行うアクセスモジュールであって、前記不揮発性記憶モジュールは、夫々同一の楽音データを記録した複数の不揮発性メモリバンクと、外部からの１つの読み出し指示に応じて前記いずれかの不揮発性メモリバンクからデータの読み出しを行い、当該読み出しを完了する前に、他の読み出し指示があったときに該読み出し中の不揮発性メモリバンクと異なる不揮発性メモリバンクから読み出しを並行して行うデータ読み出し部と、を具備するものであり、前記アクセスモジュールは、前記不揮発性記憶モジュールから読み出した楽音データに基づき、時分割多重処理により１サンプリング周期毎に複数チャンネル分の楽音生成処理を行う信号処理部を具備するものである。【００２０】
この課題を解決するために、本発明のアクセスモジュールは、不揮発性記憶モジュールに書き込み、及び読み出し指示を行うアクセスモジュールであって、前記不揮発性記憶モジュールは、夫々同一の楽音データを記録した複数の不揮発性メモリバンクと、前記不揮発性メモリバンクの構成を示すメモリ構成情報を保持するメモリと、外部からの１つの読み出し指示に応じて前記いずれかの不揮発性メモリバンクからデータの読み出しを行い、当該読み出しを完了する前に、他の読み出し指示があったときに該読み出し中の不揮発性メモリバンクと異なる不揮発性メモリバンクから読み出しを並行して行い、前記不揮発性メモリバンクの構成を示すメモリ構成情報を読み出すと共に、前記不揮発性メモリバンクに楽音データを多重化して書き込むデータ読み書き部と、を具備するものであり、前記アクセスモジュールは、前記不揮発性メモリに保持される楽音データをファイルとして管理するファイルシステム部と、前記不揮発性記憶モジュールから読み出した楽音データに基づき、時分割多重処理により１サンプリング周期毎に複数チャンネル分の楽音生成処理を行う信号処理部と、を具備するものである【００２１】
この課題を解決するために、本発明のアクセスモジュールは、不揮発性記憶モジュールに読み出し指示を行うアクセスモジュールであって、前記不揮発性記憶モジュールは、夫々同一の楽音データを記録する複数の不揮発性メモリバンクと、外部からの１つの読み出し指示に応じて前記いずれかの不揮発性メモリバンクからデータの読み出しを行い、当該読み出しを完了する前に、他の読み出し指示があったときに該読み出し中の不揮発性メモリバンクと異なる不揮発性メモリバンクから読み出しを並行して行い、前記不揮発性メモリバンクの構成を示すメモリ構成情報を読み出すと共に、前記不揮発性メモリバンクに楽音データを多重化して書き込むデータ読み書き部と、を具備するものであり、前記アクセスモジュールは、前記不揮発性記憶モジュールから取得した読み出し性能情報及び記録データ特性情報に基づき、発音遅延時間が所定時間以下となるように発音チャンネル数を決定する発音チャンネル数決定部を具備し、決定した発音チャンネル数の範囲内で前記不揮発性記憶モジュールに読み出し指示を行うものである。【００２２】
この課題を解決するために、本発明の楽音データファイル生成モジュールは、複数の不揮発性メモリバンクを含む不揮発性記憶モジュールに楽音データファイルを生成する楽音データファイル生成モジュールであって、データ記憶モジュールに録音された音素材ファイル群を楽音データファイルに編集するファイル編集部と、前記楽音データを前記不揮発性記憶モジュールから通知された前記メモリ構成情報に基づいて多重化する多重化部と、前記不揮発性記憶モジュールにおいて少なくとも２以上の前記不揮発性メモリバンクに、前記多重化部によって多重化された楽音データを楽音データファイルとして前記不揮発性記憶モジュールに書き込むファイルシステム部と、を具備するものである。【００２３】
この課題を解決するために、本発明の楽音生成システムは、アクセスモジュールと、前記アクセスモジュールからの読み書き指示に応じてデータの読み出しや書き込みを行う不揮発性記憶モジュールと、を具備する楽音生成システムであって、前記不揮発性記憶モジュールは、夫々同一の楽音データを記録した複数の不揮発性メモリバンクと、外部からの１つの読み出し指示に応じて前記いずれかの不揮発性メモリバンクからデータの読み出しを行い、当該読み出しを完了する前に、他の読み出し指示があったときに該読み出し中の不揮発性メモリバンクと異なる不揮発性メモリバンクから読み出しを並行して行い、前記不揮発性メモリバンクの構成を示すメモリ構成情報を読み出すと共に、前記不揮発性メモリバンクに楽音データを多重化して書き込むデータ読み書き部と、を備え、前記アクセスモジュールは、楽音データを前記不揮発性記憶モジュールから読み出した前記メモリ構成情報に基づいて多重化する多重化部と、前記多重化部によって多重化された同一の楽音データファイルを、前記不揮発性記憶モジュールの少なくとも２以上の前記不揮発性メモリバンクに書き込み、前記楽音データファイルを読み出すファイルシステム部と、前記不揮発性記憶モジュールから読み出した楽音データに基づき、時分割多重処理により１サンプリング周期毎に複数チャンネル分の楽音生成処理を行う信号処理部と、を具備するものである。【００２４】
ここで前記アクセスモジュールは、データ記憶モジュールに記憶された音素材ファイル群を１つの楽音データファイルに編集するファイル編集部を更に有するようにしてもよい。
【発明の効果】
【００２５】
本発明によれば、不揮発性メモリバンクに楽音データを圧縮することなく多重化して記録しておき、データ読み出し部が、アクセスモジュールからの読み出し指示に従って前記複数の不揮発性メモリバンクから並列的に楽音データを読み出せるようにしている。このため楽音生成システムのような、どの音高の楽音データの読み出し指示がなされるか予想のつかないシステムにおいて、複数のデータの読み出しの際に複数の不揮発性メモリバンクから並列的に読み出すことができ、発音遅延時間をその許容時間よりも短くすることが可能となる。従って、現在主流である大容量の多値ＮＡＮＤフラッシュメモリを楽音データ用のメモリとして使用した場合においても、低価格かつ小型の楽音生成システムを実現することが可能となる。【００２６】
また本発明によれば、不揮発性メモリバンクに楽音データを圧縮することなく多重化して記録しておき、データ読み書き部が、アクセスモジュールからの読み出し指示に従って前記複数の不揮発性メモリバンクから並列的に楽音データを読み出せるようにしており、同様の効果が得られる。【００２７】
また、アクセスモジュールにファイルシステム部を備えることにより楽音データをファイルとして管理できるので、インターネットなどからダウンロードした楽音データを不揮発性記憶モジュールに書き込むことにより簡単に音色の更新ができる。【００２８】
更に書き込みモジュールによって楽音データをファイルとして多重化して書き込むようにすれば、インターネットなどからダウンロードした楽音データを不揮発性記憶モジュールに書き込むことにより簡単に音色の更新ができる。【００２９】
また、ファイルシステム部が、楽音データを論理アドレス空間上で多重化して管理し、オーディオデータ、画像データ、及びテキストデータを保持すればオーディオデータを伴奏音とした電子楽器や、カラオケ装置のような背景画像や歌詞を表示しながら楽音データによる伴奏用音楽を生成することのできるシステムにも応用することが可能となる。【００３０】
また、アクセスモジュールにファイルシステム部を備えることにより楽音データをファイルとして管理できるので、ユーザが録音した音素材ファイル群を１つの楽音データに編集し、更に多重化部が該楽音データを多重化し、ファイルシステム部が前記多重化された楽音データを楽音データファイルとして前記不揮発性記憶モジュールに書き込むようにすれば、リニアＰＣＭレコーダのようなデータ記憶モジュールに録音された音素材ファイル群に基づき楽音データファイルを生成することができる。またユーザが録音した音素材データを不揮発性記憶モジュールに書き込むことにより簡単に音色の更新ができる。【００３１】
また、不揮発性記憶モジュールから取得した読み出し性能情報及び記録データ特性情報に基づいてアクセスモジュールの発音チャンネル数決定部が、発音遅延時間が所定時間以下になるように発音チャンネル数を決定することにより、不揮発性記憶モジュールの読み出し性能に関わらず高音質かつ小型の楽音生成システムを実現することが可能となる。
【図面の簡単な説明】
【００３２】
【図１Ａ】図１Ａは本発明の第１の実施の形態による楽音生成システムの不揮発性記憶モジュールを示すブロック図である。
【図１Ｂ】図１Ｂは本発明の第１の実施の形態による楽音生成システムのアクセスモジュールを示すブロック図である。
【図２】図２は不揮発性メモリバンク１１０〜１１３内の構造とＬＳＮとの関係を説明した説明図である。
【図３】図３はページ内の記録フォーマットをＰＢ０のＰ０を例に説明した図である。
【図４】図４はＬＳＮと物理アドレスの対応関係を示すビットフォーマットである。
【図５】図５は本実施の形態のホストインターフェイス内のレジスタ１２１ａを示すメモリマップである。
【図６】図６はバッファ部１２２の構成を示すブロック図である。
【図７】図７は本実施の形態の楽音データバッファ２３１を示すブロック図である。
【図８Ａ】図８Ａはチャンネルアサインテーブル２３２を示す説明図である。
【図８Ｂ】図８Ｂはチャンネルアサインテーブル２３２を示す説明図である。
【図８Ｃ】図８Ｃはチャンネルアサインテーブル２３２を示す説明図である。
【図９】図９はＮＮテーブル２３３Ａを示す説明図である。
【図１０】図１０は楽音データ１サンプルを示すビットフォーマットである。
【図１１】図１１は不揮発性記憶モジュール１００に記憶されているピアノの楽音データの特性情報を示す説明図である。
【図１２】図１２は不揮発性記憶モジュール１００のメモリ構成情報を示す説明図である。
【図１３Ａ】図１３ＡはＣＰＵ部１２４の通常処理を示すフローチャートである。
【図１３Ｂ】図１３ＢはＣＰＵ部１２４の割り込み処理を示すフローチャートである。
【図１４Ａ】図１４ＡはＣＰＵ部２３０の通常処理を示すフローチャートである。
【図１４Ｂ】図１４ＢはＣＰＵ部２３０の割り込み処理を示すフローチャートである。
【図１５】図１５はアクセスモジュール２００から不揮発性記憶モジュール１００に対する読み出し指示情報を示すビットフォーマットである。
【図１６】図１６はマスターキーボードから転送される演奏データを示すビットフォーマットである。
【図１７】図１７は不揮発性記憶モジュール１００から外部バス上に読み出された際の楽音データを示すビットフォーマットである。
【図１８】図１８は信号処理部２２０の処理を示すフローチャートである。
【図１９】図１９はＰＤが値０の時の打鍵後のＬＤの時間変化を示すグラフである。
【図２０】図２０はＰＤが値１の時の打鍵後のＬＤの時間変化を示すグラフである。
【図２１】図２１は１サンプリング周期あたりの信号処理を示すタイムスロット図である。
【図２２Ａ】図２２Ａはホストインターフェイス１２１の処理を示すフローチャートである。
【図２２Ｂ】図２２Ｂはホストインターフェイス１２１の割り込み処理を示すフローチャートである。
【図２３】図２３はデータ読み出し部１２０が不揮発性メモリバンクに発行するリードコマンドのタイムチャートである。
【図２４Ａ】図２４Ａは本発明の第1の実施の形態における楽音生成システムのタイムチャートである。
【図２４Ｂ】図２４Ｂは本発明の第1の実施の形態における楽音生成システムのタイムチャートである。
【図２４Ｃ】図２４Ｃは本発明の第1の実施の形態における楽音生成システムのタイムチャートである。
【図２５】図２５は本発明の第２の実施の形態における楽音生成システムの不揮発性記憶モジュールを示すブロック図である。
【図２６Ａ】本発明の第３の実施の形態による楽音生成システムの不揮発性記憶モジュールを示すブロック図である。
【図２６Ｂ】本発明の第３の実施の形態による楽音生成システムのアクセスモジュールを示すブロック図である。
【図２７Ａ】論理アドレスとＬＳＮとの関係を説明した説明図である。
【図２７Ｂ】不揮発性メモリバンク１１０〜１１３内の構造とＬＳＮとの関係を説明した説明図である。
【図２８】ページ内の記録フォーマットをＰＢ０のＰ０を例に説明した図である。
【図２９】ＬＳＮとＰＳＮ（物理セクタ番号）の対応関係を示すビットフォーマットである。
【図３０】本実施の形態のホストインターフェイス内のレジスタ１５１ａを示すメモリマップである。
【図３１】バッファ部１５２の構成を示すブロック図である。
【図３２】ＮＮテーブル２３３Ｃを示す説明図である。
【図３３Ａ】アクセスモジュール２００Ｃから不揮発性記憶モジュール１００Ｃに対する読み出し指示情報を示すビットフォーマットである。
【図３３Ｂ】メモリ構成情報の読み出し指示情報を示すビットフォーマットである。
【図３４】アクセスモジュール２００Ｃの楽音データ書き込み処理を示すフローチャートである。
【図３５】インターネット３１０から取得した楽音データのファイルアロケーションを示す説明図である。
【図３６Ａ】楽音データの書き込み前における不揮発性メモリバンク１１０〜１１３の記憶状態を表す説明図である。
【図３６Ｂ】楽音データの書き込み後における不揮発性メモリバンク１１０〜１１３の記憶状態を表す説明図である。
【図３７】楽音データの書き込み指示情報を示すビットマップである。
【図３８】本発明の第４の実施の形態におけるデータ書き込みシステムの書き込みモジュールを示すブロック図である。
【図３９Ａ】本発明の第５の実施の形態による楽音生成システムの不揮発性記憶モジュールを示すブロック図である。
【図３９Ｂ】本発明の第５の実施の形態による楽音生成システムのアクセスモジュールを示すブロック図である。
【図４０Ａ】ＣＰＵ部１５４の通常処理を示すフローチャートである。
【図４０Ｂ】ＣＰＵ部１５４の割り込み処理を示すフローチャートである。
【図４０Ｃ】ＣＰＵ部１５４の割り込み処理を示すフローチャートである。
【図４１Ａ】ＣＰＵ部２３０Ｅの通常処理を示すフローチャートである。
【図４１Ｂ】ＣＰＵ部２３０Ｅの割り込み処理を示すフローチャートである。
【図４２Ａ】アクセスモジュール２００Ａから不揮発性記憶モジュール１００Ｅに対する読み出し指示情報を示すビットフォーマットである。
【図４２Ｂ】楽音データの読み出し指示情報を示すビットフォーマット
【図４２Ｃ】オーディオデータ等の読み出し指示情報を示すビットフォーマットである。
【図４３Ａ】ホストインターフェイス１５１Ｅの処理を示すフローチャートである。
【図４３Ｂ】ホストインターフェイス１５１Ｅの割り込み処理を示すフローチャートである。
【図４４】アクセスモジュール２００Ｅの楽音データ書き込み処理を示すフローチャートである。
【図４５】インターネット３１０から取得した楽音データのファイルアロケーションを示す説明図である。
【図４６Ａ】楽音データの書き込み前における不揮発性メモリバンク１１０〜１１３の記憶状態を表す説明図である。
【図４６Ｂ】楽音データの書き込み後における不揮発性メモリバンク１１０〜１１３の記憶状態を表す説明図である。
【図４７】楽音データの書き込み指示情報を示すビットマップである。
【図４８】本発明の第６の実施の形態における楽音生成システムのアクセスモジュール２００Ｆを示すブロック図である。
【図４９】アクセスモジュール２００Ｆの楽音データやカラオケデータセットの書き込み処理を示すフローチャートである。
【図５０】ＣＰＵ部２３０Ｆのメインルーチンを示すフローチャートである。
【図５１】本発明の第７の実施の形態による楽音生成システムの不揮発性記憶モジュールを示すブロック図である。
【図５２Ａ】本発明の第８の実施の形態による楽音生成システムの不揮発性記憶モジュール１００Ｈを示すブロック図である。
【図５２Ｂ】本発明の第８の実施の形態による楽音生成システムのアクセスモジュール２００Ｈを示すブロック図である。
【図５３】アクセスモジュール２００Ｈの楽音データ書き込み処理を示すフローチャートである。
【図５４】収録した楽音データのファイルアロケーションを示す説明図である。
【図５６】収録したピアノの音素材の特性情報を示す説明図である。
【図５５Ａ】楽音データの書き込み前における不揮発性メモリバンク１１０〜１１３の記憶状態を表す説明図である。
【図５５Ｂ】楽音データの書き込み後における不揮発性メモリバンク１１０〜１１３の記憶状態を表す説明図である。
【図５７】本発明の第９の実施の形態における楽音データファイル生成システムの書き込みモジュールを示すブロック図である。
【図５８】本発明の第９の実施の形態におけるＣＰＵ部４２０の処理を示すフローチャートである。
【図５９】本発明の第１０の実施の形態による楽音生成システムの不揮発性記憶モジュールを示すブロック図である。
【図６０Ａ】本発明の第１１の実施の形態による楽音生成システムの不揮発性記憶モジュールを示すブロック図である。
【図６０Ｂ】本発明の第１１の実施の形態による楽音生成システムのアクセスモジュールを示すブロック図である。
【図６１】読み出し性能情報と最大発音チャンネル数の関係を示す説明図である。
【符号の説明】
【００３３】
１００Ａ〜１００Ｋ  不揮発性記憶モジュール
１１０〜１１３  不揮発性メモリバンク
１１０ａ〜１１３ａ  Ｉ／Ｏレジスタ
１１０ｂ〜１１３ｂ  メモリセルアレイ
１２０，１４０  データ読み出し部
１２１  ホストインターフェイス
１２１ａ  レジスタ
１２２  バッファ部
１２２ａ，１２２ｂ  シングルポートＲＡＭ
１２２ｃ  ＲＡＭ切り替え回路
１２３，１４１，１５３，１６１，１６２  メモリインターフェイス
１２４，１５４，２３０Ｃ，２３０Ｅ，４２０  ＣＰＵ部
１３１，１３２  フラッシュメモリ
１５０Ｃ，１５０Ｅ，１５０Ｈ，１６０Ａ，１６０Ｂ  データ読み書き部
１５１  ホストインターフェイス
１５１ａ，１５１ｂ  レジスタ
１５２，１５６  バッファ部
１５２ａ，１５２ｂ  シングルポートＲＡＭ
１５２ｃ  ＲＡＭ切り替え回路
１５５  アドレス管理部
１５７  読み出し性能通知部
２００Ａ〜２００Ｋ  アクセスモジュール
２１０Ａ，２１０Ｃ，２１０Ｅ，２１０Ｈ，４１０  入出力部
２２０，２２２，２２４  信号処理部
２３１  楽音データバッファ
２３１ａ，２３１ｂ  デュアルポートＲＡＭ
２３１ｃ  マルチプレクサ
２３１ｄ  デマルチプレクサ
２３２  チャンネルアサインテーブル
２３３Ａ，２３３Ｃ  ＮＮテーブル
２３４  演奏データバッファ
２３５  転送監視部
２３６  ファイルシステム部
２３７  多重化部
２３８  コンテンツ識別部
２３９  オーディオバッファ
２４０  カラオケバッファ
２４２  ファイル編集部
２４３  サンプリング部
２４５  発音チャンネル数決定部
２５０，４３０  ドライバ部
３００  マスターキーボード
３１０  インターネット
３２０  マイクロフォン
３３０，５００  データ記憶モジュール
３４０  ハードディスク
４００Ａ  データ書き込みモジュール
４００Ｂ  楽音データファイル生成モジュール
【発明を実施するための最良の形態】
【００３４】
（第１の実施の形態）
図１Ａ，図１Ｂは、本発明の第１の実施の形態における楽音生成システムを示すブロック図である。楽音生成システムは、図１Ａに示す不揮発性記憶モジュール１００Ａと図１Ｂに示すアクセスモジュール２００Ａとを含んで構成される。不揮発性記憶モジュール１００Ａは、並列に設けられた４つの不揮発性メモリバンク１１０〜１１３と、データ読み出し部１２０を含む。データ読み出し部１２０はホストインターフェイス１２１、バッファ部１２２、メモリインターフェイス１２３、ＣＰＵ部１２４を含む。【００３５】
アクセスモジュール２００Ａは、入出力部２１０Ａ、信号処理部２２０、ＣＰＵ部２３０Ａ、ドライバ部２５０を含み、３２チャンネル分の楽音を同時に出力できるようにしたものである。以下、チャンネル番号をＣＨ０〜ＣＨ３１とする。ＣＰＵ部２３０Ａは楽音データバッファ２３１とチャンネルアサインテーブル２３２とＮＮテーブル２３３Ａと演奏データバッファ２３４、及び転送監視部２３５を含む。【００３６】
次に不揮発性記憶モジュール１００Ａの各部について詳細に説明する。不揮発性メモリバンク１１０〜１１３はフラッシュメモリであり、それぞれＩ／Ｏレジスタ１１０ａ〜１１３ａとメモリセルアレイ１１０ｂ〜１１３ｂを含む。Ｉ／Ｏレジスタ１１０ａ〜１１３ａは、それぞれ４０９６Ｂｙｔｅ＋１２８Ｂｙｔｅの容量を有するＲＡＭである。メモリセルアレイ１１０ｂ〜１１３ｂは、それぞれ１０２４個の物理ブロックを有する。物理ブロックはフラッシュメモリの消去単位である。尚、以降、物理ブロックをＰＢ、論理セクタをＬＳ、物理ブロック番号をＰＢＮ、論理セクタ番号をＬＳＮ、物理ブロック番号ＰＢＮが例えば０の物理ブロックをＰＢ０、論理セクタ番号ＬＳＮが例えば０の論理セクタをＬＳ０とする。【００３７】
図２は、メモリセルアレイ１１０ｂ〜１１３ｂ内の構造と論理セクタ番号ＬＳＮとの関係を説明した説明図である。メモリセルアレイ１１０ｂ〜１１３ｂは夫々物理ブロックＰＢ０〜ＰＢ１０２３を有している。また各物理ブロックは夫々２５６ページ（Ｐ０〜Ｐ２５５）から構成される。【００３８】
図３は、各ページ内の記録フォーマットについて、物理ブロックＰＢ０のページＰ０を例に説明した図である。全物理ブロックの各ページは、４０９６Ｂｙｔｅのデータ領域と１２８Ｂｙｔｅの冗長領域とから成る。本実施の形態において、データ領域は８セクタに分割される。各セクタは５１２Ｂｙｔｅの容量を持つ。また冗長領域は使用しない。尚記録されているデータの詳細については後述する。【００３９】
図４は、論理セクタ番号ＬＳＮと物理アドレスとの対応関係を示すビットフォーマットである。図４において、ビットｂ０〜ｂ２はページ内セレクタ選択ビットであり、ｂ３，ｂ４はバンクセレクト、ｂ５〜ｂ１２はページ番号、ｂ１３〜ｂ２２は物理ブロック番号を示している。バンクセレクトｂ３，ｂ４の値が０のときに不揮発性メモリバンク１１０を、バンクセレクトが値１の時に不揮発性メモリバンク１１１を、バンクセレクトが値２のときに不揮発性メモリバンク１１２を、バンクセレクトが値３のときに不揮発性メモリバンク１１３を、夫々選択する。【００４０】
但し、図４に示すビットフォーマットは不揮発性メモリバンクの並列数が４の場合の例であり、並列数によってバンクセレクトに割り当てられるビット数を変化させても構わない。例えば並列数が２の場合は、バンクセレクトに割り当てられるビット数は１（ｂ３）となり、それに伴いページ番号はｂ１１〜ｂ４にＰＢＮはｂ２１〜ｂ１２に割り当てられることとなる。また、ページ内セクタ選択ビットは、ページをセクタサイズで割り算した商に相当するビットである。本実施の形態においては、ページサイズを４０９６＋１２８Ｂｙｔｅ、セクタサイズを５１２Ｂｙｔｅとした場合、即ち図３に示すように１ページが８個のセクタに分割される場合であり、これらを前述した物理アドレスの下位３ｂｉｔによって選択する。尚ページサイズやセクタサイズは前述した値に限定される必要はなく、その値に応じてページ内セクタ選択ビットを可変としても構わない。【００４１】
次にデータ読み出し部１２０について説明する。ホストインターフェイス１２１は外部バスを介してアクセスモジュール２００Ａに接続されている。ホストインターフェイス１２１はアクセスモジュール２００Ａから楽音データの読み出し指示情報を受信するとともに、不揮発性メモリバンク１１０〜１１３からバッファ部１２２を介して読み出された楽音データをアクセスモジュール２００Ａに転送するブロックである。【００４２】
ホストインターフェイス１２１は内部にレジスタ１２１ａを含む。図５はレジスタ１２１ａを示すメモリマップである。レジスタ１２１ａは３２チャンネル分について、ＬＳＮと読み出し指示受信フラグＲＲ、リードコマンド発行フラグＲＣ、及びデータ転送完了フラグＴＥを有している。読み出し指示受信フラグＲＲ（以下、ＲＲという）は、アクセスモジュール２００Ａから読み出し指示情報が転送されない間は値０であり、指示情報が転送されれば１となるフラグである。リードコマンド発行フラグＲＣ（以下、ＲＣという）は、リードコマンドを不揮発性メモリバンクに出力するようにメモリインターフェイス１２３に指示したときに立てられるフラグである。データ転送完了フラグＴＥ（以下、ＴＥという）は、各不揮発性メモリのＩＯレジスタからバッファ部１２２へデータの転送が完了したときに立てられるフラグであり、バッファ部１２２に更にデータを書き込めるかどうかを判別するために用いられる。【００４３】
次にバッファ部１２２の構成を図６に示す。バッファ部１２２は不揮発性メモリバンク１１０〜１１３から読み出された楽音データを一時的に保持するブロックである。バッファ部１２２は４ｋＢｙｔｅのシングルポートＲＡＭ１２２ａ，１２２ｂと、ＲＡＭ切り替え回路１２２ｃを含んでいる。ＲＡＭ切り替え回路１２２ｃは、ＲＡＭ切り替え端子１２２ｄが値０のときに、メモリインターフェイス（ＩＦ）１２３からの入力端をシングルポートＲＡＭ１２２ａの入出力ポートに接続し、ホストインターフェイス（ＩＦ）１２１への出力端をシングルポートＲＡＭ１２２ｂの入出力ポートに接続する。一方、ＲＡＭ切り替え端子１２２ｄが値１のときに、メモリインターフェイス１２３からの入力端をシングルポートＲＡＭ１２２ｂの入出力ポートに接続し、ホストインターフェイス１２１への出力端をシングルポートＲＡＭ１２２ａの入出力ポートに接続する。ＲＡＭ切り替え端子１２２ｄはＣＰＵ部１２４によってトグル制御される。【００４４】
尚、それぞれのシングルポートＲＡＭ１２２ａ，１２２ｂにおいて、楽音データのバッファとして使用されるサイズは５１２Ｂｙｔｅである。但し汎用性を考慮してページのデータ領域のサイズと同じ４ｋＢｙｔｅとしている。【００４５】
メモリインターフェイス１２３は、メモリバスを介して不揮発性メモリバンク１１０〜１１３に接続され、ＣＰＵ部１２４の指示により、不揮発性メモリバンク１１０〜１１３に記憶された楽音データをバッファ部１２２に読み出すものである。メモリインターフェイス１２３は前述した通りＣＨＮに対応する２ビットのバンクセレクトをデコードし、不揮発性メモリバンク１１０〜１１３を選択するための４本のＣＥ信号（チップイネーブル信号）を生成し、メモリバスを介して不揮発性メモリバンク１１０〜１１３それぞれ独立にＣＥ信号を与える。【００４６】
またメモリインターフェイス１２３は不揮発性メモリバンク１１０〜１１３の各々について、データレディフラグＤＲＦとアクセスフラグＡＦを管理している。データレディフラグＤＲＦはビジー信号が値１から値０に変化した時に値１にセットされ、Ｉ／Ｏレジスタからバッファ部１２２に楽音データ５１２Ｂｙｔｅ分を転送し終えた時点で値０になるフラグである。アクセスフラグＡＦは各メモリバンク１１０〜１１３毎にアクセスされているかどうかを示すフラグである。【００４７】
ＣＰＵ部１２４はホストインターフェイス１２１、バッファ部１２２、メモリインターフェイス１２３に接続されており、データ読み出し部１２０全体を制御するブロックである。【００４８】
次にアクセスモジュール２００Ａの各ブロックについて、図１Ｂを用いて詳細に説明する。演奏データは、外部のマスターキーボード３００の打鍵などの操作に応じて生成され、入出力部２１０Ａを介してＣＰＵ部２３０Ａに取り込まれる。入出力部２１０Ａはマスターキーボード３００から演奏データを入力するための端子と、信号処理部２２０が生成した楽音をデジタル−アナログ変換するＤＡコンバータと、該変換後の楽音を増幅するアンプ部、及びその出力を外部に出力するためのラインアウト端子を含む。【００４９】
信号処理部２２０は、楽音を生成するブロックである。信号処理部２２０はＣＰＵ部２３０Ａから供給された最大で３２チャンネル分の楽音データの補間演算やレベル制御を行った後に、発音チャンネルのミキシングや、リバーブなどのエフェクト処理を行う。信号処理部２２０はデジタルシグナルプロセッサ（以下、ＤＳＰという）、該ＤＳＰのプログラムを格納したＲＯＭ、及びエフェクタ処理に必要な遅延素子のために、あるいはパラメータを一時記憶するために必要なＲＡＭなどによって構成される。【００５０】
ＣＰＵ部２３０Ａは、入出力部２１０Ａが受信した演奏データについてチャンネルアサイン処理を行い、ドライバ部２５０を介して読み出し指示情報を不揮発性記憶モジュール１００Ａに転送するとともに、不揮発性記憶モジュール１００Ａから読み出した楽音データと、演奏データの一部を信号処理部２２０に供給するブロックである。【００５１】
図７は、ＣＰＵ部２３０Ａに含まれる楽音データバッファ２３１を示すブロック図である。楽音データバッファ２３１は１６ｋＢｙｔｅのデュアルポートＲＡＭ２３１ａ，２３１ｂ及びマルチプレクサ２３１ｃ、デマルチプレクサ２３１ｄを有している。【００５２】
図８Ａ〜図８Ｃは、ＣＰＵ部２３０Ａに含まれるチャンネルアサインテーブル２３２を示す説明図である。チャンネルアサインテーブル２３２は、全チャンネル、即ちＣＨ０〜ＣＨ３１の発音状態などのステータスを表す以下の情報が保持されている。以下これらの情報について説明する。
発音中フラグＳＯＮは対応するチャンネルが発音中か否かを示すフラグであり、値０の時は発音中チャンネル、値１の時は空きチャンネルであることを示す。
ＫＯＮフラグは打鍵してから離鍵されるまでの間に値１になるフラグである。
ノートナンバーＮＮはピアノの鍵盤位置に対応する１６進数の番号である。
タッチパラメータＴＰは打鍵の強さに対応する強弱情報である。
レベルデータＬＤは打鍵の強さに応じて決まる楽音の音量に対応するものである。
強制消音フラグＦは楽音を強制的に消音するためのフラグである。
セクタカウントＳＣは楽音データが１セクタ分即ち１２８サンプル分読み出される毎にカウントアップするカウンタである。
ウェーブエンドフラグＷＥは楽音データの最終サンプル即ちｓ１７６３９９９が楽音生成のために処理されたことを示すフラグである。
エンベロープエンドフラグＥＥは打鍵の状態やサスティンペダルの状態に応じて変化する楽音の音量変化（以下、エンベロープＥＮＶという）が、聴感上聞こえない音量レベルになった時に値１にセットされるフラグである。
楽音データ読み出し要求フラグＤＱは信号処理部２２０が楽音の生成として使用した楽音データのサンプル数が所定の閾値（例えば９６サンプル）に到達した時点でセットされるフラグである。
選択フラグＭは楽音データバッファ２３１内のデュアルポートＲＡＭ２３１ａと２３１ｂのどちらに楽音データを書き込むかを選択するフラグである。
選択フラグＤはデュアルポートＲＡＭ２３１ａと２３１ｂのどちらに記憶されている楽音データを信号処理部２２０に転送するかを選択するフラグである。
尚、フラグＤとＭは、値０の時にデュアルポートＲＡＭ２３１ａを選択し、値１の時にデュアルポートＲＡＭ２３１ｂを選択する。【００５３】
図９は、ＣＰＵ部２３０Ａに保持されているＮＮテーブル２３３Ａを示す説明図である。ＮＮテーブルとは、ノートナンバーＮＮと、該ＮＮに対応する楽音データを記憶した物理ブロック番号との関係を示すテーブルである。【００５４】
また演奏データバッファ２３４はマスターキーボード３００から入力された複数の演奏データを保持するＦＩＦＯである。【００５５】
ＣＰＵ部２３０Ａ内の転送監視部２３５は、データ転送を監視し、デュアルポートＲＡＭ２３１ａ又は２３１ｂのいずれかのチャンネルに対応するエリアに一時記憶され終わると、信号処理部２２０に対して転送完了フラグＴＲＮＦを転送するものである。【００５６】
［初期状態］
まず、不揮発性記憶モジュール１００Ａの出荷前において、メーカ側で処理する初期化の内容について説明する。本実施の形態では、ピアノの楽音データを４４．１ｋＨｚのサンプリング周波数でデジタル録音した場合において、各音高毎に約４０秒分の楽音データを圧縮せずに不揮発性記憶モジュール１００Ａに記録する。尚ピアノの鍵盤を打鍵してから音が十分減衰するまでの時間を４０秒とする。この場合には式（４）に示すとおり、１７６４０００サンプルとなる。
４４．１ｋＨｚ×４０秒＝１７６４０００サンプル  ・・・（４）【００５７】
ここでは最強タッチと最弱タッチの２種類について、あらかじめデジタル録音したピアノの楽音データを、図２に示すように不揮発性メモリバンク１１０の物理ブロックＰＢ０〜ＰＢ７０３に、ピアノの最低音から最高音に至る８８鍵分の楽音データを昇順に書き込む。不揮発性メモリバンク１１１〜１１３にも夫々同一のデータを同様に書き込む。これによって同一のデータを４つの並列化された不揮発性メモリバンクに多重化して記録する。各メモリバンクのＰＢ０〜ＰＢ７には、ピアノの最低音のデータが記録され、ＰＢ０のＰ０から昇順に打鍵直後の先頭サンプル（ｓ０）から順番に最後尾サンプル（ｓ１７６３９９９）までの１７６４０００サンプル分の楽音データが記憶されている。但し図３に示すように、５１２Ｂｙｔｅ単位で、最弱タッチと最強タッチの２種類の楽音データが組となって書き込まれる。【００５８】
ここで図２、図３に示すように、不揮発性メモリバンク１１０のＰＢ０のＰ０はＬＳ０〜７に対応し、不揮発性メモリバンク１１１のＰＢ０のＰ０はＬＳ８〜１５に対応する。同様に、不揮発性メモリバンク１１２のＰＢ０のＰ０はＬＳ１６〜２３に対応し、不揮発性メモリバンク１１３のＰＢ０のＰ０はＬＳ２４〜３１に対応する。前述したようにこれらは同一のデータである。この関係は、図４に示すＬＳＮのビットフォーマットに従う。【００５９】
図１０は、楽音データの１サンプルを示すビットフォーマットである。図１０においてｂ１５には正負を表すサインビットが書き込まれ、ｂ１５〜ｂ１までの１５ビットが楽音データの１サンプルとして使用される。ｂ０にはウェーブエンドフラグＷＥが記録される。フラグＷＥは対応するサンプルが最終サンプルかどうかを示すフラグであり、値１の場合に最終サンプルであるとする。【００６０】
尚、簡単のため、全ての物理ブロックは正常なブロックであるとする。論理アドレスと物理アドレスとは図４に示す通り、論物変換を行わないものとする。但し、初期不良ブロックがある場合は、論物変換の手法により該初期不良ブロックを使用しないようにすればよい。論物変換は一般的な技術であり、また本願の本質ではないので説明を省略する。【００６１】
更に初期化の際には、不揮発性メモリバンク１１３の最終物理ブロックＰＢ１０２３のページＰ０には、不揮発性記憶モジュール１００Ａに記録されているピアノの楽音データの特性情報（以下、記録データ特性情報、ＲＤＩという）と不揮発性記憶モジュール１００Ａのメモリ構成に係る情報（以下、メモリ構成情報、ＭＳＩという）を書き込んでおく。【００６２】
図１１は、記録データ特性情報の一例を示す説明図である。この特性情報には少なくとも楽音データのサンプリング周波数（この場合は４４．１ｋＨｚ）の情報が含まれている。またリバーブ及びコーラスはエフェクト処理をする際に用いられる。尚図１１のテーブルにおいて、備考欄は実際に記録されているものではなく、参考情報である。【００６３】
図１２は、不揮発性記憶モジュール１００のメモリ構成情報の一例を示す説明図である。ここで図１２のセクタサイズは１回の読み出し指示毎に読み出すデータのサイズを示している。リードタイムＴＲはメモリセルアレイからＩＯレジスタへの読み出し時間を示す。転送時間ＴＴはＩＯレジスタからメモリインターフェイス１２３へのデータの転送時間を示す。また図１２のテーブルにおいて、備考欄は実際に記録されているものではなく、参考情報である。【００６４】
以上のように構成された、本発明の第１の実施の形態における楽音生成システムの動作について説明する。【００６５】
［電源立ち上げ時の初期化処理］
アクセスモジュール２００Ａ及び不揮発性記憶モジュール１００Ａの電源立ち上げ後、夫々初期化処理を開始する。図１３Ａは、ＣＰＵ部１２４の通常処理、図１３Ｂはその割り込み処理を示すフローチャートである。【００６６】
不揮発性記憶モジュール１００ＡのＣＰＵ部１２４は、図１３Ａのフローチャートに示すように、Ｓ１００において初期化処理を行う。初期化処理では、バッファ部１２２内のシングルポートＲＡＭ１２２ａと１２２ｂ及びホストインターフェイス１２１のレジスタ１２１ａをクリアする。その後、ホストインターフェイス１２１を介して、初期化が完了したことを通知する。【００６７】
一方、アクセスモジュール２００ＡのＣＰＵ部２３０Ａは図１４Ａのフローチャートに示すように、Ｓ２００において初期化処理を行う。初期化処理では、信号処理部２２０のリセットや、楽音データバッファ２３１内のデュアルポートＲＡＭ２３１ａ，２３１ｂのクリアを行う。信号処理部２２０のリセットにより、信号処理部２２０は内部のＤＳＰのプログラムカウンタのカウントアップを開始する。また図８Ａ〜図８Ｃに示すチャンネルアサインテーブル２３２の初期設定、即ち以下の処理を行う。
（１）ＳＯＮを値０、即ちＣＨ０〜３１を空きチャンネルに設定
（２）ＫＯＮ、ＰＤ、ＮＮ、ＴＰ、ＬＤ、Ｆ、ＳＣ、ＷＥ、ＤＱ、Ｍ、Ｄを値０に設定
（３）ＥＥを値１に設定【００６８】
その後、アクセスモジュール２００Ａは不揮発性記憶モジュール１００Ａに対して、記録データ特性情報とメモリ構成情報の読み出し指示情報を転送する。図１５は、アクセスモジュール２００Ａから不揮発性記憶モジュール１００Ａに対する読み出し指示情報を示すビットフォーマットである。尚、ｂ２９とｂ２８は読み出し以外の指示にも拡張できるように設けたが、本実施の形態においては、読み出し以外の指示は行わないので値１１に固定する。尚これらの特性情報は、不揮発性メモリバンク１１３のＰＢ１０２３のＰ０の０番地から５１２Ｂｙｔｅ分以内に書き込まれている。図４のビットフォーマットに従うと、図１５に示す読み出し指示情報はｂ２４、ｂ２３、ｂ２２〜ｂ１３、及びｂ４、ｂ３は値１、それ以外のビットは値０となる。アクセスモジュール２００Ａは、この読み出し指示情報を不揮発性記憶モジュール１００Ａに転送することによって、記録データ特性情報とメモリ構成情報を読み出すことができる。【００６９】
ＣＰＵ部２３０Ａは、図１１に示す記録データ特性情報を取得すると、サンプリング周期（２２．７μｓ）を信号処理部２２０内のタイマーにセットし、１サンプリング時間の信号処理のタイムスロットの１周期を決定する。このタイマーは信号処理部２２０内のＤＳＰの１周期を制御するためのタイマーとして機能する。ＣＰＵ部２３０Ａは記録データ特性情報内の１サンプル容量（２Ｂｙｔｅ）とフラグ割り当てビット（ｂ０）を信号処理部２２０内のＲＡＭのパラメータとして書き込み、楽音データが図１０に示すビットフォーマットのどのビット位置に相当するかを決定するためのパラメータとして使用する。【００７０】
また、ＣＰＵ部２３０Ａは記録データ特性情報内の最大発音チャンネル数（３２ＣＨ）によって、チャンネルアサインテーブル２３２のチャンネル枠を決定するとともに、信号処理部２２０のタイムスロットのチャンネル数を決定する。また、信号処理部２２０はリバーブとコーラスによりエフェクト処理を決定する。図示の場合にはエフェクト処理としてリバーブのみを行うことを決定する。【００７１】
さらに、ＣＰＵ部２３０Ａは、図１２に示すメモリ構成情報を取得すると、バス数（１）と１バスあたりのメモリバンク数（４）に基づき、式（５）を実行することにより並列数を求める。
並列数＝バス数×１バスあたりのメモリバンク数  ・・・（５）
こうして求めた並列数によりＬＳＮのビットフォーマットが決まる。本実施の形態においては、並列数が値４であるので、バンクセレクトのビット数は２となり、ＬＳＮのビットフォーマットは図４に示すとおりとなる。また例えば並列数が値２の場合には、バンクセレクトに割り当てられるビット数は１（ｂ３）となり、それに伴いページ番号はｂ１１〜ｂ４にＰＢＮはｂ２１〜ｂ１２に割り当てられることとなる。【００７２】
ＣＨＮとバンクセレクトとの関係は、式（６）によって与えられる。尚、％はモジュロを表す演算子である。
バンクセレクト＝ＣＨＮ ％ 並列数  ・・・（６）
本実施の形態においては、並列数が値４であるので、ＣＨＮとバンクセレクトとの関係は下記（ａ）〜（ｂ）に示す４通りとなる。
（ａ）ＣＨ０、４、８、１２、１６、２０、２４、２８
・・・バンクセレクト＝０（不揮発性メモリバンク１１０）
（ｂ）ＣＨ１、５、９、１３、１７、２１、２５、２９
・・・バンクセレクト＝１（不揮発性メモリバンク１１１）
（ｃ）ＣＨ２、６、１０、１４、１８、２２、２６、３０
・・・バンクセレクト＝２（不揮発性メモリバンク１１２）
（ｄ）ＣＨ３、７、１１、１５、１９、２３、２７、３１
・・・バンクセレクト＝３（不揮発性メモリバンク１１３）【００７３】
ＣＰＵ部２３０Ａは、図１２に示すメモリ構成情報の中のセクタサイズ（５１２Ｂｙｔｅ）を参照し、不揮発性記憶モジュール１００Ａからのデータの読み出し単位のサイズを５１２Ｂｙｔｅとして管理する。また式（７）を実行することにより、セクタ毎の総サンプル数（以下、ｕｓｎという）を決定する。
ｕｓｎ＝セクタサイズ／１サンプルサイズ／タッチ数  ・・・（７）
本実施の形態においては、セクタサイズが５１２Ｂｙｔｅ、１サンプルサイズが２Ｂｙｔｅ、タッチ数が２であるので、ｕｓｎ＝１２８サンプルとなる。【００７４】
さらにＣＰＵ部２３０Ａは、図１１に示す記録データ特性情報の中の１ノートあたりの占有容量と、メモリ構成情報の中のページサイズと１物理ブロックあたりのページ数ＴＰＮ（この場合は２５６）に基づき、式（８）を実行することにより、１ノートあたり必要な物理ブロック数を算出する。
１ノートあたり必要な物理ブロック数
＝１ノートあたりの占有容量／（ページサイズ×ＴＰＮ）＝８個  ・・・（８）
そして、最低音Ａ-1から最高音Ｃ7まで夫々のノートに対応するＰＢＮを決定し、図９に示すＮＮテーブル２３３Ａを生成する。【００７５】
以上メインルーチンにおいて、記録データ特性情報とメモリ構成情報を読み出し、各種パラメータの設定処理によってＣＰＵ部２３０Ａは初期化処理（Ｓ２００）を終える。そして通常動作処理Ｓ２０１に移行し、割り込みをイネーブルにして外部のマスターキーボード３００からの演奏データを受付ける。【００７６】
［通常動作時の処理］
（１）全体的な動作説明
演奏データの入力から楽音の生成に至る全体的な動作説明を、ＣＰＵ部２３０Ａのフローチャートを中心に説明する。該フローチャートは図１４Ａに示すメインルーチンと、図１４Ｂに示す割り込みルーチンの２つのルーチンからなる。割り込みルーチンは、マスターキーボード３００の演奏操作によって演奏データがアクセスモジュール２００Ａに転送された際に起動されるルーチンである。メインルーチンの処理中にマスターキーボード３００の演奏操作がなされると、即座に割り込みルーチンに移行する。尚、割り込みルーチンは多重割り込みが可能、即ち割り込みルーチン中であっても、次の割り込みを受け付けるものとする。【００７７】
まず、通常動作処理Ｓ２０１への移行後、マスターキーボード３００の演奏操作がなされないとすると、全チャンネルの強制消音フラグＦは値０であり、また読み出し要求フラグＤＱは値０である。従ってＳ２０２とＳ２０７の分岐はＮｏとなり、Ｓ２０２とＳ２０７の分岐処理を永続的に実行することとなる。【００７８】
マスターキーボード３００の演奏操作がなされると、図１４Ｂに示す割り込みルーチンが起動される。この割り込み処理について説明する。【００７９】
図１６は、マスターキーボードから転送される演奏データを示すビットフォーマットである。演奏データには、打鍵に応じて生成される打鍵データと、サスティンペダルのＯＮ／ＯＦＦ操作に応じて生成されるペダルデータの２種類がある。それらのデータはｂ１５の値によって識別される。打鍵データにおいて、ＫＯＮフラグ、ノートナンバーＮＮ、及びタッチパラメータＴＰは前述のものである。ペダルデータにおいて、ＰＤはサスティンペダルがＯＮされた時に値１になるフラグである。尚、サスティンペダルとは、離鍵時にも音を持続させるためのペダルであり、本物のピアノにも備えられたペダルである。割り込みルーチンにおいて、まずマスターキーボード３００から入出力部２１０Ａを介して転送された演奏データを、演奏データバッファ２３４に取得する（Ｓ２２０）。この演奏データのフォーマットは図１６に示すように、打鍵データまたはペダルデータのいずれかである。演奏データバッファ２３４に、既に取得した未処理の演奏データがなければ（Ｓ２２１）、今回取得した演奏データをチェックする（Ｓ２２２）。具体的には図１６に示す演奏データのｂ１５を調べることにより、打鍵データであるかペダルデータであるかを識別する。演奏データがペダルデータである場合は（Ｓ２２３）、図１６に示すペダルデータ内のｂ１４即ちＰＤフラグをそのままチャンネルアサインテーブル２３２内のＰＤにコピーし（Ｓ２２４）、Ｓ２３２に移行する。一方演奏データが打鍵データの場合は（Ｓ２２３）、図１６に示す打鍵データのｂ１４からＫＯＮフラグを抽出し（Ｓ２２５）、Ｓ２２６においてＫＯＮの値をチェックする。ＫＯＮが値０の場合、即ち離鍵の場合は、Ｓ２３２に移行する。【００８０】
ＫＯＮが値１の場合即ち打鍵の場合は、チャンネルアサインテーブル２３２内において空きチャンネルがあるかどうかを調べる（Ｓ２２７）。具体的には、ＣＨ０から昇順に値０の発音中フラグＳＯＮがあるかどうかを調べ、あれば最初に見つかったチャンネルに該演奏データをアサインする（Ｓ２２９）。チャンネルアサイン処理においては、下記の通りアサイン先のチャンネルの各情報の設定を行う。
（１）ＳＯＮを値１にセット
（２）ＮＮとＴＰを打鍵データからコピー
（３）ＳＣ、ＷＥ、ＥＥ、ＤＱ、Ｍ、Ｄを値０に設定【００８１】
さて、チャンネルアサイン処理の後、不揮発性記憶モジュール１００Ａに対して図１５に示す楽音データの読み出し指示情報を転送する。読み出し指示情報は以下の手順で求められる。
（ａ）打鍵データのＮＮに基づきＮＮテーブル２３３Ａを参照し、先頭ＰＢＮを求める。
（ｂ）先頭ＰＢＮとＳＣと式（９）に基づき、仮ＬＳＮを求める。
仮ＬＳＮ＝（先頭ＰＢＮ＜＜１３）＋［｛（ＳＣ＆０ｘＦＦＥ８）＜＜２｝｜
（ＳＣ＆０ｘ０００７）］  ・・・（９）
但し仮ＬＳＮはバンクセレクトが未確定の場合のＬＳＮであり、この場合には（ｂ４、ｂ３）の値を０とする。また、＆は論理積をとる演算子、｜は論理和をとる演算子、＜＜は左にビットシフトする演算子である。尚、“０ｘ”は１６進数を表す記号である。式（９）においてＮＮテーブルの先頭のＰＢＮを１３ビットシフトすることによって図４に示すｂ１３〜２２までの物理ブロック番号ＰＢＮとすることができる。またセクタカウントＳＣのｂ０〜ｂ２をマスクして２ビットシフトさせることによってページ番号とすることができる。更にセクタカウントの下位３ビットを加えることによって仮ＬＳＮが得られる。
（ｃ）アサイン先のＣＨＮと前述した式（６）によりバンクセレクトを求める。
（ｄ）前述した仮ＬＳＮとバンクセレクトから次式（１０）によりＬＳＮを求める。
ＬＳＮ＝仮ＬＳＮ｜（バンクセレクト＜＜３）  ・・・（１０）
（ｅ）ＣＨＮをｂ２７〜２３に割り付ける。【００８２】
このようにして、読み出し先のＬＳＮを決定し、図１５に示すフォーマットにて不揮発性記憶モジュール２００に読み出し指示情報を転送し、所望の楽音データを読み出す（Ｓ２３０）。【００８３】
Ｓ２３０の読み出し指示に従って、不揮発性記憶モジュール１００Ａから読み出された楽音データは、アクセスモジュール２００Ａに転送される。図１７は、不揮発性記憶モジュール１００Ａから外部バス上に読み出された際の楽音データを示すビットフォーマットである。図１７に示すように最弱タッチと最強タッチ及びその楽音データのチャンネルのデータが含まれている。アクセスモジュール２００Ａでは楽音データをＣＰＵ部２３０Ａ内の楽音データバッファ２３１に転送し、図７のマルチプレクサ２３１ｃ（Ｍ＝０）を介してデュアルポートＲＡＭ２３１ａのＣＨ０に対応するエリアに一時記憶する。尚、デュアルポートＲＡＭ２３１ａへの楽音データの一時記憶に際して、図１７に示す楽音データの外部フォーマットのＣＨＮにより記憶先のチャンネルを決定する。【００８４】
先頭セクタの全サンプル、即ち最弱タッチ及び最強タッチそれぞれについてｓ０〜ｓ１２７までの５１２ＢｙｔｅがデュアルポートＲＡＭ２３１ａのＣＨ０に対応するエリアに一時記憶する。この後、ＣＰＵ部２３０Ａ内の転送監視部２３５が信号処理部２２０に対して転送完了フラグＴＲＮＦを転送する。尚、ＣＰＵ部のＳ２３０以降の処理と、楽音データバッファ２３１への楽音データ転送（転送監視を含む）は並行して実行される。【００８５】
Ｓ２３０の後に、信号処理部２２０による発音（Ｓ２３１）を行う。発音の制御では、ＴＰ／０ｘ７Ｆの演算によりレベルデータＬＤを算出してそれをチャンネルアサインテーブル２３２のＬＤに設定し、Ｓ２２５で抽出したＫＯＮをチャンネルアサインテーブル２３２のＫＯＮに設定する。０ｘ７ＦはＴＰの最大値を表す。即ちレベルデータＬＤは、タッチパラメータＴＰに応じて値０以上１以下の値をとることとなる。信号処理部２２０の動作については後述する。【００８６】
さて、Ｓ２２７において、空きチャンネルがなかった場合、即ちチャンネルアサインテーブル２３２内のＳＯＮが全て値１であった場合は、チャンネルアサインテーブル２３２の強制消音フラグＦを値１にセットし（Ｓ２２８）、Ｓ２３２に移行する。【００８７】
その後、次に処理すべき楽音データの有無をチェックし（Ｓ２３２）、有ればＳ２２１に戻る。Ｓ２２１では既に前回の演奏データは処理を完了しているので、無条件でＳ２２２以降の処理に移行する。一方、Ｓ２３２において、次に処理すべき楽音データが無ければ、割り込みルーチンを終了する。この場合にはメインルーチンに戻って、該割り込みルーチンに移行した時に実行していた処理を続行する。【００８８】
次に、信号処理部２２０の動作について、図１８のフローチャートを中心に説明する。まず、式（１１）に従ってイニシャルフラグＩＮＩを値１にセットする。
ＩＮＩ＝ＫＯＮ＆ＥＥ  ・・・（１１）【００８９】
ここで式（１１）においてＥＥをＩＮＩの算出要素にした理由について説明する。後述するように全チャンネルが発音中（ＥＥの値が０）の状態において、新たな打鍵を行った場合、ノイズが生じないようにする必要がある。このため、新たな打鍵に対応するチャンネルの急速消音を行ってから、即ちＥＥが値１及びＳＯＮが値０になるのを待ってから、新たな打鍵に対応した発音を開始する。【００９０】
但し、新たな打鍵があってから発音開始されるまでの遅延時間を短くするため、急速消音を指示すると同時に、新たな打鍵に対応するチャンネルアサイン処理（Ｓ２２９）と楽音データの読み出し指示（Ｓ２３０）を行う必要がある。しかし、新たな打鍵がなされる直前に新たな打鍵がアサインされるチャンネルのＫＯＮが値１であったとする。この場合、新たな打鍵に対応するチャンネルは、ＫＯＮが値０を経ることなく、即ち値１のままで、急速消音に続いて新たな発音制御を行うこととなる。この場合に、発音開始時刻を決定する要素としてＫＯＮが使えないので、式（１１）においてＥＥをＩＮＩの算出要素にした。尚、式（１１）は、上述の動作に限らず、如何なるケースにおいても適用できる。【００９１】
このときＣＰＵ部２３０Ａから信号処理部２２０内のＲＡＭに転送完了フラグＴＲＮＦが転送されると、ＩＮＩとＴＲＮＦが共に１となるので（Ｓ３０１）、Ｓ３０２において各種パラメータの初期設定を行う。パラメータの初期設定では、信号処理部２２０内のカウンタに保持したｓｎを値０に設定し、信号処理部２２０内のＲＡＭに保持した転送完了フラグＴＲＮＦを値０に設定する。【００９２】
さて、Ｓ３０１あるいはＳ３０２の後、補間処理を行う（Ｓ３０３）。補間処理とは打鍵の強さ、即ちタッチパラメータＴＰの値に応じて楽音の音色を変更する処理である。一般的には、強打鍵時の音色の方が弱打鍵時の音色よりも高域成分に富んだ音色であることが知られている。そこで本実施の形態においては、強打鍵時の音色の代表である最強タッチの楽音データと、弱打鍵時の音色の代表である最弱タッチの楽音データとを直線補間する。ここでは、タッチパラメータＴＰに基づいて２点間直線補間することによって、ＴＰに応じて音色を変更できるようにした。具体的には式（１２）に従った補間処理を行う。尚、ｗは補間後の楽音データの１サンプルの値、ｗａは最弱タッチに対応する楽音データの１サンプルの値、ｗｂは最強タッチに対応する楽音データの１サンプルの値、αは値０〜１の補間係数である。
ｗ＝ｗｂ×α＋ｗａ（１−α）  ・・・（１２）
但し、α＝ＴＰ／０ｘ７Ｆ【００９３】
補間処理の後に、式（１３）に従ったエンベロープ（以下、ＥＮＶという）の算出を行う（Ｓ３０４）。
ＥＮＶ＝ＬＤ×ＲＥＬ  ・・・（１３）
但し、ＲＥＬは次のように決定される。
（ａ）Ｆ＝１の場合は、
ＲＥＬ＝ｇ
（ｂ）Ｆ＝０かつＫＯＮ＝０かつＰＤ＝０の場合は
ＲＥＬ＝ＲＥＬ＿ｏｌｄ×０．５
（ｃ）上記以外の場合は、
ＲＥＬ＝１
尚、ＲＥＬは減衰パラメータ、ＲＥＬ＿ｏｌｄは前サンプリング期間のＲＥＬ、ｇは減衰変数である。
ｇはＦ＝１がＣＰＵ部２３０Ａから転送されたサンプリング周期において０．８７５となり、次のサンプリング期間において０．７５０となる。これ以降、ｇは０．１２５ずつ小さくなり、値０になった時点以降は値０を維持する。このように決めておけばＦ＝１が転送されてから８サンプリング周期でＥＮＶは値０に到達する。またＲＥＬ＿ｏｌｄは信号処理部２２０内のＲＡＭに保持され、式（１３）の実行毎にＲＥＬに更新されるものであり、ＲＥＬは指数関数的に０に漸近することとなる。【００９４】
図１９と図２０はＥＮＶの時間変化を示している。図１９はＰＤが値０の場合、即ちサスティンペダルがＯＦＦの場合である。この場合にはＫＯＮが値１の間は前述の（ｃ）のようにＥＮＶは変化せず、値０になった時、即ち離鍵した時以降にＥＮＶは指数関数的に減衰することとなる。図２０はＰＤが値１の場合、即ちサスティンペダルがＯＮの場合である。この場合はＫＯＮが値１になっても前述した（ｃ）の状態が続き、打鍵時のＥＮＶの値のままとなる。図１９及び図２０のいずれの場合においても、強制消音の指示があった時、即ちＦ＝１となった時点で、前述した（ａ）の場合となり、ＲＥＬは時変パラメータｇとなる。従って破線で示す８サンプリング周期でＥＮＶは値０に直線的に減衰することとなる。尚、１サンプリング周期は式（１４）に従う。
１／サンプリング周波数（４４．１ｋＨｚ）≒約２２．７μ秒  ・・・（１４）
従って８サンプリング周期は約１８２μ秒となる。【００９５】
ＥＮＶの算出の後、ＥＮＶと閾値ＥＮＶｔｈとの比較を行う（Ｓ３０５）。ＥＮＶｔｈは、聴感上十分聞こえないレベルの値である。Ｓ３０５でＥＮＶがＥＮＶｔｈ未満になった場合に、ＣＰＵ部２３０Ａ内のチャンネルアサインテーブル２３２内の対応するチャンネルのＥＥを値１に、ＳＯＮを値０に更新する（Ｓ３０６）。尚、ＳＯＮが値０に更新したチャンネルは、以降空きチャンネルとして管理される。【００９６】
次に、式（１５）に基づきエンベロープ処理後のデジタルデータＷを求める（Ｓ３０７）。
Ｗ＝ｗ×ＥＮＶ  ・・・（１５）
尚、前述した通り楽音データはピアノの音を鍵盤毎にデジタル録音したデータであるので、ＥＮＶのレベルが時間的に変化しなくても、Ｗの波高値は時間的に減衰するので聴感上は減衰して聞こえる。【００９７】
次に、ＷＥが値１、即ち任意の打鍵に対応する楽音データが最終サンプル（ｓ１７６３９９９サンプル）まで到達するか、あるいはＥＥが値１、即ちＥＮＶが聴感上聞こえないレベルに到達すると（Ｓ３０８）、もはや信号処理を続けて出力する必要がない。従ってセクタ番号ｓｎのインクリメントや選択フラグＤのトグル動作が不要となるので、Ｓ３１４にジャンプする。それ以外の場合にはＳ３０９に移行し、ｓｎのインクリメントを行う。尚ウェーブエンドフラグＷＥは図１０に示すように楽音データバッファ２３４から取得した楽音データのｂ０に記録されているフラグであり、ｓ１７６３９９９サンプルのみＷＥが値１である。ｂ０が値０の楽音データをＳ３０３において読み出すまでは、対応するチャンネルのＷＥは値１のままである。【００９８】
Ｓ３１０においてセクタ番号ｓｎのインクリメントの結果ｓｎが値９６になった場合はＳ３１１に進む。そして次の楽音データ１セクタ分を読み出すために、チャンネルアサインテーブル２３２内の対応するチャンネルのＳＣをインクリメントするとともに楽音データ読出要求フラグＤＱを値１に設定する。ｓｎが９６以外ならこの処理を行うことなくＳ３１２に進む。【００９９】
次にＳ３１２においてｓｎが１２７、即ち楽音データ１セクタ分の中の最後のサンプル（ｓ１２７）に到達したか否かを判断し、到達した場合は選択フラグＤのトグル、即ち現在の値と逆の論理に変更する。この操作においては、チャンネルアサインテーブル２３２内の対応するチャンネルのＤをトグル（例えば０から１に変更）するとともに、楽音データバッファ２３１のデマルチプレクサ２３１ｄの入力を切り換えることにより、楽音データの読み出し元を、例えばデュアルポートＲＡＭ２３１ａからデュアルポートＲＡＭ２３１ｂに切り替える。【０１００】
次にＳ３１４において信号処理部２２０が内部保持しているＣＨＮをインクリメントし、ＣＨＮが０でなければ次のチャンネルの処理に移行すべくＳ３０１に戻る。但しＣＨＮは５ビットのカウンタに保持されＣＨ０〜ＣＨ３１を巡回的に更新する。Ｓ３１５でＣＨＮが値０になった時、即ちＣＨ３１までの処理が終了した時、ミキシング処理（Ｓ３１６）に移行する。【０１０１】
ミキシング処理では、ＣＨ０〜３１までのＷｎを式（１６）に基づいてミキシング処理する。
Ｗｘ＝（Ｗ０＋Ｗ１＋・・・・＋Ｗ３１）／３２  ・・・（１６）
ここでＷｎ（ｎはＣＨＮに対応する０〜３１の整数）は任意のチャンネルのＷとし、Ｗｘはミキシング結果である。ミキシングの後Ｓ３１７において更にエフェクト処理を行う。【０１０２】
図２１は、１サンプリング周期あたりの信号処理を示すタイムスロット図である。図２１において、左側が時刻の早い方であり、ＣＨ０〜３１までの補間処理やレベル制御の後、ＣＨ０〜３１までの楽音のミキシング処理（ＭＩＸ）、及びリバーブやコーラスなどのエフェクト処理（ＥＦＦＥＣＴ）がなされる。これらの一連の処理はサンプリング周期である２２．７μ秒毎に巡回して実行されることとなる。【０１０３】
以上説明した信号処理は、１サンプリング周期（２２．７μ秒）毎に繰り返して実行され、２２．７μ秒毎に処理後の楽音データが入出力部２１０ＡのＤＡコンバータにてデジタル−アナログ変更がなされ、その結果が所望の楽音としてラインアウト端子を介して外部に出力される。該楽音は外部のアンプとスピーカを介してピアノの演奏音が得られる。【０１０４】
さて、図１４ＡのＣＰＵ部２３０Ａのメインルーチンの説明に戻り、Ｓ２０２以降の処理について説明する。ＣＰＵ部２３０ＡはＳ２０２においてチャンネルアサインテーブル２３２において全てのチャンネルのＦを調べる。Ｆが値１のチャンネルの中でＥＥが値１のチャンネルがあれば、該チャンネルのＦを値０にクリアし（Ｓ２０３）、該チャンネルにチャンネルアサイン処理を行う（Ｓ２０４）。尚ＥＥのクリアは、前述したとおり信号処理部２２０がＳ３０２にて行う。【０１０５】
次に楽音データの読み出し指示（Ｓ２０５）と信号処理部２２０の発音制御（Ｓ２０６）を行う。Ｓ２０５とＳ２０６は前述したＳ２３０とＳ２３１と同じ処理である。【０１０６】
次にＳ２０７において、ＤＱが値１のチャンネルをサーチし、あれば該チャンネルの楽音データの読み出し指示を行う。尚Ｓ２０７やＳ２０２におけるチャンネルアサインテーブル２３２のサーチはＣＨ０から昇順に行う。【０１０７】
次に不揮発性記憶モジュール１００Ａの楽音データの読み出しについて図１３Ａ，図１３Ｂ及び図２２Ａ，図２２Ｂのフローチャートを中心に説明する。ＣＰＵ部１２４は図１３Ａに示すメインルーチンと図１３Ｂに示す割り込みルーチンの２つのルーチンを実行する。尚該割り込みルーチンは多重割り込みを許可しない。即ち割り込みルーチン処理中に割り込みがあってもマスクされるものとする。【０１０８】
まず、メインルーチンにおいて、前述した初期化処理（Ｓ１００）の後に、通常処理（Ｓ１０１）に移行する。アクセスモジュール２００Ａから読み出し指示情報が転送されない間は、図５に示すホストインターフェイス１２１のレジスタ１２１ａの読み出し指示受信フラグＲＲやリードコマンド発行フラグＲＣは全て値０であるので、Ｓ１０２とＳ１０６の判断分岐処理を実行しつづける。【０１０９】
アクセスモジュール２００Ａから読み出し指示情報を受信すると、ホストインターフェイス１２１は、図２２ＡのメインルーチンのＳ４００からＳ４０１に移行し、レジスタ１２１ａに読み出し指示情報のＣＨＮとＬＳＮを保持する（Ｓ４０１）。その後、レジスタ１２１ａにおいて、図１５に示す読み出し指示情報に付与されているＣＨＮに対応するＲＲを値１にセットする（Ｓ４０２）。その後、Ｓ４００に戻り、ＣＰＵ部１２４のデータ転送指示、即ちバッファ部１２２からアクセスモジュール２００Ａへのデータ転送指示があるまでＳ４００，Ｓ４０２をループする。尚、図５に示す例は、ＣＨ０〜３の読み出し指示がなされ、以降に説明する処理によって各フラグが変化する様子を示した例である。具体的には、ＣＨ０〜３の読み出し指示と不揮発性メモリバンク１１０〜１１３へのリードコマンドの発行を完了し、不揮発性メモリバンク１１０、１１１からバッファ部１２２への楽音データの転送を完了し、さらにＣＨ０のみ、バッファ部１２２からアクセスモジュール２００Ａへの楽音データの転送を完了した時点までを表している。この動作によって、レジスタ１２１ａ内の各フラグの値が変化することとなる。【０１１０】
ＣＰＵ部１２４の処理においては、ＣＨ０〜３のＲＲが値１となったので、Ｓ１０２からＳ１０３に移行する。Ｓ１０３では、ＣＨ０〜３に対応する不揮発性メモリバンクがアクセス中かどうか判断する。このバッファは不揮発性メモリバンク１１０〜１１３は、この時点で楽音データの読み出しを行っていないので、アクセスフラグ（値０）がメモリインターフェイス１２３からＣＰＵ部１２４に通知される。ＣＰＵ部１２４は該アクセスフラグ（値０）により対応する不揮発性メモリバンクがアクセス中でないと認識し、Ｓ１０４に移行する。【０１１１】
Ｓ１０４において、ＣＰＵ部１２４はＣＨ０に対応するリードコマンドを不揮発性メモリバンク１１０に出力するようにメモリインターフェイス１２３に指示する。さらに、ＣＰＵ部１２４はレジスタ１２１ａの対応するチャンネルのＲＣを値１にセットする（Ｓ１０５）。以上の処理をレジスタ１２１ａにおいてＲＲが値１となっているチャンネル、即ちＣＨ０〜３迄を実行することとなる。【０１１２】
図２３は、データ読み出し部１２０が不揮発性メモリバンクに発行するリードコマンドのタイムチャートである。コマンド１は、次に物理アドレスの転送開始を通知するコマンドであり、コマンド２はメモリセルアレイ１１０ｂ〜１１３ｂからＩ／Ｏレジスタ１１０ａ〜１１３ａに物理アドレスに記憶されている楽音データを読み出すことを指示するコマンドである。【０１１３】
ここで、リードコマンドは図２３に示す通り、時刻t1にコマンド１を出力した直後に物理アドレスを出力し、その後、コマンド２を出力する。このアドレッシングタイムＴＡは数百ｎ秒程度であるので時間的に無視できる。コマンド２が終了したt2からデータ読み出し完了時刻t3までのリードタイムＴＲ（例えばこの実施の形態では５０μ秒）経過する間に、楽音データがいずれかの不揮発性メモリバンクのＩ／Ｏレジスタに読み出される。【０１１４】
尚、物理アドレスＰＢＡとは、図４のＰＢＮとページ番号とページ内セクタ選択ビットによって５１２Ｂｙｔｅ単位で指定される物理アドレスである。また、この物理アドレスは、読み出したい楽音データが記憶されているスタート番地（バイト単位）を指定するものであり、該スタート番地から対応するページの最終番地までの楽音データがＴＲ中に対応するＩ／Ｏレジスタに読み出される。その後、楽音データ転送時間ＴＴの間に５１２個のリードクロックを与えることによって、所望の５１２Ｂｙｔｅ分の楽音データがＩ／Ｏレジスタからバッファ部１２２に読み出されることとなる。【０１１５】
また、バンクセレクトは前述した通りＣＨＮに対応する情報であり、メモリインターフェイス１２３の内部でエンコードされ、不揮発性メモリバンク１１０〜１１３を選択するための４本のＣＥ信号（チップイネーブル信号）として機能する。メモリインターフェイス１２３はメモリバスを介して不揮発性メモリバンク１１０〜１１３それぞれ独立にＣＥ信号を与える。また、アクセスフラグＡＦは図２３に示すとおり、コマンド１が与えられるt1から楽音データの転送期間（ＴＴ）が終了する時刻t4まで値１となる。【０１１６】
ＣＨ０〜３に対応するリードコマンドがそれぞれ不揮発性メモリバンク１１０〜１１３に発行され終わると、ＣＨ０〜３のＲＣが全て値０となるので、Ｓ１０２からＳ１０６に移行する。そして、リードコマンド（図２３）によって読み出される楽音データをバッファ部１２２に転送するための処理が行われる。【０１１７】
Ｓ１０６においてデータ転送完了フラグＴＥが値０のチャンネル、即ちＣＨ０〜３の全てについて、対応する不揮発性メモリバンクがデータレディか否かをチェックする（Ｓ１０７）。データレディとはメモリインターフェイス１２３が管理するデータレディフラグＤＲＦが値１の時にデータレディ、即ちメモリセルアレイからＩ／Ｏレジスタに所望の楽音データを読み出し終えたことを表す。ここで、データレディフラグＤＲＦはビジー信号が値１から値０に変化した時刻t3に値１にセットされ、Ｉ／Ｏレジスタからバッファ部１２２に楽音データ５１２Ｂｙｔｅ分を転送し終えた時刻t4で値０になる。【０１１８】
尚、前述したＣＥ信号とリードクロックは、メモリインターフェイス１２３からメモリバスを介して不揮発性メモリバンク１１０〜１１３に各々独立に入力され、ビジー信号は、不揮発性メモリバンク１１０〜１１３の各々から独立にメモリバスを介してメモリインターフェイス１２３に入力される。【０１１９】
Ｓ１０７において、データレディであればＳ１０８に移行し、データレディでなければＳ１０２に戻る。Ｓ１０８において、メモリインターフェイス１２３がデータ転送中でなければＳ１０９に移行し、データ転送中であればＳ１０２に戻る。Ｓ１０９において、ＣＰＵ部１２４は、ＤＲＦが値１となった不揮発性メモリバンクからバッファ部１２２に対して、楽音データを転送するようにメモリインターフェイス１２３に転送指示を出す。その後、対応するチャンネルのリードコマンド発行フラグＲＣを値０にリセットし（Ｓ１１０）、Ｓ１０２に戻る。【０１２０】
尚、Ｓ１１０の後にＳ１０６に戻らないのは、アクセス中でない不揮発性メモリバンクがあれば、先にリードコマンドを発行しておくためである。また、Ｓ１０８でメモリインターフェイス１２３のデータ転送有無をチェックするのは、不揮発性メモリバンク１１０〜１１３がメモリバスを共有しているため、同時刻に楽音データを異なる不揮発性メモリバンクから読み出すことができないためである。【０１２１】
Ｓ１０９のデータ転送指示の後に、メモリインターフェイス１２３が不揮発性メモリバンクのいずれかからバッファ部１２２へのデータ転送が完了すると、当該データ転送の完了をトリガーとして、ＣＰＵ部１２４は割り込みルーチンに移行する。【０１２２】
図１３Ｂに示す割り込みルーチンにおいて、レジスタ１２１ａの対応するチャンネルのＴＥを値１にセットする（Ｓ１２１）。次いでＲＡＭ切り替え回路１２２ｃのＲＡＭ切り替え端子１２２ｄへの入力値をトグルさせ切り替える（Ｓ１２２）。例えば、値０から値１に変更することにより、メモリインターフェイス１２３からの転送先をシングルポートＲＡＭ１２２ｂに、ホストインターフェイス１２１への転送元をシングルポートＲＡＭ１２２ａに切り替える。【０１２３】
その後、ＣＰＵ部１０４はホストインターフェイス１２１にバッファ部１２２へのデータ転送が完了したチャンネルのＣＨＮを通知するとともに、バッファ部１２２に一時記憶された楽音データをアクセスモジュール２００Ａに転送することを指示する（Ｓ１２３）。【０１２４】
次に、ホストインターフェイス１２１は、Ｓ１２３におけるＣＰＵ部１２４のデータ転送指示に対応した割り込みにより、図２２ＢのＳ４２０に移行する。Ｓ４２０ではホストインターフェイス１２１は、バッファ部１２２からアクセスモジュール２００Ａに楽音データを転送する。このとき、Ｓ１２３においてＣＰＵ部１２４が通知したＣＨＮを楽音データに付加してアクセスモジュール２００Ａに転送する（図１７）。その後、レジスタ１２１ａにおいて対応するチャンネルのＲＲとＴＥを値０にリセットする（Ｓ４２１）。レジスタ１２１ａのＲＲが値０になっているエリアは、次の新たな読み出し指示情報のエリアとして解放されたエリアとなる。因みに、ＲＲが値０になっている場合は、Ｓ１０９によりＲＣも値０になっているし、Ｓ４２１によりＴＥも値０になっている。尚、レジスタ１２１ａへの読み出し指示情報の一時記憶は、最上段のエリアから順に使用され、最下段に到達した時点で再び最上に戻るように、即ち巡回的に使用される。【０１２５】
アクセスモジュール２００Ａは、ホストインターフェイス１２１から楽音データを受信すると、該楽音データに付加されたＣＨＮに対応する楽音データバッファ２３１のエリアに、該楽音データを一時記憶する。以降のアクセスモジュール２００Ａの処理は前述した通りである。因みに、バッファ部１２２への、あるいはバッファ部１２２からの楽音データの転送時間は式（１７）により、約１２．８μ秒となる。即ち、メモリバス及び外部バスのバス幅を１Ｂｙｔｅとすると、４０ＭＨｚの周波数で転送されることとなる。
５１２Ｂｙｔｅ×（２５ｎ秒／Ｂｙｔｅ）＝１２．８μ秒  ・・・（１７）【０１２６】
（２）発音遅延時間に関する説明
以上の処理を踏まえ、さまざまな打鍵方法別に、図２４Ａ〜図２４Ｃに示すタイムチャートと、図８Ａ〜図８Ｃに示すチャンネルアサインテーブル２３２を用いて、打鍵から楽音が発音されるまでの動作、及び発音遅延時間について説明する。【０１２７】
（２−１）離散的な打鍵の場合
図２４Ａは離散的な打鍵を行った場合の動作を説明したタイムチャート、図８Ａは該打鍵に対応するチャンネルアサインテーブル２３２内のパラメータの変化を表したものである。まず無音状態からマスターキーボード３００によってＮＮが０ｘ１９、０ｘ１Ｃ、０ｘ１Ｅ、０ｘ２０に対応する４つの鍵盤が時刻t1に同時に打鍵され、その後、数十μ秒ずつの時間間隔をおいて、ＮＮが０ｘ２５の鍵盤、ＮＮが０ｘ２９の鍵盤、最後にＮＮが０ｘ２Ｃと０ｘ２Ｆの２つの鍵盤が打鍵された場合について説明する。各打鍵は、前述したＣＰＵ部２３０Ａのチャンネルアサイン処理により夫々ＣＨ０〜７に割り当てられ、打鍵タイミングにＣＰＵ部２３０Ａの処理遅延を付加したタイミングで、ＣＨ０〜７の読み出し指示がアクセスモジュール２００Ａから不揮発性記憶モジュール１００Ａに転送される。【０１２８】
前述したＳ１０３の動作に従い、対応する不揮発性メモリバンクがアクセス中、即ちアクセスフラグが値１の間は、次のリードコマンドが発行できない。このため、不揮発性メモリバンク１１０〜１１３へのリードコマンドの発行タイミングは、図２４Ａに示すタイミングで、ＣＨ０〜７の読み出し指示がアクセスモジュール２００Ａから不揮発性記憶モジュール１００Ａに転送される。この発行タイミングに応じて、夫々のメモリバンク１１０〜１１３よりアクセス時間ＴＲの間にメモリセルよりＩ／Ｏレジスタに読み出される。【０１２９】
不揮発性メモリバンク１１０〜１１３のＩ／Ｏレジスタ１１０ａ〜１１３ａに読み出された楽音データは、前述したＳ１０８に従い、図示のようにチャンネル０〜３の転送時間が互いにオーバーラップしないように時刻t2以降順次バッファ部１２２に転送される。【０１３０】
ここで、不揮発性メモリバンク１１０〜１１３は同じメモリバスを共有しているので、図２３に示すＴＡ期間についてもお互いにオーバーラップさせないようにする必要がある。但し、ＴＡは前述した通り無視できる時間（数百ｎ秒）なので、図２４Ａ〜２４Ｃでは、ＴＲの開示時刻はほぼ同時刻として表記した。【０１３１】
ホストインターフェイス１２１はバッファ部１２２に一時記憶した楽音データをアクセスモジュール２００Ａに転送する。ＣＰＵ部２３０Ａは転送された楽音データを楽音データバッファ２３１に記憶する。尚、バッファ部１２２からの出力は、通常はリードコマンドが発行された順、即ちＣＨ０から昇順になるが、不揮発性メモリバンクの特性のばらつきにより、例えばＣＨ０の楽音データよりＣＨ１の楽音データ方が先にバッファ部１２２に転送される場合もありえる。このような追い越しを考慮して、不揮発性記憶モジュール１００Ａから外部バス上に読み出された際の楽音データは、図１７に示すようにＣＨＮが付加されたフォーマットとなっている。これにより、ＣＰＵ部２３０Ａは前記ＣＨＮに基づき楽音データバッファ２３１の、ＣＨＮに対応するエリアに記憶することが可能となる。【０１３２】
信号処理部２２０は楽音データバッファ２３１に記憶された楽音データを用いて前述した通り楽音の生成処理がなされる。信号処理部２２０は１サンプリング周期毎にＣＨ０〜３１までの処理を時分割にて行う。即ち２２．７μ秒毎に各チャンネルの楽音データがｓ０から順番に使用されることとなる。【０１３３】
ＣＨ０においては、図２４Ａの時刻t3から始まる最初のタイムスロットにおいて、ｓ０が使用されることとなる。前記タイムスロット以降のタイムスロットから順に、ＣＨ１、ＣＨ２・・・のｓ０が使用され始めるが、楽音データバッファ２３１への楽音データの転送時間（１２．８μ秒）とタイムスロットの周期（２２．７μ秒）が異なるため、例えばＣＨ２とＣＨ３のｓ０は共に時刻t5から始まる３番目のタイムスロットから使用されることとなる。【０１３４】
各チャンネルにおいて、ｓ０を使用したタイムスロットから数えて１２７番目のタイムスロットで５１２Ｂｙｔｅ分の楽音データを全て使いきる。このため前述した通り、ｓｎが９６になった時刻t7で、あらかじめ次の５１２Ｂｙｔｅ分の楽音データを取得しておく必要がある。尚９６に限る必要はなく、次の５１２Ｂｙｔｅ分の楽音データの処理に間に合うように、該５１２Ｂｙｔｅ分の楽音データを取得できれば、別の値であってもよい。【０１３５】
これに対応して図２４Ａの破線で示したタイミングで、ＣＨ０〜７の読み出し指示がアクセスモジュール２００Ａから不揮発性記憶モジュール１００Ａに転送される。読み出し指示の間隔は、基本的にタイムスロットの間隔即ち２２．７μ秒毎になる。前述した通り、楽音データバッファ２３１への楽音データの転送時間（１２．８μ秒）とタイムスロットの周期（２２．７μ秒）が異なるため、読み出し指示時刻が一致するチャンネルが出てくる（例えばＣＨ２と３）。【０１３６】
次に、発音遅延時間について説明する。発音遅延時間とは、打鍵時刻からｓ０に対応する楽音を生成するまでの時間をいう。図２４Ａの場合は、図面によればＣＨ３の発音遅延時刻t1〜t6で最大であり、該発音遅延時間は１５０μ秒以下であると言える。これは発音遅延時間の許容範囲である１ｍ秒より十分短い値であるので、図２４Ａの場合においては、本実施の形態の楽音生成システムは、電子楽器などの楽音生成システムとして適用できる。【０１３７】
（２−２）集中的な打鍵の場合
次に、３２チャンネル全てを使用して一度に発音する場合について説明する。図２４Ｂはマスターキーボード３００により３２個の鍵盤を時刻t1に同時に打鍵した場合の動作を説明したタイムチャート、図８Ｂはこの打鍵に対応するチャンネルアサインテーブル２３２内のパラメータの変化を表したものである。尚、このような打鍵方法は通常の演奏ではあまりなされない方法である。【０１３８】
このような場合においては、例えば図８Ｂに示すように、ＮＮが０ｘ２８〜０ｘ４７に対応する３２個の鍵盤が同時に打鍵される。この打鍵は、前述したＣＰＵ部２３０Ａのチャンネルアサイン処理によりＣＨ０〜３１に割り当てられる。そしてアクセスモジュール２００Ａは、打鍵タイミングにＣＰＵ部２３０Ａの処理遅延を付加したタイミングで、ＣＨ０〜３１の読み出し指示情報を不揮発性記憶モジュール１００Ａに転送する。以降は、アクセスモジュール２００Ａは前述した（１−１）と同様に時刻t2から順次時刻t3までの間で断続的にＣＨ０〜３１に対応する楽音データが楽音データバッファ２３１に転送し、楽音を生成する。【０１３９】
この場合、最も発音遅延時間が長くなるのはＣＨ３１である。この場合時刻t2から時刻t3の間は４９０．８μ秒であり、発音遅延時間はt1から時刻t3まで、即ち図２４Ｂの図面上６００μ秒以下であると言える。これは発音遅延時間の許容範囲である１ｍ秒より短い値であるので、図２４Ｂの場合においても、本実施の形態の楽音生成システムは、電子楽器などの楽音生成システムとして適用できる。【０１４０】
（２−３）急速消音の後に集中的な打鍵を行う場合
最後に、急速消音の後に３２チャンネル全てを使用して一度に発音する場合について、図２４Ｃと図８Ｃを用いて説明する。この場合は、例えば（２−２）に示した打鍵、即ち図８Ｂに示したようにＮＮが０ｘ２８〜０ｘ４７に対応する３２個の鍵盤が打鍵された状態のままで、新たに時刻t1にＮＮが０ｘ４８〜０ｘ６７に対応する３２個の鍵盤が打鍵された場合、即ち最大発音チャンネル数（３２チャンネル）を超えた発音となる。【０１４１】
このように最大発音チャンネル数を超えた発音制御をする場合は、既に発音されている３２チャンネル分全てを前もって急速消音し、該３２チャンネル分のＥＥを値１にする。そして聴感上聞こえないレベルまで消音した後に、該３２チャンネルに新たな打鍵を割り当てる必要がある。このような場合が最も発音遅延時間が長くなる場合である。【０１４２】
このような急速消音を行う期間は、図２４Ｃにおいて、打鍵直後の８サンプリング周期に相当する１８２μ秒の期間である。図８Ｃにおいて全チャンネルは、既に打鍵されていた鍵盤（図２４Ｂ）が離鍵されることなくかつ発音された状態において、新たな打鍵が行われたチャンネルとなる。従ってＫＯＮ、ＳＯＮ共に値１から始まることとなる。そして信号処理部２２０の急速消音処理によりＥＥが値１にＳＯＮが値０となり、その結果、ＣＰＵ部２３０Ａのチャンネルアサイン処理によりＣＨ０〜３１の読み出し指示情報が不揮発性記憶モジュール１００Ａに転送されることとなる。それ以降のタイムチャートは図２４Ｂに示すタイムチャートと同様である。【０１４３】
この場合、最も発音遅延時間が長くなるのはＣＨ３１であり、該発音遅延時間は時刻t1〜時刻t4まで、即ち図２４Ｃの図面上８００μ秒以下であると言える。これは発音遅延時間の許容範囲である１ｍ秒より短い値であるので、本実施の形態の楽音生成システムは、電子楽器などの楽音生成システムとして適用できる。【０１４４】
以上のように、本実施の形態に示す楽音生成システムでは、不揮発性メモリバンク１１０〜１１３毎に楽音データを記録することにより多重化しておき、データ読み出し部１２０が、アクセスモジュール２００Ａからの読み出し指示に従って前記複数の不揮発性メモリバンクから並列的に楽音データを読み出すようにした。このため楽音生成システムのような、どの音高の楽音データの読み出し指示がなされるか予想のつかないシステムにおいても、複数のデータの読み出し時に複数の不揮発性メモリバンクから並列的に読み出すことができる。従って発音遅延時間をその許容範囲である１ｍ秒よりも短くすることができる。即ち、現在主流である大容量の多値ＮＡＮＤフラッシュメモリを楽音データ用のＲＯＭとして使用した場合においても、低価格かつ小型の楽音信号発生装置を実現することが可能となる。【０１４５】
不揮発性記憶モジュール１００Ａはメモリカードのようなリムーバブル記憶装置であってもよいし、電子楽器などの装置に組み込まれたメモリ部であってもよい。また、アクセスモジュール１５０は電子楽器などの装置であってもよいし、電子楽器などの装置に組み込まれたアクセス回路部であってもよい。【０１４６】
（第２の実施の形態）
図２５は、本発明の第２の実施の形態における楽音生成システムを示すブロック図である。図１に示した第１の実施の形態における楽音生成システムにおいては、不揮発性メモリバンク１１０〜１１３は各々が１個のフラッシュメモリ（チップ）であったが、本実施の形態においては、不揮発性メモリバンク１１０と１１１が１個のフラッシュメモリ１３１に内蔵され、不揮発性メモリバンク１１２と１１３が１個のフラッシュメモリ１３２に内蔵される。またデータ読み出し部１４０は前述したホストインターフェイス１２１、バッファ部１２２、ＣＰＵ部１２４に加えて、メモリインターフェイス１４１を有している。【０１４７】
一般的にフラッシュメモリの種類として、フラッシュメモリチップ内に１つのメモリバンクしかないタイプと、フラッシュメモリチップ内に２以上のメモリバンクを有するタイプがある。第２の実施の形態の楽音生成システムは後者に該当する。フラッシュメモリ１３１が含む不揮発性メモリバンク１１０と１１１、及びフラッシュメモリ１３２が含む不揮発性メモリバンク１１２と１１３は、第１の実施の形態と同様に、独立して楽音データを読み出すことができる。但し、第1の実施の形態との相違点は、フラッシュメモリチップが２個になったので、メモリインターフェイス１２３とメモリバスを介して接続されるＣＥ信号とリードクロックとビジー信号の本数が２本ずつとなる。【０１４８】
また、図４に示したビットフォーマットにおけるｂ３、即ちバンクセレクトのＬＳＢはＰＢＮ（ｂ２２〜ｂ１３）のｂ２２の上位に付加され、フラッシュメモリ１３１あるいはフラッシュメモリ１３２の物理ブロックアドレスとして使用される。該ビットフォーマットにおけるｂ４、即ちバンクセレクトのＭＳＢはメモリインターフェイス１４１の内部でエンコードされ、２本のＣＥ信号として使用される。【０１４９】
また、フラッシュメモリ１３１のビジー信号は不揮発性メモリバンク１１０と１１１で共用される。不揮発性メモリバンク１１０と１１１それぞれのデータレディフラグは、該ビジー信号によって生成すればよい。同様にして、フラッシュメモリ１３２のビジー信号は不揮発性メモリバンク１１２と１１３で共用される。不揮発性メモリバンク１１２と１１３それぞれのデータレディフラグは、該ビジー信号によって生成すればよい。アクセスフラグは、図２３に示すように第1の実施の形態と同様に、コマンド１〜楽音データの転送期間（ＴＴ）が終了するまでの間に値１となるように制御すればよい。【０１５０】
以上のように、第２の実施の形態における楽音生成システムは、第１の実施の形態における楽音生成システムと同様の動作をするので、発音遅延時間をその許容範囲である１ｍ秒よりも短くする事が可能となる。即ち、現在主流である大容量の多値ＮＡＮＤフラッシュメモリを楽音データ用のＲＯＭとして使用した場合においても、低価格かつ小型の楽音信号発生装置を実現することが可能となる。【０１５１】
（第３の実施の形態）
図２６Ａ，図２６Ｂは、本発明の第３の実施の形態における楽音生成システムを示すブロック図である。楽音生成システムは、図２６Ａに示す不揮発性記憶モジュール１００Ｃと、図２６Ｂに示すアクセスモジュール２００Ｃとを含んで構成される。不揮発性記憶モジュール１００Ｃは、並列に設けられた４つの不揮発性メモリバンク１１０〜１１３と、データ読み書き部１５０Ｃを含む。データ読み書き部１５０Ｃはホストインターフェイス１５１、バッファ部１５２、メモリインターフェイス１５３、ＣＰＵ部１５４及びアドレス管理部１５５を含む。【０１５２】
アクセスモジュール２００Ｃは、入出力部２１０Ｃ、信号処理部２２０、ＣＰＵ部２３０Ｃ、ドライバ部２５０を含み、３２チャンネル分の楽音を同時に出力できるようにしたものである。以下、チャンネル番号をＣＨ０〜ＣＨ３１とする。ＣＰＵ部２３０Ｃは楽音データバッファ２３１とチャンネルアサインテーブル２３２とＮＮテーブル２３３Ｃと演奏データバッファ２３４、転送監視部２３５に加えて、ファイルシステム部２３６及び多重化部２３７を含む。【０１５３】
不揮発性記憶モジュール１００Ｃの不揮発性メモリバンク１１０〜１１３は、前述した第１の実施の形態と同様である。以降、物理ブロックをＰＢ、論理セクタをＬＳ、クラスタをＣＬ、物理ブロック番号をＰＢＮ、論理セクタ番号をＬＳＮ、クラスタ番号をＣＬＮとする。物理ブロック番号ＰＢＮが例えば０の物理ブロックをＰＢ０、論理セクタ番号ＬＳＮが例えば０の論理セクタをＬＳ０、クラスタ番号ＣＬＮが０のクラスタをＣＬ０とする。【０１５４】
図２７Ａは、論理アドレス空間とクラスタ番号ＣＬＮ及び論理セクタ番号ＬＳＮとの関係を説明した説明図であり、図２７Ｂは論理セクタ番号ＬＳＮとメモリセルアレイ１１０ｂ〜１１３ｂ内の構造との関係を説明した物理アドレス空間の説明図である。ここで論理アドレス空間はＣＬ０〜ＣＬ１３０９４３から成る。１クラスタは３２ｋＢｙｔｅの容量とする。一方メモリセルアレイ１１０ｂ〜１１３ｂは夫々物理ブロックＰＢ０〜ＰＢ１０２３を有している。また各物理ブロックは夫々２５６ページ（Ｐ０〜Ｐ２５５）から構成される。ここでは各不揮発性メモリバンク１１０〜１１３のＰＢ１〜ＰＢ７０４に楽音データが保持されている。ここで、論理アドレス空間は、ＰＢ０〜ＰＢ１０２２までに対応するものとする。すなわちＰＢ１０２３は論理アドレス指定によって読み書きできない領域（以下、システム領域という）である。これはユーザが誤って消去しないようにするためであり、メーカー側が直接物理アドレス指定によって書き込むことが可能である。【０１５５】
図２８は、楽音データを記録した各ページ内の記録フォーマットについて、物理ブロックＰＢ１のページＰ０を例に説明した図である。全物理ブロックの各ページは、４０９６Ｂｙｔｅのデータ領域と１２８Ｂｙｔｅの冗長領域とから成る。本実施の形態において、データ領域は８セクタに分割される。各セクタは５１２Ｂｙｔｅの容量を持つ。また冗長領域は使用しない。尚記録されているデータの詳細については後述する。【０１５６】
図２９は、論理セクタ番号ＬＳＮと物理セクタ番号ＰＳＮとの対応関係を示すビットフォーマットである。図２９において、ＬＳＮのビットｂ０〜ｂ２はページ内セレクタ選択ビットであり、ｂ３，ｂ４はバンクセレクト、ｂ５〜ｂ１２はページ番号、ｂ１３〜ｂ２２は論理ブロック番号ＬＢＮを示している。クラスタ番号ＣＬＮはｂ２２〜ｂ５に相当する。バンクセレクトｂ３，ｂ４の値が０のときに不揮発性メモリバンク１１０を、バンクセレクトが値１の時に不揮発性メモリバンク１１１を、バンクセレクトが値２のときに不揮発性メモリバンク１１２を、バンクセレクトが値３のときに不揮発性メモリバンク１１３を、夫々選択する。またＬＳＮのｂ２２〜ｂ１３を論理物理変換することによってＰＢＮが決まる。ＬＳＮのｂ１２〜ｂ５及びｂ２〜ｂ０は夫々ＰＳＮのｂ１０〜ｂ３、ｂ２〜ｂ０にそのまま対応する。【０１５７】
但し、図２９に示すＬＳＮのビットフォーマットは不揮発性メモリバンクの並列数が４の場合の例であり、並列数によってバンクセレクトに割り当てられるビット数を変化させても構わない。例えば並列数が２の場合は、バンクセレクトに割り当てられるビット数は１（ｂ３）となり、それに伴いページ番号はｂ１１〜ｂ４にＬＢＮはｂ２１〜ｂ１２に割り当てられることとなる。また、ページ内セクタ選択ビットは、ページをセクタサイズで割り算した商に相当するビットである。本実施の形態においては、ページサイズを４０９６＋１２８Ｂｙｔｅ、セクタサイズを５１２Ｂｙｔｅとした場合、即ち図２８に示すように１ページが８個のセクタに分割される場合であり、これらを前述した物理アドレスの下位３ｂｉｔによって選択する。尚ページサイズやセクタサイズは前述した値に限定される必要はなく、その値に応じてページ内セクタ選択ビットを可変としても構わない。【０１５８】
次にデータ読み書き部１５０Ｃについて説明する。ホストインターフェイス１５１は外部バスを介してアクセスモジュール２００Ｃに接続されている。ホストインターフェイス１５１はアクセスモジュール２００Ｃから楽音データの読み出し指示情報を受信するとともに、不揮発性メモリバンク１１０〜１１３からバッファ部１５２に読み出された楽音データをアクセスモジュール２００Ｃに転送するブロックである。この読み出し機能については第１の実施の形態と同様である。また読み書き部１５０Ｃは不揮発性記憶モジュール１００Ｃにユーザが入力した楽音データをファイルとして書き込むための書き込み機能を有している。【０１５９】
ホストインターフェイス１５１は内部にレジスタ１５１ａを含む。図３０はレジスタ１５１ａを示すメモリマップである。レジスタ１５１ａは３２チャンネル分について、ＬＳＮと読み出し指示受信フラグＲＲ、リードコマンド発行フラグＲＣ、及びデータ転送完了フラグＴＥを有している。レジスタ１５１ａはある読み出し指示情報に対応した楽音データの読み出し前に、該読み出し指示情報の次の読み出し指示情報をレジスタに保持するものである。読み出し指示受信フラグＲＲ（以下、ＲＲという）は、アクセスモジュール２００Ｃから読み出し指示情報が転送されない間は値０であり、指示情報が転送されれば１となるフラグである。リードコマンド発行フラグＲＣ（以下、ＲＣという）は、リードコマンドを不揮発性メモリバンクに出力するようにメモリインターフェイス１５３に指示したときに立てられるフラグである。データ転送完了フラグＴＥ（以下、ＴＥという）は、各不揮発性メモリのＩＯレジスタからバッファ部１５２へデータの転送が完了したときに立てられるフラグであり、バッファ部１５２に更にデータを書き込めるかどうかを判別するために用いられる。【０１６０】
次にバッファ部１５２の構成を図３１に示す。バッファ部１５２は不揮発性メモリバンク１１０〜１１３から読み出された楽音データや不揮発性メモリバンク１１０〜１１３に書き込むべき楽音データを一時的に保持するブロックである。バッファ部１５２は４ｋＢｙｔｅのシングルポートＲＡＭ１５２ａ，１５２ｂと、ＲＡＭ切り替え回路１５２ｃを含んでいる。ＲＡＭ切り替え回路１５２ｃは、ＲＡＭ切り替え端子１５２ｄが値０のときに、メモリインターフェイス（ＩＦ）１５３からの入力をシングルポートＲＡＭ１５２ａの入出力ポートに接続し、ホストインターフェイス（ＩＦ）１５１への出力をシングルポートＲＡＭ１５２ｂの入出力ポートに接続する。一方、ＲＡＭ切り替え端子１５２ｄが値１のときに、メモリインターフェイス１５３の入出力端をシングルポートＲＡＭ１５２ｂの入出力ポートに接続し、ホストインターフェイス１５１の入出力端をシングルポートＲＡＭ１５２ａの入出力ポートに接続する。ＲＡＭ切り替え端子１５２ｄはＣＰＵ部１５４によってトグル制御される。【０１６１】
尚、それぞれのシングルポートＲＡＭ１５２ａ，１５２ｂにおいて、楽音データのバッファリングとして使用されるサイズは５１２Ｂｙｔｅである。但し汎用性を考慮してページのデータ領域のサイズと同じ４ｋＢｙｔｅとしている。【０１６２】
メモリインターフェイス１５３は、メモリバスを介して不揮発性メモリバンク１１０〜１１３に接続され、ＣＰＵ部１５４の指示により、不揮発性メモリバンク１１０〜１１３に記憶された楽音データをバッファ部１５２に読み出したり、バッファ部１５２のデータを不揮発性メモリバンク１１０〜１１３に書き込むものである。メモリインターフェイス１５３はチャンネル番号ＣＨＮに対応する２ビットのバンクセレクトをデコードし、不揮発性メモリバンク１１０〜１１３を選択するための４本のＣＥ信号（チップイネーブル信号）を生成し、メモリバスを介して不揮発性メモリバンク１１０〜１１３それぞれ独立にＣＥ信号を与える。【０１６３】
またメモリインターフェイス１５３は不揮発性メモリバンク１１０〜１１３の各々について、データレディフラグＤＲＦとアクセスフラグＡＦを管理している。データレディフラグＤＲＦはビジー信号が値１から値０に変化した時に値１にセットされ、Ｉ／Ｏレジスタからバッファ部１５２に楽音データ５１２Ｂｙｔｅ分を転送し終えた時点で値０になるフラグである。アクセスフラグＡＦは各メモリバンク１１０〜１１３毎にアクセスされているかどうかを示すフラグである。【０１６４】
ＣＰＵ部１５４はホストインターフェイス１５１、バッファ部１５２、メモリインターフェイス１５３、アドレス管理部１５５に接続されており、データ読み書き部１５０Ｃ全体を制御するブロックである。【０１６５】
アドレス管理部１５５は論理アドレスと物理アドレスを変換する機能を有し、楽音データなどの書き込み中に物理ブロックが不良ブロックになる場合に物理ブロックを変更したりウェアレベリングを実行するものである。アドレス管理部１５５は内部にＲＡＭを持ち、ＲＡＭに論理物理変換テーブルを保持している。【０１６６】
次にアクセスモジュール２００Ｃの各ブロックについて、図２６Ｂを用いて詳細に説明する。演奏データは、外部のマスターキーボード３００の打鍵などの操作に応じて生成され、入出力部２１０Ｃを介してＣＰＵ部２３０Ｃに取り込まれる。またアクセスモジュール２００Ｃには、インターネット３１０が接続されており、ユーザによるダウンロードの指示に応じて必要なデータをダウンロードできるものとする。入出力部２１０Ｃはマスターキーボード３００から演奏データを入力するための端子と、信号処理部２２０が生成した楽音をデジタル−アナログ変換するＤＡコンバータと、該変換後の楽音を増幅するアンプ部、及びその出力を外部に出力するためのラインアウト端子を含む。【０１６７】
信号処理部２２０は、ＣＰＵ部２３０Ｃから供給された最大で３２チャンネル分の楽音データの補間演算やレベル制御を行った後に、発音チャンネルのミキシングや、リバーブなどのエフェクト処理を行うことにより楽音を生成するブロックである。信号処理部２２０はデジタルシグナルプロセッサ（以下、ＤＳＰという）、該ＤＳＰのプログラムを格納したＲＯＭ、及びエフェクタ処理に必要な遅延素子のために、あるいはパラメータを一時記憶するために必要なＲＡＭなどによって構成される。【０１６８】
ＣＰＵ部２３０Ｃは、入出力部２１０Ｃが受信した演奏データについてチャンネルアサイン処理を行い、ドライバ部２５０を介して読み出し指示情報を不揮発性記憶モジュール１００Ｃに転送するとともに、不揮発性記憶モジュール１００Ｃから読み出した楽音データと、演奏データの一部を信号処理部２２０に供給するブロックである。【０１６９】
ＣＰＵ部２３０Ｃに含まれる楽音データバッファ２３１、チャンネルアサインテーブル２３２、演奏データバッファ２３４、転送監視部２３５については第１の実施の形態と同様であり、詳細を省略する。【０１７０】
図３２は、ＣＰＵ部２３０Ｃに保持されているＮＮテーブル２３３Ｃを示す説明図である。ＮＮテーブルとは、ノートナンバーＮＮと、該ＮＮに対応する楽音データを記憶したクラスタ番号との関係を示すテーブルである。【０１７１】
ＣＰＵ部２３０Ｃ内のファイルシステム部２３６は、楽音データをファイルとして管理するためのものである。尚、ファイルシステム部２３６の詳細については後述する。【０１７２】
ＣＰＵ部２３０Ｃ内の多重化部２３７は、楽音データをファイルとして書き込む際に楽音データを多重化するものである。尚、多重化部２３７の詳細については後述する。【０１７３】
［初期状態］
まず、不揮発性記憶モジュール１００Ｃの出荷前において、メーカー側で処理する初期化の内容について説明する。【０１７４】
メーカー側の書き込み装置、例えばＦＡＴファイルシステムに準拠するパソコンなどの装置が、不揮発性記憶モジュール１００Ｃを物理フォーマットする。その後書き込み装置により、図２７Ａに示すように論理アドレス空間における管理情報領域（ＣＬ０，ＣＬ１）には、ＦＡＴテーブルやルートディレクトエントリなどの管理情報をアロケートし、クラスタＣＬ２以降の通常領域には楽音データをアロケートする。【０１７５】
ここで図２７Ａ、図２７Ｂに示すように、不揮発性メモリバンク１１０のＰＢ０のＰ０はＬＳ０〜７に対応し、不揮発性メモリバンク１１１のＰＢ０のＰ０はＬＳ８〜１５に対応する。同様に、不揮発性メモリバンク１１２のＰＢ０のＰ０はＬＳ１６〜２３に対応し、不揮発性メモリバンク１１３のＰＢ０のＰ０はＬＳ２４〜３１に対応する。この関係は、図２９に示すＬＳＮ，ＰＳＮのビットフォーマットに従う。【０１７６】
次に楽音データは先頭論理アドレスから４ＭＢｙｔｅオフセットを加えたクラスタ（ＣＬ１２８）から最低音の音名（Ａ-1）から順番にアロケートするものとする。【０１７７】
このアロケートにより、不揮発性メモリバンク１１０〜１１３のＰＢ０のＰ０〜Ｐ３のエリアに管理情報が書き込まれ、ＰＢ１以降に楽音データが書き込まれる。該楽音データの先頭アドレスであるＣＬ１２８やファイル名、あるいは該楽音データが記憶された時刻情報などはファイルエントリ（ＦＥ）に保持される。このファイルエントリ（ＦＥ）は図２７Ａに示すようにＣＬ２の先頭の５１２Ｂｙｔｅにアロケートされ、物理空間上では図２７Ｂに示すように不揮発性メモリバンク１１０のＰＢ０のＰ４に書き込まれる。【０１７８】
ファイルエントリの論理アドレスは、管理情報内のルートディレクトリエントリから辿れるようになっている。なお以下では説明を簡単にするため、論物変換処理は行わない。すなわち図２９におけるＬＳＮのｂ２２〜ｂ１３とＰＳＮのｂ２０〜ｂ１１は一対一に対応しているものとする。なおＦＡＴファイルシステムは一般的な技術であるので詳細説明は省略する。【０１７９】
本実施の形態では、ピアノの楽音データを４４．１ｋＨｚのサンプリング周波数でデジタル録音した場合において、各音高毎に約４０秒分の楽音データを圧縮せずに不揮発性モジュール１１０に記録する。このデータについては第１の実施の形態と同様である。【０１８０】
ここでは最強タッチと最弱タッチの２種類について、あらかじめデジタル録音したピアノの楽音データを、図２７Ｂに示すように不揮発性メモリバンク１１０の物理ブロックＰＢ１〜ＰＢ７０４に、ピアノの最低音から最高音に至る８８鍵分の楽音データを昇順に書き込む。不揮発性メモリバンク１１１〜１１３にも夫々同一のデータを同様に書き込む。これによって同一のデータを４つの並列化された不揮発性メモリバンクに多重化して記録する。例えば、図２７Ｂにおいて、各不揮発性メモリバンクのＰＢ１のＰ０に書き込まれるデータＬＳ８１９２〜ＬＳ８１９９と、ＬＳ８２００〜ＬＳ８２０７と、ＬＳ８２０８〜ＬＳ８２１５と、ＬＳ８２１６〜ＬＳ８２２３とは同じものである。【０１８１】
各メモリバンクのＰＢ１〜ＰＢ８には、ピアノの最低音のデータが記録され、ＰＢ１のＰ０から昇順に打鍵直後の先頭サンプル（ｓ０）から順番に最後尾サンプル（ｓ１７６３９９９）までの１７６４０００サンプル分の楽音データが記憶されている。但し図２８に示すように、５１２Ｂｙｔｅ単位で、最弱タッチと最強タッチの２種類の楽音データが組となって書き込まれる。楽音データの１サンプルを示すビットフォーマットは第１の実施の形態で説明した図１０と同様である。【０１８２】
論理アドレスと物理アドレスは図２９に示す通り、論物変換が行われる。尚、簡単のため、全ての物理ブロックは正常なブロックであるとする。但し、初期不良ブロックがある場合は、論物変換の手法により該初期不良ブロックを使用しないようにすればよい。アドレス管理部１５５によって管理される論物変換テーブル（図中でＣＴとする）は不揮発性メモリバンク１１０のＰＢ１０２３に保持される。論物変換は一般的な技術であるので詳細な説明を省略する。【０１８３】
更に初期化の際には、図２７Ｂに示すように不揮発性メモリバンク１１３の物理ブロックＰＢ１０２２の最終ページには、不揮発性記憶モジュール１００Ｃに記録されているピアノの楽音データの特性情報（以下、記録データ特性情報といい、図中でＲＤＩとする）を書き込み、物理ブロックＰＢ１０２３の最終ページには不揮発性記憶モジュール１００Ｃのメモリ構成に係る情報（以下、メモリ構成情報といい、図中でＭＳＩとする）を書き込んでおく。記録データ特性情報、
メモリ構成情報についても第１の実施の形態と同様である。【０１８４】
以上のように構成された、本発明の第３の実施の形態における楽音生成システムの動作について説明する。【０１８５】
［電源立ち上げ時の初期化処理］
アクセスモジュール２００Ｃ及び不揮発性記憶モジュール１００Ｃの電源立ち上げ後、夫々初期化処理を開始する。ＣＰＵ部１５４の通常処理、及びその割り込み処理については第１の実施の形態とほぼ同様であるので、図１３Ａ，図１３Ｂのフローチャートを用いて説明する。【０１８６】
不揮発性記憶モジュール１００ＣのＣＰＵ部１５４は、図１３Ａのフローチャートに示すように、Ｓ１００において初期化処理を行う。初期化処理では、バッファ部１５２内のシングルポートＲＡＭ１５２ａと１５２ｂ及びホストインターフェイス１５１のレジスタ１５１ａをクリアする。またアドレス管理部１５５が不揮発性メモリバンク１１０のＰＢ１０２３に記憶された論物変換テーブルを内部のＲＡＭに読み出す。論物変換テーブルの読み出しが完了した時点で、不揮発性記憶モジュール１００Ｃはアクセスモジュール２００Ｃに対してアクセス許可を通知する。その後、ホストインターフェイス１５１を介して、初期化が完了したことを通知する。【０１８７】
一方、アクセスモジュール２００ＣのＣＰＵ部２３０Ｃは図１４Ａのフローチャートに示すように、Ｓ２００において初期化処理を行う。初期化処理では、ＣＰＵ部２３０Ｃは、不揮発性メモリバンク１１０〜１１３のＰＢ０に記憶されたＦＡＴテーブルやファイルエントリをファイルシステム部２３６に読み出し、ファイルシステム部２３６は、既に不揮発性記憶モジュール１００Ｃに記憶されている楽音データの開始クラスタ番号（ＣＬ１２８）を認識する。【０１８８】
さらに、その後、アクセスモジュール２００Ｃは不揮発性記憶モジュール１００Ｃに対して、記録データ特性情報とメモリ構成情報の読み出し指示情報を転送する。これによりＣＰＵ部２３０Ｃは不揮発性メモリバンク１１３のＰＢ１０２２に記憶された記録データ特性情報、及びＰＢ１０２３に記憶されたメモリ構成情報を読み出す。図３３Ａはメモリ構成情報を読み出すための読み出し指示情報を示す。尚、図３３Ａにおいて、ｂ２７〜ｂ２３はメモリ構成情報識別コードを示す。＊はどのような値であっても構わないことを表す記号である。また初期化処理では、ＣＰＵ部２３０Ｃは信号処理部２２０のリセットや、楽音データバッファ２３１内のデュアルポートＲＡＭ２３１ａ，２３１ｂのクリアを行う。信号処理部２２０のリセットにより、信号処理部２２０は内部のＤＳＰのプログラムカウンタのカウントアップを開始する。また初期化処理では、ＣＰＵ部２３０Ｃは第１の実施の形態と同様にチャンネルアサインテーブル２３２の初期設定を行う。【０１８９】
ＣＰＵ部２３０Ｃは、図１１に示す記録データ特性情報を取得すると、サンプリング周期（２２．７μｓ）を信号処理部２２０内のタイマーにセットし、１サンプリング時間の信号処理のタイムスロットの１周期を決定する。このタイマーは信号処理部２２０内のＤＳＰの１周期を制御するためのタイマーとして機能する。ＣＰＵ部２３０Ｃは記録データ特性情報内の１サンプル容量（２Ｂｙｔｅ）とフラグ割り当てビット（ｂ０）を信号処理部２２０内のＲＡＭのパラメータとして書き込み、楽音データが図１０に示すビットフォーマットのどのビット位置に相当するかを決定するためのパラメータとして使用する。【０１９０】
また、ＣＰＵ部２３０Ｃは記録データ特性情報内の最大発音チャンネル数（３２ＣＨ）によって、チャンネルアサインテーブル２３２のチャンネル枠を決定するとともに、信号処理部２２０のタイムスロットのチャンネル数を決定する。また、信号処理部２２０はリバーブとコーラスによりエフェクト処理を決定する。図示の場合にはエフェクト処理としてリバーブのみを行うことを決定する。【０１９１】
さらに、ＣＰＵ部２３０Ｃは、図１２に示すメモリ構成情報を取得すると、第１の実施の形態と同様にバス数（１）と１バスあたりのメモリバンク数（４）に基づき、式（５）を実行することにより並列数を求める。こうして求めた並列数によりＬＳＮのビットフォーマットが決まる。本実施の形態においては、並列数が値４であるので、バンクセレクトのビット数は２となり、ＬＳＮのビットフォーマットは図２９に示すとおりとなる。また例えば並列数が値２の場合には、バンクセレクトに割り当てられるビット数は１（ｂ３）となり、それに伴いページ番号はｂ１１〜ｂ４にＰＢＮはｂ２１〜ｂ１２に割り当てられることとなる。【０１９２】
ＣＨＮとバンクセレクトとの関係は、式（６）によって与えられる。
本実施の形態においては、並列数が値４であるので、ＣＨＮとバンクセレクトとの関係は下記（ａ）〜（ｂ）に示す４通りとなる。
（ａ）ＣＨ０、４、８、１２、１６、２０、２４、２８
・・・バンクセレクト＝０（不揮発性メモリバンク１１０）
（ｂ）ＣＨ１、５、９、１３、１７、２１、２５、２９
・・・バンクセレクト＝１（不揮発性メモリバンク１１１）
（ｃ）ＣＨ２、６、１０、１４、１８、２２、２６、３０
・・・バンクセレクト＝２（不揮発性メモリバンク１１２）
（ｄ）ＣＨ３、７、１１、１５、１９、２３、２７、３１
・・・バンクセレクト＝３（不揮発性メモリバンク１１３）【０１９３】
ＬＳＮのビットフォーマットは図２９に示すとおりであるので、図２７Ａに示すＬＳ８１９２〜ＬＳ８２２３におけるＬＳＮとＣＨＮとの関係は、下記（ｅ）〜（ｈ）に示すものとなる。
（ｅ）ＣＨ０、４、８、１２、１６、２０、２４、２８
・・・ＬＳ８１９２〜ＬＳ８１９９
（ｆ）ＣＨ１、５、９、１３、１７、２１、２５、２９
・・・ＬＳ８２００〜ＬＳ８２０７
（ｇ）ＣＨ２、６、１０、１４、１８、２２、２６、３０
・・・ＬＳ８２０８〜ＬＳ８２１５
（ｈ）ＣＨ３、７、１１、１５、１９、２３、２７、３１
・・・ＬＳ８２１６〜ＬＳ８２２３【０１９４】
ＣＰＵ部２３０Ｃは、図１２に示すメモリ構成情報の中のセクタサイズ（５１２Ｂｙｔｅ）を参照し、不揮発性記憶モジュール１００Ｃからのデータの読み出し単位のサイズを５１２Ｂｙｔｅとして管理する。また式（７）を実行することにより、セクタ毎の総サンプル数（以下、ｕｓｎという）を決定する。本実施の形態においては、セクタサイズが５１２Ｂｙｔｅ、１サンプルサイズが２Ｂｙｔｅ、タッチ数が２であるので、ｕｓｎ＝１２８サンプルとなる。【０１９５】
さらにＣＰＵ部２３０Ｃは、図１１に示す記録データ特性情報の中の１ノートあたりの占有容量と、メモリ構成情報の中のページサイズと１物理ブロックあたりのページ数ＴＰＮ（この場合は２５６）に基づき、式（８）を実行することにより、１ノートあたり必要な物理ブロック数を算出する。そして、ファイルシステム部２３６がファイルエントリから抽出した楽音データの開始クラスタ（ＣＬ１２８）に基づき、最低音Ａ-1から最高音Ｃ7まで夫々のノートに対応するＰＢＮを決定し、図３２に示すＮＮテーブル２３３Ｃを生成する。【０１９６】
以上メインルーチンにおいて、記録データ特性情報とメモリ構成情報を読み出し、各種パラメータの設定処理によってＣＰＵ部２３０Ｃは初期化処理（Ｓ２００）を終える。そして通常動作処理Ｓ２０１に移行し、割り込みをイネーブルにして外部のマスターキーボード３００からの演奏データを受付ける。【０１９７】
［通常動作時の処理］
（１）全体的な動作説明
演奏データの入力から楽音の生成に至る全体的な動作については第１の実施の形態と同様であり、説明を省略する。マスターキーボード３００の演奏操作がなされると、図１４Ｂに示す割り込みルーチンが起動される。この割り込み処理の相違点について説明する。【０１９８】
マスターキーボードから転送される演奏データは、図１６に示す第１の実施の形態と同様のビットフォーマットである。演奏データには、打鍵に応じて生成される打鍵データと、ペダルデータの２種類がある。それらのデータはｂ１５の値によって識別される。【０１９９】
ＫＯＮが値１の場合即ち打鍵の場合は、チャンネルアサインテーブル２３２内において空きチャンネルがあるかどうかを調べる（Ｓ２２７）。具体的には、ＣＨ０から昇順に値０の発音中フラグＳＯＮがあるかどうかを調べ、あれば最初に見つかったチャンネルに該演奏データをアサインする（Ｓ２２９）。【０２００】
さて、チャンネルアサイン処理の後、不揮発性記憶モジュール１００Ｃに対して図３３に示す楽音データの読み出し指示情報を転送する。読み出し指示情報は以下の手順で求められる。
（ａ）打鍵データのＮＮに基づきＮＮテーブル２３３Ｃを参照し、先頭ＣＬＮを求める。
（ｂ）先頭ＣＬＮとＳＣより式（１８）に基づき、仮ＬＳＮを求める。
仮ＬＳＮ＝（先頭ＣＬＮ＜＜６）＋［｛（ＳＣ＆０ｘＦＦＥ８）＜＜２｝｜
（ＳＣ＆０ｘ０００７）］  ・・・（１８）
但し仮ＬＳＮはバンクセレクトが未確定の場合のＬＳＮであり、この場合には（ｂ４、ｂ３）の値を０とする。また、＆は論理積をとる演算子、｜は論理和をとる演算子、＜＜は左にビットシフトする演算子である。尚、“０ｘ”は１６進数を表す記号である。尚式（１８）においてＮＮテーブルの先頭のＣＬＮを６ビットシフトすることによって図２９に示すｂ５〜２２までの論理ブロック番号ＬＳＮとすることができる。またセクタカウントＳＣのｂ０〜ｂ２をマスクして２ビットシフトさせることによってページ番号とすることができる。更にセクタカウントの下位３ビットを加えることによって仮ＬＳＮが得られる。
（ｃ）アサイン先のＣＨＮと前述した式（６）によりバンクセレクトを求める。
（ｄ）前述した仮ＬＳＮとバンクセレクトから式（１０）によりＬＳＮを求める。
（ｅ）ＣＨＮをｂ２７〜２３に割り付ける。【０２０１】
このようにして、読み出し先のＬＳＮを決定し、図３３Ｂに示すフォーマットにて不揮発性記憶モジュール２００に読み出し指示情報を転送し、所望の楽音データを読み出す（Ｓ２３０）。【０２０２】
Ｓ２３０の読み出し指示に従って、不揮発性記憶モジュール１００Ｃから読み出された楽音データは、アクセスモジュール２００Ｃに転送される。以下の処理は第１の実施の形態と同様である。【０２０３】
次に、信号処理部２２０の動作、図１４ＡのＣＰＵ部２３０Ｃのメインルーチンについても第１の実施の形態と同様であるので、説明を省略する。【０２０４】
更に発音遅延時間についても、離散的な打鍵の場合、集中的な打鍵の場合、急速消音の後に集中的な打鍵を行う場合のいずれの場合も図２４Ａ〜図２４Ｃのタイムチャートに示すように、発音遅延時間の許容範囲である１ｍ秒より短い値である。従って本実施の形態の楽音生成システムは、電子楽器などの楽音生成システムとして適用できる。【０２０５】
次にアクセスモジュールの楽音データ書き込み処理について図３４を中心に説明する。図３４は、アクセスモジュール２００Ｃの楽音データ書き込み処理を示すフローチャートである。【０２０６】
まず、楽音データの書き込みに先立って、アクセスモジュール２００Ｃが不揮発性記憶モジュール１００Ｃに記憶されているデータを消去すべく、物理フォーマットを行う（Ｓ５００）。図３５はインターネット３１０から取得した楽音データのファイルアロケーションを示す説明図である。物理フォーマットにより、ファイルシステム部２３６は論理アドレス空間が一旦論理消去され、ドライバ部２５０を介して不揮発性記憶モジュール１００Ｃに消去指示を転送する。なお消去指示の仕様に係る詳細説明は省略する。【０２０７】
ここで、簡単のため図２９におけるＬＳＮのｂ２２〜ｂ１３とＰＳＮのｂ２０〜ｂ１１は一対一に対応しているものとする。そうすると、前述した消去指示により不揮発性メモリバンク１１０〜１１３のＰＢ０〜ＰＢ１０２２は物理消去されることとなる。なお、ＰＢ１０２３は前述した通り、論理アドレスの範囲外であるので物理消去されない。更にＰＢ０〜１０２２の物理ブロックが消去されたことを示すＦＡＴテーブル等をＰＢ０に記録する（Ｓ５０１）。【０２０８】
図３６Ａは、楽音データの書き込み前における不揮発性メモリバンク１１０〜１１３の記憶状態を表す説明図である。図３６Ａにおいて、不揮発性メモリバンク１１０〜１１３のＰＢ０には、前述した物理フォーマット（Ｓ５００）の後の書き込みにより、通常領域が全て論理消去されていたことを管理するためのＦＡＴテーブルなどが記憶されている。それに伴い不揮発性メモリバンク１１０〜１１３のＰＢ１〜ＰＢ１０２２は全て消去された状態となっている。【０２０９】
次に不揮発性メモリバンク１１３のＰＢ１０２３に記憶されたメモリ構成情報（ＭＳＩ）を読み出す（Ｓ５０２）。多重化部２３７はメモリ構成情報内のページサイズ（４ｋＢｙｔｅ）を多重化単位サイズとする（Ｓ５０３）。【０２１０】
次にＣＰＵ部２３０Ｃは、入出力部２１０Ｃを介して入力されたユーザのダウンロード指示に応じて、インターネット３１０から楽音データのダウンロードを開始する（Ｓ５０４）。【０２１１】
インターネットからダウンロードされる情報は、図３５に示すようにヘッダーと楽音データとからなる形式である。ヘッダーには楽音データ長や記録データ特性情報ＲＤＩなどが含まれる。記録データ特性情報をＣＬ１３０９４３の最後尾のＬＳＮにアロケートするとともに（Ｓ５０５）、ドライバ部２５０を介して書き込み指示情報により記録データ特性情報を書き込む（Ｓ５０６）。【０２１２】
不揮発性記憶モジュール１００Ｃは、転送された記録データ特性情報をデータ読み書き部１５０Ｃによって、不揮発性メモリバンク１１３のＰＢ１０２２のＰ２５５の最後尾のＰＳＮに書き込む。【０２１３】
なおデータ読み書き部１５０Ｃによる書き込みにおいて、書き込み先の物理ブロックが不良ブロックになった場合は、アドレス管理部１５５が他の空き物理ブロックをサーチし、該空きブロックに書き込み直すとともに、該空きブロックを論物変換テーブルに登録することとなる。このような物理ブロックの代替は不揮発性メモリバンク１１０〜１１３毎に行われるものである。すなわち異なる不揮発性メモリバンク間で物理ブロックの代替は行われないものとする。【０２１４】
次にＣＰＵ部２３０Ｃの多重化部２３７は、図３５に示すように、多重化単位サイズ（４ｋＢｙｔｅ）毎に並列数（４並列）分、楽音データを論理アドレス空間に多重化してアロケートする（Ｓ５０７）。そして多重化部２３７は多重化した楽音データをファイルシステム部２３６に渡す。ファイルシステム部２３６はこの多重化された楽音データを論理アドレス空間にアロケートする。なお図３５においては、簡単のために楽音データの先頭のアロケート先をＣＬ１２８としたが、空きクラスタであればどこを先頭クラスタとしてもよい。【０２１５】
前述したアロケートに伴い、ＣＰＵ部２３０Ｃはドライバ部２５０を介して書き込み指示情報により楽音データの書き込みを行う（Ｓ５０８）。図３７は、楽音データの書き込み指示情報を示すビットマップである。【０２１６】
その後、楽音データと、該楽音データに対応する記録データ特性情報をセットとして１つの楽音データファイルとして登録すべく、ＦＡＴテーブルの書き込みと（Ｓ５０９）、ファイルエントリの書き込みを行う（Ｓ５１０）。【０２１７】
こうして最低音から最高音までの楽音データを不揮発性メモリバンク１１０〜１１３に多重化して書き込むことにより、その記憶状態は図３６Ａに示す状態から図３６Ｂに示す状態に変化する。図３６Ｂは、楽音データの書き込み後における不揮発性メモリバンク１１０〜１１３の記憶状態を表す説明図である。図３６Ｂにおいて、楽音データは不揮発性メモリバンク１１０〜１１３のＰＢ１〜ＰＢ７０４に記憶され、記録データ特性情報は不揮発性メモリバンク１１３のＰＢ１０２２に記憶される。またＦＡＴテーブルやファイルエントリなどの管理情報は、不揮発性メモリバンク１１０〜１１３のＰＢ０に記憶されたものから更新されるため、その他の空き物理ブロックの中で不揮発性メモリバンク１１０〜１１３のＰＢ７０５に記憶される。なお空き物理ブロックであれば、ＰＢ７０５に限定されることはない。【０２１８】
以上のように、アクセスモジュール２００Ｃが、インターネットなどから取得した楽音データを、メモリ構成情報に基づいて論理アドレス空間上に多重化してアロケートし、さらに該アロケートに伴い不揮発性記憶モジュールに楽音データを書き込むようにした。こうして得られた楽音データを保持する不揮発性記憶モジュールをアクセスモジュール２００Ｃに接続する。そしてマスターキーボード３００の打鍵に応じて発音させることにより、簡単に音色の更新ができる。【０２１９】
また不揮発性記憶モジュールに記憶された楽音データはファイルシステム部２３６によって楽音データファイルとして管理されるので、同じファイルシステム（ＦＡＴファイルシステム）に基づくパーソナルコンピュータなどの装置で管理したり編集したりすることができる。また他の記録装置や記録媒体などへのコピーも容易に行うことができる。【０２２０】
なお、楽音データを不揮発性メモリバンク１１０〜１１３に書き込む際に、不良ブロックが発生した場合は、適宜アドレス管理部１５５によって論物変換を行い、空きの良ブロックに書き込み直せばよい。【０２２１】
なお、アクセスモジュール２００Ｃが不揮発性記憶モジュール１００Ｃに書き込む楽音データをインターネット３１０から取得したが、パーソナルコンピュータなど他の装置から取得するようにしても構わない。【０２２２】
さらに、第３の実施の形態における楽音生成システムの楽音生成については第１の実施の形態による楽音生成システムと同様の効果がある。またこの楽音生成システムは汎用的なＦＡＴファイルシステムに基づいたシステムであるので、アクセスモジュールによって楽音データを書き込むことができる。従ってユーザが好みに応じて書き換えた楽音データを用いることができるので、汎用性の高いシステムであると言える。【０２２３】
（第４の実施の形態）
次に本発明の第４の実施の形態におけるデータ書き込みシステムについて、図３８を用いて説明する。本実施の形態のデータ書き込みシステムは、データ書き込みモジュール４００Ａと不揮発性記憶モジュール１００Ｃとから構成される。不揮発性記憶モジュール１００Ｃは、前述した第３の実施の形態における不揮発性記憶モジュール１００Ｃと同じものである。データ書き込みモジュール４００Ａは第３の実施の形態のアクセスモジュール２００Ｃのデータ書き込みのための機能を抽出したもので、図３８に示すように、入出力部４１０、ＣＰＵ部４２０、ドライバ部４３０を含む。ＣＰＵ部４２０は第３の実施の形態のファイルシステム部２３６、及び多重化部２３７を含む。なおデータ書き込みモジュール４００Ａにはインターネット３１０が接続されており、ユーザによるダウンロードの指示に応じて必要なデータをダウンロードできるものとする。データ書き込みモジュール４００Ａは第３の実施の形態のアクセスモジュール２００Ｃのデータ書き込み処理を実行するので、詳細な説明を省略する。【０２２４】
またデータ書き込みモジュール４００Ａはパーソナルコンピュータであってもよく、パーソナルコンピュータなどに組み込まれたモジュールであってもよい。【０２２５】
（第５の実施の形態）
図３９Ａ，図３９Ｂは、本発明の第５の実施の形態における楽音生成システムを示すブロック図である。楽音生成システムは、図３９Ａに示す不揮発性記憶モジュール１００Ｅと図３９Ｂに示すアクセスモジュール２００Ｅとを含んで構成される。不揮発性記憶モジュール１００Ｅは、並列に設けられた４つの不揮発性メモリバンク１１０〜１１３と、データ読み書き部１５０Ｅを含む。データ読み書き部１５０Ｅはホストインターフェイス１５１Ｅ、バッファ部１５２、メモリインターフェイス１５３、ＣＰＵ部１５４、アドレス管理部１５５及びバッファ部１５６を含む。【０２２６】
アクセスモジュール２００Ｅは、入出力部２１０Ｅ、信号処理部２２０，２２２、ＣＰＵ部２３０Ｅ、ドライバ部２５０を含み、３２チャンネル分の楽音を同時に出力できるようにしたものである。以下、チャンネル番号をＣＨ０〜ＣＨ３１とする。ＣＰＵ部２３０Ｅは楽音データバッファ２３１とチャンネルアサインテーブル２３２とＮＮテーブル２３３Ｃと演奏データバッファ２３４、転送監視部２３５、ファイルシステム部２３６、多重化部２３７に加えて、コンテンツ識別部２３８及びオーディオバッファ２３９を含む。【０２２７】
次に不揮発性記憶モジュール１００Ｅの不揮発性メモリバンク１１０〜１１３については前述した第３の実施の形態と同様であり、論理アドレス空間とクラスタ番号ＣＬＮ及び論理セクタ番号ＬＳＮとの関係、論理セクタ番号ＬＳＮとメモリセルアレイ１１０ｂ〜１１３ｂ内の構造との関係についても第３の実施の形態と同様である。本実施の形態においても、各不揮発性メモリバンク１１０〜１１３のＰＢ１〜ＰＢ７０４に楽音データが保持されている。論理空間上でＣＬ９０２４０以降、物理空間上ではＰＢ７０５以降はオーディオデータなどをユーザが多重化せずに書き込むエリアとする。ここで、論理アドレス空間は、ＰＢ０〜ＰＢ１０２２までに対応するものとする。すなわちＰＢ１０２３は論理アドレス指定によって読み書きできない領域（以下、システム領域という）である。これはユーザが誤って消去しないようにするためであり、メーカー側が直接物理アドレス指定によって書き込むことが可能である。【０２２８】
楽音データを記録した各ページ内の記録フォーマットは図２８と同様であり、論理セクタ番号ＬＳＮと物理セクタ番号ＰＳＮとの対応関係についても図２９と同様である。【０２２９】
次にデータ読み書き部１５０Ｅについて説明する。ホストインターフェイス１５１Ｅは外部バスを介してアクセスモジュール２００Ｅに接続されている。ホストインターフェイス１５１Ｅはアクセスモジュール２００Ｅから楽音データの読み出し指示情報を受信するとともに、不揮発性メモリバンク１１０〜１１３からバッファ部１５２を介して読み出された楽音データをアクセスモジュール２００Ｅに転送するブロックである。また読み書き部１５０Ｅは不揮発性記憶モジュール１００Ｅにユーザが入力した楽音データをファイルとして書き込むための書き込み機能を有している。【０２３０】
ホストインターフェイス１５１Ｅは内部にレジスタ１５１ａ，１５１ｂを含む。レジスタ１５１ａについては図３９と同様である。またレジスタ１５１ｂはオーディオデータ用のレジスタであって、読み出し指示情報を受け付けるものである。【０２３１】
バッファ部１５２、メモリインターフェイス１５３についても第３の実施の形態と同様である。【０２３２】
ＣＰＵ部１５４はホストインターフェイス１５１Ｅ、バッファ部１５２、メモリインターフェイス１５３、アドレス管理部１５５、バッファ部１５６に接続されており、データ読み書き部１５０Ｅ全体を制御するブロックである。【０２３３】
アドレス管理部１５５は論理アドレスと物理アドレスを変換する機能を有し、楽音データなどの書き込み中に物理ブロックが不良ブロックになる場合に物理ブロックを変更したりウェアレベリングを実行するものである。アドレス管理部１５５は内部にＲＡＭを持ち、ＲＡＭに論理物理変換テーブルを保持している。【０２３４】
またバッファ部１５６はオーディオデータを書き込み又は読み出すときに、オーディオデータを一時的に保持するバッファである。【０２３５】
次にアクセスモジュール２００Ｅの各ブロックについて、図３９Ｂを用いて詳細に説明する。演奏データは、外部のマスターキーボード３００の打鍵などの操作に応じて生成され、入出力部２１０Ｅを介してＣＰＵ部２３０Ｅに取り込まれる。またアクセスモジュール２００Ｅには、インターネット３１０が接続されており、ユーザによるダウンロードの指示に応じて必要なデータをダウンロードできるものとする。入出力部２１０Ｅはマスターキーボード３００から演奏データを入力するための端子と、信号処理部２２０が生成した楽音、及び信号処理部２２２が生成したオーディオデータを夫々デジタル−アナログ変換するＤＡコンバータと、該変換後の楽音を増幅するアンプ部、及びその出力を外部に出力するためのラインアウト端子を含む。また入出力部２１０Ｅはインターネット３１０から楽音データとオーディオデータを取得するとともに楽音と伴奏音（オーディオデータ）を出力するブロックである。【０２３６】
信号処理部２２０については第３の実施の形態と同様である。また信号処理部２２２は、オーディオデータの再生の際に伸長処理を行うブロックである。なお、伸長処理はオーディオデータの圧縮方式に応じた処理であれば何でも良い。またオーディオデータが非圧縮であれば、特に伸長処理は行わないものとする。【０２３７】
ＣＰＵ部２３０Ｅは、入出力部２１０Ｅが受信した演奏データについてチャンネルアサイン処理を行い、ドライバ部２５０を介して読み出し指示情報を不揮発性記憶モジュール１００Ｅに転送するとともに、不揮発性記憶モジュール１００Ｅから読み出した楽音データと、演奏データの一部を信号処理部２２０に供給するブロックである。【０２３８】
ＣＰＵ部２３０Ｅに含まれる楽音データバッファ２３１、チャンネルアサインテーブル２３２、ＮＮテーブル２３３Ｃ、演奏データバッファ２３４、転送監視部２３５、ファイルシステム部２３６、多重化部２３７については、第３の実施の形態と同様である。【０２３９】
ＣＰＵ部２３０Ｅに含まれるコンテンツ識別部２３８は、外部から与えられるデータが楽音データかオーディオデータかを識別するためのブロックである。【０２４０】
またＣＰＵ部２３０Ｅ内のオーディオバッファ２３９は、オーディオデータを一時的に保持するためのブロックである。【０２４１】
以上のように構成された、本発明の第５の実施の形態における楽音生成システムの動作について説明する。【０２４２】
［初期状態］
まず、不揮発性記憶モジュール１００Ｅの出荷前において、メーカー側で処理する初期化については第３の実施の形態と同様である。【０２４３】
［電源立ち上げ時の初期化処理］
アクセスモジュール２００Ｅ及び不揮発性記憶モジュール１００Ｅの電源立ち上げ後、夫々初期化処理を開始する。図４０ＡはＣＰＵ部１５４の通常処理、図４０Ｂ，図４０Ｃはその割り込み処理を示すフローチャートである。【０２４４】
不揮発性記憶モジュール１００ＥのＣＰＵ部１５４は、図４０Ａのフローチャートに示すように、Ｓ１００において初期化処理を行う。初期化処理では、バッファ部１５２内のシングルポートＲＡＭ１５２ａと１５２ｂ及びホストインターフェイス１５１Ｅのレジスタ１５１ａ，１５１ｂをクリアする。またアドレス管理部１５５が不揮発性メモリバンク１１０のＰＢ１０２３に記憶された論物変換テーブルを内部のＲＡＭに読み出す。論物変換テーブルの読み出しが完了した時点で、不揮発性記憶モジュール１００Ｅはアクセスモジュール２００Ｅに対してアクセス許可を通知する。その後、ホストインターフェイス１５１Ｅを介して、初期化が完了したことを通知する。【０２４５】
一方、アクセスモジュール２００ＥのＣＰＵ部２３０Ｅは図４１Ａのフローチャートに示すように、Ｓ２００において初期化処理を行う。初期化処理では、ＣＰＵ部２３０Ｅは、不揮発性メモリバンク１１０〜１１３のＰＢ０に記憶されたＦＡＴテーブルやファイルエントリをファイルシステム部２３６に読み出し、ファイルシステム部２３６は、既に不揮発性記憶モジュール１００Ｅに記憶されている楽音データの開始クラスタ番号（ＣＬ１２８）を認識する。【０２４６】
さらに、その後、アクセスモジュール２００Ｅは不揮発性記憶モジュール１００Ｅに対して、記録データ特性情報とメモリ構成情報の読み出し指示情報を転送する。これによりＣＰＵ部２３０Ｅは不揮発性メモリバンク１１３のＰＢ１０２２に記憶された記録データ特性情報、及びＰＢ１０２３に記憶されたメモリ構成情報を読み出す。図４２Ａはメモリ構成情報を読み出すための読み出し指示情報を示す。尚、図４２Ａにおいて、ｂ２７〜ｂ２３はメモリ構成情報識別コードを示す。＊はどのような値であっても構わないことを表す記号である。また初期化処理では、ＣＰＵ部２３０Ｅは信号処理部２２０のリセットや、楽音データバッファ２３１内のデュアルポートＲＡＭ２３１ａ，２３１ｂのクリアを行う。信号処理部２２０のリセットにより、信号処理部２２０は内部のＤＳＰのプログラムカウンタのカウントアップを開始する。また初期化処理では、ＣＰＵ部２３０Ｅはチャンネルアサインテーブル２３２の初期設定を行う。
（１）ＳＯＮを値０、即ちＣＨ０〜３１を空きチャンネルに設定
（２）ＫＯＮ、ＰＤ、ＮＮ、ＴＰ、ＬＤ、Ｆ、ＳＣ、ＷＥ、ＤＱ、Ｍ、Ｄを値０に設定
（３）ＥＥを値１に設定【０２４７】
ＣＰＵ部２３０Ｅは、図１１に示す記録データ特性情報を取得すると、サンプリング周期（２２．７μｓ）を信号処理部２２０内のタイマーにセットし、１サンプリング時間の信号処理のタイムスロットの１周期を決定する。このタイマーは信号処理部２２０内のＤＳＰの１周期を制御するためのタイマーとして機能する。ＣＰＵ部２３０Ｅは記録データ特性情報内の１サンプル容量（２Ｂｙｔｅ）とフラグ割り当てビット（ｂ０）を信号処理部２２０内のＲＡＭのパラメータとして書き込み、楽音データが図１０に示すビットフォーマットのどのビット位置に相当するかを決定するためのパラメータとして使用する。【０２４８】
また、ＣＰＵ部２３０Ｅは記録データ特性情報内の最大発音チャンネル数（３２ＣＨ）によって、チャンネルアサインテーブル２３２のチャンネル枠を決定するとともに、信号処理部２２０のタイムスロットのチャンネル数を決定する。また、信号処理部２２０はリバーブとコーラスによりエフェクト処理を決定する。図示の場合にはエフェクト処理としてリバーブのみを行うことを決定する。【０２４９】
さらに、ＣＰＵ部２３０Ｅは、図１２に示すメモリ構成情報を取得すると、バス数（１）と１バスあたりのメモリバンク数（４）に基づき、式（５）を実行することにより並列数を求める。求めた並列数によりＬＳＮのビットフォーマットが決まる。本実施の形態においては、並列数が値４であるので、バンクセレクトのビット数は２となり、ＬＳＮのビットフォーマットは図２９に示すとおりとなる。また例えば並列数が値２の場合には、バンクセレクトに割り当てられるビット数は１（ｂ３）となり、それに伴いページ番号はｂ１１〜ｂ４にＰＢＮはｂ２１〜ｂ１２に割り当てられることとなる。【０２５０】
ＣＨＮとバンクセレクトとの関係は、式（６）によって与えられる。本実施の形態においては、並列数が値４であるので、ＣＨＮとバンクセレクトとの関係は下記（ａ）〜（ｂ）に示す４通りとなる。
（ａ）ＣＨ０、４、８、１２、１６、２０、２４、２８
・・・バンクセレクト＝０（不揮発性メモリバンク１１０）
（ｂ）ＣＨ１、５、９、１３、１７、２１、２５、２９
・・・バンクセレクト＝１（不揮発性メモリバンク１１１）
（ｃ）ＣＨ２、６、１０、１４、１８、２２、２６、３０
・・・バンクセレクト＝２（不揮発性メモリバンク１１２）
（ｄ）ＣＨ３、７、１１、１５、１９、２３、２７、３１
・・・バンクセレクト＝３（不揮発性メモリバンク１１３）【０２５１】
ＬＳＮのビットフォーマットは図２９に示すとおりであるので、図２７Ａに示すＬＳ８１９２〜ＬＳ８２２３におけるＬＳＮとＣＨＮとの関係は、下記（ｅ）〜（ｈ）に示すものとなる。
（ｅ）ＣＨ０、４、８、１２、１６、２０、２４、２８
・・・ＬＳ８１９２〜ＬＳ８１９９
（ｆ）ＣＨ１、５、９、１３、１７、２１、２５、２９
・・・ＬＳ８２００〜ＬＳ８２０７
（ｇ）ＣＨ２、６、１０、１４、１８、２２、２６、３０
・・・ＬＳ８２０８〜ＬＳ８２１５
（ｈ）ＣＨ３、７、１１、１５、１９、２３、２７、３１
・・・ＬＳ８２１６〜ＬＳ８２２３【０２５２】
ＣＰＵ部２３０Ｅは、図１２に示すメモリ構成情報の中のセクタサイズ（５１２Ｂｙｔｅ）を参照し、不揮発性記憶モジュール１００Ｅからのデータの読み出し単位のサイズを５１２Ｂｙｔｅとして管理する。また式（７）を実行することにより、セクタ毎の総サンプル数（以下、ｕｓｎという）を決定する。本実施の形態においては、セクタサイズが５１２Ｂｙｔｅ、１サンプルサイズが２Ｂｙｔｅ、タッチ数が２であるので、ｕｓｎ＝１２８サンプルとなる。【０２５３】
さらにＣＰＵ部２３０Ｅは、図１１に示す記録データ特性情報の中の１ノートあたりの占有容量と、メモリ構成情報の中のページサイズと１物理ブロックあたりのページ数ＴＰＮ（この場合は２５６）に基づき、式（８）を実行することにより、１ノートあたり必要な物理ブロック数を算出する。そして、ファイルシステム部２３６がファイルエントリから抽出した楽音データの開始クラスタ（ＣＬ１２８）に基づき、最低音Ａ-1から最高音Ｃ7まで夫々のノートに対応するＰＢＮを決定し、図３２に示すＮＮテーブル２３３Ｃを生成する。【０２５４】
以上メインルーチンにおいて、記録データ特性情報とメモリ構成情報を読み出し、各種パラメータの設定処理によってＣＰＵ部２３０Ｅは初期化処理（Ｓ２００）を終える。そして通常動作処理Ｓ２０１に移行し、割り込みをイネーブルにして外部のマスターキーボード３００からの演奏データを受付ける。【０２５５】
［通常動作時の処理］
（１）全体的な動作説明
演奏データの入力から楽音の生成、及びオーディオデータの読み出しから生成に至る全体的な動作説明を、ＣＰＵ部２３０Ｅのフローチャートを中心に説明する。尚ＣＬＮ９０２４０以降には、既に何らかのオーディオデータが書き込まれているものとして説明する。ＣＰＵ部２３０のフローチャートは、図４１Ａに示すメインルーチンと、図４１Ｂに示す割り込みルーチンの２つのルーチンからなる。割り込みルーチンは、マスターキーボード３００の演奏操作によって演奏データがアクセスモジュール２００Ｅに転送された際に起動されるルーチンである。メインルーチンの処理中にマスターキーボード３００の演奏操作がなされると、即座に割り込みルーチンに移行する。尚、割り込みルーチンは多重割り込みが可能、即ち割り込みルーチン中であっても、次の割り込みを受け付けるものとする。【０２５６】
まず、通常動作処理Ｓ２０１への移行後、マスターキーボード３００の演奏操作がなされず再生の指示がないとすると、全チャンネルの強制消音フラグＦは値０であり、また読み出し要求フラグＤＱは値０であるので、Ｓ２０２とＳ２０７，Ｓ２１０の分岐はＮｏとなり、Ｓ２０２，Ｓ２０７，Ｓ２１０の分岐処理を永続的に実行することとなる。【０２５７】
マスターキーボード３００の演奏操作がなされると、図４１Ｂに示す割り込みルーチンが起動される。この割り込み処理については第３の実施の形態と同様であり、詳細な説明を省略する。【０２５８】
尚アクセスモジュール２００Ｅは読み出し先のＬＳＮを決定すると、図４２Ｂはフォーマットにて不揮発性記憶モジュール２００Ｅに読み出し指示情報を転送し、所望の楽音データを読み出す（Ｓ２３０）。ここでｂ３３〜ｂ３０のコンテンツ識別コードにおける００００は楽音データであることを示す。【０２５９】
また信号処理部２２０の動作についても図１８に示す第１の実施の形態と同様であり、説明を省略する。信号処理部２２０は信号処理を、１サンプリング周期（２２．７μ秒）毎に繰り返して実行する。入出力部２１０ＥのＤＡコンバータは２２．７μ秒毎に処理後の楽音データをデジタル−アナログ変換し、その結果が所望の楽音としてラインアウト端子を介して外部に出力する。該楽音は外部のアンプとスピーカを介してピアノの演奏音が得られる。【０２６０】
さて、図４１ＡのＣＰＵ部２３０Ｅのメインルーチンの説明に戻り、Ｓ２０２以降の処理について説明する。ＣＰＵ部２３０ＥはＳ２０２においてチャンネルアサインテーブル２３２において全てのチャンネルのＦを調べる。Ｆが値１のチャンネルの中でＥＥが値１のチャンネルがあれば、該チャンネルのＦを値０にクリアし（Ｓ２０３）、該チャンネルにチャンネルアサイン処理を行う（Ｓ２０４）。【０２６１】
次に楽音データの読み出し指示（Ｓ２０５）と信号処理部２２０の発音制御（Ｓ２０６）を行う。Ｓ２０５とＳ２０６は前述したＳ２３０とＳ２３１と同じ処理である。【０２６２】
次にＳ２０７において、ＤＱが値１のチャンネルをサーチし、あれば該チャンネルの楽音データの読み出し指示を行う。尚Ｓ２０７やＳ２０２におけるチャンネルアサインテーブル２３２のサーチはＣＨ０から昇順に行う。【０２６３】
さて図４１Ａに示すメインルーチンにおいて、ＤＱ＝１のチャンネルがなければ再生指示があるかどうかを判別する。マスターキーボード３００の演奏操作の如何に関わらず、ユーザが入出力部２１０Ｅを介して再生指示を行うと（Ｓ２１０）、Ｓ２１１に移行し不揮発性記憶モジュール１００Ｅに対してオーディオデータの読み出し指示情報を転送する。【０２６４】
次に不揮発性記憶モジュール１００Ｅの楽音データの読み出しについて図４０Ａ，図４０Ｂ及び図４３Ａ，図４３Ｂのフローチャートを中心に説明する。ＣＰＵ部１５４は図４０Ａに示すメインルーチンと図４０Ｂ，図４０Ｃに示す割り込みルーチンの３つのルーチンを実行する。尚該割り込みルーチンは多重割り込みを許可しない。即ち割り込みルーチン処理中に割り込みがあってもマスクされるものとする。【０２６５】
まず、メインルーチンにおいて、前述した初期化処理（Ｓ１００）の後に、通常処理（Ｓ１０１）に移行する。アクセスモジュール２００Ｅから読み出し指示情報が転送されない間は、レジスタ部１５１ｂでの受信はなく、図３０に示すホストインターフェイス１５１Ｅのレジスタ１５１ａの読み出し指示受信フラグＲＲやリードコマンド発行フラグＲＣは全て値０であるので、Ｓ１０２とＳ１０５，Ｓ１０９の判断分岐処理を実行しつづけることとなる。【０２６６】
アクセスモジュールからデータの読み出しの指示があればステップＳ１０３に進んでバッファ部１５６にデータの読み出しを指示する。そしてバッファ部１５６に保持されている読み出し要求クラスタに達したかどうかを判別し、このクラスタに達するまで読み出しを繰り返す。次に読み出し要求のクラスタに達すると、ホストインターフェイス１５１Ｅは、図４３ＡのメインルーチンのＳ４３０からＳ４３１に移行する。読み出し指示情報は図４２Ｃに示す通り、コンテンツ識別コードｂ３３〜ｂ３０、ｂ２９，ｂ２８の読み出しコード、ｂ２７〜ｂ２３のＣＨＮ、及びｂ２２〜ｂ０のＬＳＮが含まれている。コンテンツ識別コードは１６種類のコンテンツを識別できる４ビットのコードである。コンテンツ識別コードは値００００（２進数）の時に楽音データの読み出しを表し、値０００１（２進数）の時にオーディオデータの読み出しを表す。音楽データの読み出しの場合にはステップＳ４３２に進んでレジスタ１５１ａへの受信を行う。レジスタ１５１ａに読み出し指示情報のＣＨＮとＬＳＮを保持する。その後、レジスタ１５１ａにおいて、図４２Ｂに示す読み出し指示情報に付与されているＣＨＮに対応するＲＲを値１にセットする（Ｓ４３３）。その後、Ｓ４３０に戻り、ＣＰＵ部１５４のデータ転送指示、即ちバッファ部１５２からアクセスモジュール２００Ｅへのデータ転送指示があるまでＳ４３０をループする。オーディオデータの読み出しの場合にはＳ４３４に進んでレジスタ１５１ｂへの受信を行う。そしてステップＳ４３３に進んでＣＰＵ部１５４にデータの受信を通知する。尚、図３０に示す例は、ＣＨ０〜３の読み出し指示がなされ、以降に説明する処理によって各フラグが変化する様子を示した例である。具体的には、ＣＨ０〜３の読み出し指示と不揮発性メモリバンク１１０〜１１３へのリードコマンドの発行を完了し、不揮発性メモリバンク１１０、１１１からバッファ部１５２への楽音データの転送を完了し、さらにＣＨ０のみ、バッファ部１５２からアクセスモジュール２００Ｅへの楽音データの転送を完了した時点までを表している。この動作によって、レジスタ１５１ａ内の各フラグの値が変化することとなる。【０２６７】
ＣＰＵ部１５４の処理においては、ＣＨ０〜３のＲＲが値１となったので、Ｓ１０２からＳ１０３に移行する。ＣＨ０〜３に対応する不揮発性メモリバンク、即ち不揮発性メモリバンク１１０〜１１３は、この時点で楽音データの読み出しを行っていないので、アクセスフラグ（値０）がメモリインターフェイス１５３からＣＰＵ部１５４に通知される。ＣＰＵ部１５４は該アクセスフラグ（値０）により対応する不揮発性メモリバンクがアクセス中でないと認識しＳ１０４に移行する。【０２６８】
Ｓ１０４において、ＣＰＵ部１５４はＣＨ０に対応するリードコマンドを不揮発性メモリバンク１１０に出力するようにメモリインターフェイス１５３に指示する。さらに、レジスタ１５１ａの対応するチャンネルのＲＣを値１にセットする（Ｓ１０５）。以上の処理をレジスタ１５１ａにおいてＲＲが値１となっているチャンネル、即ちＣＨ０〜３迄を実行することとなる。【０２６９】
データ読み書き部１５０Ｅが不揮発性メモリバンクに発行するリードコマンドのタイムチャートは図２３と同様である。コマンド１は、次に物理アドレスの転送開始を通知するコマンドであり、コマンド２はメモリセルアレイ１１０ｂ〜１１３ｂからＩ／Ｏレジスタ１１０ａ〜１１３ａに物理アドレスに記憶されている楽音データを読み出すことを指示するコマンドである。この物理アドレスは、読み出したい楽音データが記憶されているスタート番地（バイト単位）を指定するものであり、該スタート番地から対応するページの最終番地までの楽音データがＴＲ中に対応するＩ／Ｏレジスタに読み出される。その後、楽音データ転送時間ＴＴの間に５１２個のリードクロックを与えることによって、所望の５１２Ｂｙｔｅ分の楽音データがＩ／Ｏレジスタからバッファ部１５２に読み出されることとなる。【０２７０】
また、バンクセレクトは前述した通りＣＨＮに対応する情報であり、メモリインターフェイス１５３の内部でエンコードされ、不揮発性メモリバンク１１０〜１１３を選択するための４本のＣＥ信号（チップイネーブル信号）として機能する。メモリインターフェイス１５３はメモリバスを介して不揮発性メモリバンク１１０〜１１３それぞれ独立にＣＥ信号を与える。また、アクセスフラグＡＦは図２３に示すとおり、コマンド１が与えられる時刻t1から楽音データの転送期間（ＴＴ）が終了する時刻t4まで値１となる。【０２７１】
ＣＨ０〜３に対応するリードコマンドがそれぞれ不揮発性メモリバンク１１０〜１１３に発行され終わると、ＣＨ０〜３のＲＣが全て値０となるので、Ｓ１０２からＳ１０６に移行する。そして、リードコマンド（図２３）によって読み出される楽音データをバッファ部１５２に転送するための処理が行われる。【０２７２】
Ｓ１０６においてデータ転送完了フラグＴＥが値０のチャンネル、即ちＣＨ０〜３の全てについて、対応する不揮発性メモリバンクがデータレディか否かをチェックする（Ｓ１０７）。データレディとはメモリインターフェイス１５３が管理するデータレディフラグＤＲＦが値１の時にデータレディ、即ちメモリセルアレイからＩ／Ｏレジスタに所望の楽音データを読み出し終えたことを表す。ここで、データレディフラグＤＲＦはビジー信号が値１から値０に変化した時刻t3に値１にセットされ、Ｉ／Ｏレジスタからバッファ部１５２に楽音データ５１２Ｂｙｔｅ分を転送し終えた時刻t4で値０になる。【０２７３】
尚、前述したＣＥ信号とリードクロックは、メモリインターフェイス１５３からメモリバスを介して不揮発性メモリバンク１１０〜１１３に各々独立に入力され、ビジー信号は、不揮発性メモリバンク１１０〜１１３の各々から独立にメモリバスを介してメモリインターフェイス１５３に入力される。【０２７４】
Ｓ１０７において、データレディであればＳ１０８に移行し、データレディでなければＳ１０２に戻る。Ｓ１０８において、メモリインターフェイス１５３がデータ転送中でなければＳ１０９に移行し、データ転送中であればＳ１０２に戻る。Ｓ１０９において、ＣＰＵ部１５４は、ＤＲＦが値１となった不揮発性メモリバンクからバッファ部１５２に対して、楽音データを転送するようにメモリインターフェイス１５３に転送指示を出す。その後、対応するチャンネルのリードコマンド発行フラグＲＣを値０にリセットし（Ｓ１１０）、Ｓ１０２に戻る。【０２７５】
尚、Ｓ１１０の後にＳ１０６に戻らないのは、アクセス中でない不揮発性メモリバンクがあれば、先にリードコマンドを発行しておくためである。また、Ｓ１０８でメモリインターフェイス１５３のデータ転送有無をチェックするのは、不揮発性メモリバンク１１０〜１１３がメモリバスを共有しているため、同時刻に楽音データを異なる不揮発性メモリバンクから読み出すことができないためである。【０２７６】
Ｓ１０９のデータ転送指示の後に、メモリインターフェイス１５３が不揮発性メモリバンクのいずれかからバッファ部１５２へのデータ転送が完了すると、当該データ転送の完了をトリガーとして、ＣＰＵ部１５４は割り込みルーチンに移行する。【０２７７】
図４０Ｂに示す割り込みルーチンにおいて、レジスタ１５１ａの対応するチャンネルのＴＥを値１にセットする（Ｓ１２１）。次いでＲＡＭ切り替え回路１５２ｃのＲＡＭ切り替え端子１５２ｄへの入力値をトグルさせ切り替える（Ｓ１２２）。例えば、値０から値１に変更することにより、メモリインターフェイス１５３からの転送先をシングルポートＲＡＭ１５２ｂに、ホストインターフェイス１５１Ｅへの転送元をシングルポートＲＡＭ１５２ａに切り替える。【０２７８】
その後、ＣＰＵ部１０４はホストインターフェイス１５１Ｅにバッファ部１５２へのデータ転送が完了したチャンネルのＣＨＮを通知するとともに、バッファ部１５２に一時記憶された楽音データをアクセスモジュール２００Ｅに転送することを指示する（Ｓ１２３）。【０２７９】
次に、ホストインターフェイス１５１Ｅは、Ｓ１２３におけるＣＰＵ部１５４のデータ転送指示に対応した割り込みにより、図４３ＢのＳ４４０に移行し、バッファ部１５２からアクセスモジュール２００Ｅに対して楽音データの転送を行う。このとき、Ｓ１２３においてＣＰＵ部１５４が通知したＣＨＮを楽音データに付加してアクセスモジュール２００Ｅに転送することとなる（図１７）。その後、レジスタ１５１ａにおいて対応するチャンネルのＲＲとＴＥを値０にリセットする（Ｓ４４１）。レジスタ１５１ａのＲＲが値０になっているエリアは、次の新たな読み出し指示情報のエリアとして解放されたエリアとなる。因みに、ＲＲが値０になっている場合は、Ｓ１０９によりＲＣも値０になっているし、Ｓ４４１によりＴＥも値０になっている。尚、レジスタ１５１ａへの読み出し指示情報の一時記憶は、最上段のエリアから順に使用され、最下段に到達した時点で再び最上に戻るように、即ち巡回的に使用される。【０２８０】
アクセスモジュール２００Ｅは、ホストインターフェイス１５１Ｅから楽音データを受信すると、該楽音データに付加されたＣＨＮに対応する楽音データバッファ２３１のエリアに、該楽音データを一時記憶する。以降のアクセスモジュール２００Ｅの処理は前述した通りである。因みに、バッファ部１５２への、あるいはバッファ部１５２からの楽音データの転送時間は式（１７）により、約１２．８μ秒となる。【０２８１】
次に読み出し指示がオーディオデータの読み出しである場合（図４１ＡのステップＳ２１１）について説明する。コンテンツ識別コードが０００１の場合はオーディオデータを示す。オーディオデータの読み出しであれば、割り込みルーチンに進む。図４０Ｃに示す割り込みルーチンにおいて、ＲＡＭ切り替え回路１５２ｃのＲＡＭ切り替え端子１５２ｄへの入力値をトグルさせ切り替える（Ｓ１３１）。例えば、値０から値１に変更することにより、メモリインターフェイス１５３からの転送先をシングルポートＲＡＭ１５２ｂに、ホストインターフェイス１５１Ｅへの転送元をシングルポートＲＡＭ１５２ａに切り替える。その後、ＣＰＵ部１５４はホストインターフェイス１５１Ｅにバッファ部１５６に一時記憶されたオーディオデータをアクセスモジュール２００Ｅに転送することを指示する（Ｓ１３２）。【０２８２】
読み出し指示によって不揮発性記憶モジュール１００Ｅから読み出されたオーディオデータはオーディオバッファ２３９でバッファリングされる。信号処理部２２２はオーディオデータをデコードし、入出力部２１０Ｅを介して伴奏音として出力する。なおオーディオバッファ２３９でのバッファリング制御や信号処理部２２２でのデコード処理は一般的な技術によって実現できるので、詳細説明は省略する。【０２８３】
更に発音遅延時間についても、離散的な打鍵の場合、集中的な打鍵の場合、急速消音の後に集中的な打鍵を行う場合のいずれの場合も図２４Ａ〜図２４Ｃのタイムチャートに示すように、発音遅延時間の許容範囲である１ｍ秒より短い値である。従って本実施の形態の楽音生成システムは、電子楽器などの楽音生成システムとして適用できる。【０２８４】
次にアクセスモジュールの楽音データ及びオーディオデータの書き込み処理について、図４４を用いて説明する。図４４は、アクセスモジュール２００Ｅの楽音データ及びオーディオデータ書き込み処理を示すフローチャートである。また図４５はインターネット３１０から取得した楽音データのファイルアロケーションを示す説明図である。【０２８５】
まず、楽音データの書き込みに先立って、アクセスモジュール２００Ｅが不揮発性記憶モジュール１００Ｅに記憶されているデータを消去すべく、物理フォーマットを行う（Ｓ５３０）。物理フォーマットにより、ファイルシステム部２３６は論理アドレス空間が一旦論理消去され、ドライバ部２５０を介して不揮発性記憶モジュール１００Ｅに消去指示を転送する。なお消去指示の仕様に係る詳細説明は省略する。【０２８６】
ここで、簡単のため図２９におけるＬＳＮのｂ２２〜ｂ１３とＰＳＮのｂ２０〜ｂ１１は一対一に対応しているものとする。そうすると、前述した消去指示により不揮発性メモリバンク１１０〜１１３のＰＢ０〜ＰＢ１０２２は物理消去されることとなる。なお、ＰＢ１０２３は前述した通り、論理アドレスの範囲外であるので物理消去されない。更にＰＢ０〜１０２２の物理ブロックが消去されたことを示すＦＡＴテーブル等をＰＢ０に記録する（Ｓ５３１）。【０２８７】
図４６Ａは、楽音データの書き込み前における不揮発性メモリバンク１１０〜１１３の記憶状態を表す説明図である。図４６Ａにおいて、不揮発性メモリバンク１１０〜１１３のＰＢ０には、前述した物理フォーマット（Ｓ５３０）の後の書き込みにより、通常領域が全て論理消去されていたことを管理するためのＦＡＴテーブルなどが記憶されている。それに伴い不揮発性メモリバンク１１０〜１１３のＰＢ１〜ＰＢ１０２２は全て消去された状態となっている。【０２８８】
次にＣＰＵ部２３０Ｅのコンテンツ識別部２３８は、入出力部２１０Ｅを介して取得したユーザのダウンロード指示が楽音データのダウンロード指示なのかオーディオデータのダウンロード指示なのかを識別する（Ｓ５３２）。【０２８９】
楽音データのダウンロードである場合には、Ｓ５３３に進んで不揮発性メモリバンク１１３のＰＢ１０２３に記憶されたメモリ構成情報（ＭＳＩ）を読み出す。多重化部２３７はメモリ構成情報内のページサイズ（４ｋＢｙｔｅ）を多重化単位サイズとして算出する（Ｓ５３４）。【０２９０】
次にＣＰＵ部２３０Ｅは、入出力部２１０Ｅを介して入力されたユーザのダウンロード指示に応じて、インターネット３１０から楽音データのダウンロードを開始する（Ｓ５３５）。【０２９１】
インターネットからダウンロードされる情報は、図４５に示すようにヘッダーと楽音データとからなる形式である。ヘッダーには楽音データ長や記録データ特性情報ＲＤＩなどが含まれる。そこで記録データ特性情報（ＲＤＩ）をＣＬ１３０９４３の最後尾のＬＳＮにアロケートするとともに（Ｓ５３６）、ドライバ部２５０を介して書き込み指示情報により記録データ特性情報を書き込む（Ｓ５３７）。【０２９２】
不揮発性記憶モジュール１００Ｅは、転送された記録データ特性情報をデータ読み書き部１５０Ｅによって、不揮発性メモリバンク１１３のＰＢ１０２２のＰ２５５の最後尾のＰＳＮに書き込む。【０２９３】
なおデータ読み書き部１５０Ｅによる書き込みにおいて、書き込み先の物理ブロックが不良ブロックになった場合は、アドレス管理部１５５が他の空き物理ブロックをサーチし、該空きブロックに書き込み直すとともに、該空きブロックを論物変換テーブルに登録することとなる。このような物理ブロックの代替は不揮発性メモリバンク１１０〜１１３毎に行われるものである。すなわち異なる不揮発性メモリバンク間で物理ブロックの代替は行われないものとする。【０２９４】
次にＣＰＵ部２３０Ｅの多重化部２３７は、図４５に示すように、多重化単位サイズ（４ｋＢｙｔｅ）毎に並列数（４並列）分、楽音データを論理アドレス空間に多重化してアロケートする（Ｓ５３８）。そして多重化部２３７は多重化した楽音データをファイルシステム部２３６に渡す。ファイルシステム部２３６はこの多重化された楽音データを論理アドレス空間にアロケートする。なお図４５においては、簡単のために楽音データの先頭のアロケート先をＣＬ１２８としたが、空きクラスタであればどこを先頭クラスタとしてもよい。【０２９５】
前述したアロケートに伴い、ＣＰＵ部２３０Ｅはドライバ部２５０を介して書き込み指示情報により楽音データの書き込みを行う（Ｓ５３９）。図４７は、楽音データの書き込み指示情報を示すビットマップである。【０２９６】
その後、楽音データと、該楽音データに対応する記録データ特性情報をセットとして１つの楽音データファイルとして登録すべく、ＦＡＴテーブルの書き込みと（Ｓ５４０）、ファイルエントリの書き込みを行う（Ｓ５４１）。【０２９７】
こうして最低音から最高音までの楽音データを不揮発性メモリバンク１１０〜１１３に多重化して書き込むことにより、その記憶状態は図４６Ａに示す状態から図４６Ｂに示す状態に変化する。図４６Ｂは、楽音データの書き込み後における不揮発性メモリバンク１１０〜１１３の記憶状態を表す説明図である。図４６Ｂにおいて、楽音データは不揮発性メモリバンク１１０〜１１３のＰＢ１〜ＰＢ７０４に記憶され、記録データ特性情報は不揮発性メモリバンク１１３のＰＢ１０２２に記憶される。またＦＡＴテーブルやファイルエントリなどの管理情報は、不揮発性メモリバンク１１０〜１１３のＰＢ０に記憶されたものから更新されるため、その他の空き物理ブロックの中で不揮発性メモリバンク１１０〜１１３のＰＢ７０５に記憶される。なお空き物理ブロックであれば、ＰＢ７０５に限定されることはない。【０２９８】
一方Ｓ５３２において、オーディオデータのダウンロード指示であることを識別すると、Ｓ５５０に移行し、オーディオデータのダウンロードを開始する。【０２９９】
ダウンロードされたオーディオデータは多重化されることなくファイルシステム部２３６に渡される。ファイルシステム部２３６は、図４５に示すようにオーディオデータを論理アドレス空間にアロケートする（Ｓ５５１）。なお図４５においては、簡単のためにオーディオデータの先頭のアロケート先を楽音データの次のＣＬ９０２４０としたが、空きクラスタであればどこを先頭クラスタとしてもよい。【０３００】
前述したアロケートに伴い、ＣＰＵ部２３０Ｅはドライバ部２５０を介して書き込み指示情報（図４７）によりオーディオデータの書き込みを行う（Ｓ５５２）。オーディオデータの書き込みにおいて、ホストインターフェイス１５１Ｅはオーディデータ用のレジスタ１５１ｂに書き込み指示情報を受け付ける。データ読み書き部１５０Ｅはオーディデータ専用に設けられたバッファ部１５６を介してオーディオデータの書き込みや読み出しを行うものとする。なおオーディオデータの読み出しの際には楽音データの読み出しのように読み出し指示情報を複数保持する必要はない、すなわち従来のメモリカードで実現している方法で簡単に実現できるので詳細説明は省略する。【０３０１】
その後、読み書き部１５０Ｅは書き込まれたオーディオデータをオーディオデータファイルとして登録すべく、ＦＡＴテーブルの書き込みと（Ｓ５５３）、ファイルエントリの書き込みを行う（Ｓ５５４）。以上の書き込み処理によって、不揮発性記憶モジュール１００Ｅには多重化された楽音データと、多重化されていないオーディオデータとが記憶されることとなる。【０３０２】
以上のように、アクセスモジュール２００Ｅが、インターネットなどから取得した楽音データを、メモリ構成情報に基づいて論理アドレス空間上に多重化してアロケートし、さらに該アロケートに伴い不揮発性記憶モジュールに楽音データを書き込むようにした。またオーディオデータも外部から取得して不揮発性モジュールに書き込むようにした。【０３０３】
またインターネットなどから取得したデータが楽音データなのかオーディオデータなのかをコンテンツ識別部２３８が識別し、それに応じてファイルシステム部２３６が楽音データを論理アドレス空間上で多重化して管理し、オーディオデータを論理アドレス空間上で多重化せずに管理するようにした。即ちコンテンツ種に応じて多重化するか否かの記憶形式を異ならせるようにしたので、不揮発性記憶モジュール１００Ｅの記憶容量を合理的に使用することができる。こうして得られた楽音データ、オーディオデータを保持する不揮発性記憶モジュールをアクセスモジュール２００Ｅに接続する。そしてマスターキーボード３００の打鍵に応じて発音させることにより、簡単に音色の更新、オーディオデータの再生ができる。すなわち本実施の形態の楽音生成システムは、オーディオデータを伴奏音とした電子楽器にも応用することが可能となる。【０３０４】
また不揮発性記憶モジュールに記憶された楽音データはファイルシステム部２３６によって楽音データファイルとして管理されるので、同じファイルシステム（ＦＡＴファイルシステム）に基づくパーソナルコンピュータなどの装置で管理したり編集したりすることができる。また他の記録装置や記録媒体などへのコピーも容易に行うことができる。【０３０５】
なお、楽音データを不揮発性メモリバンク１１０〜１１３に書き込む際に、不良ブロックが発生した場合は、適宜アドレス管理部１５５によって論物変換を行い、空きの良ブロックに書き込み直せばよい。【０３０６】
なお、アクセスモジュール２００Ｅが不揮発性記憶モジュール１００Ｅに書き込む楽音データをインターネット３１０から取得したが、パーソナルコンピュータなど他の装置から取得するようにしても構わない。【０３０７】
以上のように、本実施の形態に示す楽音生成システムでは、楽音データの再生について第１の実施の形態と同様の効果を有する。さらに、第５の実施の形態における楽音生成システムはＦＡＴファイルシステムに基づいたシステムである。ＦＡＴファイルシステムは汎用的なファイルシステムであり、アクセスモジュールによって楽音データ、オーディオデータを書き込むことができる。従ってユーザが好みに応じて書き換えた楽音データ、オーディオデータを用いることができるので、汎用性の高いシステムであると言える。【０３０８】
不揮発性記憶モジュール１００Ｅはメモリカードのようなリムーバブル記憶装置であってもよいし、電子楽器などの装置に組み込まれたメモリ部であってもよい。また、アクセスモジュール２００Ｅは電子楽器などの装置であってもよいし、電子楽器などの装置に組み込まれたアクセス回路部であってもよい。【０３０９】
なお、本実施の形態における楽音生成システムは、マスターキーボード３００による演奏音（楽音）の伴奏音としてオーディオデータを使用することを想定したシステムであるが、オーディオデータはマイナスワンソース、すなわち1つの楽器音（例えばピアノ）だけが収録されていないオーディオソースであることが好ましい。【０３１０】
なお本実施の形態においてはインターネット３１０からオーディオデータを取得したが、ＣＤなどの市販メディアやハードディスクなどから該オーディオデータを取得するようにしても構わない。【０３１１】
なお、オーディオデータは多重化しないものとしたが、不揮発性記憶モジュール１００Ｅの記憶容量の無駄を問わなければ多重化しても構わない。【０３１２】
なお、不揮発性記憶モジュール１００Ｅはメモリカードのようなリムーバブル記憶装置であってもよいし、電子楽器などの装置に組み込まれたメモリ部であってもよい。また、アクセスモジュール２００Ｅは電子楽器などの装置であってもよいし、電子楽器などの装置に組み込まれたアクセス回路部であってもよい。【０３１３】
（第６の実施の形態）
図４８は、本発明の第６の実施の形態における楽音生成システムのアクセスモジュールを示すブロック図である。第６の実施の形態の楽音生成システムは、第５の実施の形態の楽音生成システムと比較すると、インターネット３１０から取得したカラオケデータセット、すなわち演奏データや背景用の画像データや歌詞用のテキストデータや楽音データをカラオケソースとして使用できる機能が加わった点が異なる。なお、演奏データは、第５の実施の形態における楽音生成システムではマスターキーボード３００から取得した演奏データに対応するものである。【０３１４】
この楽音生成システムは、不揮発性記憶モジュール１００Ｅと図４８に示すアクセスモジュール２００Ｆとから構成される。不揮発性記憶モジュール１００Ｅは第５の実施の形態のものと同様である。但しこの実施の形態では、レジスタ１５１ｂはカラオケデータの読み出し指示情報を保持するものであり、バッファ部１５６はカラオケデータのバッファとして用いる。またアクセスモジュール２００Ｆは、入出力部２１０Ｆ、信号処理部２２４、ＣＰＵ部２３０Ｆ及びドライバ部２５０を含む。入出力部２１０Ｆはインターネット３１０から前述したカラオケデータセットを取得すると共に、楽音と背景画像と歌詞などを出力するブロックである。【０３１５】
信号処理部２２４は、画像データやテキストデータが圧縮されている場合に伸長処理や変換処理を行うブロックである。なお、デコード処理は画像データの圧縮方式に応じた処理であれば何でも良い。また画像データが非圧縮であれば特に伸長処理は行わないものとする。【０３１６】
ＣＰＵ部２３０Ｆのブロック２３１〜２３８は第５の実施の形態と同様であり、更にカラオケバッファ２４０を含む。カラオケバッファ２４０はカラオケデータセットのうち楽音データを除くデータを一時保持するものである。【０３１７】
以上のように構成された、本発明の第６の実施の形態における楽音生成システムの動作について説明する。なお基本的な動作は第５の実施の形態と同じである。第５の実施の形態では、不揮発性記憶モジュール１００Ｅにおいて、楽音データは多重化して記憶し、オーディオデータは多重化せずに記憶している。一方、第６の実施の形態では、楽音データを多重化して記憶し、演奏データと画像データとテキストデータを多重化せずに記憶する。【０３１８】
図４９は、アクセスモジュール２００Ｆのカラオケデータセットの書き込み処理を示すフローチャートである。書き込み処理においては、Ｓ５３０〜Ｓ５４１は図４４の場合と同様である。楽音データ以外を書き込む場合、図４９に示すようにコンテンツ識別部２３８は図４２Ｃに示すコンテンツ識別コードに基づき、楽音データとそれ以外のデータを識別する。そして楽音データについては第５の実施の形態と同様に多重化してアロケートし、カラオケデータはステップＳ５６０〜Ｓ５６４において論理アドレスに多重化せずにアロケートして書き込み、ＦＡＴファイルシステムで管理する。その他の処理は第５の実施の形態と同様である。【０３１９】
また読み出し処理においては、カラオケバッファ２４０に一時記憶されたデータのうち、演奏データのみは第５の実施の形態と同様に楽音生成処理に使用される。画像データとテキストデータは信号処理部２２４におけるデコードや変換処理によって背景画像や歌詞として外部に出力される。その他の処理は第５の実施の形態と同様である。【０３２０】
図５０は、ＣＰＵ部２３０Ｆのメインルーチンを示すフローチャートである。なおＣＰＵ部２３０Ｆの割り込みルーチンは図４１Ｂの割り込みルーチンと同様である。ＣＰＵ部２３０ＦのメインルーチンのうちＳ２００〜Ｓ２０８は図４１Ａの場合と同様である。図５０において、ユーザの再生指示があった場合に（Ｓ２１４）、楽音データ以外のカラオケデータセットの読み出し指示を行う（Ｓ２１５）。これによりインターネット３１０から取得したカラオケデータセット、すなわち演奏データや背景用の画像データや歌詞用のテキストデータや楽音データをカラオケソースとして使用することができる。【０３２１】
（第７の実施の形態）
次に本発明の第７の実施の形態における楽音生成システムについて説明する。この楽音生成システムは図５１に示す不揮発性記憶モジュール１００Ｇとアクセスモジュール２００Ｅ又は２００Ｆを用いて構成される。図３９に示した第５の実施の形態における楽音生成システムにおいては、不揮発性メモリバンク１１０〜１１３は各々が１個のフラッシュメモリ（チップ）であったが、本実施の形態においては、不揮発性メモリバンク１１０と１１１が１個のフラッシュメモリ１３１に内蔵され、不揮発性メモリバンク１１２と１１３が１個のフラッシュメモリ１３２に内蔵される。またデータ読み書き部１６０Ａは前述したホストインターフェイス１５１Ｅ、バッファ部１５２，１５６、ＣＰＵ部１５４、アドレス管理部１５５に加えて、メモリインターフェイス１６１を有している。【０３２２】
一般的にフラッシュメモリの種類として、フラッシュメモリチップ内に１つのメモリバンクしかないタイプと、フラッシュメモリチップ内に２以上のメモリバンクを有するタイプがある。第７の実施の形態の楽音生成システムは後者に該当する。フラッシュメモリ１３１が含む不揮発性メモリバンク１１０と１１１、及びフラッシュメモリ１３２が含む不揮発性メモリバンク１１２と１１３は、第１の実施の形態と同様に、独立して楽音データを読み出すことができる。但し、第５の実施の形態との相違点は、フラッシュメモリチップが２個になったので、メモリインターフェイス１６１とメモリバスを介して接続されるＣＥ信号とリードクロックとビジー信号の本数が２本ずつとなる。【０３２３】
また、図２９に示したＬＳＮのビットフォーマットにおけるｂ３、即ちバンクセレクトのＬＳＢはＬＳＮ（ｂ２２〜ｂ１３）のｂ２２の上位に付加され、フラッシュメモリ１３１あるいはフラッシュメモリ１３２の物理ブロックアドレスとして使用される。該ビットフォーマットにおけるｂ４、即ちバンクセレクトのＭＳＢはメモリインターフェイス１６１の内部でエンコードされ、２本のＣＥ信号として使用される。【０３２４】
また、フラッシュメモリ１３１のビジー信号は不揮発性メモリバンク１１０と１１１で共用される。不揮発性メモリバンク１１０と１１１それぞれのデータレディフラグは、該ビジー信号によって生成すればよい。同様にして、フラッシュメモリ１３２のビジー信号は不揮発性メモリバンク１１２と１１３で共用される。不揮発性メモリバンク１１２と１１３それぞれのデータレディフラグは、該ビジー信号によって生成すればよい。アクセスフラグは、図２３に示すように第１の実施の形態と同様に、コマンド１〜楽音データの転送期間（ＴＴ）が終了するまでの間に値１となるように制御すればよい。【０３２５】
以上のように、第７の実施の形態における楽音生成システムは、第５の実施の形態における楽音生成システムと同様の動作をするので、発音遅延時間をその許容範囲である１ｍ秒よりも短くする事が可能となる。即ち、現在主流である大容量の多値ＮＡＮＤフラッシュメモリを楽音データやカラオケデータ用のメモリとして使用した場合においても、低価格かつ小型の楽音信号発生装置を実現することが可能となる。【０３２６】
以上のように、インターネットなどから取得したカラオケデータセットが楽音データかどうかをコンテンツ識別部２３８が識別し、それに応じてファイルシステム部２３６が楽音データを論理アドレス空間上で多重化して管理し、楽音データ以外のデータを論理アドレス空間上で多重化せずに管理するようにした。即ちコンテンツ種に応じて多重化するか否かの記憶形式を異ならせるようにしたので、不揮発性記憶モジュール１００Ｅ，１００Ｆ，１００Ｇの記憶容量を合理的に使用することが可能となる。すなわち本実施の形態の楽音生成システムは、カラオケ装置にも応用することが可能となる。【０３２７】
なお、インターネット３１０からカラオケデータセットをまとめて取得したが、楽音データなど一部のデータをメーカ側で予め不揮発性記憶モジュール１００Ｅ，１００Ｆ，１００Ｇなどに記憶させておき、残りのデータをインターネット３１０から取得するようにしても構わない。【０３２８】
なお本実施の形態においてはインターネット３１０からカラオケデータセットを取得したが、ＣＤなどの市販メディアやハードディスクなどから該カラオケデータセットを取得するようにしても構わない。また演奏データとしてはＭＩＤＩデータを用いてもよい。【０３２９】
なお、楽音データ以外のカラオケデータセットは多重化しないものとしたが、不揮発性記憶モジュールの記憶容量の無駄を問わなければ多重化しても構わない。【０３３０】
なお、不揮発性記憶モジュール１００Ｅはメモリカードのようなリムーバブル記憶装置であってもよいし、カラオケ装置などの装置に組み込まれたメモリ部であってもよい。また、アクセスモジュール２００Ｆはカラオケ装置であってもよいし、カラオケ装置に組み込まれたアクセス回路部であってもよい。【０３３１】
（第８の実施の形態）
図５２Ａ，図５２Ｂは、本発明の第８の実施の形態における楽音生成システムを示すブロック図である。本楽音生成システムは、図５２Ａに示す不揮発性記憶モジュール１００Ｈと図５２Ｂに示すアクセスモジュール２００Ｈとを含んで構成される。不揮発性記憶モジュール１００Ｈは、並列に設けられた４つの不揮発性メモリバンク１１０〜１１３と、データ読み書き部１５０Ｈを含む。データ読み書き部１５０Ｈはホストインターフェイス１５１、バッファ部１５２、メモリインターフェイス１５３、ＣＰＵ部１５４及びアドレス管理部１５５を含む。【０３３２】
アクセスモジュール２００Ｈは、入出力部２１０Ｈ、信号処理部２２０、ＣＰＵ部２３０Ｈ、ドライバ部２５０を含み、３２チャンネル分の楽音を同時に出力できるようにしたものである。以下、チャンネル番号をＣＨ０〜ＣＨ３１とする。ＣＰＵ部２３０Ｈは楽音データバッファ２３１とチャンネルアサインテーブル２３２とＮＮテーブル２３３Ｃと演奏データバッファ２３４、転送監視部２３５、ファイルシステム部２３６、多重化部２３７、ファイル編集部２４２及びサンプリング部２４３を含む。【０３３３】
次に不揮発性記憶モジュール１００Ｈの不揮発性メモリバンク１１０〜１１３については前述した第３の実施の形態と同様である。【０３３４】
論理アドレス空間とクラスタ番号ＣＬＮ及び論理セクタ番号ＬＳＮとの関係、論理セクタ番号ＬＳＮとメモリセルアレイ１１０ｂ〜１１３ｂ内の構造についても第３の実施の形態と同様である。【０３３５】
楽音データを記録した各ページ内の記録フォーマット、論理セクタ番号ＬＳＮと物理セクタ番号ＰＳＮとの対応関係については夫々図２８，図２９に示す第３の実施の形態と同様であり、説明を省略する。【０３３６】
但し、図２９に示すＬＳＮのビットフォーマットは不揮発性メモリバンクの並列数が４の場合の例であり、並列数によってバンクセレクトに割り当てられるビット数を変化させても構わない。例えば並列数が２の場合は、バンクセレクトに割り当てられるビット数は１（ｂ３）となり、それに伴いページ番号はｂ１１〜ｂ４にＬＢＮはｂ２１〜ｂ１２に割り当てられることとなる。また、ページ内セクタ選択ビットは、ページをセクタサイズで割り算した商に相当するビットである。本実施の形態においては、ページサイズを４０９６＋１２８Ｂｙｔｅ、セクタサイズを５１２Ｂｙｔｅとした場合、即ち図２８に示すように１ページが８個のセクタに分割される場合であり、これらを前述した物理アドレスの下位３ｂｉｔによって選択する。尚ページサイズやセクタサイズは前述した値に限定される必要はなく、その値に応じてページ内セクタ選択ビットを可変としても構わない。【０３３７】
次にデータ読み書き部１５０Ｈ内のホストインターフェイス１５１、バッファ部１５２、メモリインターフェイス１５３、ＣＰＵ部１５４、アドレス管理部１５５についても図２６Ａ，図２６Ｂに示す第３の実施の形態と同様である。【０３３８】
次にアクセスモジュール２００Ｈの各ブロックについて、図５２Ｂを用いて詳細に説明する。演奏データは、外部のマスターキーボード３００の打鍵などの操作に応じて生成され、入出力部２１０Ｈを介してＣＰＵ部２３０Ｈに取り込まれる。またアクセスモジュール２００Ｈには、音を収録するためのマイクロフォン３２０、データ記憶モジュール３３０、ハードディスク３４０が接続されており、ユーザによる音の収録の指示に応じて必要なデータを記録できるものとする。入出力部２１０Ｈはマスターキーボード３００から演奏データを入力するための端子と、信号処理部２２０が生成した楽音をデジタル−アナログ変換するＤＡコンバータと、該変換後の楽音を増幅するアンプ部、その出力を外部に出力するためのラインアウト端子、及びマイク入力端子、ハードディスクのインターフェイスを含む。【０３３９】
信号処理部２２０は、第３の実施の形態と同様である。信号処理部２２０はデジタルシグナルプロセッサ（以下、ＤＳＰという）、該ＤＳＰのプログラムを格納したＲＯＭ、及びエフェクタ処理に必要な遅延素子のために、あるいはパラメータを一時記憶するために必要なＲＡＭなどによって構成される。【０３４０】
ＣＰＵ部２３０Ｈは、入出力部２１０Ｈが受信した演奏データについてチャンネルアサイン処理を行い、ドライバ部２５０を介して読み出し指示情報を不揮発性記憶モジュール１００Ｈに転送するとともに、不揮発性記憶モジュール１００Ｈから読み出した楽音データと、演奏データの一部を信号処理部２２０に供給するブロックである。【０３４１】
図７は、ＣＰＵ部２３０Ｈに含まれる楽音データバッファ２３１、チャンネルアサインテーブル２３２、ＮＮテーブル２３３Ｃ、演奏データバッファ２３４、転送監視部２３５についても第３の実施の形態と同様である。【０３４２】
ＣＰＵ部２３０Ｈ内のファイルシステム部２３６は、楽音データをファイルとして管理するためのものである。尚、ファイルシステム部２３６の詳細については後述する。【０３４３】
ＣＰＵ部２３０Ｈ内の多重化部２３７は、楽音データをファイルとして書き込む際に楽音データを多重化するものである。尚、多重化部２３７の詳細については後述する。【０３４４】
ＣＰＵ部２３０Ｈ内のファイル編集部２４２は、楽音データをファイルとして編集したり管理するためのものである。尚、ファイル編集部２４２の詳細については後述する。【０３４５】
ＣＰＵ部２３０Ｈ内のサンプリング部２４３は、マイクからの収録したデータをサンプリングしてデータ記憶モジュール３３０に記録するものである。【０３４６】
［初期状態］
まず、不揮発性記憶モジュール１００Ｈの出荷前において、メーカー側で処理する初期化の内容について説明する。尚本実施の形態では、あらかじめメーカーが楽音データを記録して出荷するものとして説明するが、何も記録せずに出荷し、後述するようにユーザが楽音データファイルを記録する場合もある。【０３４７】
メーカー側の書き込み装置、例えばＦＡＴファイルシステムに準拠するパソコンなどの装置が、不揮発性記憶モジュール１００Ｈを物理フォーマットする。その後書き込み装置により、図２７Ａに示すように論理アドレス空間における管理情報領域（ＣＬ０，ＣＬ１）には、ＦＡＴやルートディレクトエントリなどの管理情報をアロケートし、クラスタＣＬ２以降の通常領域には楽音データをアロケートする。以下の書き込み処理については第３の実施の形態と同様である。【０３４８】
更に初期化の際には、図２７Ｂに示すように不揮発性メモリバンク１１３の物理ブロックＰＢ１０２２の最終ページには、不揮発性記憶モジュール１００Ｈに記録されているピアノの楽音データの特性情報を記録データ特性情報（ＲＤＩ）として書き込み、物理ブロックＰＢ１０２３の最終ページには不揮発性記憶モジュール１００Ｈのメモリ構成情報（ＭＳＩ）を書き込んでおく。記録データ特性情報、メモリ構成情報についても第３の実施の形態と同様である。【０３４９】
以上のように構成された、本発明の第８の実施の形態における楽音生成システムの動作について説明する。【０３５０】
［電源立ち上げ時の初期化処理］
アクセスモジュール２００Ｈ及び不揮発性記憶モジュール１００Ｈの電源立ち上げ後、夫々初期化処理を開始する。ＣＰＵ部１５４の通常処理、及び割り込み処理については第３の実施の形態と同様であり、説明を省略する。【０３５１】
［通常動作時の処理］
演奏データの入力から楽音の生成に至る動作についても第３の実施の形態と同様である。【０３５２】
更に発音遅延時間についても、離散的な打鍵の場合、集中的な打鍵の場合、急速消音の後に集中的な打鍵を行う場合のいずれの場合も図２４Ａ〜図２４Ｃのタイムチャートに示すように、発音遅延時間の許容範囲である１ｍ秒より短い値である。従って本実施の形態の楽音生成システムは、電子楽器などの楽音生成システムとして適用できる。【０３５３】
次にアクセスモジュールの楽音データ書き込み処理について図５３を中心に説明する。図５３は、アクセスモジュール２００Ｈの楽音データ書き込み処理を示すフローチャートである。【０３５４】
まず、楽音データの書き込みに先立って、アクセスモジュール２００Ｈが不揮発性記憶モジュール１００Ｈに記憶されているデータを消去すべく、物理フォーマットを行う（Ｓ６００）。図５４は音素材ファイル群のファイルアロケーションを示す説明図である。物理フォーマットにより、論理アドレス空間が一旦論理消去され、ファイルシステム部２３６はドライバ部２５０を介して不揮発性記憶モジュール１００Ｈに消去指示を転送する。なお消去指示の仕様に係る詳細説明は省略する。【０３５５】
ここで、簡単のため図２９におけるＬＳＮのｂ２２〜ｂ１３とＰＳＮのｂ２０〜ｂ１１は一対一に対応しているものとする。そうすると、前述した消去指示により不揮発性メモリバンク１１０〜１１３のＰＢ０〜ＰＢ１０２２は物理消去されることとなる。なお、ＰＢ１０２３は前述した通り、論理アドレスの範囲外であるので物理消去されない。更にＰＢ０〜１０２２の物理ブロックが消去されたことを示すＦＡＴ等をＰＢ０に記録する（Ｓ６０１）。【０３５６】
図５５Ａは、楽音データの書き込み前における不揮発性メモリバンク１１０〜１１３の記憶状態を表す説明図である。図５５Ａにおいて、不揮発性メモリバンク１１０〜１１３のＰＢ０には、前述した物理フォーマット（Ｓ６００）の後の書き込みにより、通常領域が全て論理消去されていたことを管理するためのＦＡＴなどが記憶されている。それに伴い不揮発性メモリバンク１１０〜１１３のＰＢ１〜ＰＢ１０２２は全て消去された状態となっている。【０３５７】
次に不揮発性メモリバンク１１３のＰＢ１０２３に記憶されたメモリ構成情報（ＭＳＩ）を読み出す（Ｓ６０２）。多重化部２３７はメモリ構成情報内のページサイズ（４ｋＢｙｔｅ）を多重化単位サイズとする（Ｓ６０３）。【０３５８】
次にユーザはピアノなどを１音ずつ演奏し、音素材のデータをマイクロフォン３２０を用いて収録する。このときＣＰＵ部２３０Ｈのサンプリング部２４３は、ピアノの音を入出力部２１０Ｈを介してサンプリングする。ファイル編集部２４２はサンプリングされたデータを一旦データ記憶モジュール３３０に音素材ファイル群として保持し、更にハードディスク３４０に転送して記憶する（Ｓ６０４）。ここで音素材ファイルは、音のデータとメタデータとで構成され、メタデータとは音の属性情報を示す。音素材ファイル群は、前述した出荷時の楽音データファイルと同様に、ピアノの最低音〜最高音に亘る８８鍵盤分について、それぞれ強打鍵と弱打鍵の２種類ずつ録音し、全１７６ファイルを生成する。なおこのファイルはＰＣなどで編集しやすいようにＷＡＶＥファイル形式であることが好ましい。【０３５９】
次に、ユーザの編集操作に対応して、音素材ファイル群の各々のメタデータに音名コード（最低音Ａ-1〜最高音Ｃ7）を付与する（Ｓ６０５）。更に図５６に示す記録データ特性情報の設定を行う（Ｓ６０６）。具体的には図５６の備考欄において、「ユーザが設定」あるいは「ＣＰＵ部２３０Ｈが自動設定」と明記した部分のパラメータを設定する。その他のパラメータは、録音時に音素材ファイルのメタデータに設定されるものや、メモリ構成情報に基づいて決まるものである。次いでＣＰＵ部２３０Ｈは記録データ特性情報をＣＬ１３０９４３の最後尾のＬＳＮにアロケートするとともに（Ｓ６０７）、ドライバ部２５０を介して書き込み指示情報により記録データ特性情報を書き込む（Ｓ６０８）。【０３６０】
不揮発性記憶モジュール１００Ｈは、転送された記録データ特性情報をデータ読み書き部１５０Ｈによって、不揮発性メモリバンク１１３のＰＢ１０２２のＰ２５５の最後尾のＰＳＮに書き込む。【０３６１】
なおデータ読み書き部１５０Ｈによる書き込みにおいて、書き込み先の物理ブロックが不良ブロックになった場合は、アドレス管理部１５５が他の空き物理ブロックをサーチし、該空きブロックに書き込み直すとともに、該空きブロックを論物変換テーブルに登録することとなる。このような物理ブロックの代替は不揮発性メモリバンク１１０〜１１３毎に行われるものである。すなわち異なる不揮発性メモリバンク間で物理ブロックの代替は行われないものとする。【０３６２】
次にＣＰＵ部２３０Ｈの多重化部２３７は、ハードディスク３４０から音素材ファイル群を最低音から順番に読み出す（Ｓ６０９）。そして多重化部２３７は、各音素材ファイルのメタデータ以外、すなわち音に相当するデータのみを図５４に示すように、多重化単位サイズ（４ｋＢｙｔｅ）毎に並列数（４並列）分、楽音データを論理アドレス空間に多重化してアロケートする（Ｓ６１０）。そして多重化部２３７は多重化した楽音データをファイルシステム部２３６に渡す。ファイルシステム部２３６は多重化された楽音データを論理アドレス空間にアロケートする。なお図５４においては、簡単のために楽音データの先頭のアロケート先をＣＬ１２８としたが、空きクラスタであればどこを先頭クラスタとしてもよい。【０３６３】
前述したアロケートに伴い、ＣＰＵ部２３０Ｈはドライバ部２５０を介して書き込み指示情報により楽音データの書き込みを行う（Ｓ６１１）。【０３６４】
その後、楽音データと、該楽音データに対応する記録データ特性情報をセットとして１つの楽音データファイルとして登録すべく、ＦＡＴの書き込みと（Ｓ６１２）、ファイルエントリの書き込みを行う（Ｓ６１３）。こうすればサンプリングされた音素材ファイル群に基づき楽音データファイルを生成することができる。【０３６５】
尚、不揮発性記憶モジュール１００Ｈに既に１つ以上の楽音データファイルがあり、更に他の楽音データファイルを追加して書き込む場合は、Ｓ６００，Ｓ６０１の処理は不要となる。【０３６６】
こうして最低音から最高音までの楽音データを不揮発性メモリバンク１１０〜１１３に多重化して書き込むことにより、その記憶状態は図５５Ａに示す状態から図５５Ｂに示す状態に変化する。図５５Ｂは、楽音データの書き込み後における不揮発性メモリバンク１１０〜１１３の記憶状態を表す説明図である。図５５Ｂにおいて、楽音データは不揮発性メモリバンク１１０〜１１３のＰＢ１〜ＰＢ７０４に記憶され、記録データ特性情報は不揮発性メモリバンク１１３のＰＢ１０２２に記憶される。またＦＡＴやファイルエントリなどの管理情報は、不揮発性メモリバンク１１０〜１１３のＰＢ０に記憶されたものから更新されるため、その他の空き物理ブロックの中で不揮発性メモリバンク１１０〜１１３のＰＢ７０５に記憶される。なお空き物理ブロックであれば、ＰＢ７０５に限定されることはない。【０３６７】
以上のように、ユーザが自分で準備したピアノ、ギター等の音源より音素材を収録し、楽音データとしてアクセスモジュール２００Ｈを通じてメモリ構成情報に基づいて論理アドレス空間上に多重化してアロケートし、更に該アロケートに伴い不揮発性記憶モジュールに楽音データを書き込むようにした。こうすれば音素材ファイル群から楽音データファイルを生成することができる。【０３６８】
こうして得られた楽音データを保持する不揮発性記憶モジュールをアクセスモジュール２００Ｈに接続する。そしてマスターキーボード３００の打鍵に応じて発音させることにより、生成した楽音データファイルに基づき、所望の楽音を生成することが可能となる。更に、アクセスモジュール２００Ｈにサンプリング機能を持たせたので、外部から音をサンプリングすることも可能となる。【０３６９】
また不揮発性記憶モジュールに記憶された楽音データはファイルシステム部２３６によって楽音データファイルとして管理されるので、同じファイルシステム（ＦＡＴファイルシステム）に基づくパーソナルコンピュータなどの装置で管理したり編集したりすることができる。また他の記録装置や記録媒体などへのコピーも容易に行うことができる。【０３７０】
なお、楽音データを不揮発性メモリバンク１１０〜１１３に書き込む際に、不良ブロックが発生した場合は、適宜アドレス管理部１５５によって論物変換を行い、空きの良ブロックに書き込み直せばよい。【０３７１】
なお、不揮発性記憶モジュール１００Ｈの記録容量が十分大きければ複数の楽音データファイルを保持しておくことができ、マスターキーボードの演奏に応じていずれかのファイルからデータを読み出して楽音を生成することができる。【０３７２】
以上のように、第８の実施の形態に示す楽音生成システムでは、第１，第３の実施の形態と同様に、発音遅延時間をその許容範囲である１ｍ秒よりも短くすることができ、大容量の多値ＮＡＮＤフラッシュメモリを楽音データ用のメモリとして使用した場合においても、低価格かつ小型の楽音信号発生装置を実現することが可能となる。【０３７３】
更に、第８の実施の形態における楽音生成システムは第１，第３の実施の形態の効果に加えて以下の効果がある。本実施の形態は汎用的なＦＡＴファイルシステムに基づいたシステムであるので、アクセスモジュールによって楽音データを書き込むことができる。従ってユーザが好みに応じて書き換えた楽音データを用いることができるので、汎用性の高いシステムであると言える。【０３７４】
不揮発性記憶モジュール１００Ｈはメモリカードのようなリムーバブル記憶装置であってもよいし、電子楽器などの装置に組み込まれたメモリ部であってもよい。また、アクセスモジュール２００Ｈは電子楽器などの装置であってもよいし、電子楽器などの装置に組み込まれたアクセス回路部であってもよい。【０３７５】
更に本実施の形態では、マイクロフォン３２０からの音をサンプリングして一旦データ記憶モジュール３３０に記録し、ハードディスク３４０に転送して音素材ファイル群としているが、ハードディスク自体をデータ記憶モジュールとして用いてもよい。又不揮発性記憶モジュール１００Ｈの空き領域をデータ記憶モジュールとして用いてサンプリングデータを一時的に記憶させるようにしてもよい。【０３７６】
（第９の実施の形態）
次に本発明の第９の実施の形態における楽音データファイル生成システムについて説明する。本実施の形態の楽音データファイル生成システムは、図５７に示す楽音データファイル生成モジュール４００Ｂと、前述した第８の実施の形態における不揮発性記憶モジュール１００Ｈとから構成される。楽音データファイル生成モジュール４００Ｂは、第８の実施の形態のアクセスモジュール２００Ｈからのデータ書き込みのための機能を抽出したもので、アクセスモジュール２００Ｈのデータ書き込み処理のみを実行する。楽音データファイル生成モジュール４００Ｂは図５７に示すように、入出力部４１０、ＣＰＵ部４２０、ドライバ部４３０を含む。ＣＰＵ部４２０は第８の実施の形態のファイルシステム部２３６、多重化部２３７、及びファイル編集部２４２を含む。なお楽音データファイル生成モジュール４００Ｂには、ハードディスク３４０に加えてデータ記憶モジュール５００が接続されており、ユーザによる音源の収録の指示に応じて必要なデータを収録できるものとする。【０３７７】
データ記憶モジュール５００は、例えばリニアＰＣＭレコーダであり、楽器音などの音をあらかじめサンプリングして録音し、音素材ファイルとして記憶するシステムである。データ記憶モジュール５００にはフラッシュメモリなどの不揮発性メモリが内蔵されている。なお、半導体メモリカードのような着脱可能な記録媒体を装着するようにしてもかまわない。【０３７８】
楽音データファイル生成システムには、データ記憶モジュール５００とハードディスク３４０が接続されており、データ記憶モジュール５００に録音された音素材ファイルは入出力部４１０を介してハードディスク３４０にコピーされるようになっている。【０３７９】
以上のように構成された、本発明の第９の実施の形態における楽音データファイル生成システムの動作について図５８を中心に説明する。【０３８０】
まずＳ６２０〜Ｓ６２３において、物理フォーマット処理、メモリ構成情報の読み出しと多重化単位サイズの算出を行う。この処理は、前述した第８の実施の形態におけるＳ６００〜Ｓ６０３と同じ処理である。【０３８１】
次にデータ記憶モジュール５００がサンプリングした音素材ファイル群をデータ記憶モジュール５００からハードディスク３４０にコピーする（Ｓ６２４）。ここでは、該音素材ファイル群は、ピアノの最低音〜最高音に亘る８８鍵盤分について、それぞれ強打鍵と弱打鍵の２種類ずつ録音されたもので、全１７６ファイルあるものとする。なおこのファイルはＰＣなどで編集しやすいようにＷＡＶＥファイル形式であることが好ましい。【０３８２】
なお、データ記憶モジュール５００は、サンプリング機能を有さない単なる記憶装置とし、リニアＰＣＭレコーダ等でサンプリングした音素材を予め該記憶装置に記憶させておくようにしても構わない。またデータ記憶モジュール５００の記憶装置は、不揮発性記憶モジュールの一部の領域をそのまま用いても構わない。これにより、ハードディスク３４０における音素材ファイル群の一時保持や編集を不揮発性記憶モジュール１００Ｈで行うことができる。但しその場合は、音素材ファイル群や楽音データファイルを同時に記憶する必要があるので、不揮発性記憶モジュール１００Ｈに予め十分な容量を確保しておく必要がある。【０３８３】
なお、不揮発性記憶モジュール１００Ｈはメモリカードのようなリムーバブル記憶装置であってもよいし、例えばパーソナルコンピュータ（ＰＣ）のようなデータ編集装置に組み込まれたメモリ部であってもよい。また、楽音データファイル生成モジュール４００ＢはＰＣのようなデータ編集装置であってもよいし、データ編集装置に組み込まれたデータ編集回路部であってもよい。【０３８４】
（第１０の実施の形態）
図５９は、本発明の第１０の実施の形態における楽音生成システムの不揮発性記憶モジュール１００Ｊを示すブロック図である。第１０の実施の形態における楽音生成システムでは、アクセスモジュールは前述した第８の実施の形態と同様であり、不揮発性記憶モジュールのみが異なる。第８の実施の形態の不揮発性記憶モジュール１００Ｊにおいては、不揮発性メモリバンク１１０〜１１３は各々が１個のフラッシュメモリ（チップ）であったが、本実施の形態の不揮発性記憶モジュール１００Ｊにおいては、不揮発性メモリバンク１１０と１１１が１個のフラッシュメモリ１３１に内蔵され、不揮発性メモリバンク１１２と１１３が１個のフラッシュメモリ１３２に内蔵される。またデータ読み書き部１６０Ｂは前述したホストインターフェイス１５１、バッファ部１５２，１２６、ＣＰＵ部１５４、アドレス管理部１５５に加えて、メモリインターフェイス１６２を有している。【０３８５】
一般的にフラッシュメモリの種類として、フラッシュメモリチップ内に１つのメモリバンクしかないタイプと、フラッシュメモリチップ内に２以上のメモリバンクを有するタイプがある。第１０の実施の形態の楽音生成システムは後者に該当する。フラッシュメモリ１３１が含む不揮発性メモリバンク１１０と１１１、及びフラッシュメモリ１３２が含む不揮発性メモリバンク１１２と１１３は、第１の実施の形態と同様に、独立して楽音データを読み出すことができる。但し、第1の実施の形態との相違点は、フラッシュメモリチップが２個になったので、メモリインターフェイス１６２とメモリバスを介して接続されるＣＥ信号とリードクロックとビジー信号の本数が２本ずつとなる。【０３８６】
また、図２９に示したＬＳＮのビットフォーマットにおけるｂ３、即ちバンクセレクトのＬＳＢはＬＳＮ（ｂ２２〜ｂ１３）のｂ２２の上位に付加され、フラッシュメモリ１３１あるいはフラッシュメモリ１３２の物理ブロックアドレスとして使用される。該ビットフォーマットにおけるｂ４、即ちバンクセレクトのＭＳＢはメモリインターフェイス１６２の内部でエンコードされ、２本のＣＥ信号として使用される。【０３８７】
また、フラッシュメモリ１３１のビジー信号は不揮発性メモリバンク１１０と１１１で共用される。不揮発性メモリバンク１１０と１１１それぞれのデータレディフラグは、該ビジー信号によって生成すればよい。同様にして、フラッシュメモリ１３２のビジー信号は不揮発性メモリバンク１１２と１１３で共用される。不揮発性メモリバンク１１２と１１３それぞれのデータレディフラグは、該ビジー信号によって生成すればよい。アクセスフラグは、図２３に示すように第１の実施の形態と同様に、コマンド１〜楽音データの転送期間（ＴＴ）が終了するまでの間に値１となるように制御すればよい。【０３８８】
以上のように、第１０の実施の形態における楽音生成システムは、第８の実施の形態における楽音生成システムと同様の動作をするので、発音遅延時間をその許容範囲である１ｍ秒よりも短くする事が可能となる。即ち、現在主流である大容量の多値ＮＡＮＤフラッシュメモリを楽音データとして使用した場合においても、低価格かつ小型の楽音信号発生装置を実現することが可能となる。【０３８９】
（第１１の実施の形態）
図６０Ａ，図６０Ｂは、本発明の第１１の実施の形態における楽音生成システムを示すブロック図である。楽音生成システムは、図６０Ａに示す不揮発性記憶モジュール１００Ｋと図６０Ｂに示すアクセスモジュール２００Ｋとを含んで構成される。不揮発性記憶モジュール１００Ｋは、並列に設けられた４つの不揮発性メモリバンク１１０〜１１３と、データ読み書き部１５０Ｋを含む。データ読み書き部１５０Ｋはホストインターフェイス１５１、バッファ部１５２、メモリインターフェイス１５３、ＣＰＵ部１５４、アドレス管理部１５５に加えて、読み出し性能通知部１５７を含む。【０３９０】
アクセスモジュール２００Ｋは、入出力部２１０、信号処理部２２０、ＣＰＵ部２３０Ｋ、ドライバ部２５０を含み、３２チャンネル分の楽音を同時に出力できるようにしたものである。ＣＰＵ部２３０Ｋは、楽音データバッファ２３１、チャンネルアサインテーブル２３２、ＮＮテーブル２３３Ｃ、演奏データバッファ２３４、転送監視部２３５、ファイルシステム部２３６、多重化部２３７に加えて、発音チャンネル数決定部２４５を有している。【０３９１】
次に不揮発性記憶モジュール１００Ｋの各ブロックのうち、第３の実施の形態の不揮発性記憶モジュール１００Ｃと同一部分については同一符号を付して詳細な説明を省略する。【０３９２】
読み出し性能通知部１５７は不揮発性記憶モジュール１００Ｋからデータを読み出す際の性能を内部のＲＯＭに保持している。読み出し性能は、例えば「５１２Ｂｙｔｅ単位でのランダム読み出しレート（以下、ＲＲ５１２という）」の値であり、この情報をアクセスモジュール２００Ｋに通知するものである。【０３９３】
次にアクセスモジュール２００Ｋの各ブロックについては、第３の実施の形態のアクセスモジュール２００Ｃと同一部分は同一符号を付して詳細な説明を省略する。【０３９４】
ＣＰＵ部２３０Ｋ内の発音チャンネル数決定部２４５は、不揮発性記憶モジュール１００Ｋの読み出し性能に応じて発音遅延時間が所定時間以下、ここでは１ｍ秒以下となるように発音チャンネル数を決定するものである。そして決定されたチャンネル数がチャンネルアサインテーブル２３２の使用枠の数となる。【０３９５】
［初期状態］
まず、不揮発性記憶モジュール１００Ｋの出荷前にメーカー側で処理する初期化の内容のうち、第３の実施の形態との相違点について説明する。【０３９６】
不揮発性記憶モジュール１００Ｋをメーカーから出荷する前に、読み出し性能通知部１５７は、内部のＲＯＭに「５１２Ｂｙｔｅ単位でのランダム読み出しレート（以下、ＲＲ５１２という）」の値を予め保持している。ここでＲＲ５１２は、図１１に示すメモリ構成情報のパラメータなどを用いて計算できる値である。ＲＲ５１２を求めるには、まず以下の式（１９）によって並列数を求める。
並列数＝バス数×１バスあたりのメモリバンク数  ・・・（１９）
次いで以下の式（２０）によってＲＲ５１２を求める。
ＲＲ５１２＝｛セクタサイズ／（ＴＲ＋ＴＴ）｝×並列数  ・・・（２０）【０３９７】
並列数が例えば値４であれば、ＲＲ５１２の値は約３２ＭＢｙｔｅ／秒となる。この値を読み出し性能通知部１５７内のＲＯＭに記憶しておく。【０３９８】
以上のように構成された、本発明の第１１の実施の形態における楽音生成システムの動作について説明する。【０３９９】
［電源立ち上げ時の初期化処理］
アクセスモジュール２００Ｋ及び不揮発性記憶モジュール１００Ｋの電源立ち上げ後、夫々初期化処理を開始する。ＣＰＵ部１５４の通常処理、その割り込み処理については夫々図１３Ａ，図１３Ｂに示すフローチャートと同様である。【０４００】
不揮発性記憶モジュール１００ＫのＣＰＵ部１５４は、図１３Ａのフローチャートに示すように、Ｓ１００において初期化処理を行う。初期化処理では、バッファ部１５２内のシングルポートＲＡＭ１５２ａと１５２ｂ及びホストインターフェイス１５１のレジスタ１５１ａをクリアする。またアドレス管理部１５５が不揮発性メモリバンク１１０のＰＢ１０２３に記憶された論物変換テーブルを内部のＲＡＭに読み出す。論物変換テーブルの読み出しが完了した時点で、不揮発性記憶モジュール１００Ｋはアクセスモジュール２００Ｋに対してアクセス許可を通知する。その後、ホストインターフェイス１５１を介して、初期化が完了したことを通知する。【０４０１】
一方、アクセスモジュール２００ＫのＣＰＵ部２３０Ｋは図１４Ａのフローチャートに示すように、Ｓ２００において初期化処理を行う。初期化処理では、ＣＰＵ部２３０Ｋは、不揮発性メモリバンク１１０〜１１３のＰＢ０に記憶されたＦＡＴテーブルやファイルエントリをファイルシステム部２３６に読み出し、ファイルシステム部２３６は、既に不揮発性記憶モジュール１００Ｋに記憶されている楽音データの開始クラスタ番号（ＣＬ１２８）を認識する。【０４０２】
更に、その後、アクセスモジュール２００Ｋは不揮発性記憶モジュール１００Ｋに対して、記録データ特性情報、メモリ構成情報、及び読み出し性能情報の読み出し指示を転送する。これによりＣＰＵ部２３０Ｋは不揮発性メモリバンク１１３のＰＢ１０２２に記憶された記録データ特性情報、及びＰＢ１０２３に記憶されたメモリ構成情報を読み出す。図１５Ａはメモリ構成情報を読み出すための読み出し指示を示す。尚、図１５Ａにおいて、ｂ２７〜ｂ２３はメモリ構成情報識別コードを示す。＊はどのような値であっても構わないことを表す記号である。またホストインターフェイス１５１が読み出し性能情報の取得指示を受信すると、読み出し性能通知部１５７は、内部のＲＯＭに記憶された読み出し性能情報ＲＲ５１２、ここでは３２ＭＢｙｔｅ／秒をアクセスモジュール２００Ｋに通知する。【０４０３】
また初期化処理では、ＣＰＵ部２３０Ｋは信号処理部２２０のリセットや、楽音データバッファ２３１内のデュアルポートＲＡＭ２３１ａ，２３１ｂのクリアを行う。信号処理部２２０のリセットにより、信号処理部２２０は内部のＤＳＰのプログラムカウンタのカウントアップを開始する。また初期化処理では、ＣＰＵ部２３０Ｋはチャンネルアサインテーブル２３２の初期設定を行う。【０４０４】
ＣＰＵ部２３０Ｋは、図１１に示す記録データ特性情報を取得すると、サンプリング周期（２２．７μｓ）を信号処理部２２０内のタイマーにセットし、１サンプリング時間の信号処理のタイムスロットの１周期を決定する。このタイマーは信号処理部２２０内のＤＳＰの１周期を制御するためのタイマーとして機能する。ＣＰＵ部２３０Ｋは記録データ特性情報内の１サンプル容量（２Ｂｙｔｅ）とフラグ割り当てビット（ｂ０）を信号処理部２２０内のＲＡＭのパラメータとして書き込み、楽音データが図１０に示すビットフォーマットのどのビット位置に相当するかを決定するためのパラメータとして使用する。【０４０５】
発音チャンネル数決定部２４５は、不揮発性記憶モジュール１００Ｋから取得した読み出し性能情報ＲＲ５１２と、既に取得した記録データ特性情報ＲＤＩ中のサンプリング周期及び１サンプル容量に基づき、式（２１）を実行することにより最大発音チャンネル数を決定する。
最大発音チャンネル数＝ＲＲ５１２／（１サンプル容量／サンプリング周期）  ・・・（２１）
ここで式（２１）において、「１サンプル容量／サンプリング周期」は１発音チャンネルあたりの発音処理に必要なレートとなる。【０４０６】
図６１は、読み出し性能情報と最大発音チャンネル数及び発音チャンネル数との関係を示す説明図である。【０４０７】
次に、発音チャンネル数決定部２４５は、メモリ構成情報内のＴＲとＴＴ、式（２１）によって求められた最大発音チャンネル数、及び式（１９）によって求められた並列数に基づき次式（２２）を実行することにより、１並列あたりの発音遅延時間を求める。
１並列あたりの遅延時間＝［｛（ＴＲ＋ＴＴ）×最大発音チャンネル数｝／並列数］
×（１＋０．２）  ・・・（２２）
本実施の形態においては、発音遅延時間は約６７８μ秒となり、その許容値である１ｍ秒より小さいので問題ない。従って最大発音チャンネル数を発音チャンネル数としてさしつかえない。【０４０８】
ここで、式（２２）において、０．２は１並列あたりの発音遅延時間のマージン率である。式（２２）は、例えば不揮発性メモリバンク１１０において、ＣＨ０、４、８・・・２８までの８チャンネル分の楽音データ読み出しに要する時間に、その前後のオーバーヘッド（マージン）を加算した値に相当する。本実施の形態においては、更にマージンを見込み、発音チャンネル数は、最大発音チャンネル数より小さく、且つ２のべき乗となる数として定義する。本実施の形態ではその定義に従い、図６１に示すように発音チャンネル数を３２に決定する。【０４０９】
なお、図６１において、並列数が値１の場合は、最大発音チャンネル数が９、発音チャンネル数が８となるが、通常の演奏では発音チャンネル数が不足するため、ユーザはそれを意識した演奏、例えばソロ演奏などに本楽音生成システムを使用すればよい。【０４１０】
また、ＣＰＵ部２３０Ｋはこうして決定した発音チャンネル数（３２ＣＨ）によって、チャンネルアサインテーブル２３２のチャンネル枠を決定するとともに、信号処理部２２０のタイムスロットのチャンネル数を決定する。また、信号処理部２２０はリバーブとコーラスによりエフェクト処理を決定する。図示の場合にはエフェクト処理としてリバーブのみを行うことを決定する。【０４１１】
更に、ＣＰＵ部２３０Ｋは、図１２に示すメモリ構成情報を取得すると、バス数（１）と１バスあたりのメモリバンク数（４）に基づき、前述の式（１９）を実行することにより並列数を求める。そして求めた並列数によりＬＳＮのビットフォーマットが決まる。本実施の形態においては、並列数が値４であるので、バンクセレクトのビット数は２となり、ＬＳＮのビットフォーマットは図２９に示すとおりとなる。また例えば並列数が値２の場合には、バンクセレクトに割り当てられるビット数は１（ｂ３）となり、それに伴いページ番号はｂ１１〜ｂ４にＰＢＮはｂ２１〜ｂ１２に割り当てられることとなる。【０４１２】
ＣＨＮとバンクセレクトとの関係は、第３の実施の形態と同様である。またＬＳＮのビットフォーマットは図２９に示すとおりであるので、図２７Ａに示すＬＳ８１９２〜ＬＳ８２５５におけるＬＳＮとＣＬＮとの関係、その他の初期化処理についても第３の実施の形態と同様である。【０４１３】
以上メインルーチンにおいて、記録データ特性情報、メモリ構成情報及び読み出し性能情報を読み出し、各種パラメータの設定処理によってＣＰＵ部２３０Ｋは初期化処理（Ｓ２００）を終える。そして通常動作処理のＳ２０１に移行し、割り込みをイネーブルにして外部のマスターキーボード３００からの演奏データを受付ける。【０４１４】
［通常動作時の処理］
（１）全体的な動作説明
演奏データの入力から楽音の生成に至る全体的な動作はほぼ第１の実施の形態と同様であり、相違点は第３の実施の形態と同様であり、説明を省略する。【０４１５】
またアクセスモジュールの楽音データ書き込み処理については第３の実施の形態と同様であり、詳細な説明を省略する。【０４１６】
以上のように、不揮発性記憶モジュール１００Ｋから取得した読み出し性能情報に基づいて、発音チャンネル数決定部２４５は発音遅延時間が１ｍ秒以下になるように発音チャンネル数を決定するようにした。これにより不揮発性記憶モジュール１００Ｋの読み出し性能が低くても、発音チャンネル数を減少させて発音遅延時間が所定値を超えないようにした楽音生成システムを実現することが可能となる。【０４１７】
なお、５１２Ｂｙｔｅ単位でのランダム読み出しレートを、発音チャンネル数決定部２４５内のＲＯＭに記憶させたが、不揮発性メモリバンク１１０〜１１３のいずれかに記憶させても構わない。【０４１８】
なお、アクセスモジュール２００Ｋに表示部を設け、発音チャンネル数決定部２４５が決定した発音チャンネル数を、該表示部に表示させるようにしても構わない。また、発音チャンネル数が１に満たない場合、言い換えれば発音チャンネル数が１でも発音遅延時間が１ｍ秒を超えてしまう場合は、表示部に「楽音生成が不能である旨」を警告表示してもよい。【０４１９】
なお、不揮発性記憶モジュール１００Ｋはアクセスモジュール２００Ｋからの指示に応じて読み出し性能情報を転送しているが、不揮発性記憶モジュール１００Ｋから能動的にアクセスモジュール２００Ｋに通知するようにしても構わない。【０４２０】
本発明の不揮発性記憶モジュールは、外部からの読み出し指示に応じてデータの読み出しを行う不揮発性記憶モジュールであって、楽音データを多重化して記録した複数の不揮発性メモリバンクと、外部からの１つの読み出し指示に応じて前記いずれかの不揮発性メモリバンクからデータの読み出しを行い、当該読み出しを完了する前に、他の読み出し指示があったときに該読み出し中の不揮発性メモリバンクと異なる不揮発性メモリバンクから読み出しを並行して行うデータ読み出し部と、を具備するものである。【０４２１】
ここで前記不揮発性メモリバンクは、多値ＮＡＮＤフラッシュメモリとしてもよい。【０４２２】
ここでアクセスモジュールは、不揮発性記憶モジュールに読み出し指示を行い、前記アクセスモジュールは、時分割多重処理により１サンプリング周期毎に複数チャンネル分の楽音生成処理を行う信号処理部を備えるものとすることができる。【０４２３】
ここで不揮発性記憶モジュールは、少なくとも前記楽音データのサンプリング周波数に係る情報を含む記録データ特性情報を保持する不揮発性メモリを有するようにしてもよい。【０４２４】
またアクセスモジュールは、この不揮発性記憶モジュールに読み出し指示を行い、前記不揮発性記憶モジュールから取得した記録データ特性情報に基づき楽音生成処理を行うモジュールとすることができる。【０４２５】
またこれらのアクセスモジュールと、前記アクセスモジュールからの読み出し指示に応じてデータの読み出しを行う不揮発性記憶モジュールを含む楽音生成システムとすることができる。【０４２６】
本発明の不揮発性記憶モジュールは、外部からのアクセス指示に応じてデータの読み出しや書き込みを行う不揮発性記憶モジュールであって、楽音データを多重化して記録した複数の不揮発性メモリバンクと、外部からの１つの読み出し指示に応じて前記いずれかの不揮発性メモリバンクからデータの読み出しを行い、当該読み出しを完了する前に、他の読み出し指示があったときに該読み出し中の不揮発性メモリバンクと異なる不揮発性メモリバンクから読み出しを並行して行い、前記不揮発性メモリバンクの構成を示すメモリ構成情報を読み出すデータ読み書き部と、を具備するものである。【０４２７】
ここで前記読み書き制御部は、外部から転送された読み出し指示情報を複数保持するレジスタを有し、ある読み出し指示情報に対応した楽音データの読み出し前に、該読み出し指示情報の次の読み出し指示情報を前記レジスタに保持するようにしてもよい。【０４２８】
ここで前記読み書き制御部は、論理アドレスと前記不揮発性メモリバンクの物理アドレスとの変換を行うアドレス管理部を有するようにしてもよい。【０４２９】
本発明のアクセスモジュールは、不揮発性モジュールに書き込み、及び読み出し指示を行うアクセスモジュールであって、前記アクセスモジュールは、時分割多重処理により１サンプリング周期毎に複数チャンネル分の楽音生成処理を行う信号処理部を備える。【０４３０】
本発明の楽音生成システムは、アクセスモジュールと、前記アクセスモジュールからの書き込み、及び読み出し指示に応じてデータの書き込み及び読み出しを行う不揮発性記憶モジュールを含んで構成することができる。【０４３１】
ここでデータ書き込みモジュールは、不揮発性記憶モジュールに前記楽音データを書き込むデータ書き込みモジュールであって、外部から取得した楽音データを前記不揮発性記憶モジュールから通知された前記メモリ構成情報に基づいて多重化する多重化部と、前記多重化部によって多重化された前記楽音データを前記不揮発性記憶モジュールに書き込むファイルシステム部と、を備えるようにしてもよい。【０４３２】
また本発明の不揮発性記憶モジュールは、外部からのアクセス指示に応じてデータの読み出しや書き込みを行う不揮発性記憶モジュールであって、楽音データを多重化して記録し、オーディオデータ、演奏データ、画像データ、及びテキストデータのうち少なくとも１つを記録した複数の不揮発性メモリバンクと、楽音データを多重化して書き込み、オーディオデータ、演奏データ、画像データ、及びテキストデータのうち少なくとも１つを書き込むと共に、外部からの１つの読み出し指示に応じて前記いずれかの不揮発性メモリバンクからデータの読み出しを行い、当該読み出しを完了する前に、他の読み出し指示があったときに該読み出し中の不揮発性メモリバンクと異なる不揮発性メモリバンクから読み出しを並行して行い、前記不揮発性メモリバンクの構成を示すメモリ構成情報を読み出すデータ読み書き部と、を具備するものである。【０４３３】
ここで前記読み書き制御部は、外部から転送された読み出し指示情報を複数保持するレジスタを有し、ある読み出し指示情報に対応した楽音データの読み出し前に、該読み出し指示情報の次の読み出し指示情報を前記レジスタに保持するようにしてもよい。【０４３４】
ここで前記読み書き制御部は、論理アドレスと前記不揮発性メモリバンクの物理アドレスとの変換を行うアドレス管理部を有するようにしてもよい。【０４３５】
本発明の楽音生成システムは、アクセスモジュールと、前記アクセスモジュールからの書き込み、及び読み出し指示に応じてデータの書き込み及び読み出しを行う不揮発性記憶モジュールを含んで構成することができる。【０４３６】
また本発明の楽音生成システムは、アクセスモジュールと、前記アクセスモジュールからの読み書き指示に応じてデータの読み出しや書き込みを行う不揮発性記憶モジュールと、を具備する楽音生成システムであって、前記不揮発性記憶モジュールは、楽音データが多重化して記録される複数の不揮発性メモリバンクと、外部からの１つの読み出し指示に応じて前記いずれかの不揮発性メモリバンクからデータの読み出しを行い、当該読み出しを完了する前に、他の読み出し指示があったときに該読み出し中の不揮発性メモリバンクと異なる不揮発性メモリバンクから読み出しを並行して行い、前記不揮発性メモリバンクの構成を示すメモリ構成情報を読み出すデータ読み書き部と、を備え、前記アクセスモジュールは、データ記憶モジュールに記憶された音素材ファイル群を１つの楽音データファイルに編集するファイル編集部と、前記楽音データを多重化する多重化部と、前記多重化部によって多重化された楽音データファイルを、前記不揮発性記憶モジュールの少なくとも２以上の前記不揮発性メモリバンクに多重化して書き込み、前記楽音データファイルを読み出すファイルシステム部と、を備えたものである。【０４３７】
本発明のアクセスモジュールは、不揮発性記憶モジュールに接続されてデータの読み出しや書き込みを行うアクセスモジュールであって、データ記憶モジュールに記憶された音素材ファイル群を１つの楽音データに編集するファイル編集部と、前記楽音データを多重化する多重化部と、前記多重化部によって多重化された楽音データファイルを、前記不揮発性記憶モジュールの少なくとも２以上の前記不揮発性メモリバンクに多重化して書き込み、前記楽音データファイルを読み出すファイルシステム部と、を具備するものである。【０４３８】
ここで前記アクセスモジュールは、外部から入力された音をサンプリングするサンプリング部を更に備えるようにしてもよい。【０４３９】
ここで前記アクセスモジュールは、時分割多重処理により１サンプリング周期毎に複数チャンネル分の楽音生成処理を行う信号処理部を更に備えるようにしてもよい。【０４４０】
本発明の楽音データファイル生成モジュールは、複数の不揮発性メモリバンクを含む不揮発性記憶モジュールに楽音データファイルを生成する楽音データファイル生成モジュールであって、データ記憶モジュールに録音された音素材ファイル群を楽音データファイルに編集するファイル編集部と、前記楽音データを前記不揮発性記憶モジュールから通知された前記メモリ構成情報に基づいて多重化する多重化部と、前記不揮発性記憶モジュールにおいて少なくとも２以上の前記不揮発性メモリバンクに、前記多重化部によって多重化された楽音データを楽音データファイルとして前記不揮発性記憶モジュールに書き込むファイルシステム部と、を具備するものである。【０４４１】
ここで前記データ記憶モジュールと前記不揮発性記憶モジュールとは、同一の記憶モジュールとしてもよい。【０４４２】
ここで前記多重化部は、前記不揮発性記憶モジュールから取得したメモリ構成情報に基づいて多重化における多重数を決定するようにしてもよい。【０４４３】
本発明の不揮発性記憶モジュールは、外部からのアクセス指示に応じてデータの読み出しを行う不揮発性記憶モジュールであって、楽音データを多重化して記録した複数の不揮発性メモリバンクと、外部からの１つの読み出し指示に応じて前記いずれかの不揮発性メモリバンクからデータの読み出しを行い、当該読み出しを完了する前に、他の読み出し指示があったときに該読み出し中の不揮発性メモリバンクと異なる不揮発性メモリバンクから読み出しを並行して行うと共に、前記不揮発性メモリバンクの構成を示すメモリ構成情報及び読み出し性能情報を読み出すデータ読み出し部と、を具備するものである。【０４４４】
ここで少なくとも前記楽音データのサンプリング周期と１サンプル容量に係る情報を含む記録データ特性情報と、読み出しレートに関する読み出し性能情報を保持する不揮発性メモリを有するようにしてもよい。【０４４５】
本発明のアクセスモジュールは、前述の不揮発性記憶モジュールに読み出し指示を行うアクセスモジュールであって、前記不揮発性記憶モジュールから取得した読み出し性能情報及び記録データ特性情報に基づき、発音遅延時間が所定時間以下となるように発音チャンネル数を決定する発音チャンネル数決定部を具備し、決定した発音チャンネル数の範囲内で前記不揮発性記憶モジュールに読み出し指示を行うものである。【０４４６】
ここで前記チャンネル数決定部で決定されたチャンネル数を表示する表示部を更に有するようにしてもよい。【０４４７】
ここで時分割多重処理により１サンプリング周期毎に決定した発音チャンネル数の範囲内で複数チャンネル分の楽音生成処理を行う信号処理部を更に備えるようにしてもよい。【０４４８】
本発明の楽音生成システムは、アクセスモジュールと、前記アクセスモジュールからの読み出し指示に応じてデータの読み出しを行う不揮発性記憶モジュールとを含む楽音生成システムであって、前記不揮発性記憶モジュールは、楽音データを多重化して記録した複数の不揮発性メモリバンクと、外部からの１つの読み出し指示に応じて前記いずれかの不揮発性メモリバンクからデータの読み出しを行い、当該読み出しを完了する前に、他の読み出し指示があったときに該読み出し中の不揮発性メモリバンクと異なる不揮発性メモリバンクから読み出しを並行して行い、前記不揮発性メモリバンクの構成を示すメモリ構成情報及び読み出し性能情報を読み出すデータ読み出し部と、を具備するものであり、前記アクセスモジュールは、前記不揮発性記憶モジュールから取得した読み出し性能情報及び記録データ特性情報に基づき、発音遅延時間が所定時間以下となるように発音チャンネル数を決定する発音チャンネル数決定部を具備し、決定した発音チャンネル数の範囲内で前記不揮発性記憶モジュールに読み出し指示を行うものである。【０４４９】
尚、前述した各実施の形態においては、ピアノの音をデジタル録音したデータを楽音データとして不揮発性メモリバンク１１０〜１１３に記録したが、ピアノ以外の楽器音や音声、あるいはその他のデータを記憶しても構わない。また楽音データは、デジタル録音したデータではなく人工的に作られたデータであってもよい。またＭＰ３などの圧縮技術によって圧縮されたデータであっても構わない。但しその場合は信号処理部２２０に該圧縮データを伸張する処理、即ちデコード処理を実行させる必要がある。また打鍵強度に対応して２種類の楽音データを予め記憶したが、１種類あるいは３種類以上であっても構わない。但し１種類の場合は、信号処理部２２０による補間処理は不要である。３種類以上の場合は該補間処理の方法を３点間直線補間などに拡張すればよい。【０４５０】
尚、前述した各実施の形態においては、１つの鍵盤に対応する楽音データを約４０秒分としたが、それに限定されることはなく、またＮＮに応じて楽音データの時間長を変えてもよい。通常ピアノの場合は低音ほど発音時間が長いので、低音側の楽音データの時間長を比較的長めにして、高音側の楽音データの時間長を比較的短めにした方が記憶容量を合理化でき好ましい。【０４５１】
尚、前述した各実施の形態においては、不揮発性メモリバンクの数を４個としたが、それ以外の数であっても構わない。不揮発性メモリバンクの数が多いほど、より発音遅延時間を短くすることができる。また、セクタサイズ即ち１回あたりの楽音データの読み出しサイズを５１２Ｂｙｔｅとしたが、その他のサイズであってもよい。該サイズが小さいほど楽音データバッファのＲＡＭ容量を合理化できるが、必要以上に小さくすると楽音生成処理が破綻する。また、メモリバスの数を複数に拡張しても構わない。例えば、メモリバス数を２つとし、１つのメモリバスあたりに４つの不揮発性メモリバンクを接続した場合、不揮発性メモリバンクへの読み出しを８並列で行うことが可能となる。この場合、第１の実施の形態などのようにバスの競合を回避させる必要がない。即ちＩ／Ｏレジスタ１１０ａ〜１１３ａからのデータ転送時間をずらす必要がないので、さらに発音遅延時間を短くすることが可能となる。【０４５２】
尚、式（５）に示す通り、バンクセレクトはＣＨＮによって決まるものとしたが、バンクセレクトは読み出し指示情報の発行順番、即ちアクセスモジュールが不揮発性記憶モジュールに読み出し指示情報を転送する順に、バンクセレクトが０→１→２→３→０→１・・・というように巡回的にインクリメントするようにしても構わない。【０４５３】
尚、楽音データを不揮発性メモリバンクのページ内に連続的に配置したが、配置の規則性を不揮発性記憶モジュールやアクセスモジュールが認識していれば、不連続であっても構わない。また、ＰＢ０又はＰＢ１を先頭ブロックとして楽音データの最低音から順に連続的に配置したが、配置の規則性を不揮発性記憶モジュールやアクセスモジュールが認識していれば、ＰＢ０又はＰＢ１が先頭ブロックでなくてもよく、また不連続であっても構わない。【０４５４】
尚、不揮発性メモリバンクをフラッシュメモリとしたが、本発明はその他の不揮発性メモリを用いた場合に適用できる。【０４５５】
更に前述した各実施の形態では不揮発性メモリバンクに楽音データ特性情報とメモリ構成情報とを保持するようにしているが、これらの情報を保持する別の不揮発性メモリを設けておいてもよい。【０４５６】
尚、データ読み出し部やデータ読み書き部は不揮発性記憶モジュールに設けているが、アクセスモジュール内にあっても構わない。【０４５７】
尚前述した各実施の形態では、マスターキーボードから演奏情報を入力したが、それ以外の形態の入力コントローラ、例えば弦を弾くことによって演奏データを出力するギター型のコントローラや、物を叩くことによって演奏データを出力するスティック型のコントローラを用いてもよい。また、パーソナルコンピュータなどの装置から、あるいはネットワークを介してスタンダードＭＩＤＩファイルのような演奏データをアクセスモジュールに入力するようにしても構わない。
【産業上の利用可能性】
【０４５８】
本発明にかかる楽音生成システムは、不揮発性メモリを楽音データ用のメモリとして使用する方法を提案したものであり、電子楽器やカラオケ装置、あるいは楽音生成機能（例えばサウンドカード）を有するパーソナルコンピュータや携帯電話、ゲーム機器、録音した音素材を楽音データとして利用する装置、などにおいて有益である。
【図１Ａ】
2009125541.tif 000003
【図１Ｂ】
2009125541.tif 000004
【図２】
2009125541.tif 000005
【図３】
2009125541.tif 000006
【図４】
2009125541.tif 000007
【図５】
2009125541.tif 000008
【図６】
2009125541.tif 000009
【図７】
2009125541.tif 000010
【図８Ａ】
2009125541.tif 000011
【図８Ｂ】
2009125541.tif 000012
【図８Ｃ】
2009125541.tif 000013
【図９】
2009125541.tif 000014
【図１０】
2009125541.tif 000015
【図１１】
2009125541.tif 000016
【図１２】
2009125541.tif 000017
【図１３Ａ】
2009125541.tif 000018
【図１３Ｂ】
2009125541.tif 000019
【図１４Ａ】
2009125541.tif 000020
【図１４Ｂ】
2009125541.tif 000021
【図１５】
2009125541.tif 000022
【図１６】
2009125541.tif 000023
【図１７】
2009125541.tif 000024
【図１８】
2009125541.tif 000025
【図１９】
2009125541.tif 000026
【図２０】
2009125541.tif 000027
【図２１】
2009125541.tif 000028
【図２２Ａ】
2009125541.tif 000029
【図２２Ｂ】
2009125541.tif 000030
【図２３】
2009125541.tif 000031
【図２４Ａ】
2009125541.tif 000032
【図２４Ｂ】
2009125541.tif 000033
【図２４Ｃ】
2009125541.tif 000034
【図２５】
2009125541.tif 000035
【図２６Ａ】
2009125541.tif 000036
【図２６Ｂ】
2009125541.tif 000037
【図２７Ａ】
2009125541.tif 000038
【図２７Ｂ】
2009125541.tif 000039
【図２８】
2009125541.tif 000040
【図２９】
2009125541.tif 000041
【図３０】
2009125541.tif 000042
【図３１】
2009125541.tif 000043
【図３２】
2009125541.tif 000044
【図３３Ａ】
2009125541.tif 000045
【図３３Ｂ】
2009125541.tif 000046
【図３４】
2009125541.tif 000047
【図３５】
2009125541.tif 000048
【図３６Ａ】
2009125541.tif 000049
【図３６Ｂ】
2009125541.tif 000050
【図３７】
2009125541.tif 000051
【図３８】
2009125541.tif 000052
【図３９Ａ】
2009125541.tif 000053
【図３９Ｂ】
2009125541.tif 000054
【図４０Ａ】
2009125541.tif 000055
【図４０Ｂ】
2009125541.tif 000056
【図４０Ｃ】
2009125541.tif 000057
【図４１Ａ】
2009125541.tif 000058
【図４１Ｂ】
2009125541.tif 000059
【図４２Ａ】
2009125541.tif 000060
【図４２Ｂ】
2009125541.tif 000061
【図４２Ｃ】
2009125541.tif 000062
【図４３Ａ】
2009125541.tif 000063
【図４３Ｂ】
2009125541.tif 000064
【図４４】
2009125541.tif 000065
【図４５】
2009125541.tif 000066
【図４６Ａ】
2009125541.tif 000067
【図４６Ｂ】
2009125541.tif 000068
【図４７】
2009125541.tif 000069
【図４８】
2009125541.tif 000070
【図４９】
2009125541.tif 000071
【図５０】
2009125541.tif 000072
【図５１】
2009125541.tif 000073
【図５２Ａ】
2009125541.tif 000074
【図５２Ｂ】
2009125541.tif 000075
【図５３】
2009125541.tif 000076
【図５４】
2009125541.tif 000077
【図５５Ａ】
2009125541.tif 000078
【図５５Ｂ】
2009125541.tif 000079
【図５６】
2009125541.tif 000080
【図５７】
2009125541.tif 000081
【図５８】
2009125541.tif 000082
【図５９】
2009125541.tif 000083
【図６０Ａ】
2009125541.tif 000084
【図６０Ｂ】
2009125541.tif 000085
【図６１】
2009125541.tif 000086
【国際調査報告】
2009125541.tif 000087
2009125541.tif 000088
2009125541.tif 000089
2009125541.tif 000090
2009125541.tif 000091
2009125541.tif 000092
2009125541.tif 000093