JPH06110453A - 効果付加装置 - Google Patents

効果付加装置

Info

Publication number
JPH06110453A
JPH06110453A JP4261951A JP26195192A JPH06110453A JP H06110453 A JPH06110453 A JP H06110453A JP 4261951 A JP4261951 A JP 4261951A JP 26195192 A JP26195192 A JP 26195192A JP H06110453 A JPH06110453 A JP H06110453A
Authority
JP
Japan
Prior art keywords
address
processing
effector
delay
divided
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4261951A
Other languages
English (en)
Inventor
Koichiro Oki
広一郎 太期
Jun Hosoda
潤 細田
Kosuke Shiba
康祐 斯波
Kazuo Ogura
和夫 小倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP4261951A priority Critical patent/JPH06110453A/ja
Publication of JPH06110453A publication Critical patent/JPH06110453A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【目的】 本発明は、電子楽器の効果付加装置に係り、
更に詳しくは、マルチエフェクタ機能を有する効果付加
装置における遅延メモリの割当て技術に関し、遅延メモ
リの効率的な利用を可能とすることを目的とする。 【構成】 特には図示しないアドレス変換テーブルにお
いて、各エフェクタ処理毎に、指定アドレス空間上で使
用される連続するブロックが、遅延メモリのメモリアド
レス空間上の不連続な任意の空きバンクに割り当てられ
る。各エフェクタ処理は、指定アドレス空間上の指定ア
ドレスを設定して遅延処理を実行する。指定アドレスの
上位3ビットのブロックアドレスは、アドレス変換テー
ブルで遅延メモリのバンクアドレスに変換され、このバ
ンクアドレスと、指定アドレスの下位3ビットとが、遅
延メモリをアクセスするためのメモリアドレスとなる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、電子楽器の効果付加装
置に係り、更に詳しくは、マルチエフェクタ機能を有す
る効果付加装置における遅延メモリの割当て技術に関す
る。
【0002】
【従来の技術】ディジタルシグナルプロセッサ(DS
P)の発達によって、電子楽器において得られる楽音の
波形データに複雑な音響効果を付加する効果付加装置が
数多く開発されている。
【0003】このような効果付加装置において実行され
るエフェクタ処理は、波形データを時間的に遅延させる
処理を含む場合が多いため、一般に遅延処理用の遅延メ
モリを必要とする。
【0004】一方、DSPの処理能力の向上に伴い、1
つのDSPにおいて、各サンプリング周期毎に複数のエ
フェクタ処理を時分割のカスケード処理によって実行す
るマルチエフェクタ機能を有する効果付加装置が一般的
となりつつある。
【0005】複数のエフェクタ処理のそれぞれに前述し
た遅延処理が含まれる場合、1つの遅延メモリが複数の
遅延エリアに分割され、各エフェクタ処理は、それぞれ
に割り当てられた遅延エリアを使用して実行されるのが
一般的である。
【0006】
【発明が解決しようとする課題】しかし、従来は、各エ
フェクタ処理は、それぞれに対応して遅延メモリ上に固
定的に割り当てられた遅延エリアを使用して実行される
構成を有している。従って、各エフェクタ処理を実行す
るためのプログラムは、遅延メモリ空間においてそれぞ
れに対応する遅延エリアのオフセットアドレスまで意識
して記述する必要があり、エフェクタ処理を実行するた
めのプログラムの記憶容量の増大を招き、装置の大型化
及びコストアップを招くという問題点を有している。
【0007】また、従来は、カスケードに実行されるエ
フェクタ処理を複数のエフェクタ処理の中から選択可能
な構成とした場合、選択され得る全てのエフェクタ処理
に対応する遅延エリアを、遅延メモリ上に予め固定的に
割り当てておかなければならない。従って、選択されて
いないエフェクタ処理の遅延エリアは未使用エリアとな
ってしまい、遅延メモリが有効に利用されず、結果的
に、遅延メモリのコストアップを招いてしまうという問
題点を有している。
【0008】この問題を解決するために、各エフェクタ
処理を実行するために必要な大きさの遅延エリアを遅延
メモリに動的に割り当てるようにする技術が考えられ
る。しかし、この場合、次のような問題点が生ずる。
【0009】即ち、例えば図12(a) に示されるよう
に、遅延メモリが、4種類のリバーブ処理をカスケード
に実行するのに必要な4つの遅延エリアを確保できるだ
けの容量を有しているとする。
【0010】そして、図12(b) に示されるように、現
在、2種類のコーラス処理と2種類のディレイ処理を実
行するための4つの遅延エリアが遅延メモリ上に確保さ
れており、この状態で、例えば2種類のコーラス処理の
代りに2種類のリバーブ処理が実行される場合を想定
し、更に、各リバーブ処理に必要な遅延エリアは各コー
ラス処理に必要な遅延エリアより大きなメモリ容量を必
要とすると仮定する。
【0011】この場合、まず図12(c) に示されるよう
に、2種類のコーラス処理に必要な2つの遅延エリアが
開放され、その代りに2種類のリバーブ処理に必要な2
つの遅延エリアが確保されようとする。しかし、図12
(d) に示されるように、2種類のコーラス処理に使用さ
れていた遅延エリアはリバーブ処理に必要な遅延エリア
を割り当てるだけのメモリ容量を有していないため、こ
の部分が歯抜け状態となってしまう。そして、最終的に
遅延メモリ上では、リバーブ処理1つ分の遅延エリアし
か割り当てることができなくなってしまう。
【0012】各遅延エリアを遅延メモリ上で再配置させ
る技術も考えられるが、再配置のための制御処理が複雑
になってしまうという問題点を有している。本発明の課
題は、遅延メモリの効率的な利用を可能とすることにあ
る。
【0013】
【課題を解決するための手段】本発明は、入力波形デー
タに対し、例えばサンプリング周期毎に、そのサンプリ
ング周期内の時分割された複数のタイミングのそれぞれ
において、データ遅延用記憶手段をアクセスしながら、
複数の効果付加処理のそれぞれを実行する効果付加装置
を前提とする。なお、複数の効果付加処理が時分割で実
行されるのではなく、複数の効果付加処理が並列に実行
されるようなハードウエア構成が採用されてもよい。
【0014】そして、まず、時分割された複数のタイミ
ングのそれぞれについて、そのタイミングで実行される
効果付加処理の種別、特性などを指定する効果付加処理
指定手段を有する。
【0015】次に、時分割された複数のタイミングのそ
れぞれについて、そのタイミングで実行される効果付加
処理においてアドレス指定され得る遅延処理のためのア
ドレス空間を等分割して得た第1の分割アドレス領域
(ブロック)のそれぞれを、データ遅延用記憶手段の記
憶アドレス空間を等分割して得た第2の分割アドレス領
域(バンク)のうち任意の使用されていない領域に割り
当てるアドレス割当て手段を有する。
【0016】続いて、時分割された複数のタイミングの
それぞれにおいて、そのタイミングに対応して効果付加
処理指定手段で指定されている効果付加処理を入力波形
データに対して実行する効果付加処理実行手段を有す
る。
【0017】そして、時分割された複数のタイミングの
それぞれにおいて、そのタイミングに対応するアドレス
割当て手段における割当て内容を参照することにより、
そのタイミングに対応して効果付加処理実行手段により
実行される効果付加処理において指定される第1の分割
アドレス領域に対するアドレス(指定アドレス)を第2
の分割アドレス領域に対するアドレス(メモリアドレ
ス)に変換し、その変換されたアドレスによりデータ遅
延用記憶手段をアクセスするアクセス手段を有する。こ
の手段では、例えば効果付加処理において指定される第
1の分割アドレス領域に対するアドレス(指定アドレ
ス)のうち、第1の分割アドレス領域の先頭アドレス
(ブロックアドレス)を示す上位ビットが、アドレス割
当て手段が参照されることにより、第2の分割アドレス
領域の先頭アドレス(バンクアドレス)を示すビットに
変換され、この変換されたビットと前述の第1の分割ア
ドレス領域に対するアドレス(指定アドレス)の下位ビ
ットとからデータ遅延用記憶手段をアクセスするアドレ
ス(メモリアドレス)が生成され、このアドレスによっ
てデータ遅延用記憶手段がアクセスされる。
【0018】
【作用】遅延処理のためのアドレス空間とデータ遅延用
記憶手段の記憶アドレス空間は、遅延処理のために必要
なアドレス空間を単位としてではなく、それより小さい
な分割領域(第1及び第2の分割領域)を単位として動
的に対応付けられる。この結果、エフェクタ処理に必要
な遅延処理のためのアドレス空間に対応する記憶アドレ
ス空間がデータ遅延用記憶手段上で連続して存在しなく
ても、各エフェクタ処理に遅延処理用の領域を割り付け
ることが可能となる。
【0019】ここで、各エフェクタ処理では、遅延処理
のためのアドレスとしては、データ遅延用記憶手段の記
憶アドレス空間上のアドレスではなく、仮想的なアドレ
ス空間上のアドレスが指定される。従って、各エフェク
タ処理を実行するためのプログラムでは、データ遅延用
記憶手段を直接意識する必要はなく、この結果、エフェ
クタ処理のプログラムが簡略化される。
【0020】
【実施例】以下、図面を参照しながら、本発明の実施例
につき詳細に説明する。以下に説明する本発明の実施例
は、エフェクタ機能を有する電子鍵盤楽器として実現さ
れる。
【0021】図1は、本発明の実施例の全体構成図であ
る。CPU103は、ROM104に記憶されている制
御プログラムに基づきRAM105をワークメモリとし
て使用しながら動作し、機能キー101及び鍵盤102
を走査して各機能キー及び鍵の操作状態を取り込み、発
音制御データを楽音発生回路106に送ってその発音動
作を制御し、また、DSP107に対してエフェクタ処
理のための各種設定を行う。
【0022】DSP107は、楽音発生回路106が発
生した楽音の波形データを取り込み、その波形データに
対して、遅延メモリ108上の各遅延エリアをアクセス
しながら、複数のエフェクタ処理をカスケードの時分割
処理として実行する。
【0023】DSP107から出力された波形データは
D/A変換器109でアナログ楽音波形信号に変換さ
れ、その信号がローパスフィルタ(LPF)110で整
形された後、アンプ111で増幅され、スピーカ112
から放音される。
【0024】次に、図2は、図1のDSP107の構成
図である。各部分は、バス201によって接続され、命
令デコーダ203がプログラムメモリ202に記憶され
た制御プログラムを実行することにより、マルチエフェ
クタ処理が実行される。
【0025】このとき、エフェクタ処理における乗算演
算は乗算器206で実行され、加減算演算及び論理演算
は算術論理演算器(ALU)207で実行される。ま
た、エフェクタ処理の特性を定めるための各種係数は、
係数メモリ204に格納され、エフェクタ処理において
使用される各種変数はワークメモリ205に格納され
る。
【0026】更に、エフェクタ処理においては、バス2
01に接続される図1の遅延メモリ108が使用され
る。楽音発生回路106において発生された波形データ
は、波形入力インタフェース208を介してワークメモ
リ205内の波形バッファに格納され、それに対してマ
ルチエフェクタ処理が実行される。
【0027】CPU103からDSP107に対して設
定される各種制御データは、CPUインタフェース20
9を介してワークメモリ205に書き込まれる。マルチ
エフェクタ処理の結果得られた出力波形データは、波形
出力インタフェース210から図1のD/A変換器10
9に出力される。
【0028】上述の構成を有する本発明の実施例では、
後述するように、DSP107は、波形データに対して
最大で4つまでの音響効果を付加することができる。即
ち、DSP107では、各サンプリング周期毎に、最大
で4つのエフェクタ処理が、カスケードの時分割処理と
して実行される。このとき、本発明の実施例では、カス
ケードに実行される各エフェクタ処理が使用する遅延エ
リアを、遅延メモリ108上で動的に割り当てるための
エフェクタ種テーブル及びアドレス変換テーブルを設け
たことを特徴とする。
【0029】以下に、本発明の実施例の動作について順
次説明する。まず、図3は、CPU103において実行
される制御動作の全体的な動作を示すCPUゼネラルフ
ローである。このフローは、CPU103がROM10
4に記憶された制御プログラムを実行する動作として実
現される。
【0030】始めに、装置の電源が投入されると、ステ
ップS301において、RAM105の内容、CPU1
03内の各種レジスタの内容、楽音発生回路106の内
部状態、及びDSP107の内部状態などが初期化され
る。
【0031】以後、ステップS302〜S307の各処
理が繰り返し実行される。ステップS302の機能キー
取込み処理では、音色設定キー、エフェクタ設定キー、
モジュレーションキーなどの機能キー101の設定状態
が走査され、その設定状態がRAM105などに取り込
まれる。
【0032】ステップS303の機能キー処理では、各
機能キー101の設定に対応する処理、例えば音色の変
更を楽音発生回路106に対して指示する処理などが実
行される。
【0033】また、ここでは特に、本発明に関連する処
理として、機能キー101であるエフェクタ設定スイッ
チの設定状態に応じて後述するエフェクタ種テーブル及
びアドレス変換テーブルを生成し、RAM105に記憶
する動作が実行される。
【0034】ステップS304の鍵盤取込み処理では、
鍵盤102の鍵の押鍵状態が走査され、その押鍵状態が
RAM105などに取り込まれる。ステップS305の
鍵盤処理では、上述の押鍵状態に対応して、RAM10
5に設けられる発音制御データ領域に、必要な発音制御
データが設定される。
【0035】ステップS306のエフェクト指示処理で
は、機能キー101であるエフェクタ設定スイッチの設
定状態に応じてステップS303の機能キー処理におい
て生成されたエフェクタ種テーブル及びアドレス変換テ
ーブルの内容が、DSP107に転送される。
【0036】ステップS307の発音処理では、ステッ
プS305の鍵盤処理で設定された発音制御データを楽
音発生回路106に転送することにより、楽音発生回路
106に対して発音制御指示がなされる。これにより、
楽音発生回路106は、楽音の波形データの発音、消
音、ピッチ変更などの発音制御動作を実行する。
【0037】以上がCPUゼネラルフローの処理であ
る。ここで、前述したように、ユーザは、DSP107
に実行させるエフェクタ処理の種類と順序を、最大4つ
までの範囲で任意に設定できる。この設定は、機能キー
101である特には図示しないエフェクタ設定スイッチ
を操作することにより行うことができる。
【0038】そして、ユーザが、機能キー101である
エフェクタ設定スイッチを操作すると、その設定状態が
図3のステップS302の機能キー取込み処理によって
RAM105に取り込まれ、ステップS303の機能キ
ー処理によってエフェクタ種テーブルが生成される。
【0039】図4及び図5にエフェクタ種テーブルの例
を示す。ポインタ値は、DSP107で実行されるエフ
ェクタ処理の番号を示し、“00”、“01”、“1
0”、及び“11”は、それぞれその順に、第1番目、
第2番目、第3番目、及び第4番目に実行されるエフェ
クタ処理に対応する。
【0040】各ポインタ値には、ユーザによる設定に基
づくエフェクタ種が設定される。図4では、ディレイ、
リバーブ1、コーラス1、コーラス2などのエフェクタ
種が設定されている。なお、設定できるエフェクタ種を
n種類とすると、エフェクタ種テーブルのエフェクタ種
の項には、n種類のエフェクタ種を識別可能なビット数
のコードが設定されることになる。
【0041】また、例えば図4のエフェクタ種テーブル
の状態において、ユーザが更にエフェクタ設定スイッチ
を操作すると、図3のステップS302の機能キー取込
み処理によって、エフェクタ種テーブルの内容は、例え
ば図5に示されるように変化する。この状態は、ユーザ
が、2番目に実行させていた例えば残響音の短いリバー
ブ1処理を、例えば残響音の長いリバーブ2処理に変更
した状態である。
【0042】次に、図3のステップS302の機能キー
取込み処理では、図4又は図5のエフェクタ種テーブル
に対応して、図6又は図7に示されるアドレス変換テー
ブルが生成される。
【0043】アドレス変換テーブルは、エフェクタ種テ
ーブルで設定された最大4種類のエフェクタ処理毎に、
各エフェクタ処理が使用する遅延メモリ108上の遅延
エリアを指定するためのテーブルである。
【0044】この場合、各エフェクタ処理において例え
ば6ビットの指定アドレスデータによって指定される遅
延処理用の指定アドレス空間が、図8に示されるよう
に、例えばそれぞれが000〜fff(16進数)まで
のブロック内アドレスを有する8個(16進数)のブロ
ックに分割される。一方、例えば7ビットのメモリアド
レスデータによって指定される遅延メモリ108上のメ
モリアドレス空間は、図8に示されるにように、例えば
それぞれがやはり000〜fff(16進数)までのバ
ンク内アドレスを有するf個(16進数)のバンクに分
割される。
【0045】アドレス変換テーブルでは、各エフェクタ
処理に対応するポインタ値毎に、上述した指定アドレス
空間上で使用される連続するブロックが、上述したメモ
リアドレス空間上の不連続な任意のバンクに割り当てら
れる。
【0046】ここで、指定アドレスの上位3ビットが指
定アドレス空間上のブロックアドレスとなり、下位3ビ
ットがブロック内アドレスとなる。一方、メモリアドレ
スの上位4ビットがバンクアドレスとなり、下位3ビッ
トがバンク内アドレスとなる。
【0047】従って、アドレス変換テーブルでは、各エ
フェクタ処理に対応するポインタ値“00”〜“11”
のそれぞれについて、連続するブロックに対応する3ビ
ットの値“000”から最大“111”までに対して、
任意のバンクに対応する4ビットの値“0000”〜
“1111”のうち何れかが一意に割り当てられる。
【0048】例えば、図6のアドレス変換テーブルは、
図4のエフェクタ種テーブルの設定内容に対応してお
り、例えば、図4のディレイ処理に対するポインタ値
“00”については、図8に示されるように、例えばブ
ロックアドレス“011”で示されるブロックに、バン
クアドレス“0110”で示されるバンクが対応付けら
れる。また、例えば、図4のリバーブ1処理に対するポ
インタ値“01”については、図6に示されるように、
例えばブロックアドレス“000”、“001”、及び
“010”で示される連続するブロックのそれぞれに、
バンクアドレス“0011”、“1001”、及び“1
010”で示されるバンクが対応付けられる。
【0049】ここで、ユーザが、エフェクタ設定スイッ
チを操作することにより、2番目に実行させていた例え
ば残響音の短いリバーブ1処理を、例えば残響音の長い
リバーブ2処理に変更し、それに対応して、エフェクタ
種テーブルの内容が図4から図5に示されるように変化
すると、アドレス変換テーブルの内容は図6から図7に
示されるように変化する。
【0050】即ち、リバーブ1処理では、遅延処理用の
指定アドレス空間として、例えば3ブロック分の空間が
使用されていたが、残響音が長いリバーブ2処理が設定
されることにより、例えば4ブロック分の空間が必要と
なる。
【0051】そこで、図6において、ポインタ値“0
1”についてブロックアドレス“000”、“00
1”、及び“010”で示されるブロックに割り付けら
れていた各バンクが一旦開放される。その後、アドレス
変換テーブル上で未使用のバンクが検索され、その結
果、図7に示されるように、ポインタ値“01”に対応
してブロックアドレス“000”、“001”、“01
0”、及び“011”で示される連続するブロックのそ
れぞれに、バンクアドレス“0011”、“011
1”、“1001”、及び“1010”で示される未使
用の各バンクが対応付けられる。
【0052】このように、本実施例では、遅延処理用の
指定アドレス空間と遅延メモリ108上のメモリアドレ
ス空間とを、ブロック及びバンク単位で動的に対応付け
ることによって、エフェクタ処理に必要な遅延処理用の
指定アドレス空間に対応するメモリアドレス空間が遅延
メモリ108上で連続して存在しなくても、各エフェク
タ処理に遅延エリアを割り付けることが可能となる。
【0053】以上のようにして設定されたエフェクタ種
テーブル及びアドレス変換テーブルは、図3のステップ
S306のエフェクト指示処理で、DSP107に転送
される。
【0054】次に、図9は、DSP107において実行
されるエフェクタ処理動作を示すDSPゼネラルフロー
である。このフローは、図2の命令デコーダ203がプ
ログラムメモリ202に記憶された制御プログラムを実
行する動作として実現される。
【0055】始めに、装置の電源が投入されると、ステ
ップS901において、ポインタ変数がリセットされ
る。このポインタ変数は、“00”、“01”、“1
0”、又は“11”の2ビットの変数値をとり、図2の
ワークメモリ205に設けられている。ステップS90
1ではポインタ変数の値が“00”にリセットされる。
【0056】次に、サンプリング周期に同期して、ステ
ップS902〜S907の処理が繰り返し実行される。
まず、ステップS902の音声入力処理において、現在
のサンプリング周期において図1の楽音発生回路106
から出力されている波形データが、図2の波形入力イン
タフェース208からワークメモリ205内に設けられ
ている波形バッファ及び原音バッファに取り込まれる。
波形バッファに格納された波形データに対してはDSP
107によってエフェクタ処理が施され、原音バッファ
に格納された波形データは、後述するステップS907
の音声出力処理において、エフェクタ処理が施された波
形データと混合され出力される。
【0057】次に、ステップS903のエフェクタ処理
が、ステップS904でポインタ変数がインクリメント
されステップS905でその値が“00”となったか否
かが判別されながら、4回繰り返されることにより、4
種類のエフェクタ処理がカスケードの時分割処理として
実行される。
【0058】図10は、図9のステップS903のエフ
ェクタ処理の動作フローを示した図である。このエフェ
クタ処理では、前述した図3のステップS306のエフ
ェクト指示処理によって図1のCPU103からDSP
107内のワークメモリ205に転送されているエフェ
クタ種テーブル(図4又は図5参照)の内容が、現在の
ポインタ変数の値に基づいて参照されることにより、各
エフェクタ処理のエフェクタ種が決定される。これと共
に、各エフェクタ処理の実行時に、前述した図3のステ
ップS306のエフェクト指示処理によって図1のCP
U103からDSP107内のワークメモリ205に転
送されているアドレス変換テーブル(図6又は図7参
照)の各エフェクタ処理に対応する内容が参照されなが
ら、各エフェクタ処理において指定された遅延処理用の
指定アドレスが、遅延メモリ108をアクセスするため
のメモリアドレスにリアルタイムに変換される。
【0059】即ちまず、ステップS1001では、図1
のCPU103から図2のワークメモリ205に転送さ
れているエフェクタ種テーブルから、現在のポインタ変
数の値に対応するエフェクタ種のコードが読み出され
る。今、ポインタ変数が、最初“00”である場合に
は、図5のエフェクタ種テーブルの例では、ディレイ処
理のエフェクタ種に対応するコードが読み出される。
【0060】ステップS1002では、現在のポインタ
変数の値に対応してエフェクタ種テーブルにエフェクタ
種のコードが設定されているか否かが判別される。この
判別結果がNOならエフェクタ処理は実行されない。な
お、図4又は図5の例では、全てのポインタ値に対して
エフェクタ種が設定されるため、ステップS1002の
判定がNOとなることはない。
【0061】上述の判別結果がYESならば、ステップ
S1003で、図11に示されるように、現在のポイン
タ変数の値が、ワークメモリ205内のアドレス変換テ
ーブルをアクセスするために図2の命令デコーダ203
内に設けられるテーブルアドレスレジスタの上位2ビッ
トにセットされる。
【0062】その後、ステップS1004で、ワークメ
モリ205の波形バッファから波形データが読み出さ
れ、続くステップS1005で、その波形データに対し
て、ステップS1001でエフェクタ種テーブルから読
み出されているエフェクタ種に対応するエフェクタ処理
のサブルーチンが読み出されて実行される。
【0063】ここで、エフェクタ種毎のエフェクタ処理
のサブルーチンプログラムでは、遅延処理のための6ビ
ットの指定アドレスとしては、図8に示されるように、
遅延メモリ108上のメモリアドレス空間上のアドレス
ではなく、仮想的な指定アドレス空間上のアドレスが指
定される。
【0064】各エフェクタ処理において6ビットの指定
アドレスが指定されると、図11に示されるように、指
定アドレスの上位3ビットで示されるブロックアドレス
は、アドレス変換テーブルをアクセスするための前述し
たテーブルアドレスレジスタの下位3ビットにセットさ
れ、指定アドレスの下位3ビットで示されるブロック内
アドレスは、遅延メモリ108をアクセスするために命
令デコーダ203内に設けられるメモリアドレスレジス
タの下位3ビットに、バンク内アドレスとしてセットさ
れる。
【0065】この結果、まず、ポインタ変数の値とブロ
ックアドレスがセットされたテーブルアドレスレジスタ
によって、例えば図7に示される内容を有するワークメ
モリ205内のアドレス変換テーブルの上記テーブルア
ドレスレジスタで示される6ビットのテーブルアドレス
がアクセスされ、そこから4ビットのバンクアドレスが
読み出される。
【0066】今、ポインタ変数の値が“00”で、指定
アドレスが例えば“100010”である場合には、テ
ーブルアドレスレジスタの内容は“00100”とな
る。従って、図7より、アドレス変換テーブルからは、
バンクアドレス“1011”が読み出される。
【0067】この読み出されたバンクアドレスは、図1
1に示されるように、前述したメモリアドレスレジスタ
の上位4ビットにセットされる。この結果、バンクアド
レスとバンク内アドレスがセットされたメモリアドレス
レジスタによって、遅延メモリ108の上記メモリアド
レスレジスタで示される7ビットのメモリアドレスがア
クセスされ、そのアドレスに対して遅延処理が実行され
る。
【0068】以上のように、エフェクタ種毎のエフェク
タ処理のサブルーチンプログラムでは、遅延メモリ10
8を直接意識する必要はなく、遅延処理のためには仮想
的な指定アドレス空間上のアドレスを指定するだけでよ
い。従って、エフェクタ処理のプログラムを簡略化する
ことが可能となる。
【0069】以上のステップS1003〜S1005の
処理によって現在のポインタ変数の値に対応するエフェ
クタ種のエフェクタ処理が完了すると、その処理の結果
得られた波形データがワークメモリ205内の波形バッ
ファに上書きされ、図9のステップS903の1回のエ
フェクタ処理を終了する。
【0070】次に、ステップS904において、ポイン
タ変数の値が“00”から“01”にインクリメントさ
れ、ステップS905の判定がNOとなった後、再び、
ステップS903のエフェクタ処理が実行される。
【0071】このとき、ポインタ変数の値は“01”と
なっているため、図10のステップS1001では、エ
フェクタ種テーブルから、現在のポインタ変数の値“0
1”に対応するエフェクタ種のコードが読み出される。
図5の例では、リバーブ2のエフェクタ種のコードが読
み出される。
【0072】また、ステップS1003では、現在のポ
インタ変数の値“01”の値が、テーブルアドレスレジ
スタの上位2ビットにセットされる。その後、ステップ
S1004で、ワークメモリ205の波形バッファから
前回のエフェクタ処理の結果得られている波形データが
読み出され、続くステップS1005で、その波形デー
タに対して、ステップS1001でエフェクタ種テーブ
ルから読み出されている現在のポインタ変数の値“0
1”に対応するエフェクタ種に対応するエフェクタ処理
のサブルーチンが読み出されて実行される。この処理の
実行時には、ポインタ変数の値が“00”の場合と同
様、アドレス変換テーブルの現在のポインタ変数の値
“01”に対応する領域からエフェクタ処理によって指
定された指定アドレスの上位3ビットのブロックアドレ
スに対応するバンクアドレスが読み出されることによっ
て、遅延メモリ108のバンクがアクセスされる。
【0073】図9のステップS903のエフェクタ処理
が終了した後、ステップS904において、ポインタ変
数の値が“01”から“10”にインクリメントされ、
ステップS905の判定がNOとなった後、再び、ステ
ップS903のエフェクタ処理が実行される。
【0074】このとき、ポインタ変数の値は“10”と
なっているため、図10のステップS1001では、エ
フェクタ種テーブルから、現在のポインタ変数の値“1
0”に対応するエフェクタ種のコードが読み出される。
図4の例では、コーラスのエフェクタ種のコードが読み
出される。
【0075】また、ステップS1003では、現在のポ
インタ変数の値“10”の値が、テーブルアドレスレジ
スタの上位2ビットにセットされる。その後、ステップ
S1004で、ワークメモリ205の波形バッファから
前回のエフェクタ処理の結果得られている波形データが
読み出され、続くステップS1005で、その波形デー
タに対して、ステップS1001でエフェクタ種テーブ
ルから読み出されている現在のポインタ変数の値“1
0”に対応するエフェクタ種に対応するエフェクタ処理
のサブルーチンが読み出されて実行される。この処理の
実行時には、ポインタ変数の値が“00”の場合と同
様、アドレス変換テーブルの現在のポインタ変数の値
“10”に対応する領域からエフェクタ処理によって指
定された指定アドレスの上位3ビットのブロックアドレ
スに対応するバンクアドレスが読み出されることによっ
て、遅延メモリ108のバンクがアクセスされる。
【0076】再び図9のステップS903のエフェクタ
処理が終了した後、ステップS904において、ポイン
タ変数の値が“10”から“11”にインクリメントさ
れ、ステップS905の判定がNOとなった後、ステッ
プS903のエフェクタ処理が実行される。
【0077】このとき、ポインタ変数の値は“11”と
なっているため、図10のステップS1001では、エ
フェクタ種テーブルから、現在のポインタ変数の値“1
1”に対応するエフェクタ種のコードが読み出される。
図4の例では、ディレイのエフェクタ種のコードが読み
出される。
【0078】また、ステップS1003では、現在のポ
インタ変数の値“11”が、テーブルアドレスレジスタ
の上位2ビットにセットされる。その後、ステップS1
004で、ワークメモリ205の波形バッファから前回
のエフェクタ処理の結果得られている波形データが読み
出され、続くステップS1005で、その波形データに
対して、ステップS1001でエフェクタ種テーブルか
ら読み出されている現在のポインタ変数の値“11”に
対応するエフェクタ種に対応するエフェクタ処理のサブ
ルーチンが読み出されて実行される。この処理の実行時
には、ポインタ変数の値が“00”の場合と同様、アド
レス変換テーブルの現在のポインタ変数の値“11”に
対応する領域からエフェクタ処理によって指定された指
定アドレスの上位3ビットのブロックアドレスに対応す
るバンクアドレスが読み出されることによって、遅延メ
モリ108のバンクがアクセスされる。
【0079】最後に図9のステップS903のエフェク
タ処理が終了した後、ステップS904において、ポイ
ンタ変数の値がインクリメントされるが、ポインタ変数
は前述したように2ビットの変数値であるため、ポイン
タ変数の値“11”がインクリメントされると、その値
は“00”に戻る。
【0080】このようにして、ポインタ変数が“00”
になった時点で、図9のステップS905の判定がYE
Sとなり、ステップS903〜S905による4回のエ
フェクタ処理を終了する。
【0081】ステップS906のタイマ処理では、図2
のタイマ211によってサンプリング周期に同期した割
込みが入力する毎に、次のステップS907の音声出力
処理に移行する。そして、ステップS907の音声出力
処理では、4回のステップS903のエフェクタ処理の
結果、ワークメモリ205内の波形バッファに得られた
出力波形データに、ワークメモリ205内の原音バッフ
ァに予め格納された入力波形データが混合され、その混
合結果が、波形出力インタフェース210を介して図1
のD/A変換器109に、出力波形データとして出力さ
れる。
【0082】ここで、ステップS902〜S907まで
の処理は1サンプリング周期以内で実行できるように構
成されているため、ステップS906のタイマ処理の結
果、ステップS907の音声出力処理において、出力波
形データが正確にサンプリング周期に同期してD/A変
換器109に出力されることになる。
【0083】以上説明した実施例においては、図4に示
されるように、例えば同じリバーブでも、異なる特性の
リバーブをカスケードに実行することが可能であり、設
定によっては、最大で4種類までの同じリバーブをカス
ケードに実行することが可能である。
【0084】また、上述の実施例では、DSP107
は、各サンプリング周期毎に、最大で4つまでのエフェ
クタ処理をカスケードの時分割処理として実行できるよ
うに構成されたが、本発明はこれに限られるものではな
く、DSPの処理能力に余裕があれば、5つ以上の任意
の数のエフェクタ処理を実行できるように構成すること
ができる。
【0085】
【発明の効果】本発明によれば、エフェクタ処理に必要
な遅延処理のためのアドレス空間に対応する記憶アドレ
ス空間がデータ遅延用記憶手段上で連続して存在しなく
ても、各エフェクタ処理に遅延処理用の領域を割り付け
ることが可能となり、遅延メモリを効率的に利用するこ
とが可能となる。
【0086】また、本発明によれば、各エフェクタ処理
では、遅延処理のためのアドレスとしては、データ遅延
用記憶手段の記憶アドレス空間上のアドレスではなく、
仮想的なアドレス空間上のアドレスを指定すればよいた
め、各エフェクタ処理を実行するためのプログラムで
は、データ遅延用記憶手段を直接意識する必要はなく、
この結果、エフェクタ処理のプログラムを簡略化するこ
とが可能となる。
【図面の簡単な説明】
【図1】本発明の実施例の全体構成図である。
【図2】DSP107の構成図である。
【図3】CPUゼネラルフローを示した図である。
【図4】エフェクタ種テーブルの例を示した図(その
1)である。
【図5】エフェクタ種テーブルの例を示した図(その
2)である。
【図6】アドレス変換テーブルの例を示した図(その
1)である。
【図7】アドレス変換テーブルの例を示した図(その
2)である。
【図8】アドレス変換テーブルの説明図である。
【図9】DSPゼネラルフローを示した図である。
【図10】エフェクタ処理の動作フローを示した図であ
る。
【図11】遅延エリアのアクセス動作の説明図である。
【図12】従来例の問題点の説明図である。
【符号の説明】
101 機能キー 102 鍵盤 103 CPU 104 ROM 105 RAM 106 楽音発生回路 107 DSP 108 遅延メモリ 109 D/A変換器 110 LPF 111 アンプ 112 スピーカ 201 バス 202 プログラムメモリ 203 命令デコーダ 204 係数メモリ 205 ワークメモリ 206 乗算器 207 算術論理演算器(ALU) 208 波形入力インタフェース 209 CPUインタフェース 210 波形出力インタフェース 211 タイマ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 小倉 和夫 東京都羽村市栄町3丁目2番1号 カシオ 計算機株式会社羽村技術センター内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 入力波形データに対し、時分割された複
    数のタイミングのそれぞれにおいて、データ遅延用記憶
    手段をアクセスしながら、複数の効果付加処理のそれぞ
    れを実行する効果付加装置において、 前記時分割された複数のタイミングのそれぞれについ
    て、そのタイミングで実行される前記効果付加処理を指
    定する効果付加処理指定手段と、 前記時分割された複数のタイミングのそれぞれについ
    て、そのタイミングで実行される前記効果付加処理にお
    いてアドレス指定され得る遅延処理のためのアドレス空
    間を等分割して得た第1の分割アドレス領域のそれぞれ
    を、前記データ遅延用記憶手段の記憶アドレス空間を等
    分割して得た前記第1の分割アドレス領域と同じ大きさ
    の第2の分割アドレス領域のうち任意の使用されていな
    い領域に割り当てるアドレス割当て手段と、 前記時分割された複数のタイミングのそれぞれにおい
    て、そのタイミングに対応して前記効果付加処理指定手
    段で指定されている前記効果付加処理を前記入力波形デ
    ータに対して実行する効果付加処理実行手段と、 前記時分割された複数のタイミングのそれぞれにおい
    て、該タイミングに対応する前記アドレス割当て手段に
    おける割当て内容を参照することにより、該タイミング
    に対応して前記効果付加処理実行手段により実行される
    前記効果付加処理において指定される前記第1の分割ア
    ドレス領域に対するアドレスを前記第2の分割アドレス
    領域に対するアドレスに変換し、該変換されたアドレス
    により前記データ遅延用記憶手段をアクセスするアクセ
    ス手段と、 を有することを特徴とする効果付加装置。
  2. 【請求項2】 入力波形データに対し、データ遅延用記
    憶手段をアクセスしながら、複数の効果付加処理のそれ
    ぞれを実行する効果付加装置において、 前記複数の効果付加処理のそれぞれを指定する効果付加
    処理指定手段と、 前記複数の効果付加処理のそれぞれにおいて、該効果付
    加処理においてアドレス指定され得る遅延処理のための
    アドレス空間を等分割して得た第1の分割アドレス領域
    のそれぞれを、前記データ遅延用記憶手段の記憶アドレ
    ス空間を等分割して得た前記第1の分割アドレス領域と
    同じ大きさの第2の分割アドレス領域のうち任意の使用
    されていない領域に割り当てるアドレス割当て手段と、 前記効果付加処理指定手段で指定されている前記効果付
    加処理のそれぞれを前記入力波形データに対して実行す
    る効果付加処理実行手段と、 該効果付加処理実行手段により実行される前記効果付加
    処理のそれぞれにおいて、該効果付加処理に対応する前
    記アドレス割当て手段における割当て内容を参照するこ
    とにより、該効果付加処理において指定される前記第1
    の分割アドレス領域に対するアドレスを前記第2の分割
    アドレス領域に対するアドレスに変換し、該変換された
    アドレスにより前記データ遅延用記憶手段をアクセスす
    るアクセス手段と、 を有することを特徴とする効果付加装置。
