JPH07210380A - ディジタル信号処理装置 - Google Patents

ディジタル信号処理装置

Info

Publication number
JPH07210380A
JPH07210380A JP6023131A JP2313194A JPH07210380A JP H07210380 A JPH07210380 A JP H07210380A JP 6023131 A JP6023131 A JP 6023131A JP 2313194 A JP2313194 A JP 2313194A JP H07210380 A JPH07210380 A JP H07210380A
Authority
JP
Japan
Prior art keywords
data
input
selector
register
microprogram
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
JP6023131A
Other languages
English (en)
Other versions
JP3097434B2 (ja
Inventor
Tomomi Miyata
智美 宮田
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 JP06023131A priority Critical patent/JP3097434B2/ja
Priority to US08/376,407 priority patent/US5951673A/en
Publication of JPH07210380A publication Critical patent/JPH07210380A/ja
Priority to US09/168,627 priority patent/US6189085B1/en
Priority to JP2000136373A priority patent/JP3473689B2/ja
Application granted granted Critical
Publication of JP3097434B2 publication Critical patent/JP3097434B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
    • G10H7/006Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof using two or more algorithms of different types to generate tones, e.g. according to tone color or to processor workload
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0091Means for obtaining special acoustic effects
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/155Musical effects
    • G10H2210/265Acoustic effect simulation, i.e. volume, spatial, resonance or reverberation effects added to a musical sound, usually by appropriate filtering or delays
    • G10H2210/281Reverberation or echo
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/155Musical effects
    • G10H2210/311Distortion, i.e. desired non-linear audio processing to change the tone colour, e.g. by adding harmonics or deliberately distorting the amplitude of an audio waveform

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Abstract

(57)【要約】 【目的】この発明は、DSPの改良を目的とし、特にマ
イクロプログラムの開発を容易とし、また開発したマイ
クロプログラムが読み易いものになるようなディジタル
信号処理装置を提供することを目的とする。 【構成】複数のマイクロプログラムをマイクロプログラ
ムレジスタに記憶しておき、所定のクロックに応じて、
それらを順に実行するようにする。マイクロプログラム
と同様の役割を果たすタイミング信号を出力するハード
ウエアでマイクロプログラムレジスタを構成してもよ
い。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、各種のディジタル信
号処理に利用されるDSP(ディジタル・シグナル・プ
ロセッサ)に関し、特に、演算部を効率的に利用するこ
とができ、また実行すべきマイクロプログラムの書き易
さを改善できるディジタル信号処理装置に関する。
【0002】
【従来の技術】従来より、各種のディジタル信号処理を
高速に行うDSP(ディジタル・シグナル・プロセッ
サ)が知られている。DSPは、乗算や加算を行うため
の演算部を備えている。他の部分に比較すると演算部
(特に乗算回路)の処理速度が遅いため、いわゆるパイ
プライン方式で演算を行うようになっているものも少な
くない。
【0003】パイプライン方式で演算を行うため、従来
のDSPではマイクロプログラムに制約を受けていた。
すなわち、演算部の乗算器はマイクロプログラムの1ス
テップの実行速度より遅い(乗算の結果を出力するまで
に1ステップ以上かかる)ため、乗算命令の次のステッ
プですぐにその乗算結果を用いることができず、この意
味で連続的に処理ができないという問題があった。
【0004】例えば、a×b×cという演算をする場合
を考える。また、乗算器が結果をだすのに2ステップか
かるとする。このとき、第1ステップでa×bの乗算を
行うと、その結果は第2ステップでは得ることができ
ず、第3ステップで得られる。したがって、第3ステッ
プ以降で先のa×bの結果(レジスタに保持してある)
と係数cとの乗算を行わなくてはならない。もちろん、
第2ステップ目は全く無駄になる訳ではなく、別の命令
を実行することはできる。乗算器を含む演算部はパイプ
ライン処理を行うから、例えば第2ステップ目に乗算命
令を書くこともできる。
【0005】
【発明が解決しようとする課題】従来のDSPでは、こ
のようにプログラムを連続的に書くことができなかっ
た。1ステップで乗算が終るような乗算器を使えばよい
が非常に高価となる。また、1サンプリング周期あたり
で実行するマイクロプログラムのステップ数を少なくす
ると可能となるが、そうすることよりもステップ数を増
やした方が性能が向上する。
【0006】さらに、従来のDSPでは、マイクロプロ
グラムを書く際に演算結果のでるタイミングを考慮して
記述しなければならない。また、互いに関係がない演算
が交互に現れるためプログラムを容易に読むことができ
ず、デバッグにも時間がかかるという欠点があった。
【0007】この発明は、DSPの改良を目的とする。
また、この発明は、マイクロプログラムの開発を容易と
し、また開発したマイクロプログラムが読み易いものに
なるようなディジタル信号処理装置を提供することを目
的とする。
【0008】
【課題を解決するための手段】この発明に係るディジタ
ル信号処理装置は、複数のマイクロ命令からなるマイク
ロプログラムを複数記憶した記憶手段と、前記記憶手段
から、前記複数のマイクロプログラムについて所定の順
序で、各マイクロプログラムのマイクロ命令を順次読み
出す読み出し手段と、読み出したマイクロ命令にしたが
ってディジタル信号処理を実行する信号処理手段とを備
えたことを特徴とする。
【0009】例えば、前記記憶手段が、第1のマイクロ
プログラムを記憶した第1の記憶手段、第2のマイクロ
プログラムを記憶した第2の記憶手段、…、および第n
のマイクロプログラムを記憶した第n(nは2以上の整
数)の記憶手段で構成されるような場合は、第1のマイ
クロプログラムの第1のマイクロ命令、第2のマイクロ
プログラムの第1のマイクロ命令、…、および第nのマ
イクロプログラムの第1のマイクロ命令をこの順に読み
出し、次に第1のマイクロプログラムの第2のマイクロ
命令、第2のマイクロプログラムの第2のマイクロ命
令、…、および第nのマイクロプログラムの第2のマイ
クロ命令をこの順に読み出し、次に第1のマイクロプロ
グラムの第3のマイクロ命令、第2のマイクロプログラ
ムの第3のマイクロ命令、…、および第nのマイクロプ
ログラムの第3のマイクロ命令をこの順に読み出し、…
というように各マイクロ命令を読み出し、実行するよう
にする。
【0010】信号処理手段は、例えば、データレジス
タ、係数レジスタ、およびそれらデータレジスタと係数
レジスタのデータを入力して演算し演算結果をデータレ
ジスタに格納する演算部(乗算器や加算器など)などを
備え、読み出されたマイクロ命令にしたがってディジタ
ル信号処理を行うようなものである。データレジスタや
係数レジスタなどの演算部以外の部分は、複数ステップ
のマイクロプログラムを実行するのに十分な領域を備え
ているものとする。例えば、データレジスタや係数レジ
スタは、マイクロプログラムのステップ数(すなわちマ
イクロ命令の数)だけの領域を用意しておき、読み出す
マイクロ命令に同期して、対応するデータレジスタや係
数レジスタの領域を用いるようにしてもよい。
【0011】さらに、この発明に係るディジタル信号処
理装置は、複数のマイクロ命令からなるマイクロプログ
ラムを記憶した記憶手段と、タイミング信号を発生する
タイミング信号発生手段と、前記記憶手段からの前記マ
イクロ命令の読み出しと前記タイミング信号発生手段か
らのタイミング信号の発生を交互に行う制御手段と、前
記記憶手段から前記マイクロ命令が読み出されていると
きはそのマイクロ命令にしたがってディジタル信号処理
を実行し、前記タイミング信号発生手段から前記タイミ
ング信号が発生されているときはそのタイミング信号に
したがってディジタル信号処理を実行する信号処理手段
とを備えたことを特徴とする。
【0012】タイミング信号発生手段から出力されるタ
イミング信号は、マイクロプログラムのマイクロ命令と
同様の役割を果たすものである。ハードウエアでタイミ
ング信号発生手段を構成するとよい。
【0013】前記マイクロ命令の読み出しと前記タイミ
ング信号の発生を交互に行う際に、それらの間に別のマ
イクロプログラムのマイクロ命令の読出しや別のタイミ
ング信号発生手段からのタイミング信号の発生を行って
もよい。
【0014】さらに、この発明に係る信号処理装置は、
複数ステップから構成される、少なくとも2種類のプロ
グラムを交互に出力するプログラム供給手段と、供給さ
れたデータを用いて、前記少なくとも2種類のプログラ
ムによってディジタル演算を行う1つの演算手段と、前
記供給されたデータ、または前記演算手段によって行わ
れた演算結果を記憶するデータ記憶手段と、を備え、該
データ記憶手段は、前記少なくとも2種類のプログラム
の両方の指示によって制御されることを特徴とする。
【0015】
【作用】ディジタル信号処理手段の演算部は、データが
入力してから演算結果を出力するまでに複数ステップの
時間を要するようなもの(パイプライン方式)である。
上記構成によれば、別々のマイクロプログラム(1つの
マイクロプログラムとは1つの機能を果たすための一連
のマイクロ命令の集合をいうものとする)のマイクロ命
令を順に実行するようになっている。したがって、ある
マイクロプログラムに着目すると、第1のマイクロ命令
が読み出されて実行された後、所定のステップ数の時間
が経過した後に次の第2のマイクロ命令が実行され、さ
らにそこから所定のステップ数の時間が経過した後に次
の第3のマイクロ命令が実行され、…というように処理
が進むことになる。
【0016】これにより、演算部が遊ぶことがなく、一
方、マイクロプログラムは演算結果のでるタイミングを
考慮して記述する必要が無くなる。
【0017】
【実施例】以下、図面を用いてこの発明の実施例を説明
する。
【0018】図1は、この発明の第1の実施例に係るデ
ィジタル信号処理装置(DSP)のブロック構成を示
す。図2は、このDSPを電子楽器のディジタル楽音信
号に各種の効果(ディストーションや残響(リバーブ)
など)を付加する効果付加装置として用いた電子楽器の
ブロック構成を示す。
【0019】図2を参照して、この実施例のDSPを用
いた電子楽器について説明する。この電子楽器は、パネ
ルスイッチ(SW)201、パネルSWインターフェー
ス(I/F)202、鍵盤203、鍵盤I/F204、
中央処理装置(CPU)205、ランダム・アクセス・
メモリ(RAM)206、リード・オンリ・メモリ(R
OM)207、音源208、DSP209、ディジタル
・アナログ・変換器(DAC)210、サウンドシステ
ム211、およびデータ・アドレス・バス212を備え
ている。
【0020】パネルスイッチ(SW)201は、音色や
効果など各種の設定を行うためのスイッチ群である。パ
ネルSWインターフェース(I/F)202は、パネル
スイッチ(SW)201の操作情報および設定情報をバ
ス212を介してCPU205に通知するためのインタ
ーフェースである。鍵盤203は、演奏者が演奏するた
めの複数の鍵を備えた鍵盤である。鍵盤203からの演
奏情報は、鍵盤I/F204およびバス212を介して
CPU205に入力する。
【0021】音源208は、CPU205の指示に応じ
てディジタル楽音信号を発生する。DSP209は、C
PU205の指示に応じて、音源208からのディジタ
ル楽音信号に各種の効果を付加する。効果付加後のディ
ジタル楽音信号は、DAC210によりアナログ信号に
変換され、サウンドシステム211により放音される。
【0022】音源208は、所定のサンプリング周期の
クロック信号に基づいて動作しディジタル楽音信号を出
力する。この実施例では、説明の便宜のため、音源20
8は、1サンプリング周期ごとに1つの波形振幅値デー
タを出力するものとする。なお、これに限らず、時分割
多重処理で1サンプリング周期において複数チャンネル
の処理やステレオの左右の処理を行う場合にも本発明が
適用できることは明らかである。
【0023】CPU205は、この電子楽器全体の動作
を制御する。特に、CPU205は、鍵盤203から送
出される演奏情報に応じて音源208に楽音発生の指示
を出す。また、パネルSW201で楽音に付加すべき効
果の設定がなされたとき、CPU205は、指示された
効果を楽音信号に付加するための効果プログラム(マイ
クロプログラム)をROM207から読み出してDSP
209に送る。
【0024】例えば、楽音にディストーションと残響を
付加したい場合は、ディストーション付加プログラムと
残響付加プログラムとをDSP209に送る。DSP2
09は、これらのマイクロプログラムを実行することに
より、音源208からの楽音信号に効果を付加する。
【0025】RAM206は、各種のワーキング領域な
どに用いる。ROM207には、CPU205が実行す
るプログラムや各種の効果付加のためのマイクロプログ
ラムなどが格納されている。
【0026】次に、図1を参照して、図2のDSP20
9について詳しく説明する。
【0027】DSP209は、入力レジスタ101、デ
ータレジスタ102,103、係数レジスタ104,1
05、セレクタ106〜112、乗算器113、遅延回
路114、加算器115、マイクロプログラムレジスタ
116,117、ラッチ118、外部遅延RAM11
9、アドレスコントロール(アドレス制御回路)12
0、アドレスレジスタ121,122、およびクロック
発生器125を備えている。加算器115、外部遅延R
AM119、およびラッチ118は、DSPデータバス
124により相互に接続されている。
【0028】212は、このDSP209が接続される
CPUバス(図1のデータ・アドレス・バス)である。
DSP209は、外部遅延RAM119を除き、1チッ
プで構成されている。外部遅延RAM119は、大容量
のため外部に設けられる。
【0029】入力レジスタ101は、図2の音源208
からのディジタル楽音信号を取り込むためのレジスタで
ある。音源208から入力データが供給されている期間
内に、マイクロプログラムレジスタ116または117
からの書き込み信号が入力レジスタ101に入力するよ
うになっており、これにより入力レジスタ101へのデ
ータの記憶(取り込み)がなされる。
【0030】データレジスタ102,103は、加算器
115からの演算結果を一時記憶したり、外部遅延RA
M119からのデータを一時記憶する。データレジスタ
102,103には、これらのデータを記憶するエリア
が複数設けられており、書き込み、読み出し、そのアド
レス指定はマイクロプログラムレジスタ116,117
に記憶されているマイクロプログラム(詳しくは、マイ
クロプログラムレジスタ116,117から読み出され
たマイクロ命令)によって行われる。
【0031】係数レジスタ104,105は、CPUバ
ス212を介して図2のCPU205から送出される係
数データを格納する複数の領域を備えたレジスタであ
る。係数レジスタ104からの読み出しデータはセレク
タ112のA端子に、係数レジスタ105からの読み出
しデータはセレクタ112のB端子に、それぞれ入力す
る。セレクタ112は、クロックφ1に応じてこれらの
入力データの何れかを選択し、乗算器113へと出力す
る。具体的には、セレクタ112は、クロックφ1がH
(High)のときA端子の入力データを選択出力し、
クロックφ1がL(Low)のときB端子の入力データ
を選択出力する。
【0032】なお、係数レジスタ104,105に記憶
される係数は、CPUバス212を介して図2のCPU
205からリアルタイムに書き換え可能である。これに
より、ユーザの外部コントローラの操作に応じてフィル
タ演算などの係数を変化させることができ、音色をリア
ルタイムにコントロールすることもできる。
【0033】セレクタ108は、データレジスタ102
からのデータ、定数”1”、または入力レジスタ101
からのデータの何れかを選択して出力するセレクタであ
る。セレクタ109は、データレジスタ103からのデ
ータ、定数”1”、または入力レジスタ101からのデ
ータの何れかを選択して出力するセレクタである。定
数”1”があるのは、乗算器113をスルーさせて加算
器だけ使用したい場合に必要だからである。
【0034】セレクタ106は、データレジスタ102
からのデータ、DSPデータバス124(加算器115
または外部遅延RAM119)からのデータ、または定
数”0”の何れかを選択して出力するセレクタである。
セレクタ107は、データレジスタ103からのデー
タ、DSPデータバス124(加算器115または外部
遅延RAM119)からのデータ、または定数”0”の
何れかを選択して出力するセレクタである。セレクタ1
06,107で定数”0”の選択出力があるのは、加算
器115に定数”0”を与えて、乗算器113の乗算結
果をスルーさせたい場合があるためである。
【0035】これらの各セレクタ108,109,10
6,107における選択処理は、マイクロプログラムレ
ジスタ116,117から読み出されたマイクロ命令に
応じて行われる。
【0036】セレクタ110は、A端子に入力するセレ
クタ106からのデータとB端子に入力するセレクタ1
07からのデータの何れかを選択出力する。セレクタ1
10の出力は、遅延回路114により所定時間だけ遅延
された後、加算器115に入力する。セレクタ111
は、A端子に入力するセレクタ108からのデータとB
端子に入力するセレクタ109からのデータの何れかを
選択出力する。
【0037】これらのセレクタ110,111は、クロ
ックφ1がHのときA端子の入力データを選択出力し、
クロックφ1がLのときB端子の入力データを選択出力
する。
【0038】セレクタ111の出力は、乗算器113に
入力する。乗算器113は、セレクタ111からの出力
データとセレクタ112からの出力データとの乗算を行
い、乗算結果を加算器115に出力する。
【0039】加算器115は、遅延回路114の出力と
乗算器113の出力とを加算して加算結果をDSPデー
タバス124に出力する。乗算器113、遅延回路11
4、および加算器115により、演算部が構成されてい
る。この演算部は、1サンプリング周期あたり256回
(すなわち、256ステップ)の演算が可能であるもの
とする。
【0040】また、乗算器113と加算器115はパイ
プライン方式で動作するものとし、1ステップ目で乗算
器113による乗算を途中まで行い次の2ステップ目で
その途中からの乗算と乗算結果を用いて加算器115に
よる加算を行う(そのとき乗算器113は別の乗算を行
っていることになる)ものとする。遅延回路114は、
加算器115への入力のタイミングを合せるためのもの
である。
【0041】マイクロプログラムレジスタ116,11
7は、それぞれ、1サンプリング周期で実行される12
8ステップのマイクロ命令からなるマイクロプログラム
を格納している。すなわち、マイクロプログラムレジス
タ116,117は、1サンプリング周期で一回りする
128段のシフトレジスタ(1段にマイクロ命令1ステ
ップが格納されている)である。マイクロプログラムレ
ジスタ116はクロックφ1がHの区間で(1マイクロ
命令が)読み出され、マイクロプログラムレジスタ11
7はクロックφ1バー(φ1を反転したもの)がHの区
間で(1マイクロ命令が)読み出される。
【0042】効果の種類を変更するときには、このマイ
クロプログラムを書き換えることによって実現する。書
き換えるべきマイクロプログラムは、CPUバス212
につながっている図2のROM207に複数記憶されて
いる。図2のCPU205は、パネルSW201、また
は音色指定、或いはプログラムチェンジなどの指定によ
り、その指定に応じたマイクロプログラムを前記ROM
207から読み出してマイクロプログラムレジスタ11
6,117に書き込む。
【0043】ラッチ118は、効果付加後のディジタル
楽音信号をラッチして出力するためのものである。この
ラッチ出力は外部のDAC210に接続され、アナログ
信号に変換される。
【0044】外部遅延RAM119は、遅延信号を作る
ために利用される。その書き込み/読み出しは、マイク
ロプログラム(マイクロプログラムレジスタ116,1
17から読み出されたマイクロ命令)により指示され
る。書き込み/読み出しを行う際のアドレスは、アドレ
スコントロール120から出力される。アドレスコント
ロール120は、アドレスレジスタ121,122から
出力される相対アドレスを絶対アドレスに変換するた
め、アドレスオフセットを加算する制御回路である。そ
のアドレスオフセットは、アドレスカウンタの出力であ
り、遅延RAM119の記憶領域に相当するアドレス範
囲を、1サンプリング周期毎に1づつ減算する減算カウ
ンタで構成されている。
【0045】アドレスレジスタ121,122は、外部
遅延RAM119の先頭アドレスを0と見なした相対ア
ドレスでマイクロプログラム(詳しくは、マイクロプロ
グラムレジスタ116,117から読み出されたマイク
ロ命令)に応じたアクセスタイミングで所望のアドレス
が出力されるように記憶されている。
【0046】クロック発生器125は、DSP各部にク
ロックφ1およびクロックφ1バーを供給する。クロッ
クφ1は、所定時間ごとにLレベルとHレベルとを交互
に繰り返すクロック信号である。クロックφ1は、1サ
ンプリング周期あたり128周期分含まれる。すなわ
ち、1サンプリング周期中に、Lが128区間、Hが1
28区間、含まれることになる(図5)。クロックφ1
バーは、クロックφ1のLとHとを反転した信号であ
る。なお、クロックφ1,φ1バーにおいてH(または
L)が維持される1つの時間区間を単に区間と呼ぶもの
とする。
【0047】上述したようにマイクロプログラムレジス
タ116,117には1サンプリング周期で実行される
128ステップの一連のマイクロ命令からなるマイクロ
プログラムがそれぞれ格納されており、クロックφ1お
よびφ1バーに基づいて交互に1マイクロ命令ずつ読み
出される。すなわち、クロックφ1がHの区間ではマイ
クロプログラムレジスタ116からマイクロ命令が読み
出されて実行され、クロックφ1バーがHの区間(すな
わちクロックφ1がLの区間)ではマイクロプログラム
レジスタ117からマイクロ命令が読み出されて実行さ
れる。したがって、DSP全体として見れば、1サンプ
リング周期で256ステップのマイクロ命令を読み出し
実行することになる。
【0048】いま、クロックφ1がHの区間で読み出し
実行されるマイクロプログラムレジスタ116のマイク
ロプログラムに着目すると、このマイクロプログラムに
応じて演算部が行う演算は1サンプリング周期あたり1
28ステップであるから、やはりクロックφ1がHの区
間で読み出されるデータレジスタ102や係数レジスタ
104は演算の各ステップの度に異なるデータや係数を
(必要に応じて)供給しなければならない。したがっ
て、データレジスタ102および係数レジスタ104の
それぞれは、128段のシフトレジスタで構成されてい
て1サンプリング周期で一回りするようになっている。
同様に、アドレスレジスタ121も、1サンプリング周
期で一回りする128段のシフトレジスタである。
【0049】同様に、マイクロプログラム117におい
て用いられる係数、およびアドレスを格納する係数レジ
スタ105、およびアドレスレジスタ122も、1サン
プリング周期で一回りする128段のシフトレジスタで
ある。
【0050】なお、図1のDSPでは省略しているが、
係数レジスタの係数を補間して演算部に出力する補間回
路や、振幅変調や遅延時間変調などを行なうための変調
波形(三角波、鋸波、またはサイン波など)を出力する
LFO(低周波発振器)を備えるようにしてもよい。
【0051】図3は、マイクロプログラムレジスタ11
6,117、係数レジスタ104,105、およびアド
レスレジスタ121,122に格納されるデータの例を
示す。図4(a)は、図3のデータを格納して動作する
図1のDSPがどのような効果付加装置として機能する
かを示すブロック図である。
【0052】図3を参照して、マイクロプログラムレジ
スタ116にはマイクロプログラムP1が格納される。
マイクロプログラムP1は、128ステップのマイクロ
命令からなる。係数レジスタ104の係数データ314
は、128ステップのマイクロプログラムP1の各ステ
ップのマイクロ命令に対応する係数データである。ま
た、アドレスレジスタ121のアドレスデータ315
は、128ステップのマイクロプログラムP1の各ステ
ップのマイクロ命令に対応するアドレスデータである。
マイクロプログラムP1は、大まかには3つの部分31
1,312,313からなる。
【0053】図3の311は、入力信号(音源208か
らの波形振幅値データ)を入力レジスタ101に記憶さ
せ、それを読み出して演算部の乗算器113に供給する
結線プログラムである。具体的には、以下の〜のよ
うな処理を行うプログラムである。
【0054】入力レジスタ101に入力信号を記憶す
る。 セレクタ108を切り替えて、入力レジスタ101の
データをセレクタ111のA端子に供給する。 (マイクロプログラムP1が読み出されるのはクロッ
クφ1がHのときでありこのときセレクタ111はA端
子を選択出力するから、)セレクタ111を介してA端
子の入力データを乗算器113に供給する。
【0055】図3の312は、入力信号にディストーシ
ョンを付加するディストーション付加プログラムであ
る。これは、具体的には以下の〜のような処理を行
うプログラムである。
【0056】乗算器113により、セレクタ111お
よびセレクタ112から供給されるデータの乗算を実行
する。なお、乗算する係数データは、係数レジスタ10
4からマイクロ命令に応じて読み出し、セレクタ112
(クロックφ1はHでA端子が選択出力されている)を
介して乗算器113に入力したものを用いる。
【0057】加算器により、遅延回路114のデータ
と乗算器113の乗算結果とを加算する。なお、遅延回
路114のデータは、データレジスタ102からのデー
タまたはDSPデータバス124を介して得られる加算
器115若しくは外部遅延RAM119からのデータを
マイクロ命令に応じてセレクタ106で選択し、さらに
セレクタ110(クロックφ1はHでA端子が選択出力
されている)を介して遅延回路114に入力し、保持さ
れているものである。
【0058】加算器115の加算結果を、DSPデー
タバス124、セレクタ106,110を介して遅延回
路114に書き込む、あるいは、DSPデータバス12
4を介して外部遅延RAM119やデータレジスタ10
2に書き込む。どこに書き込むかは、読み出したマイク
ロ命令によって指示される。特に、外部遅延RAM11
9に書き込む場合は、アドレスレジスタ121から読み
出した相対アドレスをアドレスコントロール120で絶
対アドレスに変換したアドレスを用いる。
【0059】必要に応じて、外部遅延RAM119の
データをデータレジスタ102や遅延回路114に書き
込む。所定時間遅延したデータを用いる場合である。
【0060】データレジスタ102からデータを読み
出し、セレクタ108,111を介してそのデータを乗
算器113に供給する。また、係数レジスタ104から
係数データを読み出し、セレクタ112を介してその係
数データを乗算器113に供給する。データレジスタ1
02の読み出しアドレスの指定やセレクタ108におけ
る選択は、読み出したマイクロ命令により指定される。
【0061】以上の〜のような処理を繰り返すこ
とにより、演算を繰り返し行って、最終的な演算結果を
得る。その演算結果が、ディストーションを付加した楽
音信号である。
【0062】図3の313は、その演算結果をデータレ
ジスタ103の所定の領域A1に格納する結線プログラ
ムである。これは、加算器115から出力される演算結
果を、DSPデータバス124を介して、データレジス
タ103の所定の領域A1に設定する処理を行う。
【0063】次に、マイクロプログラムP2について説
明する。マイクロプログラムレジスタ117にはマイク
ロプログラムP2が格納される。マイクロプログラムP
2は、マイクロプログラムP1と同様に128ステップ
のマイクロ命令からなる。係数レジスタ105の係数デ
ータ324は、128ステップのマイクロプログラムP
2の各ステップのマイクロ命令に対応する係数データで
ある。また、アドレスレジスタ122のアドレスデータ
325は、128ステップのマイクロプログラムP2の
各ステップのマイクロ命令に対応するアドレスデータで
ある。マイクロプログラムP2は、大まかには3つの部
分321,322,323からなる。
【0064】図3の321は、データレジスタ103の
所定の領域A1からデータを読み出して演算部の乗算器
113に供給する結線プログラムである。具体的には、
以下の,のような処理を行うプログラムである。
【0065】セレクタ109を切り替えて、データレ
ジスタ103の所定の領域A1のデータをセレクタ11
1のB端子に供給する。データレジスタ103の所定の
領域A1には、前の1サンプリング周期にマイクロプロ
グラムP1が演算した演算結果(すなわち、ディストー
ションを付加した楽音信号)が格納されている。
【0066】(マイクロプログラムP2が読み出され
るのはクロックφ1バーがHのときでありこのときセレ
クタ111はB端子を選択出力するから、)セレクタ1
11を介してB端子のデータを乗算器113に供給す
る。
【0067】図3の322は、その入力データに残響効
果を付加する残響付加プログラムである。残響付加プロ
グラム322の処理手順は、上述したディストーション
付加プログラム312と同様である。ただし、マイクロ
プログラムP2が読み出されるのはクロックφ1バーが
Hのときであるから、セレクタ110,111,112
はB端子の入力を選択出力し、これによりデータレジス
タ103、および係数レジスタ105が用いられる。ま
た、アドレスレジスタ122が用いられる。さらに、当
然であるが、実行する演算は残響を付加するための演算
になっている。
【0068】図3の323は、その演算結果(残響を付
加した楽音信号)をデータレジスタ103の所定の領域
A2に格納し、さらにエフェクトバランス演算を行う結
線プログラムである。これは、具体的には以下の〜
のような処理である。
【0069】加算器115から出力される上記残響付
加プログラム322による出力データを、DSPデータ
バス124を介して、データレジスタ103の所定の領
域A2に格納する。
【0070】入力レジスタ101に格納されている入
力信号と上記所定領域A2に格納されている効果付加済
みのデータとのエフェクトバランス演算を行う。すなわ
ち、まず入力レジスタ101のデータをセレクタ10
9,111を介して乗算器113に供給し、所定の係数
k1(k1は係数レジスタ105からセレクタ112を
介して読み出す)と乗算し、(加算器115では乗算結
果と0を加算するようにして、)乗算結果をデータレジ
スタ103の所定領域A3に格納する。次に、同様にし
て、所定領域A2のデータに所定の係数k2を乗算し、
その乗算結果とデータレジスタ103の所定領域A3の
データとを加算する。これにより、エフェクトバランス
演算が終了し、最終的な出力信号が得られる。
【0071】最終的に得られた出力信号をラッチ11
8に格納し、外部に出力する。
【0072】このように上記図3に示したようなマイク
ロプログラムに基づいて動作することにより、図1のD
SPは、図4(a)のような効果付加装置と等価にな
る。
【0073】図4(a)において、401は入力信号に
ディストーションを付加するディストーション付加部、
402はディストーションを付加した信号に残響を付加
する残響付加部、403は入力信号に係数k1を乗算す
る乗算部、404はディストーションと残響とを付加し
た信号に係数k2を乗算する乗算部、405は乗算部4
03の乗算結果と乗算部404の乗算結果とを加算する
加算部である。
【0074】図3のマイクロプログラムとの対応は以下
の通りである。
【0075】まず、図4(a)のディストーション付加
部401に入力信号が入力する結線は、図3のマイクロ
プログラムP1の結線プログラム311に対応する。図
4(a)のディストーション付加部401は、図3のデ
ィストーション付加プログラム312に対応する。図4
(a)のディストーション付加部401から残響付加部
402への結線は、図3のマイクロプログラムP1の結
線プログラム313およびマイクロプログラムP2の結
線プログラム321に対応する。
【0076】図4(a)の残響付加部402は、図3の
残響付加プログラム322に対応する。図4(a)の入
力信号を乗算部403に入力して係数k1と乗算し、残
響付加部402の出力を乗算部404に入力して係数k
2と乗算し、それらの乗算結果を加算部405で加算し
て出力する部分は、図3の結線プログラム323に対応
する。
【0077】なお、図1のデータレジスタ102,10
3は、それぞれ複数の領域(アドレス)を持ち、プログ
ラムP1,P2のどちらからでもアクセスできるデュア
ルポートRAMで構成されている。これによって、プロ
グラムP1,P2が共通のデータを使うことができ、デ
ータの受け渡しをすることによって、図4に示されるよ
うに異なるエフェクトの結線を自由にすることができ
る。
【0078】図5は、クロックφ1,φ1バーおよびセ
レクタや演算部の入出力のタイミングを表すタイムチャ
ートである。この図を参照して、マイクロプログラムプ
ログラムP1とP2とを交互に実行する動作についてさ
らに詳しく説明する。
【0079】図5において、クロックφ1,φ1バーに
ついては、1サンプリング周期の間に128周期分のク
ロック信号が含まれる。また、1サンプリング周期は2
56区間(1区間は、H(またはL)が維持される1つ
の時間区間)に等しい。
【0080】クロックφ1がHの区間では、マイクロプ
ログラムレジスタ116から図3のマイクロプログラム
P1のマイクロ命令が順次読み出され、またこの区間で
はセレクタ110,111,112はそれぞれA端子の
入力を選択出力する。さらに、アドレスデータとして
は、アドレスレジスタ121のアドレスデータが用いら
れる。したがって、この区間では、データレジスタ10
2、係数レジスタ104、およびアドレスレジスタ12
1のデータが(必要に応じて)用いられ、マイクロプロ
グラムP1の128ステップのマイクロ命令が実行され
る。
【0081】クロックφ1がLの区間では(すなわち、
クロックφ1バーがHの区間)、マイクロプログラムレ
ジスタ117から図3のマイクロプログラムP2のマイ
クロ命令が順次読み出され、またこの区間ではセレクタ
110,111,112はそれぞれB端子の入力を選択
出力する。さらに、アドレスデータとしては、アドレス
レジスタ122のアドレスデータが用いられる。したが
って、この区間では、データレジスタ103、係数レジ
スタ105、およびアドレスレジスタ122のデータが
(必要に応じて)用いられ、マイクロプログラム117
のマイクロプログラムP2の128ステップのマイクロ
命令が実行される。
【0082】図5の「セレクタ110,111,11
2」は、これらのセレクタにおいて選択する端子が、ク
ロックφ1,φ1バーに応じてA端子とB端子とで交互
に切り替わる様子を示している。「演算部入力」と「演
算部出力」は、クロックφ1およびφ1バーに応じて交
互にマイクロプログラムP1とP2のマイクロ命令によ
る演算を行う様子を示している。演算部を構成する乗算
器113と加算器115はパイプライン方式で処理を行
うため、例えばマイクロプログラムP1のマイクロ命令
によって区間501で演算部に入力したデータに対し演
算結果が出力されるのは、次に区間503でなく、次の
次の区間502になる。区間503では、マイクロプロ
グラムP2のマイクロ命令による演算が行われる。
【0083】このように、演算部は1区間で演算結果を
出力するのでなく1区間をおいた次の区間で演算結果を
出力するが、これに合せてクロックφ1,φ1バーに応
じてマイクロプログラムP1とP2とを交互に実行して
いくので、演算部が遊ぶことがない。すなわち、あるス
テップ(ステップと呼ぶ)で演算部にデータを入力し
て演算を指令し、その次のステップ(ステップと呼
ぶ)でその演算結果を用いるようなマイクロプログラム
を書いたとしても、ステップを実行した区間の後、1
区間をおいた次の区間でステップを実行することにな
り、そのときには既にステップの演算結果は出力され
ているから、問題なく処理を進行することができる。
【0084】なお、上記実施例では、図4(a)のよう
に2つの効果付加部を直列に接続した例を説明したが、
別の接続の仕方も可能である。例えば、図4(b)に示
すような効果付加装置を実現することもできる。この場
合、図3のマイクロプログラムのうち効果を付加するプ
ログラム312,322は変更する必要がない。また、
マイクロプログラムP1の結線プログラム311,31
3も変更する必要がない。
【0085】マイクロプログラムP2の結線プログラム
321を「入力レジスタ101から入力信号を読み出し
て演算部に供給する」ものに変更し、結線プログラム3
23を「演算結果をデータレジスタ103の所定領域A
2に記憶し、次に、入力レジスタ101、データレジス
タ103の所定領域A1、およびデータレジスタ103
の所定領域A2のデータを用いてエフェクトバランスを
演算する」ものに変更すればよい。また、係数データや
アドレスデータも必要に応じて変更すればよい。
【0086】また、上記第1の実施例では、ディストー
ションと残響効果を1つの入力に対し直列または並列の
処理によって、1つの出力信号としていたが、これに限
らず、2つの入力信号に対し、それぞれ全く独立の効果
を付与し、2つの出力信号として出力するようにしても
よい。
【0087】次に、この発明の第2の実施例を説明す
る。
【0088】図6は、第2の実施例のDSPのブロック
構成を示す。この図において、図1と同じ付番は共通の
ものを示すものとする。このDSPも上記第1の実施例
のDSPと同様に、図2のような電子楽器の効果付与装
置として機能するものである。
【0089】図7は、図6のDSPで実現される効果付
加装置のブロック構成を示す。この効果付加装置は、大
きくは、イコライザ部701とエフェクト部702に分
けられる。ここでは、4つの入力信号を入力し、最終的
にL側(左側)出力とR側(右側)出力とを得るものと
する。
【0090】イコライザ部701は、12個のイコライ
ザEQ1〜EQ12により構成される。第1の入力信号
である入力1は、直列に接続されたイコライザEQ1,
EQ2,EQ3を介してエフェクト部702に入力す
る。第2の入力信号である入力2は、直列に接続された
イコライザEQ4,EQ5,EQ6を介してエフェクト
部702に入力する。第3の入力信号である入力3は、
直列に接続されたイコライザEQ7,EQ8,EQ9を
介してエフェクト部702に入力する。第4の入力信号
である入力4は、直列に接続されたイコライザEQ1
0,EQ11,EQ12を介してエフェクト部702に
入力する。
【0091】エフェクト部702は、図4に示したディ
ストーション付加部401や残響付加部402など、所
定の効果を付加する処理を行う。
【0092】図8は、このDSPで実現する1つのイコ
ライザの構成を示す。このイコライザは、加算器80
1,804、遅延回路802,803、および乗算器8
11〜815からなる。
【0093】入力データは、加算器801に入力する。
加算器801は、入力データと、乗算器811の乗算結
果と、乗算器812の乗算結果とを加算する。加算結果
は、乗算器813と遅延回路802とに入力する。遅延
回路802は、入力したデータを1サンプリング周期遅
延して、乗算器811,814と遅延回路803に出力
する。乗算器811は、入力したデータに乗数c1を乗
算し、乗算結果を加算器801に出力する。遅延回路8
03は、入力したデータを1サンプリング周期遅延し
て、乗算器812,815に出力する。
【0094】乗算器812は、入力したデータに乗数c
2を乗算し、乗算結果を加算器801に出力する。乗算
器813は、入力したデータに乗数c3を乗算し、乗算
結果を加算器804に出力する。乗算器814は、入力
したデータに乗数c4を乗算し、乗算結果を加算器80
4に出力する。乗算器815は、入力したデータに乗数
c5を乗算し、乗算結果を加算器804に出力する。加
算器804は、乗算器813,814,815からの乗
算結果を加算し出力する。
【0095】再び、図6を参照して、第2の実施例のD
SPについて詳しく説明する。図6に図示した各部のう
ち、図1のものと同じ機能を果たす部分には同じ付番を
付しているから、以下では第1の実施例と異なる部分に
ついて詳しく説明するものとする。
【0096】図6のDSPは、図1のDSPのマイクロ
プログラムメモリ116をタイミング信号発生器616
に置き換え、これによりイコライザを実現している。も
ちろんマイクロプログラムを用いてイコライザを実現す
ることもできるが、図7および図8で説明したようにイ
コライザは単純な回路であるから、ハードウエアのタイ
ミング信号発生器616などで容易に実現でき、その方
が、マイクロプログラムを用いるより手間もかからず効
率的である。タイミング信号発生器616は、独立して
所定のタイミング信号を発生するようにハードウエアで
実現されたものだから、CPUバス212に接続されて
いない。
【0097】図1のDSPではマイクロプログラムレジ
スタ116と117のマイクロプログラムP1とP2と
を、クロックφ1,φ1バーに応じて交互に読み出して
実行するようにしたが、図6のDSPでもその処理機構
は同じである。すなわち、図6のDSPでは、クロック
φ1がHのときタイミング信号発生器616からタイミ
ング信号(これがマイクロ命令の役割を果たす)を発生
して図7のイコライザ部701を実現する処理を行い、
クロックφ1バーがH(φ1がL)のときマイクロプロ
グラムレジスタ117からマイクロ命令を読み出して図
7のエフェクト部702を実現する処理を行う。
【0098】そのために、クロックφ1に応じて入力端
子AとBとを切り替えるセレクタ110,111,11
2を設けてあることも図1と同様である。クロックφ1
バーがHのとき実行されるマイクロプログラムレジスタ
117の側に着目すると、入力レジスタ101、データ
レジスタ103、および係数レジスタ105のデータを
用いて所定の効果を付加する処理を行うが、これも図1
と同じである。
【0099】なお、係数レジスタ105の出力は、図1
のようにセレクタ112のB端子に直接入力するのでな
く、セレクタ635を介して接続されている。また、セ
レクタ635のもう一方の入力端子にはLFO(低周波
発振器)633からのデータが入力するようになってい
る。これは、乗算器113の乗数としてLFO633の
出力データを用いて、楽音信号に振幅変調をかけること
ができるようにしたものである。さらに、LFO633
の出力はアドレスコントロール120に入力している
が、これは外部遅延RAM119のアクセスアドレスを
LFO出力に応じて変化させることにより、遅延時間変
調を行うことができるようにしたものである。
【0100】次に、この実施例の特徴である図7のイコ
ライザ部701を実現する部分について説明する。
【0101】EQ係数レジスタ604は、CPUバス2
12を介して図2のCPU205から送出されるEQ係
数データを格納する複数の領域を備えたレジスタであ
る。EQ係数データは、図8のイコライザの各乗算器の
乗数に相当する。EQ係数レジスタ604からの読み出
しデータはセレクタ634の一方の入力端子に入力す
る。セレクタ634の他方の入力端子には定数”1”が
入力する。セレクタ634の出力は、セレクタ112の
A端子に入力する。
【0102】セレクタ634は、タイミング信号発生器
616から発生した1ビットの選択制御信号に基づいて
選択出力を行う。すなわち、その選択制御信号が”0”
のときはEQ係数レジスタ604からのEQ係数データ
を選択出力し、選択制御信号が”1”のときは定数”
1”を選択出力する。
【0103】ラッチ631は、DSPデータバス124
からのデータをラッチする。ラッチ631の出力は、セ
レクタ606,107、EQSR602−1、セレクタ
608、およびデータレジスタ103に入力する。EQ
SR602−1,602−2は、図8のイコライザ回路
中の遅延回路802,803を実現するためのシフトレ
ジスタ(それぞれが12ワード)である。EQSR60
2−1の出力は、セレクタ608、およびEQSR60
2−2に入力する。EQSR602−2の出力は、セレ
クタ608に入力する。EQOR632は、1個のイコ
ライザ(図8)の出力データを記憶する一時記憶レジス
タである。EQOR632の出力は、セレクタ608、
およびデータレジスタ103に入力する。
【0104】セレクタ608は、乗算器113へ供給す
るデータを選択するためのものである。セレクタ608
は5つの入力端子を有する。それら入力端子を、第0入
力端子、第1入力端子、…、および第4入力端子と呼
ぶ。セレクタ608は、タイミング信号発生器616か
ら発生した3ビットの選択制御信号に基づいて選択出力
を行う。この3ビットの選択制御信号は、10進の整数
で考えると0,1,2,3,4の値をとる。選択制御信
号の値がnのとき、セレクタ608は、第n入力端子の
入力データを選択出力する。
【0105】セレクタ608の第0入力端子には、EQ
OR632のデータが入力する。第1入力端子には、E
QSR602−1の最終段のデータが入力する。第2入
力端子には、EQSR602−2の最終段のデータが入
力する。第3入力端子には、ラッチ631のデータが入
力する。第4入力端子には、入力レジスタ101のデー
タが入力する。
【0106】セレクタ606は、加算器115へ供給す
るデータを選択するためのものである。セレクタ606
は、3つの入力端子を有する。それら入力端子を、第0
入力端子、第1入力端子、および第2入力端子と呼ぶ。
セレクタ606は、タイミング信号発生器616から発
生した2ビットの選択制御信号に基づいて選択出力を行
う。この2ビットの選択制御信号は、10進の整数で考
えると0,1,2の値をとる。選択制御信号の値がnの
とき、セレクタ606は、第n入力端子の入力データを
選択出力する。
【0107】セレクタ606の第0入力端子には、ラッ
チ631のデータが入力する。第1入力端子には、定
数”0”が入力する。第2入力端子には、データレジス
タ103のデータが入力する。
【0108】クロック発生器125は、図1のものと同
様のクロックφ1およびφ1バーを出力する。さらに、
クロック発生器125は、クロックφ2を出力する。ク
ロックφ2については後述する。
【0109】図9は、図6のタイミング信号発生器61
6の詳細な回路図である。タイミング信号発生器616
は、カウンタ901、アンド回路(以下、ANDとい
う)902、ノット回路(以下、NOTという)903
〜906、AND910〜915、オア回路(以下、O
Rという)921,922,924、およびAND92
3を備えている。
【0110】カウンタ901は、クロックφ1を入力
し、クロックφ1がLからHへ立ち上がるタイミングで
カウントアップする4ビットのカウンタである。4ビッ
トのカウンタ出力のうち2の0乗ビットと2乗ビットが
AND902に入力し、そのAND902の出力がカウ
ンタ901のリセット端子Rに入力しているので、カウ
ンタ出力が6(10進)になったときリセットされる。
これにより、カウンタ901は、0,1,2,3,4,
5を繰り返し出力する6進カウンタになっている。
【0111】カウンタ901の出力の4ビットのそれぞ
れにNOT903〜906が接続されている。AND9
10〜915の6個のANDは、それぞれ、0〜5のカ
ウンタ値に対応して1を出力するANDになっている。
その対応は以下の通りである。
【0112】カウンタ値が0のとき…AND910が
1、それ以外は0 カウンタ値が1のとき…AND911が1、それ以外
は0 カウンタ値が2のとき…AND912が1、それ以外
は0 カウンタ値が3のとき…AND913が1、それ以外
は0 カウンタ値が4のとき…AND914が1、それ以外
は0 カウンタ値が5のとき…AND915が1、それ以外
は0
【0113】OR921,922およびAND923
は、図6のセレクタ608への選択制御信号(3ビッ
ト)を作成するためのものである。OR921は、AN
D911,913,914の出力を入力し、OR演算の
結果を選択制御信号の2の0乗ビットとして出力する。
OR922は、AND912,913,915の出力を
入力し、OR演算の結果を選択制御信号の2の1乗ビッ
トとして出力する。AND923は、クロックφ2とA
ND910の出力を入力し、AND演算の結果を選択制
御信号の2の2乗ビットとして出力する。
【0114】これらセレクタ608への選択制御信号の
各ビット出力の下に[]で囲んだ数値が図示してある
が、これはカウンタ値がその数値のときに対応するビッ
トが1となることを示している。すなわち、下記の通り
である。
【0115】選択制御信号の2の0乗ビットは、カウ
ンタ値が1,3,4のとき1となり、それ以外では0と
なる。 選択制御信号の2の1乗ビットは、カウンタ値が2,
3,5のとき1となり、それ以外では0となる。 選択制御信号の2の2乗ビットは、カウンタ値が0
(かつクロックφ2が1)のとき1となり、それ以外で
は0となる。
【0116】AND913の出力は、EQSR602−
1への書き込み指示信号として出力される。1で書き込
み指示を表すから、カウンタ値が3のとき書き込み指示
がなされることになる。ただし、より詳しく言えば、不
図示のラッチを用いて、カウンタ値が3のタイミングで
ラッチ631からの出力を一時的にラッチし、EQOR
632への書き込み信号と同じタイミングでEQSR6
02−1の第1段目に書き込むようにしている。
【0117】AND910の出力は、セレクタ634へ
の選択制御信号として出力される。この選択制御信号
は、カウンタ値が0のとき1、それ以外で0をとる。
【0118】OR924は、セレクタ606への選択制
御信号(2ビット)を作成するためのものである。OR
924は、AND913,910の出力を入力し、OR
演算の結果を選択制御信号の2の0乗ビットとして出力
する。これにより、選択制御信号の2の0乗ビットは、
カウンタ値が0,3のとき1となり、それ以外では0と
なる。選択制御信号の2の1乗ビットは常に0が出力さ
れる。
【0119】図10は、図6のDSPにより図7のイコ
ライザ部701を実現する際の各部の信号の状態を示す
タイムチャートである。図10を参照して図6のDSP
について詳しく説明する。
【0120】図10において、「ステップ」として0か
ら127を縦棒で区切って図示しているが、これは1サ
ンプリング周期においてタイミング信号発生器616か
らのタイミング信号に応じて動作する128の区間を示
している。縦棒で区切られた各区間は、クロックφ1が
Hの区間を示したものと見てよい。実際は、この縦棒の
位置にクロックφ1がLの区間が存在し、その区間でマ
イクロプログラムレジスタ117のマイクロプログラム
が実行される。ここでは、イコライザ部を実現する動作
を説明するため、クロックφ1がHの区間のみに着目し
て図示している。したがって、図6のセレクタ110,
111,112は、A端子を選択出力する。
【0121】図10では、図9で説明したタイミング信
号発生器616からの各種のタイミング信号が各ステッ
プで取る値を示してある。なお、EQ係数レジスタ60
4から出力されるEQ係数データ、クロックφ2、およ
びEQOR632への書き込み指示信号も示した。クロ
ックφ2は、図6のクロック発生器625から出力され
るクロック信号であり、18ステップごとにHとなる。
すなわち、ステップ0でH、ステップ18でH、ステッ
プ36でH、…となる。EQOR632への書き込み指
示信号は、図9のタイミング信号発生器616では省略
してあるが、6ステップごとにHとなる信号である。具
体的には、AND910の出力を取り出してEQOR6
32への書き込み指示信号とすればよい。
【0122】以下、ステップごとに順に説明する。な
お、図9で説明したタイミング信号発生器616のカウ
ンタ901は、ステップ0からカウントを開始する。す
なわち、ステップ0ではカウンタ値は0、ステップ1で
はカウンタ値は1、ステップ2ではカウンタ値は2、
…、ステップ5ではカウンタ値は5、ステップ6ではカ
ウンタ値は0、…、というように、カウンタ値0から5
を繰り返す。
【0123】ステップ0では、入力レジスタ101から
データを取り込む。入力レジスタ101は、シフトレジ
スタでも単なるレジスタでもよい。ここでは、入力レジ
スタ101から、第1の入力信号である入力1がステッ
プ0から5の間、出力されているとする。
【0124】ステップ0では図9のタイミング信号発生
器616のカウンタ値は0だから、図10に示すよう
に、セレクタ608に入力する選択制御信号の値は4で
ある。したがって、セレクタ608は第4入力端子に入
力している入力レジスタ101からのデータ(入力1)
を選択出力する。このデータは、セレクタ111を介し
て、乗算器113に供給される。
【0125】一方、セレクタ634へ入力する選択制御
信号の値は1だから、セレクタ634は定数”1”を選
択出力する。この定数”1”は、セレクタ112を介し
て、乗算器113に供給される。また、セレクタ606
へ入力する選択制御信号の値は1だから、セレクタ60
6は定数”0”を選択出力する。この定数”0”は、セ
レクタ110と遅延回路114を介して、加算器115
に入力する。
【0126】演算部では、下記の演算を行い、結果をラ
ッチ631に記憶する。 (入力1)×1+0→(ラッチ631) …(式0)
【0127】次に、ステップ1では、図9のカウンタ値
が1だから、図10に示すように、セレクタ608に入
力する選択制御信号の値は1である。したがって、セレ
クタ608は第1入力端子に入力しているEQSR60
2−1からのデータを選択出力する。EQSR602−
1の最終段には、データZ-1が格納されている。このデ
ータZ-1は、セレクタ111を介して、乗算器113に
供給される。
【0128】一方、セレクタ634へ入力する選択制御
信号の値は0だから、セレクタ634はEQ係数レジス
タ604からのデータを選択出力する。ここでは係数c
1が、セレクタ112を介して乗算器113に供給され
る。また、セレクタ606へ入力する選択制御信号の値
は0だから、セレクタ606はラッチ631のデータを
選択出力する。ラッチ631のデータは、セレクタ11
0と遅延回路114を介して加算器115に入力する。
【0129】演算部では、下記の演算を行い、結果をラ
ッチ631に記憶する。 Z-1×c1+(ラッチ631)→(ラッチ631) …(式1)
【0130】次に、ステップ2では、図9のカウンタ値
が2だから、図10に示すように、セレクタ608に入
力する選択制御信号の値は2である。したがって、セレ
クタ608は第2入力端子に入力しているEQSR60
2−2からのデータを選択出力する。EQSR602−
2の最終段には、データZ-2が格納されている。このデ
ータZ-2は、セレクタ111を介して乗算器113に供
給される。
【0131】一方、セレクタ634へ入力する選択制御
信号の値は0だから、セレクタ634はEQ係数レジス
タ604からのデータを選択出力する。ここでは係数c
2が、セレクタ112を介して乗算器113に供給され
る。また、セレクタ606へ入力する選択制御信号の値
は0だから、セレクタ606はラッチ631のデータを
選択出力する。ラッチ631のデータは、セレクタ11
0と遅延回路114を介して加算器115に入力する。
【0132】演算部では、下記の演算を行い、結果をラ
ッチ631に記憶する。 Z-2×c2+(ラッチ631)→(ラッチ631) …(式2)
【0133】次に、ステップ3では、図9のカウンタ値
が3だから、図10に示すように、セレクタ608に入
力する選択制御信号の値は3である。したがって、セレ
クタ608は第3入力端子に入力しているラッチ631
からのデータを選択出力する。このデータは、セレクタ
111を介して乗算器113に供給される。
【0134】一方、セレクタ634へ入力する選択制御
信号の値は0だから、セレクタ634はEQ係数レジス
タ604からのデータを選択出力する。ここでは係数c
3が、セレクタ112を介して乗算器113に供給され
る。また、セレクタ606へ入力する選択制御信号の値
は1だから、セレクタ606は定数”0”を選択出力す
る。この定数”0”は、セレクタ110と遅延回路11
4を介して加算器115に入力する。
【0135】演算部では、下記の演算を行い、結果をラ
ッチ631に記憶する。 (ラッチ631)×c3+0→(ラッチ631) …(式3)
【0136】またステップ3では、EQSR602への
書き込み指示信号も出力される。ただし、実際には、ラ
ッチ631のデータを不図示のラッチに書き込む処理が
なされる。そのラッチデータは、次にEQOR632へ
の書き込み信号と同じタイミング(ステップ0,6,1
2,…の立ち上がりのタイミング)でEQSR601−
1の第1段目に書き込まれる。EQSR601−1とE
QSR601−2は、シフトレジスタであるから、所定
のクロックで順次シフトしていき、例えばイコライザE
Q1の演算をしている間(ステップ0〜5)では、EQ
SR602−1からは1サンプリング周期遅れたZ-1
出力され続け、EQSR602−2からは2サンプリン
グ周期遅れたZ-2が出力され続ける。以下、同様であ
る。
【0137】次に、ステップ4では、図9のカウンタ値
が4だから、図10に示すように、セレクタ608に入
力する選択制御信号の値は1である。したがって、セレ
クタ608は第1入力端子に入力しているEQSR60
1−1の最終段のデータZ-1を選択出力する。このデー
タZ-1は、セレクタ111を介して乗算器113に供給
される。
【0138】一方、セレクタ634へ入力する選択制御
信号の値は0だから、セレクタ634はEQ係数レジス
タ604からのデータを選択出力する。ここでは係数c
4が、セレクタ112を介して乗算器113に供給され
る。また、セレクタ606へ入力する選択制御信号の値
は0だから、セレクタ606はラッチ631のデータを
選択出力する。ラッチ631のデータは、セレクタ11
0と遅延回路114を介して加算器115に入力する。
【0139】演算部では、下記の演算を行い、結果をラ
ッチ631に記憶する。 Z-1×c4+(ラッチ631)→(ラッチ631) …(式4)
【0140】次に、ステップ5では、図9のカウンタ値
が5だから、図10に示すように、セレクタ608に入
力する選択制御信号の値は2である。したがって、セレ
クタ608は第2入力端子に入力しているEQSR60
2−2の最終段のデータZ-2を選択出力する。このデー
タZ-2は、セレクタ111を介して乗算器113に供給
される。
【0141】一方、セレクタ634へ入力する選択制御
信号の値は0だから、セレクタ634はEQ係数レジス
タ604からのデータを選択出力する。ここでは係数c
5が、セレクタ112を介して乗算器113に供給され
る。また、セレクタ606へ入力する選択制御信号の値
は0だから、セレクタ606はラッチ631のデータを
選択出力する。ラッチ631のデータは、セレクタ11
0と遅延回路114を介して加算器115に入力する。
【0142】演算部では、下記の演算を行い、結果をラ
ッチ631に記憶する。 Z-2×c5+(ラッチ631)→(ラッチ631) …(式5)
【0143】次に、ステップ6では、図10に示すよう
にEQOR632への書き込み指示信号が出力される。
これにより、上記ステップ5で得られた演算結果がEQ
OR632に記憶される。
【0144】以上で、図7のイコライザ部701のうち
EQ1(図8の構成)の処理が終了したことになる。引
き続き、上記ステップ6からEQ2の処理が行われる。
これは、上記ステップ0からの処理と同様である。ただ
し、ステップ6ではクロックφ2が0であるから、タイ
ミング信号発生器616から出力されるセレクタ608
への選択制御信号の値は0になる。したがって、セレク
タ608は第0入力端子を選択出力するから、上記(式
0)の代わりに、下記の(式6)が実行される。 (EQOR632)×1+0→(ラッチ631) …(式6)
【0145】これにより、図7のEQ1からEQ2への
入力が供給されたことになる。
【0146】このようにして、ステップ6〜12でEQ
2の処理を行い、ステップ12〜18でEQ3の処理を
行う。EQ3の出力は、データレジスタ103の所定の
領域に記憶される。図10に示すように、ステップ18
ではクロックφ2が1となる。これは、ステップ18〜
35で、第2の入力信号である入力2に関して、上記ス
テップ0〜17の処理を行うためである。同様に、ステ
ップ36〜53で入力3の処理を行い、ステップ54〜
72で入力4の処理を行う。各処理の結果はデータレジ
スタ103を介して次のエフェクト部702に入力する
ことになる。
【0147】上記第2の実施例によれば、イコライザ処
理と効果付加処理とをクロックφ1,φ1バーに応じて
交互に行うので、効果付加処理を行うマイクロプログラ
ムにおいて演算結果のでるタイミングを考慮する必要が
ない。
【0148】なお、上記第1および第2の実施例では、
処理を行う系列を2つにしているが、例えば第1の実施
例において3つ以上のマイクロプログラムを順次切り替
えて実行するようにしてもよい。
【0149】
【発明の効果】以上説明したように、この発明によれ
ば、演算部の速度に応じて複数のマイクロプログラムを
順に実行していくことができるので、それらのマイクロ
プログラムを別々に記述でき、また演算部が演算結果を
出力するまでの遅延を考慮する必要がなくマイクロプロ
グラムの開発が容易になる。また、マイクロプログラム
を容易に読むことができ、ミスを防ぐことができるほ
か、演算部を効率よく使用できるというメリットがあ
る。
【0150】さらに、マイクロプログラムを分離できる
ので、プログラムの入れ換え、結線の切り換えが容易に
でき、多くのマイクロプログラムをROMに用意しなく
てもよいので記憶容量の節約の利点がある。
【図面の簡単な説明】
【図1】この発明の第1の実施例に係るディジタル信号
処理装置(DSP)のブロック構成図
【図2】図1のDSPを用いた電子楽器のブロック構成
【図3】マイクロプログラムなどの構成例を示す図
【図4】図1のDSPが実現する効果付加装置のブロッ
ク構成図
【図5】クロックやセレクタなどの入出力のタイミング
を表すタイムチャート図
【図6】この発明の第2の実施例のDSPのブロック構
成図
【図7】図6のDSPで実現される効果付加装置のブロ
ック構成図
【図8】図6のDSPで実現する1つのイコライザの構
成図
【図9】タイミング信号発生器の詳細な回路図
【図10】第2の実施例における各部の信号の状態を示
すタイムチャート図
【符号の説明】
101…入力レジスタ、102,103…データレジス
タ、104,105…係数レジスタ、106〜112…
セレクタ、113…乗算器、114…遅延回路、115
…加算器、116,117…マイクロプログラムレジス
タ、118…ラッチ、119…外部遅延RAM、120
…アドレスコントロール、121,122…アドレスレ
ジスタ、125…クロック発生器。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】複数のマイクロ命令からなるマイクロプロ
    グラムを複数記憶した記憶手段と、 前記記憶手段から、前記複数のマイクロプログラムにつ
    いて所定の順序で、各マイクロプログラムのマイクロ命
    令を順次読み出す読み出し手段と、 読み出したマイクロ命令にしたがってディジタル信号処
    理を実行する信号処理手段とを備えたことを特徴とする
    ディジタル信号処理装置。
  2. 【請求項2】複数のマイクロ命令からなるマイクロプロ
    グラムを記憶した記憶手段と、 タイミング信号を発生するタイミング信号発生手段と、 前記記憶手段からの前記マイクロ命令の読み出しと前記
    タイミング信号発生手段からのタイミング信号の発生を
    交互に行う制御手段と、 前記記憶手段から前記マイクロ命令が読み出されている
    ときはそのマイクロ命令にしたがってディジタル信号処
    理を実行し、前記タイミング信号発生手段から前記タイ
    ミング信号が発生されているときはそのタイミング信号
    にしたがってディジタル信号処理を実行する信号処理手
    段とを備えたことを特徴とするディジタル信号処理装
    置。
  3. 【請求項3】複数ステップから構成される、少なくとも
    2種類のプログラムを交互に出力するプログラム供給手
    段と、 供給されたデータを用いて、前記少なくとも2種類のプ
    ログラムによってディジタル演算を行う1つの演算手段
    と、 前記供給されたデータ、または前記演算手段によって行
    われた演算結果を記憶するデータ記憶手段と、 を備え、該データ記憶手段は、前記少なくとも2種類の
    プログラムの両方の指示によって制御されることを特徴
    とする信号処理装置。
JP06023131A 1994-01-25 1994-01-25 効果付加用ディジタル信号処理装置 Expired - Fee Related JP3097434B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP06023131A JP3097434B2 (ja) 1994-01-25 1994-01-25 効果付加用ディジタル信号処理装置
US08/376,407 US5951673A (en) 1994-01-25 1995-01-23 Digital signal processing device capable of selectively imparting effects to input data
US09/168,627 US6189085B1 (en) 1994-01-25 1998-10-08 Digital signal processing device
JP2000136373A JP3473689B2 (ja) 1994-01-25 2000-05-09 ディジタル信号処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06023131A JP3097434B2 (ja) 1994-01-25 1994-01-25 効果付加用ディジタル信号処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2000136373A Division JP3473689B2 (ja) 1994-01-25 2000-05-09 ディジタル信号処理装置

Publications (2)

Publication Number Publication Date
JPH07210380A true JPH07210380A (ja) 1995-08-11
JP3097434B2 JP3097434B2 (ja) 2000-10-10

Family

ID=12101982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06023131A Expired - Fee Related JP3097434B2 (ja) 1994-01-25 1994-01-25 効果付加用ディジタル信号処理装置

Country Status (2)

Country Link
US (2) US5951673A (ja)
JP (1) JP3097434B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010181723A (ja) * 2009-02-06 2010-08-19 Yamaha Corp 信号処理集積回路及び効果付与装置

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3134806B2 (ja) * 1997-05-22 2001-02-13 ヤマハ株式会社 効果付与装置および記録媒体
US7119576B1 (en) 2000-09-18 2006-10-10 Altera Corporation Devices and methods with programmable logic and digital signal processing regions
US7346644B1 (en) 2000-09-18 2008-03-18 Altera Corporation Devices and methods with programmable logic and digital signal processing regions
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US8266198B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8266199B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8041759B1 (en) 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US7836117B1 (en) 2006-04-07 2010-11-16 Altera Corporation Specialized processing block for programmable logic device
US7822799B1 (en) 2006-06-26 2010-10-26 Altera Corporation Adder-rounder circuitry for specialized processing block in programmable logic device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7930336B2 (en) 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US7814137B1 (en) 2007-01-09 2010-10-12 Altera Corporation Combined interpolation and decimation filter for programmable logic device
US7865541B1 (en) 2007-01-22 2011-01-04 Altera Corporation Configuring floating point operations in a programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US8315302B2 (en) * 2007-05-31 2012-11-20 Infineon Technologies Ag Pulse width modulator using interpolator
US7949699B1 (en) 2007-08-30 2011-05-24 Altera Corporation Implementation of decimation filter in integrated circuit device using ram-based data storage
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8244789B1 (en) 2008-03-14 2012-08-14 Altera Corporation Normalization of floating point operations in a programmable integrated circuit device
US8626815B1 (en) 2008-07-14 2014-01-07 Altera Corporation Configuring a programmable integrated circuit device to perform matrix multiplication
US8255448B1 (en) 2008-10-02 2012-08-28 Altera Corporation Implementing division in a programmable integrated circuit device
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8805916B2 (en) 2009-03-03 2014-08-12 Altera Corporation Digital signal processing circuitry with redundancy and bidirectional data paths
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8886696B1 (en) 2009-03-03 2014-11-11 Altera Corporation Digital signal processing circuitry with redundancy and ability to support larger multipliers
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8549055B2 (en) 2009-03-03 2013-10-01 Altera Corporation Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US7948267B1 (en) 2010-02-09 2011-05-24 Altera Corporation Efficient rounding circuits and methods in configurable integrated circuit devices
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8458243B1 (en) 2010-03-03 2013-06-04 Altera Corporation Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8539014B2 (en) 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9379687B1 (en) 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62147531A (ja) * 1985-12-23 1987-07-01 Casio Comput Co Ltd 制御romのアクセス方式
JPH05150977A (ja) * 1991-09-05 1993-06-18 Yamaha Corp 信号処理装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5667453A (en) 1979-11-07 1981-06-06 Toshiba Corp Information processor with data generation part
JPS6120892A (ja) * 1984-07-10 1986-01-29 財団法人 電力中央研究所 原子炉容器の耐震支持装置
JPS6220032A (ja) 1985-07-19 1987-01-28 Hitachi Ltd 情報処理装置
JPS6244835A (ja) 1985-08-23 1987-02-26 Hitachi Ltd マイクロ・プロセツサ
US4890225A (en) * 1988-04-01 1989-12-26 Digital Equipment Corporation Method and apparatus for branching on the previous state in an interleaved computer program
JP2748503B2 (ja) * 1989-02-28 1998-05-06 ソニー株式会社 デジタル信号処理装置
JP2759163B2 (ja) 1990-11-28 1998-05-28 カシオ計算機株式会社 ペダル効果付加装置を内蔵した電子楽器
JPH04302522A (ja) * 1991-03-29 1992-10-26 Hitachi Ltd 演算回路及びこれを用いた適応フィルタ並びにエコーキャンセラ
JP3120483B2 (ja) 1991-08-28 2000-12-25 カシオ計算機株式会社 効果付加装置
US5410603A (en) * 1991-07-19 1995-04-25 Casio Computer Co., Ltd. Effect adding apparatus
JP3144842B2 (ja) * 1991-08-09 2001-03-12 株式会社東芝 マイクロプロセッサ
JPH05108341A (ja) * 1991-10-16 1993-04-30 Hitachi Ltd マイクロプロセツサ
JP3141448B2 (ja) 1991-10-22 2001-03-05 ヤマハ株式会社 自動伴奏装置
EP0544083A3 (en) * 1991-11-26 1994-09-14 Ibm Interleaved risc-type parallel processor and processing methods
JP3508139B2 (ja) * 1991-12-27 2004-03-22 ヤマハ株式会社 デジタル信号処理プロセッサ
JPH05313682A (ja) 1992-05-12 1993-11-26 Kawai Musical Instr Mfg Co Ltd 音響効果装置
JPH06220032A (ja) * 1992-10-21 1994-08-09 Dsm Nv シン−2−(2−アンモニウムチアゾール−4−イル)−2−メトキシ−イミノ酢酸クロリド塩を含有する組成物およびその製造方法
ATE188559T1 (de) * 1992-12-23 2000-01-15 Centre Electron Horloger Multi-tasking-steuerungsgerät mit geringem energieverbrauch
US5365467A (en) * 1992-12-25 1994-11-15 Yamaha Corporation Signal processor for providing variable acoustic effect
JPH06244835A (ja) * 1993-02-15 1994-09-02 Fujitsu Ltd プロトコル試験方式
US5517436A (en) * 1994-06-07 1996-05-14 Andreas; David C. Digital signal processor for audio applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62147531A (ja) * 1985-12-23 1987-07-01 Casio Comput Co Ltd 制御romのアクセス方式
JPH05150977A (ja) * 1991-09-05 1993-06-18 Yamaha Corp 信号処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010181723A (ja) * 2009-02-06 2010-08-19 Yamaha Corp 信号処理集積回路及び効果付与装置

Also Published As

Publication number Publication date
US6189085B1 (en) 2001-02-13
JP3097434B2 (ja) 2000-10-10
US5951673A (en) 1999-09-14

Similar Documents

Publication Publication Date Title
JP3097434B2 (ja) 効果付加用ディジタル信号処理装置
US4736333A (en) Electronic musical instrument
JP2765426B2 (ja) 効果付与装置および電子楽器
JP2565073B2 (ja) ディジタル信号処理装置
JP3473689B2 (ja) ディジタル信号処理装置
US5684260A (en) Apparatus and method for generation and synthesis of audio
JP2773601B2 (ja) 信号処理装置
JP3371643B2 (ja) 信号処理装置
JP3087631B2 (ja) 効果付与装置
JPS61196297A (ja) 楽音発生器
JP3094759B2 (ja) 楽音信号分配処理装置
JP3085801B2 (ja) 変調信号発生装置
JP3610759B2 (ja) ディジタル信号処理装置
JP2504185B2 (ja) 楽音合成装置
JP2605387B2 (ja) 楽音信号発生装置
JPH03204697A (ja) 楽音信号発生装置
JPH0656553B2 (ja) 楽音信号発生装置
JP3116447B2 (ja) デジタル信号処理プロセッサ
JP4106739B2 (ja) デジタル信号処理方法およびデジタル信号処理装置
JP3104281B2 (ja) 楽音発生装置
JP2802714B2 (ja) 電子楽器
JPH0122632B2 (ja)
JP2912110B2 (ja) サイン合成方式およびこれによる楽音波形発生装置ならびに電子楽器
CN113678194A (zh) 滤波器效果赋予装置、电子乐器以及电子乐器的控制方法
US20090188377A1 (en) Sound Generator Apparatus

Legal Events

Date Code Title Description
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: 20070811

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080811

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090811

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100811

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100811

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110811

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120811

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130811

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees