(57)【要約】      （修正有）【課題】プログラム転送の回数が少なく、メモリクリアの時間も短い、良好なクリア動作のできる効果付与装置を提供する。【解決手段】新規プログラム転送時には、インターフェースメモリ１４に外部メモリ２０のメモリクリアのコマンドを送ることで、外部メモリ２０のメモリクリアが実行され、プログラムメモリ１０には新規プログラムが転送される。外部メモリ２０のメモリクリア後には、インターフェースメモリ１４にのみ新規プログラムに対応したコマンドが転送されるので、演算部１２に新規プログラムに従った処理を実行させることが可能となる。【選択図】図１
2015225390.tif 000002
【特許請求の範囲】
【請求項１】
処理プログラムを記憶するプログラムメモリと、
該プログラムメモリに記憶された処理プログラムに従って、入力信号の効果付与処理を行う演算部と、
該演算部によりデータの入出力・一時記憶が可能な外部メモリと、
外部からのコマンドによる上記外部メモリアクセス制御可能なインターフェースメモリとを少なくとも有しており、
新規プログラム転送時にはインターフェースメモリにメモリクリア動作のためのコマンドが外部から設定され、該インターフェースメモリは、このコマンドに従って、外部メモリのメモリクリアを実行し、上記プログラムメモリには該新規プログラムが転送され、メモリクリア完了後は上記インターフェースメモリにのみ新規プログラムに対応したコマンドが書き込まれ、該インターフェースメモリは、このコマンドに従って、上記演算部に新規プログラムに従った処理を実行させることを特徴とする効果付与装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部メモリクリアが簡単にできる、電子楽器や音場制御装置などに用いられるデジタル・シグナル・プロセッサ（ＤＳＰ）で構成される効果付与装置に関する。
【背景技術】
【０００２】
図８は、下記特許文献１に示された従来の電子楽器の楽音に音響効果(エフェクト）をかけるＤＳＰ１で構成される効果付与装置を概略的に示したブロック図である。
【０００３】
図中、楽音生成装置２００から出力されてきた楽音信号は、ＤＳＰ（デジタル・シグナル・プロッセサ）１に入力される。ＤＳＰ１は、一方で外部メモリ（遅延メモリ）２０と接続され、またシステムバス１００を介してＣＰＵ２２とも接続されており、ＤＳＰ１には係数を記憶する係数メモリ１６の他、ＤＳＰ１内部の演算処理を所定のプログラムに変更できるプログラムメモリ１０も内蔵されている。
【０００４】
上記の如く構成された電子楽器は概略、以下のように動作する。上記楽音生成装置２００から出力された楽音信号は、ＤＳＰ１に入力され、そこで種々のエフェクトがかけられる。その際、ＤＳＰ１において、ＣＰＵ２２から送信されてくる各種エフェクト用プログラム及びそれに使用される係数が、夫々のプログラムメモリ１０と係数メモリ１６に記憶され、それらに基づいて上記楽音信号に対し演算処理が施され、音響効果の付与された楽音信号が生成される。特に残響効果を付与される際に、ＤＳＰ１の外部に外部メモリ２０(遅延メモリ）がつながれており、この外部メモリ２０を使用して、ＤＳＰ１における演算処理の結果をそこに一時的に記憶させておき、演算処理によって遅延して出力されてくる楽音信号が次々に処理され、残響効果が付与されることになる。その後、Ｄ／Ａ変換器２０２に入力されてアナログ信号に変換される。該アナログ信号はサウンドシステム２０４（アンプやスピ−カなど）から出力される。
【０００５】
これらの音響効果には、種々の残響効果などがあり、それらに対応するために、あるタイミングで、ＣＰＵ２２から各種エフェクト用プログラム及びそれに使用される係数が、プログラムメモリ１０と係数メモリ１６に送られ入れ替えが行われる。
【特許文献１】特開２００２−３５８０８０
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ＤＳＰ１で複数のプログラムを入れ替えて処理する場合、新規のプログラムを実行する前に外部メモリ２０をクリアする必要がある。
【０００７】
そのようなメモリクリアを行う方法には、１）クリア専用プログラムを転送し実行する方法、２）通常のプログラムの係数を一時的に変更してクリア動作するようにして実行する方法がある。
【０００８】
しかし、１）の場合には本来実行しようとするプログラムの転送前に別のプログラムを転送・実行するためプログラム転送の回数が増加するという問題がある。また２）の場合には、クリア専用のプログラムではないためクリア完了までに時間がかかるという問題があった。
【０００９】
本発明は、斯かる実情に鑑み創案されたものであって、プログラム転送の回数が少なく、メモリクリアの時間も短い、良好なクリア動作のできる効果付与装置を提供せんとするものである。
【課題を解決するための手段】
【００１０】
本発明に係る効果付与装置の構成は、
処理プログラムを記憶するプログラムメモリと、
該プログラムメモリに記憶された処理プログラムに従って、入力信号の効果付与処理を行う演算部と、
該演算部によりデータの入出力・一時記憶が可能な外部メモリと、
外部からのコマンドによる上記外部メモリアクセス制御可能なインターフェースメモリとを少なくとも有しており、
新規プログラム転送時にはインターフェースメモリにメモリクリア動作のためのコマンドが外部から設定され、該インターフェースメモリは、このコマンドに従って、外部メモリのメモリクリアを実行し、上記プログラムメモリには該新規プログラムが転送され、メモリクリア完了後は上記インターフェースメモリにのみ新規プログラムに対応したコマンドが書き込まれ、該インターフェースメモリは、このコマンドに従って、上記演算部に新規プログラムに従った処理を実行させることを基本的な特徴としている。
【００１１】
上記構成によれば、インターフェースメモリに外部メモリのメモリクリアのコマンドを送ることで、外部メモリのメモリクリアが実行され、プログラムメモリには次の新規プログラムが転送される。そして、外部メモリのメモリクリア後には、上記インターフェースメモリにのみ新規プログラムに対応したコマンドが転送されるので、該インターフェースメモリにより、このコマンドに従って、上記演算部に新規プログラムに従った処理を実行させることが可能となる。従って、プログラム転送の回数が少なく、外部メモリのクリアの時間も短い、良好なクリア動作ができるようになる。
【発明の効果】
【００１２】
本発明の上記構成によれば、インターフェースメモリに外部メモリのメモリクリアのコマンドが送られることで、外部メモリのメモリクリアが実行され、プログラムメモリには次の新規プログラムが転送され、外部メモリのメモリクリア後には、上記インターフェースメモリにのみ新規プログラムに対応したコマンドが転送されるので、該インターフェースメモリにより、このコマンドに従って、上記演算部に新規プログラムに従った処理を実行させることが可能となり、そのため、プログラム転送の回数が少なく、外部メモリのクリアの時間も短い、良好なクリア動作ができるようになるという優れた効果を奏し得ることになる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を図示例と共に説明する。
【００１４】
図１は、エフェクタと称する、楽音に対して、任意の音響効果（エフェクト）をかける本発明の一実施例構成を示す構成概略図である。
【００１５】
同図に示すように、本構成は、ＤＳＰ１を中心に、処理プログラムを記憶するプログラムメモリ１０と、該プログラムメモリ１０に記憶された処理プログラムに従って、入力信号の効果付与処理を行う演算部１２と、ＤＳＰ１外部にある遅延メモリとして使用され、上記演算部１２によりデータの入出力・一時記憶が可能な外部メモリ２０（後述するインターフェースメモリ１４とダイレクトに繋がっている）と、外部からのコマンドによる上記外部メモリ２０のアクセス制御可能なインターフェースメモリ１４とを有しており、その他に、ＤＳＰ１内部に上記演算部１２での各種エフェクト用プログラムで使用される係数を記憶しておく係数メモリ１６と、同じく演算部１２での処理に必要なデータを記憶しておくデータメモリ１８とを有すると共に、ＤＳＰ１外部にあり、システムバス（図示無し）を介してＤＳＰ１に繋がっているＣＰＵ２２とを少なくとも備えている。
【００１６】
図２は、ＤＳＰ１の基本的な構成を示す構成図である。ここで、プログラムメモリ１０はどこにも接続されていないが、全体の動作を制御する。そのプログラムメモリ１０に記憶されたプログラム及び係数メモリ１６に記憶された各種係数に従って、該ＤＳＰ１の演算部１２は、図２に示すような回路構成を構成する。
【００１７】
同図に示す構成で、ＤＳＰ１内部にはデータ用のバス(D_Bus)１００ｄと係数用のバス(C_Bus)１００ｃが設けられており、データ用のバス(D_Bus)１００ｄに、オーディオＩ／Ｏ（１０２）、データメモリ２０、外部メモリＩ／Ｏ（１０４）、乗算器１０６とバレルシフタ１０８、加算器１２０とアキュムレータ１２２が、また係数用のバス(C_Bus)１００ｃに、係数メモリ１８、乗算器１０６とバレルシフタ１０８、加算器１２０とアキュムレータ１２２が、夫々繋がっている。
【００１８】
上記オーディオＩ／Ｏ（１０２）から入力された楽音信号(In_reg)は、乗算器１０６にD_inとして入力され、係数メモリ１８から取り出された所定の係数C(n)も、同乗算器１０６にC_inとして入力され、それらが掛け合わされ、バレルシフタ１０８で所定のビット数(Shift_val)シフトされ、それが、次の加算器１２０で、アキュムレータ１２２の値と加算される。
【００１９】
図３は、ディレイ回路の等価回路構成を示している。同図に示すように、オーディオＩ／Ｏ（１０２）から入力されてくる楽音信号(In_reg)に、乗算器１０６により係数メモリ１８から読み出された係数C(c_in)が乗算され、その乗算値がバレルシフタ１０８を経由し、それがアキュムレータ１２２にA_regとして記憶される。
【００２０】
外部メモリ２０から読み出されたデータT(r_dat1)とT(r_dat2)のうちのデータT(r_dat2)は、上記乗算器１０６で入力D_inとして、係数メモリ１８からの係数C(c_fb)が乗算され、それが上記加算器１２０で、既にアキュムレータ１２２に記憶されているA_regに加算され、それが、インターフェースメモリ１４を介して外部メモリ２０に書き込まれるデータT(w_dat)として該外部メモリ２０に書き込まれる。
【００２１】
また外部メモリ２０から読み出されたデータT(r_dat1)はD_inとして、また係数メモリ１８から読み出された係数C(c_05)（その値は0.5）はC_inとして、上記乗算器１０６で乗算され、その乗算値はバレルシフタ１０８でシフト（*2）され、上記アキュムレータ１２２に保存され(A_reg)、このアキュムレータ１２２の値A_regがオーディオＩ／Ｏ（１０２）から右アウトプットOut_Rとして出力される。
【００２２】
他方上記インターフェースメモリ１４を介して外部メモリ２０から再び読み出されたデータT(r_dat2)はD_inとして、また係数メモリ１８から読み出された係数C(c_05)（その値は0.5）はC_inとして、上記乗算器１０６で乗算され、その乗算値はバレルシフタ１０８でシフト（*2）され、上記アキュムレータ１２２に保存され(A_reg)、このアキュムレータ１２２の値A_regがオーディオＩ／Ｏ（１０２）から左アウトプットOut_Lとして出力される。
【００２３】
このように、一部の楽音信号が遅延メモリを介して繰り返し処理されることでディレイ回路が実現されることになる。
【００２４】
図４は、本発明構成中で使用されるインターフェースメモリ１４による、外部メモリ２０に対してのデータのアクセスの状態を示す概要説明図である。同図は、図３のディレイの通常動作時のインターフェースメモリ１４の状態が示されている。この際、エフェクトとして使用できるエリアは0x00〜0x07で、ディレイでは0x06や、0x07は使用されていない。
【００２５】
インターフェースメモリ１４の最初のアドレス(0×00)には、外部メモリ２０への書き込み命令(w)と外部メモリ２０の書き込み先アドレス(w_adr)が、また次のアドレス(0×01)には、書き込むデータの内容(w_dat)がある。それに従うと、外部メモリ２０のアドレス(w_dar)にデータ(w_dat)が書き込まれることになる。
【００２６】
以後インターフェースメモリ１４のアドレス(0×02)には、外部メモリ２０への読み込み命令(R)と外部メモリ２０の読み込み先アドレス(r_adr1)が、また次のアドレス(0×03)には、そのアドレスから読み出されるはずの記憶領域が設けられており、それに従った場合には、外部メモリ２０の読み込み先アドレス(r_adr1)から、データ(r_dat1)が読み込まれることになる状態が示されている。
【００２７】
同様に、インターフェースメモリ１４のアドレス(0×04)には、外部メモリ２０への読み込み命令(R)と外部メモリ２０の読み込み先アドレス(r_adr2)が、また次のアドレス(0×05)には、そのアドレスから読み出されるはずの記憶領域が設けられており、それに従った場合には、外部メモリ２０の読み込み先アドレス(r_adr2)から、データ(r_dat2)が読み込まれることになる状態が示されている。
【００２８】
図５は、このインターフェースメモリ１４による、外部メモリ２０に対してデータクリアを実施した際の状態を示している。特に、同図は、図３のディレイに切り替える際に外部メモリ２０の内容をクリアするためのインターフェースメモリ１４の状態を示している。
【００２９】
インターフェースメモリ１４の最初のアドレス(0×00)には、外部メモリ２０への書き込み命令(w)と外部メモリ２０の書き込み先アドレス(w_adr_clear1)が、また次のアドレス(0×01)には、書き込むデータの内容(0;メモリクリア)がある。それに従うと、外部メモリ２０のアドレス(w_adr_clear1)にデータ(0)が書き込まれ、メモリクリアされることになる。
【００３０】
以後インターフェースメモリ１４の動作は、以上の状態を外部メモリ２０の必要な範囲になるまで繰り返すことになる。
【００３１】
図４に示した通常状態では使用されないアドレス0x06や、0x07を含む４回の書き込み動作を外部メモリ２０に対して行うことができるため、高速に外部メモリ２０をクリアすることができることになる。
【００３２】
すなわち、図４に示した通常状態で外部メモリ２０をクリアするためには、図３の係数値C(c_in)やC(c_fb)をゼロに設定した状態で、図５の４倍の時間待機する必要がある。
【００３３】
図６は、該エフェクタのエフェクト変更処理の処理フローを示すフローチャートである。
【００３４】
ＣＰＵ２２によりエフェクト変更処理が実行されると、その指令により、上記プログラムメモリ１０にエフェクト用プログラムが転送される（ステップＳ１００）。
【００３５】
次に同じくＣＰＵ２２の指令により、上記係数メモリ１６にエフェクト用係数が転送される（ステップＳ１０２）。
【００３６】
その後プログラムによるインターフェースメモリ１４の書換が禁止される（ステップＳ１０４）。書換の禁止は、インターフェースメモリに備えられた書換禁止フラグの設定、または係数の一時的な変更により実現される（図３のディレイ回路ではc_gain_inをゼロに設定する）。
【００３７】
そしてインターフェースメモリ１４にクリア用アドレスとデータとが転送される（ステップＳ１０６）。
【００３８】
所定時間が経過したか否かがチェックされ（ステップＳ１０８）、経過していない場合は（ステップＳ１０８；Ｎ）、その時間が経過するまで以上のチェックを繰り返す。
【００３９】
他方所定時間が経過した場合は（ステップＳ１０８；Ｙ）、インターフェースメモリ１４にエフェクト用アドレスとデータが転送され（ステップＳ１１０）、上記プログラムによるインターフェースメモリ１４書換禁止が解かれる（ステップＳ１１２）。
【００４０】
以下の７ステップのプログラムは、図３のディレイ処理を実現するためのもので有り、プログラムメモリ１０には、このようなプログラムが記憶される。
step1     A_reg = C(c_in) * In_reg
step2     A_reg = C(c_fb) * T(r_dat2) + A_reg
step3     T(w_dat) = A_reg
step4     A_reg = C(c_05) * T(r_dat1) * 2
step5     Out_R = A_reg
step6     A_reg = C(c_05) * T(r_dat2) * 2
step7     Out_L = A_reg
尚、上記step4とstep6のC(c_05)には、0.5が格納されており、また * 2は、バレルシフタ１０８のシフトにより実現される。
【００４１】
図７は、上記プログラムが実行された際に、図２の各機能ブロックがどのような状態になるのかを示した説明図である。同図において、C_srcとD_srcは、夫々のバスにどこからの信号が流れ込むのか、C_Dst及びD_Dstは、バスの信号がどこに流れ出すのか（乗算器１０６には常に流れ出す）が示されている。
【００４２】
同図と照らし合わせて、上記プログラムについて説明すると、以下のようになる。
【００４３】
step1で、C_Busには、係数メモリ１６のアドレスc_inのデータC(c_in)が流れ、またD_BusにはオーディオＩ／Ｏ（１０２）の入力レジスタIn_regのデータが流れる。夫々バスは乗算器１０６に接続されており、乗算器１０６のC_in及びD_inに入力される。
【００４４】
乗算結果はシフト量（Shift_val）がゼロにセットされたバレルシフタ１０８を経由して、加算器１２０のA_inに入力される。加算器１２０のB_inはゼロが選択される。
【００４５】
結果としてアキュムレータ１２２であるA_regには、乗算器１０６の出力であるC(in)×In_regが保存されることになる。
【００４６】
以下、同様にstep７まで各機能がプログラムの内容に従って動作することにより、ディレイが実現されることになる。
【００４７】
以上詳述した本実施例構成によれば、インターフェースメモリ１４に外部メモリ２０のメモリクリアのコマンドを送ることで、外部メモリ２０のメモリクリアが実行され、プログラムメモリ１０には新規プログラムが転送される。そして、外部メモリ２０のメモリクリア後には、上記インターフェースメモリ１４にのみ新規プログラムに対応したコマンドが転送されるので、該インターフェースメモリ１４により、このコマンドに従って、上記演算部１２に新規プログラムに従った処理を実行させることが可能となる。従って、従来のようにクリア専用のプログラムが転送されるわけでもなく、プログラム転送の回数が少なくなり、外部メモリ２０のクリアの時間も短くなるので、良好なクリア動作ができるようになる。
【００４８】
尚、本発明の効果付与装置は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【産業上の利用可能性】
【００４９】
本発明の効果付与装置は、上記エフェクタの構成の限られず、電子楽器など、その利用範囲は広い。
【図面の簡単な説明】
【００５０】
【図１】本発明の一実施例構成であるエフェクタの構成を示す概略図である。
【図２】ＤＳＰ１の基本的な構成を示す構成図である。
【図３】以上のＤＳＰ１で構成されるディレイ回路の等価回路を示す機能ブロック図である。
【図４】本発明構成中で使用されるインターフェースメモリによる、外部メモリに対してのデータのアクセスの状態を示す概要説明図である。
【図５】インターフェースメモリによる、外部メモリに対してデータクリアを実施した際の状態を示す概要説明図である。
【図６】エフェクタのエフェクト変更処理の処理フローを示すフローチャートである。
【図７】本実施例構成で用いられるプログラムが実行された際に、図２の各機能ブロックがどのような状態になるのかを示した説明図である。
【図８】ＤＳＰで構成される従来の効果付与装置を概略的に示したブロック図である。
【符号の説明】
【００５１】
１              ＤＳＰ
１０              プログラムメモリ
１２              演算部
１４              インターフェースメモリ
１６              係数メモリ
１８              データメモリ
２０              外部メモリ
２２              ＣＰＵ
１００              システムバス
１００ｄ            データ用のバス
１００ｃ            係数用のバス
１０２              オーディオＩ／Ｏ
１０４              外部メモリＩ／Ｏ
１０６              乗算器
１０８              バレルシフタ
１２０              加算器
１２２              アキュムレータ
２００              楽音生成装置
２０２              Ｄ／Ａ変換器
２０４              サウンドシステム
【図１】
2015225390.tif 000003
【図２】
2015225390.tif 000004
【図３】
2015225390.tif 000005
【図４】
2015225390.tif 000006
【図５】
2015225390.tif 000007
【図６】
2015225390.tif 000008
【図７】
2015225390.tif 000009
【図８】
2015225390.tif 000010