JPH0580772A - アドレツシング演算回路 - Google Patents

アドレツシング演算回路

Info

Publication number
JPH0580772A
JPH0580772A JP3172833A JP17283391A JPH0580772A JP H0580772 A JPH0580772 A JP H0580772A JP 3172833 A JP3172833 A JP 3172833A JP 17283391 A JP17283391 A JP 17283391A JP H0580772 A JPH0580772 A JP H0580772A
Authority
JP
Japan
Prior art keywords
address
data
memory
mask
circuit
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.)
Granted
Application number
JP3172833A
Other languages
English (en)
Other versions
JP3127492B2 (ja
Inventor
Kazufumi Takeuchi
千史 竹内
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP03172833A priority Critical patent/JP3127492B2/ja
Publication of JPH0580772A publication Critical patent/JPH0580772A/ja
Application granted granted Critical
Publication of JP3127492B2 publication Critical patent/JP3127492B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 自然楽器の楽音機構をシミュレートする物理
音源や残響付与装置に係り、該物理音源などが備える複
数の遅延回路を構成するメモリのアドレスデータを生成
する。 【構成】 外部コントローラ2が所定の命令を出力する
と、DSP1はマイクロプログラムに従って、演算を実
行する。ALU7は先頭アドレスARを修飾するための
修飾データおよびマスクデータMSKを算出し、それぞ
れ所定のインデックスレジスタAC8,IX9,IY1
0およびマスクレジスタMASK11を介して、加算器
16およびAND回路17、18へ供給する。加算器1
6では、先頭アドレスARに上記修飾データを加算する
ことによって修飾先頭アドレスMARを生成する。そし
て、AND回路17、18において、先頭アドレスAR
および修飾先頭アドレスMARがマスクデータMSKに
よってマスキングされ、実アドレスTARとしてメモリ
システム20へ供給される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、自然楽器の発音機構
をシミュレートする物理音源または残響付与装置に係
り、該物理音源や残響付与装置が備える複数の遅延回路
を構成するメモリのアドレスデータを生成するアドレッ
シング演算回路に関する。
【0002】
【従来の技術】物理音源では、自然楽器の発音機構シミ
ュレートするために、複数の遅延回路や所定の周波数特
性を有するフィルタなどが用いられている。これら遅延
回路やフィルタはデジタル回路によって構成されてお
り、発音モデルの特徴(音色)を表すための各種パラメ
ータ(遅延長など)がデジタルデータとして設定され
る。特に、遅延回路にはシフトレジスタとして動作する
ように構成されたメモリが用いられている。メモリを用
いるシフトレジスタはサンプル毎にデクリメント(また
はインクリメント)するポインタとアドレス(リード/
ライト)とを加算したメモリの番地に対しリード/ライ
トを行なうことで実現する。遅延長はリードとライトの
アドレスのオフセット(差)になる。1つのメモリ領域
に複数の遅延回路を実現できる(メモリ領域がオーバー
ラップしないようにすれば)。しかし、複音の物理モデ
ル音源ではしばしばノート毎にサンプリングを変える必
要を生じる。この場合、ノート毎に別のメモリ領域を用
いるようにしないとサンプルポインタが異なるのでメモ
リ領域の衝突を生じてしまう。
【0003】例えば、従来より知られている技術(第1
の技術)の1つには、メモリをハードウエアによって所
定の領域に分割し、この分割されたメモリ領域をアドレ
ス生成回路が出力するアドレスデータによってアクセス
するものがある。このアクセスの際、上記分割されたメ
モリ領域を巡回するようにアクセスすると、上記メモリ
領域は所定長のシフトレジスタとして動作する。
【0004】これに対して、特公平1−57799など
に開示されている技術(第2の技術)では、所定のディ
レイ・レングス・メモリに予め遅延長を設定しておき、
この遅延長の値を最大値とした巡回数(数列)となるア
ドレスデータを生成し、このアドレスデータによってメ
モリをアクセスする。このため、上述した音源と同様に
所定のメモリ領域がシフトレジスタとして働く。
【0005】
【発明が解決しようとする課題】ところで、上述した第
1の技術では、メモリ分割をハードウエアで行なってお
り、分割数は、例えば、1、2または4分割と固定であ
り、メモリ分割をソフトウエアで制御できない。すなわ
ち、メモリ領域に対する選択が3種類に固定されている
ため、メモリ領域の大きさの選択の自由度が無く、単純
な設定しかできず、複雑な信号処理が行なえないという
問題を生じた。
【0006】また、上述した第2の技術においても、シ
フトレジスタまたは遅延に用いられるメモリ長は、ディ
レイ・レングス・メモリの設定内容で決まってしまうた
め、ソフトウエアでの制御ができない。このため、シフ
トレジスタ長選択の自由度が少なく、単純な設定しかで
きず、複雑な信号処理が行なえないという問題を生じ
た。
【0007】この発明は上述した事情に鑑みてなされた
もので、ソフトウエアによりメモリ分割数を選択でき、
かつ、分割されたメモリ領域の大きさを各領域毎に設定
でき、さらに、異なるアドレス空間を容易に指定できる
ため、複数チャンネルに対する処理が容易にできるアド
レッシング演算回路を提供することを目的としている。
【0008】
【課題を解決するための手段】上述した問題点を解決す
るために、この発明では、先頭アドレスを修飾データに
よって修飾した後、該修飾された先頭アドレスによって
メモリをアクセスするアドレッシング演算回路におい
て、前記先頭アドレスが記憶される第1の記憶手段と、
前記先頭アドレスを修飾するための少なくとも1つの前
記修飾データが記憶された第2の記憶手段と、前記メモ
リのアクセス領域の範囲を決定する書き換え可能なマス
クデータが記憶された第3の記憶手段と、前記先頭アド
レスを前記修飾データによって修飾した後、該修飾され
た先頭アドレスを前記マスクデータによってマスキング
し、実アドレスを算出する演算手段とを備え、前記実ア
ドレスによって前記メモリの所定の領域を巡回するよう
にアクセスすることを特徴とする。
【0009】
【作用】この発明によれば、演算手段は、まず、第1の
記憶手段に記憶された先頭アドレスを、第2の記憶手段
に記憶された修飾データによって修飾する。次に、演算
手段は、上記修飾された先頭アドレスを第3の記憶手段
に記憶されたマスクデータによってマスキングすること
によって、メモリの所定の領域を巡回するようにアクセ
スする実アドレスを算出する。ここで、マスクデータを
変えると、アクセスするメモリ領域の範囲が容易に変え
られる。
【0010】
【実施例】次に図面を参照してこの発明の実施例のつい
て説明する。図一はこの発明の一実施例の構成を示すブ
ロック図である。なお、本実施例のアドレッシング演算
回路は、DSP(デジタル信号プロセッサ)1から構成
されており、電子楽器等の音源に対する楽音信号の処理
に用いられる。また、このDSP1では、内部のメモリ
等に対するデータ処理は、8ビット単位の4バイトか、
あるいは16ビット単位の2バイトで行なわれており、
実質的に最大32ビットで行なわれている。また、外部
コントローラ2は音源などを制御する制御部であり、こ
の例の場合、遅延回路に所定の遅延量を設定するために
上記DSP1に対して所定のデータやコマンドを出力す
る。
【0011】上記DSP1は、マイクロプログラム・メ
モリ3、アドレスレジスタ4、係数メモリ5、テンポラ
リメモリ6、ALU7および各種レジスタなどから構成
されている。マイクロプログラム・メモリ3は、上記コ
マンドを実行するためのプログラム(マイクロプログラ
ム)が記憶される。このマイクロプログラムは、所定の
タイミングで実行され、DSP1の各部における動作、
例えば、データの読み込み、演算またはデータの出力な
どを行なうための各種制御信号(ARA、RCA、FU
NC……など)を各部へ出力する。
【0012】アドレスレジスタ4は、メモリシステム2
0の先頭アドレスAR(20ビット)が記憶されるレジ
スタであり、制御信号ARAに従って上記先頭アドレス
ARを加算器16へ供給する。また、係数メモリ5に
は、アドレスを算出するための係数が記憶されており、
制御信号RAM6は、読み出しと書込みとを別々に指定
できる2ポートRAMであり、同じアドレスを同時に読
み書きした場合には、読み出しを優先して、書込まれる
前の値を読み出すようになっている。このテンポラリR
AM6には、ALU7による演算の結果等のデータが一
時的に記憶されるようになっており、制御信号RTAに
従って上記データをALU7へ供給する。
【0013】ALU7は、算術演算、論理演算を行なう
回路であり、加減乗除を行なう複数の論理演算回路から
構成されている。このALU7は、楽音信号に対する演
算処理を行なうとともに、上記係数に従ってアドレス修
飾用の複数の修飾データ(20ビット)を算出し、これ
らをデータバスDBを介してインデックスレジスタAC
8,IX9,IY10へ出力するとともに、マスクデー
タMSK(20ビット)を算出し、これをマスク・レジ
スタMASKへ出力する。上記修飾データによって、レ
ジスタとして動作するメモリの先頭アドレスに対するオ
フセット値が得られる。また、マスクデータMSKによ
って、メモリシステム20のアクセス範囲の可変設定を
可能にしている。
【0014】上記インデックスレジスタAC8,IX
9,およびIY10は、修飾データを一時記憶し、所定
のタイミングでAND回路12、13および14の各々
の一方の入力端へ供給する。また、マスク・レジスタM
ASKは、マスクデータMSKを一時記憶し、所定のタ
イミングでAND回路15の一方の入力端へ供給する。
【0015】AND回路12はゲート回路として動作
し、他方の入力端(負論理)に供給される制御信号CN
TINHに従って、インデックスレジスタAC8から供
給される修飾データを加算器へ供給する。すなわち、制
御信号CNTINHがハイレベルの時には、インデック
スレジスタAC8のデータによるアドレスの修飾が無効
となる。
【0016】また、AND回路13および14も上記A
ND回路12と同様に動作し、各々、他方の入力端に供
給される制御信号IXEN,IYENに従って、それぞ
れに対応したインデックスレジスタIX9,IY10の
修飾データを加算器16へ供給する。すなわち、制御信
号IXENおよびIYENがハイレベルの時には、それ
ぞれのレジスタIX9,IY10の修飾データによるア
ドレスの修飾が有効となる。さらに、AND回路15
は、制御信号AMASKに従って、マスク・レジスタM
ASKのマスクデータMSKをAMD回路17の一方の
入力端およびAND回路18の不論理入力端へ供給す
る。
【0017】上記加算器16は、修飾データ、先頭アド
レスARおよび次アドレスNEXTを加算し、この結果
を修飾先頭アドレスMAR(20ビット)としてAND
回路18の他方の入力端へ供給する。なお、次アドレス
NEXTは、修飾される先頭アドレスを順次インクリメ
ントするためのものである。該AND回路18は、修飾
先頭アドレスMARと反転したマスクデータMSKとの
論理積をとり、その結果をマスクされた修飾先頭アドレ
スMMAR(20ビット)としてOR回路19の一方の
入力端へ供給する。
【0018】また、AND回路17は、先頭アドレスA
RとマスクデータMSKとの論理積をとり、その結果を
マスクされた先頭アドレスMSAR(20ビット)とし
てOR回路19の他方の入力端へ供給する。該OR回路
19は、修飾先頭アドレスMMARと先頭アドレスMS
ARとの論理和をとり、この結果を実アドレスTAR
(20ビット)としてメモリシステム20へ供給する。
【0019】メモリシステム20は、実アドレスTAR
によって指示される所定の領域が巡回するようにアクセ
スされ、音源内の遅延回路のシフトレジスタとして動作
し、遅延用のデータ(32ビット)をデータバスDBを
介して入出力する。また、メモリシステム20は、複数
のチャンネルに対してメモリ領域を設定するために、複
数の領域に分割される必要がある。この分割は、上述し
たマスクデータMSKの値を変えることによって容易に
変更することができるようになっている。
【0020】次に、上述した構成による動作について、
図2および図3を参照して説明する。図2は本実施例の
動作を説明するためのアドレッシング演算の一例を示す
説明図であり、図3はマスクデータMSK,先頭アドレ
スARに異なる値を設定した場合のメモリ長と実アドレ
スTARを示す説明図である。まず、図1において、外
部コントローラ2が所定の命令を出力すると、マイクロ
プログラムメモリ3に該命令のマイクロプログラムが展
開され、DSP1は該マイクロプログラムに従って、演
算を実行する。
【0021】まず、アドレスレジスタ4は、上記外部コ
ントローラ2の命令に応じて、アクセスすべきメモリ領
域の先頭アドレスARを出力し、加算器16およびAN
D回路17へ供給する。また、係数メモリ5およびテン
ポラリメモリ6は、それぞれ所定のデータをALU7へ
供給する。ALU7は先頭アドレスARを修飾するため
の修飾データおよびマスクデータMSKを算出して、そ
れぞれ所定のインデックスレジスタAC8,IX9,I
Y10およびマスクレジスタMASK11へ供給する。
【0022】そして、インデックスレジスタAC8,I
X9およびIY10の修飾データは、各々、制御信号C
NTINH,IXENおよびIYENに従ってAND回
路12、13、14を介して加算器16へ供給される。
加算器16では、先頭アドレスARに上記修飾データを
加算することによって先頭アドレスARを修飾し、修飾
先頭アドレスMARとしてAND回路18へ供給する。
【0023】ここで、制御信号AMASKが0の時に
は、AND回路15が閉状態となり、一方のAND回路
17では先頭アドレスARが「0」とマスキングされる
ため、全て無効となり、他方のAND回路18では上記
修飾先頭アドレスARが「1」とマスキングされるた
め、全て有効となってOR回路19を介して、実アドレ
スTARとしてメモリシステム20へ供給される。そし
て、メモリシステム20では、所定の領域が実アドレス
TARによって巡回するようにアクセスされ、遅延回路
のシフトレジスタとして動作し、遅延用のデータ(32
ビット)をデータバスDBを介して出力する。
【0024】一方、制御信号AMASKが1の時には、
AND回路15が開状態となり、一方のAND回路17
では先頭アドレスARがマスクデータMSKとそのまま
マスキングされる。すなわち、マスクデータMSKのビ
ットが「0」の部分は無効となり、「1」の部分は有効
となる。例えば、メモリ領域として図2に示すように、
「$00100」〜「$001FF」を設定する場合
(モジュロ256)には、マスクデータMSKに「$F
FF00」を設定し、先頭アドレスARに「$0010
0」を設定する。そして、この場合、アドレスが、例え
ば、図示のように「$00104」であるとすると、A
ND回路17の出力は「$00100」となる。
【0025】また、他方のAND回路18では修飾され
たアドレス、すなわち修飾アドレスMARがマスキング
される。この場合、マスクデータMSKのビットが
「0」の部分は有効となり、「1」の部分は無効とな
る。ここで、修飾アドレスMARが図示のように「$0
0297」とすると(修飾データによるオフセットが
「$00157」であると)、AND回路18の出力は
「$00097」となる。
【0026】そして、OR回路19において、上記「$
00100」と「$00097」との論理和がとられ
て、最終的に実アドレスTARは「$00197」とな
る(図2参照)。そして、メモリシステム20では、所
定の領域が実アドレスTARによってアクセスされる。
以下、所定の領域が実アドレスTARによって巡回する
ようにアクセスされ、メモリシステム20は、遅延回路
のシフトレジスタとして動作し、遅延用のデータ(32
ビット)をデータバスDBを介して出力する。
【0027】このように、マスクデータMSKを「$F
FF00」に設定し、例えば先頭アドレスARが「$0
0000」〜「$000FF」の範囲にある場合、実ア
ドレスTARの取り得る範囲は「$00000」〜「$
000FF」である(図3のCH1参照)。また、マス
クデータMSKが「$FFE00」に設定され、先頭ア
ドレスARが「$00200」〜「$003FF」の範
囲にある場合、実アドレスTARの取り得る範囲は「$
00200」〜「$003FF」となる(図3のCH2
参照)。
【0028】以上のように、この実施例では、マスクデ
ータMSKの値をソフトウエア(マイクロプログラム)
で変えることによってメモリ領域の範囲を変更すること
ができるようになる。また、先頭アドレスARの値をソ
フトウエアで変えることによって異なるメモリ領域が容
易に指定できる(複数のチャンネルの処理が容易にな
る)。
【0029】なお、上述した実施例では、マスクレジス
タの内容を「$FFF00」または「$FFE00」に
設定した場合、すなわち0〜(2N−1)の範囲(Nは
固定)で設定する場合について説明したが、Nを与える
ようにしてもよい。また、アドレスのビット数(この実
施例の場合には20ビット)、インデックスレジスタの
数やその機能は実施例に限定されず、次アドレス指定の
機能も限定されることはない。
【0030】また、実施例では、実アドレスを得るため
にOR回路19を用いたが、これに限定されることな
く、加算器などでもよい。また、アドレスレジスタ4
は、複数のレジスタを切替える方式でも、あるいは、マ
イクロプログラムと並列に記憶され、命令毎にベースア
ドレス(先頭アドレス)を持つようにしてもよい。
【0031】
【発明の効果】以上、説明したように、この発明によれ
ば、演算手段によって、まず、第1の記憶手段に記憶さ
れた先頭アドレスを、第2の記憶手段に記憶された修飾
データによって修飾し、次に、上記修飾された先頭アド
レスを第3の記憶手段に記憶されたマスクデータによっ
てマスキングすることによって、メモリの所定の領域を
巡回するようにアクセスする実アドレスを算出するよう
にしたため、ソフトウエアによりメモリ分割数を選択で
き、かつ、分割されたメモリ領域の大きさを各領域毎に
設定でき、さらに、異なるアドレス空間を容易に指定で
きるため、複数チャンネルに対する処理が容易にできる
という利点が得られる。
【図面の簡単な説明】
【図1】 本発明の一実施例の構成を示すブロック図で
ある。
【図2】 図2は本実施例の動作を説明するためのアド
レッシング演算の一例を示す説明図である。
【図3】 図3はマスクデータMSK、先頭アドレスA
Rに異なる値を設定した場合のメモリ長と実アドレスT
ARを示す説明図である。
【符号の説明】
4……アドレスレジスタ(第1の記憶手段)、5……係
数メモリ(第2の記憶手段)、6……テンポラリメモリ
(第2の記憶手段)、7……ALU(演算手段)、16
……加算器(演算手段)、17,18……AND回路
(演算手段)、19……OR回路(演算手段)、20…
…メモリシステム(メモリ)。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 先頭アドレスを修飾データによって修飾
    した後、該修飾された先頭アドレスによってメモリをア
    クセスするアドレッシング演算回路において、 前記先頭アドレスが記憶される第1の記憶手段と、 前記先頭アドレスを修飾するための少なくとも1つの前
    記修飾データが記憶された第2の記憶手段と、 前記メモリのアクセス領域の範囲を決定する書き換え可
    能なマスクデータが記憶された第3の記憶手段と、 前記先頭アドレスを前記修飾データによって修飾した
    後、該修飾された先頭アドレスを前記マスクデータによ
    ってマスキングし、実アドレスを算出する演算手段とを
    備え、 前記実アドレスによって前記メモリの所定の領域を巡回
    するようにアクセスすることを特徴とするアドレッシン
    グ演算回路。
JP03172833A 1991-07-12 1991-07-12 アドレッシング演算回路 Expired - Fee Related JP3127492B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03172833A JP3127492B2 (ja) 1991-07-12 1991-07-12 アドレッシング演算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03172833A JP3127492B2 (ja) 1991-07-12 1991-07-12 アドレッシング演算回路

Publications (2)

Publication Number Publication Date
JPH0580772A true JPH0580772A (ja) 1993-04-02
JP3127492B2 JP3127492B2 (ja) 2001-01-22

Family

ID=15949197

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03172833A Expired - Fee Related JP3127492B2 (ja) 1991-07-12 1991-07-12 アドレッシング演算回路

Country Status (1)

Country Link
JP (1) JP3127492B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5875314A (ja) * 1981-10-29 1983-05-07 Sony Corp 信号処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5875314A (ja) * 1981-10-29 1983-05-07 Sony Corp 信号処理装置

Also Published As

Publication number Publication date
JP3127492B2 (ja) 2001-01-22

Similar Documents

Publication Publication Date Title
KR880001168B1 (ko) 디지탈 신호처리 시스템
US5636153A (en) Digital signal processing circuit
US5051941A (en) Method and apparatus for logical simulation
JP2565073B2 (ja) ディジタル信号処理装置
US5065433A (en) Audio signal data processing system
JPS6134160B2 (ja)
US5614685A (en) Digital signal processor for musical tone synthesizers and the like
JP3127492B2 (ja) アドレッシング演算回路
US4240318A (en) Portamento and glide tone generator having multimode clock circuit
US5708842A (en) Apparatus for changing coefficients utilized to perform a convolution operation having address generator which uses initial count number and up/down count inputs received from external
US5687105A (en) Processing device performing plural operations for plural tones in response to readout of one program instruction
JPH0573031B2 (ja)
JPH06318092A (ja) 可変遅延回路
JP2829953B2 (ja) 残響付加装置
JPH07325581A (ja) 楽音発生装置
JP3225796B2 (ja) 信号処理装置および楽音処理装置
JP3371643B2 (ja) 信号処理装置
JP3036417B2 (ja) 信号処理装置
JPS649639B2 (ja)
JP3116447B2 (ja) デジタル信号処理プロセッサ
JPS583238B2 (ja) 電子楽器
JP3707908B2 (ja) 電子楽器の効果付加装置
JP2585519B2 (ja) 楽音波形デ−タ発生装置
JPS6073694A (ja) 残響付加装置
JPH0544040B2 (ja)

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000516

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20001010

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071110

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081110

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees