JP3013675B2 - Signal processing device - Google Patents
Signal processing deviceInfo
- Publication number
- JP3013675B2 JP3013675B2 JP5285267A JP28526793A JP3013675B2 JP 3013675 B2 JP3013675 B2 JP 3013675B2 JP 5285267 A JP5285267 A JP 5285267A JP 28526793 A JP28526793 A JP 28526793A JP 3013675 B2 JP3013675 B2 JP 3013675B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- data
- branch
- control
- program
- 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 - Fee Related
Links
- 238000013500 data storage Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000003213 activating effect Effects 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 241000761427 Boraras micros Species 0.000 claims 1
- 230000004913 activation Effects 0.000 claims 1
- 230000009849 deactivation Effects 0.000 claims 1
- 230000000694 effects Effects 0.000 description 71
- 238000000034 method Methods 0.000 description 21
- 101100004933 Arabidopsis thaliana CYP79F1 gene Proteins 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000007257 malfunction Effects 0.000 description 4
- 241001342895 Chorus Species 0.000 description 2
- 230000002411 adverse Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- HAORKNGNJCEJBX-UHFFFAOYSA-N cyprodinil Chemical compound N=1C(C)=CC(C2CC2)=NC=1NC1=CC=CC=C1 HAORKNGNJCEJBX-UHFFFAOYSA-N 0.000 description 2
- 239000012636 effector Substances 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 101100325756 Arabidopsis thaliana BAM5 gene Proteins 0.000 description 1
- 206010016173 Fall Diseases 0.000 description 1
- 101150046378 RAM1 gene Proteins 0.000 description 1
- 101100476489 Rattus norvegicus Slc20a2 gene Proteins 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000030279 gene silencing Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【0001】[0001]
【産業上の利用分野】この発明は、電子楽器、マルチメ
ディア機器、ゲーム機器、音声処理装置、映像処理装
置、あるいはコンピュータに内蔵される、信号処理装置
に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an electronic musical instrument, a multimedia device, a game device, an audio processing device, a video processing device, and a signal processing device built in a computer.
【0002】[0002]
【従来の技術】周知のように、DSP(ディジタルシグ
ナルプロセッサ)を用いて、電子楽器に内蔵される音源
の出力信号やアコースティック楽器等を演奏して得られ
るアナログ信号をA/D(アナログ/ディジタル)変換
した信号に各種効果を付与する効果付与装置が開発され
ている。従来、この種の効果付与装置において、演奏中
に付与すべき効果の種類を切り替える場合、まず切り替
えに係る効果回路の出力音を消音し、切り替え動作が終
了してから消音の解除を行っていた。これは、切り替え
時のノイズを防ぐためである。ところが、上記の方法に
よって切り替えを行うと、切り替え時に音が途切れてし
まうため、演奏中における効果の切り替えには不自然さ
が伴っていた。2. Description of the Related Art As is well known, an output signal of a sound source built in an electronic musical instrument or an analog signal obtained by playing an acoustic musical instrument or the like is converted into an analog / digital (A / D) signal using a DSP (digital signal processor). 2.) An effect imparting device for imparting various effects to a converted signal has been developed. Conventionally, in this type of effect imparting device, when switching the type of effect to be imparted during a performance, the output sound of the effect circuit relating to the switching is first silenced, and the silencing is released after the switching operation is completed. . This is to prevent noise at the time of switching. However, when the switching is performed by the above method, the sound is interrupted at the time of the switching, so that the effect switching during the performance involves unnaturalness.
【0003】そこで出願人は、効果を切り替える際に、
ウェット(効果を付与した音)/ドライ(効果を付与し
ない直接音)のバランスをドライ=100%として効果
を付与した音のみを消音し、直接音がスルーとなるよう
に設定することによって、上述した音切れを防ぐ方法を
提案した。[0003] Therefore, the applicant, when switching the effect,
By setting the balance of wet (sound with effect) / dry (direct sound without effect) dry = 100%, only the sound with effect is muted, and the direct sound is set to be through. We proposed a method to prevent the sound interruption.
【0004】[0004]
【発明が解決しようとする課題】しかしながら、出願人
が提案した上記方法によれば、出力信号に同時に付与さ
れる効果が1つのみである場合、ノイズや音切れを伴わ
ずに効果の種類を切り替えることが可能であるが、複数
の効果が同時に付与されているときにそのいずれかの効
果を切り替える場合には、以下のような問題が生じる。However, according to the above-mentioned method proposed by the applicant, when only one effect is simultaneously given to the output signal, the type of the effect can be changed without noise or sound interruption. Although it is possible to switch, if a plurality of effects are given at the same time and one of the effects is switched, the following problem occurs.
【0005】すなわち、効果付与は、DSPにおいて各
々の効果に対応するマイクロプログラムを実行すること
によって行われる。したがって、付与すべき効果を切り
替える場合には、DSPにおいて実行されるマイクロプ
ログラムを書き換える必要がある。このマイクロプログ
ラムの書き換えの最中に該プログラムのステップが実行
されると、命令コードとアドレスとの対応がとれなくな
るため、本来アクセスすべきでないアドレスのデータを
書き換えてしまう場合がある。したがって、複数の効果
が同時に付与される場合には、複数のマイクロプログラ
ムが時分割で実行されているため、当該書き換え中のス
テップの実行によって、他の効果に対応するマイクロプ
ログラムの実行に使用される遅延RAMやレジスタの内
容を書き換えてしまう危険がある。このような誤ったデ
ータの書き換えは、結果として他の効果音にノイズとし
て現れることになる。[0005] That is, the effect is provided by executing a microprogram corresponding to each effect in the DSP. Therefore, when switching the effect to be provided, it is necessary to rewrite the microprogram executed in the DSP. If the steps of the microprogram are executed during the rewriting of the microprogram, the correspondence between the instruction code and the address cannot be maintained, and the data at the address that should not be accessed may be rewritten. Therefore, when a plurality of effects are given at the same time, a plurality of microprograms are executed in a time-sharing manner. There is a risk of rewriting the contents of the delay RAM and the register. Such rewriting of erroneous data results in noise appearing in other sound effects.
【0006】こうした不都合を回避するためには、次の
ような条件を満たす必要がある。すなわち、 (1)マイクロプログラムのあるステップを書き換える
際、該ステップのデータを一度に書き換えなければなら
ない。 (2)上記ステップに対応する係数レジスタおよびアド
レスレジスタのデータを同時に書き換えなければならな
い。In order to avoid such inconvenience, it is necessary to satisfy the following conditions. That is, (1) When rewriting a certain step of the microprogram, the data of the step must be rewritten at a time. (2) The data in the coefficient register and the address register corresponding to the above steps must be rewritten simultaneously.
【0007】ところが、マイクロプログラム、係数レジ
スタおよびアドレスレジスタの対応するステップを同時
に書き換えることは、以下の理由から不可能である。つ
まり、一般に、CPU(中央処理装置)は8ビットある
いは16ビットのデータ線を有しているが、通常マイク
ロプログラムのビット長はこのデータ線の数より大き
く、また、係数レジスタおよびアドレスレジスタはマイ
クロプログラムを格納するレジスタ(マイクロプログラ
ムレジスタ)と独立して設けられているからである。However, it is impossible to simultaneously rewrite the corresponding steps of the microprogram, the coefficient register and the address register for the following reasons. That is, generally, a CPU (central processing unit) has an 8-bit or 16-bit data line, but the bit length of a microprogram is usually larger than the number of data lines, and the coefficient register and the address register are micro-processors. This is because it is provided independently of a register for storing a program (micro program register).
【0008】そこで、上述した条件(1),(2)を満
足するためには、CPUのデータバスと、マイクロプロ
グラムレジスタ、係数レジスタおよびアドレスレジスタ
との間に転送バッファを設け、この転送バッファに順次
データを書き込み、全てのデータを書き終えたところで
一括して書き換えを行うという方法が考えられる。とこ
ろが、この方法を採用すると、装置構成が複雑になると
いう問題が生じる。In order to satisfy the above conditions (1) and (2), a transfer buffer is provided between the data bus of the CPU and the microprogram register, coefficient register and address register. A method is conceivable in which data is sequentially written and rewriting is performed collectively when all data has been written. However, when this method is adopted, there is a problem that the device configuration becomes complicated.
【0009】この発明は、このような背景の下になされ
たもので、処理中に実行プログラムを変更しても誤った
データ記憶領域に書き込みを行う等の誤動作を生じるこ
とがない信号処理装置を提供することを目的としてい
る。The present invention has been made in view of such a background, and a signal processing apparatus which does not cause a malfunction such as writing to an erroneous data storage area even when an execution program is changed during processing. It is intended to provide.
【0010】[0010]
【課題を解決するための手段】上述した課題を解決する
ために、本発明は各種命令ステップからなる複数のプロ
グラムを時分割で繰り返し実行する信号処理装置におい
て、実行中の複数のプログラムのうち少なくとも1つの
プログラムを、変更後に実行すべきプログラムに書き換
えるプログラム書換手段と、前記プログラム書換手段に
よる書き換え動作の間、前記少なくとも1つのプログラ
ムに含まれるデータ書き込み命令の無効化を指示する指
示データを発生する無効化指示手段と、 前記無効化指示
手段の指示データに応じて、前記少なくとも1つのプロ
グラムに含まれるデータ書き込み命令を無効にする無効
化手段とを具備し、前記少なくとも1つのプログラムに
は予め無効化制御命令が含まれており、前記無効化手段
は、前記無効化指示手段の指示に応じて、前記少なくと
も1つのプログラムに含まれる前記無効化制御命令を有
効化することにより、前記少なくとも1つのプログラム
に含まれるデータ書き込み命令を無効化することを特徴
とする。また本発明は、前記複数のプログラムには、そ
れぞれ、無効化制御命令が含まれており、 前記無効化指
示手段は、前記複数のプログラムのうち、書き換えを行
なおうとしているプログラムに埋め込まれた無効化制御
命令を示す指示データを発生し、前記無効化手段は、前
記指示データにより示された無効化制御命令を有効化す
ることを特徴とする。また本発明は、分岐命令を含む所
定数個の一連のマイクロ命令を記憶するとともに、各マ
イクロ命令を循環的に出力するマイクロ命令記憶手段
と、 マイクロ命令記憶手段が出力するマイクロ命令をデ
コードし、制御信号を出力するデコード手段と、 演算命
令に対応した前記制御信号に従って演算処理を行なう演
算手段と、 前記演算手段による演算結果を含む各種デー
タの記憶に使用されるデータ記憶手段と、 有効または無
効を指示する分岐制御データを発生する分岐指示手段
と、前記デコード手段が第1分岐命令をデコードし、か
つ前記分岐制御データが有効を指示する場合、その時点
から前記第1分岐命令に対応した分岐先アドレスまでの
期間のみ、前記データ記憶手段に対するデータ書き込み
を指令する前記制御信号を無効にする第1分岐制御手段
とを具備することを特徴とする。 また本発明は、さら
に、前記デコード手段が第2分岐命令をデコードし、か
つ前記分岐制御データが無効を指示する場合、その時点
から前記第2分岐命令に対応した分岐先アドレスまでの
期間のみ、前記データ記憶手段に対するデータ書き込み
を指令する前記制御信号を無効にする第2分岐制御手段
を具備することを特徴とする。 また本発明は、複数の分
岐命令を含む所定数個の一連のマイクロ命令を記憶する
とともに、各マイクロ命令を循環的に出力するマイクロ
命令記憶手段と、 マイクロ命令記憶手段が出力するマイ
クロ命令をデコードし、制御信号を出力するデコード手
段と、 演算命令に対応した前記制御信号に従って演算処
理を行なう演算手段と、 前記演算手段による演算結果を
含む各種データの記憶に使用されるデータ記憶手段と、
それぞれ、有効または無効を指示する複数の分岐制御デ
ータを発生する分岐指示手段と、 前記デコード手段が複
数の分岐命令の中のいずれかの分岐命令をデコードし、
かつ前記複数の分岐制御命令のうちの前記デコードされ
た分岐命令に対応した前記分岐制御データが有効を指示
する場合、その時点から前記デコードされた分岐命令に
対応した分岐先アドレスまでの期間のみ、前記データ記
憶手段に対するデータ書き込みを指令する前記制御信号
を無効にする分岐制御手段とを具備することを特徴とす
る。 To solve the problems described above SUMMARY OF THE INVENTION The present invention provides a signal processing apparatus for performing repeatedly in a time division multiple programs including various instruction steps, at least one of the plurality of programs being executed Program rewriting means for rewriting one program into a program to be executed after the change, and at least one program during a rewriting operation by the program rewriting means.
Finger that instructs to invalidate the data write instruction contained in the
Instructing means for generating indication data, and the instructing instruction
Depending on the instruction data unit, the invalid to invalidate the data write command is included in at least one pro <br/> grams
; And a means, to the at least one program
Contains an invalidation control instruction in advance, and the invalidation means
Responding to the instruction of the invalidation instruction means,
Also has the invalidation control instruction included in one program.
Enabling the at least one program
Is invalidated . Further, the present invention provides the plurality of programs,
Each includes an invalidation control instruction, and the invalidation
Indicating means for rewriting among the plurality of programs.
Invalidation control embedded in the program being attempted
Generating instruction data indicating an instruction;
Enables the invalidation control instruction indicated by the instruction data
It is characterized by that. The present invention also relates to a method including a branch instruction.
It stores a fixed number of micro-instructions and
Microinstruction storage means for outputting micro instructions cyclically
The microinstruction output by the microinstruction storage means.
And decoding means for encoding, and outputs a control signal, operation life
Performing arithmetic processing in accordance with the control signal corresponding to the instruction.
Calculating means, and various data including a calculation result by the calculating means.
A data storage means used to store data, the effective or no
Branch instructing means for generating branch control data for instructing a branch
The decoding means decodes the first branch instruction;
If the branch control data indicates valid, then
To the branch destination address corresponding to the first branch instruction
Write data to the data storage means only during the period
First branch control means for invalidating the control signal for instructing
And characterized in that: The present invention further provides
The decoding means decodes the second branch instruction;
If the branch control data indicates invalid, then
To the branch destination address corresponding to the second branch instruction
Write data to the data storage means only during the period
Branch control means for invalidating the control signal for instructing
It is characterized by having. The present invention also provides a
Stores a series of a predetermined number of microinstructions, including branch instructions
Also, micro that outputs each micro instruction cyclically
Instruction storage means and a micro instruction storage means
Decode instructions that decode clock instructions and output control signals
And an operation processing section according to the control signal corresponding to the operation instruction.
Calculating means for performing the calculation, and calculating the calculation result by the calculating means.
Data storage means used for storing various data including
Multiple branch control data, each indicating valid or invalid
The branch instructing means for generating data and the decoding means
Decode one of the number of branch instructions,
And the decoded one of the plurality of branch control instructions is
Indicates that the branch control data corresponding to the branch instruction
From that point, the decoded branch instruction
Only during the period up to the corresponding branch destination address,
The control signal instructing data writing to the storage means
Branch control means for invalidating
You.
【0011】この発明によれば、プログラム書換手段
が、実行中の複数のプログラムのうち少なくとも1つの
プログラムを、変更後に実行すべきプログラムに書き換
える間、無効化指示手段は、前記少なくとも1つのプロ
グラムに含まれるデータ書き込み命令の無効化を指示す
る指示データを発生する。無効化手段は、無効化指示手
段の指示データに応じて、前記少なくとも1つのプログ
ラムに含まれるデータ書き込み命令を無効にする。すな
わち、前記少なくとも1つのプログラムには予め無効化
制御命令が含まれており、前記無効化手段は、前記無効
化指示手段の指示に応じて、前記少なくとも1つのプロ
グラムに含まれる前記無効化制御命令を有効化すること
により、前記少なくとも1つのプログラムに含まれるデ
ータ書き込み命令を無効化する。 According to the present invention, while the program rewriting means rewrites at least one program among the plurality of programs being executed to a program to be executed after the change, the invalidation instruction means keeps the at least One professional
Command to invalidate the data write instruction included in the program
Instruction data. The invalidation means is an invalidation instruction hand.
The at least one program according to the instruction data of the column.
Invalidate the data write instruction included in the RAM. sand
That is, the at least one program is invalidated in advance.
A control command, wherein the invalidating means includes
The at least one program according to the instruction of the
Activating the invalidation control instruction included in the program
The data included in the at least one program.
Invalidates the data write instruction.
【0012】[0012]
【実施例】以下、図面を参照して、この発明の実施例に
ついて説明する。 A:全体構成 図1はこの発明の一実施例の全体構成を示すブロック図
である。この図において、1はパネルスイッチである。
このパネルスイッチ1は、リバーブ、コーラス、ディス
トーション等の各種効果(以下、エフェクトという)を
指定するスイッチやその他の操作子から構成されてい
る。2はパネルインタフェースであり、パネルスイッチ
1の操作を検出し、この操作に応じた操作信号をバスB
US1へ送出する。Embodiments of the present invention will be described below with reference to the drawings. A: Overall Configuration FIG. 1 is a block diagram showing the overall configuration of an embodiment of the present invention. In this figure, 1 is a panel switch.
The panel switch 1 includes switches for designating various effects (hereinafter, referred to as effects) such as reverb, chorus, and distortion, and other operators. Reference numeral 2 denotes a panel interface which detects an operation of the panel switch 1 and transmits an operation signal corresponding to the operation to the bus B.
Send to US1.
【0013】また、3は操作者によって押離鍵操作され
る鍵盤である。鍵盤インタフェース4は、この鍵盤3の
各鍵に対する押離鍵操作を検出し、この操作に応じた操
作信号をバスBUS1へ送出する。Reference numeral 3 denotes a keyboard which is depressed and released by an operator. The keyboard interface 4 detects a key press / release operation on each key of the keyboard 3 and sends an operation signal corresponding to the operation to the bus BUS1.
【0014】次に、5は、バスBUS1を介し接続され
る装置各部を制御するCPU(中央処理装置)である。
なお、このCPU5の動作については後述する。6はR
OM(Read Only Memory)であり、CPU5が実行する
各種制御プログラムや後述するDSP(ディジタル・シ
グナル・プロセッサ)9が楽音に各種エフェクトを付与
する際に実行するマイクロプログラムが記憶される。7
はCPU5のワークエリアとして使用されるRAM(Ra
ndom Access Memory)であり、各種レジスタ値や演算結
果が一時記憶される。Reference numeral 5 denotes a CPU (Central Processing Unit) for controlling each unit of the device connected via the bus BUS1.
The operation of the CPU 5 will be described later. 6 is R
An OM (Read Only Memory), which stores various control programs executed by the CPU 5 and microprograms executed when a DSP (digital signal processor) 9 described later applies various effects to musical sounds. 7
Is a RAM (Ra) used as a work area of the CPU 5.
ndom Access Memory) in which various register values and calculation results are temporarily stored.
【0015】次に、8は音源である。この音源8は、C
PU5からバスBUS1を介し供給される楽音制御パラ
メータに応じた楽音信号を発生し、これを出力する。D
SP9は、ROM6からバスBUS1を介して転送され
るマイクロプログラムを実行することによって音源8か
ら供給される楽音信号に信号処理を施し、各種エフェク
トの付与を行う。なお、このDSP9の構成の詳細につ
いては後述する。Next, reference numeral 8 denotes a sound source. This sound source 8 is C
A tone signal corresponding to a tone control parameter supplied from the PU5 via the bus BUS1 is generated and output. D
The SP 9 executes a microprogram transferred from the ROM 6 via the bus BUS1 to perform signal processing on the tone signal supplied from the sound source 8 and to provide various effects. The details of the configuration of the DSP 9 will be described later.
【0016】また、10L,10Rは、左右2チャネル
に対応して設けられたD/A(ディジタル/アナログ)
変換器である。D/A変換器10Lは、DSP9の左チ
ャネルから供給される信号処理後のディジタル楽音信号
をアナログ信号に変換し、これを出力する。一方、D/
A変換器10Rは、DSP9の右チャネルから供給され
る信号処理後のディジタル楽音信号をアナログ信号に変
換し、これを出力する。さらに、LSP,RSPは左右
2チャネルに対応して設けられたサウンドシステムであ
り、それぞれD/A変換器10L,10Rから供給され
るアナログの楽音信号に応じた発音を行う。Also, 10L and 10R are D / A (digital / analog) provided corresponding to left and right two channels.
It is a converter. The D / A converter 10L converts the signal-processed digital tone signal supplied from the left channel of the DSP 9 into an analog signal, and outputs the analog signal. On the other hand, D /
The A converter 10R converts the digital tone signal after signal processing supplied from the right channel of the DSP 9 into an analog signal and outputs this. Further, LSP and RSP are sound systems provided corresponding to the two channels on the left and right, respectively, and generate sounds in accordance with analog tone signals supplied from the D / A converters 10L and 10R, respectively.
【0017】B:DSP9の構成 次に、DSP9の構成の詳細について説明する。図2
は、DSP9の構成を示すブロック図である。この図に
おいて、DSP9は、音源8から供給される楽音信号に
各種信号処理を施すエフェクト付与部91と、エフェク
ト切り替えの制御を行う書き込み命令制御部92とから
構成されている。以下、これらの各部91,92につい
て詳細に説明する。B: Configuration of DSP 9 Next, the configuration of the DSP 9 will be described in detail. FIG.
FIG. 3 is a block diagram showing a configuration of the DSP 9. In this figure, the DSP 9 is composed of an effect imparting section 91 for performing various signal processing on a tone signal supplied from the sound source 8 and a write command control section 92 for controlling effect switching. Hereinafter, these units 91 and 92 will be described in detail.
【0018】(1)エフェクト付与部91の構成 エフェクト付与部91は、インプットレジスタ11、デ
ータレジスタ12、演算回路13、補間回路14、係数
レジスタ15、LFO(低周波発振器)16、ラッチ回
路17、DSP9の外部に設けられる遅延RAM18、
アドレスレジスタ19、アドレス制御回路20およびD
SPデータバスBUS2から構成されている。(1) Configuration of Effect Giving Unit 91 The effect giving unit 91 includes an input register 11, a data register 12, an arithmetic circuit 13, an interpolation circuit 14, a coefficient register 15, an LFO (low frequency oscillator) 16, a latch circuit 17, A delay RAM 18 provided outside the DSP 9;
Address register 19, address control circuit 20 and D
It is composed of an SP data bus BUS2.
【0019】インプットレジスタ11は、マイクロプロ
グラムに基づく書き込み命令WRに応じて、音源8から
供給される楽音信号を取り込み、これを記憶する。デー
タレジスタ12は、演算回路13からバスBUS2を介
し供給される演算結果や遅延RAM18からバスBUS
2を介し供給されるデータを一時記憶する。また、この
データレジスタ12は、マイクロプログラムに基づく書
き込み命令WR等の各種命令に応じて、データの書き込
み、読み出し、あるいはアドレス指定がなされる。The input register 11 receives a tone signal supplied from the sound source 8 in response to a write command WR based on a microprogram, and stores the signal. The data register 12 stores the arithmetic result supplied from the arithmetic circuit 13 via the bus BUS2 and the bus BUS from the delay RAM 18.
2 is temporarily stored. The data register 12 is used to write, read, or specify an address according to various instructions such as a write instruction WR based on a microprogram.
【0020】次に、演算回路13は、乗算器と加算器と
から構成されている。この演算回路13は、インプット
レジスタ11から供給される楽音信号、データレジスタ
12から供給されるデータ、係数レジスタ15から補間
回路14を介し供給される係数、およびLFO16から
供給される変調波形データが入力され、マイクロプログ
ラムに基づいて信号処理を施し、該処理結果をバスBU
S2へ送出する。Next, the arithmetic circuit 13 is composed of a multiplier and an adder. The arithmetic circuit 13 receives the tone signal supplied from the input register 11, the data supplied from the data register 12, the coefficient supplied from the coefficient register 15 via the interpolation circuit 14, and the modulated waveform data supplied from the LFO 16. And performs signal processing based on the microprogram, and transfers the processing result to the bus BU.
Send to S2.
【0021】また、補間回路14は、係数レジスタ15
から出力される係数について、CPU5(図1参照)か
らバスBUS1を介し供給される補間レートに従って補
間処理を施し、その補間値を演算回路13へ出力する。
なお、係数レジスタ15に記憶される係数は、CPU5
からバスBUS1を介して供給される書き換え指令によ
って書き換え可能になっている。これにより、フィルタ
演算などで用いる係数を変化させ、音色を制御すること
が可能となる。The interpolation circuit 14 has a coefficient register 15
Is subjected to interpolation processing in accordance with the interpolation rate supplied from the CPU 5 (see FIG. 1) via the bus BUS1, and the interpolation value is output to the arithmetic circuit 13.
Note that the coefficient stored in the coefficient register 15 is
Can be rewritten by a rewrite command supplied from the device via the bus BUS1. As a result, it is possible to control the timbre by changing the coefficients used in the filter operation or the like.
【0022】さらに、LFO16は、振幅変調や遅延時
間変調などを行うために、三角波、鋸波、サイン波等の
変調波形を発生させ、これを演算回路13およびアドレ
ス制御回路20へ出力する。Further, the LFO 16 generates a modulation waveform such as a triangular wave, a sawtooth wave, and a sine wave to perform amplitude modulation, delay time modulation, and the like, and outputs this to the arithmetic circuit 13 and the address control circuit 20.
【0023】次に、ラッチ回路17は、演算回路13に
よって信号処理を施された左右2チャネルの楽音信号を
バスBUS2を介して取り込み、これをラッチする。こ
のラッチ回路17の出力は、D/A変換器10L,10
R(図1参照)へ供給されてアナログ信号に変換された
後、サウンドシステムLSP,RSP(図1参照)から
発音される。Next, the latch circuit 17 fetches, via the bus BUS2, the musical tone signals of the left and right two channels subjected to the signal processing by the arithmetic circuit 13, and latches them. The output of the latch circuit 17 is supplied to the D / A converters 10L and 10L.
After being supplied to R (see FIG. 1) and converted into an analog signal, sound is generated from the sound systems LSP and RSP (see FIG. 1).
【0024】また、遅延RAM18は、遅延信号を生成
するために用いられるメモリである。この遅延RAM1
8に対する書き込みおよび読み出し信号は、マイクロプ
ログラムに基づいてアドレス制御回路20から供給され
る。なお、遅延RAM18は大容量であるため、通常は
DSP9の外部に設けられる。The delay RAM 18 is a memory used to generate a delay signal. This delay RAM1
8 are supplied from the address control circuit 20 based on a microprogram. Since the delay RAM 18 has a large capacity, it is usually provided outside the DSP 9.
【0025】さらに、アドレスレジスタ19は、遅延R
AM18の先頭アドレスを「0」と見なした相対アドレ
スが記憶されており、この相対アドレスをマイクロプロ
グラムの実行に応じたアクセスタイミングで出力する。
また、アドレス制御回路20は、アドレスレジスタ19
から供給される相対アドレスと、遅延RAM18の先頭
アドレスに相当するアドレスオフセットとを加算し、こ
れを絶対アドレスとして遅延RAM18へ出力する。Further, the address register 19 has a delay R
A relative address is stored assuming that the head address of the AM 18 is "0", and this relative address is output at an access timing according to the execution of the microprogram.
In addition, the address control circuit 20 includes an address register 19
And the address offset corresponding to the head address of the delay RAM 18 are added, and the sum is output to the delay RAM 18 as an absolute address.
【0026】(2)書き込み命令制御部92の構成 次に、書き込み命令制御部92は、マイクロプログラム
レジスタ21、プログラムデコーダ22、フラグレジス
タ23、ジャンプステップレジスタ24、比較器25、
プログラムカウンタ26、ANDゲート27、31、3
4、36、ORゲート28、29、遅延回路30および
インバータ32、33、35から構成されている。な
お、CPU5およびフラグレジスタ23は、本発明の無
効化指示手段に、ジャンプステップレジスタ24、比較
器25、プログラムカウンタ26、ANDゲート27、
31、34、36、ORゲート28、29、遅延回路3
0およびインバータ32、33、35は本発明の無効化
手段に相当する。 (2) Configuration of Write Command Control Unit 92 Next, the write command control unit 92 includes a microprogram register 21, a program decoder 22, a flag register 23, a jump step register 24, a comparator 25,
Program counter 26, AND gates 27, 31, 3
4, 36, OR gates 28 and 29, a delay circuit 30, and inverters 32, 33 and 35. What
Note that the CPU 5 and the flag register 23 are the same as those of the present invention.
Jump step register 24, comparison
Unit 25, program counter 26, AND gate 27,
31, 34, 36, OR gates 28, 29, delay circuit 3
0 and inverters 32, 33, 35 disable the present invention.
It corresponds to a means.
【0027】マイクロプログラムレジスタ21には、R
OM6(図1参照)からバスBUS1を介して供給され
る複数のエフェクトに対応したマイクロプログラムが格
納される。プログラムデコーダ22は、このレジスタ2
1から出力される各種命令をデコードし、この解読結果
を出力する。The microprogram register 21 has R
A microprogram corresponding to a plurality of effects supplied from the OM 6 (see FIG. 1) via the bus BUS1 is stored. The program decoder 22 uses this register 2
Various instructions output from 1 are decoded, and the decoding result is output.
【0028】また、フラグレジスタ23には、各エフェ
クトに対応するジャンプフラグf0〜fnが記憶され
る。ここで、ジャンプフラグf0〜fnとは、各エフェ
クトに対応するマイクロプログラムに含まれるジャンプ
命令を有効とするか、あるいは無効とするかを決定する
ための条件を示すフラグである。これらのジャンプフラ
グf0〜fnは、バスBUS1を介してCPU5から書
き込まれる。また、ジャンプ命令とは、該命令で指定す
るマイクロプログラムのステップ(以下、ジャンプステ
ップという)に処理が進むまでの間、該プログラムに含
まれる全ての書き込み命令を無効とする命令である。こ
のジャンプ命令には、対応するジャンプフラグの値が
「1」のとき有効、該値が「0」のとき無効となるジャ
ンプ命令jftと、ジャンプフラグの値が「0」のとき
有効、該値が「1」のとき無効となるジャンプ命令jf
fの2種類がある。The flag register 23 stores jump flags f0 to fn corresponding to each effect. Here, the jump flags f0 to fn are flags indicating conditions for determining whether a jump instruction included in a microprogram corresponding to each effect is valid or invalid. These jump flags f0 to fn are written from the CPU 5 via the bus BUS1. The jump command is a command that invalidates all write commands included in the program until the process proceeds to a step (hereinafter, referred to as a jump step) of a microprogram designated by the command. The jump instruction includes a jump instruction jft which is valid when the value of the corresponding jump flag is "1" and invalid when the value is "0", and a valid value when the value of the jump flag is "0". Jump instruction jf which becomes invalid when is "1"
There are two types of f.
【0029】例えば、図5に示すように、マイクロムロ
グラムのステップ50において、ジャンプ命令jftが
実行されると、まず該命令で示されるジャンプフラグf
0の値が「1」であるか否かを判断する。ここで、フラ
グf0の値が「1」であれば、次のステップ(この場
合、ステップ51)から該命令で示されるジャンプステ
ップ70までの範囲(図示R)に含まれるフラグf0に
対応するマイクロムログラムの書き込み命令が全て無効
とされる。一方、ジャンプ命令jffの場合には、該命
令で示されるジャンプフラグの値が「0」のときに該命
令で指定されるジャンプステップまでの書き込み命令が
全て無効とされることになる。For example, as shown in FIG. 5, in step 50 of the microgram, when a jump instruction jft is executed, first, a jump flag f indicated by the instruction is executed.
It is determined whether the value of 0 is “1”. Here, if the value of the flag f0 is “1”, the micros corresponding to the flag f0 included in the range (R in the drawing) from the next step (in this case, step 51) to the jump step 70 indicated by the instruction. All write instructions of the gramogram are invalidated. On the other hand, in the case of the jump instruction jff, when the value of the jump flag indicated by the instruction is “0”, all the write instructions up to the jump step specified by the instruction are invalidated.
【0030】すなわち、プログラムデコーダ22がジャ
ンプ命令jft(jft=1)をデコードすると、該命
令jftで指定するジャンプステップのデータがジャン
プステップレジスタ24へ供給され、該データが記憶さ
れる。またこのとき、値「1」がANDゲート27の第
1入力端へ供給されると共に、該ジャンプ命令jftを
含むマイクロプログラムの同じステップ記憶されている
ジャンプフラグを指定するフラグセレクト信号がフラグ
レジスタ23へ供給される。That is, when the program decoder 22 decodes the jump instruction jft (jft = 1), the data of the jump step specified by the instruction jft is supplied to the jump step register 24, and the data is stored. At this time, the value "1" is supplied to the first input terminal of the AND gate 27, and the flag select signal specifying the jump flag stored in the same step of the microprogram including the jump instruction jft is sent to the flag register 23. Supplied to
【0031】ここで例えば、ジャンプフラグf0が該セ
レクト信号によって指定され、そのフラグ値が「1」と
なっているとすると、ANDゲート27の第2入力端へ
値「1」が供給され、これにより、ANDゲート27の
出力が値「1」となる。これにより、ORゲート28の
出力が値「1」となって、さらにORゲート29の出力
が値「1」となる。そして、ORゲート29の出力値
「1」は、遅延回路30を経てANDゲート31の第2
入力端へ供給される。Here, for example, if the jump flag f0 is specified by the select signal and the flag value is "1", the value "1" is supplied to the second input terminal of the AND gate 27, and As a result, the output of the AND gate 27 becomes the value “1”. As a result, the output of the OR gate 28 has the value “1”, and the output of the OR gate 29 has the value “1”. Then, the output value “1” of the OR gate 29 passes through the delay circuit 30 to the second value of the AND gate 31.
It is supplied to the input end.
【0032】一方、ORゲート28の出力が値「1」に
なると、上記ジャンプステップレジスタ24に記憶され
たジャンプステップのデータが比較器25へ供給され
る。比較器25は、ジャンプステップレジスタ24から
供給されるジャンプステップのデータと、クロック信号
φに基づいてマイクロプログラムのステップの進行をカ
ウントするプログラムカウンタ26のカウント値とを比
較し、両者が一致しない場合は値「0」を、両者が一致
した場合は値「1」を出力する。On the other hand, when the output of the OR gate 28 becomes "1", the data of the jump step stored in the jump step register 24 is supplied to the comparator 25. The comparator 25 compares the jump step data supplied from the jump step register 24 with the count value of the program counter 26 that counts the progress of the steps of the microprogram based on the clock signal φ. Outputs a value "0", and outputs a value "1" when they match.
【0033】すなわち、ジャンプ命令jftのステップ
が実行されてから実行ステップがジャンプステップに進
むまでの間、比較器25の出力は値「0」となるので、
これがインバータ32によって反転され、ANDゲート
31の第1入力端へ値「1」が供給される。この結果、
ANDゲート31の出力が値「1」となり、これがイン
バータ33によって反転され、ANDゲート34の第1
入力端へ値「0」が供給される。これにより、実行ステ
ップがジャンプステップに進むまでの間、プログラムデ
コーダ22から上記エフェクト付与部91へ出力される
書き込み命令WRが無効とされる。That is, the output of the comparator 25 has the value "0" from the time when the step of the jump instruction jft is executed to the time when the execution step proceeds to the jump step.
This is inverted by the inverter 32, and the value “1” is supplied to the first input terminal of the AND gate 31. As a result,
The output of the AND gate 31 takes the value “1”, which is inverted by the inverter 33 and the first
The value "0" is supplied to the input. As a result, the write command WR output from the program decoder 22 to the effect applying unit 91 is invalidated until the execution step proceeds to the jump step.
【0034】そして、実行ステップがジャンプステップ
に進むと、比較器25の出力が値「1」となるので、A
NDゲート31の第1入力端へ値「0」が供給され、こ
れによりANDゲート31の出力が値「0」となって、
ANDゲート34の第1入力端へ値「1」が供給され
る。この結果、書き込み命令WRの無効が解除され、以
後、書き込み命令WRが有効となる。When the execution step proceeds to the jump step, the output of the comparator 25 takes the value "1".
The value "0" is supplied to the first input terminal of the ND gate 31, whereby the output of the AND gate 31 becomes the value "0",
A value “1” is supplied to a first input terminal of the AND gate 34. As a result, the invalidity of the write command WR is released, and thereafter, the write command WR becomes valid.
【0035】一方、プログラムデコーダ22がジャンプ
命令jffをデコードした場合には、ジャンプフラグの
値がインバータ35を介してANDゲート36へ供給さ
れることにより、ジャンプ条件となるフラグ値が上記ジ
ャンプ命令jftの場合と逆になる。すなわち、ジャン
プ命令jftとジャンプ命令jffとは、マイクロプロ
グラムの内容によって使い分けることができるので、プ
ログラムの自由度が向上する。On the other hand, when the program decoder 22 decodes the jump instruction jff, the value of the jump flag is supplied to the AND gate 36 via the inverter 35, so that the flag value serving as the jump condition is changed to the jump instruction jft. Is the reverse of the case. That is, since the jump instruction jft and the jump instruction jff can be selectively used depending on the contents of the microprogram, the degree of freedom of the program is improved.
【0036】C:全体動作 さて次に、再び図1を参照し、この実施例の全体動作に
ついて説明する。まず、装置に電源が投入されると、C
PU5はROM6から制御プログラムをロードし、これ
を実行する。これにより、CPU5は、各種初期化処理
を行った後、鍵盤3の各鍵やパネルスイッチ1の各種操
作子を走査し、これらの操作イベントや操作状態等を検
出する。そして、CPU5は、この検出結果に応じて楽
音制御パラメータを音源9へ出力すると共に、マイクロ
プログラム等の各種制御データをDSP9へ出力する。C: Overall Operation Next, referring to FIG. 1 again, the overall operation of this embodiment will be described. First, when the device is powered on, C
The PU 5 loads a control program from the ROM 6 and executes it. Thus, after performing various initialization processes, the CPU 5 scans each key of the keyboard 3 and various operators of the panel switch 1, and detects these operation events and operation states. Then, the CPU 5 outputs the tone control parameters to the sound source 9 according to the detection result, and outputs various control data such as a microprogram to the DSP 9.
【0037】これにより、音源9では、CPU5から供
給される楽音制御パラメータに応じた楽音信号が発生さ
れ、DSP9では、CPU5から供給される各種制御デ
ータに基づき、音源9から出力される楽音信号にリバー
ブ、コーラス、ディストーション等の各種エフェクトを
付与する。そして、DSP9によってエフェクトを付与
された左右2チャンネルの楽音信号は、D/A変換器1
0L,10Rを経た後、サウンドシステムLSP,RS
Pより発音される。以上述べた動作(初期化処理を除
く)が、電源が投入されている間、繰り返される。Thus, the tone generator 9 generates a tone signal corresponding to the tone control parameter supplied from the CPU 5, and the DSP 9 converts the tone signal output from the tone generator 9 based on various control data supplied from the CPU 5. Adds various effects such as reverb, chorus, and distortion. The left and right two-channel tone signals to which the effect is added by the DSP 9 are converted to the D / A converter 1.
After passing through 0L and 10R, the sound system LSP, RS
It is pronounced from P. The above-described operation (excluding the initialization process) is repeated while the power is on.
【0038】D:エフェクト変更時の動作 次に、図3を参照し、この実施例によるエフェクト変更
時の動作について説明する。まず、パネルスイッチ1に
エフェクト変更のイベントが発生すると、CPU5は、
図3に示すエフェクト変更処理ルーチンを起動し、この
ルーチンの各ステップS1〜S15を実行する。以下、
CPU5が行う各ステップS1〜S15の処理を下記
(1)〜(5)に分けて説明を行うこととする。D: Operation at Effect Change Next, the operation at the time of effect change according to this embodiment will be described with reference to FIG. First, when an effect change event occurs on the panel switch 1, the CPU 5
The effect change processing routine shown in FIG. 3 is started, and steps S1 to S15 of this routine are executed. Less than,
The processing of steps S1 to S15 performed by the CPU 5 will be described separately in the following (1) to (5).
【0039】(1)変更前のエフェクトの立ち下げ処理 CPU5の処理がステップS1に進むと、変更されるエ
フェクトのウェット/ドライのバランスを決定する係数
を、ウェット=0、ドライ=1となるように設定する。
このとき、補間回路14では、所定の補間レートに従っ
て、それまでに設定されていた係数値と新たに設定され
た係数値(この場合、ウェット=0、ドライ=1)との
補間が行われ、ウェット/ドライのバランスが徐々に変
化する。これにより、変更されるエフェクトがフェード
アウトされる。(1) Falling-down processing of the effect before the change When the processing of the CPU 5 proceeds to step S1, the coefficients for determining the wet / dry balance of the effect to be changed become wet = 0 and dry = 1. Set to.
At this time, the interpolation circuit 14 performs interpolation between the coefficient value set up to then and the newly set coefficient value (in this case, wet = 0, dry = 1) according to a predetermined interpolation rate, Wet / dry balance gradually changes. Thereby, the effect to be changed is faded out.
【0040】そして、ステップS2に進むと、変更され
るエフェクトが完全にフェードアウトしてウェット/ド
ライのバランスがウェット=0、ドライ=1となるまで
タイムウェイトする。When the process proceeds to step S2, the effect to be changed is completely faded out, and a time wait is performed until the wet / dry balance becomes wet = 0 and dry = 1.
【0041】次に、ステップS3に進むと、変更される
エフェクトに対応するフラグレジスタ23の値f0を
「0」から「1」に反転させる。これにより、変更され
るエフェクトに対応するマイクロプログラムに基づく書
き込み命令WRが無効とされる。Next, in step S3, the value f0 of the flag register 23 corresponding to the effect to be changed is inverted from "0" to "1". Thereby, the write command WR based on the microprogram corresponding to the effect to be changed is invalidated.
【0042】(2)プログラム変更処理 次に、ステップS4に進むと、変更後に付与されるエフ
ェクトに対応するマイクロプログラムをROM6からロ
ードし、これを変更されるエフェクトに対応するマイク
ロプログラムが記憶されているマイクロプログラムレジ
スタ21の領域に上書きする。また、このとき、マイク
ロプログラムの実行時に使用されるアドレスレジスタ1
9および係数レジスタ15の記憶内容も、変更後に付与
されるエフェクトに対応する内容に書き換えられる。(2) Program Change Processing Next, when the process proceeds to step S4, a microprogram corresponding to the effect given after the change is loaded from the ROM 6, and the microprogram corresponding to the effect to be changed is stored. Overwrites the area of the existing microprogram register 21. At this time, the address register 1 used when the microprogram is executed is
9 and the contents stored in the coefficient register 15 are also rewritten to contents corresponding to the effect given after the change.
【0043】次に、ステップS5に進むと、変更される
エフェクトに対応するフラグレジスタ23の値f0をス
テップS3で設定した値「1」から値「0」に反転させ
る。これにより、上記ステップS3で設定した書き込み
命令WRの無効が解除され、変更後に付与されるエフェ
クトに対応するマイクロプログラムに基づく書き込み命
令WRが実行される。Next, at step S5, the value f0 of the flag register 23 corresponding to the effect to be changed is inverted from the value "1" set at step S3 to the value "0". As a result, the invalidity of the write command WR set in step S3 is released, and the write command WR based on the microprogram corresponding to the effect given after the change is executed.
【0044】(3)データレジスタのクリア処理 次に、ステップS6に進むと、エフェクトの変更に伴っ
てデータレジスタ12のクリアが必要であるか否かを判
断する。すなわち、変更されるエフェクトを付与するた
めに行われていたフィルタ処理で、遅延要素を記憶する
領域としてデータレジスタ12が使用されていた場合に
は、該領域をクリアする必要があるからである。(3) Data Register Clearing Process Next, proceeding to step S6, it is determined whether or not the data register 12 needs to be cleared with the change of the effect. That is, when the data register 12 is used as an area for storing the delay element in the filtering process performed to give the effect to be changed, the area needs to be cleared.
【0045】ここで、データレジスタ12のクリアを行
う必要がある場合、ステップS6の判断結果が「Ye
s」となり、ステップS7,S8に進む。ステップS
7,S8では、データレジスタ12に記憶されている遅
延要素をクリアするため、フィルタ入力を「0」とし、
係数レジスタ15に所定の係数値を書き込む。そして、
ステップS9において、データレジスタに記憶されてい
る遅延要素がクリアされるまでタイムウェイトした後、
ステップS10に進む。If the data register 12 needs to be cleared, the result of the determination in step S6 is "Ye
s ", and proceeds to steps S7 and S8. Step S
In steps S7 and S8, the filter input is set to "0" in order to clear the delay element stored in the data register 12.
A predetermined coefficient value is written to the coefficient register 15. And
In step S9, after time-waiting until the delay element stored in the data register is cleared,
Proceed to step S10.
【0046】すなわち、変更されるエフェクトにおい
て、例えば図4(a)に示す1次のディジタルフィルタ
に相当する処理が行われていた場合、データレジスタ1
2に記憶されている遅延要素をクリアするために、フィ
ルタ入力を「0」、乗算器の係数を「1」とする。これ
により、少なくとも1回のサンプリングでフィルタ出力
が「0」となり、遅延要素がクリアされる。That is, in the effect to be changed, for example, when the processing corresponding to the primary digital filter shown in FIG.
In order to clear the delay element stored in 2, the filter input is set to "0" and the multiplier coefficient is set to "1". Thereby, the filter output becomes “0” by at least one sampling, and the delay element is cleared.
【0047】また、変更されるエフェクトにおいて、例
えば図4(b)に示す2次のディジタルフィルタに相当
する処理が行われていた場合、データレジスタ12の遅
延要素をクリアするために、フィルタ入力を「0」、乗
算器の係数を「1」とする。これにより、少なくとも2
回のサンプリングでフィルタ出力が「0」となり、遅延
要素がクリアされる。In the effect to be changed, for example, when a process corresponding to the secondary digital filter shown in FIG. 4B is performed, the filter input is cleared in order to clear the delay element of the data register 12. “0” and the multiplier coefficient are “1”. This allows at least two
The filter output becomes “0” by the sampling of the number of times, and the delay element is cleared.
【0048】一方、変更されるエフェクトを付与するた
めに行われていたフィルタ処理でデータレジスタ12が
使用されていない場合、これをクリアする必要がないの
で、上記ステップS6の判断結果が「No」となり、上
記データレジスタ12のクリア処理を行わずに、直接ス
テップS10に進む。On the other hand, if the data register 12 is not used in the filter processing performed to give the effect to be changed, it is not necessary to clear the data register 12, and the result of the determination in step S6 is "No". Then, the process directly proceeds to step S10 without performing the process of clearing the data register 12.
【0049】(4)遅延RAM18のクリア処理 次に、ステップS10に進むと、エフェクトの変更に伴
って遅延RAM18のクリアが必要であるか否かを判断
する。すなわち、変更されるエフェクトに対応するマイ
クロプログラムの実行時に遅延RAM18の所定領域が
使用されていた場合には、該領域をクリアする必要があ
るからである。(4) Processing for Clearing Delay RAM 18 Next, when the process proceeds to step S10, it is determined whether or not the delay RAM 18 needs to be cleared in accordance with the change of the effect. That is, if a predetermined area of the delay RAM 18 is used at the time of executing the microprogram corresponding to the effect to be changed, it is necessary to clear the area.
【0050】そして、変更されるエフェクトで遅延RA
M18の領域が使用されていた場合、ステップS10の
判断結果が「Yes」となり、ステップS11に進む。
ステップS11では、当該使用されていた遅延RAM1
8の領域をクリアする。そして、ステップS12におい
て、遅延RAM18のクリア処理が終了するまでタイム
ウェイトした後、ステップS13に進む。Then, with the effect to be changed, the delay RA
If the area of M18 has been used, the determination result of step S10 is "Yes", and the process proceeds to step S11.
In step S11, the used delay RAM 1
Clear area 8 Then, in step S12, after time-waiting until the clearing process of the delay RAM 18 is completed, the process proceeds to step S13.
【0051】ここで、DSP9が高速にメモリクリアを
行う機能を有する場合には、上記ステップS12のタイ
ムウェイト処理は不要であるが、そうでない場合には、
入力を「0」として遅延時間に相当する時間だけタイム
ウェイトしてクリアを行う必要がある。Here, when the DSP 9 has a function of clearing the memory at a high speed, the time wait processing in the step S12 is unnecessary.
It is necessary to clear the input by setting the input to "0" and time-waiting for a time corresponding to the delay time.
【0052】一方、変更されるエフェクトで遅延RAM
18の領域が使用されていない場合、ステップS10の
判断結果が「Yes」となり、上記遅延RAM18のク
リア処理を行わずに、直接ステップS13に進む。On the other hand, a delay RAM
If the area No. 18 is not used, the determination result of step S10 is “Yes”, and the process directly proceeds to step S13 without performing the processing of clearing the delay RAM 18.
【0053】(5)変更後のエフェクト立ち上げ処理 ステップS13では、前述のデータレジスタ12のクリ
ア処理(ステップS8)において係数レジスタ15にク
リア用の係数をセットしているので、再度、変更後に付
与されるエフェクトに対応する係数を係数レジスタ15
に書き込む。(5) Effect start-up processing after change In step S13, since the clearing coefficient is set in the coefficient register 15 in the above-described clearing processing of the data register 12 (step S8), the effect is applied again after the change. The coefficient corresponding to the effect to be effected is stored in the coefficient register 15.
Write to.
【0054】次に、ステップS14に進むと、前述のス
テップS1で設定したウェット/ドライのバランス(ウ
ェット=0、ドライ=1)から、変更後に付与されるエ
フェクトのウェット/ドライのバランスの設定値に移行
する際の補間レートを設定する。Next, at step S14, the set value of the wet / dry balance of the effect applied after the change is set from the wet / dry balance (wet = 0, dry = 1) set at step S1. Set the interpolation rate when shifting to.
【0055】そして、ステップS15では、補間回路1
4において上記ステップS14で設定した補間レートに
従って補間が行われ、ウェット/ドライのバランスが徐
々に変更後に付与されるエフェクトの設定値に一致す
る。ここで、補間レートの設定値およびウェット/ドラ
イのバランスの設定値は、RAM7にエフェクトパラメ
ータとして記憶されている。Then, in step S15, the interpolation circuit 1
In step 4, interpolation is performed according to the interpolation rate set in step S14, and the wet / dry balance gradually matches the set value of the effect provided after the change. Here, the set value of the interpolation rate and the set value of the wet / dry balance are stored in the RAM 7 as effect parameters.
【0056】以上述べた動作が、パネルスイッチ1にエ
フェクト変更のイベントが発生する度に行われる。The above-described operation is performed every time an event of an effect change occurs in the panel switch 1.
【0057】E:まとめ このように、本実施例によれば、現在付与中の複数の効
果のうち、切り替えを指示された効果がフェードアウト
されて出力音から除去される間、該切り替えを指示され
た効果を付与するためのプログラムが切り替え後の新た
な効果を付与するためのプログラムに書き換えられる。
このとき、書き換え中のプログラムの実行によるデータ
書き込み動作が回避されるので、切り替えを行わない他
の効果に対応するプログラムの実行時にアクセスされる
データ記憶領域を破壊するなどの誤動作を防止すること
ができる。E: Conclusion As described above, according to the present embodiment, while the effect for which switching is instructed is faded out and removed from the output sound, the switching is instructed among a plurality of effects currently being given. The program for providing the effect is rewritten to a program for providing a new effect after switching.
At this time, since a data write operation due to the execution of the program being rewritten is avoided, it is possible to prevent a malfunction such as destruction of a data storage area accessed at the time of execution of a program corresponding to another effect that is not switched. it can.
【0058】F:応用例 なお、本実施例では、切り替えられる効果音のウェット
/ドライのバランスをウェット=0、ドライ=1として
完全に出力音から除去するようにしたが、これに限ら
ず、例えばウェット=0.2、ドライ=0.8とするな
ど、切り替えによるノイズが無視できる程度のレベルで
あれば、ウェット/ドライのバランスをどのような比率
で設定するようにしてもよい。F: Application Example In this embodiment, the wet / dry balance of the switched sound effect is set to wet = 0 and dry = 1 to completely remove the sound from the output sound. However, the present invention is not limited to this. The wet / dry balance may be set at any ratio as long as the noise due to the switching is negligible, for example, wet = 0.2 and dry = 0.8.
【0059】また、既述した実施例では、与えられた楽
音信号に効果付与を行うエフェクタを例として説明した
が、こうしたエフェクタの分野に限らず、複数のプログ
ラムを実行して信号処理を行うものであれば、その他の
装置にも適用可能である。すなわち、他の信号処理装置
に適用した場合においても、プログラム変更中に書き込
み命令を回避することにより、他のプログラムの実行に
悪影響を及ぼさずに正常な信号処理を行いつつ、プログ
ラムの変更を行うことができる。In the above-described embodiment, the effector that gives an effect to a given tone signal has been described as an example. However, the present invention is not limited to such an effector field, and performs signal processing by executing a plurality of programs. Then, the present invention can be applied to other devices. That is, even when applied to another signal processing device, by changing a program while avoiding a write instruction during a program change, a normal signal processing is performed without adversely affecting the execution of another program. be able to.
【0060】[0060]
【発明の効果】以上説明したように、この発明によれ
ば、書き換えがなされているプログラムの実行によっ
て、変更を指示されていない他のプログラムの実行時に
アクセスされるデータ記憶領域を破壊するなどの誤動作
を防止することができるので、変更を指示されていない
他のプログラムの実行に悪影響を及ぼさずに正常な信号
処理を行いつつ、プログラムの変更を行うことができ
る。また、この発明によれば、切り替え時の誤動作を回
避するためにプログラムのステップの書き換えを一括し
て行う目的で転送バッファ等を設ける必要がなくなるの
で、装置構成が簡単になる。As described above, according to the present invention, execution of a rewritten program destroys a data storage area accessed when another program not instructed to be changed is executed. Since malfunction can be prevented, the program can be changed while normal signal processing is performed without adversely affecting the execution of another program not instructed to change. Further, according to the present invention, it is not necessary to provide a transfer buffer or the like in order to collectively rewrite the steps of the program in order to avoid a malfunction at the time of switching, so that the device configuration is simplified.
【図1】 この発明の一実施例の全体構成を示すブロッ
ク図である。FIG. 1 is a block diagram showing an overall configuration of an embodiment of the present invention.
【図2】 同実施例によるDSPの構成を示すブロック
図である。FIG. 2 is a block diagram showing a configuration of a DSP according to the embodiment.
【図3】 同実施例において、CPU5が実行する制御
プログラムのエフェクト変更処理ルーチンを示すフロー
チャートである。FIG. 3 is a flowchart showing an effect change processing routine of a control program executed by a CPU 5 in the embodiment.
【図4】 同実施例によるエフェクトのフィルタ処理の
例を示すブロック図であり、(a)は1次のディジタル
フィルタを、(b)は2次のディジタルフィルタをそれ
ぞれ示している。FIG. 4 is a block diagram showing an example of effect filter processing according to the embodiment; FIG. 4A shows a first-order digital filter, and FIG. 4B shows a second-order digital filter;
【図5】 同実施例において、ジャンプ命令の実行によ
ってマイクロプログラムの書き込み命令が無効とされる
ときの動作を示す概念図である。FIG. 5 is a conceptual diagram showing an operation when a write instruction of a microprogram is invalidated by execution of a jump instruction in the embodiment.
1……パネルスイッチ、2……パネルインタフェース、
3……鍵盤、4……鍵盤インタフェース、5……CP
U、6……ROM、7……RAM、8……音源、9……
DSP、10L,10R……D/A変換器、11……イ
ンプットレジスタ、12……データレジスタ、13……
演算回路、14……補間回路、15……係数レジスタ、
16……LFO、17……ラッチ回路、18……遅延R
AM、19……アドレスレジスタ、20……アドレス制
御回路、21……マイクロプログラムレジスタ、22…
…プログラムデコーダ、24……ジャンプステップレジ
スタ、25……比較器、26……プログラムカウンタ、
27,31,34,36……ANDゲート、28,29
……ORゲート、30……遅延回路、32,33,35
……インバータ、LSP,RSP……サウンドシステム1 Panel switch 2 Panel interface
3 ... keyboard, 4 ... keyboard interface, 5 ... CP
U, 6 ROM, 7 RAM, 8 sound source 9, 9
DSP, 10L, 10R ... D / A converter, 11 ... Input register, 12 ... Data register, 13 ...
Arithmetic circuit, 14 ... interpolation circuit, 15 ... coefficient register,
16 LFO, 17 Latch circuit, 18 Delay R
AM, 19 ... address register, 20 ... address control circuit, 21 ... microprogram register, 22 ...
... program decoder, 24 jump step register, 25 comparator, 26 program counter
27, 31, 34, 36 ... AND gate, 28, 29
... OR gate, 30 delay circuit, 32, 33, 35
…… Inverter, LSP, RSP …… Sound system
Claims (5)
ラムを時分割で繰り返し実行する信号処理装置におい
て、 実行中の複数のプログラムのうち少なくとも1つのプロ
グラムを、変更後に実行すべきプログラムに書き換える
プログラム書換手段と、 前記プログラム書換手段による書き換え動作の間、前記
少なくとも1つのプログラムに含まれるデータ書き込み
命令の無効化を指示する指示データを発生する無効化指
示手段と、 前記無効化指示手段の指示データに応じて、前記少なく
とも1つの プログラムに含まれるデータ書き込み命令を
無効にする無効化手段とを具備し、前記少なくとも1つのプログラムには予め無効化制御命
令が含まれており、 前記無効化手段は、前記無効化指示手段の指示に応じ
て、前記少なくとも1つのプログラムに含まれる前記無
効化制御命令を有効化することにより、前記少なくとも
1つのプログラムに含まれるデータ書き込み命令を無効
化する ことを特徴とする信号処理装置。1. A signal processing apparatus for repeatedly executing a plurality of programs consisting of various instruction steps in a time-division manner, wherein at least one of the plurality of running programs is to be executed after being changed. a program rewriting means for rewriting, during the rewrite operation by the program rewriting means, said
Write data contained in at least one program
Invalidation finger that generates instruction data for instructing instruction invalidation
And shows means in response to the instruction data of the deactivation instruction means, the less
And invalidating means for invalidating a data write command included in one program, wherein the at least one program has an invalidation control command in advance.
And the invalidation means responds to the instruction of the invalidation instruction means.
The at least one program includes
By activating the activation control command, the at least
Invalidate the data write instruction included in one program
A signal processing device characterized in that:
無効化制御命令が含まれており、 前記無効化指示手段は、前記複数のプログラムのうち、
書き換えを行なおうとしているプログラムに埋め込まれ
た無効化制御命令を示す指示データを発生し、 前記無効
化手段は、前記指示データにより示された無効化制御命
令を有効化することを特徴とする請求項1に記載の信号
処理装置 。 2. The program according to claim 2, wherein :
An invalidation control instruction is included, and the invalidation instructing means includes, among the plurality of programs,
Embedded in the program you are trying to rewrite
The instruction data to generate indicating the disabling control instruction was, the invalid
Means for invalidating the instruction indicated by the instruction data.
The signal of claim 1, wherein the signal is activated.
Processing equipment .
ロ命令を記憶するとともに、各マイクロ命令を循環的にB.
出力するマイクロ命令記憶手段と、Micro instruction storage means for outputting; マイクロ命令記憶手段が出力するマイクロ命令をデコーDecode microinstructions output by microinstruction storage means
ドし、制御信号を出力するデコード手段と、Decoding means for outputting a control signal 演算命令に対応した前記制御信号に従って演算処理を行The arithmetic processing is performed according to the control signal corresponding to the arithmetic instruction.
なう演算手段と、Computing means, 前記演算手段による演算結果を含む各種データの記憶にFor storing various data including the calculation result by the calculation means
使用されるデータ記憶手段と、Data storage means used; 有効または無効を指示する分岐制御データを発生する分Generates branch control data indicating valid or invalid
岐指示手段と、Ki instruction means, 前記デコード手段が第1分岐命令をデコードし、かつ前The decoding means decodes the first branch instruction, and
記分岐制御データが有効を指示する場合、その時点からIf the branch control data indicates valid,
前記第1分岐命令に対応した分岐先アドレスまでの期間Period up to the branch destination address corresponding to the first branch instruction
のみ、前記データ記憶手段に対するデータ書き込みを指Only instructs data writing to the data storage means.
令する前記制御信号を無効にする第1分岐制御手段とをFirst branch control means for invalidating the control signal to be commanded.
具備することを特徴とする信号処理装置。A signal processing device comprising:
て、hand, さらに、前記デコード手段が第2分岐命令をデコードFurther, the decoding means decodes the second branch instruction.
し、かつ前記分岐制御データが無効を指示する場合、そAnd the branch control data indicates invalid, the
の時点から前記第2分岐命令に対応した分岐先アドレスFrom the time of the branch destination address corresponding to the second branch instruction
までの期間のみ、前記データ記憶手段に対するデータ書Data written to the data storage means only during
き込みを指令する前記制御信号を無効にする第2分岐制Second branching system for invalidating the control signal for instructing writing
御手段を具備することを特徴とする信号処理装置。A signal processing device comprising control means.
マイクロ命令を記憶するとともに、各マイクロ命令を循Micro instructions are stored and each micro instruction is cycled.
環的に出力するマイクロ命令記憶手段と、Micro-instruction storage means for cyclically outputting; マイクロ命令記憶手段が出力するマイクロ命令をデコーDecode microinstructions output by microinstruction storage means
ドし、制御信号を出力するデコード手段と、Decoding means for outputting a control signal 演算命令に対応した前記制御信号に従って演算処理を行The arithmetic processing is performed according to the control signal corresponding to the arithmetic instruction.
なう演算手段と、Computing means, 前記演算手段による演算結果を含む各種データの記憶にFor storing various data including the calculation result by the calculation means
使用されるデータ記憶手段と、Data storage means used; それぞれ、有効または無効を指示する複数の分岐制御デMultiple branch control data, each indicating valid or invalid
ータを発生する分岐指示手段と、Branch instructing means for generating data; 前記デコード手段が複数の分岐命令の中のいずれかの分The decoding means detects any one of a plurality of branch instructions.
岐命令をデコードし、かつ前記複数の分岐制御命令のうBranch instructions and decode the plurality of branch control instructions.
ちの前記デコードされた分岐命令に対応した前記分岐制The branch control corresponding to the decoded branch instruction
御データが有効を指示する場合、その時点から前記デコIf the control data indicates validity, the deco
ードされた分岐命令に対応した分岐先アドレスまでの期The period up to the branch destination address corresponding to the loaded branch instruction
間のみ、前記データ記憶手段に対するデータ書き込みをWrite data to the data storage means only during
指令する前記制御信号を無効にする分岐制御手段とを具Branch control means for invalidating the control signal to be commanded.
備することを特徴とする信号処理装置。A signal processing device comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5285267A JP3013675B2 (en) | 1993-11-15 | 1993-11-15 | Signal processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5285267A JP3013675B2 (en) | 1993-11-15 | 1993-11-15 | Signal processing device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07140978A JPH07140978A (en) | 1995-06-02 |
| JP3013675B2 true JP3013675B2 (en) | 2000-02-28 |
Family
ID=17689294
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5285267A Expired - Fee Related JP3013675B2 (en) | 1993-11-15 | 1993-11-15 | Signal processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3013675B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008139360A (en) * | 2006-11-30 | 2008-06-19 | Teac Corp | Audio playback device |
-
1993
- 1993-11-15 JP JP5285267A patent/JP3013675B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH07140978A (en) | 1995-06-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0997064A (en) | Automatic musical performance data processor | |
| KR890010673A (en) | Data processor and its processing control method | |
| JPH07181969A (en) | Code segment replacement device, real-time signal processing system and audio processing system using the same | |
| JP3013675B2 (en) | Signal processing device | |
| JPS61221936A (en) | Data processor | |
| JPH02125330A (en) | Data processor | |
| JP2001265352A (en) | Musical sound signal processor | |
| JP3505907B2 (en) | Signal delay device and digital signal processing device | |
| JPH0218729B2 (en) | ||
| JP2000293169A (en) | Musical sound generating device | |
| JP3005987B2 (en) | Digital signal processor | |
| JPS588011B2 (en) | Microprogram Seigiyohoshiki | |
| JP3036417B2 (en) | Signal processing device | |
| JP2737524B2 (en) | Trace circuit | |
| JP3157242B2 (en) | Error handling method in micro program control | |
| JP3277559B2 (en) | Effect adding device | |
| US5822775A (en) | Efficient data processing method for coefficient data in a digital dignal, processor | |
| JPH0557614B2 (en) | ||
| JPS6049935B2 (en) | Microprogram control method | |
| JPH01319863A (en) | Vector mask control system | |
| JPH0682321B2 (en) | Micro controller | |
| POINTER | US Patent Oct. 13, 1998 Sheet 1 of 2 5,822,775 | |
| JPH06139066A (en) | Digital signal processor | |
| JPS6278630A (en) | information processing equipment | |
| JPS6014334A (en) | Data processor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19991116 |
|
| 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: 20081217 Year of fee payment: 9 |
|
| LAPS | Cancellation because of no payment of annual fees |