(57)【要約】【課題】楽音信号を処理するＤＳＰにおいて頻繁に実行されるレベル検出処理を、μプログラムの多くのステップを費やすことなく、かつ遅延メモリのアクセス回路が無駄になることもないように実行可能とするＤＳＰを実現する。【解決手段】表裏に二重化され、サンプリング周期毎に表裏の領域が入れ替わる二重化メモリと、遅延メモリに対して信号の読書きを行うアクセス回路と、第１信号処理部と第２信号処理部を備える。第１信号処理部は、各サンプリング周期毎に、μプログラムから生成される制御信号に基づいて、入力信号に対して、アクセス回路を用いて行われる遅延メモリに対する信号の書込み及び読出しと、二重化メモリに対する信号の書込み及び読出しを含む第１信号処理を施す。第２信号処理部は、各サンプリング周期毎に、二重化メモリの裏側から信号を読出し、所定の第２の信号処理を施して、二重化メモリの裏側に書戻す。【選択図】図３
2008164901.tif 000002
【特許請求の範囲】
【請求項１】
サンプリング周期毎に、入力する信号に信号処理を施すディジタル信号処理用集積回路であって、
マイクロプログラムを記憶するプログラムメモリと、
表と裏に二重化されており、サンプリング周期毎に表側の領域と裏側の領域が入れ替わる二重化メモリと、
外部の遅延メモリが接続され、該遅延メモリに対してサンプリング周期単位で遅延する信号の読み書きを行うアクセス回路と、
各サンプリング周期毎に、前記マイクロプログラムから生成される制御信号に基づいて、外部から入力する信号に対して、前記アクセス回路を用いて行われる前記遅延メモリに対する信号の書き込み及び読み出しと、前記二重化メモリに対する信号の書き込み及び読み出しを含む第１信号処理を施し、外部へ出力する第１信号処理部と、
各サンプリング周期毎に、前記二重化メモリの裏側の領域から信号を読み出し、所定の第２の信号処理を施して、前記二重化メモリの裏側の領域に書き戻す第２の信号処理部と
を備えることを特徴とするディジタル信号処理用集積回路。
【請求項２】
請求項１に記載のディジタル信号処理用集積回路において、
前記第２信号処理部は、入力信号のレベル検出処理を実行するものであることを特徴とするディジタル信号処理用集積回路。
【請求項３】
請求項１に記載のディジタル信号処理用集積回路において、
前記第２信号処理部における信号処理のビット数は、前記第１信号処理部における信号処理のビット数よりも少ないことを特徴とするディジタル信号処理用集積回路。
【請求項４】
サンプリング周期毎に、入力する信号に信号処理を施すディジタル信号処理用集積回路であって、
マイクロプログラムを記憶するプログラムメモリと、
表と裏に二重化されており、サンプリング周期毎に表側の領域と裏側の領域が入れ替わる二重化メモリと、
各サンプリング周期毎に、前記マイクロプログラムから生成される制御信号に基づいて、外部から入力する信号に対して、所定の第１のビット数で、前記二重化メモリに対する信号の書き込み及び読み出しを含む第１信号処理を施し、外部へ出力する第１信号処理部と、
各サンプリング周期毎に、前記二重化メモリの裏側の領域から信号を読み出し、前記第１のビット数より少ない所定の第２のビット数で、所定の第２の信号処理を施して、前記二重化メモリの裏側の領域に書き戻す第２の信号処理部と
を備えることを特徴とするディジタル信号処理用集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ステップ数の少ないマイクロプログラム（以下、μプログラムと言う）でコンプレッサなどのエフェクト処理やレベル検出処理などを実現できるディジタル信号処理用集積回路に関する。
【背景技術】
【０００２】
従来より、各サンプリング周期毎に複数ステップのμプログラムを繰り返し実行することにより、各サンプリング周期毎に入力する楽音信号に対して、該μプログラムに応じたアルゴリズムの信号処理を施して出力するディジタル信号処理用集積回路が知られている。
【０００３】
例えば、特許文献１には、μプログラムによるエフェクト処理とロジック回路によるフィルタ処理をステップ毎に時分割で実行するディジタル信号処理用集積回路（以下、ＤＳＰと言う）が開示されている。これは、効果付与処理のためのμプログラムをμプログラムレジスタに記憶し、一方、周波数特性制御処理のためのタイミング信号を発生手段で発生するようにし、前記μプログラムの読出しとタイミング信号の発生を交互に実行し、μプログラムが読み出されたときはそのμ命令に従ってディジタル信号処理を実行し、タイミング信号が発生されたときはそのタイミング信号に従って周波数特性制御処理を実行するＤＳＰである。
【０００４】
特許文献２や特許文献３には、複数のμプログラムを時分割で実行し、それぞれディジタル信号に種々の演算処理を施すＤＳＰが開示されている。特に特許文献３には、複数バンク構成の外部メモリを使用し、時分割処理により、等価的に２個の時分割波形信号処理部からそれぞれ対応するメモリバンクにアクセスできるようにしたＤＳＰが開示されている。特許文献４には、楽音信号や音声信号を処理するに際し、指数関数特性に従った変換を行えるようにしたＤＳＰが開示されている。
【特許文献１】特開平０７−２１０３８０号
【特許文献２】特開平１０−１９８５５９号
【特許文献３】特開２００３−１０８１２２号
【特許文献４】特開平１０−１３３６５９号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、楽音信号を処理するＤＳＰにおいては、コンプレッサの信号処理、アルゴリズムの所望ポイントのレベル表示、レコーダやサンプラの自動トリガなどを実現しようとする場合に、それぞれその処理に多くの処理ステップが費やされるのが実情であった。そのため、これらの処理を行うμプログラムのステップ数を削減することが望まれていた。
【０００６】
また、これらの処理では、ＤＳＰの内部において、遅延メモリへのアクセスが必要ないレベル検出（エンベロープフォロワ）処理が行われている。そこで、レベル検出処理を行うμプログラムを削減するため、特許文献１に記載の技術のように、ＤＳＰを時分割化し、μプログラムを実行するタイムスロットとは別のタイムスロットでロジック回路からの制御信号によって該レベル検出処理を実現することも考えられる。しかしながら、その場合、遅延メモリへのアクセスが必要ないレベル検出処理を行っている間は、遅延メモリのアクセス回路が無駄になるという不具合がある。むしろ、特許文献２や３に記載の技術のように、ＤＳＰで複数のμプログラムを並列に走らせた方がよいとも言えるが、レベル検出処理は信号のビット分解能が最終出力される信号の処理ほど必要ないので、ＤＳＰの信号処理部をそれに使うのはもったいない側面がある。
【０００７】
本発明は、楽音信号を処理するＤＳＰ集積回路において、レベル検出処理を含む信号処理を、遅延メモリを使用可能な、ないし、高精度の信号処理が可能なμプログラムのステップをより有効に活用可能なアーキテクチャのＤＳＰ集積回路を実現することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、請求項１に係る発明は、サンプリング周期毎に、入力する信号に信号処理を施すディジタル信号処理用集積回路であって、表と裏に二重化され、サンプリング周期毎に表側の領域と裏側の領域が入れ替わる二重化メモリと、外部の遅延メモリに対してサンプリング周期単位で遅延する信号の読み書きを行うアクセス回路を備えることを特徴とする。また、第１信号処理部と第２信号処理部とを備える。第１信号処理部は、各サンプリング周期毎に、マイクロプログラムから生成される制御信号に基づいて、外部から入力する信号に対して、アクセス回路を用いて行われる遅延メモリに対する信号の書き込み及び読み出しと、二重化メモリに対する信号の書き込み及び読み出しを含む第１信号処理を施し、外部へ出力する。第２信号処理部は、各サンプリング周期毎に、二重化メモリの裏側の領域から信号を読み出し、所定の第２の信号処理を施して、二重化メモリの裏側の領域に書き戻す。
【０００９】
請求項２に係る発明は、請求項１に記載のディジタル信号処理用集積回路において、前記第２信号処理部は、入力信号のレベル検出処理を実行するものであることを特徴とする。
【００１０】
請求項３に係る発明は、請求項１に記載のディジタル信号処理用集積回路において、前記第２信号処理部における信号処理のビット数は、前記第１信号処理部における信号処理のビット数よりも少ないことを特徴とする。
【００１１】
請求項４に係る発明は、サンプリング周期毎に、入力する信号に信号処理を施すディジタル信号処理用集積回路であって、表と裏に二重化され、サンプリング周期毎に表側の領域と裏側の領域が入れ替わる二重化メモリと、第１信号処理部と、第２の信号処理部とを備えることを特徴とする。この第１信号処理部は、各サンプリング周期毎に、マイクロプログラムから生成される制御信号に基づいて、外部から入力する信号に対して、所定の第１のビット数で、二重化メモリに対する信号の書き込み及び読み出しを含む第１信号処理を施し、外部へ出力する。第２信号処理部は、各サンプリング周期毎に、二重化メモリの裏側の領域から信号を読み出し、第１のビット数より少ない所定の第２のビット数で、所定の第２の信号処理を施して、二重化メモリの裏側の領域に書き戻す。
【００１２】
なお、前記第２信号処理部で行う処理としては、例えば、コンプレッサ、サンプラ、レコーダなどの処理（処理された信号を第１信号処理部へ戻すもの）や、レベルメータ表示のためのレベル検出処理（処理された信号をＣＰＵによって読出してレベルメータを表示するもの）などがある。
【発明の効果】
【００１３】
本発明によれば、第１信号処理部は、全ステップにおいて、マイクロプログラムに基づく任意のアルゴリズムの信号処理を実行することができ、遅延メモリへのアクセス回路を利用して遅延メモリの書き込み及び読み出しができる。その一方で、第２信号処理部は、遅延メモリへのアクセス回路を利用しない。従って、遅延メモリのアクセス回路が有効に使える。また、第１信号処理部と第２信号処理部の分業による効率化を図ることができる。第２信号処理部には、分解能が低くても良く（要するに、処理する信号の精度が粗くても良く）、かつ遅延メモリの必要がない処理を任せるのが良い。そのような処理を専用の第２信号処理部に任せることにより、分解能が高く、かつ遅延メモリが使用できる第１信号処理部の処理ステップ（マイクロプログラム）を、それ以外の処理（第１信号処理）に、より有効に使うことができる。第２信号処理としては楽音信号を処理するＤＳＰにおいて頻繁に実行されるレベル検出処理を行わせることができ、その場合、マイクロプログラムの多くの処理ステップを費やすことなく、かつ、遅延メモリのアクセス回路が無駄になることもないように、レベル検出処理を実行可能なＤＳＰが実現できる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を用いて本発明の実施の形態を説明する。
【００１５】
図１は、本発明に係るＤＳＰを用いたミキサの構成例を示す。このミキサは、中央処理装置（ＣＰＵ）１０１、リードオンリメモリ（ＲＯＭ）１０２、ランダムアクセスメモリ（ＲＡＭ）１０３、表示器１０４、操作子１０５、時分割ＤＳＰ１０６、サブＤＳＰ１０７、外部ＲＡＭ１０８、波形入力部１０９、波形出力部１１０、及びバスライン１１１を備える。
【００１６】
ＣＰＵ１０１は、このミキサ全体の動作を制御する処理装置である。ＲＯＭ１０２は、ＣＰＵ１０１が実行する制御プログラムや各種のデータを格納する不揮発性メモリである。ＲＡＭ１０３は、ＣＰＵ１０１が実行する制御プログラムのロード領域や各種のワーク用メモリ領域が確保される揮発性メモリである。表示器１０４は、ＣＰＵ１０１からの指示に基づき与えられたデータを表示するディスプレイである。操作子１０５は、本ミキサの外部パネル上に設けられた、ユーザが操作するための各種の操作子である。波形入力部１０９は、外部からアナログないしディジタルの複数チャンネル（ｃｈ）の音響信号を入力して、対応する複数ｃｈのディジタル音響信号を時分割ＤＳＰ１０６のインターフェース（Ｉ／Ｏ）部３１６に供給し、波形出力部１１０は、時分割ＤＳＰ１０６のＩ／Ｏ部３１６から供給される複数ｃｈのディジタル音響信号を、ディジタル音響信号のまま、ないしアナログ音響信号に変換して外部へ出力する。
【００１７】
時分割ＤＳＰ１０６は、波形入力部１０９から入力した複数ｃｈのディジタル音響信号を任意の組み合わせでミキシングしたり、各種の効果付与処理及び音量レベル制御処理などを行う処理装置である。時分割ＤＳＰ１０６は、ＣＰＵ１０１からの指令によりロードした各種のμプログラムを実行することにより上述した処理を行うが、そのμプログラムを適宜変更することにより各種のミキサ処理を実現できる。外部ＲＡＭ１０８は、ＤＳＰ１０６が動作する際に、遅延した楽音波形データを使用する場合に利用する外部メモリである。サブＤＳＰ１０７は、ディジタル音響信号のレベル検出処理に特化されたディジタル信号処理装置である。時分割ＤＳＰ１０６及びサブＤＳＰ１０７は、ワンチップの集積回路で構成されているものとする。なお、時分割ＤＳＰ１０６、サブＤＳＰ１０７、ＣＰＵ１０１、及び表示器１０４と操作子１０５のインターフェースを含む範囲（図１の点線の範囲）をワンチップ化してもよい。
【００１８】
図２は、時分割ＤＳＰ１０６の概念図を示す。時分割ＤＳＰ１０６は、各ステップの期間を複数に分割した時分割処理により、各ステップの期間内に複数の波形信号処理を切り替えることによって、等価的に複数のＤＳＰの機能を実現する。ここでは、物理的には１つである時分割ＤＳＰ１０６により、４つのＤＳＰ１〜４の並列動作を実現している。各ＤＳＰ１〜４は、１ＤＡＣ周期（１サンプリング周期）の間にそれぞれ２５６ステップのμプログラムを実行できる。その２５６ステップのμプログラムは、複数のブロックに分けられており、各ブロック毎に独立した、入力ｃｈの処理プログラム、楽音信号のミキシングを行う処理プログラム、出力ｃｈの処理プログラム、及び楽音信号に各種のエフェクトを付与するプログラムなどを実行できる。実際には、時分割ＤＳＰ１０６がパイプライン処理を行っており、１ＤＡＣ周期の間に、ＤＳＰ１の第１番目のμ命令、ＤＳＰ２の第１番目のμ命令、ＤＳＰ３の第１番目のμ命令、ＤＳＰ４の第１番目のμ命令、ＤＳＰ１の第２番目のμ命令、ＤＳＰ２の第２番目のμ命令、ＤＳＰ３の第２番目のμ命令、ＤＳＰ４の第２番目のμ命令、…、ＤＳＰ１の第２５６番目のμ命令、ＤＳＰ２の第２５６番目のμ命令、ＤＳＰ３の第２５６番目のμ命令、ＤＳＰ４の第２５６番目のμ命令という順に実行しているものである。
【００１９】
図３は、図１の時分割ＤＳＰ１０６及びサブＤＳＰ１０７の内部詳細図を示す。まず時分割ＤＳＰ１０６の内部構成について詳しく説明する。時分割ＤＳＰ１０６は、演算部３１１、Ｉ−ＲＡＭ３１２、Ｔ−ＲＡＭ３１３、Ｙ−ＲＡＭ３１４、バスライン３１５、Ｉ／Ｏ部３１６、係数発生部３１７、書き込み部３１８、読出し部３１９、外部ＲＡＭアドレス発生部３２０、及びμプログラム読出し部３２１を備える。また、時分割ＤＳＰ１０６は、係数などのデータを入力するため、各種の入力レジスタ群を備える。入力レジスタとしては、係数ＲＡＭ３２２、その他レジスタ３２３、μプログラムレジスタ３２４、先頭ステップレジスタ３２５、外部ＲＡＭアクセスアドレスレジスタ３２６、外部ＲＡＭブロック情報レジスタ３２７を備える。
【００２０】
演算部３１１の内部構成については図４で詳しく説明する。Ｉ−ＲＡＭ３１２、Ｔ（テンポラリ）−ＲＡＭ３１３、Ｙ−ＲＡＭ３１４は、演算部３１１に入力されるデータのレジスタ部である。バスライン３１５には、演算部３１１の演算結果が出力される。Ｉ／Ｏ部３１６は、図１に示した波形入力部１０９及び波形出力部１１０との間の楽音信号のデータ転送の入出力インターフェースであり、時分割で１６ｃｈ（図２の各ＤＳＰ１〜４毎に１６ｃｈ）の楽音信号入出力ができる。Ｉ−ＲＡＭ３１２には、Ｉ／Ｏ部３１６の各出力及びバスライン３１５のデータが入力され、図５を参照して後述するように、それぞれに対応した領域に一時記憶される。Ｉ−ＲＡＭ３１２は、一時記憶したデータを演算部３１２またはＩ／Ｏ部３１６に出力する。Ｉ−ＲＡＭ３１２は、後述するサブＤＳＰ１０７のＩ−ＲＡＭ３３２と表裏の関係を有するが、これについては後に詳しく説明する。Ｔ−ＲＡＭ３１３及びＹ−ＲＡＭ３１４は、バスライン３１５上に出力される、演算部３１１の出力データまたは外部ＲＡＭ１０８から遅延して読み出された楽音信号のデータを一時記憶する。演算部３１１には、係数発生部３１７から出力される係数も入力する。係数発生部３１７は、係数ＲＡＭ３２２に記憶されている係数に補間演算を行って出力するものである。この係数は、係数ＲＡＭ３２２において、μプログラムの各ステップに対応して記憶されている。
【００２１】
μプログラムレジスタ３２４には、この時分割ＤＳＰ１０６で実行するμプログラムを設定する。図２で説明したように、時分割ＤＳＰ１０６はパイプライン処理により４つのＤＳＰ１〜４の並列動作を行うが、μプログラムレジスタ３２４には、これら４つのＤＳＰ１〜４のそれぞれで実行するμプログラムを格納する４つの領域が設けられている。１つの領域、例えばＤＳＰ１に対応する領域には、該ＤＳＰ１が１ＤＡＣ周期で実行する２５６ステップのμ命令が格納される。図５（ａ）で詳述するが、この領域に格納されるμプログラムは複数ブロックに分けられており、各ブロック毎に独立した信号処理を実行することができる。例えば、各ブロック毎に独立したエフェクトアルゴリズムでエフェクト付与することも可能である。先頭ステップレジスタ３２５は、μプログラムの前記複数ブロックのそれぞれの先頭ステップ番号を記憶している。μプログラム読出し部３２１は、１ＤＡＣ周期の間に、複数の時分割ＤＳＰ１〜４のμプログラムそれぞれの全ステップを１回実行し、その各ステップにおいて、当該ステップのステップ番号と先頭ステップレジスタ３２５の記憶する先頭ステップ番号に基づいて現在実行中のブロックのブロック番号を出力するとともに、当該ステップのμ命令に基づいて制御信号を出力し、これらによって、演算部３１１、Ｉ−ＲＡＭ３１２、Ｔ−ＲＡＭ３１３、Ｙ−ＲＡＭ３１４、及び、外部ＲＡＭアドレス発生部３２０などを制御し、図８，９で後述するミキサの動作を実現する。
【００２２】
書き込み部３１８は、バスライン３１５上のデータを、外部ＲＡＭ１０８に書き込む書き込み回路である。読出し部３１９は、外部ＲＡＭ１０８からデータを読出してバスライン３１５上に出力する読出し回路である。外部ＲＡＭ１０８は、μプログラム中の各ブロック毎に、そのブロックが使用する領域が割り当てられている。外部ＲＡＭアクセスアドレスレジスタ３２６は、μプログラム中で外部ＲＡＭ１０８にアクセス可能なステップに対応する記憶エリアに、各ステップでアクセスする際のアドレスを記憶している。外部ＲＡＭブロック情報レジスタ３２７は、外部ＲＡＭ１０８におけるμプログラムの各ブロックが使用する領域の先頭アドレス及びブロックサイズを格納している。外部ＲＡＭアドレス発生部３２０は、外部ＲＡＭアクセスアドレスレジスタ３２６から出力されるアドレスと、外部ＲＡＭブロック情報レジスタ３２７から出力される先頭アドレス及びブロックサイズを用いて、外部ＲＡＭ１０８のアクセスアドレスを演算し、アドレス線に出力する。  次に、サブＤＳＰ１０７について説明する。サブＤＳＰ１０７は、演算部３３１、Ｉ−ＲＡＭ３３２、Ｔ−ＲＡＭ３３３、Ｙ−ＲＡＭ３３４、バスライン３３５、係数発生部３３７、取込部３３８、及びロジック回路３３９を備える。またサブＤＳＰ１０７は、係数データなどの入力用のレジスタ群として、係数ＲＡＭ３４０、ｃｈレジスタ３４１、及びレベルレジスタ３４２を備える。なお、サブＤＳＰ１０７において、Ｉ−ＲＡＭ３３２により楽音信号を入力し、そのレベル検出（エンベロープフォロワ）の処理を行い、検出したレベル値を出力する一連の処理を行う一系統を、レベル検出チャンネル（ｃｈ）と呼ぶものとする。本実施形態のサブＤＳＰ１０７は、時分割処理により９６個のレベル検出ｃｈを実現している。
【００２３】
演算部３３１は、演算部３１１と同様のものである。ただし、時分割ＤＳＰ１０６では楽音信号の処理を行うため３２ビットデータの演算を行っているが、サブＤＳＰ１０７は、楽音信号ほど演算精度の必要ないレベル検出処理を行うため、演算部３３１はそれより少ない２４ビットデータの演算を行うものとしている。なお、この時分割ＤＳＰ１０６の３２ビットとサブＤＳＰ１０７の２４ビットは、それぞれ一例であって、時分割ＤＳＰに比べてサブＤＳＰが少ないビット数である、どのようなビット数の組み合わせで設計してもよい。Ｉ−ＲＡＭ３３２、Ｔ−ＲＡＭ３３３、Ｙ−ＲＡＭ３３４、バスライン３３５、係数発生部３３７、及び計数ＲＡＭ３４０は、時分割ＤＳＰ１０６のＩ−ＲＡＭ３１２、Ｔ−ＲＡＭ３１３、Ｙ−ＲＡＭ３１４、バスライン３１５、係数発生部３１７、及び係数ＲＡＭ３２２とそれぞれ同様のものである。Ｉ−ＲＡＭ３３２とＩ−ＲＡＭ３１２の内部構成と表裏の関係については、図５（ｂ）及び（ｃ）で説明する。
【００２４】
時分割ＤＳＰ１０６が備えている書き込み部３１８、読出し部３１９、外部ＲＡＭアドレス発生部３２０、外部ＲＡＭアクセスアドレスレジスタ３２６、及び外部ＲＡＭブロック情報レジスタ３２７は、サブＤＳＰ１０７では不要であるから無い。また、時分割ＤＳＰ１０６では、μプログラムレジスタ３２４と先頭ステップレジスタ３２５から読出したデータに基づいてμプログラム読出し部３２１が制御信号やブロック番号をＤＳＰ内の各部に供給して動作させているが、そのような構成に代えて、サブＤＳＰ１０７ではロジック回路３３９を備えている。ロジック回路３３９は、９６個のレベル検出ｃｈを実現するため、１ＤＡＣ周期中に設けた９６個の各タイムスロットで、１つのレベル検出ｃｈの処理を行うための全ステップを実行するように、所定のタイミングで制御信号やレベル検出ｃｈ番号を出力し、サブＤＳＰ１０７内の各部に供給する。１つのレベル検出ｃｈの処理を行うタイムスロットは、さらにマスタークロックの周期のタイムスロットに分けられており、該マスタークロックの周期のタイムスロット毎に制御信号やレベル検出ｃｈ番号がサブＤＳＰ１０７内の各部に供給され、これにより１ｃｈ分のレベル検出が実現されるものである。このロジック回路３３９は、ハードウエアで構成されているので、μプログラムを用いるより構成が簡易である。
【００２５】
ｃｈレジスタ３４１は、ＣＰＵ１０１がレベル値を取得したいレベル検出ｃｈを指定（複数指定できる）するレジスタである。取込部３３８は、ロジック回路３３９が出力するレベル検出ｃｈ番号とｃｈレジスタ３４１で指定されているレベル検出ｃｈ番号とを比較し、一致しているとき（すなわち、現タイムスロットで当該レベル検出ｃｈ番号の処理を行っているということである）には、バスライン３３５上にレベル検出結果が出力されたタイミングでそのレベル検出結果を取込み、レベルレジスタ３４２に書込む。ＣＰＵ１０１は、レベルレジスタ３４２からそのレベル検出結果を読込み、メータ表示などに使用する。
【００２６】
図４は、時分割ＤＳＰ１０６の演算部３１１の内部詳細図を示す。演算部３１１は、セレクタ４０１，４０２，４０３、遅延回路４０４、変換回路４０５、乗算器４０６、及び加算器４０７を備える。なお、図４では時分割ＤＳＰ１０６の演算部３１１について説明するが、サブＤＳＰ１０７の演算部３３１も、処理できるデータのビット数が異なるだけで、同様の構成である。
【００２７】
セレクタ４０１は、バスライン３１５からのデータ、Ｉ−ＲＡＭ３１２からの入力データ、またはＴ−ＲＡＭ３１３からの入力データの何れかを選択的に出力するセレクタである。セレクタ４０２は、Ｔ−ＲＡＭ３１３またはＩ−ＲＡＭ３１２からの入力データの何れかを選択的に出力するセレクタである。セレクタ４０３は、Ｙ−ＲＡＭ３１４からの入力データまたは係数発生部３１７からの入力データの何れかを選択的に出力するセレクタである。これらの各セレクタ４０１，４０２，４０３における選択処理は、μプログラム読出し部３２１によって読出されたμ命令に従って出力される制御信号とブロック信号に基づいて行われる。遅延回路４０４は、セレクタ４０１からの出力データを所定時間だけ遅延（加算器４０７への入力タイミングを合わせるためである）した後、加算器４０７に入力する。変換回路４０５は、セレクタ４０３からの出力をリニア−指数変換して出力する（リニア−指数変換せずに信号をスルーするように制御することも可能）。乗算器４０６は、セレクタ４０２からのデータと、変換回路４０５からのデータとを乗算し、乗算結果は加算器４０７に入力する。加算器４０７は、遅延回路４０４からのデータと乗算器４０６からのデータとを加算し、加算結果をバスライン３１５に出力する。これらの演算部内のハードウエアは、μプログラムの１ステップよりも高速で動作する。
【００２８】
図５（ａ）は、時分割ＤＳＰ１０６のμプログラムレジスタ３２４のプログラム構成の説明図である。ＣＰＵ１０１からμプログラムレジスタ３２４に設定されるμプログラムは、図２のＤＳＰ１〜４のそれぞれで実行される４つの独立したμプログラム（それぞれが２５６ステップ）に分かれている。さらに１つのμプログラム、例えばＤＳＰ１で実行するμプログラムは、複数のブロックに分かれている。各ブロックのμプログラムはそれぞれ独立した信号処理を行うものであり、１ＤＡＣ周期で全ブロックのステップが１回実行される。
【００２９】
図５（ｂ）は、時分割ＤＳＰ１０６のＩ−ＲＡＭ（表）３１２の内部構成を示す。共通アクセス領域Ａは、各時分割ＤＳＰ１〜４のそれぞれに専用の領域（複数のブロックには共通の領域）が独立して設けられ、それぞれ１６ワードある。Ｉ／Ｏ領域は、各時分割ＤＳＰ１〜４のそれぞれに専用の領域が独立して設けられ、Ｉ／Ｏ部３１６への書込みと読出しとを行う領域であって、１６ｃｈ分あり、各ｃｈは何れかのブロックに割り当てられる。このＩ／Ｏ領域は、Ｉ／Ｏ部３１６への出力を行うための書込み領域と、Ｉ／Ｏ部３１６からの入力を行うための読出し領域の２つの領域を有しており、１ＤＡＣ周期毎に書込み領域と読出し領域が入れ替わるようになっている。例えば、ＤＳＰ１が、ある１ＤＡＣ周期の間にＩ／Ｏ領域にデータを書込むと、次の１ＤＡＣ周期でＩ／Ｏ部３１６が該データを波形出力部１１０に出力することができる。このＤＳＰ集積回路は、時分割ＤＳＰ１〜４のトータルで、６４ｃｈの外部入力と６４ｃｈの外部出力と（それぞれ１６ｃｈ×４）を備えていることになる。
【００３０】
ダイナミクス領域は、時分割ＤＳＰ１０６とサブＤＳＰ１０７との間でデータのやり取りを行うための領域である。９６個のレベル検出ｃｈのそれぞれに割り当てられたデータエリアが順番に確保されている。これらのデータエリアは、何れかのブロックに割り当てて使用する。このダイナミクス領域と表裏の関係にあるダイナミクス領域が、図５（ｃ）に示すように、サブＤＳＰ１０７のＩ−ＲＡＭ（裏）３３２に設けてある。図５（ｂ）と図５（ｃ）のダイナミクス領域は１ＤＡＣ周期毎に入れ替わる。これにより、時分割ＤＳＰ１０６側で図５（ｂ）の表側ダイナミクス領域にデータを書込むと、次の１ＤＡＣ周期ではその領域が裏側ダイナミクス領域となり、サブＤＳＰ１０７で読出すことができる。
【００３１】
個別アクセス領域は、この領域を適当に分割して各ＤＳＰの各ブロックに割り当てることができる領域であり、２５６ワードが用意されている。各ブロックでは、割り当てられた領域をそのブロックの専用領域として使用できる。基本的には、他のブロックからの書き込みが行われないそのブロック専用の領域として使われるが、他のブロックからそのブロックへデータを渡すための受け渡し領域として使うこともできる。
【００３２】
図示しないが、Ｔ−ＲＡＭ３１３には、Ｉ−ＲＡＭ３１２と同様の共通アクセス領域Ａ及び個別アクセス領域が設けられている。Ｔ−ＲＡＭ３１３の領域は、Ｉ−ＲＡＭ３１２より大きな容量で確保されている。同様に、Ｙ−ＲＡＭ３１４には、共通アクセス領域Ａ及び個別アクセス領域が設けられている。Ｙ−ＲＡＭ３１４は、演算に使用する係数を一時的に保存するための領域であり、記憶容量は少なくてよい。信号処理過程において、楽音波形データを短時間遅延させるのであれば、これらのＩ−ＲＡＭ３１２やＴ−ＲＡＭ３１３を用いればよい。長時間にわたる遅延は、外部ＲＡＭ５０２に書込んで読出すことにより実現する。
【００３３】
図５（ｃ）は、サブＤＳＰ１０７のＩ−ＲＡＭ（裏）３３２の内部構成を示す。ダイナミクス領域については、図５（ｂ）の表側ダイナミクス領域で説明した。テンポラリ領域は、サブＤＳＰ１０７で一時的に使用するワーク用データ領域である。
【００３４】
図６は、時分割ＤＳＰ１０６で実現しているミキサの機能ブロック図を示す。本ミキサは、２４個の入力ｃｈ６０１を備える。各入力ｃｈは、それぞれ独立に、波形入力部１０９から入力したディジタル音響信号に対する信号処理（図７で後述する）を施す。各入力ｃｈ６０１の信号は、１２本のＭＩＸバス６０２またはステレオバス６０３に選択的に入力される。各ＭＩＸバス６０２またはステレオバス６０３は、それぞれ入力ｃｈ６０１から入力する信号をミキシングする。ミキシングされた信号は、対応するＭＩＸ出力ｃｈ６０４（１２ｃｈ）またはステレオ出力ｃｈ６０５に出力される。ＭＩＸ出力ｃｈ６０４やステレオ出力ｃｈ６０５の出力は波形出力部１１０に供給され、例えば、ディジタル／アナログ変換された後、不図示のサウンドシステムを介して放音される。
【００３５】
図７は、図６で説明した入力ｃｈ６０１の１ｃｈ分の概略構成を示す機能ブロック図である。入力ｃｈ７００は、アッテネータ（ＡＴＴ）７０１、イコライザ（ＥＱ）７０２、コンプレッサ（Ｃｏｍｐ）７０３、インサーション・エフェクタ（Ｉｎｓ．ｅｆｆｅｃｔ）７０４、ボリューム（Ｖｏｌ）７０５、ｃｈオンスイッチ（ＣＨ＿ＯＮ）７０６、ステレオオンスイッチ（ＴＯ＿ＳＴ）７０７、パンニング調節器（ＰＡＮ）７０８、プリ・ポスト（ＰＰ）スイッチ７１１、センドレベル調節器（ＳＮＤ＿Ｌ）７１２、及びセンドオン（ＳＮＤ＿ＯＮ）スイッチ７１３を備える。
【００３６】
アッテネータ７０１は、入力ｃｈの先頭部分でのレベル制御を行う。イコライザ７０２は、周波数特性を調整する。コンプレッサ７０３は、自動ゲイン調整を行う。インサーション・エフェクタ７０４は、当該入力ｃｈから信号を取り出して各種のエフェクトを付与し再び当該入力ｃｈに信号を戻す処理を行う。ボリューム７０５は、信号レベルを調整する処理を行う。本ミキサでは、外部パネル上の操作子１０５として複数のフェーダを備えており、それらのフェーダを入力ｃｈのボリューム７０５に割り当て、割り当てたフェーダの操作でボリューム７０５によるレベル調整が行えるようになっている。ｃｈオンスイッチ７０６は、当該ｃｈの信号出力のオン／オフを行うスイッチである。ステレオオンスイッチ７０７は、当該ｃｈの信号のステレオバスへの出力のオン／オフを行うスイッチである。ＰＰスイッチ７１１は、当該ｃｈの信号をＭＩＸバスの１つに出力するに際し、プリフェーダ（ｃｈ出力をボリューム７０５の前側から取出す）とポストフェーダ（ｃｈ出力をボリューム７０５の前側から取出す）とを切り換えるスイッチである。センドレベル調節器７１２は、ＭＩＸバスへの送出レベル調整用である。センドオンスイッチ７１３は、ＭＩＸバスへの送出のオン／オフを行うスイッチである。なお、これらのスイッチ７０６，７０７，７１１，７１３は、外部パネル上に設けられた操作子１０５である所定のスイッチに割り当てられている。また、センドレベル調節器７１２も、外部パネル上に設けられた操作子１０５である所定のロータリエンコーダに割り当てられている。外部パネル上に設けられた操作子に割り当てる代わりに、表示器１０４にロータリエンコーダや各種スイッチを表示し、画面上のこれらの操作子をマウスやタッチパッドにより（あるいは直接タッチパネル上で）操作してもよい。
【００３７】
図６に示したようなミキサの信号処理は、時分割ＤＳＰ１０６およびサブＤＳＰ１０７で実現している。すなわち、時分割ＤＳＰ１０６内のＤＳＰ１〜４（図２）がそれぞれ１ＤＡＣ周期中に実行するμプログラム（図５（ａ））には、図６および図７に示される各機能を実現するμプログラムのブロックが設定される。例えば、入力ｃｈ１〜１２とその出力の混合（６０２、６０３）をＤＳＰ１に、入力ｃｈ１３〜２４とその出力の混合（６０２、６０３）をＤＳＰ２に、出力ｃｈ１〜１２をＤＳＰ３に、ＳＴ出力ｃｈとその他図示しないモニタやエフェクタをＤＳＰ４に、それぞれ受け持たせ実行させる。ここで、各ｃｈの処理には、メータ表示のための検出ポイント処理（図１１（ａ））を含む。また、サブＤＳＰ１０７は、ＤＳＰ１〜４が実行している入力ｃｈや出力ｃｈの処理のうちの、コンプレッサ機能やメータ機能に係るレベル検出の処理の部分を分担して実行する。
【００３８】
図７中のＩＭ１〜ＩＭ５はレベル検出する端子を示す。外部パネル上または画面上の操作子で、当該入力ｃｈのレベル検出用端子ＩＭ１〜ＩＭ５のどこからレベル検出するかを選択することができ、選択された端子からセレクタで取り出した信号に対してレベル検出処理を行い、検出したレベルを入力系メータで表示することができる。これにより、ユーザは、当該入力ｃｈのＩＭ１〜ＩＭ５の位置における信号レベルを知ることができる。本実施形態のミキサでは、このようなレベル検出を図１のサブＤＳＰ１０７で行っている。すなわち、時分割ＤＳＰ１０６で図７の入力ｃｈの処理を行う際に、ＩＭ１〜ＩＭ５のうちの選択された位置のデータを時分割ＤＳＰ１０６からサブＤＳＰ１０７に渡すと、サブＤＳＰ１０７がレベル検出処理を行いその結果を返すので、ＣＰＵ１０１による表示更新処理がそのレベル検出結果に基づいてメータ表示を行う。時分割ＤＳＰ１０６からサブＤＳＰ１０７へのデータの渡し方は、図３で説明したようにＩ−ＲＡＭ３１２，３３２のダイナミクス領域を用いる。例えば、ＩＭ５のレベル検出を行いたい場合は、図３の時分割ＤＳＰ１０６中のバスライン３１５に該ＩＭ５の位置のデータが流れるタイミングでそのデータを後述する検出ポイント処理（図１１（ａ））に渡し、検出ポイント処理の中でそのデータをＩ−ＲＡＭ３１２のダイナミクス領域の第ｊレベル検出ｃｈ（どのレベル検出ｃｈを使用するかはＣＰＵから指定できる）に対応するデータエリアに書込めばよい。これにより、次の１ＤＡＣ周期で、サブＤＳＰ１０７がＩ−ＲＡＭ３３２から当該データを読出し、レベル検出処理を行う。検出したレベル値は、取込み部３３８とレベルレジスタ３４２経由でＣＰＵ１０１が読出し、メータ表示を行う。
【００３９】
さらに、図７の入力ｃｈの機能のうち、コンプレッサ７０３では、入力信号を整流してエンベロープフォロワをかけてエンベロープを取り（このエンベロープが信号レベルを示している）、そのエンベロープの値が所定の閾値を超えたとき、その超えた部分の信号レベルを落とす処理を行っている。このエンベロープを取る処理は、要するにレベル検出を行う処理であるので、サブＤＳＰ１０７により実行している。この場合は、コンプレッサ７０３の処理中でレベル検出処理を行いたい位置のデータを時分割ＤＳＰ１０６からサブＤＳＰ１０７に渡すと、サブＤＳＰ１０７がレベル検出処理を行いその結果を返すので、コンプレッサ７０３の処理は、返された結果を用いて処理を続ければよい。時分割ＤＳＰ１０６からサブＤＳＰ１０７へのデータの渡し方は上述の通りである。また、時分割ＤＳＰ１０６からサブＤＳＰ１０７へデータを渡すのに使用したＩ−ＲＡＭ３１２，３３２のダイナミクス領域のデータエリアを用いて、レベル検出結果をサブＤＳＰ１０７から時分割ＤＳＰ１０６に返すようにしている。
【００４０】
図８は、サブＤＳＰ１０７の第ｊレベル検出ｃｈにおけるレベル検出処理の詳細を示す。Ｉ−ＲＡＭ３３２のダイナミクス領域（図５（ｃ））の第ｊレベル検出ｃｈに対応するデータエリア８０１にデータが書込まれたとする。このデータに対して、クリップ検出処理８０２、対数変換処理８０３、及び閾値処理８０４を施す。ここで、クリップ検出処理は、入力するデータが所定のクリップレベルを超えたことを検出する処理、対数変換処理は、入力するデータを対数変換して出力する処理、閾値処理は、入力するデータのうちのユーザにより設定された閾値を超えた分のデータ（閾値との差分）を適宜スケーリングして出力する処理である。閾値処理８０４の出力は、加算器８０５、乗算器８０６、加算器８０７、および遅延回路８０８で構成されるローパスフィルタ（ＬＰＦ）に入力する。乗算器８０６では、加算器８０５の出力が正のときはユーザにより設定されたアタックレートに応じた係数が乗算され、負のときはユーザにより設定されたリリースレートに応じた係数が乗算される。このＬＰＦのカットオフ周波数は、入力するデータのレベルが大きくなるとき、アタックレートに応じた高いカットオフ周波数となり、レベルが下がるとき、リリースレートに応じた低いカットオフ周波数となる。
【００４１】
このようなレベル検出処理は、楽音信号ほど高い分解能で処理する必要がないので、時分割ＤＳＰ１０６よりも少ない処理ビット数のＤＳＰ１０７で実行されている。図３で説明したサブＤＳＰ１０７のロジック回路３３９が生成する制御信号により、サブＤＳＰ１０７の各部が制御され、図８のレベル検出処理を実現される。レベル検出ｃｈ１ｃｈあたりの処理は、μプログラムの約２０ステップに相当する。
【００４２】
図９は、図３で説明した時分割ＤＳＰ１０６とサブＤＳＰ１０７のタイムチャートを示す。時分割ＤＳＰ１０６内のＤＳＰ１〜４は、それぞれ、１ＤＡＣ周期内のμプログラム実行区間（残りは猶予区間）を２５６の区間に分けた１区間でステップｉ（ｉは０〜２５５の整数）を実行する。すなわち、各ステップｉの区間は４つのタイムスロットに分割されており、パイプライン処理により各タイムスロットでＤＳＰ１〜ＤＳＰ４の各処理を１ステップずつ実行する。これを繰り返すことによりパイプライン処理で、図２で説明した時分割ＤＳＰ１〜４を実現する。サブＤＳＰ１０７は時分割ＤＳＰ１０６と同じサンプリングクロックおよびシステムクロックに基づいて動作しており、１ＤＡＣ周期中に０〜９５の区間を確保し、残りを猶予期間とする。第ｊ区間において第ｊレベル検出ｃｈの処理を行う。なお、ここで示す時分割ＤＳＰ１０６のステップ数、および、サブＤＳＰ１０７のレベル検出処理ｃｈ数は一例であって、システムクロックの周波数、サンプリング周波数、その他の事情に応じて、それぞれ、適宜変更して設計してよい。また、サブＤＳＰ１０７の実行するレベル検出処理については、楽音信号ほど高い時間分解能も必要ないので、入力するデータを１／ｎの周波数にダウンサンプリングして、所定ｃｈ数（例えば９６ｃｈ）のレベル検出処理をｎＤＡＣ周期ごとに実行するようにしてもよい。その場合でも、システムクロック周波数については、時分割ＤＳＰ１０６とサブＤＳＰ１０７で同じにすることが望ましい。
【００４３】
図１０は、時分割ＤＳＰ１０６とサブＤＳＰ１０７とＣＰＵ１０１のタイムチャートを示す。ここでは、時分割ＤＳＰ１０６で実現される４つのＤＳＰ１〜４のうちＤＳＰ１に注目している。例えば、ＤＳＰ１で各ＤＡＣ周期毎の所定のステップで処理している信号のレベル検出処理（エンベロープフォロワ）を行いたい場合は、μプログラムのそのステップより後の何れかのステップに、その信号のデータをＩ−ＲＡＭ３１２に書き込むμ命令を配置すればよい。図１０の区間１００１では、１ＤＡＣ周期内の４つのステップで処理されていた４つの信号のデータを、Ｉ−ＲＡＭ３１２のダイナミクス領域の当該ＤＳＰ１に割り当てられた４ｃｈ分のデータエリアに書き込んでいる（１０１１）。書込まれたデータは、次の１ＤＡＣ周期１００２でサブＤＳＰ１０７の読み出せるデータとなり、サブＤＳＰ１０７はそのデータを読み出して図８の処理を施し、検出したレベル値をＩ−ＲＡＭ３３２のダイナミクス領域のデータ入力に使ったデータエリアに書き込む（１０１２）。書込まれたレベル値は、次の１ＤＡＣ周期１００３でＤＳＰ１の読み出せるデータとなり、ＤＳＰ１は、楽音信号処理の所望のステップでこのデータを読み出して使用する。ここでは区間１００１でＩ−ＲＡＭ３１２に書込まれるデータに注目して説明したが、以上の処理は各ＤＡＣ周期毎に繰り返し実行される。
【００４４】
ＣＰＵ１０１が、サブＤＳＰ１０７が出力するレベル検出結果を受け取りたい場合は、図３で説明したように取込み部３３８とレベルレジスタ３４２を経由して受け取ることができる。この場合のタイミングは図１０に示すとおりであり、ＣＰＵがあるレベル検出ｃｈの読み出しをタイミング１０２２に実行する場合、ＣＰＵは、サブＤＳＰ１０７がその直前に更新タイミング１０２１に更新したそのレベル検出ｃｈのレベル検出結果（サブＤＳＰ内に保持されている）を読み出すことになる。
【００４５】
図１１（ａ）は、メータ表示のために時分割ＤＳＰ１０６側で実行される検出ポイント処理のμプログラムのフローチャートを示す。例えば、時分割ＤＳＰ１０６のＤＳＰ１で実現している入力ｃｈ１〜１２のメータ表示を行う場合、ＤＳＰ１にその１２ｃｈに対応する１２回の検出ポイント処理を実行させ、各入力ｃｈの所望の検出ポイントのデータを対応する検出ポイント処理に渡すようにすればよい。ステップ１１０１で、Ｔ−ＲＡＭ（ｘ）３１３に、対応するｃｈの処理から受け取った信号のデータ（ＩＭ１〜ＩＭ５の何れかの信号）を書込む。ステップ１１０２で、該データに対しハイパスフィルタ（ＨＰＦ）処理及び整流を施し、ステップ１１０３で、Ｉ−ＲＡＭ３１２のダイナミクス領域の当該検出ポイント処理に割り当てられた第ｊレベル検出ｃｈに対応するデータエリアに、ＨＰＦ処理済信号を書き込み、終了する。ステップ１１０２は、信号の直流分をカットしてからレベル検出処理に渡す方が精度良くレベル検出できるので、そのためのＨＰＦ処理及び整流を行うものである。そして、あるＤＡＣ周期に時分割ＤＳＰ１０６によりＩ−ＲＡＭ（表）３１２のダイナミクス領域に書込まれたデータは、その次のＤＡＣ周期において、サブＤＳＰ１０７によりＩ−ＲＡＭ（裏）から読み出され、図８に示すレベル検出処理が施されてその検出結果が保持される。
【００４６】
図１１（ｂ）は、メータ表示のためにＣＰＵ１０１側で実行される表示更新処理のフローチャートを示す。予めレベル検出したいポイントに対して図１１（ａ）の処理を行うように設定してあるので、ＣＰＵ１０１は、その検出ポイントに対応する第ｊレベル検出ｃｈの検出結果を読出してメータ表示更新を行う。この処理は、定期的（例えば、数ｍ秒おき）に実行すればよい。まず、ステップ１１１１で、ｊに１つめのレベル検出ｃｈ番号を書き込む。ステップ１１１２で、サブＤＳＰ１０７のｃｈレジスタ３４１にｊのレベル検出ｃｈ番号を書き込む。ステップ１１１３，１１１４は、取込み部３３８が当該レベル検出ｃｈの検出結果をレベルレジスタ３４２に書込むまで待機する処理である。準備ができたらステップ１１１５で、レベルレジスタ３４２から第ｊレベル検出ｃｈのレベル検出結果を読出す。ステップ１１１６で、読出したレベル検出結果から、複数セグメントのレベルメータの表示を何セグメントまで点灯させるかを判定し、判定されたセグメントまで点灯させる。このとき、図８のクリップ検出処理８０２で、入力データが所定のクリップレベルを超えたことが検出されていた場合、その旨を示す表示を行う。ステップ１１１７で、ｊに次のレベル検出ｃｈ番号を書込み、まだ処理すべきレベル検出ｃｈがあればステップ１１１８から１１１２に戻って処理を続ける。メータ表示している全てのレベル検出ｃｈについて表示更新が終了したら、処理を終了する。
【００４７】
図１１（ｃ）は、時分割ＤＳＰ１０６によるコンプレッサ処理（図７の７０３）のフローチャートを示す。この処理は、ＤＳＰ１〜４が、各ｃｈの処理の中のコンプレッサの処理を行いたい所望のステップで実行する。ステップ１１２１で、コンプレッサに入力する信号データをＴ−ＲＡＭ（ｘ）３１３に書き込む。ステップ１１２２で、該データに対してＨＰＦ処理及び整流を施すが、処理結果はＴ−ＲＡＭ（ｘ）には上書きせず、Ｔ−ＲＡＭ内の一時記憶エリアに保持する。ステップ１１２３で、Ｉ−ＲＡＭ３１２のダイナミクス領域の当該コンプレッサ処理に割り当てられた第ｊレベル検出ｃｈのデータエリアから、検出結果のデータを読出して、Ｔ−ＲＡＭ（ｘ＋１）３１３に書込む。このデータは、２ＤＡＣ周期前に当該コンプレッサ処理がＩ−ＲＡＭ（表）３１２のダイナミクス領域に書き込んだデータに対し、１ＤＡＣ周期前にサブＤＳＰ１０７が図８に示すレベル検出処理を施してＩ−ＲＡＭ（裏）３３２に書き戻した検出結果のデータである。ステップ１１２４で、一時記憶エリアに保持されているＨＰＦ処理及び整流済の信号のデータを、Ｉ−ＲＡＭ３１２のダイナミクス領域の第ｊレベル検出ｃｈのデータエリアに書込む。このデータは、次の１ＤＡＣ周期でサブＤＳＰ１０７に渡すデータである。その後、ステップ１１２５でＴ−ＲＡＭ（ｘ＋１）３１３のデータを元にゲインテーブルを参照してデシベルのゲイン値を得、ステップ１１２６で逆ログ変換（対数−リニア変換）してリニアのゲイン値とする。ステップ１１２７で、変換結果をＴ−ＲＡＭ（ｘ）に乗算し、終了する。
【００４８】
なお、サブＣＰＵに、レベル検出以外の固定処理、例えばＬＦＯ（低周波発振器）やＥＧ（エンベロープ発生器）の処理を行わせるようにしても良い。これらの処理は、レベル検出処理と同様、楽音信号ほど高いレベル分解能、時間分解能を要求されない。
【００４９】
上記実施形態において、各検出ポイント処理や各コンプレッサ処理へのレベル検出ｃｈの割り当ては、ディジタルミキサの設計時に設計者により行われる。
【００５０】
上記実施形態では、ＤＳＰ１〜４のうちの入力ｃｈや出力ｃｈを実行するＤＳＰで、そのｃｈのメータ表示のための検出ポイント処理を実行するようになっていたが、あるＤＳＰで処理されているｃｈのデータを、それとは別のＤＳＰに渡して検出ポイント処理するようにしてもよい。また、全ｃｈのメータ表示を行う場合で説明したが、メータ表示のための検出ポイント処理等は、全部のｃｈではなく、表示するメータの数だけ行えば充分である。さらに、ディジタルミキサで説明したが、このＤＳＰ集積回路は、ギターエフェクタ、音場制御装置、スピーカプロセッサ、サラウンドアンプなど、コンプレッサ処理やメータ表示が必要になる様々な機器に広く適用できる。
【００５１】
本実施形態では、ＤＳＰ集積回路を、外部の遅延メモリのＩ／Ｏを備え、楽音信号の処理に必要なビット数での処理が可能な（さらに、楽音信号の処理に必要なサンプリング周波数の）相対的にスペックの高いＤＳＰ（メインＤＳＰ）と、外部の遅延メモリのＩ／Ｏを備えず、それより少ないビット数での処理（ピッチやレベルの制御には充分）が可能な（さらに、それより低いサンプリング周波数の）相対的にスペックの低いＤＳＰ（サブＤＳＰ）とで構成し、楽音信号処理装置で実行される楽音信号処理のうちの、外部の遅延メモリによる長時間の遅延を必要とせず、値や時間の分解能が低くても良い処理をスペックの低いＤＳＰに担当させ、スペックの高いＤＳＰには、それ以外の長時間遅延や分解能が必要な処理を担当させるようにした。その際、ＤＳＰ間の通信は、サンプリング周期毎に表裏が入れ替わる内部メモリで行うようになっているので、楽音信号処理の任意の部分をサブＤＳＰに受け持たせることができる。このように、集積回路が有する演算能力が無駄なく使用できるので、同じ規模の集積回路でより高度な処理を行わせることができるようになった。
【図面の簡単な説明】
【００５２】
【図１】本発明に係るＤＳＰを用いたミキサの構成例を示す図
【図２】時分割ＤＳＰの概念図
【図３】時分割ＤＳＰ及びサブＤＳＰの内部詳細図
【図４】演算部の内部構成図
【図５】μプログラムレジスタのプログラム構成及びＩ−ＲＡＭの内部構成図
【図６】ミキサの機能ブロック図
【図７】入力ｃｈの概略構成を示す機能ブロック図
【図８】サブＤＳＰのレベル検出ｃｈにおけるレベル検出処理の詳細図
【図９】時分割ＤＳＰとサブＤＳＰのタイムチャート図
【図１０】時分割ＤＳＰとサブＤＳＰとＣＰＵのタイムチャート図
【図１１】処理フローチャート図
【符号の説明】
【００５３】
１０１…中央処理装置（ＣＰＵ）、１０２…リードオンリメモリ（ＲＯＭ）、１０…３ランダムアクセスメモリ（ＲＡＭ）、１０４…表示器、１０５…操作子、１０６…時分割ＤＳＰ、１０７…サブＤＳＰ、１０８…外部ＲＡＭ、１０９…波形入力部、１１０…波形出力部、１１１…バスライン。
【図１】
2008164901.tif 000003
【図２】
2008164901.tif 000004
【図３】
2008164901.tif 000005
【図４】
2008164901.tif 000006
【図５】
2008164901.tif 000007
【図６】
2008164901.tif 000008
【図７】
2008164901.tif 000009
【図８】
2008164901.tif 000010
【図９】
2008164901.tif 000011
【図１０】
2008164901.tif 000012
【図１１】
2008164901.tif 000013