(57)【特許請求の範囲】
【請求項１】
第１のバスを介して制御手段に接続されているとともに、第２のバスを介して波形データを読み書き可能な波形メモリに接続されており、さらに、前記制御手段の出力する上位アドレスをデコードすることにより生成されている第１選択信号と第２選択信号を入力する波形処理デバイスであって、
前記制御手段からの下位アドレスを入力するアドレス入力部と、
前記制御手段からのデータを入力、あるいは、前記制御手段へのデータを出力するデータ入出力部と、
前記第１選択信号および前記第２選択信号を入力する選択信号入力部と、
前記波形メモリから波形データを読み出すための第１アドレスを発生し、前記波形メモリにおける前記第１アドレスの示す記憶位置から波形データを読み出して、読み出された波形データの信号処理を行なう信号処理部と、
前記信号処理部の動作を制御する各種制御データと、前記制御手段から出力され前記波形メモリの直接アクセスに使用する上位アドレスとを少なくとも記憶する制御レジスタと、
前記第１選択信号が入力されているとき、前記制御手段からの下位アドレスの示す前記制御レジスタにおける記憶位置に前記制御手段から入力する前記データを書き込む、あるいは、当該記憶位置から前記制御手段へ出力する前記データを読み出すレジスタ書込読出部と、
前記第２選択信号が入力されているとき、前記制御レジスタに記憶された前記波形メモリの直接アクセスに使用する上位アドレスと前記制御手段からの下位アドレスに基づいて第２アドレスを発生し、前記波形メモリにおける前記第２アドレスの示す記憶位置に前記制御手段から入力する前記データを書き込む、あるいは、当該記憶位置から前記制御手段へ出力する前記データを読み出す直接アクセス部と、
前記信号処理部による前記波形メモリからの読み出しと、前記直接アクセス部による前記波形メモリへの書き込み、あるいは、読み出しとを時分割化して行う時分割部と、
を備えたことを特徴とする前記波形処理デバイス。
【請求項２】
前記信号処理手段による波形メモリからの波形データの読み出し中に、前記第２選択信号が入力された場合は、前記制御手段に対してウェイトをかけ、前記信号処理手段による読み出しが終了した際に、前記ウェイトを解除すると共に、前記直接アクセス部による波形メモリの書き込み、あるいは、読み出しが行なわれるようにしたことを特徴とする請求項１記載の波形処理デバイス。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、波形メモリへ処理手段が直接アクセスすることのできる波形処理デバイスに関するものである。
【０００２】
【従来の技術】
従来より、発音しようとするピッチに応じて波形メモリから読み出した波形データに基づいて楽音を生成するようにした波形メモリ音源が知られている。このような波形メモリ音源を内蔵する従来の楽音生成装置における波形処理デバイスである音源部の構成例を図６に示す。
図６において、波形メモリ１２１は読み書き可能なＳＤＲＡＭ（Synchronous DRAM）により構成されており、複数の短期間の波形が記憶されている。音源部１２０では、波形メモリ１２１から読み出された波形データに基づいて楽音を生成している。楽音を生成する際に、楽音生成装置における図示しないＣＰＵは音源制御レジスタ１３０に各種音源パラメータ情報を供給すると共に、発音の開始指示を出す。この音源パラメータ情報はＣＰＵからデータバスＤＡＴＡ２を介して音源制御レジスタ１３０に供給され、音源制御レジスタ１３０においてＣＰＵからアドレスバスＡＤ２を介して与えられるＣＰＵアドレスで示されるレジスタに格納される。
【０００３】
音源パラメータ情報は、割り当てチャンネル、波形メモリ読み出しピッチ（周波数ナンバ）、波形メモリ読み出し区間、エンベロープパラメータ、ミキサ１３３に対する設定情報、およびエフェクト用係数などがある。この内の波形メモリ読み出し区間パラメータは、読み出す波形データの開始アドレスＡＳおよびそのデータ長ＬＰＡとされる。音源制御レジスタ１３０および読出書込回路１３１は、処理Ａ、処理Ｂ、取り込み処理、補間処理、およびＸアクセス処理の５つの処理を行なうことにより各チャンネルの楽音を生成している。各処理の概要は次の通りである。処理Ａは、音源制御レジスタ１３０から供給される波形データの開始アドレスＡＳおよびそのデータ長ＬＰＡやピッチＰＩＴＣＨ等の情報に基づいて、楽音生成のために時分割チャンネルタイミングにしたがって各チャンネルの波形データ読出アドレスを作成する処理である。各チャンネルの波形データ読出アドレスは相対アドレスであり、読出書込回路１３１内のレジスタに保持される。処理Ｂは、読出書込回路１３１において実行される処理であり、時分割チャンネルタイミングとは異なるチャンネルのタイミングで、波形メモリ２１に対応する絶対アドレスの波形データ読出アドレスに変換して、この波形データ読出アドレスをアドレスバスＡＤ１を介して波形メモリ１２１に供給する処理である。
【０００４】
また、取り込み処理は、読出書込回路１３１により実行される処理であり、処理Ｂにより波形メモリ１２１に供給された波形データ読出アドレスにしたがって読み出された波形データをデータバスＤＡＴＡ１を介して取り込み、各チャンネル別に内蔵する波形バッファに書き込む処理である。補間処理は、読出書込回路１３１における図示しない補間回路により実行される処理であり、時分割チャンネルタイミングにしたがって、波形バッファから各チャンネルの波形サンプルを読み出し、補間を行なって各チャンネルの波形データを生成して時分割で出力する処理である。補間された波形データは、読出書込回路１３１からＥＧ付与回路１３２に供給される。
【０００５】
Ｘアクセス処理は、音源制御レジスタ１３０に内蔵されているＸアクセス回路１３０ａの制御の基で実行される処理であり、前述した処理Ｂや取り込み処理において処理を行うタイムスロットが空いた際に、そのタイムスロットで、ＣＰＵが波形メモリ１２１から波形データを読出／書込する処理、および、ミキサ１３３から出力されたミキシングされた波形データを波形メモリ１０９へ書き込む処理である。ＣＰＵが波形メモリ１２１から波形データを読み出すＸアクセス処理の際には、ＣＰＵはＸアクセス回路１３０ａに内蔵されたＸＡレジスタを指定するアドレスを出力して、ＸＡレジスタにデータバスへ出力した波形データ読出アドレスを書き込む。読出書込回路１３１は、処理Ｂや取り込み処理において空いたタイムスロットを使用して、アドレスバスＡＤ１を介して波形メモリ１２１にＸＡレジスタに書き込まれた波形データ読出アドレスを供給する。これにより波形メモリ１２１から読み出された波形データはデータバスＤＡＴＡ１、読出書込回路１３１を介してＸアクセス回路１３０ａに内蔵されているＦＩＦＯ（First In First Out）に書き込まれる。ＦＩＦＯは先入れ先出し方式のバッファメモリである。ＣＰＵは読み出された波形データがＦＩＦＯに書き込まれた際に、ＦＩＦＯからその波形データをデータバスＤＡＴＡ２上に読み出して取り込む。
【０００６】
読出書込回路１３１が波形メモリ１２１へ波形データ読出アドレスを供給する際には、波形メモリ１２１へリードイネーブル信号も供給する。また、ＣＰＵはＸアクセス回路１３０ａへ読み出す波形データの開始アドレスとデータ長の情報を供給し、Ｘアクセス回路１３０ａは波形メモリ１２１からデータを読み出す毎に開始アドレスからデータ長に対応するまで順次アドレスをインクリメントして連続する波形データ読出アドレスを発生する。この波形データ読出アドレスは内蔵するＸＡレジスタに書き込まれ、最終的に波形メモリ１２１に供給される。これにより、連続するアドレス位置に書き込まれている所定サンプル数の波形データを順次読み出してＦＩＦＯに格納することができるようになる。ＦＩＦＯに格納された波形データはＣＰＵにより読み出される。
【０００７】
また、ミキサ１３３から出力される波形データを波形メモリ１２１へ書き込むＸアクセス処理の際には、ミキサ１３３から出力される波形データがＦＩＦＯに書き込まれる。ＣＰＵはＸアクセス回路１３０ａに内蔵されたＸＡレジスタに波形データ書込アドレス（先頭アドレス）を書き込む。読出書込回路１３１は、処理Ｂや取り込み処理において空いたタイムスロットを使用して、アドレスバスＡＤ１を介して波形メモリ１２１にＸＡレジスタに書き込まれた波形データ書込アドレスを供給する。同時にＦＩＦＯから出力された波形データが読出書込回路１３１を介してデータバスＤＡＴＡ１に出力されて、波形メモリ１２１に供給される。これにより、波形メモリ１２１へ波形データが書き込まれるようになる。この場合、読出書込回路１３１から波形メモリ１２１へライトイネーブル信号が供給される。なお、ＣＰＵはＸアクセス回路１３０ａへ書込アドレスの開始アドレスと波形データのデータ長の情報を供給し、Ｘアクセス回路１３０ａは波形データを書き込む毎に開始アドレスからデータ長に対応するまで順次アドレスをインクリメントして連続する波形データ書込アドレスを発生する。この波形データ書込アドレスは内蔵するＸＡレジスタに書き込まれ、最終的に波形メモリ１２１に供給される。これにより、ミキサ１３３からＦＩＦＯに書き込まれた所定サンプル数の波形データを波形メモリ１２１の連続するアドレス位置に書き込むことができるようになる。この場合、ＦＩＦＯにはその空き状態に応じてミキサ１３３から順次波形データが書き込まれる。また、ＣＰＵから波形データを波形メモリ１２１へ書き込むＸアクセス処理の際にも同様の処理が行われる。
【０００８】
読出書込回路１３１から時分割で出力される各チャンネルの波形データは、ＥＧ付与回路１３２においてエンベロープが付与される。付与されるエンベロープは、ＣＰＵから与えられて音源制御レジスタ１３０に格納されている各チャンネルのエンベロープパラメータに基づいて決定される。
エンベロープが付与された、例えば３２チャンネル分の波形データはミキサ１３３に供給される。さらに、ミキサ１３３には信号処理回路（ＤＳＰ）１３４から出力されるエフェクト処理等がされた、例えば８チャンネル分の波形データ、および外部回路１２２からフィルタ処理やエフェクト処理等がされた、例えば８チャンネル分の波形データが供給されている。ミキサ１３３は、これらの供給された各チャンネルの波形データにそれぞれ係数値を乗算してミキシングする。
【０００９】
係数値はＣＰＵから音源制御レジスタ１３０に音源パラメータとして与えられて、内蔵するレジスタに格納されている。ミキサ１３３においてミキシングされた波形データは、８チャンネル分がＤＳＰ１３４に、８チャンネル分が外部回路１２２に、１チャンネル分が音源制御レジスタ１３０内のＸアクセス回路１３０ａに、音源部１２０の最終的な出力となる２チャンネル（ＬおよびＲ出力）分がＤＡＣ１２３に、それぞれ出力されるようになされている。このように、ミキサ１３３はＣＰＵから指定されたチャンネルの波形データに指定された係数値を乗算してミキシングし、そのミキシング結果をＣＰＵの指定に基づく出力部へ指定されたチャンネルで送出するようにしている。
【００１０】
【発明が解決しようとする課題】
しかしながら、従来の楽音生成装置における音源部とされる波形処理デバイスにおいては、ＣＰＵが波形メモリからデータを読み出す際には、その読出アドレスをデータバスへ出力してＸＡレジスタに書き込み、所定のタイミングで波形メモリにＸＡレジスタからの読出アドレスが供給される。これにより、波形データから読み出されたデータがバッファに格納され、バッファに格納された際にＣＰＵがバッファから読み出されたデータを取り込むようにしている。これに対して、ＣＰＵがＣＰＵバスに接続されているメモリにアクセスする際には、ＣＰＵが内蔵するアドレスレジスタに格納されているアドレスをアドレスバスを通じてメモリに供給することにより、メモリからデータを読み出して取り込むようにしている。このように、波形メモリにアクセスする場合とＣＰＵバスに接続されているメモリにアクセスすると場合とでは、そのアクセスする態様が異なっていた。
【００１１】
そこで本発明は、アクセスする態様を異ならせることなく波形メモリにアクセスできるようにした波形処理デバイスを提供することを目的としている。
【００１４】
【課題を解決するための手段】
上記目的を達成することのできる本発明の波形処理デバイスは、第１のバスを介して制御手段に接続されているとともに、第２のバスを介して波形データを読み書き可能な波形メモリに接続されており、さらに、前記制御手段の出力する上位アドレスをデコードすることにより生成されている第１選択信号と第２選択信号を入力する波形処理デバイスであって、前記制御手段からの下位アドレスを入力するアドレス入力部と、前記制御手段からのデータを入力、あるいは、前記制御手段へのデータを出力するデータ入出力部と、前記第１選択信号および前記第２選択信号を入力する選択信号入力部と、前記波形メモリから波形データを読み出すための第１アドレスを発生し、前記波形メモリにおける前記第１アドレスの示す記憶位置から波形データを読み出して、読み出された波形データの信号処理を行なう信号処理部と、前記信号処理部の動作を制御する各種制御データと、前記制御手段から出力され前記波形メモリの直接アクセスに使用する上位アドレスとを少なくとも記憶する制御レジスタと、前記第１選択信号が入力されているとき、前記制御手段からの下位アドレスの示す前記制御レジスタにおける記憶位置に前記制御手段から入力する前記データを書き込む、あるいは、当該記憶位置から前記制御手段へ出力する前記データを読み出すレジスタ書込読出部と、前記第２選択信号が入力されているとき、前記制御レジスタに記憶された前記波形メモリの直接アクセスに使用する上位アドレスと前記制御手段からの下位アドレスに基づいて第２アドレスを発生し、前記波形メモリにおける前記第２アドレスの示す記憶位置に前記制御手段から入力する前記データを書き込む、あるいは、当該記憶位置から前記制御手段へ出力する前記データを読み出す直接アクセス部と、前記信号処理部による前記波形メモリからの読み出しと、前記直接アクセス部による前記波形メモリへの書き込み、あるいは、読み出しとを時分割化して行う時分割部とを備えている。
【００１５】
また、上記本発明の波形処理デバイスにおいて、前記信号処理手段による波形メモリからの波形データの読み出し中に、前記第２選択信号が入力された場合は、前記制御手段に対してウェイトをかけ、前記信号処理手段による読み出しが終了した際に、前記ウェイトを解除すると共に、前記直接アクセス部による波形メモリの書き込み、あるいは、読み出しが行なわれるようにしてもよい。
【００１６】
このような本発明によれば、信号処理手段が所定の周期で発生するアドレスにより波形データが読み出される波形メモリへ、制御手段がアクセスを行えるようにしている。この場合、制御手段の出力するアドレスの一部をそのまま波形メモリのアドレスとして使用して、波形メモリへ直接アクセスを行なうようにしている。これにより、制御手段が波形メモリにアクセスする態様を、バスに接続されているメモリにアクセスする態様と異ならせることなく、波形処理デバイスにおける波形メモリにアクセスすることができるようになる。この制御手段によるアクセスは、信号処理手段による波形メモリへのアクセスと時分割して行われる。この場合、信号処理手段によるアクセスを優先して行うように、信号処理手段によるアクセスが行われない時に、制御手段によるアクセスが行われるように制御している。
【００１７】
また、本発明で実現される制御手段による波形メモリへの直接アクセス機能は、波形メモリに記憶された波形データの部分的な編集、波形メモリ上に楽音パラメータ（音色データ、エフェクトデータ等）、変換テーブル、曲データ等を記憶した場合の該変換テーブルや楽音パラメータの読み出し、書き込み、あるいは、編集等の波形メモリ上のデータのランダムアクセスが必要な用途に最適となる。例えば、波形データの編集では、ユーザからの指示に応じて、直接アクセス機能を用いて波形データの一部を選択的に波形メモリから読み出し、その波形データをフィルタ処理したり音量制御して、直接アクセスで処理した波形データを波形メモリに書き戻すことができるようになる。また、波形メモリ上の音色データを編集する場合では、直接アクセス機能を用いて波形メモリから音色データの特定のパラメータを読み出して表示し、ユーザの操作に応じてその値を変更し、直接アクセスにより変更されたパラメータを波形メモリに書き戻すことができるようになる。
【００１８】
【発明の実施の形態】
本発明の実施の形態にかかる波形処理デバイスが音源部として備えられている楽音生成装置の構成例を示すブロック図を図１に示す。
図１に示す楽音生成装置１おいて、ＣＰＵ１０は各種プログラムを実行することにより楽音生成装置１における楽音生成の動作を制御する中央処理装置（Central Processing Unit）であり、タイマ１１は動作時の経過時間を示したり、特定の間隔でタイマ割込を発生するタイマであり、自動演奏の時間管理等に使用される。ＲＯＭ１２は、ＣＰＵ１０が実行する楽音生成処理のプログラムや、各種データが格納されているＲＯＭ（Read Only Memory）である。ＲＡＭ１３は楽音生成装置１におけるメインメモリであり、ＣＰＵ１０のワークエリア等が設定されるＲＡＭ（Random Access Memory）である。
【００１９】
また、ディスク１４はハードディスク、フロッピーディスク、リムーバブルディスク等の記録媒体であり、波形メモリ２１にロードする波形データなどが格納されている。ドライブ１５はセットされたディスク１４の読出／書込を行うディスクドライブである。ＭＩＤＩインタフェース１６は、楽音生成装置１内部で作成したＭＩＤＩメッセージを外部へ送出したり、外部からのＭＩＤＩメッセージを受信するＭＩＤＩインターフェースである。ネットワークインタフェース１７は、ＬＡＮ（Local Area Network ）やインターネット、電話回線等の通信ネットワークを介してサーバコンピュータに接続するためのネットワークインターフェースである。パネルスイッチ（パネルＳＷ）１８は、楽音生成装置１のパネルに設けられている各種スイッチであり、これを操作することにより楽音生成装置１に各種指示を与えることができる。パネル表示器１９は、楽音生成時に各種情報が表示されるディスプレイである。
【００２０】
音源部２０は、ＣＰＵ１０の制御に基づいて、波形メモリ２１から波形データ（波形サンプル）を読み出し、補間、エンベロープ付与、チャンネル累算（ミキシング）、および効果（エフェクト）付与などの処理を行って、楽音波形データとして出力している。音源部２０から出力された楽音波形データは、ＤＡＣ２３によりアナログ信号に変換され、サウンドシステム２４により放音される。波形メモリ２１は、ＳＤＲＡＭ等の高速のメモリにより構成されており、所定のレートでサンプリングされた多数の波形サンプルデータが格納されている。１ワードの波形サンプルは、例えば１６ビットで表され、アドレスは波形サンプル単位に付けられている。すなわち、１アクセスで１つの波形サンプルを読み出すようにしている。波形メモリ２１には、楽音の生成に先立ってディスク１４等から読み出された波形データが格納されている。
【００２１】
外部回路２２は、外部から音声や楽音を取り込むためのアナログ／ディジタル変換器（ＡＤＣ）、効果（エフェクト）付与処理を行なう外部ＤＳＰ、あるいはディジタルフィルタなどで構成されている。音源部２０から外部回路２２へ供給された波形データには、外部回路２２においてエフェクト付与処理やディジタルフィルタ処理が施されて、音源部２０へ戻される。音源部２０においては、戻された波形データが他のチャンネルの波形データにミキシングされるようになる。なお、外部回路２２は楽音生成装置１に内蔵してもよいし、楽音生成装置１の外部に設けてもよい。また、また、バス２５はアドレスバス（後述するＣＰＵアドレスバスＡＤＢ５，ＡＤＢ６を含む）、コントロールバス（後述するＣＰＵウェイトラインＷＡＩＴのウェイト信号、ＣＰＵアクセス制御信号ＷＥ、ＯＥ、ＲＡＳ、ＣＡＳを含むコントロール信号のバス）、データバス（後述するＣＰＵデータバスＤＡＴＡ４を含む）の各バスを備える前記した各部を相互接続しているＣＰＵバスである。
【００２２】
次に、本発明の実施の形態にかかる波形処理デバイスである音源部２０の詳細構成を図２に示し、図３に楽音生成装置１における論理アドレス空間と波形メモリ２１の物理アドレス空間の関係を示し、図４に音源部２０における動作タイミングを示す。この音源部２０において発音チャンネル数が３２チャンネルとされている場合は、音源部２０は時分割３２チャンネルで動作する。このため、音源部２０内の各部には、時分作を行なうための基準信号となる制御クロック信号やチャンネルカウント値などの制御信号が供給されている。
図２において、ＡＤＢ１〜ＡＤＢ６はそれぞれアドレスバスであり、アドレスバスＡＤＢ１ないしアドレスバスＡＤＢ６により供給されるアドレスをアドレスＡＤ１ないしアドレスＡＤ６として、以下に表すものとする。
波形メモリ２１は読み書き可能な、例えばＳＤＲＡＭ（Synchronous DRAM）により構成されており、音源部２０において楽音を生成する際には予めディスク１４等から読み出した複数の比較的短期間の波形が記憶されている。音源部２０では、この波形メモリ２１からチャンネル毎に時分割で読み出された波形データに基づいて各チャンネルの楽音を生成している。
【００２３】
楽音生成装置１におけるＣＰＵ１０は、ノートオンに応じて楽音を発生する際に、前記３２チャンネルから該ノートオンに応じた楽音生成に使用するチャンネル（割り当てチャンネル）を選択し、音源レジスタ３０の割り当てチャンネルに対応する記憶領域に各種音源パラメータを設定し、同チャンネルの発音の開始指示を出す。この音源パラメータ情報はＣＰＵ１０からデータバスＤＡＴＡ４を介して音源制御レジスタ３０に供給され、ＣＰＵアクセス制御信号（前記ＷＥ、ＯＥ等）による書き込み制御のもとで、音源制御レジスタ３０の中のＣＰＵ１０からアドレスバスＡＤＢ６を介して供給される下位アドレスＡＤ６で示される記憶位置のレジスタに格納される。なお、図示していないが、ＣＰＵ１０からのアクセス制御信号等を伝送するための前記コントロールバスが音源制御レジスタ３０及び直接アクセス部３６に接続されている。
ここで、メモリ空間について図３を参照して説明する。図１に示す楽音生成装置１においてＣＰＵ１０が３２ビット・アーキテクチャであるとする。ＣＰＵ１０の出力するＣＰＵアドレスを３２ビット、データバスＤＡＴＡ４を１６ビットとすると、ＣＰＵ１０のアクセス可能なアドレス空間は２32＝４Ｇワードである。ＣＰＵ１０は、内部の３２ビットレジスタのデータをアドレスとして使用することにより、このアドレス空間全域をアクセスすることができる。また、音源２０の出力するアドレスを３２ビット、データバスＤＡＴＡ１を１６ビットとすると、音源２０のアクセス可能なアドレス空間は２32＝４Ｇワードであり、このアドレス空間の一部ないし全部に波形メモリ２１が実装される。読出書込回路３１は、整数部３２ビットおよび小数部１３ビットのアドレスカウンタを備えており、該整数部に基づいてアドレスバスＡＤＢ２で供給されるアドレスＡＤ２を生成することにより最長４Ｇワードの波形データを再生できる。
【００２４】
ＣＰＵ１０のアドレス空間では、音源制御レジスタアクセス用の領域として領域Ｍ１が、また、波形メモリ直接アクセス用の領域として領域Ｍ２が、それぞれ割り当てられている。各領域のサイズは、１６ビットの下位アドレスＡＤ６でアクセス可能な６４ｋワードである。前記割り当てを実現するために、ＣＳ信号発生部２６（アドレスデコーダ）は、ＣＰＵ１０の出力する上位アドレスＡＤ５が領域Ｍ１に対応する上位１６ビットアドレスＡＤM1と一致する際に、音源制御レジスタ３０を選択するチップセレクト信号ＣＳ１を出力し、また、同上位アドレスＡＤ５が領域Ｍ２に対応する上位１６ビットアドレスＡＤM2と一致する際に、直接アクセス回路３６を選択するチップセレクト信号ＣＳ２を出力する。なお、ＣＰＵ１０のアドレス空間のうちで領域Ｍ１，Ｍ２以外には、ＲＯＭ１２、ＲＡＭ１３等のメモリをアクセスするための領域や、ネットワークインターフェース１７、タイマ１１、表示器１９等の他のデバイスの制御レジスタをアクセスするための領域が適宜割り当てられている。さらに、チップセレクト信号ＣＳ２が出力された場合、直接アクセス回路３６は、ＣＰＵアドレスから３２ビットアドレスＡＤ３を生成し、生成されたアドレスＡＤ３により波形メモリ２１への直接アクセス動作を実行する。ここで、アドレスＡＤ３の上位１６ビットは上位ＡＤレジスタ３０ａからの１６ビットアドレスＡＤ４に基づいて生成され、下位１６ビットはＣＰＵ１０からの１６ビット下位アドレスＡＤ６により生成される。例えば、図３において、ＣＰＵ１０が矢印ｍで示されるアドレス（その上位アドレスはＡＤM2で下位アドレスはＡＤ６）により読み出し、あるいは、書き込みをする際には、上位ＡＤレジスタ３０ａに値ＡＤａが設定されていれば、該上位アドレスＡＤａに対応した領域Ａの先頭アドレスから該下位アドレスＡＤ６だけ進んだ矢印ａで示されるアドレスがアクセスされ、そのアドレスのデータが読み出し、あるいは、書き込みされる。また、その時に上位ＡＤレジスタ３０ａに値ＡＤｂが設定されていれば、該上位アドレスＡＤｂに対応した領域Ｂの先頭アドレスから該下位アドレスＡＤ６だけ進んだ矢印ｂで示されるアドレスが同様にアクセスされる。
【００２５】
図２に戻り、発音開始指示と共に音源制御レジスタ３０に供給される音源パラメータ情報は、波形メモリ読み出し速度（楽音ピッチに対応）、波形メモリ読み出し区間、エンベロープパラメータ、ミキサ３３に対する設定情報、およびエフェクト用係数等とされる。この内の波形メモリ読み出し区間パラメータは、読み出す波形データの開始アドレスＡＳおよびそのデータ長ＬＰＡとされる。これらの音源パラメータ情報は、ＣＰＵ１０からデータバスＤＡＴＡ４を介して音源制御レジスタ３０に供給され、同時にＣＰＵアドレスの上位アドレスＡＤ５がＣＳ信号発生部２６に供給されると共に下位アドレスＡＤ６が音源制御レジスタ３０に供給され。この場合、上位アドレスＡＤ５では図３に示す音源制御レジスタ３０に内蔵されているレジスタに割り当てられているセグメント空間Ｍ１が指定される。これにより、ＣＳ信号発生部２６は音源制御レジスタ３０を選択するチップセレクト信号ＣＳ１を出力し、音源制御レジスタ３０はアドレスバスを介して供給されるＣＰＵアドレスの下位アドレスＡＤ６を受け取る。そして、当該下位アドレスで示される音源制御レジスタ３０内の特定のレジスタに、データバスＤＡＴＡ４を介して供給される音源パラメータを格納する。このようにして、複数のそれぞれのレジスタに対応する音源パラメータがそれぞれ格納されていく。
【００２６】
音源制御レジスタ３０および読出書込回路３１は、処理Ａ、処理Ｂ、取り込み処理、および補間処理を行なう。各処理の概要および処理タイミングは次の通りである。処理Ａは、音源制御レジスタ３０から供給される波形データの開始アドレスＡＳおよびそのデータ長ＬＰＡやピッチＰＩＴＣＨ等の情報に基づいて、楽音生成のために時分割チャンネルタイミングにしたがって各発音チャンネルの波形データ読出アドレスを作成する処理である。各チャンネルのアドレスは、読出書込回路３１内のレジスタに保持される。発音チャンネル数が３２チャンネルとされている場合は、処理ＡはＤＡＣ２３における１ＤＡＣ周期内において３２チャンネル分の波形データ読出アドレスを作成する。
【００２７】
この場合、図４に示すように１ＤＡＣ周期は前半と後半とに２分割されて、前半の期間では１ｃｈ〜１６ｃｈの波形データ読出アドレスが作成され（処理Ａ前半ｃｈ）、後半の期間では１７ｃｈ〜３２ｃｈの波形データ読出アドレスが作成される（処理Ａ後半ｃｈ）。処理Ａでは、全チャンネルについて読出アドレスの生成を行ない、かつ、各チャンネルの読出アドレスの整数部の進行量に応じて波形データを読み出すべきチャンネルを決定し、決定されたチャンネルのチャンネル番号とそのチャンネルでの読み出すべきサンプル数（前記進行量に対応）を制御ＲＡＭに格納する。例えば、補間処理における４点補間等の補間態様においては複数の波形データが必要となることから、このような場合には処理Ａにおいて１つのチャンネルについて複数の波形データ読出アドレスが作成されるようになる。なお、１ｃｈ〜３２ｃｈの各チャンネルの処理を行うタイムスロットは１ＤＡＣ周期を等分割して与えられる。すなわち、処理Ａにおける各チャネルに割り当てられるタイムスロットは１ＤＡＣ周期をＴとするとＴ／３２とされ、このタイムスロットにおいて図示するようにチャンネル順に処理される。
【００２８】
処理Ｂは、読出書込回路３１において処理Ａよりほぼ１／２ＤＡＣ周期だけ遅れて実行される処理であり、後述するタイミングで処理Ａが終了したチャンネルについて行われる。処理Ｂは、制御ＲＡＭに読み出すべきチャンネルとして記憶されているチャンネルについて、当該チャンネルの読出アドレスに基づいて制御ＲＡＭに記憶されているアクセス回数だけ波形メモリ２１にアクセスし、該回数分の波形サンプルを読み出す処理である。この場合、図４に示すように１ＤＡＣ周期の前半の期間では１ｃｈ〜１６ｃｈについての波形メモリ２１からの読み出しが実行され（処理Ｂ前半ｃｈ）、後半の期間では１７ｃｈ〜３２ｃｈについての波形メモリ２１からの読み出しが実行される（処理Ｂ後半ｃｈ）。この場合、処理Ａにおいて、波形データを読み出すべきチャンネルとしてチャンネル番号が制御ＲＡＭに格納されなかったチャンネルについては、処理Ｂの処理は行われない。処理Ｂが行われるタイムスロットは処理Ａの１タイムスロットの１／４とされ、１ＤＡＣ周期をＴとするとＴ／１２８とされる。
【００２９】
そして、処理Ａにおいて記憶されたアクセス回数が複数であったチャンネル（すなわち、読出アドレスの整数部が複数進行したチャンネル）については、それぞれの波形データ読出アドレスに対する処理Ｂが該アクセス回数に対応したタイムスロット数ずつ順次実行されるようになる。例えば、図４の処理Ｂに示すように１ｃｈについては処理Ｂが１タイムスロットで行われ、２ｃｈについては処理Ｂは行われず、３ｃｈについては処理Ｂが３タイムスロットで行われ、４ｃｈについては処理Ｂは行われず、５ｃｈについては処理Ｂが１タイムスロットで行われ、６ｃｈについては処理Ｂは行われず、７ｃｈについては処理Ｂが２タイムスロットで行われ、８ｃｈ〜１６ｃｈについては処理Ｂは行われないようになる。このように、処理Ｂが行われないチャンネルがあることから処理Ｂの前半期間においては７ｃｈの処理が終了してから後半期間が始まるまでのタイムスロットが空くようになると共に、後半期間においても後には次の前半期間が始まるまでにタイムスロットに空きが生じるようになる。そこで、この空いたタイムスロットを後述する直接アクセス回路３６がアクセスする直接アクセス処理を行うタイムスロットとして割り当てるようにする。この割り当ては、次のようにして制御信号ＣＯＮＴ１及び制御信号ＣＯＮＴ２により制御されている。読出書込回路３１から出力されている制御信号ＣＯＮＴ１は、読出書込回路３１による波形メモリアクセス（処理Ｂなど）が行なわれる期間において「１」となる信号であり、制御信号ＣＯＮＴ２はそれ以外の期間において「１」となる信号である。セレクタ３５は、制御信号ＣＯＮＴ１が「１」である間、波形メモリ２１のアドレスバスＡＤＢ１をアドレスバスＡＤＢ２に、また、データバスＤＡＴＡ１をデータバスＤＡＴＡ２に接続し、それ以外の間はアドレスバスＡＤＢ１をアドレスバスＡＤＢ３に、また、データバスＤＡＴＡ１をデータバスＤＡＴＡ３に接続する。これにより、制御信号ＣＯＮＴ１が「１」である間、読出書込回路３１は、波形メモリ２１をアクセスすることができる。一方、直接アクセス回路６は、制御信号ＣＯＮＴ２が「１」となる間を空いたタイムスロットとして認識し、そのタイムスロットを利用して直接アクセス処理を行なうようにしている。
【００３０】
また、取り込み処理は、読出書込回路３１により実行される処理であり、処理Ｂにより波形メモリ２１に供給された波形データ読出アドレスにしたがって読み出された波形データをデータバスＤＡＴＡ１を介して取り込み、内部の波形バッファに書き込む処理である。この波形バッファは、サンプル間補間用の波形データを記憶するバッファであり、各チャンネルごとに波形メモリ２１から読み出された最新の波形データを４サンプル分記憶する。処理Ｂにおいて波形データ読出アドレスが波形メモリ２１に供給されると、波形メモリ２１から直ちに波形データが読み出されることから、取り込み処理は、図４に示すように処理Ｂからわずか遅れて開始されるようになる。この場合、１つの波形データ読出アドレスで１つの波形サンプルが読み出されることから、図４の取り込み処理に示すように１ｃｈについては波形データが１サンプル分取り込まれ、２ｃｈについては波形データは取り込まれず、３ｃｈについては波形データが３サンプル分取り込まれ、４ｃｈについては波形データは取り込まれず、５ｃｈについては波形データが１サンプル分取り込まれ、６ｃｈについては波形データは取り込まれず、７ｃｈについて波形データが２サンプル分取り込まれ、８ｃｈ〜１６ｃｈについては波形データは取り込まれないようになる。このように、波形データが取り込まれないチャンネルがあることから取り込み処理の前半期間においては７ｃｈの処理が終了してから後半期間が始まるまでのタイムスロットが空くようになると共に、後半期間においても後には次の前半期間が始まるまでのタイムスロットに空きが生じるようになる。そこで、この空いたタイムスロットを後述する直接アクセス回路３６が波形メモリ２１に直接アクセスする際のタイムスロットとして割り当てるようにする。なお、取り込み処理における１タイムスロットは処理Ｂの１タイムスロットと同様とされ、１ＤＡＣ周期をＴとするとＴ／１２８とされる。
【００３１】
補間処理は、読出書込回路３１における図示しない補間回路により実行される処理であり、時分割チャンネルタイミングにしたがって、波形バッファから各チャンネルの必要とする波形サンプルを読み出し、２点補間や４点補間を行なった波形データを出力する処理である。この場合、波形バッファには取り込み処理により取り込まれた波形データが格納されていることから、補間処理は取り込み処理より若干遅れて開始されるようになる。補間された波形データは、読出書込回路３１からＥＧ付与回路３２に供給される。この場合、図４に示すように１ＤＡＣ周期の前半の期間では１ｃｈ〜１６ｃｈの補間処理が行われ（補間前半ｃｈ）、後半の期間では１７ｃｈ〜３２ｃｈの補間処理が行われる（補間後半ｃｈ）。なお、１ｃｈ〜３２ｃｈの各チャンネルの補間処理時間は１ＤＡＣ周期を等分割して与えられる。すなわち、補間処理における各チャネルに割り当てられるタイムスロットは１ＤＡＣ周期をＴとするとＴ／３２とされ、このタイムスロットにおいて図示するようにチャンネル順に処理される。
【００３２】
次に、読出書込回路３１から時分割で出力される各チャンネルの波形データは、ＥＧ付与回路３２においてエンベロープが付与される。付与されるエンベロープは、ＣＰＵ１０から与えられて音源制御レジスタ３０のレジスタに格納されている各チャンネルのエンベロープパラメータに基づいて決定される。エンベロープが付与された、例えば３２チャンネル分の波形データはミキサ３３に供給される。さらに、ミキサ３３には信号処理回路（ＤＳＰ）３４から出力されるエフェクト処理等がされた、例えば８チャンネル分の波形データ、および外部回路２２からフィルタ処理やエフェクト処理等がされた、例えば８チャンネル分の波形データが供給されている。ミキサ３３は、これらの供給された各チャンネルの波形データにそれぞれ係数値を乗算してミキシングする。係数値はＣＰＵ１０から音源制御レジスタ３０に与えられて、内蔵するレジスタに格納されている。ミキサ３３においてミキシングされた波形データは、８チャンネル分がＤＳＰ３４に、８チャンネル分が外部回路２２に、音源部２０の最終的な出力となる２チャンネル（ＬおよびＲ出力）分がＤＡＣ２３に、それぞれ出力されるようになされている。このように、ミキサ３３はＣＰＵ１０から指定されたチャンネルの波形データに指定された係数値を乗算してミキシングし、そのミキシング結果をＣＰＵ１０の指定に基づく出力部へ指定されたチャンネルで送出するようにしている。
【００３３】
ところで、音源部２０においては  直接アクセス処理を行うことができるようにされている。この直接アクセス処理は、ＣＰＵ１０が波形メモリ２１に直接アクセスして、波形メモリ２１からデータを読み出す処理である。直接アクセス処理は、直接アクセス回路３６の制御の基で実行される処理であり、前述した処理Ｂにおける空いたタイムスロットや取り込み処理において空いたタイムスロットを使用して、ＣＰＵ１０が波形メモリ２１へ直接アクセスして波形メモリ２１に格納されているデータを読み出す処理である。
【００３４】
ノートオンに応じてＣＰＵ１０が音源パラメータ情報の書き込みと発音の開始指示を行なう際には、ＣＳ信号発生部２６に供給されるＣＰＵアドレスの上位アドレスＡＤ５がセグメント空間Ｍ１を指定するようになる。このように、上位アドレスＡＤ５がセグメント空間Ｍ１内を指定していることから、ＣＳ信号発生部２６がチップセレクト信号ＣＳ１を立ち上げて音源制御レジスタ３０に供給する。この場合、チップセレクト信号ＣＳ２は立ち上がらない。これにより、音源制御レジスタ３０が下位アドレスＡＤ６のアドレスバスおよびデータバスＤＡＴＡ４に接続され、音源制御レジスタ３０に音源パラメータ情報と発音の開始指示が書き込まれる。音源部２０では、制御レジスタ３０に音源パラメータ情報と発音開始指示が書き込まれたのに応じて、当該書き込みの行なわれたチャンネルの楽音生成動作が開始される。すなわち、読出書込回路３１では、制御レジスタ３０に設定された波形メモリ読み出し区間の波形データを、制御レジスタ３０に設定された波形メモリ読み出し速度で読み出してサンプル間補間する処理を開始し、ＥＧ付与部３２では、制御レジスタ３０に設定されたエンベロープパラメータに基づく音量エンベロープを発生してサンプル間補間された波形データに付与する処理を開始する。
【００３５】
そして、読出書込回路３１において上述した処理Ａおよび処理Ｂが行われて作成された波形データ読出アドレスがアドレスバスＡＤＢ２を介してセレクタ３５に供給され、セレクタ３５は波形データ読出アドレスをアドレスバスＡＤＢ１を介して波形メモリ２１に供給する。この場合、波形メモリ２１にはリードイネーブル信号も供給される。波形メモリ２１にはＣＰＵ１０が発音指示を与える前にディスク１４等から読み出した複数の比較的短期間の波形が記憶されている。ただし、波形メモリ２１の全メモリ空間に波形データがすべて記憶されている必要はなく、例えば、図３に示す波形データ実装領域Ｒに波形データが記憶されている。そして、チャンネル毎に波形メモリ２１から読み出された波形データは、上述したように補間処理が行われて読出書込回路３１からチャンネル毎に時分割で出力される。読出書込回路３１から時分割で出力された各チャンネルの波形データには、ＥＧ付与回路３２においてエンベロープが付与される。
【００３６】
エンベロープが付与された、例えば３２チャンネルの波形データはミキサ３３に供給されるが、ミキサ３３にはＤＳＰ３４から出力されるエフェクト処理等がされた、例えば８チャンネル分の波形データ、および外部回路２２からフィルタ処理やエフェクト処理等がされた、例えば８チャンネル分の波形データが供給されている。ミキサ３３は、これらの供給された各チャンネルの波形データにそれぞれ係数値を乗算してミキシングする。ミキサ３３においてミキシングされた波形データは、８チャンネル分がＤＳＰ３４に、８チャンネル分が外部回路２２に、音源部２０の最終的な出力となる２チャンネル（ＬおよびＲ出力）分がＤＡＣ２３に、それぞれ出力される。そして、ＤＡＣ２３によりアナログ信号に変換された楽音信号はサウンドシステム２４から放音されるようになる。
【００３７】
次に、ＣＰＵ１０が波形メモリ２１に直接アクセスしてデータを読み出す直接アクセスしてデータを読み出しないし書き込みする直接アクセス処理について説明する。直接アクセス処理の機能は、ＣＰＵ１０が、普通のメモリをアクセスするのと同じようにアドレスをアドレスバスに出力しつつアクセス制御信号で読み出しないし書き込み制御を行うことにより、音源２０に接続された波形メモリ２１からデータを読み出したり、波形メモリ２１へデータを書き込むことのできる機能である。ＣＰＵ１０は、直接アクセス処理に先立って、まず音源制御レジスタ３０の上位ＡＤレジスタ３０ａへ、直接アクセスにおいて波形メモリ２１へ供給する読出アドレスの上位アドレスを設定する。すなわち、ＣＰＵ１０は、アドレスバスの上位アドレスバスＡＤＢ５に領域Ｍ１のアドレス、下位アドレスバスＡＤＢ６に該領域Ｍ１における上位ＡＤレジスタ３０ａのアドレスを出力するとともに、データバスＤＡＴＡ４に設定しようとする上位アドレスを出力して、上位ＡＤレジスタ３０ａに設定しようとする上位アドレスの書き込みを行なう。この場合、上位ＡＤレジスタ３０ａに書き込まれる上位アドレスは、波形メモリ２１上の直接アクセスを行なおうとする領域（例えば、領域Ａ、領域Ｂ）を示している。
【００３８】
上位アドレスの設定が終わった後、ＣＰＵ１０は直接アクセス処理を実行する。例えば、直接アクセスによる読み出しを行なう場合は、ＣＰＵ１０は、アドレスバスの上位アドレスＡＤ５に領域Ｍ２を指定するアドレス、下位アドレスＡＤ６に上位ＡＤレジスタ３０ａの示す波形メモリ２１上の領域における読み出したい波形データのアドレスを出力し、アクセス制御信号による読み出し制御を行なう。ＣＳ信号発生部２６は、この上位アドレスをデコードしてチップセレクト信号ＣＳ２を立ち上げる。直接アクセス回路３６は、上位ＡＤレジスタ３０ａからの上位アドレスとＣＰＵ１０からの下位アドレスに基づいて波形メモリ２１上の読み出そうとする波形データのアドレスを生成し、アドレスバスＡＤＢ３に出力する。
【００３９】
そして、チップセレクト信号ＣＳ２が立ち上がった後の制御信号ＣＯＮＴ２が「１」となるタイミングで、セレクタ３５を介して該アドレスがアドレスバスＡＤＢ１に出力され、直接アクセス回路３６による波形メモリ２１からの波形データの読み出しが実行される。ここで、ＣＰＵ１０は領域Ｍ２（直接アクセス回路３６のアドレス）を通常のＲＡＭとしてアクセスしており、波形メモリ２１がＳＤＲＡＭなどである場合は、それに応じたアドレス形式やタイミングの変換が必要であるが、それらは全て直接アクセス回路３６で行なわれるものとする。波形メモリ２１からデータバスＤＡＴＡ１に出力された読出アドレスに対応した波形データは、セレクタ３５を介してデータバスＤＡＴＡ３に伝送され、直接アクセス回路３６に取り込まれる。この読み出されたデータは、さらにデータバスＤＡＴＡ４を介してＣＰＵ１０に渡されるようになる。
【００４０】
このとき、ＣＰＵ１０が読み出しアドレスとして出力しているアドレスの上位アドレスＡＤ５はＣＰＵ１０のアクセス空間における領域Ｍ２を示しており、また、下位アドレスＡＤ６は領域Ｍ２の先頭から下位アドレスＡＤ６の値分だけ先の１つの記憶位置（矢印ｍ参照）を示している。ここで、上位ＡＤレジスタ３０ａからの上位アドレスが音源部２０のアクセス空間における所定の６４ｋワードの領域Ａを示しているとすると、この直接アクセスでは、その領域Ａの先頭から該下位アドレスＡＤ６だけ先の記憶位置（矢印ａ参照）のデータが読み出される。また、上位ＡＤレジスタ３０ａが領域Ｂを示している場合には、直接アクセスにより記憶位置（矢印ｂ参照）のデータが読み出される。ここで、ＣＰＵ１０は領域Ｍ２をランダムアクセス読み出しする、すなわち、出力する読み出しアドレスの上位アドレスを保ったまま、下位アドレスを変更して読み出しを行なうことにより、波形メモリ２１の領域Ｂに記憶されたデータをランダムアクセス読み出しすることができる。
【００４１】
また、前述したように、直接アクセス回路３６による波形メモリ２１への直接アクセス処理は、図４で示す動作タイミング図のように読出書込回路３１による波形メモリアクセス（処理Ｂなど）の行なわれていないタイムスロットで実行されている。そこで、ＣＰＵ１０から領域Ｍ２への読み出し（すなわち、波形メモリ２１への直接アクセス）が発生した際に、該読み出しに応じて波形メモリから読み出されたデータをすぐにデータバスＤＡＴＡ４に供給できない場合には、通常行われているメモリアクセスのウェイト制御と同様に、ＣＰＵ１０にウェイト信号を出力してウェイトをかけるようにしている。例えば、図５に示すように読出書込回路３６による波形メモリアクセス（処理Ｂ）が行なわれていた場合は、直接アクセス回路３６から図２に示すＣＰＵウェイトラインＷＡＩＴにウェイト信号が出力され、ＣＰＵ１０にウェイトがかかるようになる。そして、読出書込回路３６によるアクセス（処理Ｂ）が終了すると、直接アクセス回路３６による波形メモリ２１からのデータの読み出しが実行され、読み出されたデータをデータバスＤＡＴＡ４に供給するとともにウェイト信号が解除される。ＣＰＵ１０は、ウェイト信号の解除に応じて、データバスＤＡＴＡ４に出力されているデータを受け取る。なお、ＣＰＵ１０から領域Ｍ２への読み出し（直接アクセス）が発生した際に、読出書込回路３６による波形メモリアクセスが行なわれていなかった場合は、図５に示すように、直接アクセス回路３６による波形メモリ２１からの読み出しが直ちに行なわれ、読み出されたデータがデータバスＤＡＴＡ４に出力されるとともにウェイト信号が解除される。
【００４２】
一方、直接アクセスによる書き込みを行なう場合は、ＣＰＵ１０は、アドレスバスの上位アドレスバスＡＤＢ５に領域Ｍ２を指定するアドレス、下位アドレスバスＡＤＢ６に上位ＡＤレジスタ３０ａの示す波形メモリ２１上の領域における波形データを書き込もうとするアドレス、データバスＤＡＴＡ４に書き込む波形データを出力し、アクセス制御信号による書き込み制御を行なう。ＣＳ信号発生部２６は、この上位アドレスＡＤ５をデコードしてチップセレクト信号ＣＳ２を立ち上げる。直接アクセス回路３６は、上位ＡＤレジスタ３０ａからの上位アドレスとＣＰＵ１０からの下位アドレスに基づいて波形メモリ２１上の波形データを書き込むアドレスを生成し、アドレスバスＡＤＢ３に出力するともに、ＣＰＵ１０からの波形データをデータバスＤＡＴＡ３に出力する。
【００４３】
そして、チップセレクト信号ＣＳ２が立ち上がった後の制御信号ＣＯＮＴ２が「１」となるタイミングで、セレクタ３５を介して該アドレスがアドレスバスＡＤＢ１に、該波形データがデータバスＤＡＴＡ１に出力され、直接アクセス回路３６による波形メモリ２１からの波形データの書き込みが実行される。この直接アクセス回路３６による書き込みも、読出書込回路３１が波形メモリアクセスを行なっていない期間に行なわれる。従って、読み出しの場合と同様に、直接アクセス回路３６による波形メモリ２１の書き込みが完了するまで、直接アクセス回路３６からＣＰＵ１０に対してウェイト信号が供給される。
このようにして、ＣＰＵ１０はＣＰＵバスに接続されているメモリにアクセスする態様と同じ態様でアドレスバス、データバス、アクセス制御信号を制御することにより、音源部２０に接続された波形メモリ２１を直接アクセスして波形メモリ２１から波形データやパラメータなどのデータを読み出したり書き込んだりすることができるようになる。
【００４４】
以上説明した音源部２０において、図６において説明したＸアクセス回路を音源制御レジスタ３０に設けて、Ｘアクセス処理を行うようにしてもよい。このようにすると、ミキサ３３においてミキシングされた波形データを受け取った読出書込回路３１が、波形メモリ２１へその波形データを書き込むことができるようになる。このＸアクセス処理は、図４に示す処理Ｂおよび取り込み処理における直接アクセス可能なタイムスロットにおいて実行することができる。上記したＸアクセス回路を設けるようにすると、連続するアドレスに記憶されている波形データを波形メモリ２１から読み出す際にはＸアクセス処理により実行し、ランダムなアドレスに記憶されているパラメータ等のデータを波形メモリ２１から読み出す際には直接アクセス処理により実行することができるようになる。
【００４５】
なお、上記の説明では音源部２０における処理を図４に示すように１ＤＡＣ周期を前半と後半に分割した区間で実行するようにしているが、本発明はこれに限るものではなく、１ＤＡＣ周期を１／３，１／４，・・・に分割し、それらの区間を単位にして各処理を行なうようにしてもよい。また、１ＤＡＣ周期を分割することなく各処理を行うようにしてもよく、１ＤＡＣ周期を分割する場合は区間の期間長は等分割に分割しなくてもよい。
【００４６】
また、本発明において、音源部２０のアクセスよりＣＰＵ１０のアクセスを優先させることにより、ＷＡＩＴ信号の発生を防ぐようにしてもよい。さらに、上記した本発明の実施の態様では、ＣＰＵ１０のアクセス空間と音源部２０のアクセス空間がともに４Ｇワードであったが、これは同じである必要はない。さらにまた、上記した本発明の実施の態様では、ＣＰＵ１０の出力する３２ビットのアドレスのうち、下位の１６ビットが波形メモリ２１の直接アクセスに使用されていたが、必ずしもそうしなくてもよい。例えば、下位ではなく途中の１６ビットを使用しても良いし、あるいは、１６ビットではなく、１４ビット、１８ビット等の異なるビット数であってもよい。さらにまた、上記した本発明の実施の態様では、音源制御レジスタ用の領域Ｍ１と波形メモリ直接アクセス用の領域Ｍ２がともに６４ｋワードであったが、互いに同じである必要はないし、サイズもそれぞれ６４ｋワードである必要はない。
【００４７】
さらにまた、上記した本発明の実施の態様では、波形メモリ２１から波形データを読み出して楽音を生成する音源部２０であったが、本発明は、読書き可能な遅延メモリを備えたディジタル信号プロセッサ（ＤＳＰ）にそのまま適用することができる。すなわち、本発明を適用することにより、ＤＳＰを制御するＣＰＵが、ＤＳＰのアクセス空間に装備された遅延メモリに対して直接アクセスすることができるようになる。さらにまた、上記した本発明の実施の態様では、各チャンネルごとに、波形バッファに記憶された４サンプルの波形データを用いて２点補間や４点補間を行なっていたが、このサンプル数や補間態様は変更しても良い。例えば、波形バッファには、各チャンネルごとに６サンプルずつ記憶するようにして、６点補間を行なうようにしてもよい。
【００４８】
【発明の効果】
本発明は以上説明したように、信号処理手段が所定の周期で発生するアドレスにより波形データが読み出される波形メモリへ、制御手段がアクセスを行えるようにしている。この場合、制御手段の出力するアドレスの一部をそのまま波形メモリのアドレスとして使用して、波形メモリへ直接アクセスを行なうようにしている。これにより、制御手段が波形メモリにアクセスする態様を、バスに接続されているメモリにアクセスする態様と異ならせることなく、波形処理デバイスにおける波形メモリにアクセスすることができるようになる。この制御手段によるアクセスは、信号処理手段による波形メモリへのアクセスと時分割して行われる。この場合、信号処理手段によるアクセスを優先して行うように、信号処理手段によるアクセスが行われない時に、制御手段によるアクセスが行われるように制御している。
【００４９】
また、本発明で実現される制御手段による波形メモリへの直接アクセス機能は、波形メモリに記憶された波形データの部分的な編集、波形メモリ上に楽音パラメータ（音色データ、エフェクトデータ等）、変換テーブル、曲データ等を記憶した場合の該変換テーブルや楽音パラメータの読み出し、書き込み、あるいは、編集等の波形メモリ上のデータのランダムアクセスが必要な用途に最適となる。例えば、波形データの編集では、ユーザからの指示に応じて、直接アクセス機能を用いて波形データの一部を選択的に波形メモリから読み出し、その波形データをフィルタ処理したり音量制御して、直接アクセスで処理した波形データを波形メモリに書き戻すことができるようになる。また、波形メモリ上の音色データを編集する場合では、直接アクセス機能を用いて波形メモリから音色データの特定のパラメータを読み出して表示し、ユーザの操作に応じてその値を変更し、直接アクセスにより変更されたパラメータを波形メモリに書き戻すことができるようになる。
【図面の簡単な説明】
【図１】  本発明の実施の形態にかかる波形処理デバイスを音源部として備える楽音生成装置の構成例を示すブロック図である。
【図２】  本発明の実施の形態にかかる波形処理デバイスである音源部の詳細構成を示す図である。
【図３】  本発明の実施の形態にかかる波形処理デバイスにおける論理アドレス空間と波形メモリの物理アドレス空間の関係を示す図である。
【図４】  本発明の実施の形態にかかる波形処理デバイスの動作タイミングを示す図である。
【図５】  本発明の実施の形態にかかる波形処理デバイスにおいて直接アクセスする際のタイミングを示す図である。
【図６】  従来の波形メモリ音源の構成を示すブロック図である。
【符号の説明】
１  楽音生成装置、１０  ＣＰＵ、１１  タイマ、１２  ＲＯＭ、１３  ＲＡＭ、１４  ディスク、１５  ドライブ、１６  ＭＩＤＩインタフェース、１７  ネットワークインタフェース、１８  パネルＳＷ、１９  パネル表示器、２０  音源部、２１  波形メモリ、２２  外部回路、２３  ＤＡＣ、２４  サウンドシステム、２５  バス、２６  ＣＳ信号発生部、３０  音源制御レジスタ、３０ａ  上位ＡＤレジスタ、３１  読出書込回路、３２  ＥＧ付与回路、３３  ミキサ、３４  ＤＳＰ、３５  セレクタ、３６  直接アクセス回路、１０９  波形メモリ、１２０  音源部、１２１  波形メモリ、１２２  外部回路、１３０  音源制御レジスタ、１３０ａ  Ｘアクセス回路、１３１  読出書込回路、１３２  ＥＧ付与回路、１３３  ミキサ、ＡＤＢ１〜ＡＤＢ６  アドレスバス、ＤＡＴＡ１〜ＤＡＴＡ４  データバス、ＷＡＩＴ  ＣＰＵウェイトライン、ＣＳ１  チップセレクト信号、ＣＳ２  チップセレクト信号、ＣＯＮＴ１，ＣＯＮＴ２  制御信号
【図１】
0003695404.tif 000002
【図２】
0003695404.tif 000003
【図３】
0003695404.tif 000004
【図４】
0003695404.tif 000005
【図５】
0003695404.tif 000006
【図６】
0003695404.tif 000007