JPH06242779A - 信号処理装置 - Google Patents

信号処理装置

Info

Publication number
JPH06242779A
JPH06242779A JP5291971A JP29197193A JPH06242779A JP H06242779 A JPH06242779 A JP H06242779A JP 5291971 A JP5291971 A JP 5291971A JP 29197193 A JP29197193 A JP 29197193A JP H06242779 A JPH06242779 A JP H06242779A
Authority
JP
Japan
Prior art keywords
interpolation
coefficient
latch
input
data
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
JP5291971A
Other languages
English (en)
Other versions
JP2768241B2 (ja
Inventor
Yoshio Fujita
佳生 藤田
Kazuhisa Okamura
和久 岡村
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 JP5291971A priority Critical patent/JP2768241B2/ja
Publication of JPH06242779A publication Critical patent/JPH06242779A/ja
Application granted granted Critical
Publication of JP2768241B2 publication Critical patent/JP2768241B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【目的】この発明は、DSP演算部33で用いる256
個の係数をリアルタイムに変化させることができるよう
にし、なおかつ、そのためのハード構成を最小限にす
る。 【構成】係数レジスタに37に前記256個の係数を記
憶し、補間制御部38および補間器39に16個の補間
チャンネルを設ける。前記256個の係数のうち任意に
指定された16個の係数を前記16個の補間チャンネル
にアサインし、当該係数を補間変更するための補間デー
タを書き込む。通常は係数レジスタ37の係数がDSP
演算部33に入力され、前記16個の係数を用いるタイ
ミングには補間器39がリアルタイムに補間した係数を
DSP演算部33に供給する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、電子楽器等に用いら
れ信号に様々な効果を付与する信号処理装置に関する。
【0002】
【従来の技術】電子楽器の信号処理装置としてDSPが
用いられている。DSPはディジタル化された信号波形
に対して様々な演算処理を施して残響やビブラートなど
種々の効果を付与するものである。DSPは複数ステッ
プのマイクロプログラムで動作するが、このプログラム
および各ステップの演算処理に用いる係数は予めDSP
にセットされていた。
【0003】
【発明が解決しようとする課題】ところで、近年DSP
の係数をリアルタイムに変更することにより、楽音に付
与される効果をリアルタイムに変化させようとすること
が考えられている。しかし、たとえば、多数のステップ
で動作するDSPの係数を全て変更可能にしようとすれ
ば、効果が突然変化しないように該全ての係数を補間す
る必要があるが、係数の数が極めて多いため、全部補間
しようとすると、補間器の構成が大きくなってしまう。
【0004】この発明は、変更しようとする係数のみを
補間することにより上記課題を解決した信号処理装置を
提供することを目的とする。
【0005】
【課題を解決するための手段】この発明は、複数の係数
を用いて波形処理演算を実行する演算手段と、前記複数
の係数を記憶する係数記憶手段と、前記複数の係数のな
かから一部の係数を指定する係数指定手段と、該係数指
定手段で指定された係数の値を変更する係数変更手段
と、値が変更された係数を入力し変更前の値から変更後
の値へ補間しつつ前記演算手段に供給する補間手段と、
を備えた信号処理装置であって、前記補間手段は前記複
数の係数の数よりも少ない数のチャンネルを有し、前記
指定された係数を該チャンネルにそれぞれ選択的に割り
当てる割り当て手段と、を備えたことを特徴とする。
【0006】
【作用】この発明の信号処理装置では、演算手段で用い
る複数の係数を係数記憶手段に記憶している。係数値を
変更すると波形処理演算の結果も変わり、信号の処理内
容(例えば、楽音信号に付与される効果)も変わるが、
通常同時に変更される係数は複数の係数の一部である。
このため、記憶されている係数のうち変更したい一部の
係数を指定し(係数指定手段)、この指定された係数の
み変更する(係数変更手段)。指定された係数は、補間
手段のチャンネルに割り当てられ旧係数−新係数間で補
間つつ前記演算手段に供給される。これにより、必要な
係数のみ滑らかに変更される。変更する一部の係数はそ
の時に応じて選択できるようにしてもよく、予め固定的
に決定されていてもよい。
【0007】
【実施例】図1はこの発明の実施例であるDSPを備え
た電子楽器のブロック図である。CPU10にはバス1
1を介してROM12,RAM13,鍵盤14,ペダル
15,ホイール16,パネルスイッチ17,表示器1
8,タイマ19,音源20およびDSP21が接続され
ている。ROM12にはこの電子楽器の動作を制御する
ための制御プログラムが記憶されている。RAM13に
は鍵盤や操作子の操作量データなどの演奏時に発生する
データが記憶される。鍵盤14は5オクターブ(61
鍵)程度の音域を有している。ペダル15は、踏み込み
角度に応じた連続値の操作量データを出力する制御操作
子である。ホイール16はいわゆるモジュレーションホ
イールであり回転角度に応じた操作量データを出力す
る。これら制御操作子の操作量データは前記RAM13
の所定エリアに記憶される。
【0008】パネルスイッチ17および表示器18は操
作パネルに設けられており、音色の選択やDSP21の
効果の選択等とその選択内容の表示を行う。タイマ19
は自動伴奏時のテンポをカウントするためのタイマであ
る。音源20は従来より一般的なサンプリング音源やF
M音源を用いればよい。
【0009】DSP21は音源20で形成された楽音信
号に対して種々の効果を付与する回路である。詳細は後
述するが、内蔵の演算部や外付けされているディレイR
AM22などの動作によりディジタルの楽音信号を演算
処理する。付与される効果としては、例えば、残響やビ
ブラートなどがある。このDSP21の動作を制御する
パラメータ(係数)の一部は、鍵盤14のイニシャルタ
ッチ,アフタタッチ、ペダル15やホイール16の操作
量データなどに基き、CPU10によってリアルタイム
に更新される。
【0010】DSP21にはDAC23が接続されてい
る。DAC23は、DSP21から出力されるディジタ
ルの楽音波形データをアナログの楽音信号に変換する。
変換された楽音信号はサウンドシステム24に入力され
る。サウンドシステム24はこの信号を増幅してスピー
カ等から放音する。
【0011】図2はDSP21のブロック図である。音
源20から入力される楽音信号は入力レジスタ36を介
してDSP演算部33に入力される。DSP演算部33
は、256ステップのマイクロプログラム、各種レジス
タから入力される係数やパラメータに基づき、さらに、
ディレイRAM22を用いて楽音信号を処理し、種々の
効果を付与する。DSP演算部33で処理された楽音信
号は出力レジスタ44を介してDAC23に出力され
る。
【0012】DSP演算部33の256ステップの演算
処理にはそれぞれ1個の係数が用いられる。この係数は
DSP21の動作スタートに先立って(たとえば、電源
オン時や残響・効果の選択設定時など)に予め係数レジ
スタ37にセットされる。これら256個の係数のう
ち、同時に16個のみリアルタイムに補間しながら滑ら
かに変更することができるように設計されている。
【0013】DSP演算部33には、入力レジスタ3
6,出力レジスタ44のほか、各種データなどを入力す
るため以下のようなレジスタが接続されている。ディレ
イRAM22をアクセスして波形のディレイを行うため
のアドレスを指示するアドレス発生器35、演算のため
の係数を入力する補間器39、他の要素を制御するため
のその他制御用レジスタ40、および、マイクロプログ
ラムを入力するためのマイクロプログラムメモリ43で
ある。
【0014】アドレス発生器35にはディレイ制御レジ
スタ34が接続されている。ディレイ制御レジスタ34
はアドレス発生器35に対してディレイパラメータを入
力する。ディレイパラメータは、このDSP21に入力
された楽音波形データをディレイRAM22を用いてど
れだけ遅延させて出力するかを指示するパラメータであ
る。アドレス発生器35はこのパラメータに基づいてD
SP演算部33がディレイRAM22に書込/読出する
アドレスを発生する。DSP演算部33は、このアドレ
スに基づき、サンプリングクロック毎に入力される楽音
波形データをディレイRAM22に記憶してゆくととも
に、所定クロック(遅延時間)前にディレイRAM22
に記憶した楽音波形データを読み出す。このためディレ
イRAM22はシフトレジスタのように使用される。デ
ィレイパラメータは、バス11,CPUインタフェース
30,インタフェースバス31を介してCPU10から
入力される。
【0015】マイクロプログラムメモリ43は、256
ステップのマイクロコードからなるマイクロプログラム
を記憶している。マイクロコードは8ビットのステップ
ナンバCNTで指定される。各マイクロコードは、DS
P演算部33に対して所定の処理動作(例えば、楽音波
形データ入力,メモリ書き込み,メモリ読み出し,演
算,入楽音波形データ出力,パラメータ読み込みなど)
を指示する。マイクロプログラムメモリ43のアドレス
端子には8ビットのカウンタ42が接続されている。カ
ウンタ42のカウント端子にはシステムクロック発生器
41が接続されている。システムクロックφは前記サン
プリングクロックに比べて充分に高い周波数のクロック
である。1サンプリングクロックの間にマイクロプログ
ラムを1通り実行する必要があるからである。システム
クロックφの入力にしたがって、カウンタ42は繰り返
し0〜255(FF)のカウント値CNTを出力する。
すなわち、カウンタ42はオーバーフローリセットのの
ち0に復帰する。このカウント値CNTでマイクロプロ
グラムメモリ43がアクセスされ、カウント値CNTに
対応するマイクロコードをDSP演算部33に出力す
る。すなわち、カウント値CNTはステップを表すこと
になる。
【0016】係数レジスタ37は、上述したマイクロプ
ログラムの各ステップにおいて演算に必要な係数を記憶
するためのレジスタであり、各ステップに1つずつ全2
56個の係数を記憶するエリアが設定されている。この
係数レジスタ37に対して、CPU10が係数を書き込
み、補間器39が記憶されている係数を読み出す。CP
U10は、動作の開始時には256個の全エリアに係数
の書き込みを行い、動作中に(リアルタイムに)特定の
ステップの係数を変更する場合には、そのエリアのみ係
数の書き換えを行う。
【0017】補間器39は、上記マイクロプログラムの
各ステップの処理において用いられる係数をDSP演算
部33に入力する。補間器39には係数レジスタ37お
よび補間制御部38が接続されている。補間器39は、
係数の値を変更しないステップにおいては係数レジスタ
37に記憶されている係数をそのままDSP演算部33
に供給する。また、リアルタイムに係数の値を補間変更
するステップでは係数レジスタ37から事前に読み込ん
だスタート値(旧係数)および新たに読み込んだ目標値
(係数)さらに補間制御部38に記憶されている補間レ
ートなどのデータに基づいて補間演算を行い、新・旧係
数の中間値を生成してDSP演算部33に入力する。
【0018】補間器39は16個の補間演算回路(補間
チャンネル)を有しており、同時に16ステップ分の係
数をリアルタイムに補間変更することができる。係数を
リアルタイムに補間変更するステップ(補間ステップ)
は設定により任意に指定することができる。補間ステッ
プとしては、係数を変更することによって効果的に音色
の変化を付けることができるステップを、そのとき動作
しているマイクロプログラムのなかから選択するように
すればよい。DSP21に対する補間ステップの指定
は、CPU10が係数レジスタ37および補間制御部3
8に補間データを入力することによって行われる。
【0019】補間データは、補間ステップナンバ,補間
チャンネルナンバ,補間レートなどである。補間チャン
ネルナンバは16個の補間チャンネルのうちいずれか1
つを指定するデータであり、DSP21内ではチャンネ
ルセレクト信号CHSELとして送受され、補間レート
や補間ステップの書込時の補間チャンネルの指定を行
う。また、補間ステップナンバは指定された補間チャン
ネルにおいて補間を行いたいステップを示す情報であ
り、CPU10からステップセレクト信号として送受さ
れ、補間ステップラッチ71の指定された補間チャンネ
ルの位置にラッチされる。新たな係数は係数レジスタ3
7に記憶される。補間レートは書込データとして送受さ
れ、補間制御部38中の補間レートラッチ70の指定さ
れた補間チャンネルの位置に記憶される。補間の対象と
なる新たな係数は、アサインされている操作子(ペダ
ル,モジュレーションホイール,鍵盤のアフタタッチセ
ンサなど)の操作量に基づいて生成される。補間チャン
ネルナンバは、16個の補間チャンネルのうちそのとき
の空きチャンネル(そのとき係数の補間を担当していな
い補間チャンネル)のナンバが選択される。選択された
補間チャンネルは補間データによって指示された係数の
補間動作を実行するが、この補間動作が終了したときE
Q信号を発生し、このEQ信号がCPUインタフェース
30内のラッチ54(図3参照)の対応する位置にラッ
チされる。CPU10は、バッファ56を介してラッチ
54のEQ信号を読み出すことによって該チャンネルの
補間処理動作の終了を検知することができ、これにより
この補間チャンネルを次の新たな補間処理に用いること
ができる。
【0020】なお、係数の補間動作が終了して空いてい
る補間チャンネルの補間データをCPU10によって消
去し、その補間チャンネルを開放して他の演算処理に用
いることができるようにしてもよい。
【0021】図3は前記CPUインタフェース30の詳
細なブロック図である。CPUインタフェース30は、
CPUバス11から入力される様々なデータを、必要な
レジスタの必要なタイミング位置(ステップ)に書き込
む回路である。
【0022】CPU10は8ビットのアドレスを出力す
るが、そのうち上位3ビットが3−8デコーダによって
チップセレクト信号CSに変換される。所定の上位3ビ
ットが3−8デコーダに入力されたときDSP21に対
してCS信号が出力される。このCS信号はI/O制御
部51に入力される。I/O制御部51にはCS信号の
ほか書込信号WR,読出信号RD等の信号が入力され
る。CS信号およびWR信号が入力したとき、I/O制
御部51はデータラッチ50およびアドレスラッチ52
に対してラッチパルスを出力する。一方、CS信号とR
D信号が入力したときはアドレスラッチ52にラッチパ
ルスを出力するとともに、バッファ56にイネーブル信
号を出力する。
【0023】ラッチパルスが出力されたとき、アドレス
の下位5ビットはアドレスラッチ52にラッチされる。
このアドレスの下位5ビットはDSP21内の各種レジ
スタ等を指定するアドレスコードとなる。この5ビット
のアドレスコードはデコーダ57に入力される。デコー
ダ57は5ビットのアドレスコードで指定されたレジス
タを書込パルス発生部58に指示する。書込パルス発生
部58はI/O制御部51からトリガ信号が入力された
とき該指示されたレジスタに対して書込パルスを出力す
る。I/O制御部51はデータラッチ50に取り込まれ
たデータが所定のレジスタ等に達するまでのディレイク
ロック数を考慮し、所定のタイミングにトリガ信号を発
生する。書込パルスが出力されるレジスタは係数レジス
タ37のラッチ60,書込制御部62や補間制御部38
の書込制御部81,82およびその他の制御レジスタ4
0内の各レジスタなどである。
【0024】CPUバス11のデータバスから入力され
るデータはデータラッチ50にラッチされる。データラ
ッチ50には、CPU10から、上述の補間データを含
む、各種レジスタ34,37,38,40等に入力する
パラメータ(係数データ)が入力される。パラメータは
書込データとしてインタフェースバス31に出力され
る。
【0025】複数の係数のうち、どのステップの係数を
補間するかの指定を新たに行う場合、CPU10は、C
PUインタフェース30をアクセスし、まず補間チャン
ネルナンバをチャンネルラッチ53に書き込み、続い
て、補間レートおよび補間ステップナンバをそれぞれ補
間レートラッチ70および補間ステップラッチ71に書
き込む。この一連の書き込みにより、以下の手順で補間
データが補間制御部38に設定される。
【0026】まず、補間チャンネルラッチ53に書き込
まれた補間チャンネルナンバは、チャンネルセレクト信
号CHSELとして補間制御部38の書込制御部81,
82に供給される。続く補間レートラッチ70に対する
書き込みでは、CPU10からの書き込もうとする補間
レートの値が、データラッチ50を介して書き込みデー
タとして補間レートラッチ70に供給される。CPU1
0の補間レートラッチ70をアドレス指定しての書き込
み動作に応じて、書込パルス発生部58は補間レート書
込パルスを書込制御部81に対して出力する。このと
き、書込制御部81には補間チャンネルナンバを指定す
るチャンネルセレクト信号が供給されており、書込制御
部81は、その指定されたチャンネルナンバに対応する
補間レートラッチ70の中の1つのラッチだけに対して
ラッチパルスを出力する。つまり、書き込みデータとし
て供給された補間レートは、補間レートラッチ70を構
成する16枚のラッチの中の補間チャンネルナンバで指
定された1枚のラッチに書き込まれる。
【0027】補間ステップラッチ71に対する書き込み
処理も、補間レートラッチ70の書き込みと同様であ
り、書き込みデータとして供給された補間ステップナン
バは、補間ステップラッチ71を構成する16枚のラッ
チの中の補間チャンネルナンバで指定された1枚に書き
込まれる。以上のように、補間レートラッチ70と補間
ステップラッチ71の内の1つを補間チャンネルナンバ
で指定して、補間レートと補間ステップを設定すること
により、その補間チャンネルによる補間ステップで指定
された係数の補間の準備は完了する。
【0028】その後、CPU10によって該補間ステッ
プの係数に対して新たな係数値の書き込みがあったと
き、該係数に対し、補間器39の該補間チャンネルによ
る、該補間レートで指示されたスピードの補間がスター
トする。該係数の補間器39からの出力値は、書き込み
の直前の値を初期値として、該補間レートの速さで徐々
に該新たな係数の値に接近していき、該出力値が該新た
な係数値に一致したところで補間動作が終了となり、そ
の後は該出力値としてその一致した値を保持する。この
補間動作の終了時に発生する信号EQは、CPUインタ
フェース30のラッチ54にラッチされ、CPU10
は、セレクタ55,バッファ56を介してこのデータを
読み出すことにより、各補間チャンネルの補間終了タイ
ミングを検知することができる。
【0029】図4は係数レジスタ37の詳細なブロック
図である。このレジスタはRAM61を備えている。こ
のRAM61は、DSP演算部33において256ステ
ップの各演算処理で使用される係数を記憶する。その記
憶エリアは、16×256ビットである。このRAM6
1のデータ入力端子はCPUインタフェース30(イン
タフェースバス31)およびラッチ60の出力端子に接
続されている。ラッチ60の入力端子はRAM61と同
様にCPUインタフェース30(インタフェースバス3
1)に接続されている。ラッチ60は、CPU10〜イ
ンタフェースバス31間を8ビットづつで送られてきた
係数データを16ビットに変換するためのものである。
すなわち、16ビットの係数データは上位8ビットと下
位8ビットに分割して伝送される。係数レジスタが係数
データの上位8ビットを受信したときこれをラッチ60
に一旦ラッチする。次に下位8ビットを受信したときラ
ッチ60にラッチされている上位8ビットと同時にRA
M61に書き込む。これによって8/16ビットの変換
を行う。
【0030】このため、ラッチ60およびRAM61に
は別個の書込パルス(係数レジスタ書込パルスA,係数
レジスタ書込パルスB)が与えられる。
【0031】最初の8ビット入力時にはラッチ60に係
数レジスタ書込パルスAが入力されて、このデータをラ
ッチする。次の8ビット入力時にはRAM61に係数レ
ジスタ書込パルスBが入力され、RAM61はこの8ビ
ットおよびラッチ60が先にラッチした8ビットからな
る16ビットのデータを入力して該当のエリアに書き込
む。
【0032】これらの書込パルスは前記書込パルス発生
部58が8ビットデータの入力タイミングに同期して発
生し、係数書込パルスAはラッチ60に直接入力され、
係数レジスタ書込パルスBは書込制御部62を介してR
AM61に与えられる。
【0033】一方、RAM61の出力端子は補間器39
に接続されている。
【0034】RAM61の読み出し/書き込みアドレス
はセレクタ63を介してRAM61に供給される。セレ
クタ63にはカウンタ42が出力するステップナンバC
NTおよびチャンネルラッチ53が出力するCHSEL
が入力されている。このうちステップナンバCNTはR
AM61の読み出し用のアドレスであり、CHSELは
RAM61の書き込み用のアドレスである。セレクタ6
3は、書込制御部62から入力するセレクト信号に基づ
き、CNTまたはCHSELをRAM61に出力する。
【0035】カウンタ42はDSP33の演算ステップ
に同期してカウント動作を行っており、そのカウント値
であるステップナンバCNTによってRAM61を読み
出すことにより、DSP33の各動作ステップに応じた
係数をRAM61から供給する。
【0036】他方、CHSELは、チャンネルラッチ5
3の出力であり、CPU10はRAM61に係数を書き
込む際、その書き込みに先立ってこのチャンネルラッチ
53にRAM61中のどのステップの係数を書き換える
のか指定するステップナンバをラッチさせる。このラッ
チ操作の後でRAM61に対し書き込みを行う(書込パ
ルスAおよびB発生)と、前述した16ビットに変換さ
れたデータが、RAM61の指定したステップの記憶位
置に書き込まれる。
【0037】書込制御部62が出力するセレクト信号
は、通常はCNTを選択しており、CPU10からRA
M61に対する新たな係数の書き込みを行うときにだ
け、RAM61に対する書込パルスと同期して一時的に
CHSELの側を選択する。なお、この書き込みのため
のセレクト信号と書込パルスの発生は、CNTによるD
SP33の係数の読み出しを妨げない裏のタイミングで
実行される。
【0038】図5は補間制御部38の詳細なブロック図
である。このレジスタはDSP演算部33の動作ステッ
プを監視し、係数を補間するステップ(補間ステップ)
になったとき、その旨の信号や補間レートなどを出力す
る回路である。補間ステップナンバを記憶する補間ステ
ップラッチ71、各補間ステップの補間レートをラッチ
する補間レートラッチ70は補間チャンネル毎にそれぞ
れ16個並列に設けられている。補間レートラッチ70
および補間ステップラッチ71はともにCPUインタフ
ェース30(インタフェースバス31)に接続され、前
述した様な方法で書込データとして入力される補間レー
トおよび補間ステップナンバを記憶する。また、補間レ
ートラッチ70,補間ステップラッチ71には、それぞ
れ書込制御部81,82が接続されている。書込制御部
81は、書込データとして補間レートが入力されるタイ
ミングに16個の補間レートラッチの対応する1つに対
して書込パルスを出力する。また、書込制御部82は、
書込データとして補間ステップナンバが入力されるタイ
ミングに16個の補間ステップラッチの対応する1つに
対して書込パルスを出力する。
【0039】書込制御部81には書き込みを行う補間チ
ャンネルを指示するチャンネルセレクト信号CHSEL
が入力されるとともに書込パルス発生部58から補間レ
ート書込パルスが入力される。書込制御部81はこれら
の信号に基づき所定のタイミング(補間レートが書込デ
ータとして供給されるタイミング)に所定のチャンネル
のラッチに対して書込パルスを出力する。一方、書込制
御部82にはチャンネルセレクト信号CHSELが入力
されるともに書込パルス発生部58から補間ステップ書
込パルスが入力される。書込制御部82はこれらの信号
に基づき所定のタイミング(補間ステップナンバが書込
データとして供給されるタイミング)に補間ステップラ
ッチの対応チャンネルに対して書込パルスを出力する。
また、この書込制御部82の書込パルスはラッチ75に
も入力される。ラッチ75は16チャンネルの補間チャ
ンネルに対応して16個設けられており、当該補間チャ
ンネルに新たな補間データがセットされた旨を記憶する
ものである。
【0040】上記の動作で補間ステップラッチ71にラ
ッチされた補間ステップナンバは比較器73に入力され
る。比較器73は各補間ステップラッチ71(補間チャ
ンネル)に対応して16個並列に設けられている。各比
較器73は各補間ステップラッチ71にラッチされてい
る補間ステップナンバとそのときのCNTの値(現在の
動作ステップ)とを比較する。何れかの比較器で補間ス
テップナンバとCNTとが一致した場合には、その比較
器から一致信号が出力される。この一致信号はエンコー
ダ74および一致検出回路78に入力されるとともに、
ラッチ75のクリア端子およびゲート76の制御端子に
入力される。
【0041】エンコーダ74は一致信号のチャンネルナ
ンバを4ビットのバイナリデータに変換して現在補間動
作を行うべき補間チャンネルナンバ(処理チャンネルナ
ンバ)ICHとして出力する。このICHは補間器39
に入力されるとともにセレクタ72に入力される。セレ
クタ72は補間レートラッチ70のうちICHに対応す
るチャンネルの補間レートをIRATEとして補間器3
9に対して出力する。一致検出回路78は何れかの比較
器73で一致信号が出力されたとき一致パルスIPを補
間器39に出力する。一致検出回路78が生成する一致
パルスIPは一致信号が入力されたチャンネルに無関係
に同一のラインに出力される。
【0042】前記ラッチ75はゲート76を介して書込
検出回路77に接続されている。補間ステップラッチ7
1の何れかのチャンネルに書込パルスが出力されたと
き、同時に16個並列に設けられているラッチ75のう
ち書込パルスの出力された補間チャンネルに対応する1
つにそのパルスがラッチされる。ラッチされたパルス
は、該書込パルス発生後、動作ステップナンバCNTと
書き込まれた補間ステップナンバが最初に一致したとき
(最初の補間処理動作において)、比較器73が出力す
る一致信号でゲート76が開かれることにより書込検出
回路77に出力される。書込検出回路77はパルスが入
力されたとき係数変更パルスCCを生成して補間器39
に出力する。書込検出回路77が生成する係数変更パル
スCCはパルスが入力されたチャンネルに無関係に同一
のものである。ここで、上述したように比較器73の一
致信号がラッチ75のクリア信号およびゲート76の制
御信号を兼ねるため(ゲート76はパルスの立ち上がり
エッジをトリガとし、ラッチ75はパルスの立ち下がり
をクリア信号として用いるため)、書込制御部82が書
込パルスを出力した直後に比較器73が一致信号を出力
したときの1回のみパルスが書込検出回路77に入力さ
れる。したがって、補間ステップナンバを書き込んだ直
後の1回目の一致パルスIP出力時にだけ係数変更パル
スCCが出力されることになる。この係数変更パルスC
Cは補間器39に入力され、それまで記憶していた内容
を破棄して、新たに設定した補間ステップナンバの示す
ステップの現係数を初期値として設定するためのパルス
として機能する。
【0043】図6は補間器39の詳細なブロック図であ
る。係数レジスタ37から入力される係数データは比較
器90,セレクタ93およびセレクタ101の入力端子
0に入力される。セレクタ101のもう一方の入力端子
1にはディレイを介してデュアルポートRAM96が接
続されている。セレクタ101にセレクト信号が入力さ
れないとき(非補間時:0)には係数レジスタ37から
入力された係数をそのままDSP演算部33に出力す
る。セレクト信号が入力されたとき(補間時:1)には
デュアルポートRAM96のデータをDSP演算部33
に出力する。
【0044】セレクタ101のセレクト信号端子にはゲ
ート106が接続されている。ゲート106には一致パ
ルスIPおよび係数変更パルスCCを反転した*CC信
号が入力される。したがって、一致パルスIPが出力さ
れないタイミング(非補間時)、および、一致パルスI
Pおよび係数変更パルスCCの両方が出力されたタイミ
ング、すなわち、当該補間チャンネルが新たな補間デー
タで補間処理を行う場合の最初の補間処理においては係
数レジスタから入力される係数データをそのままDSP
演算部33に出力する。すなわち、新たな補間ステップ
が設定された直後のその補間ステップにおいては、その
ステップの係数の現在値がとりあえずセレクタ101か
ら出力される。また、この値が後述するセレクタ93の
働きにより、RAM96内の該補間チャンネルの位置に
初期データとして書き込まれる。該補間チャンネルはI
CHにより指定される。一致パルスIPが出力され係数
変更パルスCCが出力されないタイミング、すなわち、
2回目以後の補間処理タイミングには、セレクタ101
は1ディレイしたデュアルポートRAM96のデータを
DSP演算部33に出力する。
【0045】係数を目標値に向けて歩進させてゆくため
の回路は比較器90,符号制御回路91,加算器92,
セレクタ93,前記デュアルポートRAM96,書込パ
ルス発生器99および信号のタイミングを合わせるため
に適宜設けられる複数のディレイからなっている。比較
器90は現在の(補間途中の)係数値A(デュアルポー
トRAM96から読み出された値)と目標値B(係数レ
ジスタから入力される新たな係数データ)とを比較し、
ほぼ一致したとき一致信号EQを出力し、A>Bのとき
不一致信号“A>B”を出力する回路である。比較器9
0にはレートデコーダ102から比較器制御データCP
Cが入力される。比較器制御データCPCは歩進量と同
種のデータであり、比較器90は補間中の係数と目標値
(新係数)との差が歩進量以下になったとき、次に歩進
すると目標値を越えてしまうため、一致信号EQを出力
する。
【0046】レートデコーダ102には補間制御部から
3ビットの補間レートIRATEが入力される。レート
デコーダ102はこの補間レートIRATEの値に基づ
き、図7に示す補間レートテーブルを参照して歩進量を
割り出し、符合制御回路91に入力する。IRATEが
7(111)の場合には、補間することなく直接目標値
を出力する旨の指定であるため、歩進量を出力せずにD
IRECT信号を出力する。この信号はゲート97に入
力される。
【0047】また、前記比較器制御データCPCは、図
7の補間レートテーブルで割り出される歩進量のうち1
が立っているビット(桁)を示すデータである。この歩
進量を用いて補間中の係数を歩進させてゆく場合、この
ビットよりも下位のビットは変化しないため、比較器9
0はこれよりも上位のビットついてのみ比較を行えばよ
く、その差が前記1が立っているビットの値になったと
き一致信号EQを出せばよいことになる。
【0048】また、比較器90はA>Bのときのみ不一
致信号“A>B”を出力するが、この信号は符号制御回
路91に入力される。符合制御回路91には上述したよ
うにレートデコーダ102から歩進量が入力されてい
る。符合制御回路91は不一致信号に基づいて歩進量の
正/負を決定して加算器92に出力する。すなわち、不
一致信号が出力された場合には目標値が下にある(A>
B)ため歩進量を負にし、不一致信号が出力されない場
合には目標値が上にある(A<B)ため歩進量を正にし
て加算器92に出力する。なお、A≒Bのときにも不一
致信号が出力されないが、この場合はEQ信号が出力さ
れてセレクタ93が切り換わり歩進量が用いられないた
めその正負は問題とならない。
【0049】加算器92のもう一方の入力端子には、前
記比較器90のA端子と同様にデュアルポートRAM9
6から出力される値(現在の係数値)が入力される。加
算器92は、この係数値に歩進量を加算(減算)して歩
進した新たな係数値を出力する。この補間値はセレクタ
93の入力端子0に入力される。セレクタ93の入力端
子1には係数レジスタが出力した係数データが入力され
ている。セレクタ93のセレクト信号端子にはOR回路
97が接続されており、このOR回路97には係数変更
パルスCC,DIRCT信号および一致信号EQが入力
される。これらのうちいずれかの信号が入力されたとき
セレクタ93は係数レジスタ37から供給される係数デ
ータをデュアルポートRAM96の書込データ端子に入
力し、いずれの信号も入力されないときには加算器92
の加算結果のデータをデュアルポートRAM96に入力
する。係数変更パルスCCが入力されたときは、当該チ
ャンネルにおける新たな補間処理動作のスタートである
ため、それまでの補間データに代えて新たな補間データ
の係数(旧係数)に書き換えるためセレクタ93の入力
端子1から係数データを入力する。DIRECT信号は
最大の補間レートに対応する信号であり、この信号が出
力された場合には、旧係数から新係数へ補間することな
く直接切り換える。このため、この補間処理動作におい
てはDIRECT信号によってつねにセレクタを係数デ
ータ側に切り換えておき、係数レジスタ37から入力さ
れる係数データが新係数に書き換えられた後の次の補間
ステップのタイミングで動作を終了するようにしてい
る。また、一致信号EQが出力されたときには、補間の
目標値である係数データをデュアルポートRAM96に
取り込んで補間処理は終了状態になり、その補間ステッ
プでは、該係数データの値を毎回出力する。
【0050】なお、デュアルポートRAM96の書込パ
ルスは一致パルスIPに基づいて書込パルス発生回路9
9が発生する。また、デュアルポートRAM96には一
致チャンネルICHが書込アドレス,読出アドレスとし
て供給される。補間処理された係数を同一アドレスに記
憶するため、書込アドレスは読出アドレスから2ディレ
イののち供給される。
【0051】前記比較器90から一致信号EQが出力さ
れたとき、補間処理動作が終了する。この補間処理動作
の終了を示す一致信号EQはCPUインタフェース30
のラッチ54に入力される。図3において、ラッチ54
は補間チャンネル毎に16個(16ビット)並列に設け
られている。ラッチ54のデータはセレクタ55に入力
される。セレクタ55にはアドレスデコーダ57が接続
されており、セレクタ55はデコーダ57の信号により
16チャンネルのラッチ55の上位8ビットまたは下位
8ビットのいずれか一方を選択する。選択された8ビッ
トデータはバッファ56に記憶される。バッファ56に
記憶されたデータはI/O制御部51のイネーブル信号
によりCPU10に読み取られ、これによって、CPU
10はどの補間チャンネルの補間処理動作が終了したか
を判断することができる。
【0052】なお、上記補間器39の説明(図6)説明
においてディレイ回路の説明は省略したが、各部の動作
タイミングを一致させるため、楽音信号のサンプリング
クロック単位のディレイ、CNTクロック単位のディレ
イ、システムクロックφ単位のディレイが適宜挿入され
ている。
【0053】以上の構成により、マイクロプログラムの
各ステップに用いられる係数のうち補間データで指定さ
れた係数のみが、リアルタイムで変更(補間)され、D
SP演算部33に出力される。このDSP21の動作を
時系列に説明すると以下のようになる。
【0054】演奏に先立って(電源オン時や音色指定時
DSPの付与する効果の選択時などに)それぞれ付与し
たい効果のマイクロプログラムを設定するとともに25
6ステップのそれぞれの演算に用いる係数データを順次
RAM61に記憶する。この記憶動作は第0ステップ〜
第256ステップの係数をRAM61に入力することに
よって行われる。
【0055】演奏動作の開始に伴って、同時にDSP2
1も動作する。入力レジスタ36から楽音波形データを
取り込んで、DSP演算部33で該楽音波形データに対
し、補間器39から出力される係数を用い、マイクロプ
ログラムメモリ43に設定されたマイクロプログラムで
規定される演奏処理を施して、出力レジスタ44を介し
てDAC23に出力する。
【0056】同時に、256ステップの係数のうち、演
奏中にペダルやホイール等の演奏操作子でリアルタイム
に制御すべく(演奏者によって)指定された係数につい
て、16ある補間チャンネルのうちの1つのチャンネル
を割り当て、補間制御部38内の割り当てたチャンネル
に対応するラッチに、その係数のステップを示す補間ス
テップナンバと、その係数の値を制御する操作子に応じ
た補間レートを設定する(補間データの設定)。なお、
リアルタイムに値を可変制御する係数については、新し
い係数値が供給されたとき、いきなりその値に変化する
とクリックノイズ等のノイズが発生する可能性があるの
で、リアルタイム制御する係数は、全て、補間をされる
ように補間データを設定したほうが望ましい。リアルタ
イム制御する係数の数が多く、補間チャンネルが足りな
くなった場合は、補間チャンネルを用意できなかったチ
ャンネルについてはCPU10に補間を任せたり、リア
ルタイム制御において時間変化の少ない係数の補間チャ
ンネルの処理を切り上げて変化の多い係数にまわす等の
処理をするとよい。
【0057】演奏中にペダルやホイールなどの操作子が
操作されると、CPU10は、操作された操作子によっ
てコントロールされるべく設定されている係数につい
て、該操作子の操作量に応じた新係数を発生し、係数レ
ジスタ37の該係数のステップ位置に発生した新係数を
書き込む。その係数について、いずれかの補間チャンネ
ルによる補間が設定されていた場合、CPU10ははそ
の係数の値が元の値から大きく変化していても、何ら気
にすることなく係数レジスタ37に書き込んでよい。大
きな変化があっても、補間器39の働きにより、滑らか
に変化する係数としてDSP演算部33に供給される。
【0058】なお、リアルタイムに係数を変更制御する
方法については、演奏操作子に応じた制御ではなく、楽
音の発生や終了の時間を起点として、係数の時間変化を
予め設定しておき、その設定にしたがって順次係数値に
変更するようにしてもよい。その場合、公知の「補間器
を用いたエンベロープ発生のCPUによるステート制御
方式」にならって、各ステートの開始時点で、そのステ
ートの変化レートを制御中の係数を補間している補間チ
ャンネルの補間レートラッチ70に供給し、目標値を新
たな係数として係数レジスタ37に供給する。その場合
CPU10は、各ステートの終了を、ラッチ54の対応
する補間チャンネルのEQ信号の読み込みで検出し、順
次ステートを進めながら制御を行う。
【0059】また、係数に対する補間チャンネルの割り
当てについても、演奏操作に先立って各音色や効果枚に
設定しておくほかに、入力のあった演奏操作子に対しリ
アルタイムに割り当てていく方法も考えられる。
【0060】なお、補間動作は16チャンネル並行して
行うことができる。補間ステップと補間チャンネルの対
応は任意である。
【0061】なお、補間器39が補間動作を実行するの
は256ステップのうち最大16ステップのみである。
したがって、補間器39の空き時間に、その加算器や比
較器などの演算回路をDSP演算部33の補助的演算回
路として用いてもよい。これはマイクロコードをそのよ
うに設定することによって実現可能である。なお、この
場合において空き時間か否かは一致パルスIPが出力さ
れているか否かで判断することができる。
【0062】
【発明の効果】このようにこの発明によれば、多くの係
数のうち一部の係数を任意に選択してリアルタイムに補
間変更することができるため、最小限のハード構成で効
果的な係数の変更をすることができる。
【図面の簡単な説明】
【図1】この発明が適用される電子楽器のブロック図
【図2】同電子楽器のDSPのブロック図
【図3】同DSPのCPUインタフェースのブロック図
【図4】同DSPの係数レジスタのブロック図
【図5】同DSPの補間制御レジスタのブロック図
【図6】同DSPの補間器のブロック図
【図7】同DSPで用いられる補間レートと歩進量の関
係を示す図
【符号の説明】
30−CPUインタフェース 33−DSP演算部 37−係数レジスタ 38−補間制御レジスタ 39−補間器 61−(係数を記憶する)RAM 70−補間レートラッチ 71−補間ステップラッチ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数の係数を用いて波形処理演算を実行
    する演算手段と、 前記複数の係数を記憶する係数記憶手段と、 前記複数の係数のなかから一部の係数を指定する係数指
    定手段と、 該係数指定手段で指定された係数の値を変更する係数変
    更手段と、 値が変更された係数を入力し、変更前の値から変更後の
    値へ補間しつつ前記演算手段に供給する補間手段と、 を備えた信号処理装置であって、 前記補間手段は、前記複数の係数の数よりも少ない数の
    チャンネルを有し、 前記指定された係数を該チャンネルにそれぞれ選択的に
    割り当てる割り当て手段と、 を備えた信号処理装置。
JP5291971A 1992-12-25 1993-11-22 信号処理装置 Expired - Fee Related JP2768241B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5291971A JP2768241B2 (ja) 1992-12-25 1993-11-22 信号処理装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP34736792 1992-12-25
JP4-347367 1992-12-25
JP5291971A JP2768241B2 (ja) 1992-12-25 1993-11-22 信号処理装置

Publications (2)

Publication Number Publication Date
JPH06242779A true JPH06242779A (ja) 1994-09-02
JP2768241B2 JP2768241B2 (ja) 1998-06-25

Family

ID=26558784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5291971A Expired - Fee Related JP2768241B2 (ja) 1992-12-25 1993-11-22 信号処理装置

Country Status (1)

Country Link
JP (1) JP2768241B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4404065B2 (ja) * 2006-04-12 2010-01-27 ヤマハ株式会社 デジタル信号処理装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03121494A (ja) * 1989-10-04 1991-05-23 Yamaha Corp 電子楽器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03121494A (ja) * 1989-10-04 1991-05-23 Yamaha Corp 電子楽器

Also Published As

Publication number Publication date
JP2768241B2 (ja) 1998-06-25

Similar Documents

Publication Publication Date Title
US4562763A (en) Waveform information generating system
JP2768241B2 (ja) 信号処理装置
JP2546098B2 (ja) 電子楽器
EP0376342B1 (en) Data processing apparatus for electronic musical instruments
JPH07121181A (ja) 音声情報処理装置
JP2950461B2 (ja) 楽音発生装置
US5687105A (en) Processing device performing plural operations for plural tones in response to readout of one program instruction
US5365467A (en) Signal processor for providing variable acoustic effect
JPH0310959B2 (ja)
JP3252296B2 (ja) 波形データ出力装置
JP2576615B2 (ja) 処理装置
JP3371643B2 (ja) 信号処理装置
JP3116447B2 (ja) デジタル信号処理プロセッサ
US5932826A (en) Effect adder circuit with a coefficient smoothing circuit for an electronic musical instrument
JP3221987B2 (ja) 遅延時間変調効果装置
JPS6352399B2 (ja)
JP2638090B2 (ja) 楽音パラメータ制御装置
JP3225796B2 (ja) 信号処理装置および楽音処理装置
JP2968320B2 (ja) ディストーション装置
JPH02179688A (ja) 楽音信号発生装置
JP2797138B2 (ja) 電子楽器用処理装置
JP2734148B2 (ja) 楽音制御パラメータ供給装置
JP2912110B2 (ja) サイン合成方式およびこれによる楽音波形発生装置ならびに電子楽器
JPH07334151A (ja) 効果付加装置およびそれを用いた楽音発生装置
JPH06195085A (ja) 波形データ出力装置

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 (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090410

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees