信号処理集積回路及び効果付与装置
【課題】エフェクトタイプに応じた特定のステップのパラメータを操作子の操作に応じて制御する。
【解決手段】第1選択回路21は、EF選択操作子3の操作により選択されたエフェクトタイプEFTに応じた選択信号をメモリ22〜25に出力し、また、EFTに応じたUPTを第2回路26に出力する。μプログラムメモリ22は、EFTに応じたμプログラムからUPTCを含むμコードを出力する。メモリ23、24は、EFTに応じたプリセットパラメータを出力する。変換テーブルメモリ25は、EFTと操作子の操作値に応じたユーザパラメータを出力する。第2選択回路26、セレタク27,28は、UPTとUPTCが一致したステップでユーザパラメータを選択し、それ以外でプリセットパラメータを選択し、信号処理部40〜55はμコードと選択されたパラメータとに基づいて、入力される音響信号に信号処理を施す。
【解決手段】第1選択回路21は、EF選択操作子3の操作により選択されたエフェクトタイプEFTに応じた選択信号をメモリ22〜25に出力し、また、EFTに応じたUPTを第2回路26に出力する。μプログラムメモリ22は、EFTに応じたμプログラムからUPTCを含むμコードを出力する。メモリ23、24は、EFTに応じたプリセットパラメータを出力する。変換テーブルメモリ25は、EFTと操作子の操作値に応じたユーザパラメータを出力する。第2選択回路26、セレタク27,28は、UPTとUPTCが一致したステップでユーザパラメータを選択し、それ以外でプリセットパラメータを選択し、信号処理部40〜55はμコードと選択されたパラメータとに基づいて、入力される音響信号に信号処理を施す。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、サンプリング周期毎に所定ステップ数の信号処理を行う信号処理集積回路に関し、特に音響信号に効果付与する効果付与装置に適用される信号処理集積回路、およびその信号処理集積回路を備えた効果付与装置に関する。
【背景技術】
【0002】
従来、デジタル信号処理集積回路(「DSP LSI」、以下単に「DSP」という)を用いて、音響信号(波形データ)に対するエフェクト(効果付与)処理を行うデジタルエフェクタがあった。この種のデジタルエフェクタは、当該デジタルエフェクタの全体的な動作を制御するCPUを具えていた。そして、CPUが、DSP内のレジスタに、所定ステップ数のマイクロコードからなるマイクロプログラム、マイクロプログラムの所定ステップ数の全ステップ数に対応する数の係数データ、及び、1サンプリング周期で遅延メモリにアクセス可能なステップ数に対応する数のアドレスデータを設定し、該CPUによってレジスタに設定されたマイクロプログラム、係数データ、及びアドレスデータに基づいて、DSPは信号処理を実行していた(例えば、下記特許文献1を参照)。
【0003】
従来のデジタルエフェクタには、複数種類のエフェクトタイプを登載しており、使用するエフェクトタイプ(エフェクタの種類)をユーザが操作子を用いて選択することができる機種があった。また、従来のデジタルエフェクタにおいて、エフェクト処理のパラメータの値をユーザが手動調整する操作子を有している機種があった。これら操作子を有する従来のデジタルエフェクタにおいては、操作子の操作に応じた検出信号がCPUに供給され、供給された検出信号に応じた処理をCPUが実行していた。例えば、エフェクトタイプを切り替える操作が行われたときには、CPUは、新たに選択されたエフェクトタイプに応じてマイクロプログラムを切り替えて、DSPのレジスタに設定する処理を行っていた。また、エフェクト処理のパラメータを制御する操作が行われたときには、CPUは、その操作値に応じて、DSPのレジスタに設定された特定のステップの係数データ又はアドレスデータの値を変更して、その変更をDSPに反映させる処理を行っていた。
【0004】
上記の通り、従来のDSPにおいては、一般的には、ユーザの操作子の操作に応じた各種処理(エフェクトタイプの選択や、パラメータ(係数データ又はアドレスデータ)の変更)はCPUにより制御されていたので、DSPはCPUなしで動作することができなかった。
【0005】
また、従来から知られるDSPには、DSPの内部メモリに複数のマイクロプログラムを記憶しておき、ユーザによるマイクロプログラム切り替え操作に応じて、該複数のマイクロプログラムのいずれか1つを選択的に用いて信号処理を行う構成があった。このDSPは、内部にマイクロプログラムを切り替えるための機構を備えており、この構成を、ユーザによるエフェクトタイプ選択操作に応じて、DSP自身がマイクロプログラムを切り替える構成に改良することは、比較的容易である(例えば、下記特許文献2を参照)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平11−203129号公報
【特許文献2】特許2765426号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
CPUなしで動作できるエフェクタを構成するには、DSPを構成する集積回路の内部メモリに、複数エフェクトタイプ毎のマイクロプログラム、複数エフェクトタイプ毎の係数、及び複数エフェクトタイプ毎のアドレスデータを記憶しておき、エフェクトタイプの選択操作に応じたマイクロプログラム、係数データ、及びアドレスデータをDSPが選択して、該選択したマイクロプログラム、係数データ、及びアドレスデータに基づきDSPが信号処理を実行するよう構成することが考えられる。
【0008】
上述したように、エフェクトタイプの変更に応じた信号処理内容の切り替えは、切り替える範囲のマイクロプログラム、係数データ及びアドレスデータを、ごっそり入れ替えるだけなので、先行技術文献(例えば特許文献2)に示されているマイクロプログラムの読み出しアドレスを制御する技術を改良することにより、比較的容易に実現できる。しかしながら、操作子の操作に応じた係数データやアドレスデータの変更は、マイクロプログラムの特定のステップに係る変更であり、また、操作子からの操作データに応じた係数データやアドレスデータを生成しなければならないことから、先行技術文献に示される技術の改良では、容易に実現できない。
一方、操作子からの操作データに応じた係数データやアドレスデータの生成処理、及び、特定のステップの係数データやアドレスデータの変更処理をマイクロプログラム化してDSP自身に実行させることも考えられるが、その場合、その生成処理や変更処理に多くのステップが消費され、本来の目的であったはずの入力する波形データに対する信号処理に使えるステップが大幅に減少してしまうという問題がある。
【0009】
更に、従来のマルチエフェクタでは、複数のエフェクトタイプで同じマイクロプログラムを共用している場合があり、この場合には、エフェクトタイプが違うと、同じマイクロプログラムに基づく信号処理中の異なるステップのパラメータ(係数データ又はアドレスデータ)を操作子の操作に応じて制御しなければならない。従って、複数種のエフェクトタイプの各タイプに応じて、同じマイクロプログラムの異なるステップのパラメータを操作子の操作に応じて制御したり、パラメータを操作子の操作に応じて異なる値に制御したりする動作を、CPUの制御によらず、かつ、DSPの処理ステップをあまり使用することなく実行できるようにしたいという要望があった。
【0010】
この発明は、上記の点に鑑みてなされたもので、CPUの制御によらずに、かつ、DSPの処理ステップをあまり使用することなく、現在選択されているエフェクトタイプに応じた特定のステップのパラメータ(係数データ又はアドレスデータ)を操作子の操作に応じて制御することができるようにした信号処理集積回路を提供することを目的とする。また、その信号処理集積回路を備えた効果付与装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
請求項1に係る本発明は、所定サンプリング周期毎に、入力された音響信号に対して所定ステップ数の信号処理を行う信号処理集積回路であって、効果タイプを指定するタイプデータを受け付ける効果タイプ受付部と、パラメータタイプコードを含む複数ステップのマイクロコードからなるマイクロプログラムを複数記憶しており、各ステップ毎に、前記タイプデータにより指定された効果タイプに応じたマイクロプログラムの各マイクロコードを順次出力するマイクロコード出力部と、複数ステップ分のプリセットパラメータからなるプリセットパラメータセットを複数記憶しており、各ステップ毎に、前記タイプデータにより指定された効果タイプに応じたプリセットパラメータセットの各プリセットパラメータを順次出力するプリセットパラメータ出力部と、操作子の操作に応じてユーザパラメータを出力するユーザパラメータ出力部と、前記タイプデータにより指定された効果タイプと前記マイクロコード出力部から出力されるマイクロコードに含まれるパラメータタイプコードとに基づいて、各ステップ毎に、前記プリセットパラメータ出力部及び前記ユーザパラメータ出力部のいずれか一方の出力するパラメータを選択するパラメータ選択部と、前記マイクロコード出力部から出力されるマイクロコードと、前記パラメータ選択部により選択されたパラメータとに基づいて、入力される音響信号に信号処理を施し、該信号処理された音響信号を出力する信号処理部とを備える。
【0012】
請求項1に係る本発明によれば、マイクロコード出力部は、タイプデータにより指定された効果タイプに応じたマイクロプログラムの各マイクロコードを順次出力するので、各ステップ毎に当該マイクロプログラムの各パラメータタイプコードが順次出力される。パラメータ選択部は、タイプデータにより指定された効果タイプとマイクロコード出力部から出力されるパラメータタイプコードとに基づいて、各ステップ毎に、プリセットパラメータ出力部及びユーザパラメータ出力部のいずれか一方の出力するパラメータを選択するので、タイプデータにより指定された効果タイプに対応するパラメータタイプコードが出力された特定のステップにおいて、ユーザパラメータ出力部から出力されたユーザパラメータを選択することができる。従って、信号処理部は、効果タイプに応じた特定のステップにおいて、操作子の操作値に応じたユーザパラメータに基づく信号処理を行うことができる。
【0013】
また、請求項2に係る本発明において、前記ユーザパラメータ出力部は、前記操作子の操作位置に応じた操作データを受け付ける操作データ受付部を含み、前記操作データ受付部により受け付けた操作データを、前記タイプデータにより指定された効果タイプに応じたユーザパラメータに変換して出力する。
【0014】
請求項2に係る本発明によれば、ユーザパラメータ出力部は、操作データ受付部により受け付けた操作データを、タイプデータにより指定された効果タイプに応じたユーザパラメータに変換して出力するので、操作検出部により受け付けた操作データに対応するユーザパラメータは、タイプデータにより指定された効果タイプに応じて異なる値となる。
【0015】
また、請求項3に係る本発明は、請求項1又は2のいずれかに記載の信号処理集積回路と、外部から前記音響信号を入力して、前記信号処理集積回路に供給する入力部と、選択操作子を備えており、該選択操作子の操作に応じた前記タイプデータを生成し、前記信号処理集積回路に供給する選択操作部と、前記操作子を備えており、該操作子の操作に応じた操作データを生成し、前記信号処理集積回路に供給するパラメータ操作部と、前記信号処理集積回路から出力される音響信号を、外部へ出力する出力部とを備えた効果付与装置である。
【発明の効果】
【0016】
請求項1に係る本発明によれば、信号処理の所定ステップ数のうちで、現在指定されている効果タイプに対応するパラメータタイプコードが出力された特定のステップのパラメータを、ユーザパラメータ出力部から出力されたユーザパラメータ、すなわち、操作子の操作値に応じたユーザパラメータとすることができる。また、共通のマイクロプログラムを異なる効果タイプに使用している場合も、効果タイプに応じた特定のステップのパラメータをユーザパラメータとすることができる。したがって、信号処理集積回路(DSP)を制御するためのCPUを備えない簡素な構成であっても、DSPの処理ステップをあまり使用することなく、効果タイプに応じた特定のステップのパラメータを操作子の操作に応じて制御することができるという優れた効果を奏する。
また、請求項2に係る本発明によれば、操作受付部により受け付けた操作データを、現在指定されている効果タイプに応じた変換特性でユーザパラメータに変換するので、上記請求項1に係る本発明の効果に加えて、特定のステップのパラメータを、効果タイプに応じて異なる値のユーザパラメータにすることができるようになるという優れた効果を奏する。
そして、請求項3に係る本発明によれば、動作制御用のCPUを持たない簡素な構成の信号処理集積回路を用いて、且つ、DSPの処理ステップをあまり使用することなく、複数の効果タイプを選択可能であって操作子の操作によりパラメータを制御可能な効果付与装置を提供することができるという優れた効果を奏する。
【図面の簡単な説明】
【0017】
【図1】本発明に係る信号処理集積回路(DSP)を適用したデジタルエフェクタの構成例を示すブロック図。
【図2】図1に示すデジタルエフェクタに登載されたエフェクトタイプの例。
【図3】図1のDSPの各メモリに記憶されているデータセットの構成例。
【図4】(a)はEF処理用μプログラムの記述例、(b)はUPTとUPTCの構成例。
【図5】図1のDSPがサンプリング周期毎に実行する信号処理の内容を説明するブロック図。
【図6】図1のDSPの動作の各種タイミングを説明する図。
【図7】(a)〜(c)は図5のEF処理部で行われるEF処理の具体例をエフェクトタイプ別に示すブロック図。
【図8】EF切り替え時の動作のタイミングを説明する図。
【図9】効果付与機能オン・オフ切り替え時の動作のタイミングを説明する図。
【図10】図5のレベル値生成部が行うレベル生成処理の構成例を説明するブロック図。
【発明を実施するための形態】
【0018】
以下、添付図面を参照して、本発明の一実施形態について詳細に説明する。以下に説明する実施例においては、本発明に係る信号処理集積回路を、音響信号に効果付与処理を施す効果付与装置(デジタルエフェクタ)に適用した例について説明する。なお、本明細書中では、デジタル音響信号を「波形データ」ともいう。
【0019】
《エフェクタの全体構成》
図1は、本発明に係るデジタルエフェクタの全体構成を説明するためのブロック図であって、信号処理集積回路の内部構成を詳細に示している。
図1において、デジタルエフェクタは、デジタル音響信号(波形データ)に対して信号処理を実行する信号処理集積回路(DSP)1を備え、このDSP1に対して、外部ソースから出力されたアナログ音響信号(アナログ波形)をデジタル音響信号(波形データ)に変換してDSP1に入力する入力部と、DSP1の処理結果として出力されたデジタル音響信号(波形データ)をアナログ音響信号(アナログ波形)に変換して出力する出力部と、ユーザパラメータ調整操作子(UP調整操作子)2と、エフェクトタイプ選択操作子(EF選択操作子)3と、ユーザパラメータ機能オン/オフスイッチ(UPオン/オフSW)4と、効果付与機能オン/オフスイッチ(EFオン/オフSW)5と、DSP1内の各構成要素及びデジタルエフェクタの各部に対する電力供給をオン/オフする電源スイッチ6とが接続される。図1に示す通り、本実施例に係るデジタルエフェクタは、DSP1の動作制御用のCPUを具備しない簡素な構成である。
【0020】
デジタルエフェクタは、複数種類のエフェクトタイプを登載しており、使用するエフェクトタイプ(エフェクタの種類)をユーザが操作子を用いて選択することができる。DSP1は、所定のサンプリング周期毎に、ユーザによって選択されたエフェクトタイプに応じたマイクロプログラムに基づく所定の複数のステップ(例えば512ステップ)の信号処理を実行して、入力されたオーディオ信号にユーザによって選択されたエフェクトタイプに応じた効果を付与する。
本実施例のDSP1は、詳しくは後述する通り、DSP1の動作制御用のCPUを具備しない簡素な構成であっても、DSP1の処理ステップをあまり使用することなく、(1)信号処理の複数のステップのうちの当該現在選択されているエフェクトタイプに応じた特定のステップのパラメータをUP調整操作子2の操作に応じたユーザパラメータにより制御することができる点に特徴を有しており、また、(2)当該現在選択されているエフェクトタイプに応じた特定の複数ステップのユーザパラメータを、各ステップ毎に相互に異なる値にすることができる点に別の特徴を有している。なお、本明細書において、「パラメータ」は、信号処理に用いる「係数データ」と「アドレスデータ」を総称するものである。
【0021】
《入力部と出力部》
デジタルエフェクタの入力部は、アナログデジタル変換部(ADC)7と、2チャンネルのアナログ波形入力チャンネルからなる。2つの入力チャンネルのそれぞれには、入力されたアナログ波形の音量レベルを調整するレベル操作子8,9が設けられている。混合部10は、レベル操作子8,9でレベル調整された各チャンネル毎のアナログ波形を合算して、該合算した1チャンネル分のアナログ波形を出力する。なお、各入力チャンネルのレベル操作子8,9の出力は、混合部10に入力される一方で、後述する出力部に分岐している。これは、出力部において、効果付与前の原音(いわゆるDRY信号)と、効果付与後の信号(いわゆるWET信号)とを混合するためである。また、入力部の混合部10の後段には、混合部10の出力信号のレベルを調整するレベル操作子11が設けられている。レベル操作子11により混合部10の出力信号のレベルを調整することで、効果付与後の信号(いわゆるWET信号)のレベル、すなわちデジタルエフェクタの出力信号中のWET信号の割合を調整する。
【0022】
アナログデジタル変換部(ADC)7は、2つの入力チャンネルを有しており、一方の入力チャンネル(例えばRチャンネル)に入力部の混合部10から出力された1チャンネル分のアナログ波形が入力され、もう一方の入力チャンネル(例えばLチャンネル)にパラメータ調整用の操作子操作子(UP調整操作子)2の操作位置に応じたアナログ信号(操作値データSD)が入力される。ADC7は、入力されたアナログ波形とUP調整操作子2の操作を示すアナログ信号を、それぞれ、所定のサンプリングの周波数のデジタル信号に変換する。ADC7からは、所定のサンプリング周期毎に、該変換されたデジタル信号(2chのシリアル信号)が出力され、DSP1に入力される。
【0023】
デジタルエフェクタの出力部は、デジタルアナログ変換部(DAC)12と、2チャンネルの出力チャンネルからなる。DSP1からはサンプリング周期毎に2チャンネル分の効果付与済みデジタル音響信号(WET信号)が出力され、DAC12に入力される。DAC12は、サンプリング周期毎にDSP1から入力された2チャンネルのデジタル音響信号(WET信号)を、それぞれアナログ波形(WET信号)に変換して、変換した各チャンネル毎のアナログ波形を2チャンネルの出力チャンネルの1つずつに分散して出力する。2つの出力チャンネルのそれぞれには混合部13,14が設けられており、各混合部13,14では、それぞれ、DAC12からチャンネル毎に出力された効果付与済みアナログ波形(WET信号)と、入力部から供給されたチャンネル毎の原音(DRY信号)を合算して、該合算したアナログ波形をチャンネル毎に出力する。各混合部13,14におけるDRY信号とWET信号の混合比は、入力部に設けられたレベル操作子11で調整される。
【0024】
《操作子類》
ユーザパラメータ調整操作子(UP調整操作子)2は、DSP1が実行する効果付与処理のパラメータ(係数データ又はアドレスデータ)の値を、ユーザの操作により調整するための操作子である。本明細書では、UP調整操作子2を用いて制御されるパラメータを「ユーザパラメータ」といい、その機能を「ユーザパラメータ機能(UP機能)」という。なお、ユーザパラメータに対して、後述するROMに予め記憶されたパラメータを「プリセットパラメータ」という。この実施例では、UP調整操作子2は、例えばつまみ付きロータリースイッチで構成され、操作位置に応じた複数ビットの操作値データSD(操作データ)を生成し、DSP1に出力する。ユーザによりUP調整操作子2が操作されると、その操作位置に応じた操作値データSD(アナログ信号)がADC7に出力される。すなわち、UP調整操作子2及びADC7は、操作子の操作に応じた操作データを生成し、DSP1に供給するパラメータ操作部を構成する。
【0025】
エフェクトタイプ選択操作子(EF選択操作子)3は、所定の複数のエフェクトタイプ(エフェクタの種類)の中から1つのエフェクトタイプを、ユーザの操作により選択するための操作子である。EF選択操作子3は、例えばつまみ付きロータリースイッチで構成され、操作位置に応じた複数ビットのエフェクトタイプ選択コードEFT(タイプデータ)を生成し、DSP1に出力する。エフェクトタイプ選択コードEFTは、当該デジタルエフェクタに登載された複数のエフェクトタイプの1つずつに対応する複数通りのコード、すなわち効果タイプを指定するタイプデータである。ユーザによりEF選択操作子3が操作されると、その操作位置に応じたエフェクトタイプ選択コードEFTがDSP1内の第1選択回路21に供給される。すなわち、EF選択操作子3は、その操作に応じた前記タイプデータを生成し、DSP1に供給する選択操作部を構成する。
【0026】
UPオン/オフSW4は、UP調整操作子2を用いたパラメータ調整機能(ユーザパラメータ(UP)機能)の使用/不使用を切り替えるスイッチであって、UPオン/オフSW4がスイッチオフ状態で、UP機能の使用を示す“ハイレベル(H)”の制御信号UPONを、また、同スイッチオン状態でUP機能の不使用を示す“ローレベル(L)”の制御信号UPONを第1選択回路21に出力する。なお、UPオン/オフSW4からの制御信号UPONを入力する端子には、DSP1内部のプルアップ抵抗4aが接続されているので、該端子に何も接続しなければ、制御信号UPONは常時“H”(UP使用)となり、UP機能を「有効」に固定できる。また、該端子を接地すれば、制御信号UPONは“L”(UP不使用)となり、UP機能を「無効」に固定することができる。
【0027】
EFオン/オフSW5は、DSP1の効果付与機能の「オン」又は「オフ」(効果付与を有効とするか否か)を切り替えるスイッチであって、スイッチのオフオン状態に応じて、効果付与機能の「オン」又は「オフ」を“ハイレベル(H”)又は“ローレベル(L)”の2値で示す制御信号EFONを出力する。EFオン/オフSW5がオフ状態で、制御信号EFONは、DSP1の効果付与機能の「オン」を示す“H”となり、同スイッチオン状態で、DSP1の効果付与機能の「オフ」を示す“L”となる。EFオン/オフSW5によりDSP1の効果付与機能がオフされると、デジタルエフェクタの出力信号は原音(DRY信号)のみとなる。なお、EFオン/オフSW5からの制御信号EFONを入力する端子には、DSP1内部のプルアップ抵抗5aが接続されているので、該端子に何も接続しなければ、制御信号EFONは“H”(効果付与機能オン)で固定される。
【0028】
《DSPの構成》
次に、図1に示すDSP1内部の詳細な構成を説明する。図1において符号21〜符号31で示す各ブロックは、マイクロプログラムメモリやデータメモリ等であって、DSP1が実行する信号処理のマイクロプログラムの切り替え制御や、信号処理のステップ毎のパラメータ制御を、CPUによる制御ではなく当該DSP1自身で行うための構成要素である。また、図1において符号40〜52で示す各ブロックは、波形データに対する信号処理を行う演算部を構成する構成要素である。また、符号53〜55で示す各ブロックは、遅延メモリをアクセスするためのデータを生成する構成要素である。したがって、符号40〜55で示す各部が、DSP1に入力された音響信号に信号処理を施して、信号処理された音響信号を出力する信号処理部に相当する。
【0029】
クロック発生回路20は水晶振動子を用いてクロック信号を発生する。クロック発生回路20が発生するクロック信号は、DSP1の動作基準となる動作クロックΦo、ワードクロック信号(WC信号)、あるいは、C/E信号などである。動作クロックΦoは、後述する信号処理のステップ周期毎のクロック信号であって、DSP1の各部は動作クロックΦoに基づき動作する。WC信号は、波形データのサンプリング周期のクロック信号であり、DSP1、ADC7及びDAC12は、それぞれ、WC信号に基づいて、該サプリング周期に同期した動作を行う。C/E信号は、DSP1がサンプリング周期毎に実行する所定ステップ数の信号処理のうちで、エフェクト処理(EF処理)と、EF処理以外のコンスタントな処理(C処理)を切り替えるタイミングを制御するための信号である。
【0030】
第1選択回路21は、EF選択操作子3の操作位置に応じたエフェクトタイプ選択コードEFTが入力され、該入力されたエフェクトタイプ選択コードEFTに応じて、μプログラム選択信号μPsel、ユーザパラメータタイプ指定信号UPT、係数セット選択信号Csel、アドレスデータ選択信号Asel、変換テーブルセット選択信号Tsel、及びユーザパラメータレンジ制御信号UPRを出力する。すなわち、第1選択回路21は、効果タイプ(エフェクトタイプ)を指定するタイプデータ(EFT)を受け付ける効果タイプ受付部である。ユーザがEF選択操作子3を操作してエフェクトタイプを指定したときに、該受付部が該操作に応じたタイプデータ(EFT)を受け付けることでエフェクトタイプ切り替え処理が行われ、ユーザ操作に応じたエフェクトタイプが選択される。このエフェクトタイプ切り替え処理を実行するタイミングは、詳しくは後述する通り、CHG信号とACK信号により制御される。
【0031】
第1選択回路21は、UP機能を使用する場合(UPON=“H”)には、現在選択されているエフェクトタイプ(EFT)に応じたユーザパラメータタイプ指定信号UPTを、第2選択回路26に出力する。ユーザパラメータタイプ指定信号UPTは、現在選択されているエフェクトタイプに応じてユーザパラメータ(係数データ又はアドレスデータ)の「タイプ」を指定するコードからなる信号であって、係数データについて複数通りのタイプを指定する信号(コード)があり、また、アドレスデータについて複数通りのタイプを指定する信号(コード)とがある。また、制御信号UPONがUP不使用を示す場合(UPON=“L”)、現在選択されているエフェクトタイプに関わらず、前記ユーザパラメータタイプ指定信号UPTとして「UP不使用」を示す信号を第2選択回路26に出力することで、UP機能を無効にする。
【0032】
マイクロプログラムメモリ(μプログラムメモリ)22は、所定の複数ステップ(例えば512ステップ)のマイクロコード(μコード)からなるマイクロプログラム(μプログラム)を複数記憶したROMである。μプログラムメモリ22において、第1選択回路21から供給されたμPsel信号に基づき、複数のμプログラムの中から、現在選択されているエフェクトタイプ(EFT)に対応する1つのμプログラムが選択される。そして、μプログラムメモリ22は、1サンプリング周期で所定の複数ステップ(例えば512ステップ)のμコードを実行するために、動作クロックΦoが示す信号処理のステップ周期(μコードを実行する周期)毎に、μプログラムメモリ22のアドレスから、該EFTにより指定されたエフェクトタイプに応じたμプログラムのμコードを1ステップ分ずつ順に出力する。すなわちμプログラムメモリ22はマイクロコード出力部である。
【0033】
1ステップ分のμコードは、DSP1の複数の構成要素のそれぞれに対する制御信号のセットにより構成される。1ステップ分のμコードに含まれる各制御信号は、図1において点線で描かれた各ブロック(符号40〜52で示す演算部、操作値レジスタ30及びRADレジスタ55)と加算器53と第2選択回路26のそれぞれ対応するものに出力される。μプログラムメモリ22は、これら各制御信号の出力先のそれぞれと制御線で接続されるが、図示簡略化のため、それら制御線の図示は省略し、μプログラムメモリ22から引き出された複数の矢印を描くことで、その趣旨を表現した。
【0034】
図1において、μプログラムメモリ22から各制御信号を出力する制御線のうちで、μプログラムメモリ22から第2選択回路26へユーザパラメータタイプコードUPTCを出力する制御線だけは、明示した。コードUPTCは、現在選択されているエフェクトタイプに応じてユーザパラメータ(係数データ又はアドレスデータ)の「タイプ」を指示する複数通りの制御信号(コード)であって、前記ユーザパラメータタイプ指定信号UPTと同様に、複数通りの係数データのタイプを指示する制御信号(コード)と、複数通りのアドレスデータのタイプを指示する制御信号(コード)とがある。コードUPTCは、後述する通り、エフェクトタイプに応じた特定のステップでユーザパラメータを選択させるコード、すなわち、信号処理に用いる「パラメータの置換え」を指示する「置換コード」として機能する。なお、「パラメータの置換え」とは、プリセットパラメータをユーザパラメータに置換えることである。
【0035】
係数メモリ23は、所定の複数ステップ(例えば512ステップ)分のプリセット係数データPCからなる係数セットを複数セット記憶したROMである。係数メモリ23において、第1選択回路21から供給されたCsel信号に基づき、該複数の係数セットの中から、現在選択されているエフェクトタイプ(EFT)に対応する1つの係数セットが選択され、信号処理のステップ周期毎に、係数メモリ23のアドレスから、該選択された係数セットのプリセット係数データPCが1ステップ分ずつ順に出力される。すなわち係数メモリ23はプリセットパラメータ出力部である。
【0036】
アドレスメモリ24は、複数ステップ分のプリセットアドレスデータPAからなるアドレスセットを複数セット記憶したROMである。アドレスメモリ24において、第1選択回路21から供給されたAsel信号に基づき、該複数のアドレスセットの中から、現在選択されているエフェクトタイプ(EFT)に対応するアドレスセットが選択され、遅延メモリ50をアクセスすべきステップ毎に、アドレスメモリ24のアドレスから1ステップ分ずつ、該選択されたアドレスセットのプリセットアドレスデータPAが順に出力される。すなわちアドレスメモリ24はプリセットパラメータ出力部である。
【0037】
変換テーブルメモリ25は、複数の変換テーブルセットを記憶したROMである。複数の変換テーブルセットのそれぞれは、複数の変換テーブルで構成されており、各変換テーブルは、UP調整操作子2の操作値データ(後述するレンジ制御部31から供給された操作値データXD)をユーザパラメータに変換して出力するためのデータテーブルである。変換テーブルメモリ25において、第1選択回路21から供給されたTsel信号に基づき、複数の変換テーブルセットの中から現在選択されているエフェクトタイプ(EFT)に応じた変換テーブルセットが選択され、且つ、後述するUPカウンタ29の生成するカウント値UPCに基づき、その変換テーブルセット中の1の変換テーブルが選択され、信号処理のステップ周期毎に、該選択された変換テーブルに基づき、UP調整操作子2から供給された操作値データをユーザパラメータ(ユーザ係数データUC又はユーザアドレスデータUA)に変換して出力する。すなわち、変換テーブルメモリ25は操作子の操作に応じてユーザパラメータを出力するユーザパラメータ出力部を構成している。
【0038】
第2選択回路26は、第1選択回路21の出力するユーザパラメータタイプ指定信号UPTと、μプログラムメモリ22が出力するユーザパラメータタイプコードUPTCとが入力され、信号処理のステップ周期毎に、UPTCとUPTに基づく選択信号(第1選択信号P/U1又は第2選択信号P/U2)を後段のセレクタ27,28に出力する。係数データセレクタ27に対する選択信号を「第1選択信号P/U1」、アドレスデータセレクタ28に対する選択信号を第2選択信号P/U2とする。
【0039】
第1選択信号P/U1、及び第2選択信号P/U2は、それぞれ、ハイレベル又はローレベルのいずれかの値をとる2値の信号である。第2選択回路26は、UPTCがUPTと同じタイプの係数タイプコードで一致したステップで、“H”レベルの第1選択信号P/U1を係数データセレクタ27に出力する。また、第2選択回路26は、UPTCがUPTと同じタイプのアドレスタイプコードで一致したステップで、“H”レベルの第2選択信号P/U2を、アドレスデータセレクタ28に出力する。それ以外の場合は、第1選択信号P/U1及び第2選択信号は、それぞれ“L”レベルとなる。
【0040】
係数データセレクタ27は、信号処理のステップ周期毎に、第2選択回路26から供給された第1選択信号P/U1が“H”レベルのとき(UPTCがUPTと同じタイプの係数タイプコードで一致したとき)、変換テーブルメモリ25から出力されたユーザ係数データUCを選択し、第2選択回路26から供給された第1選択信号P/U1が“L”レベルの場合には、係数メモリ23から出力されたプリセット係数データPCを選択する。係数データセレクタ27によって選択されたプリセット係数データPC及びユーザ係数データUCのいずれか一方は、乗算部47の乗算に用いる係数データCDとして、第4セレクタ45に出力される。すなわち、第2選択回路26及び係数データセレクタ27は、タイプデータ(EFTにより指定されたエフェクトタイプに応じたUPT)と、μプログラムメモリ22から出力されるUPTCに基づいて、各ステップ毎に、変換テーブルメモリ25及び係数メモリ23いずれか一方の出力するパラメータを選択するパラメータ選択部を構成している。
【0041】
アドレスデータセレクタ28は、信号処理のステップ周期毎に、第2選択回路26から供給された第2選択信号P/U2が“H”レベルの場合(UPTCがUPTと同じタイプのアドレスタイプコードで一致したとき)、変換テーブルメモリ25から出力されたユーザアドレスデータUAを選択し、第2選択回路26から供給された第2選択信号P/U2が“L”レベルの場合、アドレスメモリ24から出力されたプリセットアドレスデータPAを選択する。アドレスデータセレクタ28によって選択されたプリセットアドレスデータPA及びユーザアドレスデータUAのいずれか一方は、遅延メモリ50をアクセスするメモリアドレスデータMADを生成するために用いるアドレスデータADとして、加算器53に出力される。すなわち、第2選択回路26及びアドレスデータセレクタ28は、タイプデータ(EFTにより指定されたエフェクトタイプに応じたUPT)と、μプログラムメモリ22から出力されるUPTCに基づいて、各ステップ毎に、変換テーブルメモリ25及びアドレスメモリ24いずれか一方の出力するパラメータを選択するパラメータ選択部を構成している。
【0042】
UPカウンタ29は、第2選択回路26の第1選択信号P/U1の出力ライン及び第2選択信号P/U2の出力ラインに接続されており、各サンプリング周期毎にリセットされ、且つ、第2選択回路26から“H”レベルの第1選択信号P/U1又は第2選択信号P/U2が出力される毎に1ずつ歩進するカウント値UPCを生成して、該生成されたカウント値UPCを変換テーブルメモリ25に出力する。すなわち、UPカウンタ29は、UPTとUPTCが一致するステップの数、言い換えれば、UPTCにより「パラメータの置換え」が指示された回数をカウントする。
【0043】
操作値レジスタ30は、信号処理のステップ周期毎にμプログラムメモリ22から出力されたμコードに基づき、後述するDSP1の演算部(TempRAM43など)を経由して供給されたUP調整操作子2の操作値データSDを保持し、該操作値データSDをレンジ制御部31に供給する。すなわち、操作値レジスタ30は、DSP1内において、UP調整操作子2の操作位置に応じた操作値データSD(操作データ)を受け付ける操作データ受付部に相当する。
また、操作値レジスタ30は、第2選択回路26の第2選択信号P/U2の出力ラインに接続され、第2選択信号P/U2が入力されている。これは、UP調整操作子2の操作に応じてユーザアドレスデータUAの値を変更するタイミングを、後述するCHG信号とACK信号により制御するための構成である。
【0044】
レンジ制御部31は、ユーザが指定したエフェクトタイプに応じたユーザパラメータレンジ制御信号UPRと、UP調整操作子2の操作値データSDとが入力される。UP調整操作子2から出力される操作値データSDの可変範囲(レンジ)は、UP調整操作子2の可動範囲に対応したものであるから、これをレンジ制御部31によりエフェクトタイプに応じたパラメータの可変範囲(レンジ)に変換する。レンジ制御部31は、入力された操作値データSDをUPRが示すエフェクトタイプに応じたパラメータの可変範囲に応じた値にレンジ制御して、該レンジ制御した操作値データXDを変換テーブルメモリ25へ出力する。すなわち、レンジ制御部31は、操作子の操作に応じてユーザパラメータを出力するユーザパラメータ出力部を構成している。
【0045】
《信号処理の演算部の構成》
DSP1の演算部(点線で示すブロック)の構成は、概ね従来と同様である。DSP1の演算部の各部は、信号処理のステップ周期毎に、μプログラムメモリ22から出力されたμコードに含まれる制御信号に基づき制御される。以下、DSP1の各部(i)に供給される制御信号を、「制御信号(i)」と表す。なお、「i」は該各部に付与された符号である。
第1セレクタ40は、制御信号(40)に応じて、ADC7からS/P変換部56を介して入力された2chの入力データ(波形データ、及びUP調整操作子2の操作値データ)と、バス49上のデータとのいずれかを選択して、選択されたデータを入出力RAM(I/O RAM)41に出力する。入出力RAM41は、制御信号(41)に応じて、第1セレクタ40からのデータを、制御信号(41)の示すアドレスに記憶したり、制御信号(41)の示すアドレスからデータを読み出して出力したりする。入出力RAM41には、ADC7からS/P変換部56を介して入力された2ch分の入力データや、P/S変換部57を化しいてDCA12へ出力すべき波形データなども格納される。テンポラリRAM(TempRAM)42は、制御信号(42)に応じて、バス49の出力データや遅延メモリ50からの読み出しデータMRDを、制御信号(42)の示すアドレスに記憶したり、制御信号(42)の示すアドレスからデータを読み出して出力する。テンポラリRAM42には、信号処理途中のデータの他、レジスタ30に渡すべき操作値データなどが格納される。
【0046】
第2セレクタ43は、入出力RAM41の出力、テンポラリRAM42、及びバス49の出力が、それぞれ入力され、制御信号(43)に応じて、それら3つの入力データのいずれか1つを選択して加算部46の一方の入力に供給する。第3セレクタ44は、入出力RAM41の出力、およびテンポラリRAM42の出力がそれぞれ入力され、制御信号(44)に応じて、そのいずれかを選択して乗算部47の一方の入力に供給する。第4セレクタ45は、係数データセレクタ27から出力される係数データCDと、バス49の出力とがそれぞれ入力され、制御信号(45)に応じて、そのいずれかを選択して乗算部47の一方の入力に供給する。
【0047】
加算部46は、第2セレクタ43の出力と、乗算部47の出力とを加算してシフタ48に出力する。制御信号(46)に応じてその出力を強制的にゼロとすることも可能である。乗算部47は、第3セレクタ44の出力と、第4セレクタ45の出力とを高速に乗算する。シフタ48は、制御信号(48)が示すビット数だけ加算部46の出力をビットシフトしてバス49へ出力する。
【0048】
遅延メモリ50は、デジタル波形データを遅延するために用いるメモリであって、DSP1の内部に設けられた内部メモリにより構成される。遅延メモリ50は、制御信号(50)に基づき、メモリアドレスデータMADを用いてアクセスされ、制御信号の内容に応じて、遅延メモリ50のアドレスMADから波形データ(メモリ読み出しデータ)MRDを読み出すか、又は、遅延メモリ50のアドレスMADに波形データ(メモリ書き込みデータ)MWDを書き込む。
【0049】
書き込みデータレジスタ51は、制御信号(51)に基づき、バス49上の波形データ(メモリ書き込みデータ)MWDを取り込んで、該メモリ書き込みデータMWDを遅延メモリ50に出力する。また、読み出しデータレジスタ52は、制御信号(52)に基づき、遅延メモリ50から読み出された波形データ(メモリ読み出しデータ)MRDを格納し、該メモリ読み出しデータRD波形データを、テンポラリRAM42に出力する。
【0050】
《遅延メモリのアドレス生成》
加算器53は、各ステップ毎に、アドレスデータセレクタ28から出力されたアドレスデータADと、サンプルカウンタ54から出力されたカウント値SCと、RADレジスタ55から出力されたレジスタアドレスデータRADを加算して、遅延メモリ50をアクセスするために用いるメモリアドレスデータMADを生成する。メモリアドレスMADは、遅延メモリ50の所定の上位アドレスを指示する上位ビットデータを切り捨てることで、メモリアドレスMADの指示するアドレスを遅延メモリ50の先頭アドレスに戻すように制御されている。この上位ビット切り捨て制御により、遅延メモリ50をリングメモリとして使用できる。
【0051】
サンプルカウンタ54は、サンプリング周期毎に1つずつダウンカウントして、カウント値SCを出力するカウンタである。加算器53において、アドレスデータADに、サンプルカウンタ54のカウント値SCを加算することで、各ステップのメモリアドレスデータMADを、1サンプリング周期毎に1アドレス分ずつシフトすることができる。
【0052】
RADレジスタ55は、制御信号(55)に基づき、所定のステップでバス49に出力されたデータをレジスタアドレスデータRADとして取り込み、該レジスタアドレスデータRADを加算器53に出力する。レジスタアドレスデータRADは、例えばコーラスレジスタアドレス効果やフランジャ効果などモジュレーション系のエフェクトタイプにおいて、遅延時間を変調するために、加算器53から出力されるメモリアドレスデータMADを変換するためのデータである。加算器53において、アドレスデータADにレジスタアドレスデータRADを加算することで、メモリアドレスデータMADにより読み出される遅延音の遅延時間を、レジスタアドレスデータRADに応じて周期的に変調することができる。
【0053】
シリアルパラレル変換部(S/P変換部)56は、ADC7からサンプリング周期毎に入力される2チャンネルのシリアル信号(UP調整操作子2の操作値データSDと波形データ)をパラレル信号に変換して、第1セレクタ40に出力する。第1セレクタ40に出力された2チャンネル分のデータは、所定のステップの制御信号(40)及び制御信号(41)に基づき、入出力RAM41の入力された波形データ用のアドレスと、入力された操作値データ用のアドレスに記憶される。また、パラレルシリアル変換部(P/S変換部)57には、所定ステップの制御信号41に基づいて入出力RAM41の出力すべき波形データ用のアドレスから読み出された、2チャンネルの波形データが入力される。P/S変換部57は、該入力した2チャンネルの波形データ(パラレル信号)を、2チャンネルのシリアル信号に変換して、サンプリング周期毎にDAC12へ出力する。
【0054】
《登載されるエフェクトタイプ》
図2は、上記構成からなるデジタルエフェクタに登載された複数種類のエフェクトタイプを説明する図である。図2において、「TYPE」欄には、デジタルエフェクタに登載された複数種類のエフェクトタイプのタイプ名が示されている。これら複数種類のエフェクトタイプのいずれか1つが、エフェクトタイプ選択コードEFTに基づいて選択される。「TYPE」の右欄は「PRG.」欄であり、対応するエフェクトタイプで使用するμプログラムが示されている。また、「PRG.」欄の右欄は「RANGE」欄であり、ここには、対応するエフェクトタイプで制御するパラメータのレンジ(可変範囲:パラメータが何個の値をとれるか)が示されている。図においては、便宜上、エフェクトタイプ毎の「RANGE」欄に、異なるアルファベット文字を示すことで、エフェクトタイプ毎にパラメータの値のレンジが異なる趣旨を表した。また、図示はしないが、ユーザパラメータの制御対象となるパラメータの種類(係数かアドレスか)や値(変換カーブ)もエフェクトタイプ毎に設定される。
【0055】
例えば、タイプ名「Reverb1」、「Reverb2」及び「Reverb3」はそれぞれ異なるタイプのリバーブ(残響)効果であって、これらのエフェクトタイプでは共通のリバーブ用μプログラム「Rev.(Reverb)」を用いることが図に示されている。「Reverb1」、「Reverb2」及び「Reverb3」は、「RANGE」欄に示す通り、それぞれ、パラメータのレンジが異なっている。また、例えば、タイプ名「Ehco1」及び「Ehco2」はそれぞれ異なるタイプのエコー効果であって、それぞれ、「RANGE」欄に示す通りパラメータのレンジが異なっている。これらエコー系のエフェクトタイプでもリバーブ用μプログラム「Rev.」を用いる。
【0056】
《メモリ構成》
図3は、図1のμプログラムメモリ22、係数メモリ23、アドレスメモリ24、及び変換テーブルメモリ25のそれぞれに記憶されている複数のデータセットの構成を説明する図である。各メモリ22〜25に記憶された複数のデータセットは、「C処理用」のデータセットと、「EF処理用」のデータセットとに大別される。
「EF処理」とは、1サンプリング周期の期間で実行されるプログラムの信号処理のうちの、エフェクトタイプ選択コードEFTに基づいて処理内容が変換する信号処理(効果付与処理)を指す。また、「C処理」とは、例えば波形データの入出力制御、入出力波形データに対する入出力フィルタ処理、或いはレベル制御処理等の、エフェクトタイプ選択コードEFTの値によらない「コンスタントな処理」である。DSP1は、1サンプリング周期毎に、所定のNcステップ分の「C処理」と、所定のNefステップ分の「EF処理」とを時分割で実行する。すなわち、NcとNefの和が所定複数ステップ(512ステップ)となる。DSP1が主に行うべき処理は「EF処理」であるので、NcはNefよりも少ないステップ数とされる。
【0057】
μプログラムメモリ22には、1つのC処理用のμプログラムと、複数のEF処理用のμプログラムが記憶されている。C処理用μプログラムは、所定のNc個のアドレスに格納されたNcステップ分のマイクロコード(μコード)により構成されている。また、各EF処理用μプログラムは、所定のNef個のアドレスに格納されたNefステップ分のμコードにより構成される。EF処理用μプログラムμコードには、ユーザパラメータタイプコードUPTCと遅延メモリ50に対するアクセスコードとが含まれるが、C処理用μプログラムにはそれらコードが含まれない。
【0058】
C処理用μプログラムは、全てのエフェクトタイプで共通に使用される。また、EF処理用μプログラムについては、複数のEF処理用μプログラムの中から第1選択回路21から供給されたPsel信号に基づき、現在選択されているエフェクトタイプに対応する1つのEF処理用μプログラムが選択される。複数のエフェクトタイプで同じEF処理用μプログラムを共用している場合があるので、μプログラムメモリ22に記憶されるEF処理用μプログラムの数は、当該デジタルエフェクタに登載されたエフェクトタイプの総数よりも少ない。
【0059】
係数メモリ23には、1つのC処理用の係数セットと、選択可能なエフェクトタイプの1つずつに対応する複数セットのEF処理用の係数セットとが記憶されている。C処理用係数セットは、所定のNc個のアドレスに格納されたNcステップ分のプリセット係数データからなる。また、各EF処理用係数セットは、所定のNef個のアドレスに格納されたNefステップ分のプリセット係数データからなる。C処理用の係数セットは、全てのエフェクトタイプで共通に使用される。また、EF処理用係数セットについては、複数のEF処理用係数セットの中から、第1選択回路21から供給されたAsel信号に基づき、現在選択されているエフェクトタイプに対応する1つのEF処理用係数セットが選択される。EF処理用係数セットは、当該デジタルエフェクトに登載された各エフェクトタイプ毎に1セットずつ用意されている。
【0060】
アドレスメモリ24には、複数のEF処理用アドレスセットのみが記憶されている。EF処理用アドレスセットは、基本的には、デジタルエフェクトに登載された各エフェクトタイプ毎に1セットずつ用意されるものであるが、遅延メモリ50を用いた遅延処理を行わないエフェクトタイプ(EF処理用μプログラムのμコードにアクセスコードを含まないもの)については、アドレスセットが不要である。複数のEF処理用アドレスセットの中から、第1選択回路21から供給されたAsel信号に基づき、現在選択されているエフェクトタイプに応じた1つのEF処理用アドレスセットが選択される。なお、遅延メモリ50に対するアクセスはEF処理でのみ行われるので、C処理用のアドレスセットは不要である。
【0061】
各アドレスセットは、当該アドレスセットに対応するエフェクトタイプのEF処理において、遅延メモリ50をアクセスするステップ数分のプリセットアドレスデータにより構成される。「遅延メモリ50をアクセスするステップ数」とは、当該アドレスセットに対応するエフェクトタイプで用いるEF処理用μプログラムの各ステップ毎のμコードに、「遅延メモリ50に対するアクセスコード」(「データ読み出し命令」、又は「データ書き込み命令」)が入っているステップの数である(後述の図4(a)参照)。従って、アドレスセットに含まれるアドレスデータの数は、EF処理用μプログラムのステップ数(Nefステップ)よりも少ない。
【0062】
変換テーブルメモリ25には、選択可能な複数エフェクトタイプの1つずつに対応する複数セットのEF処理用の変換テーブルセットが記憶されている。変換テーブルセットは、デジタルエフェクトに登載された各エフェクトタイプ毎に1セットずつ用意される。複数の変換テーブルセットの中から、第1選択回路から出力されたTsel信号に基づき、現在選択されているエフェクトタイプに対応する1つの変換テーブルセットが選択される。なお、操作値データXDを用いたユーザパラメータの制御はEF処理でのみ行われるので、C処理用の変換テーブルセットは不要である。
【0063】
各変換テーブルセットは、当該エフェクトタイプのEF処理の複数ステップ(Nefステップ)のうちで、ユーザパラメータ(ユーザ係数データUC又はユーザアドレスデータUA)を使用するステップ数に対応する数の複数の変換テーブルにより構成される。また、各変換テーブルセット中の変換テーブルのデータサイズは、その変換テーブルセットに対応するエフェクトタイプに応じた操作値データXDのレンジの広さに対応している。操作値データXDのレンジが広いほど、そのエフェクトタイプに対応する変換テーブルセット中の各変換テーブルのサイズは大きくなり、操作値データXDのレンジが狭いほど、そのエフェクトタイプに対応する変換テーブルセット中の各変換テーブルのサイズは小さくなる。従って、各変換テーブルセットに含まれる変換テーブルの数、及びは、変換テーブルのデータサイズは、エフェクトタイプ毎に異なる。
【0064】
各変換テーブルは、それぞれ、UP調整操作子2の操作値データXDをユーザパラメータに変換するもので、UPカウンタ29の生成するカウント値UPCに基づき、EF処理の複数ステップのうちのユーザパラメータを用いるステップ毎に1枚ずつ切り替えて使用される。ユーザパラメータを用いるステップ毎に異なる変換特性の変換テーブルを用いることで、該ユーザパラメータを用いるステップのパラメータ毎に、UP調整操作子2の操作値データXDを異なる値に制御することができるようになる。
【0065】
《EF処理用マイクロプログラム》
図4(a)は、μプログラムメモリ22に記憶された複数のEF処理用μプログラムのうちの1つのEF処理用μプログラムの記述例を示す。図4(a)に示す通り、1つのEF処理用μプログラムは、第0アドレス〜第Nefアドレスの合計Nef個の各アドレスに1つずつμコードが記憶されており、1つのアドレスに格納されたμコードが信号処理のステップ周期毎に出力される。各ステップのμコードには、図1において点線で描いた各ブロック(符号40〜52で示す演算部、符号31で示すレジスタ)と、第2選択回路26、及び、加算器53の各部に対する制御信号が含まれるが、図4(a)では、図示の便宜上、その一部だけを示した。
【0066】
EF処理用μプログラム中のμコードのうち制御信号「UPTC」は、第2選択回路26に出力されるユーザパラメータタイプコードUPTCであって、8通りのタイプを指定しうる3ビットの2進値により構成される。第0アドレス〜第Nefアドレスの各アドレス毎にUPTCの値が設定される。例えば、図4(a)において、第0アドレスの「UPTC」の値が「111」であるのに対して、第2アドレスの「UPTC」の値は「010」であり、各アドレス毎に、それぞれ異なるパラメータのタイプが設定されている。
【0067】
また、μコードのうち制御信号(50)「遅延RAM」は、遅延メモリ50に対するアクセスコードである。遅延メモリ50に対するアクセスコードは、遅延メモリ50からのデータ読み出し命令、又は遅延メモリ50へのデータ書き込み命令、又は、アクセス無しを3通りの命令を示す2ビットの2進値により構成される。EF処理用μプログラムのNefステップのうちで、アクセスコードとしてデータ読み出し命令、又はデータ書き込み命令が入っているステップが、「遅延メモリ50をアクセスするステップ」となる。例えば、制御信号「遅延RAM」の値が「01」で読み出し命令を示し、「10」で書き込み命令を示すものとすると、図4(a)において、第1アドレス、第3アドレス等が「遅延メモリ50をアクセスするステップ」であって、「遅延メモリ50にアクセスするステップ」がNefステップのうちの一部だけであることが図に示されている。
【0068】
《UPTCとUPT》
図4(b)は、μコードに含まれるユーザパラメータタイプコードUPTCユーザパラメータタイプ指定信号UPTと、第1選択回路21の出力するユーザパラメータタイプ指定信号UPTの構成例を説明する図である。UPTCとUPTとは、前述のとおり、パラメータ(係数データ又はアドレスデータ)の「タイプ」を指示するコードである。(b)に示す8通りのUPT及びUPTCには、それぞれ「0」〜「7」の番号が付与されている。
【0069】
(b)において、UPTCの「0」、「1」及び「2」は、それぞれ異なる係数タイプコード(タイプ1係数〜タイプ3係数)に割当てられている。また、UPTCの「4」、「5」及び「6」は、それぞれ異なるアドレスタイプコード(タイプ1アドレス〜タイプ3アドレス)に割当てられている。また、UPTCの「7」はNOP命令(タイプ指定処理なし)が割当てられており、また、UPTCの「3」はコードとして使用しない(Don’t use)。
【0070】
また、UPTの「0」、「1」及び「2」は、UPTCと同様に、それぞれ異なる係数タイプコード(タイプ1係数〜タイプ3係数)に割当てられており、また、ユーザパラメータタイプ指定信号UPTの「4」、「5」及び「6」は、UPTCと同様に、それぞれ異なるアドレスタイプコード(タイプ1アドレス〜タイプ3アドレス)に割当てられている。また、UPTの「3」はUP不使用(UPON=L)に割当てられており、また、UPTの「7」はコードとして使用しない(Don’t use)。
【0071】
図4(b)において、同じ番号「0」〜「7」が付与されたUPTとUPTCとが、互いに対応する(一致する)コードである。UP機能を使用する(UPON=H)場合には、EF選択操作子3によって現在選択されているエフェクトタイプに応じたUPTが出力されるので、当該エフェクトタイプに応じたEF処理用μプログラムの複数ステップのうちで、該UPTに対応する(一致する)UPTCが設定されたステップが、EF処理の複数ステップのうちのユーザパラメータを用いるステップとなる。すなわち、現在選択されているエフェクトタイプにおいて、EF処理の複数ステップのうちのいずれのステップがユーザパラメータを用いるステップに該当するかは、EF処理用μプログラムのステップ毎に設定されたUPTCの値により特定される。この意味で、現在選択されているエフェクトタイプに応じたUPTと一致するUPTCは、「パラメータの置換え」を示す「置換コード」して機能する。
【0072】
一方、UP機能を不使用のとき(UPON=L)の場合には、UPTの値として「3」が出力されるが、これに対応するUPTCの「3」はコードとして使用されないので、UPTとUPTCが一致することはない。したがって、結果的に、係数データセレクタ27及びアドレスデータセレクタ28によって常にプリセットパラメータが選択され、UP機能が使用されないことになる。また、UPTCの「7」はNOP命令に割当てられているので、その値が設定されたμコードのステップでは、いずれのエフェクトタイプでも係数データセレクタ27及びアドレスデータセレクタ28によって常にプリセットパラメータが選択されることになる。
【0073】
《DSP1が実行する信号処理の内容》
図5は、上記構成からなるDSP1が、サンプリング周期毎に実行する信号処理の内容を説明するブロック図である。図5において、点線で囲まれた各ブロックの処理は、信号処理のステップ周期毎にμプログラムメモリ22から出力されるμコードに含まれる制御信号に基づき、DSP1の演算部(図1において符号40〜52で示す各部)が実行する処理である。
また、図5においてハッチングを施した各ブロックは、信号処理のうちのEF処理用μプログラムに基づくEF処理に関するブロックである。これらEF処理に関する各ブロックにおけるデータや信号処理の内容は、現在、エフェクトタイプ選択コードEFTに基づいて選択されているエフェクトタイプに応じて異なる。それ以外の白抜きで示す各ブロックはC処理に関するブロックである。これらC処理に関する各ブロックにおける信号処理の内容は全てのエフェクトタイプで共通である。
【0074】
ADC7からは、入力されたアナログ波形とUP調整操作子2の操作値データSDとの2チャンネルのアナログ信号を、それぞれ所定のサンプリング周波数でデジタル信号に変換した2チャンネルのデジタル信号が、サンプリング周期毎にDSP1に出力される。なお、2チャンネル(Lch及びRch)デジタル信号のうち、Rchに波形データが割当てられており、Lchに操作値データSDが割当てられているものとする。
【0075】
《入力側のC処理》
Rch入力部60は、S/P変換部56からのRチャンネルのデータを入出力RAM41に取り込む処理を行うことにより、ADC7からの波形データを入力する。HPF処理及びレベル制御部62は、Rch入力部60により入力された波形データをハイパスフィルタ処理し、更に、後述するレベル値生成部77で生成したレベル値で該波形データのレベルを制御して、処理された波形データを出力する。Din書込部63は、該処理された波形データを、入出y録RAM41のEF処理へ入力する波形データ用のアドレスに書き込むことにより、該波形データを、エフェクト処理部(EF処理部)64に供給する。一方、Lch入力部61は、S/P変換部56からのLチャンネルのデータを入出力RAM41に取り込む処理を行うことにより、ADC7からの操作値データSDを入力する。LPF処理部65は、Lch入力部61により入力された操作値データSDをローパスフィルタ処理し、処理された操作値データSDをテンポラリRAM42の処理済み操作値データ用のアドレスに書き込む。SD出力部66は、テンポラリRAM42から該書き込まれた操作値データSDを読み出し、操作値レジスタ30に記憶させることにより、前記ローパスフィルタ処理された操作値データSDをレンジ制御部67に出力する処理を行う。
【0076】
《EF処理》
EF処理部64は、Din書込部63により入出力RAM41に書き込まれた前記波形データ(モノラル)に対して、現在、エフェクトタイプ選択コードEFTに基づいて選択されているエフェクトタイプに応じたEF処理用μプログラムに基づく効果付与処理(EF処理)を行い、EF処理されたステレオ2チャンネル(Lチャンネル及びRチャンネル)の波形データを得る。エフェクトタイプ別のEF処理の具体例は後述する。EF処理部64が実行するEF処理の各ステップで用いるパラメータは、係数供給部71からステップ毎に供給される係数データCD、及びアドレス供給部72からステップ毎に供給されるアドレスデータADにより制御される。そして、EF処理された2チャンネル波形データを、入出力RAM41のEF処理から出力する波形データ用のアドレスに書き込む。すなわち、EF処理部64は、マイクロコード出力部(μプログラムメモリ22)から出力されるマイクロコードと、パラメータ選択部(第2選択回路26、係数データセレクタ27及びアドレスデータセレクタ28)により選択されたパラメータとに基づいて、入力される音響信号に信号処理を施し、該信号処理された音響信号を出力する。
【0077】
《出力側のC処理》
Dout読出部73は、入出力RAM41から、前記EF処理された2チャンネルの波形データをチャンネル毎に読み出して、レベル制御部74に出力する。レベル制御部74は、Dout読出部73により読み出されたチャンネル毎の波形データのレベルを、後述するレベル値生成部77で生成したレベル値に基づき制御し、該レベル制御された2チャンネルの波形データを入出力RAM41のDAC12へ出力すべき波形データ用のアドレスに書き込む。Lチャンネル出力部75及びRチャンネル出力部76は、入出力RAM41から、該レベル制御された2チャンネルの波形データを読み出し、P/S変換部57に書き込むことにより、該2チャンネルの波形データを、DAC12へ出力する。
【0078】
また、C処理のブロックに含まれるレベル値生成部77(図10)は、HPF処理及びレベル制御部62、並びにレベル制御部74のレベル制御(詳細については、図8、及び図9を参照しつつ後述する)に用いるレベル値を生成する。なお、レベル値生成部77は、次回のサンプリング周期で実行するレベル制御に用いるレベル値を生成するものである。言い換えれば、HPF処理及びレベル制御部62、並びにレベル制御部74は、直前のサンプリング周期でレベル値生成部77が生成したレベル値を用いてレベル制御を行う。
【0079】
《パラメータの供給》
レンジ制御部67、変換テーブル部68、係数セット部69及びアドレスセット部70は、EF処理に用いるパラメータを出力する処理を行うブロックである。これら各ブロックの処理は、μプログラムによる制御を受けない。図5では、これら各ブロックを点線の囲み外に描くことで、μプログラムによる制御を受けない趣旨が表現されている。
【0080】
レンジ制御部67は、図1のレンジ制御部31に対応しており、SD出力部66から出力された操作値データSDの可変範囲(レンジ)を、現在選択されているエフェクトタイプに応じたパラメータ可変範囲(レンジ)に制御して、レンジ制御した操作値データXDを変換テーブル部68に出力する。
【0081】
《変換テーブルの切り替え》
変換テーブル部68は、図1の変換テーブルメモリ25に対応している。変換テーブル部68において、現在選択中のエフェクトタイプに応じて複数変換テーブルセットのうちの1つの変換テーブルセットが選択され、UPカウンタ29により生成されたカウント値UPCに基づき、変換テーブルセット中の1つの変換テーブルが選択される。UPカウンタ29のカウント値UPCは、上述した通り、サンプリング周期毎にリセットされ、且つ、UPTCによりパラメータの置換えが指示されたステップ毎(UPTとUPTCが一致したステップであって、ユーザパラメータを使用するステップ毎)に1ずつ歩進するものであるから、変換テーブル部68においては、現在選択中のエフェクトタイプに応じた変換テーブルセット中の変換テーブルが、サンプリング周期の先頭から順に、UPTCによりパラメータの置換えが指示されたステップ毎(ユーザパラメータを使用するステップ毎)に、1つずつ切り替わる。そして、次のサンプリング周期の先頭で、変換テーブル部68において選択される変換テーブルは1枚目に戻り、前回と同様に、UPTとUPTCが一致したステップ毎に、1つずつ切り替わる。
【0082】
変換テーブル部68の変換テーブルが上記の通りUPカウンタ29のカウント値UPCに基づき切り替わることで、UP調整操作子2の操作値データXDは、エフェクトタイプに応じた特定の複数のステップ毎に、異なる変換特性の変換テーブルによって変換された相互に異なる値となる。
【0083】
《プリセットパラメータの出力》
また、係数セット部69は、図1の係数メモリ23に対応しており、信号処理のステップ周期毎に、該現在選択中のエフェクトタイプに応じた係数セットの各アドレスからプリセット係数データPCを出力する。また、アドレスセット部70は、図1のアドレスメモリ24において現在選択中のエフェクトタイプに応じたアドレスデータセットに対応しており、号処理のステップ周期毎に、該アドレスデータセットの各アドレスからプリセットアドレスデータPAを出力する。なお、プリセットアドレスデータPAは、遅延メモリ50をアクセスするステップにだけ必要なデータであるから、EF処理の全てのステップで出力されるわけではない。
【0084】
《特定ステップのユーザパラメータの制御》
係数供給部71及びアドレス供給部72は、図1の第2選択回路26、係数データセレクタ27及びアドレスデータセレクタ28の動作に対応している。すなわち、係数供給部71は、信号処理のステップ周期毎にμプログラムメモリ22から出力されるUPTCと、現在選択されているエフェクトタイプに応じたUPTが同じ係数タイプコード(図4(b)のタイプ1係数〜タイプ3係数のいずれか)で一致したステップで変換テーブル部68から出力されたユーザ係数データUCを選択し、それ以外のステップでは、係数セット部69から出力されたプリセット係数データPCを選択して、選択したデータをそのステップの係数データCDとしてEF処理部64に出力する。また、アドレス供給部72は、信号処理のステップ周期毎にμプログラムメモリ22から出力されるUPTCと、現在選択されているエフェクトタイプに応じたUPTが同じアドレスタイプコード(図4(b)のタイプ1アドレス〜タイプ3アドレスのいずれか)で一致したステップで変換テーブル部68から出力されたユーザアドレスデータUAを選択し、それ以外のステップではアドレスセット部70から出力されたプリセットアドレスデータPAを選択して、選択したデータをそのステップのアドレスデータADとしてEF処理部64に出力する。
【0085】
したがって、UP機能を使用する場合、EF処理部64は、現在選択されているエフェクトタイプに応じた特定のステップ(UPTとUPTCが一致したステップ)のパラメータを、UP調整操作子2の操作値データXDに応じたユーザパラメータ(ユーザ係数データUC又はユーザアドレスデータUA)により制御することができるようになる。EF処理用μプログラムの各ステップ毎のUPTCと現在選択されているエフェクトタイプに応じたUPTとの組み合わせによりUPTとUPTCが一致するステップ、つまりユーザパラメータを用いるステップが決定するので、複数のエフェクトタイプで同じEF処理用μプログラムを共用している場合であっても、エフェクトタイプ毎に特定のステップのパラメータをユーザパラメータとすることができるようになる。
【0086】
《動作タイミング》
DSP1が図5に示す信号処理を実行するタイミングについて、図6のタイミング図を参照して説明する。図6において、横軸は時間である。図6(a)の動作クロックΦoは、サンプリング周期毎に、DSP1が実行するμプログラム処理の複数ステップ(512ステップ)分のカウント値をカウントして、そのステップ毎の信号処理タイミグを示す。(b)は、ワードクロック信号(WC信号)であって、これはサプリング周期ごとのクロック信号である。また、(c)は、1サンプリング周期におけるC処理とE処理の切り替えタイミングを制御するC/E信号であって、1サンプリング周期の前半のNcステップ分の期間(WC信号の立ち上がりエッジからNcステップ分の期間)で「C」(ハイレベル)のパルスが発生し、その後のNcステップ分の期間で「E」(ローレベル)となる。
【0087】
(d)は、サンプリング周期毎にADC7からDSP1にシリアル伝送される2チャンネルのシリアル信号の入力タイミングを示す。(d)に示す通り、WC信号の立ち上がりエッジがLchのデータの先頭を示し、立ち下がりエッジがRchのデータの先頭を示しており、WC信号の半周期以内に1チャンネル分のデータのサンプルがDSP1のS/P変換部56に入力されるようになっている。
【0088】
(e)は、サンプリング周期毎にDSP1が実行するμプログラム処理のうちC処理とEF処理の切り替えタイミングを示す。C/E信号の立ち上がりタイミング(C側に立ち上がるタイミグ)がC処理の開始を示しており、立ち下がりタイミグがEF処理の開始を示す。すなわち、C/E信号のC出力の期間は、Ncステップ分のC処理が実行され、C/E信号のE出力の期間は、Nfeステップ分のEF処理が実行される。
【0089】
(f)は、サンプリング周期毎にDSP1からDCA12にシリアル伝送される2チャンネルのシリアル信号の出力タイミングを示す。シリアル信号のLchは、図5のEF処理部64からレベル制御部74を介して出力された2チャンネルの波形データのLチャンネルに割当てられており、Rchはステレオ2チャンネルの波形データのRチャンネルに割当てられている。(f)に示す通り、DSP1のP/S変換部57からは、WC信号の半周期以内にステレオ信号の1チャンネル分のデータが出力されるようになっている。図の例では、WC信号の立ち下がりタイミングがLchのデータの末尾を示し、立ち上がりのタイミングがRchのデータの末尾を示している。
【0090】
(d)のシリアル信号の入力を示すレーンにおいて、図面上で左端に示す第1番目のサンプリング周期で入力されるデータが太線で示されている。(e)のμプログラム処理を示すレーンにおいて、第2番目のサンプリング周期で実行されるC処理、及びEF処理が太線で示されており、当該サンプリング周期の先頭に下向き矢印が描かれている。これは、当該第2番目のサンプリング周期のμプログラム処理において、直前の第1番目のサンプリング周期で入力されたデータのサンプルを信号処理することを表している。また、(f)のシリアル信号の入力を示すレーンにおいて、第3番目のサンプリング周期で出力されるデータが太線で示されており、当該サンプリング周期の先頭に下向き矢印が描かれている。これは、当該第3番目のサンプリング周期において、直前の第2番目のサンプリング周期でμプログラム処理された波形データがDCA12へ出力されることを示している。
【0091】
サンプリング周期毎にDSP1が実行するμプログラム処理の手順の一例を説明する。まず、C処理では、直前のサンプリング周期にEF処理された2チャンネルの波形データを、Dout読出部73により読み出し、レベル制御部74によりレベル制御して、Lチャンネル出力部75及びRチャンネル出力部76により、該レベル制御された2チャンネルの波形データをP/S変換部57(DAC12)へ出力する。この出力処理を行ってから、当該サンプリング周期で信号処理すべき波形データ(すなわち、直前のサンプリング周期にADC7からシリアル入力されたデータ)をRch入力部60によりS/P変換部56から取り込んで、HPF処理及びレベル制御部62によりハイパスフィルタ処理やレベル制御を行って、Din書込部63によりEF処理部64へ書き込み、更に、次のサンプリング周期で使用するレベル値を生成するレベル値生成処理をレベル値生成77により行う。ここまでが、当該サンプリング周期の前半のNcステップ分の期間で、C処理用μプログラムのNcステップのμコードを実行することにより行われるC処理である。続いて、EF処理用μプログラムのNefステップのμコードを実行することにより、直前のサンプリング周期にADC7から入力されたデータに対して該Nefステップのμコードに基づいてNefステップの信号処理を施す。
【0092】
《EF処理の具体例》
図7(a)〜(c)は、図5のEF処理部64がEF処理用μプログラムに基づき実行するEF処理の内容を、エフェクトタイプ別に示すブロック図である。
図7(a)はリバーブ効果や、エコー効果などに用いるリバーブ用μプログラム(図2の「Rev.」)の処理内容を示すブロック図である。リバーブ効果及びエコー効果は入力された音に残響を付加して出力するエフェクトである。(a)に示すリバーブ、エコー等のEF処理は、入力段のローパスフィルタ(LPF)80と、初期反射音制御部(「Early Ref.」)81と、残響制御部(「Reverb」)82と、2系統の出力チャンネルのそれぞれに対応して設けられた混合部(MIX)83,84からなり、初期反射音と残響音との2種の残響が別々に制御されるよう設計されている。初期反射音制御部81は、LPF80でローパスフィルタ処理された波形データに対して、遅延メモリ50を使った遅延処理を利用して初期反射音を制御する。また、残響制御部82は、初期反射音制御部81の出力に対して遅延メモリ50を使った遅延処理を利用して残響音を制御する。2系統の出力チャンネルごとの混合部83,84は、それぞれ初期反射音制御部81の出力と残響制御部82の出力を混合して出力する。
【0093】
(a)に示すリバーブ用μプログラムは、複数タイプのリバーブ(図2の「リバーブ1」〜「リバーブ3」)や、複数タイプのエコー(図2の「エコー1」、「エコー2」)など、複数のエフェクトタイプで共通に使用される。リバーブ用μプログラムを用いる信号処理では、エフェクトタイプに応じて、UP調整操作子2の操作値データXDにより、係数データCDを制御する場合と、アドレスデータADを制御する場合とがある。すなわち、エフェクトタイプに応じて、変換テーブル部68からユーザ係数データUCを出力するか、ユーザアドレスデータUAを出力するかが異なる。また、リバーブ用μプログラムを用いた信号処理では、エフェクトタイプに応じて、UP調整操作子2の操作値データXDに応じたユーザパラメータ(ユーザ係数データUC又はユーザアドレスデータUA)を用いて初期反射音制御部81を制御する場合と、残響制御部82を制御する場合とがある。すなわち、エフェクトタイプに応じてユーザパラメータによって制御される対象が異なる。
【0094】
図7(b)は、コーラス、フランジャなどにモジュレーション系のエフェクトタイプに用いるモジュレーション用μプログラム(図2の「Mod.」)の処理内容を示すブロック図である。(b)に示すEF処理は、入力段のローパスフィルタ(LPF)85と、遅延部(DELAY)86と、低周波信号を発振するLFO87と、2系統の出力チャンネルのそれぞれに対応して設けられたタップ及び混合部(TAP&MIX)88,89からなる。入力された波形データは、LPF85を通して、遅延部86に入力される。遅延部86は、入力された波形データも所定の遅延時間の遅延を施して、2系統の出力チャンネルのそれぞれに対応して設けられた複数(3つ)のタップからそれぞれ異なる遅延時間で遅延された波形データを出力する。タップ及び混合部88,89は、それぞれ、遅延部86の複数(3つ)のタップから出力されたそれぞれ異なる遅延時間で遅延された波形データを取り出して、LFO87が発振している低周波信号により各タップから出力された波形データの遅延時間を変調し、それら異なる遅延時間の波形データを合算して出力する。
このモジュレーション用μプログラムを使う信号処理では、UP調整操作子2の操作値データXDにより係数データCDを制御する。すなわち、変換テーブル部68はユーザ係数データUCを出力する。そして、UP調整操作子2の操作値データXDに応じたユーザパラメータ(ユーザ係数データUC)によりLFO87を制御する。
【0095】
図7(c)は、ディストーションなど、歪み系のエフェクトタイプに用いるEF処理用μプログラムの処理内容を示すブロック図である。(c)に示すEF処理は、入力段のローパスフィルタ(LPF)90と、非線形制御部(Non−Liner)91と、該非線形制御部91の出力が入力されるローパスフィルタ(LPF)92と、2系統の出力ごとの混合部(MIX)93,94からなる。非線形制御部91は、LPF90でローパスフィルタ処理された波形データを非線形特性で歪ませて、効果付与した波形データをLPF92を通して、2系統の混合部93,94のそれぞれへ出力する。混合部93,94は、LPF92から出力された波形データ(WET信号)と、非線形制御部91に入力前の波形データ(原音)を混合して出力する。
このEF処理用μプログラムを使うエフェクトタイプでは、UP調整操作子2の操作値データXDにより係数データCDを制御する。すなわち、変換テーブル部68はUP調整操作子2の操作値データXDに応じたユーザ係数データUCを出力する。そして、UP調整操作子2の操作値データXDに応じたユーザパラメータ(ユーザ係数データUC)により非線形制御部91を制御する。
【0096】
なお、図7(a)〜(c)に例示したEF処理は、一例であって、デジタルエフェクタには、図に示したもの以外にもエフェクトタイプ別のEF処理がある。また、図7(a)〜(c)を参照して説明したEF処理の構成や、エフェクトタイプ別の制御対象のパラメータ等の詳細も一例に過ぎず、これに限定されるものではない。
【0097】
《エフェクトタイプ切り替え》
EF選択操作子3がユーザによって操作され、エフェクトタイプの切り替えが指示されたとき、DSP1は、WET信号(EF処理された波形)のレベルを一旦ミュートしてから、エフェクトタイプの切り替え処理を行う。図8は、エフェクトタイプを切り替える処理を行うときの各種動作のタイミングを示しており、横軸は時間である。なお、図8では、図6のタイミング図に比べて時間軸を縮小して示している。
【0098】
EF選択操作子3の操作に応じたEFT信号が第1選択回路21に供給されると、第1選択回路21はCHG信号を出力する(図1参照)。CHG信号は、図8(a)に示す通り、ハイレベル(H)及びローレベル(L)の2値の信号である。EF選択操作子3の操作により、エフェクトタイプ選択コードEFTが示すエフェクトタイプが変化すると、第1選択回路21から出力されるCHG信号は、図8に示す通り、“H”に立ち上がる。そして、CHG信号の立ち上がりエッジのタイミングで、レベル値生成部77においては、レベル値の新たな目標値として「−∞dB」が設定される。これにより、レベル値生成部77が出力しているレベル値は減衰を開始し、複数サンプリング周期かけて、0dB(最大値)から−∞dB(最小値)まで徐々に変化する。その結果、HPF処理及びレベル制御部62から出力される波形データ(EF処理への入力信号)、及び、レベル制御部74から出力される2チャンネルの波形データ(WET信号)がフェードアウトされる。
【0099】
レベル値生成処理は、レベル値が−∞dBまで下がったタイミングで、ACK信号のワンショットパルスを発生し、発生したACK信号が第1選択回路21に入力される。このACK信号の立ち上がりエッジのタイミングで、第1選択回路21から出力されていたCHG信号が“L”に立下がって、エフェクトタイプ切り替え処理(EF切替)が開始する。すなわち、第1選択回路21からμPsel、UPT、Csel、Tsel,Asel、UPRの各信号を出力して、EF選択操作子3の操作に応じたエフェクトタイプ変更をDSP1に反映させる処理や、遅延メモリ50をクリアする処理などを行う。EF切替処理によって、図5においてハッチングを施した各ブロックの処理内容が変更される。
【0100】
このEF切替処理には所定の数サンプリング周期の時間がかかる。ACK信号の発生から所定の数サンプリング周期の時間はレベル値が−∞dBの状態で待機して、EF切替処理を実行するための時間を確保する(図8を参照)。EF切替処理が終わると(所定の数サンプリング周期待機後)、レベル値生成部77においては、レベル値の新たな目標値として「0dB」が設定され、レベル値生成部77からレベル値の漸増が始る。これにより、レベル値は、複数サンプリング周期かけて、−∞dBから0dBに戻り、HPF処理及びレベル制御部62から出力される波形データ(EF処理の入力信号)、及び、レベル制御部74から出力される2チャンネルの波形データ(WET信号)がフェードインされる。エフェクトタイプ選択コードEFTの変化時に、このように出力信号を一時的にミュートしてμプログラムや係数などを変更することで、EF処理の切り替えに伴う、不所望なノイズの発生等の不都合を防いでいる。レベル値が0dBに戻れば、それ以後、今回新たに選択されたエフェクトタイプに応じてEF処理された波形データがDSP1から出力されるようになる。
【0101】
《ユーザアドレスデータの値変更》
また、UP操作子2の操作によりユーザアドレスデータUAの値が変更されるときにも、上記図8を参照して説明したエフェクトタイプ切り替え処理時と同様な、CHG信号とACK信号を用いたレベル制御が行われる。すなわち、図1において、操作値レジスタ30は、第2選択信号P/U2の接続線に接続されており、第2選択信号P/U2のHレベルが入力されるよう構成されている。UP調整操作子2の操作値データSDによりユーザアドレスデータUAが制御されるとき(第2選択信号P/U2のHレベルが入力され、UP調整操作子2の操作によってユーザアドレスデータUAの値の変更が指示されたとき)には、操作値レジスタ30は、UP調整操作子2の操作に応じた操作値データSDを出力する前に、図8で説明した動作と同様に、CHG信号のHレベルを出力する。DSP1は、CHG信号の立ち上がりエッジのタイミングでレベル値生成処理を開始して、レベル値を0dBから−∞dBまで下げてから、ACK信号を操作値レジスタ30に入力する。操作値レジスタ30は、ACK信号の入力タイミングで、UP調整操作子2の操作に応じた操作値データSDをレンジ制御部31に出力し、且つ、CHG信号をLレベルに立ち下げる。これにより、WET信号(EF処理された波形)のレベルを一旦ミュートしてから、UP調整操作子2の操作による値の変更がメモリアドレスMADに反映されることになる。
【0102】
《UP使用/不使用切り替え》
また、UPオン/オフSW4が操作されたときにも、上記図8を参照して説明したエフェクトタイプ切り替え処理時と同様な、CHG信号とACK信号を用いたレベル制御が行われる。UPオン/オフSW4がオフされて、UP不使用が指示されたとき、第1選択回路21は、CHG信号のHレベルを出力することによりレベル値生成処理を開始させて、レベル値を−∞dBまで下げてから、ACK信号の入力タイミングでCHG信号をLレベルに立ち下げて、且つ、ユーザパラメータタイプ指定信号UPTとしてUP機能不使用を示す値「3」(図4(b)を参照)を出力する。その後、レベル値生成処理はレベル値を0dBに戻す。また、UPオン/オフSW4がオンされて、UP使用が指示されたとき、第1選択回路21は、CHG信号のHレベルを出力することによりレベル値生成処理を開始させて、レベル値を−∞dBまで下げてから、ACK信号の入力タイミングでCHG信号をLレベルに立ち下げて、且つ、ユーザパラメータタイプ指定信号UPTとして現在選択されているエフェクトタイプ選択コードEFTに応じた値を出力する。その後、レベル値生成処理はレベル値を0dBに戻す。これにより、WET信号(EF処理された波形)のレベルを一旦ミュートしてから、UP使用又は不使用の切り替えが行われる。
【0103】
《効果付与機能のオン/オフ切り替え》
EFオン/オフSW5の操作により効果付与機能のオン/オフが切り替えられたときにも、上記と概ね同様なレベル制御が行われる。ただし、この場合、レベル制御は、効果付与機能がオフの間はWET信号のレベルを−∞dB(最小値)に下げておき、効果付与機能がオンの間はWET信号のレベルを0dB(最大値)に設定すればよく、ここでは、EFオン/オフSW5の操作により出力される制御信号EFONのH及びLに応じて、DSP1はレベル値生成処理によるレベル制御を行う。
【0104】
図9は、EFオン/オフSW5の操作により効果付与機能のオン/オフが切り替えられたときのレベル制御に関する各種タイミングを示しており、横軸は時間である。なお、図9では、図8と同様に、図6のタイミング図に比べて時間軸を縮小して示している。効果付与機能の「オン」又は「オフ」を示す制御信号EFONは、前述のとおり、“H”レベルで効果付与機能の「オン」を示し、“L”レベルで効果付与機能の「オフ」を示す。EFオン/オフSW5の操作により効果付与機能がオフされると、制御信号EFONがLレベルに立ち下がったエッジのタイミングでレベル値生成処理を開始してレベル値を漸減することで、複数サンプリング周期かけて、レベル値を−∞dBまで下げる。効果付与機能が「オフ」の間(EFON=Lの間)は、レベル値は−∞dBに設定されたままである。これに対して、EFオン/オフSW5の操作により効果付与機能がオンされると、制御信号EFONがHレベルに立ち上がったエッジのタイミングでレベル値生成処理を開始してレベル値を漸増することで、複数サンプリング周期かけて、レベル値を0dBまで戻す。効果付与機能が「オン」の間(EFON=Hの間)は、レベル値は0dBに設定されたままである。なお、図9のタイミング図では、EFONがHレベルに立ち上がったエッジのタイミングでレベル値の漸増が開始するようにしているが、EFONがHレベルに立ち上がったエッジのタイミングよりも遅れてレベル値の漸増を開始させるようにしてもよい。
【0105】
《レベル値生成処理》
図10は、サンプリング周期毎にレベル値生成部77が実行するレベル値生成処理の内容を説明するブロック図である。図10において、レベル値生成処理は、更新制御部95と、現在のレベル値を保持するレジスタ96と、更新制御部95から出力される目標値(Target)とレジスタ96が保持する現在のレベル値を比較する比較部97と、更新制御部95の制御により新たなレベル値を生成する更新部98とからなる。なお、レベル値は所定ビット数(例えば14ビット)の2進値により構成されるデシベル単位のデータである。
【0106】
更新制御部95には、レベル値生成処理の開始のトリガ信号として、前記CHG信号と、前記制御信号EFONと、デジタルエフェクタのリセットを指示するリセット信号Resetが入力されている。更新制御部95は、入力されたCHG信号の値が“H”のとき又は、入力された制御信号EFONが“L”のときに、目標値として「−∞dB」を比較部97に出力して、入力されたCHG信号の値が“L”のとき又は、入力された制御信号EFONが“Lのときに、目標値として「0dB」を比較部97に出力する。また、更新制御部95は、現在のレベル値が「−∞dB」まで下がったときに、ACK信号を出力する。
【0107】
レジスタ96は、サンプリング周期毎に、現在のレベル値(直前のサンプリング周期で生成されたレベル値)を出力するとともに、更新部98から当該サンプリング周期で生成された新たなレベル値を取り込む。比較部97は、サンプリング周期毎に、レジスタ96から出力された現在のレベル値と、更新制御部95から出力された目標値とを比較して、その比較結果(目標値がレベル値より大きいか、又は小さいか)を更新制御部95に供給する。
【0108】
更新制御部95は、サンプリング周期毎に、比較部97の比較結果に応じた制御信号を、更新部98に出力する。制御信号は、目標値がレベル値より大きいときには、更新部98にレベル値を1ステップ増加させる命令であり、目標値がレベル値より小さいときには、更新部98にレベル値を1ステップ減少させる命令である。更新部98は、サンプリング周期毎に、更新制御部95から入力された制御信号に基づき、レジスタ96から出力された現在のレベル値を1ステップずつ増加、又は減少して、新たなレベル値を生成する。
【0109】
上記構成からなるレベル値生成処理により、複数サンプリング周期かけてレベル値を増加又は減少させて、現在のレベル値を目標値(−∞dB、又は0dB)に一致させることができる。したがって、図8及び図9を参照して説明したようなレベル制御を行うことができる。なお、レベル値生成処理の開始のトリガ信号としてリセット信号Resetが入力されたときには(ユーザによりリセットが指示されたとき)、図8又は図9で説明したのと同様なレベル制御を行えばよい。すなわち、リセットが指示されたときに、目標値として「−∞dB」を出力して、レベル値を減少するような動作を行いリセット動作が完了してから、目標値として「0dB」を出力してレベル値を最大値に戻す動作を行えばよい。また、比較部97で比較基準となる目標値は−∞dB(最小値)、又は0dB(最大値)のいずれかなので、比較部97の動作は現在のレベル値の全ビットのAND演算やOR演算だけで実現可能である。
【0110】
以上説明したとおり、本発明にかかる実施例によれば、信号処理の所定の複数ステップのうちで、現在指定されているエフェクトタイプに応じたUPTに対応するUPTCが出力された特定のステップのパラメータを、変換テーブルメモリ25から出力されたユーザパラメータとすること、すなわち、UP調整操作子2の操作値データSDに応じて制御することができ、特に、共通のマイクロプログラムを異なるエフェクトタイプに使用している場合も、エフェクトタイプに応じて異なる特定のステップのパラメータをユーザパラメータとすることができるようになる。したがって、DSP1を制御するためのCPUを備えない簡素な構成であっても、DSP1の処理ステップをあまり使用することなく、エフェクトタイプに応じた特定のステップのパラメータを、UP調整操作子2の操作に応じて制御することができるという優れた効果を奏する。更に、本発明では、操作データ(操作値データSD)に応じたパラメータの生成をμプログラムではなく、専用のハードウェアで実現している点に特徴がある。本出願人の分析によれば、その生成処理については、μプログラムよりもハードウェアで実現するほうが効率的であり、かつ、回路規模が小さくできる。また、変換テーブルメモリ25においてエフェクトタイプごとの変換テーブルセットが用意されているので、UP調整操作子2の操作値データXDに対するユーザパラメータの値を、該エフェクトタイプに応じて異なる値とすることができるようになる。
【0111】
なお、上記実施例では、本発明に係る音響信号処理装置を適用したデジタルエフェクタが、μプログラムメモリ22に複数のEF処理用μプログラムを記憶しており、複数種類のエフェクトタイプの中から、エフェクトタイプ選択コードEFTにより指定された1つのエフェクトタイプのみを使用する一段のエフェクタにより構成される例を説明したが、これに限らず、本発明は、複数のエフェクトタイプを一例のシステムとして並行して使用する、いわゆる「マルチエフェクタ」に適用してもよい。
また、上記実施例では、信号処理のパラメータが係数データとアドレスデータとの2つのパラメータがある例について説明したが、音響信号処理装置を適用したデジタルエフェクタに登載するエフェクトタイプの種類によっては、パラメータは係数データ又はアドレスデータのいずれかのみであってよい場合がある。そのような場合でも本発明に係る音響信号処理装置を適用することができる。
【0112】
また、エフェクトタイプ自体が1タイプしかない場合であっても、本発明に係る音響信号処理装置を適用することができる。その場合には、特に「当該エフェクトタイプにおいてUP調整操作子2の操作値に応じて制御すべきステップのパラメータについて、UP調整操作子2の操作値を、各ステップのパラメータ毎に相互に異なる変換特性で、パラメータの値に変換する」という点において、本発明の有利な効果がある。エフェクトタイプが1タイプしか登載されない場合には、μプログラム中のUPTCは、図4(b)のような複数通りのコードではなく、ステップ毎に、パラメータをユーザパラメータに置換えるかどうかを示す1ビットのフラグで構成できる。また、ユーザパラメータコードUPTCを、EF処理用のμプログラムの各ステップのμコード内に含めるようにしたが、該コードUPTCは、μコードとは別に記憶するようにしてもよい。例えば、係数メモリ23に記憶された係数セットの各ステップの係数データ内に、コードUPTCを含めるように構成してもよい。あるいは、各ステップのコードUPTCからなるコードセットを複数セット記憶したメモリをDSP1に更に備える構成であっても、本発明を適用することができる。更には、ユーザパラメータタイプコードUPTCは、各ステップ毎の置換する/しないを指示するデータとはせずに、μプログラムの複数ステップのうちの、ユーザパラメータを使用すべきステップを支持する1又は複数のステップ番号データとしてもよい。その場合、現在読み出されているμプログラムのステップ番号を、1又は複数のコードUPTCと比較し、いずれかのコードUPTCと一致したステップで、係数メモリの係数データの代りにユーザパラメータを用いるようにすればよい。
【0113】
なお、前記図1では、本発明例に係る音響信号処理装置が単体のデジタルエフェクタに適用される例を挙げたが、本発明例に係る音響信号処理装置は、例えばミキサ、電子楽器、あるいは音源装置など、その他音楽機器に登載されるデジタルエフェクタであってもよい。
【0114】
なお、上記実施例では、UP調整操作子2、及びEF選択操作子3は、それぞれ、操作子の絶対的な操作位置に応じた出力データ(操作値データSD、及び、エフェクトタイプ選択コードEFT)を出力するものとしたが、これに限らず、操作子の相対的な操作位置(操作変位量)に応じた出力データを出力する構成であってもよい。また、UP調整操作子2、及びEF選択操作子3は、それぞれ、ロータリー式可変抵抗器(ロータリーSW)により構成されるものとしたが、操作子の形態は限定されるべきものではなく、例えば、スライド式スイッチ(レベル操作子)、あるいは、テンキー、又はインクリメント/デクリメントスイッチなどのような押しボタン式スイッチなど、従来から知られるどのような操作子で構成されていてもよい。
【0115】
なお、図1のエフェクタの構成では、WET信号とDRY信号の混合を、DSP1の外部のアナログ回路により行うようになっていたが、この混合はDSP1のμプログラムで行うように構成してもよい。
また、上記実施例では、DSP1に入力する操作データ(操作値データSD)をそのまま操作値レジスタ30に入れるのではなく、C処理のμプログラムでローパスフィルタ処理を施してから操作値レジスタ30に記憶するようになっている。これは、このローパスフィルタ処理が、本発明のパラメータ生成処理とは異なり、比較的短いμプログラムで実現でき、かつ、専用のハードウェアを設けることが、構成的に非効率なためである。しかしながら、DSP1の外部にアナログ又はデジタルのローパスフィルタを別途用意できる場合は、当該ローパスフィルタ処理は、外部のローパスフィルタに任せるよう構成し、DSP1は、入力する操作データ(操作値データSD)を、μプログラム処理せずに、直接操作値レジスタ30に記憶する構成とするのがよい。
【符号の説明】
【0116】
1 DSP、2 UP調整操作子、3 EF選択操作子、4 UPオン/オフスイッチ、5EFオン/オフスイッチ、6 電源スイッチ、7 ADC、8,9 レベル操作子、10 混合部、11 レベル操作子、12 DAC、13,14 混合部、20 クロック発生回路、21 第1選択回路、22 μプログラムメモリ(マイクロコード出力部)、23 係数メモリ、24 アドレスメモリ、25 変換テーブルメモリ、26 第2選択回路、27 係数データセレクタ、28 アドレスデータセレクタ、29 UPカウンタ、30 操作値レジスタ、31 レンジ制御部、60 Rch入力部、61Lch入力部、62 HPF処理&レベル制御部、63 Din書込部、64 EF処理部、65 LPF処理部、66 SD出力部、67 レンジ制御部、68 変換テーブル部、69 係数セット部、70 アドレスセット部、71 係数供給部、72 アドレス供給部、73 Dout読出部、74 レベル制御部、75 Rchチャンネル出力部、76 Lchチャンネル出力部、77 レベル値生成部
【技術分野】
【0001】
この発明は、サンプリング周期毎に所定ステップ数の信号処理を行う信号処理集積回路に関し、特に音響信号に効果付与する効果付与装置に適用される信号処理集積回路、およびその信号処理集積回路を備えた効果付与装置に関する。
【背景技術】
【0002】
従来、デジタル信号処理集積回路(「DSP LSI」、以下単に「DSP」という)を用いて、音響信号(波形データ)に対するエフェクト(効果付与)処理を行うデジタルエフェクタがあった。この種のデジタルエフェクタは、当該デジタルエフェクタの全体的な動作を制御するCPUを具えていた。そして、CPUが、DSP内のレジスタに、所定ステップ数のマイクロコードからなるマイクロプログラム、マイクロプログラムの所定ステップ数の全ステップ数に対応する数の係数データ、及び、1サンプリング周期で遅延メモリにアクセス可能なステップ数に対応する数のアドレスデータを設定し、該CPUによってレジスタに設定されたマイクロプログラム、係数データ、及びアドレスデータに基づいて、DSPは信号処理を実行していた(例えば、下記特許文献1を参照)。
【0003】
従来のデジタルエフェクタには、複数種類のエフェクトタイプを登載しており、使用するエフェクトタイプ(エフェクタの種類)をユーザが操作子を用いて選択することができる機種があった。また、従来のデジタルエフェクタにおいて、エフェクト処理のパラメータの値をユーザが手動調整する操作子を有している機種があった。これら操作子を有する従来のデジタルエフェクタにおいては、操作子の操作に応じた検出信号がCPUに供給され、供給された検出信号に応じた処理をCPUが実行していた。例えば、エフェクトタイプを切り替える操作が行われたときには、CPUは、新たに選択されたエフェクトタイプに応じてマイクロプログラムを切り替えて、DSPのレジスタに設定する処理を行っていた。また、エフェクト処理のパラメータを制御する操作が行われたときには、CPUは、その操作値に応じて、DSPのレジスタに設定された特定のステップの係数データ又はアドレスデータの値を変更して、その変更をDSPに反映させる処理を行っていた。
【0004】
上記の通り、従来のDSPにおいては、一般的には、ユーザの操作子の操作に応じた各種処理(エフェクトタイプの選択や、パラメータ(係数データ又はアドレスデータ)の変更)はCPUにより制御されていたので、DSPはCPUなしで動作することができなかった。
【0005】
また、従来から知られるDSPには、DSPの内部メモリに複数のマイクロプログラムを記憶しておき、ユーザによるマイクロプログラム切り替え操作に応じて、該複数のマイクロプログラムのいずれか1つを選択的に用いて信号処理を行う構成があった。このDSPは、内部にマイクロプログラムを切り替えるための機構を備えており、この構成を、ユーザによるエフェクトタイプ選択操作に応じて、DSP自身がマイクロプログラムを切り替える構成に改良することは、比較的容易である(例えば、下記特許文献2を参照)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平11−203129号公報
【特許文献2】特許2765426号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
CPUなしで動作できるエフェクタを構成するには、DSPを構成する集積回路の内部メモリに、複数エフェクトタイプ毎のマイクロプログラム、複数エフェクトタイプ毎の係数、及び複数エフェクトタイプ毎のアドレスデータを記憶しておき、エフェクトタイプの選択操作に応じたマイクロプログラム、係数データ、及びアドレスデータをDSPが選択して、該選択したマイクロプログラム、係数データ、及びアドレスデータに基づきDSPが信号処理を実行するよう構成することが考えられる。
【0008】
上述したように、エフェクトタイプの変更に応じた信号処理内容の切り替えは、切り替える範囲のマイクロプログラム、係数データ及びアドレスデータを、ごっそり入れ替えるだけなので、先行技術文献(例えば特許文献2)に示されているマイクロプログラムの読み出しアドレスを制御する技術を改良することにより、比較的容易に実現できる。しかしながら、操作子の操作に応じた係数データやアドレスデータの変更は、マイクロプログラムの特定のステップに係る変更であり、また、操作子からの操作データに応じた係数データやアドレスデータを生成しなければならないことから、先行技術文献に示される技術の改良では、容易に実現できない。
一方、操作子からの操作データに応じた係数データやアドレスデータの生成処理、及び、特定のステップの係数データやアドレスデータの変更処理をマイクロプログラム化してDSP自身に実行させることも考えられるが、その場合、その生成処理や変更処理に多くのステップが消費され、本来の目的であったはずの入力する波形データに対する信号処理に使えるステップが大幅に減少してしまうという問題がある。
【0009】
更に、従来のマルチエフェクタでは、複数のエフェクトタイプで同じマイクロプログラムを共用している場合があり、この場合には、エフェクトタイプが違うと、同じマイクロプログラムに基づく信号処理中の異なるステップのパラメータ(係数データ又はアドレスデータ)を操作子の操作に応じて制御しなければならない。従って、複数種のエフェクトタイプの各タイプに応じて、同じマイクロプログラムの異なるステップのパラメータを操作子の操作に応じて制御したり、パラメータを操作子の操作に応じて異なる値に制御したりする動作を、CPUの制御によらず、かつ、DSPの処理ステップをあまり使用することなく実行できるようにしたいという要望があった。
【0010】
この発明は、上記の点に鑑みてなされたもので、CPUの制御によらずに、かつ、DSPの処理ステップをあまり使用することなく、現在選択されているエフェクトタイプに応じた特定のステップのパラメータ(係数データ又はアドレスデータ)を操作子の操作に応じて制御することができるようにした信号処理集積回路を提供することを目的とする。また、その信号処理集積回路を備えた効果付与装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
請求項1に係る本発明は、所定サンプリング周期毎に、入力された音響信号に対して所定ステップ数の信号処理を行う信号処理集積回路であって、効果タイプを指定するタイプデータを受け付ける効果タイプ受付部と、パラメータタイプコードを含む複数ステップのマイクロコードからなるマイクロプログラムを複数記憶しており、各ステップ毎に、前記タイプデータにより指定された効果タイプに応じたマイクロプログラムの各マイクロコードを順次出力するマイクロコード出力部と、複数ステップ分のプリセットパラメータからなるプリセットパラメータセットを複数記憶しており、各ステップ毎に、前記タイプデータにより指定された効果タイプに応じたプリセットパラメータセットの各プリセットパラメータを順次出力するプリセットパラメータ出力部と、操作子の操作に応じてユーザパラメータを出力するユーザパラメータ出力部と、前記タイプデータにより指定された効果タイプと前記マイクロコード出力部から出力されるマイクロコードに含まれるパラメータタイプコードとに基づいて、各ステップ毎に、前記プリセットパラメータ出力部及び前記ユーザパラメータ出力部のいずれか一方の出力するパラメータを選択するパラメータ選択部と、前記マイクロコード出力部から出力されるマイクロコードと、前記パラメータ選択部により選択されたパラメータとに基づいて、入力される音響信号に信号処理を施し、該信号処理された音響信号を出力する信号処理部とを備える。
【0012】
請求項1に係る本発明によれば、マイクロコード出力部は、タイプデータにより指定された効果タイプに応じたマイクロプログラムの各マイクロコードを順次出力するので、各ステップ毎に当該マイクロプログラムの各パラメータタイプコードが順次出力される。パラメータ選択部は、タイプデータにより指定された効果タイプとマイクロコード出力部から出力されるパラメータタイプコードとに基づいて、各ステップ毎に、プリセットパラメータ出力部及びユーザパラメータ出力部のいずれか一方の出力するパラメータを選択するので、タイプデータにより指定された効果タイプに対応するパラメータタイプコードが出力された特定のステップにおいて、ユーザパラメータ出力部から出力されたユーザパラメータを選択することができる。従って、信号処理部は、効果タイプに応じた特定のステップにおいて、操作子の操作値に応じたユーザパラメータに基づく信号処理を行うことができる。
【0013】
また、請求項2に係る本発明において、前記ユーザパラメータ出力部は、前記操作子の操作位置に応じた操作データを受け付ける操作データ受付部を含み、前記操作データ受付部により受け付けた操作データを、前記タイプデータにより指定された効果タイプに応じたユーザパラメータに変換して出力する。
【0014】
請求項2に係る本発明によれば、ユーザパラメータ出力部は、操作データ受付部により受け付けた操作データを、タイプデータにより指定された効果タイプに応じたユーザパラメータに変換して出力するので、操作検出部により受け付けた操作データに対応するユーザパラメータは、タイプデータにより指定された効果タイプに応じて異なる値となる。
【0015】
また、請求項3に係る本発明は、請求項1又は2のいずれかに記載の信号処理集積回路と、外部から前記音響信号を入力して、前記信号処理集積回路に供給する入力部と、選択操作子を備えており、該選択操作子の操作に応じた前記タイプデータを生成し、前記信号処理集積回路に供給する選択操作部と、前記操作子を備えており、該操作子の操作に応じた操作データを生成し、前記信号処理集積回路に供給するパラメータ操作部と、前記信号処理集積回路から出力される音響信号を、外部へ出力する出力部とを備えた効果付与装置である。
【発明の効果】
【0016】
請求項1に係る本発明によれば、信号処理の所定ステップ数のうちで、現在指定されている効果タイプに対応するパラメータタイプコードが出力された特定のステップのパラメータを、ユーザパラメータ出力部から出力されたユーザパラメータ、すなわち、操作子の操作値に応じたユーザパラメータとすることができる。また、共通のマイクロプログラムを異なる効果タイプに使用している場合も、効果タイプに応じた特定のステップのパラメータをユーザパラメータとすることができる。したがって、信号処理集積回路(DSP)を制御するためのCPUを備えない簡素な構成であっても、DSPの処理ステップをあまり使用することなく、効果タイプに応じた特定のステップのパラメータを操作子の操作に応じて制御することができるという優れた効果を奏する。
また、請求項2に係る本発明によれば、操作受付部により受け付けた操作データを、現在指定されている効果タイプに応じた変換特性でユーザパラメータに変換するので、上記請求項1に係る本発明の効果に加えて、特定のステップのパラメータを、効果タイプに応じて異なる値のユーザパラメータにすることができるようになるという優れた効果を奏する。
そして、請求項3に係る本発明によれば、動作制御用のCPUを持たない簡素な構成の信号処理集積回路を用いて、且つ、DSPの処理ステップをあまり使用することなく、複数の効果タイプを選択可能であって操作子の操作によりパラメータを制御可能な効果付与装置を提供することができるという優れた効果を奏する。
【図面の簡単な説明】
【0017】
【図1】本発明に係る信号処理集積回路(DSP)を適用したデジタルエフェクタの構成例を示すブロック図。
【図2】図1に示すデジタルエフェクタに登載されたエフェクトタイプの例。
【図3】図1のDSPの各メモリに記憶されているデータセットの構成例。
【図4】(a)はEF処理用μプログラムの記述例、(b)はUPTとUPTCの構成例。
【図5】図1のDSPがサンプリング周期毎に実行する信号処理の内容を説明するブロック図。
【図6】図1のDSPの動作の各種タイミングを説明する図。
【図7】(a)〜(c)は図5のEF処理部で行われるEF処理の具体例をエフェクトタイプ別に示すブロック図。
【図8】EF切り替え時の動作のタイミングを説明する図。
【図9】効果付与機能オン・オフ切り替え時の動作のタイミングを説明する図。
【図10】図5のレベル値生成部が行うレベル生成処理の構成例を説明するブロック図。
【発明を実施するための形態】
【0018】
以下、添付図面を参照して、本発明の一実施形態について詳細に説明する。以下に説明する実施例においては、本発明に係る信号処理集積回路を、音響信号に効果付与処理を施す効果付与装置(デジタルエフェクタ)に適用した例について説明する。なお、本明細書中では、デジタル音響信号を「波形データ」ともいう。
【0019】
《エフェクタの全体構成》
図1は、本発明に係るデジタルエフェクタの全体構成を説明するためのブロック図であって、信号処理集積回路の内部構成を詳細に示している。
図1において、デジタルエフェクタは、デジタル音響信号(波形データ)に対して信号処理を実行する信号処理集積回路(DSP)1を備え、このDSP1に対して、外部ソースから出力されたアナログ音響信号(アナログ波形)をデジタル音響信号(波形データ)に変換してDSP1に入力する入力部と、DSP1の処理結果として出力されたデジタル音響信号(波形データ)をアナログ音響信号(アナログ波形)に変換して出力する出力部と、ユーザパラメータ調整操作子(UP調整操作子)2と、エフェクトタイプ選択操作子(EF選択操作子)3と、ユーザパラメータ機能オン/オフスイッチ(UPオン/オフSW)4と、効果付与機能オン/オフスイッチ(EFオン/オフSW)5と、DSP1内の各構成要素及びデジタルエフェクタの各部に対する電力供給をオン/オフする電源スイッチ6とが接続される。図1に示す通り、本実施例に係るデジタルエフェクタは、DSP1の動作制御用のCPUを具備しない簡素な構成である。
【0020】
デジタルエフェクタは、複数種類のエフェクトタイプを登載しており、使用するエフェクトタイプ(エフェクタの種類)をユーザが操作子を用いて選択することができる。DSP1は、所定のサンプリング周期毎に、ユーザによって選択されたエフェクトタイプに応じたマイクロプログラムに基づく所定の複数のステップ(例えば512ステップ)の信号処理を実行して、入力されたオーディオ信号にユーザによって選択されたエフェクトタイプに応じた効果を付与する。
本実施例のDSP1は、詳しくは後述する通り、DSP1の動作制御用のCPUを具備しない簡素な構成であっても、DSP1の処理ステップをあまり使用することなく、(1)信号処理の複数のステップのうちの当該現在選択されているエフェクトタイプに応じた特定のステップのパラメータをUP調整操作子2の操作に応じたユーザパラメータにより制御することができる点に特徴を有しており、また、(2)当該現在選択されているエフェクトタイプに応じた特定の複数ステップのユーザパラメータを、各ステップ毎に相互に異なる値にすることができる点に別の特徴を有している。なお、本明細書において、「パラメータ」は、信号処理に用いる「係数データ」と「アドレスデータ」を総称するものである。
【0021】
《入力部と出力部》
デジタルエフェクタの入力部は、アナログデジタル変換部(ADC)7と、2チャンネルのアナログ波形入力チャンネルからなる。2つの入力チャンネルのそれぞれには、入力されたアナログ波形の音量レベルを調整するレベル操作子8,9が設けられている。混合部10は、レベル操作子8,9でレベル調整された各チャンネル毎のアナログ波形を合算して、該合算した1チャンネル分のアナログ波形を出力する。なお、各入力チャンネルのレベル操作子8,9の出力は、混合部10に入力される一方で、後述する出力部に分岐している。これは、出力部において、効果付与前の原音(いわゆるDRY信号)と、効果付与後の信号(いわゆるWET信号)とを混合するためである。また、入力部の混合部10の後段には、混合部10の出力信号のレベルを調整するレベル操作子11が設けられている。レベル操作子11により混合部10の出力信号のレベルを調整することで、効果付与後の信号(いわゆるWET信号)のレベル、すなわちデジタルエフェクタの出力信号中のWET信号の割合を調整する。
【0022】
アナログデジタル変換部(ADC)7は、2つの入力チャンネルを有しており、一方の入力チャンネル(例えばRチャンネル)に入力部の混合部10から出力された1チャンネル分のアナログ波形が入力され、もう一方の入力チャンネル(例えばLチャンネル)にパラメータ調整用の操作子操作子(UP調整操作子)2の操作位置に応じたアナログ信号(操作値データSD)が入力される。ADC7は、入力されたアナログ波形とUP調整操作子2の操作を示すアナログ信号を、それぞれ、所定のサンプリングの周波数のデジタル信号に変換する。ADC7からは、所定のサンプリング周期毎に、該変換されたデジタル信号(2chのシリアル信号)が出力され、DSP1に入力される。
【0023】
デジタルエフェクタの出力部は、デジタルアナログ変換部(DAC)12と、2チャンネルの出力チャンネルからなる。DSP1からはサンプリング周期毎に2チャンネル分の効果付与済みデジタル音響信号(WET信号)が出力され、DAC12に入力される。DAC12は、サンプリング周期毎にDSP1から入力された2チャンネルのデジタル音響信号(WET信号)を、それぞれアナログ波形(WET信号)に変換して、変換した各チャンネル毎のアナログ波形を2チャンネルの出力チャンネルの1つずつに分散して出力する。2つの出力チャンネルのそれぞれには混合部13,14が設けられており、各混合部13,14では、それぞれ、DAC12からチャンネル毎に出力された効果付与済みアナログ波形(WET信号)と、入力部から供給されたチャンネル毎の原音(DRY信号)を合算して、該合算したアナログ波形をチャンネル毎に出力する。各混合部13,14におけるDRY信号とWET信号の混合比は、入力部に設けられたレベル操作子11で調整される。
【0024】
《操作子類》
ユーザパラメータ調整操作子(UP調整操作子)2は、DSP1が実行する効果付与処理のパラメータ(係数データ又はアドレスデータ)の値を、ユーザの操作により調整するための操作子である。本明細書では、UP調整操作子2を用いて制御されるパラメータを「ユーザパラメータ」といい、その機能を「ユーザパラメータ機能(UP機能)」という。なお、ユーザパラメータに対して、後述するROMに予め記憶されたパラメータを「プリセットパラメータ」という。この実施例では、UP調整操作子2は、例えばつまみ付きロータリースイッチで構成され、操作位置に応じた複数ビットの操作値データSD(操作データ)を生成し、DSP1に出力する。ユーザによりUP調整操作子2が操作されると、その操作位置に応じた操作値データSD(アナログ信号)がADC7に出力される。すなわち、UP調整操作子2及びADC7は、操作子の操作に応じた操作データを生成し、DSP1に供給するパラメータ操作部を構成する。
【0025】
エフェクトタイプ選択操作子(EF選択操作子)3は、所定の複数のエフェクトタイプ(エフェクタの種類)の中から1つのエフェクトタイプを、ユーザの操作により選択するための操作子である。EF選択操作子3は、例えばつまみ付きロータリースイッチで構成され、操作位置に応じた複数ビットのエフェクトタイプ選択コードEFT(タイプデータ)を生成し、DSP1に出力する。エフェクトタイプ選択コードEFTは、当該デジタルエフェクタに登載された複数のエフェクトタイプの1つずつに対応する複数通りのコード、すなわち効果タイプを指定するタイプデータである。ユーザによりEF選択操作子3が操作されると、その操作位置に応じたエフェクトタイプ選択コードEFTがDSP1内の第1選択回路21に供給される。すなわち、EF選択操作子3は、その操作に応じた前記タイプデータを生成し、DSP1に供給する選択操作部を構成する。
【0026】
UPオン/オフSW4は、UP調整操作子2を用いたパラメータ調整機能(ユーザパラメータ(UP)機能)の使用/不使用を切り替えるスイッチであって、UPオン/オフSW4がスイッチオフ状態で、UP機能の使用を示す“ハイレベル(H)”の制御信号UPONを、また、同スイッチオン状態でUP機能の不使用を示す“ローレベル(L)”の制御信号UPONを第1選択回路21に出力する。なお、UPオン/オフSW4からの制御信号UPONを入力する端子には、DSP1内部のプルアップ抵抗4aが接続されているので、該端子に何も接続しなければ、制御信号UPONは常時“H”(UP使用)となり、UP機能を「有効」に固定できる。また、該端子を接地すれば、制御信号UPONは“L”(UP不使用)となり、UP機能を「無効」に固定することができる。
【0027】
EFオン/オフSW5は、DSP1の効果付与機能の「オン」又は「オフ」(効果付与を有効とするか否か)を切り替えるスイッチであって、スイッチのオフオン状態に応じて、効果付与機能の「オン」又は「オフ」を“ハイレベル(H”)又は“ローレベル(L)”の2値で示す制御信号EFONを出力する。EFオン/オフSW5がオフ状態で、制御信号EFONは、DSP1の効果付与機能の「オン」を示す“H”となり、同スイッチオン状態で、DSP1の効果付与機能の「オフ」を示す“L”となる。EFオン/オフSW5によりDSP1の効果付与機能がオフされると、デジタルエフェクタの出力信号は原音(DRY信号)のみとなる。なお、EFオン/オフSW5からの制御信号EFONを入力する端子には、DSP1内部のプルアップ抵抗5aが接続されているので、該端子に何も接続しなければ、制御信号EFONは“H”(効果付与機能オン)で固定される。
【0028】
《DSPの構成》
次に、図1に示すDSP1内部の詳細な構成を説明する。図1において符号21〜符号31で示す各ブロックは、マイクロプログラムメモリやデータメモリ等であって、DSP1が実行する信号処理のマイクロプログラムの切り替え制御や、信号処理のステップ毎のパラメータ制御を、CPUによる制御ではなく当該DSP1自身で行うための構成要素である。また、図1において符号40〜52で示す各ブロックは、波形データに対する信号処理を行う演算部を構成する構成要素である。また、符号53〜55で示す各ブロックは、遅延メモリをアクセスするためのデータを生成する構成要素である。したがって、符号40〜55で示す各部が、DSP1に入力された音響信号に信号処理を施して、信号処理された音響信号を出力する信号処理部に相当する。
【0029】
クロック発生回路20は水晶振動子を用いてクロック信号を発生する。クロック発生回路20が発生するクロック信号は、DSP1の動作基準となる動作クロックΦo、ワードクロック信号(WC信号)、あるいは、C/E信号などである。動作クロックΦoは、後述する信号処理のステップ周期毎のクロック信号であって、DSP1の各部は動作クロックΦoに基づき動作する。WC信号は、波形データのサンプリング周期のクロック信号であり、DSP1、ADC7及びDAC12は、それぞれ、WC信号に基づいて、該サプリング周期に同期した動作を行う。C/E信号は、DSP1がサンプリング周期毎に実行する所定ステップ数の信号処理のうちで、エフェクト処理(EF処理)と、EF処理以外のコンスタントな処理(C処理)を切り替えるタイミングを制御するための信号である。
【0030】
第1選択回路21は、EF選択操作子3の操作位置に応じたエフェクトタイプ選択コードEFTが入力され、該入力されたエフェクトタイプ選択コードEFTに応じて、μプログラム選択信号μPsel、ユーザパラメータタイプ指定信号UPT、係数セット選択信号Csel、アドレスデータ選択信号Asel、変換テーブルセット選択信号Tsel、及びユーザパラメータレンジ制御信号UPRを出力する。すなわち、第1選択回路21は、効果タイプ(エフェクトタイプ)を指定するタイプデータ(EFT)を受け付ける効果タイプ受付部である。ユーザがEF選択操作子3を操作してエフェクトタイプを指定したときに、該受付部が該操作に応じたタイプデータ(EFT)を受け付けることでエフェクトタイプ切り替え処理が行われ、ユーザ操作に応じたエフェクトタイプが選択される。このエフェクトタイプ切り替え処理を実行するタイミングは、詳しくは後述する通り、CHG信号とACK信号により制御される。
【0031】
第1選択回路21は、UP機能を使用する場合(UPON=“H”)には、現在選択されているエフェクトタイプ(EFT)に応じたユーザパラメータタイプ指定信号UPTを、第2選択回路26に出力する。ユーザパラメータタイプ指定信号UPTは、現在選択されているエフェクトタイプに応じてユーザパラメータ(係数データ又はアドレスデータ)の「タイプ」を指定するコードからなる信号であって、係数データについて複数通りのタイプを指定する信号(コード)があり、また、アドレスデータについて複数通りのタイプを指定する信号(コード)とがある。また、制御信号UPONがUP不使用を示す場合(UPON=“L”)、現在選択されているエフェクトタイプに関わらず、前記ユーザパラメータタイプ指定信号UPTとして「UP不使用」を示す信号を第2選択回路26に出力することで、UP機能を無効にする。
【0032】
マイクロプログラムメモリ(μプログラムメモリ)22は、所定の複数ステップ(例えば512ステップ)のマイクロコード(μコード)からなるマイクロプログラム(μプログラム)を複数記憶したROMである。μプログラムメモリ22において、第1選択回路21から供給されたμPsel信号に基づき、複数のμプログラムの中から、現在選択されているエフェクトタイプ(EFT)に対応する1つのμプログラムが選択される。そして、μプログラムメモリ22は、1サンプリング周期で所定の複数ステップ(例えば512ステップ)のμコードを実行するために、動作クロックΦoが示す信号処理のステップ周期(μコードを実行する周期)毎に、μプログラムメモリ22のアドレスから、該EFTにより指定されたエフェクトタイプに応じたμプログラムのμコードを1ステップ分ずつ順に出力する。すなわちμプログラムメモリ22はマイクロコード出力部である。
【0033】
1ステップ分のμコードは、DSP1の複数の構成要素のそれぞれに対する制御信号のセットにより構成される。1ステップ分のμコードに含まれる各制御信号は、図1において点線で描かれた各ブロック(符号40〜52で示す演算部、操作値レジスタ30及びRADレジスタ55)と加算器53と第2選択回路26のそれぞれ対応するものに出力される。μプログラムメモリ22は、これら各制御信号の出力先のそれぞれと制御線で接続されるが、図示簡略化のため、それら制御線の図示は省略し、μプログラムメモリ22から引き出された複数の矢印を描くことで、その趣旨を表現した。
【0034】
図1において、μプログラムメモリ22から各制御信号を出力する制御線のうちで、μプログラムメモリ22から第2選択回路26へユーザパラメータタイプコードUPTCを出力する制御線だけは、明示した。コードUPTCは、現在選択されているエフェクトタイプに応じてユーザパラメータ(係数データ又はアドレスデータ)の「タイプ」を指示する複数通りの制御信号(コード)であって、前記ユーザパラメータタイプ指定信号UPTと同様に、複数通りの係数データのタイプを指示する制御信号(コード)と、複数通りのアドレスデータのタイプを指示する制御信号(コード)とがある。コードUPTCは、後述する通り、エフェクトタイプに応じた特定のステップでユーザパラメータを選択させるコード、すなわち、信号処理に用いる「パラメータの置換え」を指示する「置換コード」として機能する。なお、「パラメータの置換え」とは、プリセットパラメータをユーザパラメータに置換えることである。
【0035】
係数メモリ23は、所定の複数ステップ(例えば512ステップ)分のプリセット係数データPCからなる係数セットを複数セット記憶したROMである。係数メモリ23において、第1選択回路21から供給されたCsel信号に基づき、該複数の係数セットの中から、現在選択されているエフェクトタイプ(EFT)に対応する1つの係数セットが選択され、信号処理のステップ周期毎に、係数メモリ23のアドレスから、該選択された係数セットのプリセット係数データPCが1ステップ分ずつ順に出力される。すなわち係数メモリ23はプリセットパラメータ出力部である。
【0036】
アドレスメモリ24は、複数ステップ分のプリセットアドレスデータPAからなるアドレスセットを複数セット記憶したROMである。アドレスメモリ24において、第1選択回路21から供給されたAsel信号に基づき、該複数のアドレスセットの中から、現在選択されているエフェクトタイプ(EFT)に対応するアドレスセットが選択され、遅延メモリ50をアクセスすべきステップ毎に、アドレスメモリ24のアドレスから1ステップ分ずつ、該選択されたアドレスセットのプリセットアドレスデータPAが順に出力される。すなわちアドレスメモリ24はプリセットパラメータ出力部である。
【0037】
変換テーブルメモリ25は、複数の変換テーブルセットを記憶したROMである。複数の変換テーブルセットのそれぞれは、複数の変換テーブルで構成されており、各変換テーブルは、UP調整操作子2の操作値データ(後述するレンジ制御部31から供給された操作値データXD)をユーザパラメータに変換して出力するためのデータテーブルである。変換テーブルメモリ25において、第1選択回路21から供給されたTsel信号に基づき、複数の変換テーブルセットの中から現在選択されているエフェクトタイプ(EFT)に応じた変換テーブルセットが選択され、且つ、後述するUPカウンタ29の生成するカウント値UPCに基づき、その変換テーブルセット中の1の変換テーブルが選択され、信号処理のステップ周期毎に、該選択された変換テーブルに基づき、UP調整操作子2から供給された操作値データをユーザパラメータ(ユーザ係数データUC又はユーザアドレスデータUA)に変換して出力する。すなわち、変換テーブルメモリ25は操作子の操作に応じてユーザパラメータを出力するユーザパラメータ出力部を構成している。
【0038】
第2選択回路26は、第1選択回路21の出力するユーザパラメータタイプ指定信号UPTと、μプログラムメモリ22が出力するユーザパラメータタイプコードUPTCとが入力され、信号処理のステップ周期毎に、UPTCとUPTに基づく選択信号(第1選択信号P/U1又は第2選択信号P/U2)を後段のセレクタ27,28に出力する。係数データセレクタ27に対する選択信号を「第1選択信号P/U1」、アドレスデータセレクタ28に対する選択信号を第2選択信号P/U2とする。
【0039】
第1選択信号P/U1、及び第2選択信号P/U2は、それぞれ、ハイレベル又はローレベルのいずれかの値をとる2値の信号である。第2選択回路26は、UPTCがUPTと同じタイプの係数タイプコードで一致したステップで、“H”レベルの第1選択信号P/U1を係数データセレクタ27に出力する。また、第2選択回路26は、UPTCがUPTと同じタイプのアドレスタイプコードで一致したステップで、“H”レベルの第2選択信号P/U2を、アドレスデータセレクタ28に出力する。それ以外の場合は、第1選択信号P/U1及び第2選択信号は、それぞれ“L”レベルとなる。
【0040】
係数データセレクタ27は、信号処理のステップ周期毎に、第2選択回路26から供給された第1選択信号P/U1が“H”レベルのとき(UPTCがUPTと同じタイプの係数タイプコードで一致したとき)、変換テーブルメモリ25から出力されたユーザ係数データUCを選択し、第2選択回路26から供給された第1選択信号P/U1が“L”レベルの場合には、係数メモリ23から出力されたプリセット係数データPCを選択する。係数データセレクタ27によって選択されたプリセット係数データPC及びユーザ係数データUCのいずれか一方は、乗算部47の乗算に用いる係数データCDとして、第4セレクタ45に出力される。すなわち、第2選択回路26及び係数データセレクタ27は、タイプデータ(EFTにより指定されたエフェクトタイプに応じたUPT)と、μプログラムメモリ22から出力されるUPTCに基づいて、各ステップ毎に、変換テーブルメモリ25及び係数メモリ23いずれか一方の出力するパラメータを選択するパラメータ選択部を構成している。
【0041】
アドレスデータセレクタ28は、信号処理のステップ周期毎に、第2選択回路26から供給された第2選択信号P/U2が“H”レベルの場合(UPTCがUPTと同じタイプのアドレスタイプコードで一致したとき)、変換テーブルメモリ25から出力されたユーザアドレスデータUAを選択し、第2選択回路26から供給された第2選択信号P/U2が“L”レベルの場合、アドレスメモリ24から出力されたプリセットアドレスデータPAを選択する。アドレスデータセレクタ28によって選択されたプリセットアドレスデータPA及びユーザアドレスデータUAのいずれか一方は、遅延メモリ50をアクセスするメモリアドレスデータMADを生成するために用いるアドレスデータADとして、加算器53に出力される。すなわち、第2選択回路26及びアドレスデータセレクタ28は、タイプデータ(EFTにより指定されたエフェクトタイプに応じたUPT)と、μプログラムメモリ22から出力されるUPTCに基づいて、各ステップ毎に、変換テーブルメモリ25及びアドレスメモリ24いずれか一方の出力するパラメータを選択するパラメータ選択部を構成している。
【0042】
UPカウンタ29は、第2選択回路26の第1選択信号P/U1の出力ライン及び第2選択信号P/U2の出力ラインに接続されており、各サンプリング周期毎にリセットされ、且つ、第2選択回路26から“H”レベルの第1選択信号P/U1又は第2選択信号P/U2が出力される毎に1ずつ歩進するカウント値UPCを生成して、該生成されたカウント値UPCを変換テーブルメモリ25に出力する。すなわち、UPカウンタ29は、UPTとUPTCが一致するステップの数、言い換えれば、UPTCにより「パラメータの置換え」が指示された回数をカウントする。
【0043】
操作値レジスタ30は、信号処理のステップ周期毎にμプログラムメモリ22から出力されたμコードに基づき、後述するDSP1の演算部(TempRAM43など)を経由して供給されたUP調整操作子2の操作値データSDを保持し、該操作値データSDをレンジ制御部31に供給する。すなわち、操作値レジスタ30は、DSP1内において、UP調整操作子2の操作位置に応じた操作値データSD(操作データ)を受け付ける操作データ受付部に相当する。
また、操作値レジスタ30は、第2選択回路26の第2選択信号P/U2の出力ラインに接続され、第2選択信号P/U2が入力されている。これは、UP調整操作子2の操作に応じてユーザアドレスデータUAの値を変更するタイミングを、後述するCHG信号とACK信号により制御するための構成である。
【0044】
レンジ制御部31は、ユーザが指定したエフェクトタイプに応じたユーザパラメータレンジ制御信号UPRと、UP調整操作子2の操作値データSDとが入力される。UP調整操作子2から出力される操作値データSDの可変範囲(レンジ)は、UP調整操作子2の可動範囲に対応したものであるから、これをレンジ制御部31によりエフェクトタイプに応じたパラメータの可変範囲(レンジ)に変換する。レンジ制御部31は、入力された操作値データSDをUPRが示すエフェクトタイプに応じたパラメータの可変範囲に応じた値にレンジ制御して、該レンジ制御した操作値データXDを変換テーブルメモリ25へ出力する。すなわち、レンジ制御部31は、操作子の操作に応じてユーザパラメータを出力するユーザパラメータ出力部を構成している。
【0045】
《信号処理の演算部の構成》
DSP1の演算部(点線で示すブロック)の構成は、概ね従来と同様である。DSP1の演算部の各部は、信号処理のステップ周期毎に、μプログラムメモリ22から出力されたμコードに含まれる制御信号に基づき制御される。以下、DSP1の各部(i)に供給される制御信号を、「制御信号(i)」と表す。なお、「i」は該各部に付与された符号である。
第1セレクタ40は、制御信号(40)に応じて、ADC7からS/P変換部56を介して入力された2chの入力データ(波形データ、及びUP調整操作子2の操作値データ)と、バス49上のデータとのいずれかを選択して、選択されたデータを入出力RAM(I/O RAM)41に出力する。入出力RAM41は、制御信号(41)に応じて、第1セレクタ40からのデータを、制御信号(41)の示すアドレスに記憶したり、制御信号(41)の示すアドレスからデータを読み出して出力したりする。入出力RAM41には、ADC7からS/P変換部56を介して入力された2ch分の入力データや、P/S変換部57を化しいてDCA12へ出力すべき波形データなども格納される。テンポラリRAM(TempRAM)42は、制御信号(42)に応じて、バス49の出力データや遅延メモリ50からの読み出しデータMRDを、制御信号(42)の示すアドレスに記憶したり、制御信号(42)の示すアドレスからデータを読み出して出力する。テンポラリRAM42には、信号処理途中のデータの他、レジスタ30に渡すべき操作値データなどが格納される。
【0046】
第2セレクタ43は、入出力RAM41の出力、テンポラリRAM42、及びバス49の出力が、それぞれ入力され、制御信号(43)に応じて、それら3つの入力データのいずれか1つを選択して加算部46の一方の入力に供給する。第3セレクタ44は、入出力RAM41の出力、およびテンポラリRAM42の出力がそれぞれ入力され、制御信号(44)に応じて、そのいずれかを選択して乗算部47の一方の入力に供給する。第4セレクタ45は、係数データセレクタ27から出力される係数データCDと、バス49の出力とがそれぞれ入力され、制御信号(45)に応じて、そのいずれかを選択して乗算部47の一方の入力に供給する。
【0047】
加算部46は、第2セレクタ43の出力と、乗算部47の出力とを加算してシフタ48に出力する。制御信号(46)に応じてその出力を強制的にゼロとすることも可能である。乗算部47は、第3セレクタ44の出力と、第4セレクタ45の出力とを高速に乗算する。シフタ48は、制御信号(48)が示すビット数だけ加算部46の出力をビットシフトしてバス49へ出力する。
【0048】
遅延メモリ50は、デジタル波形データを遅延するために用いるメモリであって、DSP1の内部に設けられた内部メモリにより構成される。遅延メモリ50は、制御信号(50)に基づき、メモリアドレスデータMADを用いてアクセスされ、制御信号の内容に応じて、遅延メモリ50のアドレスMADから波形データ(メモリ読み出しデータ)MRDを読み出すか、又は、遅延メモリ50のアドレスMADに波形データ(メモリ書き込みデータ)MWDを書き込む。
【0049】
書き込みデータレジスタ51は、制御信号(51)に基づき、バス49上の波形データ(メモリ書き込みデータ)MWDを取り込んで、該メモリ書き込みデータMWDを遅延メモリ50に出力する。また、読み出しデータレジスタ52は、制御信号(52)に基づき、遅延メモリ50から読み出された波形データ(メモリ読み出しデータ)MRDを格納し、該メモリ読み出しデータRD波形データを、テンポラリRAM42に出力する。
【0050】
《遅延メモリのアドレス生成》
加算器53は、各ステップ毎に、アドレスデータセレクタ28から出力されたアドレスデータADと、サンプルカウンタ54から出力されたカウント値SCと、RADレジスタ55から出力されたレジスタアドレスデータRADを加算して、遅延メモリ50をアクセスするために用いるメモリアドレスデータMADを生成する。メモリアドレスMADは、遅延メモリ50の所定の上位アドレスを指示する上位ビットデータを切り捨てることで、メモリアドレスMADの指示するアドレスを遅延メモリ50の先頭アドレスに戻すように制御されている。この上位ビット切り捨て制御により、遅延メモリ50をリングメモリとして使用できる。
【0051】
サンプルカウンタ54は、サンプリング周期毎に1つずつダウンカウントして、カウント値SCを出力するカウンタである。加算器53において、アドレスデータADに、サンプルカウンタ54のカウント値SCを加算することで、各ステップのメモリアドレスデータMADを、1サンプリング周期毎に1アドレス分ずつシフトすることができる。
【0052】
RADレジスタ55は、制御信号(55)に基づき、所定のステップでバス49に出力されたデータをレジスタアドレスデータRADとして取り込み、該レジスタアドレスデータRADを加算器53に出力する。レジスタアドレスデータRADは、例えばコーラスレジスタアドレス効果やフランジャ効果などモジュレーション系のエフェクトタイプにおいて、遅延時間を変調するために、加算器53から出力されるメモリアドレスデータMADを変換するためのデータである。加算器53において、アドレスデータADにレジスタアドレスデータRADを加算することで、メモリアドレスデータMADにより読み出される遅延音の遅延時間を、レジスタアドレスデータRADに応じて周期的に変調することができる。
【0053】
シリアルパラレル変換部(S/P変換部)56は、ADC7からサンプリング周期毎に入力される2チャンネルのシリアル信号(UP調整操作子2の操作値データSDと波形データ)をパラレル信号に変換して、第1セレクタ40に出力する。第1セレクタ40に出力された2チャンネル分のデータは、所定のステップの制御信号(40)及び制御信号(41)に基づき、入出力RAM41の入力された波形データ用のアドレスと、入力された操作値データ用のアドレスに記憶される。また、パラレルシリアル変換部(P/S変換部)57には、所定ステップの制御信号41に基づいて入出力RAM41の出力すべき波形データ用のアドレスから読み出された、2チャンネルの波形データが入力される。P/S変換部57は、該入力した2チャンネルの波形データ(パラレル信号)を、2チャンネルのシリアル信号に変換して、サンプリング周期毎にDAC12へ出力する。
【0054】
《登載されるエフェクトタイプ》
図2は、上記構成からなるデジタルエフェクタに登載された複数種類のエフェクトタイプを説明する図である。図2において、「TYPE」欄には、デジタルエフェクタに登載された複数種類のエフェクトタイプのタイプ名が示されている。これら複数種類のエフェクトタイプのいずれか1つが、エフェクトタイプ選択コードEFTに基づいて選択される。「TYPE」の右欄は「PRG.」欄であり、対応するエフェクトタイプで使用するμプログラムが示されている。また、「PRG.」欄の右欄は「RANGE」欄であり、ここには、対応するエフェクトタイプで制御するパラメータのレンジ(可変範囲:パラメータが何個の値をとれるか)が示されている。図においては、便宜上、エフェクトタイプ毎の「RANGE」欄に、異なるアルファベット文字を示すことで、エフェクトタイプ毎にパラメータの値のレンジが異なる趣旨を表した。また、図示はしないが、ユーザパラメータの制御対象となるパラメータの種類(係数かアドレスか)や値(変換カーブ)もエフェクトタイプ毎に設定される。
【0055】
例えば、タイプ名「Reverb1」、「Reverb2」及び「Reverb3」はそれぞれ異なるタイプのリバーブ(残響)効果であって、これらのエフェクトタイプでは共通のリバーブ用μプログラム「Rev.(Reverb)」を用いることが図に示されている。「Reverb1」、「Reverb2」及び「Reverb3」は、「RANGE」欄に示す通り、それぞれ、パラメータのレンジが異なっている。また、例えば、タイプ名「Ehco1」及び「Ehco2」はそれぞれ異なるタイプのエコー効果であって、それぞれ、「RANGE」欄に示す通りパラメータのレンジが異なっている。これらエコー系のエフェクトタイプでもリバーブ用μプログラム「Rev.」を用いる。
【0056】
《メモリ構成》
図3は、図1のμプログラムメモリ22、係数メモリ23、アドレスメモリ24、及び変換テーブルメモリ25のそれぞれに記憶されている複数のデータセットの構成を説明する図である。各メモリ22〜25に記憶された複数のデータセットは、「C処理用」のデータセットと、「EF処理用」のデータセットとに大別される。
「EF処理」とは、1サンプリング周期の期間で実行されるプログラムの信号処理のうちの、エフェクトタイプ選択コードEFTに基づいて処理内容が変換する信号処理(効果付与処理)を指す。また、「C処理」とは、例えば波形データの入出力制御、入出力波形データに対する入出力フィルタ処理、或いはレベル制御処理等の、エフェクトタイプ選択コードEFTの値によらない「コンスタントな処理」である。DSP1は、1サンプリング周期毎に、所定のNcステップ分の「C処理」と、所定のNefステップ分の「EF処理」とを時分割で実行する。すなわち、NcとNefの和が所定複数ステップ(512ステップ)となる。DSP1が主に行うべき処理は「EF処理」であるので、NcはNefよりも少ないステップ数とされる。
【0057】
μプログラムメモリ22には、1つのC処理用のμプログラムと、複数のEF処理用のμプログラムが記憶されている。C処理用μプログラムは、所定のNc個のアドレスに格納されたNcステップ分のマイクロコード(μコード)により構成されている。また、各EF処理用μプログラムは、所定のNef個のアドレスに格納されたNefステップ分のμコードにより構成される。EF処理用μプログラムμコードには、ユーザパラメータタイプコードUPTCと遅延メモリ50に対するアクセスコードとが含まれるが、C処理用μプログラムにはそれらコードが含まれない。
【0058】
C処理用μプログラムは、全てのエフェクトタイプで共通に使用される。また、EF処理用μプログラムについては、複数のEF処理用μプログラムの中から第1選択回路21から供給されたPsel信号に基づき、現在選択されているエフェクトタイプに対応する1つのEF処理用μプログラムが選択される。複数のエフェクトタイプで同じEF処理用μプログラムを共用している場合があるので、μプログラムメモリ22に記憶されるEF処理用μプログラムの数は、当該デジタルエフェクタに登載されたエフェクトタイプの総数よりも少ない。
【0059】
係数メモリ23には、1つのC処理用の係数セットと、選択可能なエフェクトタイプの1つずつに対応する複数セットのEF処理用の係数セットとが記憶されている。C処理用係数セットは、所定のNc個のアドレスに格納されたNcステップ分のプリセット係数データからなる。また、各EF処理用係数セットは、所定のNef個のアドレスに格納されたNefステップ分のプリセット係数データからなる。C処理用の係数セットは、全てのエフェクトタイプで共通に使用される。また、EF処理用係数セットについては、複数のEF処理用係数セットの中から、第1選択回路21から供給されたAsel信号に基づき、現在選択されているエフェクトタイプに対応する1つのEF処理用係数セットが選択される。EF処理用係数セットは、当該デジタルエフェクトに登載された各エフェクトタイプ毎に1セットずつ用意されている。
【0060】
アドレスメモリ24には、複数のEF処理用アドレスセットのみが記憶されている。EF処理用アドレスセットは、基本的には、デジタルエフェクトに登載された各エフェクトタイプ毎に1セットずつ用意されるものであるが、遅延メモリ50を用いた遅延処理を行わないエフェクトタイプ(EF処理用μプログラムのμコードにアクセスコードを含まないもの)については、アドレスセットが不要である。複数のEF処理用アドレスセットの中から、第1選択回路21から供給されたAsel信号に基づき、現在選択されているエフェクトタイプに応じた1つのEF処理用アドレスセットが選択される。なお、遅延メモリ50に対するアクセスはEF処理でのみ行われるので、C処理用のアドレスセットは不要である。
【0061】
各アドレスセットは、当該アドレスセットに対応するエフェクトタイプのEF処理において、遅延メモリ50をアクセスするステップ数分のプリセットアドレスデータにより構成される。「遅延メモリ50をアクセスするステップ数」とは、当該アドレスセットに対応するエフェクトタイプで用いるEF処理用μプログラムの各ステップ毎のμコードに、「遅延メモリ50に対するアクセスコード」(「データ読み出し命令」、又は「データ書き込み命令」)が入っているステップの数である(後述の図4(a)参照)。従って、アドレスセットに含まれるアドレスデータの数は、EF処理用μプログラムのステップ数(Nefステップ)よりも少ない。
【0062】
変換テーブルメモリ25には、選択可能な複数エフェクトタイプの1つずつに対応する複数セットのEF処理用の変換テーブルセットが記憶されている。変換テーブルセットは、デジタルエフェクトに登載された各エフェクトタイプ毎に1セットずつ用意される。複数の変換テーブルセットの中から、第1選択回路から出力されたTsel信号に基づき、現在選択されているエフェクトタイプに対応する1つの変換テーブルセットが選択される。なお、操作値データXDを用いたユーザパラメータの制御はEF処理でのみ行われるので、C処理用の変換テーブルセットは不要である。
【0063】
各変換テーブルセットは、当該エフェクトタイプのEF処理の複数ステップ(Nefステップ)のうちで、ユーザパラメータ(ユーザ係数データUC又はユーザアドレスデータUA)を使用するステップ数に対応する数の複数の変換テーブルにより構成される。また、各変換テーブルセット中の変換テーブルのデータサイズは、その変換テーブルセットに対応するエフェクトタイプに応じた操作値データXDのレンジの広さに対応している。操作値データXDのレンジが広いほど、そのエフェクトタイプに対応する変換テーブルセット中の各変換テーブルのサイズは大きくなり、操作値データXDのレンジが狭いほど、そのエフェクトタイプに対応する変換テーブルセット中の各変換テーブルのサイズは小さくなる。従って、各変換テーブルセットに含まれる変換テーブルの数、及びは、変換テーブルのデータサイズは、エフェクトタイプ毎に異なる。
【0064】
各変換テーブルは、それぞれ、UP調整操作子2の操作値データXDをユーザパラメータに変換するもので、UPカウンタ29の生成するカウント値UPCに基づき、EF処理の複数ステップのうちのユーザパラメータを用いるステップ毎に1枚ずつ切り替えて使用される。ユーザパラメータを用いるステップ毎に異なる変換特性の変換テーブルを用いることで、該ユーザパラメータを用いるステップのパラメータ毎に、UP調整操作子2の操作値データXDを異なる値に制御することができるようになる。
【0065】
《EF処理用マイクロプログラム》
図4(a)は、μプログラムメモリ22に記憶された複数のEF処理用μプログラムのうちの1つのEF処理用μプログラムの記述例を示す。図4(a)に示す通り、1つのEF処理用μプログラムは、第0アドレス〜第Nefアドレスの合計Nef個の各アドレスに1つずつμコードが記憶されており、1つのアドレスに格納されたμコードが信号処理のステップ周期毎に出力される。各ステップのμコードには、図1において点線で描いた各ブロック(符号40〜52で示す演算部、符号31で示すレジスタ)と、第2選択回路26、及び、加算器53の各部に対する制御信号が含まれるが、図4(a)では、図示の便宜上、その一部だけを示した。
【0066】
EF処理用μプログラム中のμコードのうち制御信号「UPTC」は、第2選択回路26に出力されるユーザパラメータタイプコードUPTCであって、8通りのタイプを指定しうる3ビットの2進値により構成される。第0アドレス〜第Nefアドレスの各アドレス毎にUPTCの値が設定される。例えば、図4(a)において、第0アドレスの「UPTC」の値が「111」であるのに対して、第2アドレスの「UPTC」の値は「010」であり、各アドレス毎に、それぞれ異なるパラメータのタイプが設定されている。
【0067】
また、μコードのうち制御信号(50)「遅延RAM」は、遅延メモリ50に対するアクセスコードである。遅延メモリ50に対するアクセスコードは、遅延メモリ50からのデータ読み出し命令、又は遅延メモリ50へのデータ書き込み命令、又は、アクセス無しを3通りの命令を示す2ビットの2進値により構成される。EF処理用μプログラムのNefステップのうちで、アクセスコードとしてデータ読み出し命令、又はデータ書き込み命令が入っているステップが、「遅延メモリ50をアクセスするステップ」となる。例えば、制御信号「遅延RAM」の値が「01」で読み出し命令を示し、「10」で書き込み命令を示すものとすると、図4(a)において、第1アドレス、第3アドレス等が「遅延メモリ50をアクセスするステップ」であって、「遅延メモリ50にアクセスするステップ」がNefステップのうちの一部だけであることが図に示されている。
【0068】
《UPTCとUPT》
図4(b)は、μコードに含まれるユーザパラメータタイプコードUPTCユーザパラメータタイプ指定信号UPTと、第1選択回路21の出力するユーザパラメータタイプ指定信号UPTの構成例を説明する図である。UPTCとUPTとは、前述のとおり、パラメータ(係数データ又はアドレスデータ)の「タイプ」を指示するコードである。(b)に示す8通りのUPT及びUPTCには、それぞれ「0」〜「7」の番号が付与されている。
【0069】
(b)において、UPTCの「0」、「1」及び「2」は、それぞれ異なる係数タイプコード(タイプ1係数〜タイプ3係数)に割当てられている。また、UPTCの「4」、「5」及び「6」は、それぞれ異なるアドレスタイプコード(タイプ1アドレス〜タイプ3アドレス)に割当てられている。また、UPTCの「7」はNOP命令(タイプ指定処理なし)が割当てられており、また、UPTCの「3」はコードとして使用しない(Don’t use)。
【0070】
また、UPTの「0」、「1」及び「2」は、UPTCと同様に、それぞれ異なる係数タイプコード(タイプ1係数〜タイプ3係数)に割当てられており、また、ユーザパラメータタイプ指定信号UPTの「4」、「5」及び「6」は、UPTCと同様に、それぞれ異なるアドレスタイプコード(タイプ1アドレス〜タイプ3アドレス)に割当てられている。また、UPTの「3」はUP不使用(UPON=L)に割当てられており、また、UPTの「7」はコードとして使用しない(Don’t use)。
【0071】
図4(b)において、同じ番号「0」〜「7」が付与されたUPTとUPTCとが、互いに対応する(一致する)コードである。UP機能を使用する(UPON=H)場合には、EF選択操作子3によって現在選択されているエフェクトタイプに応じたUPTが出力されるので、当該エフェクトタイプに応じたEF処理用μプログラムの複数ステップのうちで、該UPTに対応する(一致する)UPTCが設定されたステップが、EF処理の複数ステップのうちのユーザパラメータを用いるステップとなる。すなわち、現在選択されているエフェクトタイプにおいて、EF処理の複数ステップのうちのいずれのステップがユーザパラメータを用いるステップに該当するかは、EF処理用μプログラムのステップ毎に設定されたUPTCの値により特定される。この意味で、現在選択されているエフェクトタイプに応じたUPTと一致するUPTCは、「パラメータの置換え」を示す「置換コード」して機能する。
【0072】
一方、UP機能を不使用のとき(UPON=L)の場合には、UPTの値として「3」が出力されるが、これに対応するUPTCの「3」はコードとして使用されないので、UPTとUPTCが一致することはない。したがって、結果的に、係数データセレクタ27及びアドレスデータセレクタ28によって常にプリセットパラメータが選択され、UP機能が使用されないことになる。また、UPTCの「7」はNOP命令に割当てられているので、その値が設定されたμコードのステップでは、いずれのエフェクトタイプでも係数データセレクタ27及びアドレスデータセレクタ28によって常にプリセットパラメータが選択されることになる。
【0073】
《DSP1が実行する信号処理の内容》
図5は、上記構成からなるDSP1が、サンプリング周期毎に実行する信号処理の内容を説明するブロック図である。図5において、点線で囲まれた各ブロックの処理は、信号処理のステップ周期毎にμプログラムメモリ22から出力されるμコードに含まれる制御信号に基づき、DSP1の演算部(図1において符号40〜52で示す各部)が実行する処理である。
また、図5においてハッチングを施した各ブロックは、信号処理のうちのEF処理用μプログラムに基づくEF処理に関するブロックである。これらEF処理に関する各ブロックにおけるデータや信号処理の内容は、現在、エフェクトタイプ選択コードEFTに基づいて選択されているエフェクトタイプに応じて異なる。それ以外の白抜きで示す各ブロックはC処理に関するブロックである。これらC処理に関する各ブロックにおける信号処理の内容は全てのエフェクトタイプで共通である。
【0074】
ADC7からは、入力されたアナログ波形とUP調整操作子2の操作値データSDとの2チャンネルのアナログ信号を、それぞれ所定のサンプリング周波数でデジタル信号に変換した2チャンネルのデジタル信号が、サンプリング周期毎にDSP1に出力される。なお、2チャンネル(Lch及びRch)デジタル信号のうち、Rchに波形データが割当てられており、Lchに操作値データSDが割当てられているものとする。
【0075】
《入力側のC処理》
Rch入力部60は、S/P変換部56からのRチャンネルのデータを入出力RAM41に取り込む処理を行うことにより、ADC7からの波形データを入力する。HPF処理及びレベル制御部62は、Rch入力部60により入力された波形データをハイパスフィルタ処理し、更に、後述するレベル値生成部77で生成したレベル値で該波形データのレベルを制御して、処理された波形データを出力する。Din書込部63は、該処理された波形データを、入出y録RAM41のEF処理へ入力する波形データ用のアドレスに書き込むことにより、該波形データを、エフェクト処理部(EF処理部)64に供給する。一方、Lch入力部61は、S/P変換部56からのLチャンネルのデータを入出力RAM41に取り込む処理を行うことにより、ADC7からの操作値データSDを入力する。LPF処理部65は、Lch入力部61により入力された操作値データSDをローパスフィルタ処理し、処理された操作値データSDをテンポラリRAM42の処理済み操作値データ用のアドレスに書き込む。SD出力部66は、テンポラリRAM42から該書き込まれた操作値データSDを読み出し、操作値レジスタ30に記憶させることにより、前記ローパスフィルタ処理された操作値データSDをレンジ制御部67に出力する処理を行う。
【0076】
《EF処理》
EF処理部64は、Din書込部63により入出力RAM41に書き込まれた前記波形データ(モノラル)に対して、現在、エフェクトタイプ選択コードEFTに基づいて選択されているエフェクトタイプに応じたEF処理用μプログラムに基づく効果付与処理(EF処理)を行い、EF処理されたステレオ2チャンネル(Lチャンネル及びRチャンネル)の波形データを得る。エフェクトタイプ別のEF処理の具体例は後述する。EF処理部64が実行するEF処理の各ステップで用いるパラメータは、係数供給部71からステップ毎に供給される係数データCD、及びアドレス供給部72からステップ毎に供給されるアドレスデータADにより制御される。そして、EF処理された2チャンネル波形データを、入出力RAM41のEF処理から出力する波形データ用のアドレスに書き込む。すなわち、EF処理部64は、マイクロコード出力部(μプログラムメモリ22)から出力されるマイクロコードと、パラメータ選択部(第2選択回路26、係数データセレクタ27及びアドレスデータセレクタ28)により選択されたパラメータとに基づいて、入力される音響信号に信号処理を施し、該信号処理された音響信号を出力する。
【0077】
《出力側のC処理》
Dout読出部73は、入出力RAM41から、前記EF処理された2チャンネルの波形データをチャンネル毎に読み出して、レベル制御部74に出力する。レベル制御部74は、Dout読出部73により読み出されたチャンネル毎の波形データのレベルを、後述するレベル値生成部77で生成したレベル値に基づき制御し、該レベル制御された2チャンネルの波形データを入出力RAM41のDAC12へ出力すべき波形データ用のアドレスに書き込む。Lチャンネル出力部75及びRチャンネル出力部76は、入出力RAM41から、該レベル制御された2チャンネルの波形データを読み出し、P/S変換部57に書き込むことにより、該2チャンネルの波形データを、DAC12へ出力する。
【0078】
また、C処理のブロックに含まれるレベル値生成部77(図10)は、HPF処理及びレベル制御部62、並びにレベル制御部74のレベル制御(詳細については、図8、及び図9を参照しつつ後述する)に用いるレベル値を生成する。なお、レベル値生成部77は、次回のサンプリング周期で実行するレベル制御に用いるレベル値を生成するものである。言い換えれば、HPF処理及びレベル制御部62、並びにレベル制御部74は、直前のサンプリング周期でレベル値生成部77が生成したレベル値を用いてレベル制御を行う。
【0079】
《パラメータの供給》
レンジ制御部67、変換テーブル部68、係数セット部69及びアドレスセット部70は、EF処理に用いるパラメータを出力する処理を行うブロックである。これら各ブロックの処理は、μプログラムによる制御を受けない。図5では、これら各ブロックを点線の囲み外に描くことで、μプログラムによる制御を受けない趣旨が表現されている。
【0080】
レンジ制御部67は、図1のレンジ制御部31に対応しており、SD出力部66から出力された操作値データSDの可変範囲(レンジ)を、現在選択されているエフェクトタイプに応じたパラメータ可変範囲(レンジ)に制御して、レンジ制御した操作値データXDを変換テーブル部68に出力する。
【0081】
《変換テーブルの切り替え》
変換テーブル部68は、図1の変換テーブルメモリ25に対応している。変換テーブル部68において、現在選択中のエフェクトタイプに応じて複数変換テーブルセットのうちの1つの変換テーブルセットが選択され、UPカウンタ29により生成されたカウント値UPCに基づき、変換テーブルセット中の1つの変換テーブルが選択される。UPカウンタ29のカウント値UPCは、上述した通り、サンプリング周期毎にリセットされ、且つ、UPTCによりパラメータの置換えが指示されたステップ毎(UPTとUPTCが一致したステップであって、ユーザパラメータを使用するステップ毎)に1ずつ歩進するものであるから、変換テーブル部68においては、現在選択中のエフェクトタイプに応じた変換テーブルセット中の変換テーブルが、サンプリング周期の先頭から順に、UPTCによりパラメータの置換えが指示されたステップ毎(ユーザパラメータを使用するステップ毎)に、1つずつ切り替わる。そして、次のサンプリング周期の先頭で、変換テーブル部68において選択される変換テーブルは1枚目に戻り、前回と同様に、UPTとUPTCが一致したステップ毎に、1つずつ切り替わる。
【0082】
変換テーブル部68の変換テーブルが上記の通りUPカウンタ29のカウント値UPCに基づき切り替わることで、UP調整操作子2の操作値データXDは、エフェクトタイプに応じた特定の複数のステップ毎に、異なる変換特性の変換テーブルによって変換された相互に異なる値となる。
【0083】
《プリセットパラメータの出力》
また、係数セット部69は、図1の係数メモリ23に対応しており、信号処理のステップ周期毎に、該現在選択中のエフェクトタイプに応じた係数セットの各アドレスからプリセット係数データPCを出力する。また、アドレスセット部70は、図1のアドレスメモリ24において現在選択中のエフェクトタイプに応じたアドレスデータセットに対応しており、号処理のステップ周期毎に、該アドレスデータセットの各アドレスからプリセットアドレスデータPAを出力する。なお、プリセットアドレスデータPAは、遅延メモリ50をアクセスするステップにだけ必要なデータであるから、EF処理の全てのステップで出力されるわけではない。
【0084】
《特定ステップのユーザパラメータの制御》
係数供給部71及びアドレス供給部72は、図1の第2選択回路26、係数データセレクタ27及びアドレスデータセレクタ28の動作に対応している。すなわち、係数供給部71は、信号処理のステップ周期毎にμプログラムメモリ22から出力されるUPTCと、現在選択されているエフェクトタイプに応じたUPTが同じ係数タイプコード(図4(b)のタイプ1係数〜タイプ3係数のいずれか)で一致したステップで変換テーブル部68から出力されたユーザ係数データUCを選択し、それ以外のステップでは、係数セット部69から出力されたプリセット係数データPCを選択して、選択したデータをそのステップの係数データCDとしてEF処理部64に出力する。また、アドレス供給部72は、信号処理のステップ周期毎にμプログラムメモリ22から出力されるUPTCと、現在選択されているエフェクトタイプに応じたUPTが同じアドレスタイプコード(図4(b)のタイプ1アドレス〜タイプ3アドレスのいずれか)で一致したステップで変換テーブル部68から出力されたユーザアドレスデータUAを選択し、それ以外のステップではアドレスセット部70から出力されたプリセットアドレスデータPAを選択して、選択したデータをそのステップのアドレスデータADとしてEF処理部64に出力する。
【0085】
したがって、UP機能を使用する場合、EF処理部64は、現在選択されているエフェクトタイプに応じた特定のステップ(UPTとUPTCが一致したステップ)のパラメータを、UP調整操作子2の操作値データXDに応じたユーザパラメータ(ユーザ係数データUC又はユーザアドレスデータUA)により制御することができるようになる。EF処理用μプログラムの各ステップ毎のUPTCと現在選択されているエフェクトタイプに応じたUPTとの組み合わせによりUPTとUPTCが一致するステップ、つまりユーザパラメータを用いるステップが決定するので、複数のエフェクトタイプで同じEF処理用μプログラムを共用している場合であっても、エフェクトタイプ毎に特定のステップのパラメータをユーザパラメータとすることができるようになる。
【0086】
《動作タイミング》
DSP1が図5に示す信号処理を実行するタイミングについて、図6のタイミング図を参照して説明する。図6において、横軸は時間である。図6(a)の動作クロックΦoは、サンプリング周期毎に、DSP1が実行するμプログラム処理の複数ステップ(512ステップ)分のカウント値をカウントして、そのステップ毎の信号処理タイミグを示す。(b)は、ワードクロック信号(WC信号)であって、これはサプリング周期ごとのクロック信号である。また、(c)は、1サンプリング周期におけるC処理とE処理の切り替えタイミングを制御するC/E信号であって、1サンプリング周期の前半のNcステップ分の期間(WC信号の立ち上がりエッジからNcステップ分の期間)で「C」(ハイレベル)のパルスが発生し、その後のNcステップ分の期間で「E」(ローレベル)となる。
【0087】
(d)は、サンプリング周期毎にADC7からDSP1にシリアル伝送される2チャンネルのシリアル信号の入力タイミングを示す。(d)に示す通り、WC信号の立ち上がりエッジがLchのデータの先頭を示し、立ち下がりエッジがRchのデータの先頭を示しており、WC信号の半周期以内に1チャンネル分のデータのサンプルがDSP1のS/P変換部56に入力されるようになっている。
【0088】
(e)は、サンプリング周期毎にDSP1が実行するμプログラム処理のうちC処理とEF処理の切り替えタイミングを示す。C/E信号の立ち上がりタイミング(C側に立ち上がるタイミグ)がC処理の開始を示しており、立ち下がりタイミグがEF処理の開始を示す。すなわち、C/E信号のC出力の期間は、Ncステップ分のC処理が実行され、C/E信号のE出力の期間は、Nfeステップ分のEF処理が実行される。
【0089】
(f)は、サンプリング周期毎にDSP1からDCA12にシリアル伝送される2チャンネルのシリアル信号の出力タイミングを示す。シリアル信号のLchは、図5のEF処理部64からレベル制御部74を介して出力された2チャンネルの波形データのLチャンネルに割当てられており、Rchはステレオ2チャンネルの波形データのRチャンネルに割当てられている。(f)に示す通り、DSP1のP/S変換部57からは、WC信号の半周期以内にステレオ信号の1チャンネル分のデータが出力されるようになっている。図の例では、WC信号の立ち下がりタイミングがLchのデータの末尾を示し、立ち上がりのタイミングがRchのデータの末尾を示している。
【0090】
(d)のシリアル信号の入力を示すレーンにおいて、図面上で左端に示す第1番目のサンプリング周期で入力されるデータが太線で示されている。(e)のμプログラム処理を示すレーンにおいて、第2番目のサンプリング周期で実行されるC処理、及びEF処理が太線で示されており、当該サンプリング周期の先頭に下向き矢印が描かれている。これは、当該第2番目のサンプリング周期のμプログラム処理において、直前の第1番目のサンプリング周期で入力されたデータのサンプルを信号処理することを表している。また、(f)のシリアル信号の入力を示すレーンにおいて、第3番目のサンプリング周期で出力されるデータが太線で示されており、当該サンプリング周期の先頭に下向き矢印が描かれている。これは、当該第3番目のサンプリング周期において、直前の第2番目のサンプリング周期でμプログラム処理された波形データがDCA12へ出力されることを示している。
【0091】
サンプリング周期毎にDSP1が実行するμプログラム処理の手順の一例を説明する。まず、C処理では、直前のサンプリング周期にEF処理された2チャンネルの波形データを、Dout読出部73により読み出し、レベル制御部74によりレベル制御して、Lチャンネル出力部75及びRチャンネル出力部76により、該レベル制御された2チャンネルの波形データをP/S変換部57(DAC12)へ出力する。この出力処理を行ってから、当該サンプリング周期で信号処理すべき波形データ(すなわち、直前のサンプリング周期にADC7からシリアル入力されたデータ)をRch入力部60によりS/P変換部56から取り込んで、HPF処理及びレベル制御部62によりハイパスフィルタ処理やレベル制御を行って、Din書込部63によりEF処理部64へ書き込み、更に、次のサンプリング周期で使用するレベル値を生成するレベル値生成処理をレベル値生成77により行う。ここまでが、当該サンプリング周期の前半のNcステップ分の期間で、C処理用μプログラムのNcステップのμコードを実行することにより行われるC処理である。続いて、EF処理用μプログラムのNefステップのμコードを実行することにより、直前のサンプリング周期にADC7から入力されたデータに対して該Nefステップのμコードに基づいてNefステップの信号処理を施す。
【0092】
《EF処理の具体例》
図7(a)〜(c)は、図5のEF処理部64がEF処理用μプログラムに基づき実行するEF処理の内容を、エフェクトタイプ別に示すブロック図である。
図7(a)はリバーブ効果や、エコー効果などに用いるリバーブ用μプログラム(図2の「Rev.」)の処理内容を示すブロック図である。リバーブ効果及びエコー効果は入力された音に残響を付加して出力するエフェクトである。(a)に示すリバーブ、エコー等のEF処理は、入力段のローパスフィルタ(LPF)80と、初期反射音制御部(「Early Ref.」)81と、残響制御部(「Reverb」)82と、2系統の出力チャンネルのそれぞれに対応して設けられた混合部(MIX)83,84からなり、初期反射音と残響音との2種の残響が別々に制御されるよう設計されている。初期反射音制御部81は、LPF80でローパスフィルタ処理された波形データに対して、遅延メモリ50を使った遅延処理を利用して初期反射音を制御する。また、残響制御部82は、初期反射音制御部81の出力に対して遅延メモリ50を使った遅延処理を利用して残響音を制御する。2系統の出力チャンネルごとの混合部83,84は、それぞれ初期反射音制御部81の出力と残響制御部82の出力を混合して出力する。
【0093】
(a)に示すリバーブ用μプログラムは、複数タイプのリバーブ(図2の「リバーブ1」〜「リバーブ3」)や、複数タイプのエコー(図2の「エコー1」、「エコー2」)など、複数のエフェクトタイプで共通に使用される。リバーブ用μプログラムを用いる信号処理では、エフェクトタイプに応じて、UP調整操作子2の操作値データXDにより、係数データCDを制御する場合と、アドレスデータADを制御する場合とがある。すなわち、エフェクトタイプに応じて、変換テーブル部68からユーザ係数データUCを出力するか、ユーザアドレスデータUAを出力するかが異なる。また、リバーブ用μプログラムを用いた信号処理では、エフェクトタイプに応じて、UP調整操作子2の操作値データXDに応じたユーザパラメータ(ユーザ係数データUC又はユーザアドレスデータUA)を用いて初期反射音制御部81を制御する場合と、残響制御部82を制御する場合とがある。すなわち、エフェクトタイプに応じてユーザパラメータによって制御される対象が異なる。
【0094】
図7(b)は、コーラス、フランジャなどにモジュレーション系のエフェクトタイプに用いるモジュレーション用μプログラム(図2の「Mod.」)の処理内容を示すブロック図である。(b)に示すEF処理は、入力段のローパスフィルタ(LPF)85と、遅延部(DELAY)86と、低周波信号を発振するLFO87と、2系統の出力チャンネルのそれぞれに対応して設けられたタップ及び混合部(TAP&MIX)88,89からなる。入力された波形データは、LPF85を通して、遅延部86に入力される。遅延部86は、入力された波形データも所定の遅延時間の遅延を施して、2系統の出力チャンネルのそれぞれに対応して設けられた複数(3つ)のタップからそれぞれ異なる遅延時間で遅延された波形データを出力する。タップ及び混合部88,89は、それぞれ、遅延部86の複数(3つ)のタップから出力されたそれぞれ異なる遅延時間で遅延された波形データを取り出して、LFO87が発振している低周波信号により各タップから出力された波形データの遅延時間を変調し、それら異なる遅延時間の波形データを合算して出力する。
このモジュレーション用μプログラムを使う信号処理では、UP調整操作子2の操作値データXDにより係数データCDを制御する。すなわち、変換テーブル部68はユーザ係数データUCを出力する。そして、UP調整操作子2の操作値データXDに応じたユーザパラメータ(ユーザ係数データUC)によりLFO87を制御する。
【0095】
図7(c)は、ディストーションなど、歪み系のエフェクトタイプに用いるEF処理用μプログラムの処理内容を示すブロック図である。(c)に示すEF処理は、入力段のローパスフィルタ(LPF)90と、非線形制御部(Non−Liner)91と、該非線形制御部91の出力が入力されるローパスフィルタ(LPF)92と、2系統の出力ごとの混合部(MIX)93,94からなる。非線形制御部91は、LPF90でローパスフィルタ処理された波形データを非線形特性で歪ませて、効果付与した波形データをLPF92を通して、2系統の混合部93,94のそれぞれへ出力する。混合部93,94は、LPF92から出力された波形データ(WET信号)と、非線形制御部91に入力前の波形データ(原音)を混合して出力する。
このEF処理用μプログラムを使うエフェクトタイプでは、UP調整操作子2の操作値データXDにより係数データCDを制御する。すなわち、変換テーブル部68はUP調整操作子2の操作値データXDに応じたユーザ係数データUCを出力する。そして、UP調整操作子2の操作値データXDに応じたユーザパラメータ(ユーザ係数データUC)により非線形制御部91を制御する。
【0096】
なお、図7(a)〜(c)に例示したEF処理は、一例であって、デジタルエフェクタには、図に示したもの以外にもエフェクトタイプ別のEF処理がある。また、図7(a)〜(c)を参照して説明したEF処理の構成や、エフェクトタイプ別の制御対象のパラメータ等の詳細も一例に過ぎず、これに限定されるものではない。
【0097】
《エフェクトタイプ切り替え》
EF選択操作子3がユーザによって操作され、エフェクトタイプの切り替えが指示されたとき、DSP1は、WET信号(EF処理された波形)のレベルを一旦ミュートしてから、エフェクトタイプの切り替え処理を行う。図8は、エフェクトタイプを切り替える処理を行うときの各種動作のタイミングを示しており、横軸は時間である。なお、図8では、図6のタイミング図に比べて時間軸を縮小して示している。
【0098】
EF選択操作子3の操作に応じたEFT信号が第1選択回路21に供給されると、第1選択回路21はCHG信号を出力する(図1参照)。CHG信号は、図8(a)に示す通り、ハイレベル(H)及びローレベル(L)の2値の信号である。EF選択操作子3の操作により、エフェクトタイプ選択コードEFTが示すエフェクトタイプが変化すると、第1選択回路21から出力されるCHG信号は、図8に示す通り、“H”に立ち上がる。そして、CHG信号の立ち上がりエッジのタイミングで、レベル値生成部77においては、レベル値の新たな目標値として「−∞dB」が設定される。これにより、レベル値生成部77が出力しているレベル値は減衰を開始し、複数サンプリング周期かけて、0dB(最大値)から−∞dB(最小値)まで徐々に変化する。その結果、HPF処理及びレベル制御部62から出力される波形データ(EF処理への入力信号)、及び、レベル制御部74から出力される2チャンネルの波形データ(WET信号)がフェードアウトされる。
【0099】
レベル値生成処理は、レベル値が−∞dBまで下がったタイミングで、ACK信号のワンショットパルスを発生し、発生したACK信号が第1選択回路21に入力される。このACK信号の立ち上がりエッジのタイミングで、第1選択回路21から出力されていたCHG信号が“L”に立下がって、エフェクトタイプ切り替え処理(EF切替)が開始する。すなわち、第1選択回路21からμPsel、UPT、Csel、Tsel,Asel、UPRの各信号を出力して、EF選択操作子3の操作に応じたエフェクトタイプ変更をDSP1に反映させる処理や、遅延メモリ50をクリアする処理などを行う。EF切替処理によって、図5においてハッチングを施した各ブロックの処理内容が変更される。
【0100】
このEF切替処理には所定の数サンプリング周期の時間がかかる。ACK信号の発生から所定の数サンプリング周期の時間はレベル値が−∞dBの状態で待機して、EF切替処理を実行するための時間を確保する(図8を参照)。EF切替処理が終わると(所定の数サンプリング周期待機後)、レベル値生成部77においては、レベル値の新たな目標値として「0dB」が設定され、レベル値生成部77からレベル値の漸増が始る。これにより、レベル値は、複数サンプリング周期かけて、−∞dBから0dBに戻り、HPF処理及びレベル制御部62から出力される波形データ(EF処理の入力信号)、及び、レベル制御部74から出力される2チャンネルの波形データ(WET信号)がフェードインされる。エフェクトタイプ選択コードEFTの変化時に、このように出力信号を一時的にミュートしてμプログラムや係数などを変更することで、EF処理の切り替えに伴う、不所望なノイズの発生等の不都合を防いでいる。レベル値が0dBに戻れば、それ以後、今回新たに選択されたエフェクトタイプに応じてEF処理された波形データがDSP1から出力されるようになる。
【0101】
《ユーザアドレスデータの値変更》
また、UP操作子2の操作によりユーザアドレスデータUAの値が変更されるときにも、上記図8を参照して説明したエフェクトタイプ切り替え処理時と同様な、CHG信号とACK信号を用いたレベル制御が行われる。すなわち、図1において、操作値レジスタ30は、第2選択信号P/U2の接続線に接続されており、第2選択信号P/U2のHレベルが入力されるよう構成されている。UP調整操作子2の操作値データSDによりユーザアドレスデータUAが制御されるとき(第2選択信号P/U2のHレベルが入力され、UP調整操作子2の操作によってユーザアドレスデータUAの値の変更が指示されたとき)には、操作値レジスタ30は、UP調整操作子2の操作に応じた操作値データSDを出力する前に、図8で説明した動作と同様に、CHG信号のHレベルを出力する。DSP1は、CHG信号の立ち上がりエッジのタイミングでレベル値生成処理を開始して、レベル値を0dBから−∞dBまで下げてから、ACK信号を操作値レジスタ30に入力する。操作値レジスタ30は、ACK信号の入力タイミングで、UP調整操作子2の操作に応じた操作値データSDをレンジ制御部31に出力し、且つ、CHG信号をLレベルに立ち下げる。これにより、WET信号(EF処理された波形)のレベルを一旦ミュートしてから、UP調整操作子2の操作による値の変更がメモリアドレスMADに反映されることになる。
【0102】
《UP使用/不使用切り替え》
また、UPオン/オフSW4が操作されたときにも、上記図8を参照して説明したエフェクトタイプ切り替え処理時と同様な、CHG信号とACK信号を用いたレベル制御が行われる。UPオン/オフSW4がオフされて、UP不使用が指示されたとき、第1選択回路21は、CHG信号のHレベルを出力することによりレベル値生成処理を開始させて、レベル値を−∞dBまで下げてから、ACK信号の入力タイミングでCHG信号をLレベルに立ち下げて、且つ、ユーザパラメータタイプ指定信号UPTとしてUP機能不使用を示す値「3」(図4(b)を参照)を出力する。その後、レベル値生成処理はレベル値を0dBに戻す。また、UPオン/オフSW4がオンされて、UP使用が指示されたとき、第1選択回路21は、CHG信号のHレベルを出力することによりレベル値生成処理を開始させて、レベル値を−∞dBまで下げてから、ACK信号の入力タイミングでCHG信号をLレベルに立ち下げて、且つ、ユーザパラメータタイプ指定信号UPTとして現在選択されているエフェクトタイプ選択コードEFTに応じた値を出力する。その後、レベル値生成処理はレベル値を0dBに戻す。これにより、WET信号(EF処理された波形)のレベルを一旦ミュートしてから、UP使用又は不使用の切り替えが行われる。
【0103】
《効果付与機能のオン/オフ切り替え》
EFオン/オフSW5の操作により効果付与機能のオン/オフが切り替えられたときにも、上記と概ね同様なレベル制御が行われる。ただし、この場合、レベル制御は、効果付与機能がオフの間はWET信号のレベルを−∞dB(最小値)に下げておき、効果付与機能がオンの間はWET信号のレベルを0dB(最大値)に設定すればよく、ここでは、EFオン/オフSW5の操作により出力される制御信号EFONのH及びLに応じて、DSP1はレベル値生成処理によるレベル制御を行う。
【0104】
図9は、EFオン/オフSW5の操作により効果付与機能のオン/オフが切り替えられたときのレベル制御に関する各種タイミングを示しており、横軸は時間である。なお、図9では、図8と同様に、図6のタイミング図に比べて時間軸を縮小して示している。効果付与機能の「オン」又は「オフ」を示す制御信号EFONは、前述のとおり、“H”レベルで効果付与機能の「オン」を示し、“L”レベルで効果付与機能の「オフ」を示す。EFオン/オフSW5の操作により効果付与機能がオフされると、制御信号EFONがLレベルに立ち下がったエッジのタイミングでレベル値生成処理を開始してレベル値を漸減することで、複数サンプリング周期かけて、レベル値を−∞dBまで下げる。効果付与機能が「オフ」の間(EFON=Lの間)は、レベル値は−∞dBに設定されたままである。これに対して、EFオン/オフSW5の操作により効果付与機能がオンされると、制御信号EFONがHレベルに立ち上がったエッジのタイミングでレベル値生成処理を開始してレベル値を漸増することで、複数サンプリング周期かけて、レベル値を0dBまで戻す。効果付与機能が「オン」の間(EFON=Hの間)は、レベル値は0dBに設定されたままである。なお、図9のタイミング図では、EFONがHレベルに立ち上がったエッジのタイミングでレベル値の漸増が開始するようにしているが、EFONがHレベルに立ち上がったエッジのタイミングよりも遅れてレベル値の漸増を開始させるようにしてもよい。
【0105】
《レベル値生成処理》
図10は、サンプリング周期毎にレベル値生成部77が実行するレベル値生成処理の内容を説明するブロック図である。図10において、レベル値生成処理は、更新制御部95と、現在のレベル値を保持するレジスタ96と、更新制御部95から出力される目標値(Target)とレジスタ96が保持する現在のレベル値を比較する比較部97と、更新制御部95の制御により新たなレベル値を生成する更新部98とからなる。なお、レベル値は所定ビット数(例えば14ビット)の2進値により構成されるデシベル単位のデータである。
【0106】
更新制御部95には、レベル値生成処理の開始のトリガ信号として、前記CHG信号と、前記制御信号EFONと、デジタルエフェクタのリセットを指示するリセット信号Resetが入力されている。更新制御部95は、入力されたCHG信号の値が“H”のとき又は、入力された制御信号EFONが“L”のときに、目標値として「−∞dB」を比較部97に出力して、入力されたCHG信号の値が“L”のとき又は、入力された制御信号EFONが“Lのときに、目標値として「0dB」を比較部97に出力する。また、更新制御部95は、現在のレベル値が「−∞dB」まで下がったときに、ACK信号を出力する。
【0107】
レジスタ96は、サンプリング周期毎に、現在のレベル値(直前のサンプリング周期で生成されたレベル値)を出力するとともに、更新部98から当該サンプリング周期で生成された新たなレベル値を取り込む。比較部97は、サンプリング周期毎に、レジスタ96から出力された現在のレベル値と、更新制御部95から出力された目標値とを比較して、その比較結果(目標値がレベル値より大きいか、又は小さいか)を更新制御部95に供給する。
【0108】
更新制御部95は、サンプリング周期毎に、比較部97の比較結果に応じた制御信号を、更新部98に出力する。制御信号は、目標値がレベル値より大きいときには、更新部98にレベル値を1ステップ増加させる命令であり、目標値がレベル値より小さいときには、更新部98にレベル値を1ステップ減少させる命令である。更新部98は、サンプリング周期毎に、更新制御部95から入力された制御信号に基づき、レジスタ96から出力された現在のレベル値を1ステップずつ増加、又は減少して、新たなレベル値を生成する。
【0109】
上記構成からなるレベル値生成処理により、複数サンプリング周期かけてレベル値を増加又は減少させて、現在のレベル値を目標値(−∞dB、又は0dB)に一致させることができる。したがって、図8及び図9を参照して説明したようなレベル制御を行うことができる。なお、レベル値生成処理の開始のトリガ信号としてリセット信号Resetが入力されたときには(ユーザによりリセットが指示されたとき)、図8又は図9で説明したのと同様なレベル制御を行えばよい。すなわち、リセットが指示されたときに、目標値として「−∞dB」を出力して、レベル値を減少するような動作を行いリセット動作が完了してから、目標値として「0dB」を出力してレベル値を最大値に戻す動作を行えばよい。また、比較部97で比較基準となる目標値は−∞dB(最小値)、又は0dB(最大値)のいずれかなので、比較部97の動作は現在のレベル値の全ビットのAND演算やOR演算だけで実現可能である。
【0110】
以上説明したとおり、本発明にかかる実施例によれば、信号処理の所定の複数ステップのうちで、現在指定されているエフェクトタイプに応じたUPTに対応するUPTCが出力された特定のステップのパラメータを、変換テーブルメモリ25から出力されたユーザパラメータとすること、すなわち、UP調整操作子2の操作値データSDに応じて制御することができ、特に、共通のマイクロプログラムを異なるエフェクトタイプに使用している場合も、エフェクトタイプに応じて異なる特定のステップのパラメータをユーザパラメータとすることができるようになる。したがって、DSP1を制御するためのCPUを備えない簡素な構成であっても、DSP1の処理ステップをあまり使用することなく、エフェクトタイプに応じた特定のステップのパラメータを、UP調整操作子2の操作に応じて制御することができるという優れた効果を奏する。更に、本発明では、操作データ(操作値データSD)に応じたパラメータの生成をμプログラムではなく、専用のハードウェアで実現している点に特徴がある。本出願人の分析によれば、その生成処理については、μプログラムよりもハードウェアで実現するほうが効率的であり、かつ、回路規模が小さくできる。また、変換テーブルメモリ25においてエフェクトタイプごとの変換テーブルセットが用意されているので、UP調整操作子2の操作値データXDに対するユーザパラメータの値を、該エフェクトタイプに応じて異なる値とすることができるようになる。
【0111】
なお、上記実施例では、本発明に係る音響信号処理装置を適用したデジタルエフェクタが、μプログラムメモリ22に複数のEF処理用μプログラムを記憶しており、複数種類のエフェクトタイプの中から、エフェクトタイプ選択コードEFTにより指定された1つのエフェクトタイプのみを使用する一段のエフェクタにより構成される例を説明したが、これに限らず、本発明は、複数のエフェクトタイプを一例のシステムとして並行して使用する、いわゆる「マルチエフェクタ」に適用してもよい。
また、上記実施例では、信号処理のパラメータが係数データとアドレスデータとの2つのパラメータがある例について説明したが、音響信号処理装置を適用したデジタルエフェクタに登載するエフェクトタイプの種類によっては、パラメータは係数データ又はアドレスデータのいずれかのみであってよい場合がある。そのような場合でも本発明に係る音響信号処理装置を適用することができる。
【0112】
また、エフェクトタイプ自体が1タイプしかない場合であっても、本発明に係る音響信号処理装置を適用することができる。その場合には、特に「当該エフェクトタイプにおいてUP調整操作子2の操作値に応じて制御すべきステップのパラメータについて、UP調整操作子2の操作値を、各ステップのパラメータ毎に相互に異なる変換特性で、パラメータの値に変換する」という点において、本発明の有利な効果がある。エフェクトタイプが1タイプしか登載されない場合には、μプログラム中のUPTCは、図4(b)のような複数通りのコードではなく、ステップ毎に、パラメータをユーザパラメータに置換えるかどうかを示す1ビットのフラグで構成できる。また、ユーザパラメータコードUPTCを、EF処理用のμプログラムの各ステップのμコード内に含めるようにしたが、該コードUPTCは、μコードとは別に記憶するようにしてもよい。例えば、係数メモリ23に記憶された係数セットの各ステップの係数データ内に、コードUPTCを含めるように構成してもよい。あるいは、各ステップのコードUPTCからなるコードセットを複数セット記憶したメモリをDSP1に更に備える構成であっても、本発明を適用することができる。更には、ユーザパラメータタイプコードUPTCは、各ステップ毎の置換する/しないを指示するデータとはせずに、μプログラムの複数ステップのうちの、ユーザパラメータを使用すべきステップを支持する1又は複数のステップ番号データとしてもよい。その場合、現在読み出されているμプログラムのステップ番号を、1又は複数のコードUPTCと比較し、いずれかのコードUPTCと一致したステップで、係数メモリの係数データの代りにユーザパラメータを用いるようにすればよい。
【0113】
なお、前記図1では、本発明例に係る音響信号処理装置が単体のデジタルエフェクタに適用される例を挙げたが、本発明例に係る音響信号処理装置は、例えばミキサ、電子楽器、あるいは音源装置など、その他音楽機器に登載されるデジタルエフェクタであってもよい。
【0114】
なお、上記実施例では、UP調整操作子2、及びEF選択操作子3は、それぞれ、操作子の絶対的な操作位置に応じた出力データ(操作値データSD、及び、エフェクトタイプ選択コードEFT)を出力するものとしたが、これに限らず、操作子の相対的な操作位置(操作変位量)に応じた出力データを出力する構成であってもよい。また、UP調整操作子2、及びEF選択操作子3は、それぞれ、ロータリー式可変抵抗器(ロータリーSW)により構成されるものとしたが、操作子の形態は限定されるべきものではなく、例えば、スライド式スイッチ(レベル操作子)、あるいは、テンキー、又はインクリメント/デクリメントスイッチなどのような押しボタン式スイッチなど、従来から知られるどのような操作子で構成されていてもよい。
【0115】
なお、図1のエフェクタの構成では、WET信号とDRY信号の混合を、DSP1の外部のアナログ回路により行うようになっていたが、この混合はDSP1のμプログラムで行うように構成してもよい。
また、上記実施例では、DSP1に入力する操作データ(操作値データSD)をそのまま操作値レジスタ30に入れるのではなく、C処理のμプログラムでローパスフィルタ処理を施してから操作値レジスタ30に記憶するようになっている。これは、このローパスフィルタ処理が、本発明のパラメータ生成処理とは異なり、比較的短いμプログラムで実現でき、かつ、専用のハードウェアを設けることが、構成的に非効率なためである。しかしながら、DSP1の外部にアナログ又はデジタルのローパスフィルタを別途用意できる場合は、当該ローパスフィルタ処理は、外部のローパスフィルタに任せるよう構成し、DSP1は、入力する操作データ(操作値データSD)を、μプログラム処理せずに、直接操作値レジスタ30に記憶する構成とするのがよい。
【符号の説明】
【0116】
1 DSP、2 UP調整操作子、3 EF選択操作子、4 UPオン/オフスイッチ、5EFオン/オフスイッチ、6 電源スイッチ、7 ADC、8,9 レベル操作子、10 混合部、11 レベル操作子、12 DAC、13,14 混合部、20 クロック発生回路、21 第1選択回路、22 μプログラムメモリ(マイクロコード出力部)、23 係数メモリ、24 アドレスメモリ、25 変換テーブルメモリ、26 第2選択回路、27 係数データセレクタ、28 アドレスデータセレクタ、29 UPカウンタ、30 操作値レジスタ、31 レンジ制御部、60 Rch入力部、61Lch入力部、62 HPF処理&レベル制御部、63 Din書込部、64 EF処理部、65 LPF処理部、66 SD出力部、67 レンジ制御部、68 変換テーブル部、69 係数セット部、70 アドレスセット部、71 係数供給部、72 アドレス供給部、73 Dout読出部、74 レベル制御部、75 Rchチャンネル出力部、76 Lchチャンネル出力部、77 レベル値生成部
【特許請求の範囲】
【請求項1】
所定サンプリング周期毎に、入力された音響信号に対して所定ステップ数の信号処理を行う信号処理集積回路であって、
効果タイプを指定するタイプデータを受け付ける効果タイプ受付部と、
パラメータタイプコードを含む複数ステップのマイクロコードからなるマイクロプログラムを複数記憶しており、各ステップ毎に、前記タイプデータにより指定された効果タイプに応じたマイクロプログラムの各マイクロコードを順次出力するマイクロコード出力部と、
複数ステップ分のプリセットパラメータからなるプリセットパラメータセットを複数記憶しており、各ステップ毎に、前記タイプデータにより指定された効果タイプに応じたプリセットパラメータセットの各プリセットパラメータを順次出力するプリセットパラメータ出力部と、
操作子の操作に応じてユーザパラメータを出力するユーザパラメータ出力部と、
前記タイプデータにより指定された効果タイプと前記マイクロコード出力部から出力されるマイクロコードに含まれるパラメータタイプコードとに基づいて、各ステップ毎に、前記プリセットパラメータ出力部及び前記ユーザパラメータ出力部のいずれか一方の出力するパラメータを選択するパラメータ選択部と、
前記マイクロコード出力部から出力されるマイクロコードと、前記パラメータ選択部により選択されたパラメータとに基づいて、入力される音響信号に信号処理を施し、該信号処理された音響信号を出力する信号処理部と
を備えることを特徴とする信号処理集積回路。
【請求項2】
前記ユーザパラメータ出力部は、
前記操作子の操作位置に応じた操作データを受け付ける操作データ受付部を含み、
前記操作データ受付部により受け付けた操作データを、前記タイプデータにより指定された効果タイプに応じたユーザパラメータに変換して出力することを特徴とする請求項1に記載の信号処理集積回路。
【請求項3】
請求項1又は2のいずれかに記載の信号処理集積回路と、
外部から前記音響信号を入力して、前記信号処理集積回路に供給する入力部と、
選択操作子を備えており、該選択操作子の操作に応じた前記タイプデータを生成し、前記信号処理集積回路に供給する選択操作部と、
前記操作子を備えており、該操作子の操作に応じた操作データを生成し、前記信号処理集積回路に供給するパラメータ操作部と、
前記信号処理集積回路から出力される音響信号を、外部へ出力する出力部と
を備えた効果付与装置。
【請求項1】
所定サンプリング周期毎に、入力された音響信号に対して所定ステップ数の信号処理を行う信号処理集積回路であって、
効果タイプを指定するタイプデータを受け付ける効果タイプ受付部と、
パラメータタイプコードを含む複数ステップのマイクロコードからなるマイクロプログラムを複数記憶しており、各ステップ毎に、前記タイプデータにより指定された効果タイプに応じたマイクロプログラムの各マイクロコードを順次出力するマイクロコード出力部と、
複数ステップ分のプリセットパラメータからなるプリセットパラメータセットを複数記憶しており、各ステップ毎に、前記タイプデータにより指定された効果タイプに応じたプリセットパラメータセットの各プリセットパラメータを順次出力するプリセットパラメータ出力部と、
操作子の操作に応じてユーザパラメータを出力するユーザパラメータ出力部と、
前記タイプデータにより指定された効果タイプと前記マイクロコード出力部から出力されるマイクロコードに含まれるパラメータタイプコードとに基づいて、各ステップ毎に、前記プリセットパラメータ出力部及び前記ユーザパラメータ出力部のいずれか一方の出力するパラメータを選択するパラメータ選択部と、
前記マイクロコード出力部から出力されるマイクロコードと、前記パラメータ選択部により選択されたパラメータとに基づいて、入力される音響信号に信号処理を施し、該信号処理された音響信号を出力する信号処理部と
を備えることを特徴とする信号処理集積回路。
【請求項2】
前記ユーザパラメータ出力部は、
前記操作子の操作位置に応じた操作データを受け付ける操作データ受付部を含み、
前記操作データ受付部により受け付けた操作データを、前記タイプデータにより指定された効果タイプに応じたユーザパラメータに変換して出力することを特徴とする請求項1に記載の信号処理集積回路。
【請求項3】
請求項1又は2のいずれかに記載の信号処理集積回路と、
外部から前記音響信号を入力して、前記信号処理集積回路に供給する入力部と、
選択操作子を備えており、該選択操作子の操作に応じた前記タイプデータを生成し、前記信号処理集積回路に供給する選択操作部と、
前記操作子を備えており、該操作子の操作に応じた操作データを生成し、前記信号処理集積回路に供給するパラメータ操作部と、
前記信号処理集積回路から出力される音響信号を、外部へ出力する出力部と
を備えた効果付与装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2010−181722(P2010−181722A)
【公開日】平成22年8月19日(2010.8.19)
【国際特許分類】
【出願番号】特願2009−26317(P2009−26317)
【出願日】平成21年2月6日(2009.2.6)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】
【公開日】平成22年8月19日(2010.8.19)
【国際特許分類】
【出願日】平成21年2月6日(2009.2.6)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】
[ Back to top ]