JP3508139B2 - デジタル信号処理プロセッサ - Google Patents

デジタル信号処理プロセッサ

Info

Publication number
JP3508139B2
JP3508139B2 JP35815791A JP35815791A JP3508139B2 JP 3508139 B2 JP3508139 B2 JP 3508139B2 JP 35815791 A JP35815791 A JP 35815791A JP 35815791 A JP35815791 A JP 35815791A JP 3508139 B2 JP3508139 B2 JP 3508139B2
Authority
JP
Japan
Prior art keywords
flag
signal
microprogram
output
reset
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.)
Expired - Lifetime
Application number
JP35815791A
Other languages
English (en)
Other versions
JPH05181668A (ja
Inventor
正尋 柿下
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 JP35815791A priority Critical patent/JP3508139B2/ja
Publication of JPH05181668A publication Critical patent/JPH05181668A/ja
Application granted granted Critical
Publication of JP3508139B2 publication Critical patent/JP3508139B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、楽音信号や音声信号
等をデジタル化して処理するのに適したデジタル信号処
理プロセッサに関する。
【0002】
【従来の技術】デジタル信号処理プロセッサ(DSP:
Digital Signal Processor)
は、オーディオ分野では、リバーブレータ(残響付加装
置)、イコライザ、ミキサ等に使用されたり、再帰型
(IIR:Infinite Impulse Res
ponse)フィルタ、非再帰型(FIR:Finit
eImpulse Response)フィルタ等の各
種デジタルフィルタを構成するのに使用されている。ま
た、DSPは電子楽器の音源、エンベロープ発生回路又
は残響(リバーブ)効果装置等にも用いられている。ま
た、この他にも精密制御装置、高品位TV又はデジタル
VTRなどの多岐の分野で利用されている。
【0003】一方、電子楽器はエレクトロニクス技術及
びデジタル技術の急速な発展に伴ってその性能を大幅に
向上しつつあり、「電子楽器は自然楽器に比べて音色が
もの足りない」という欠点も克服し、さらに進歩発展し
ている。その中でも特に、デジタル信号処理プロセッサ
(DSP)の出現及びその処理速度の高速性能等によっ
て、電子楽器は、より表現力が豊かになり、多彩な楽音
を合成することができるようになってきた。
【0004】一般にDSPは、基本アルゴリズムとなる
マイクロプログラムを格納するマイクロプログラムレジ
スタと、積和演算を高速で実行するための乗算器、アキ
ュムレータ(累算器)、シフトレジスタ、データRA
M、上記乗算器などに所定の係数を供給するための係数
レジスタ及びマイクロプログラムの分岐等を指示するフ
ラグを格納するフラグレジスタとから構成される。
【0005】このDSPをデジタルフィルタ、音源、エ
ンベロープ発生回路や残響効果装置等として機能させる
場合には、マイクロプログラムレジスタ内のマイクロプ
ログラムや係数レジスタ内の係数の内容をそれぞれの機
能に応じたものに設定し、さらにその特性を時間的に変
化させるために、係数やフラグレジスタの内容を順次変
化させる必要があった。
【0006】例えば、DSPをエンベロープ発生器とし
て機能させ、図5のようなエンベロープ信号を発生させ
ようとした場合、マイクロプログラムレジスタ内のマイ
クロプログラムや係数レジスタ内の係数の内容をエンベ
ロープ発生器の機能に応じたものに設定し、図6のよう
なフラグレジスタの内容を順次書換える必要がある。こ
のフラグレジスタはDSP内部のマイクロプログラムを
分岐又はジャンプさせるためのフラグF0〜F5を格納
するものである。
【0007】図6のフラグレジスタのフラグF0及びF
1は外部の上位プロセッサによってセットされるフラグ
であり、DSP内部のマイクロプログラムによってセッ
トされることはない。すなわち、フラグF0はノートオ
ン信号NOTE ONの出力を検出した外部の上位プロ
セッサによってセットされ、フラグF1はノートオフ信
号NOTE OFFの出力を検出した外部の上位プロセ
ッサによってセットされるだけである。但し、DSP内
部のマイクロプログラムはこのフラグF0及びF1の内
容を読み出し、これに応じた処理を行った後にリセット
を行う。
【0008】フラグF2〜F5はDSP内部のマイクロ
プログラムの現在の演算状態に応じて、マイクロプログ
ラム自身によってセット及びリセットされるフラグであ
り、外部の上位プロセッサによってセット及びリセット
されることはない。すなわち、フラグF2は、フラグF
0がセットされた後(すなわちノートオン信号NOTE
ONが出力した後)に、そのフラグF0の内容を読み
出したDSP内部のマイクロプログラムによってセット
され、DSPの演算状態がアタックタイムattack
におけるンベロープ信号波形の演算状態にあることを示
すものである。フラグF3はアタックタイムattac
kの演算が終了した後にDSP内部のマイクロプログラ
ムによってセットされ、DSPの演算状態が次のディケ
ィタイムdecayにおけるエンベロープ信号波形の演
算状態にあることを示すものである。
【0009】フラグF4はディケィタイムdecayの
演算が終了した後にDSP内部のマイクロプログラムに
よってセットされ、DSPの演算状態が次のサスティン
タイムsustainにおけるエンベロープ信号波形の
演算状態にあることを示すものである。フラグF5はフ
ラグF1がセットされた後(すなわちノートオフ信号N
OTE OFFが出力した後)に、そのフラグF1の内
容を読み出したDSP内部のマイクロプログラムによっ
てセットされ、DSPの演算状態が次のリリースタイム
releaseにおけるエンベロープ信号波形の演算状
態にあることを示すものである。
【0010】
【発明が解決しようとする課題】このように従来は、D
SP内部のマイクロプログラムがフラグレジスタの各フ
ラグF0〜F5の内容を読み出し、セットされているフ
ラグF0〜F5の内容に応じて各種の演算を行ってい
る。そして、フラグF0,F1のセット処理について
は、外部プロセッサが行い、フラグF2〜F5のセット
及びリセット処理についてはDSP内部のマイクロプロ
グラム自身が行っている。
【0011】すなわち、フラグF2がセットされてから
フラグF3がセット(フラグF2がリセット)されるま
での時間(アタックタイムattack)、フラグF3
がセットされてからフラグF4がセット(フラグF3が
リセット)されるまでの時間(ディケィタイムdeca
y)、及びフラグF5がセットされてからリセットされ
るまでの時間(リリースタイムrelease)はエン
ベロープ波形の種類によって特定された所定値である。
一方、フラグF0及びF1がセット及びリセットされる
タイミング、フラグF2及びF5がセットされるタイミ
ング、及びフラグF4がリセットされるタイミングは、
演奏者の鍵操作、すなわちノートオン信号NOTE O
N及びノートオフ信号NOTE OFFの出力に依存
し、任意(ランダム)である。
【0012】従って、フラグF0,F1のリセット及び
フラグF2〜F5のセット及びリセットはDSP内部の
マイクロプログラムによって実効されるので、これらの
フラグF0,F1のリセット及びフラグF2〜F5のセ
ット及びリセットのタイミングが競合することはない
が、フラグF0及びF1のセットはDSP内部のマイク
ロプログラムとは別個に独立した外部プロセッサによっ
て行われるため、フラグF2〜F5のセット及びリセッ
トのタイミングとフラグF0及びF1のセットのタイミ
ングとが競合することがある。すなわち、フラグレジス
タのアクセスが競合することがある。
【0013】例えば、ディケィタイムdecayの終了
時点が近づきDSP内部のマイクロプログラムがフラグ
F3をリセットし、フラグF4をセットしようとしてい
る時に、ほぼ同時に外部プロセッサがフラグF1をセッ
トしようした場合、DSP内部のマイクロプログラム及
び外部の上位プロセッサの処理に支障が生じ、セット又
はリセットが行えなくなり、DSPの処理に支障をきた
し、DSPの高速処理性能が低下するという問題を有し
ていた。
【0014】この発明は上述の点に鑑みてなされたもの
であり、外部の上位プロセッサと内部のマイクロプログ
ラムとがDSP内部のフラグレジスタのフラグのセット
及びリセットを互いに競合することなく確実に行うこと
のできるデジタル信号処理プロセッサを提供することを
目的とする。
【0015】
【課題を解決するための手段】 この発明に係るデジタ
ル信号処理プロセッサは、アルゴリズムを規定するマイ
クロプログラムを格納し、サンプリング周期で該マイク
ロプログラムを出力するマイクロプログラム記憶手段
と、係数を格納する係数記憶手段と、前記マイクロプロ
グラムの分岐又はジャンプを指示するフラグを格納する
フラグ記憶手段と、前記マイクロプログラム記憶手段か
ら出力されるマイクロプログラムに基づいて、前記マイ
クロプログラムによって規定されるアルゴリズム及び前
記フラグに応じたデジタル信号演算処理を前記係数を利
用しながら行う係数利用手段と、前記サンプリング周期
と同じ周期でタイミング信号を出力するタイミング信号
出力手段と、外部のプロセッサから入力される前記フラ
グのセット信号又はリセット信号をラッチし、前記タイ
ミング信号の入力に応じてリセットされるラッチ手段
と、前記マイクロプログラム記憶手段から出力されるマ
イクロプログラムに基づいて前記フラグ記憶手段の格納
するフラグのセット又はリセットないし出力を行うとと
もに、前記タイミング信号の出力に同期して、前記ラッ
チ手段にラッチされたセット信号又はリセット信号に基
づいて前記フラグ記憶手段の格納するフラグのセット又
はリセットを行うフラグ制御手段とを有し、前記マイク
ロプログラム記憶手段には、前記タイミング信号の出力
時点で、前記フラグ記憶手段の格納するフラグをアクセ
スしないように前記マイクロプログラムを組み込んであ
ることを特徴とするものである。
【0016】
【作用】 イクロプログラム記憶手段はDSPの機
能、すなわちアルゴリズムを規定するマイクロプログラ
ムを格納し、サンプリング周期で該マイクロプログラム
を出力する。係数記憶手段はマイクロプログラムの実行
時に利用される係数を格納する。フラグ記憶手段はマイ
クロプログラムの分岐等を指示するフラグを格納する。
従って、係数利用手段は、マイクロプログラム記憶手段
から出力されるマイクロプログラムに基づいて、該マイ
クロプログラムによって規定されるアルゴリズム及びフ
ラグに応じたデジタル信号演算処理を係数を利用しなが
ら行う。
【0017】 フラグ記憶手段に格納されフラグのセ
ット及びリセットは、外部のプロセッサとデジタル信号
演算処理を行っている係数利用手段とが互いに独立して
行うことができるので、両者のセット信号及びリセット
信号が競合することがあり得る。そこで、本発明では、
タイミング信号出力手段、ラッチ手段、フラグ制御手段
を設け、両者のフラグのセット信号及びリセット信号が
互いに競合しないようにセット信号及びリセット信号が
フラグ記憶手段に入力するタイミングを調整している。
すなわち、タイミング信号出力手段では、マイクロプロ
グラムを出力するサンプリング周期と同じ周期でタイミ
ング信号を出力し、ラッチ手段では、外部のプロセッサ
から入力される前記フラグのセット信号又はリセット信
号をラッチし、該ラッチした内容を前記タイミング信号
の入力に応じてリセットすることで、1サンプリング周
期の間の任意の時点で外部のプロセッサから入力された
前記フラグのセット信号又はリセット信号をラッチ手段
にラッチし、次にタイミング信号が入力されるまで保持
する。ラッチ手段にラッチされた信号は、フラグ制御手
段の制御により、タイミング信号の出力に同期して、フ
ラグ記憶手段に転送され、これに応じて該フラグ記憶手
段の格納するフラグのセット又はリセットが行われる。
一方、フラグ制御手段では、マイクロプログラム記憶手
段から出力されるマイクロプログラムに基づいてフラグ
記憶手段の格納するフラグのセット又はリセットないし
出力を行い、かつ、前記マイクロプログラムは、前記タ
イミング信号の出力時点で、前記フラグ記憶手段の格納
するフラグをアクセスしないように組み込んであること
で、タイミング信号の出力時点以外では、フラグ記憶手
段の格納するフラグのセット又はリセットないし出力
は、マイクロプログラム記憶手段から出力されるマイク
ロプログラムに基づいて制御されることになる。 こうし
て、本発明によれば、外部のプロセッサから入力される
フラグのセット信号又はリセット信号とマイクロプログ
ラムに基づくフラグのセット信号又はリセット信号とが
フラグ記憶手段に同時に入力することが起こらず、フラ
グのセット信号又はリセット信号の競合が起こらない。
更に、マイクロプログラム記憶手段から出力されるマイ
クロプログラムに基づいてフラグ記憶手段の格納するフ
ラグのセット又はリセットないし出力を行うことを優先
し、外部のプロセッサから の信号によるフラグ記憶手段
へのフラグのセット又はリセットは、これを一旦ラッチ
手段にラッチしてからサンプリング周期に同期するタイ
ミング信号の出力時点で行うようにし、かつ、このタイ
ミング信号の出力時点ではフラグ記憶手段の格納するフ
ラグをアクセスしないようにマイクロプログラムを組ん
だことで、ディジタル信号処理プロセッサにおける規則
的なサンプリング周期での信号処理に支障を来すことが
ないようにすることができる。
【0018】 一実施例において、前記タイミング信号
出力手段が前記タイミング信号を出力するタイミング
は、前記マイクロプログラム記憶手段が各サンプリング
周期に出力するマイクロプログラムのうちの最後のプロ
グラムデータを出力しているタイミングである。各サン
プリング周期に出力するマイクロプログラムのうちの最
後のプログラムデータを出力しているタイミングとは、
複数ステップからなるマイクロプログラムの最後のステ
ップであり、通常はフラグのセット/リセットは行われ
ない。従って、このタイミングでタイミング信号を出力
し、かつ、フラグをアクセスしないようにマイクロプロ
グラムを組んでも、支障のないディジタル信号処理を行
うことができ、好都合である。
【0019】
【実施例】以下、この発明の実施例を添付図面に従って
詳細に説明する。図2はこの発明に係るデジタル信号処
理プロセッサを音源として使用した場合の電子楽器のハ
ードウェア構成を示すブロック図である。この実施例に
おいて、電子楽器全体の制御は、マイクロプロセッサユ
ニット(MPU)20と、システムプログラムや各種パ
ラメータ等を格納するプログラムメモリ(ROM)21
と、各種データを一時的に格納し、ワーキングエリアと
して用いられるワーキングメモリ(RAM)22とを含
むマイクロコンピュータシステムによって行われる。こ
のマイクロコンピュータシステムには、データ及びアド
レスバス28を介して、鍵スイッチ回路24、鍵タッチ
検出回路25、音色等選択スイッチ回路26及び音源2
7等の各種装置が接続されており、これらの各装置はマ
イクロコンピュータによって制御される。
【0020】鍵盤23は発音すべき楽音の音高を選択す
るための複数の鍵を備えたものであり、各鍵に対応して
鍵スイッチ回路24及び鍵タッチ検出回路25が接続さ
れる。鍵スイッチ回路24は発生すべき楽音の音高を指
定する鍵盤23のそれぞれの鍵に対応して設けられた複
数のキースイッチからなり、鍵盤23の押鍵又は離鍵状
態を検出し、離鍵から押鍵への変化に対応してキーオン
イベント信号を出力し、押鍵から離鍵への変化に対応し
てキーオフイベント信号を出力し、かつ各キーイベント
に対応する鍵を示すキーコード信号を出力する。この鍵
スイッチ回路24の各出力に基づき押圧鍵検出処理及び
押圧鍵を複数の発音チャンネルのいずれかに割り当てる
ための発音割当て処理がマイクロコンピュータシステム
によって行われ、必要に応じて押し下げ時の押鍵操作速
度を判別してイニシャルタッチデータ等を生成する処理
も行われる。
【0021】鍵タッチ検出回路25は鍵盤23の各鍵に
関連して、鍵押圧持続時における押圧力を検出してアフ
タタッチデータを出力するアフタタッチセンサを内蔵し
ている。音色等選択スイッチ回路26は、音色、音量、
音高、効果等を選択・設定・制御するための各種操作子
を含む操作パネル上に設けられており、ピアノ、オルガ
ン、バイオリン、金管楽器、ギター等の各種自然楽器に
対応する音色やその他各種の音色を選択するものであ
り、音色選択信号を出力する。
【0022】音源27は、複数のチャンネルで楽音信号
の同時発生が可能であり、データ及びアドレスバス28
を経由して与えられる各チャンネルに割り当てられた鍵
のキーコード、キーオン信号、キーオフ信号、イニシア
ルタッチデータ、アフタタッチデータ、音色選択信号及
びその他のデータを入力し、これらの各種データに基づ
き楽音信号を発生する。
【0023】音源27から発生されたデジタルの楽音信
号はサウンドシステム35内のデジタル/アナログ変換
器(図示せず)によって、アナログの楽音信号に変換さ
れる。サウンドシステム35はスピーカ及び増幅器等で
構成され、音源27からのデジタルの楽音信号に応じた
楽音を発生する。
【0024】この実施例では、音源27がデジタル信号
処理プロセッサ(DSP)で構成されている。以下、音
源27を音源用DSP27とする。音源用DSP27は
インターフェイス回路31、マイクロプログラム記憶手
段32、係数利用部33及び係数記憶手段34から構成
される。
【0025】インターフェイス回路31はマイクロプロ
セッサシステムと音源用DSP27との間のデータ入出
力用のインターフェイスであり、第1及び第2の転送バ
ッファで構成される。マイクロプログラム記憶手段32
は音源用のマイクロプログラムを格納するものであり、
多段構成のシフトレジスタから構成される。マイクロプ
ログラムはデータ及びアドレスバス28及びインターフ
ェイス回路31を介して外部のMPU(外部プロセッ
サ)20によって書き込まれる。係数利用部33は、積
和演算を高速で実行するための乗算器、アキュムレータ
(累算器)、シフトレジスタ、データRAM、フラグレ
ジスタ及び乱数発生器等から構成される。係数利用部3
3の構成は従来のものと同じなので、その説明は省略す
る。係数記憶手段34は、音源用の係数を格納するもの
であり、マイクロプログラム記憶手段32と同様に多段
構成のシフトレジスタから構成される。なお、マイクロ
プログラム記憶手段32及び係数記憶手段34はRAM
から構成される場合もある。
【0026】図1は図2のマイクロプログラム記憶手段
32及び係数利用部33の一部の詳細構成を示す図であ
る。マイクロプログラム記憶用シフトレジスタ12は、
128段のシフトレジスタで構成されおり、各シフトレ
ジスタにはプログラムデータPDとして128ステップ
(A000〜A127)のプログラムデータが格納され
ている。このマイクロプログラム記憶用シフトレジスタ
12内のプログラムデータA000〜A127はシフト
パルス発生回路14の発生するシフトパルスSPによっ
て随時読み出され、プログラムデコーダ13及びセレク
タ回路11の入力端子Aに出力される。
【0027】セレクタ回路11は、マイクロプログラム
記憶用シフトレジスタ12の最下段(0段目)から出力
されるマイクロプログラムデータを入力端子Aに、外部
プロセッサ20から出力されるプログラム書き換えデー
タDT1をインターフェイス31、データ及びアドレス
バス28を介して入力端子Bに、また外部プロセッサ2
0から出力されるプログラム書き換え信号SEを選択端
子SBにそれぞれ入力し、プログラム書き換え信号SE
がローレベル“0”の場合に入力端子Aのプログラムデ
ータA000〜A127を、ハイレベル“1”の場合に
入力端子Bのプログラム書き換えデータDT1をマイク
ロプログラム記憶用シフトレジスタ12の最上段(12
8段目)に供給する。
【0028】従って、セレクタ回路11にローレベル
“0”のプログラム書き換え信号SEが入力している場
合には、マイクロプログラム記憶用シフトレジスタ12
はプログラムデータA000〜A127を次々と巡回さ
せ、ハイレベル“1”のプログラム書き換え信号SEが
入力している場合には、マイクロプログラム記憶用シフ
トレジスタ12のプログラムデータA000〜A127
は順番に新しいマイクロプログラムに書き換えられる。
【0029】シフトパルス発生回路14は、マイクロプ
ログラム記憶用シフトレジスタ12を順次シフトさせる
ためのシフトパルスSPを発生するものである。シフト
パルス発生回路14の発生するシフトパルスの周期がD
SPの動作速度を決定する。また、このシフトパルスS
Pによってマイクロプログラム記憶用シフトレジスタ1
2がプログラムデータA000からプログラムデータA
127までを出力するのに要する時間が、DSPの一サ
ンプリング周期に相当する。
【0030】プログラムデコーダ13はマイクロプログ
ラム記憶用シフトレジスタ12からのプログラムデータ
A000〜A127、係数記憶手段34からの係数及び
フラグ制御回路19からフラグレジスタ10のフラグの
状態(セットされているか、リセットされているか)を
入力し、プログラムデータA000〜A127を解釈
し、各係数及びフラグの状態を参照して、DSP内の各
部分に制御信号を出力する。なお、この制御信号の一部
は、後述するフローチャートで示されるとおり、フラグ
制御回路19にも出力され、フラグ制御回路19はこの
制御信号に基づいてフラグレジスタ10のフラグをセッ
トしたり、リセットしたりして、その状態を書き換え
る。
【0031】分周器15は、シフトパルス発生回路14
からのシフトパルスSPを入力し、それを分周して、マ
イクロプログラム記憶用シフトレジスタ12がプログラ
ムデータA000を出力し始めてからプログラムデータ
A127を出力し終わるまでの一周期と同じ周期で出力
されるタイミング信号SYNCをラッチ回路16及びゲ
ート回路17に出力する。
【0032】ラッチ回路16は外部プロセッサ20から
のフラグのセットを要求するフラグセット信号FSと、
フラグのリセットを要求するフラグリセット信号FR
と、フラグレジスタ10内のどのフラグをセット又はリ
セットするのかを指示するフラグ番号FNとを入力し、
入力時点におけるそれらの信号(フラグセット信号FS
又はフラグリセット信号FR及びフラグ番号FN)をラ
ッチする。そして、ラッチ回路16は、分周器15から
のタイミング信号SYNCの入力に応じて、ラッチして
いたデータをリセットする。なお、オア回路18は、フ
ラグセット信号FS又はフラグリセット信号FRの入力
を検出し、それに基づいたラッチ信号をラッチ回路16
に出力するゲートとして機能する。
【0033】ゲート回路17は、分周器15からのタイ
ミング信号SYNCに応じてラッチ回路16にラッチさ
れているフラグセット信号FS又はフラグリセット信号
FR及びフラグ番号FNをフラグ制御回路19に出力す
る。
【0034】フラグ制御回路19は、プログラムデコー
ダ13、ゲート回路17及びフラグレジスタ10に接続
されており、プログラムデコーダ13からの制御信号に
基づいてフラグレジスタ10内のフラグをセット又はリ
セットしたり、フラグの状態をプログラムデコーダ13
に出力したりする。また、フラグ制御回路19は、タイ
ミング信号SYNCの出力に同期してゲート回路17か
ら出力されるフラグセット信号FS又はフラグリセット
信号FR及びフラグ番号FNに応じて、フラグ番号FN
で指示されるフラグのセット又はリセットを行う。
【0035】フラグレジスタ10は、図6と同じよう
に、各フラグF0〜F5がレジスタの1ビットに対応付
けられている。各フラグは、そのビットがハイレベル
“1”の時にセットされた状態であり、ローレベル
“0”の時にリセットされた状態である。なお、図6の
フラグ数は一例であり、この他にもいくつかの制御状態
を示すフラグが存在する。
【0036】次に、図1の動作を図3のタイミングチャ
ート図を用いて説明する。まず、DSPが通常のエンベ
ロープ発生器として動作している場合には、セレクタ回
路11には、ローレベル“0”のプログラム書き換え信
号SEが入力しており、マイクロプログラム記憶用シフ
トレジスタ12のプログラムデータPDはシフトパルス
発生回路14のシフトパルスに同期して次々とセレクタ
回路11を介して巡回している。例えば、図3に示すよ
うに、時刻t1でマイクロプログラム記憶用シフトレジ
スタ12はプログラムデータA000をプログラムデコ
ーダ13及びセレクタ回路11の入力端子Aに出力し、
以後シフトパルスSPの立下りに同期した形で順番にプ
ログラムデータA001〜A127を出力する。そし
て、マイクロプログラム記憶用シフトレジスタ12は時
刻t4で再びプログラムデータA000を出力するよう
になる。
【0037】このとき、分周器15はシフトパルス発生
回路14のシフトパルスSPを分周し、タイミング信号
SYNCを出力する。このタイミング信号SYNCは、
マイクロプログラム記憶用シフトレジスタ12がプログ
ラムデータA000〜A127を一巡して出力するのに
要する時間を一周期とする信号であり、時刻t1及び時
刻t4の一個前のシフトパルス、すなわちプログラムデ
ータA127の出力時点に同期している。
【0038】図3のようにフラグセット信号FS又はフ
ラグリセット信号FR及びフラグ番号FNが時刻t2で
ラッチ回路16に入力すると、ラッチ回路16はその時
点におけるフラグセット信号FS又はフラグリセット信
号FR及びフラグ番号FNをラッチする。図示していな
いが、ラッチ回路16は、フラグセット信号FS又はフ
ラグリセット信号FR及びフラグ番号FNを入力してか
ら次のタイミング信号SYNCの立下り時刻t4でリセ
ットされるまでの間、ラッチしているフラグセット信号
FS及びフラグリセット信号FRの論理和信号をセット
/リセットBUSY信号FBとして外部プロセッサ20
に帰還している。
【0039】すなわち、ラッチ回路16から出力される
セット/リセットBUSY信号FBがハイレベル“1”
の場合には、ラッチ回路16に対して外部プロセッサ2
0からフラグセット信号FS又はフラグリセット信号F
Rが既に出力されているということなので、外部プロセ
ッサ20はフラグレジスタ10を再びアクセスすること
はない。逆にセット/リセットBUSY信号FBがロー
レベル“0”の場合は、外部プロセッサ20はフラグレ
ジスタ10をアクセスすることができる。
【0040】ラッチ回路16は、時刻t2でフラグセッ
ト信号FS又はフラグリセット信号FR及びフラグ番号
FNをラッチした後はタイミング信号SYNCの立下り
時刻t4までその値を保持し続け、タイミング信号SY
NCの立下りに同期してラッチしていた値をリセットす
る。このとき、ゲート回路17は、タイミング信号SY
NCの立上りに同期してゲートを開き、ラッチ回路16
にラッチされているフラグセット信号FS又はフラグリ
セット信号FR及びフラグ番号FNをフラグセット信号
DFS又はフラグリセット信号DFR及びフラグ番号D
FNとしてフラグ制御回路19に出力する。すなわち、
分周器15、ラッチ回路16及びゲート回路17は、外
部プロセッサ20からDSPに入力されたフラグセット
信号FS又はフラグリセット信号FR及びフラグ番号F
Nをタイミング信号SYNCの出力時点まで遅延させる
働きをする。
【0041】このとき、フラグ制御回路19内には、プ
ログラムデコーダ13からの制御信号とゲート回路17
からのフラグ制御信号(フラグセット信号DFS又はフ
ラグリセット信号DFR及びフラグ番号DFN)との間
には特に優先順位を設けてないので、両方の信号が競合
する場合があり得る。しかしながら、マイクロプログラ
ム記憶用シフトレジスタ12内のマイクロプログラムの
プログラミング時にタイミング信号SYNCの出力時
点、すなわちプログラムデータA127の出力時点でフ
ラグレジスタ10をアクセスしないようにプログラムを
組み込んであるので、アクセス競合することはない。す
なわち、時刻t1から時刻t3までの間は、フラグ制御
回路19はプログラムデコーダ13からの制御信号によ
ってのみ制御され、時刻t3から時刻t4までの間は、
ラッチ回路16及びゲート回路17によって遅延された
フラグセット信号DFS又はフラグリセット信号DFR
及びフラグ番号DFNによってのみ制御されるようにな
っている。
【0042】次に、本実施例のDSPが図5のようなエ
ンベロープ信号を形成する場合の各ステップの処理内容
を図4のフローチャートを用いて説明する。 ステップ40:フラグレジスタ10のフラグF0がハイ
レベル“1”にセットされているかどうかを判定し、セ
ットされている(YES)場合は、ステップ41に進
み、セットされていない(NO)場合はステップ42に
進む。すなわち、このステップ40では、MPU20か
らDSPに対してノートオン信号NOTEONが出力さ
れたかどうかを検出する。
【0043】ステップ41:ステップ40でフラグF0
がセットされていたので、次のノートオン信号NOTE
ONの入力に備えて、まずフラグF0をリセットす
る。そして、フラグF2だけをセットし、他のフラグF
3,F4,F5をリセットし、これ以降のDSPの処理
を図5のエンベロープ信号のアタックタイムattac
kの波形作成処理に変更して、次のステップ42に進
む。
【0044】ステップ42:フラグレジスタ10のフラ
グF1がハイレベル“1”にセットされているかどうか
を判定し、セットされている(YES)場合は、ステッ
プ43に進み、セットされていない(NO)場合はステ
ップ44に進む。すなわち、このステップ42では、M
PU20からDSPに対してノートオフ信号NOTEO
FFが出力されたかどうかを検出する。
【0045】ステップ43:ステップ42でフラグF1
がセットされていたので、次のノートオフ信号NOTE
OFFの入力に備えて、まずフラグF1をリセットす
る。そして、フラグF5だけをハイレベル“1”にセッ
トし、他のフラグF2,F3,F4をリセットし、これ
以降のDSPの処理を図5のエンベロープ信号のリリー
スタイムreleaseの波形作成処理に変更して、つ
ぎのステップ44に進む。
【0046】ステップ44:フラグレジスタ10のフラ
グF2がハイレベル“1”にセットされているかどうか
を判定し、セットされている(YES)場合は、ステッ
プ45に進み、セットされていない(NO)場合はステ
ップ48に進む。すなわち、このステップ44は、ステ
ップ41を通過したかどうかを判定するステップであ
る。
【0047】ステップ45:エンベロープ演算用レジス
タENVの値にアタックレートARを加算する。すなわ
ち、アタックレートARは図5のようなアタックタイム
attackの波形を形成するためのデータであり、係
数記憶手段34からエンベロープ波形の種類に応じたも
のが与えられる。
【0048】ステップ46:ステップ45の処理を終え
た後のエンベロープ演算用レジスタENVの値が目標値
の1以上であるかどうかを判定し、1以上(YES)の
場合はステップ47に進み、1よりも小さい(NO)場
合はステップ56に進む。この目標値もエンベロープ波
形の種類に応じて係数記憶手段34から与えられるもの
である。
【0049】すなわち、エンベロープ演算用レジスタE
NVの値が目標値1に達したということは、アタックタ
イムattackの波形演算が終了したことを意味す
る。 ステップ47:ステップ46でエンベロープ演算用レジ
スタENVが1以上であると判定されたということは、
アタックタイムattackの波形演算が終了したこと
を意味するので、このステップではフラグレジスタ10
のフラグF2をリセットし、次のエンベロープ波形のデ
ィケィタイムdecayの処理に備えてフラグF3をハ
イレベル“1”にセットし、ステップ56に進む。
【0050】ステップ48:フラグレジスタ10のフラ
グF3がハイレベル“1”にセットされているかどうか
を判定し、セットされている(YES)場合は、ステッ
プ49に進み、セットされていない(NO)場合はステ
ップ52に進む。すなわち、このステップ48は、ステ
ップ45〜47のアタックタイムattackの波形演
算処理が終了したかどうかを判定するステップである。
【0051】ステップ49:エンベロープ演算用レジス
タENVにディケィレートDRを乗算する。すなわち、
ディケィレートDRは図5のようなディケィタイムde
cayの波形を形成するためのデータであり、係数記憶
手段34からエンベロープ波形の種類に応じたものが与
えられる。
【0052】ステップ50:ステップ49の処理を終え
た後のエンベロープ演算用レジスタENVの値がサステ
ィンレベルSL以下であるかどうかを判定し、サスティ
ンレベルSL以下(YES)の場合はステップ51に進
み、それよりも大きい(NO)場合はステップ56に進
む。このサスティンレベルSLもエンベロープ波形の種
類に応じて係数記憶手段34から与えられる。 ステップ51:ステップ50でエンベロープ演算用レジ
スタENVがサスティンレベルSL以下であると判定さ
れたということは、ディケイタイムdecayの波形演
算が終了したことを意味するので、このステップでは、
フラグレジスタ10のフラグF3をリセットし、次のサ
スティンタイムsustainのエンベロープ波形の処
理に備えてフラグF4をハイレベル“1”にセットし、
ステップ56に進む。
【0053】ステップ52:フラグレジスタ10のフラ
グF4がハイレベル“1”にセットされているかどうか
を判定し、セットされている(YES)場合は、ステッ
プ53に進み、セットされていない(NO)場合はステ
ップ54に進む。すなわち、このステップ52は、ステ
ップ49〜51のディケィタイムdecayの波形演算
処理が終了したかどうかを判定するステップである。 ステップ53:エンベロープ演算用レジスタENVの値
をサスティンレベルSLとし、ノートオフ信号NOTE
OFFが出力されるまでの間、図5のようなサスティ
ンタイムsustainの波形を形成する。
【0054】ステップ54:フラグレジスタ10のフラ
グF5がハイレベル“1”にセットされているかどうか
を判定し、セットされている(YES)場合は、ステッ
プ55に進み、セットされていない(NO)場合はステ
ップ56に進む。すなわち、このステップ54は、ステ
ップ43を通過したかどうかを判定するステップでもあ
る。 ステップ55:エンベロープ演算用レジスタENVの値
にリリースレートRRを乗算する。すなわち、リリース
レートRRは図5のようなリリースタイムreleas
eの波形を形成するためのデータであり、エンベロープ
波形の種類に応じて係数記憶手段34から与えられる。
【0055】ステップ56:上述のステップ40〜55
のいずれかの処理を経たエンブロープ演算用レジスタE
NVの値をサウンドシステム35に出力する。この値を
受けたサウンドシステムは、図5のようなエンベロープ
波形の楽音信号を発音処理する。
【0056】上述のようなマイクロプログラムの各ステ
ップの処理によって図5のようなエンベロープ波形が出
力される。また、DSPはステップ56の処理中にはフ
ラグレジスタ10のフラグF0〜F5をセット/リセッ
トしたりしないので、この時に外部プロセッサ20がフ
ラグレジスタ10のフラグF0又はF1をセットする。
これによって、DSPと外部プロセッサとの間でフラグ
レジスタ10を同時にアクセスするというようなアクセ
ス競合が起こることはなくなり、DSPはその演算処理
を支障なく行うことができるようになる。
【0057】なお、上述の実施例では、フラグレジスタ
が6つのフラグF0〜F5を有する場合を例に説明した
が、フラグF0及びF1を省略し、フラグF2及びF5
のセットを外部プロセッサが直接行ない、リセットをD
SP内部で行うようにしてもよい。この場合でも、両者
のアクセスが競合することはない。
【0058】なお、上述の実施例では、DSPを音源の
エンベロープ波形発生器として動作させる場合を例に説
明したが、オーディオ用、各種デジタルフィルタ用、電
子楽器のエンベロープ発生回路用、精密制御装置用、高
品位TV用又はデジタルVTR用などの多岐の分野で利
用されているDSPに応用できることはいうまでもな
い。
【0059】
【発明の効果】以上のようにこの発明によれば、フラグ
レジスタ内のフラグの書換えをDSPの処理に支障をき
たすことなく確実に行うことができるという効果があ
る。
【図面の簡単な説明】
【図1】 図2のマイクロプログラム記憶手段と係数利
用部の一部との詳細構成を示す図である。
【図2】 この発明に係るデジタル信号処理プロセッサ
を音源として使用した場合の電子楽器の一実施例のハー
ドウェア構成を示すブロック図である。
【図3】 図1の動作を説明するためのタイミングチャ
ート図である。
【図4】 図1のDSPが図5のようなエンベロープ信
号を形成する場合の処理内容を示すフローチャート図で
ある。
【図5】 DSPをエンベロープ発生器として機能させ
た場合にそのエンベロープ発生器の発生するエンベロー
プ信号を示す図である。
【図6】 DSP内部に格納されているフラグレジスタ
の内容を示す図である。
【符号の説明】
10…フラグレジスタ、11…セレクタ回路、12…マ
イクロプログラム記憶用シフトレジスタ、13…プログ
ラムデコーダ、14…シフトパルス発生回路、15…分
周器、16…ラッチ回路、17…ゲート回路、18…オ
ア回路、19…フラグ制御回路、20…マイクロプロセ
ッサユニット、21…プログラムメモリ(ROM)、2
2…ワーキングメモリ(RAM)、23…鍵盤、24…
鍵スイッチ回路、25…鍵タッチ検出回路、26…音色
等選択スイッチ回路、27…音源用DSP、28…デー
タ及びアドレスバス、31…インターフェイス回路、3
2…マイクロプログラム記憶手段、33…係数利用部、
34…係数記憶手段、35…サウンドシステム
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 9/22 340 G06F 17/10 G10H 1/057 G10H 7/00 512 G10K 15/12

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 アルゴリズムを規定するマイクロプログ
    ラムを格納し、サンプリング周期で該マイクロプログラ
    ムを出力するマイクロプログラム記憶手段と、 係数を格納する係数記憶手段と、 前記マイクロプログラムの分岐又はジャンプを指示する
    フラグを格納するフラグ記憶手段と、 前記マイクロプログラム記憶手段から出力されるマイク
    ロプログラムに基づいて、前記マイクロプログラムによ
    って規定されるアルゴリズム及び前記フラグに応じたデ
    ジタル信号演算処理を前記係数を利用しながら行う係数
    利用手段と、 前記サンプリング周期と同じ周期でタイミング信号を出
    力するタイミング信号出力手段と、 外部のプロセッサから入力される前記フラグのセット信
    号又はリセット信号をラッチし、前記タイミング信号の
    入力に応じてリセットされるラッチ手段と、 前記マイクロプログラム記憶手段から出力されるマイク
    ロプログラムに基づいて前記フラグ記憶手段の格納する
    フラグのセット又はリセットないし出力を行うととも
    に、前記タイミング信号の出力に同期して、前記ラッチ
    手段にラッチされたセット信号又はリセット信号に基づ
    いて前記フラグ記憶手段の格納するフラグのセット又は
    リセットを行うフラグ制御手段とを有し、前記マイクロ
    プログラム記憶手段には、前記タイミング信号の出力時
    点で、前記フラグ記憶手段の格納するフラグをアクセス
    しないように前記マイクロプログラムを組み込んである
    ことを特徴とするデジタル信号処理プロセッサ。
  2. 【請求項2】 前記タイミング信号出力手段が前記タイ
    ミング信号を出力するタイミングは、前記マイクロプロ
    グラム記憶手段が各サンプリング周期に出力するマイク
    ロプログラムのうちの最後のプログラムデータを出力し
    ているタイミングであることを特徴とする請求項1に記
    載のデジタル信号処理プロセッサ。
JP35815791A 1991-12-27 1991-12-27 デジタル信号処理プロセッサ Expired - Lifetime JP3508139B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35815791A JP3508139B2 (ja) 1991-12-27 1991-12-27 デジタル信号処理プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35815791A JP3508139B2 (ja) 1991-12-27 1991-12-27 デジタル信号処理プロセッサ

Publications (2)

Publication Number Publication Date
JPH05181668A JPH05181668A (ja) 1993-07-23
JP3508139B2 true JP3508139B2 (ja) 2004-03-22

Family

ID=18457841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35815791A Expired - Lifetime JP3508139B2 (ja) 1991-12-27 1991-12-27 デジタル信号処理プロセッサ

Country Status (1)

Country Link
JP (1) JP3508139B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3097434B2 (ja) * 1994-01-25 2000-10-10 ヤマハ株式会社 効果付加用ディジタル信号処理装置

Also Published As

Publication number Publication date
JPH05181668A (ja) 1993-07-23

Similar Documents

Publication Publication Date Title
JP2722795B2 (ja) 楽音合成装置
JPH04306697A (ja) ステレオ方式
JP4335570B2 (ja) 共鳴音生成装置、共鳴音生成方法及び共鳴音生成のためのコンピュータプログラム
JP3508139B2 (ja) デジタル信号処理プロセッサ
JP2001265352A (ja) 楽音信号処理装置
US6351475B1 (en) Mixing apparatus with compatible multiplexing of internal and external voice signals
JP3530601B2 (ja) 楽音信号の周波数特性制御装置及び周波数特性制御方法
JPH0318197B2 (ja)
JPS6211357B2 (ja)
JP2698942B2 (ja) 楽音発生装置
JP2932841B2 (ja) 電子楽器
JPS6113239B2 (ja)
JP3721789B2 (ja) ミキシング装置
JP3436806B2 (ja) 楽音信号のエンベロープ制御装置
JP3660125B2 (ja) 電子楽器の音像定位感制御装置
JPS6248239B2 (ja)
JP3094759B2 (ja) 楽音信号分配処理装置
JP3649906B2 (ja) 電子楽器のキーオンディレイ効果付加装置
JP3116447B2 (ja) デジタル信号処理プロセッサ
JP3652504B2 (ja) 電子楽器の残響効果付加装置
JP3706372B2 (ja) 楽音信号の周波数特性制御装置及び周波数特性制御方法
JP3190103B2 (ja) 楽音合成装置
JP2910632B2 (ja) 波形メモリ音源装置
JP4306138B2 (ja) 楽音発生装置及び楽音発生処理のプログラム
JPH04233595A (ja) 電子楽器のチャンネル割り当て装置及びチャンネル割り当て方法

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031215

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

Free format text: PAYMENT UNTIL: 20080109

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

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

Free format text: PAYMENT UNTIL: 20080109

Year of fee payment: 4

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: 20090109

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100109

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110109

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 8

EXPY Cancellation because of completion of term