JP4261951A 1992-09-30 1992-09-30 効果付加装置 Pending JPH06110453A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4261951A JPH06110453A (ja) 1992-09-30 1992-09-30 効果付加装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4261951A JPH06110453A (ja) 1992-09-30 1992-09-30 効果付加装置

Publications (1)

Publication Number Publication Date
JPH06110453A true JPH06110453A (ja) 1994-04-22

Family

ID=17368932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4261951A Pending JPH06110453A (ja) 1992-09-30 1992-09-30 効果付加装置

Country Status (1)

Country Link
JP (1) JPH06110453A (ja)

Similar Documents

Publication Publication Date Title
US5319151A (en) Data processing apparatus outputting waveform data in a certain interval
WO2008118674A1 (en) Musical instrument digital interface hardware instructions
JPH07181969A (ja) コードセグメント置換装置及びそれを用いたリアルタイム信号処理システム並びにオーディオ処理システム
JP3163984B2 (ja) 楽音発生装置
US5567900A (en) Electronic tone generator system with CPU and DSP
EP2137720A1 (en) Efficient identification of sets of audio parameters
JP3152198B2 (ja) 楽音発生方法および楽音発生装置
JPH06110453A (ja) 効果付加装置
JP2901143B2 (ja) 楽音生成装置
US5442125A (en) Signal processing apparatus for repeatedly performing a same processing on respective output channels in time sharing manner
JP2950461B2 (ja) 楽音発生装置
JP2797142B2 (ja) 電子楽器用処理装置
JPH06102863A (ja) 効果付加装置
JP3707908B2 (ja) 電子楽器の効果付加装置
JP3178036B2 (ja) 信号処理装置
JP3371643B2 (ja) 信号処理装置
JP2576616B2 (ja) 処理装置
JP3050779B2 (ja) 信号処理装置
JP3180351B2 (ja) エフェクト装置
JP2727931B2 (ja) 波形メモリ音源
JP2000293169A (ja) 楽音生成装置
JP2684820B2 (ja) サラウンド回路
JPH06149256A (ja) 楽音発生装置
JP3116447B2 (ja) デジタル信号処理プロセッサ
JP2002006844A (ja) 楽音発生方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020625