JP2797138B2 - 電子楽器用処理装置 - Google Patents

電子楽器用処理装置

Info

Publication number
JP2797138B2
JP2797138B2 JP2170169A JP17016990A JP2797138B2 JP 2797138 B2 JP2797138 B2 JP 2797138B2 JP 2170169 A JP2170169 A JP 2170169A JP 17016990 A JP17016990 A JP 17016990A JP 2797138 B2 JP2797138 B2 JP 2797138B2
Authority
JP
Japan
Prior art keywords
processing
data
mcpu
program
scpu
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
JP2170169A
Other languages
English (en)
Other versions
JPH0460596A (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2170169A priority Critical patent/JP2797138B2/ja
Priority to US07/709,101 priority patent/US5200564A/en
Publication of JPH0460596A publication Critical patent/JPH0460596A/ja
Priority to US08/001,184 priority patent/US5691493A/en
Priority to US08/486,606 priority patent/US5584034A/en
Application granted granted Critical
Publication of JP2797138B2 publication Critical patent/JP2797138B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 [発明の技術分野] この発明は電子楽器用処理装置に関し、特に電子楽器
用処理装置の構造的なアーキテクチャに関する。
[発明の背景] 近年、電子楽器はコンピュータ化されている。しか
し、大量で高速のデータ処理が必要な楽音の生成に係る
部分は音源回路と呼ばれる専用構造のハードウェアで行
われており、マイクロコンピュータは楽器への制御入力
(鍵盤やコンソールパネルからの入力、MIDIその他の外
部制御入力、内部または外部の演奏メモリからの入力
等)を処理し、音源回路に適したコマンドを音源回路に
転送するに留まっている。
楽音生成処理は音源回路ハードウェアで行い、楽器の
制御入力の処理をマイクロコンピュータで行うという電
子楽器のシステムアーキテクチャーにはいくつかの問題
がある。第1の音源回路ハードウェアは楽音パラメータ
を処理する種々の処理段階の随所にデータを一時的に記
憶する記憶装置、演算を行う演算回路を必要とするので
必然的に回路規模が大きくなる。第2に音源回路ハード
ウェアを設計変更する場合に、しばしば大規模な回路変
更が余儀なくなり、多大の開発時間、労力を要する。更
にマイクロコンピュータと音源回路ハードウェアとの間
のインターフェースについても、音源回路ハードウェア
ごとに検討し直し、開発し直す必要がある。
以上の理由から、本件出願人は音源回路ハードウェア
を使用することなくマイクロコンピュータのプログラム
制御だけで楽音を生成することのできる電子楽器用処理
装置を提案した(特願昭63−334158号)。
この出願の実施例は単一のCPUがプログラムを実行し
て楽音を生成する構成を示している。この場合、楽音生
成能力を上げるにはCPUの処理速度を上げる必要があ
る。残念ながら、CPUの処理速度は使用する半導体デバ
イスの動作速度限界等によって制限されるために、実現
できる楽音生成能力に限界があった。
[発明の目的] したがって、この発明の目的は音源回路ハードウェア
を使用することなく比較的高い楽音生成能力を有する電
子楽器用処理装置を提供することである。
[発明の構成、作用] この発明によれば、メインCPU及びこのメインCPUによ
って制御される少なくとも1つのサブCPUからなり、前
記メインCPUは、楽器への入力を処理するための入力処
理プログラムと楽音を生成するための処理のうち最初の
部分の処理のみを行う第1の楽音生成プログラムを記憶
するMCPUプログラム記憶手段と、所定のサンプリング周
期で割り込み信号を発生するタイマーインターラプト制
御手段と、通常は前記MCPUプログラム記憶手段から入力
処理プログラムを読み出すとともに、このタイマーイン
ターラプト制御手段からの割り込み信号を受ける毎に前
記MCPUプログラム記憶手段から前記入力処理プログラム
に代えて第1の楽音生成プログラムを読み出すMCPUアド
レス制御手段と、前記MCPUアドレス制御手段により前記
MCPUプログラム記憶手段から読み出されたプログラムの
各命令を解読するMCPU解読手段と、前記MCPU解読手段に
より解読された入力処理プログラムの各命令に基づいて
生成された、楽音の生成に必要なデータを記憶するMCPU
データ記憶手段と、前記MCPU解読手段にて解読された第
1の楽音生成用プログラムの各命令に基づいて前記MCPU
データ記憶手段に記憶された楽音生成に必要なデータを
用いて楽音生成処理のうちの最初の処理の部分を演算処
理して前記MCPUデータ記憶手段に記憶するMCPU演算処理
手段と、前記インターラプト制御手段から割り込みを受
ける毎に前記MCPUデータ記憶手段に記憶されたデータの
うち前記MCPU演算処理手段の演算処理により得られたデ
ータを前記サブCPUに転送させるとともに、当該サブCPU
に対して起動信号を供給するサブCPU制御手段と、を有
し、前記サブCPUは、前記楽音を生成するための処理の
うち残りの部分の処理を行う第2の楽音生成プログラム
を記憶するSCPUプログラム記憶手段と、前記メインCPU
からの起動信号を受ける毎に前記SCPUプログラム記憶手
段から前記第2の楽音生成プログラムを読み出すSCPUア
ドレス制御手段と、前記SCPUアドレス制御手段により前
記SCPUプログラム記憶手段から読み出されたプログラム
の各命令を解読するSCPU解読手段と、前記SCPU解読手段
にて解読された第2の楽音生成プログラムの各命令に基
づいて前記メインCPUから転送されたデータを用いて前
記楽音生成処理のうちの残りの処理の部分を演算処理し
て出力するSCPU演算処理手段と、を有することを特徴と
する電子楽器用処理装置が提供される。
この構成によれば、従来のような音源回路ハードウェ
アを必要とせずにCPUの数に応じて高い楽音生成能力を
有する電子楽器用処理装置を得ることができる。また、
個々のCPU自体のハードウェアは構造上、格別の差異が
ない同一のものを使用でき、基本的には各CPUが実行す
るプログラムについてのみ、各CPUの処理目的に合わせ
たものを使用すればよく、電子楽器用処理装置としての
システム構築が容易となる。
楽音信号の生成処理を並列に実行する手段は、種々の
態様を取り得る。1つの態様では、複数のCPUがパイプ
ライン結合されて楽音信号の生成の並列処理を実行す
る。例えば、第1のCPUは楽音信号の生成の全過程のう
ち最初の部分過程を取り扱い、第2のCPUは第1のCPUの
処理結果を受けて楽音生成過程のうち2番目の部分過程
を取り扱う。各CPUは楽音出力データのサンプリング速
度を維持するため所定の間隔で処理を実行する。あるCP
Uがi番目の楽音データサンプルのための部分過程jを
実行している間に、このCPUの次のCPUは(i−1)番目
の楽音データサンプルのための部分過程(j+1)を実
行する。パイプライン結合システムの場合、一般には、
応答の遅れとしてパイプラインの入口から出口までの処
理時間がしばしば問題になる。しかし、都合のよいこと
に電子楽器への応用の場合には、数ミリ秒程度の応答の
遅れは問題にならない。したがって、例えば、楽音出力
データのサンプリング周波数(各CPUの部分過程処理の
実行間隔に相当する)を20KHzし、パイプラインでの応
答遅れを1ミリ秒とすると、最大20個のCPUをパイプラ
イン結合可能である。したがって、複数のCPUをパイプ
ライン結合して楽音を生成する構成は楽音合成のアルゴ
リズムが複雑で、多くの処理過程を必要する楽音合成方
式を採用する場合に有効である。さらにこの具体的態様
としては、楽音信号の生成処理がシステム全体の制御処
理と音源処理から成る場合、第1のCPUではこの制御処
理と音源処理の最初の一部を分担し、第2のCPUでは音
源処理の残りの部分を分担することが考えられる。ここ
において音源処理は2つのCPUにて分割して処理される
が、第2のCPUで行う処理は乗算処理など比較的処理時
間のかかる部分を分担させ、全体の制御処理も行う第1
のCPUは比較的負担の少ない残りの処理を行なわせるの
が望ましい。さらに具体的には、音源処理がエンベロー
プ処理とこのエンベロープを付加する波形処理から成る
場合、第1のCPUでは乗算処理の伴わないエンベロープ
処理のみ行い、第2のCPUではこのエンベロープ処理の
処理結果により得られたエンベロープデータを乗算する
処理を伴う波形処理を行なわせる。このようにすれば、
各CPUにかかる処理の負担は著しく軽減されるため、処
理速度が上がり、楽音生成能力も大きくなる。
[実施例] 以下、図面を参照してこの発明の実施例を説明する。
<概 要> 本実施例はこの発明を電子楽器を適用したものであ
る。本実施例(第1〜第13図)は種々の特徴を含んでい
る。第1の特徴は、楽音信号を生成する音源としてプロ
グラムで動作する複数のマイクロコンピュータ処理装置
(CPU)を使用することであり、従来のような専用構造
のハードウェア音源は不要である。1つのCPUがメインC
PUあるいはマスターCPU(10)として働き、音源処理の
一部のみでなくアプリケーション(この場合、楽器)に
従う入力装置(鍵盤、機能キー等)、を取り扱う(第4
図〜第6図)。他のCPUはマスターCPUに対してサブCPU
ないしスレーブCPU(20)として働き、残りの音源処
理、出力装置(DAC等)を実行する(第8図、第9
図)。したがって、音源処理について各CPUの負担が分
担される構成である。
第2の特徴はサブCPUが動作を開始し、終了するメカ
ニズムに関係しており、本実施例によれば、サブCPUの
動作は、マスターCPUに対して音源処理を要求するタイ
マインタラプトを合図としてマスターCPUから音源処理
用のデータを受け取った時から開始し、その結果、マス
ターCPUとサブCPUにおいて音源処理が分担して実行され
る。サブCPUの動作(音源処理)が終了するとその終了
信号によってサブCPUはリセット状態(停止状態)に移
行するとともにその終了信号がマスターCPUに伝えられ
る(第13図)。この特徴により、マスターCPUはサブCPU
の動作期間及びタイミングを有効に管理、把握できる。
更に、この特徴により、高速処理が要求される音源処理
タスク(楽音信号のデジタルサンプルを生成する仕事)
を効率よく実行できる。
本実施例の第3の特徴はデータ源としてのCPU外部メ
モリを複数のCPUで共用する場合における複数CPUからの
アクセスの競合(衝突)問題に関する。本実施例によれ
ば後述するメモリ装置競合回避回路(50)を設けること
により、共用メモリに対するアクセスの競合を解消し、
一定の待ち時間の後、共用メモリからのデータを得られ
るようにしている。
本実施例の第4の特徴はデータ変換処理(シフト、反
転、一部取り出し等)の高速化に関する。従来において
は、上述したCPU外部メモリのようなデータメモリ内の
データから、CPU内部メモリ(演算用メモリ)上に変換
されたデータを得るために、転送(リードアクセス)命
令により、データメモリのデータを演算用メモリに移
し、しかる後、変換命令により、演算用メモリのデータ
をALUを介して変換する。所望のデータ変換を行うため
に複数の変換命令を実行する必要もしばしば生じる。こ
のように、従来においてはデータ変換の処理に時間がか
かるという問題があり、特に音源処理のように高速処理
が要求されるアプリケーションにおいては大きな問題と
なる。これを解決するため、この実施例によれば、デー
タ・アドレス変換ハードウェア(60、70)を設け、特殊
な転送命令(変換付転送命令)を実行することにより、
その命令に応答するデータ・アドレス変換ハードウェア
を介して所望のデータ変換が施されたデータが演算用メ
モリ(106、206)に取り込まれるようにしている。した
がって、所望の変換データを得るのに、複数の命令を実
行するのではなく単一の命令を実行すればよく処理の高
速化が図れる。
<全体構成(第1図)> 第1図は電子楽器の処理装置として構成した本実施例
の全体構成を示すブロック図である。本システムは2つ
の中央演算処理装置(一方をMCPU10、他方をSCPU20で示
す)を有する。各CPU10、20はプログラムを内蔵してお
り、それぞれのプログラムに従って動作する。MCPU10は
音源処理(第5図、第6図)以外にシステム全体の制
御、例えば入力ポート118、出力ポート120に接続される
入力装置(例えば鍵盤、機能キー等)からの入力情報の
処理の制御等を行う(第4図)。これに対し、SCPU20は
残りの音源処理と、デジタル楽音信号をアナログ楽音信
号に変換するDAC100に専用される(第8図、第9図)。
90は音源制御データ、波形データ等のデータ源として
のメモリである。データメモリ90はここでは、LSIチッ
プ(第1図の残りのデバイスを搭載させている)に外付
けされたROMで構成されている。集積度が高ければ、単
一のLSIチップ上にデータメモリ90を内部メモリとして
形成可能である。外部メモリ90はMCPU10とSCPU20に共用
される。MCPU10からのアドレス情報はMCPU10に結合する
アドレスバスMA、外部メモリアドレスラッチ30のMCPU外
部メモリアドレスラッチ30M、アドレス切り換え回路4
0、アドレス変換回路60を介して外部データメモリ90の
アドレス入力に加えられる。一方、SCPU20からのアドレ
ス情報はSCPU20に結合するアドレスバスSA、SCPU外部メ
モリアドレスラッチ30S、アドレス切り換え回路40、ア
ドレス変換回路60を通して外部データメモリ90のアドレ
ス入力に加えられる。外部データメモリ90からMCPU10へ
のデータ伝送径路は外部データメモリ90のデータ出力、
データ変換回路70、外部メモリデータラッチ80のMCPU外
部メモリデータラッチ80M、MCPU10に結合するデータバ
スMDによって構成される。これに対し、外部データメモ
リ90からSCPU20へのデータ伝送径路は外部データメモリ
90のデータ出力、データ変換回路70、SCPU外部メモリデ
ータラッチ80S、SCPU20に結合するデータバスSDによっ
て構成される。
メモリ装置競合回避回路50はMCPU10とSCPU20の両CPU
による外部メモリ90のアクセスを制御し、その競合を回
避するものである。メモリ装置競合回避回路50はMCPU10
からの外部メモリアクセスを要求する信号romaとSCPUか
らの外部メモリアクセスを要求する信号romaの各々に応
答してアドレス切り換え回路40を制御してアドレス切り
換え回路40にMCPU10からのアドレスとSCPU20からのアド
レスのいずれかを外部メモリ90へのアドレスとして選択
させる。このためにメモリ装置競合回避回路50からの選
択信号MSELによりアドレス切り換え回路40は選択動作を
行う。外部メモリ90へのアドレスが確定するとメモリ装
置競合回避回路50は外部メモリ90に対するチップ選択信
号〜CEと出力イネーブル信号〜OEをアクティブにする。
これにより外部メモリ90からデータが出力され、データ
変換回路70を通してそのデータが外部メモリラッチ80の
入力バスに現われる。ここで、メモリ装置競合回避回路
50はデータアクセスを要求したCPUにデータを送るため
にMCPU外部メモリデータラッチ80M、SCPU外部メモリデ
ータラッチ80Sのいずれかを作動してデータをラッチさ
せる。このためにMCPU外部メモリデータラッチ80Mはメ
モリ装置競合回避回路50からのラッチ信号MDLによりラ
ッチ動作し、SCPU外部メモリデータラッチ80Sはメモリ
装置競合回避回路50からのラッチ信号SDLによりラッチ
動作するようになっている。
アドレス変換回路60とデータ変換回路70は外部データ
メモリ90のデータを変換したデータがCPU10、20に取り
込まれるようにするための変換デバイスである。アドレ
ス変換回路60はアドレス切り換え回路40を通ったアドレ
ス、即ち、CPU(MCPU10からSCPU20)から出力されたア
ドレス(論理アドレス)を選択的に変換して外部データ
メモリ90に実際に入力されるアドレスを形成するもので
あり、データ変換回路70は外部データメモリ90から出力
されたデータを選択的に変更してCPU(MCPU10かSCPU2
0)に実際に入力されるデータを形成するものである。
各変換回路60、70における変換の態様を指定するため
に、制御信号が使用される。各CPU10、20において、外
部データメモリ90に対するデータアクセスは転送命令を
実行することで行われる。転送命令に基づいてCPUで生
成される制御信号をMR1、MR2、MR3(MCPU10の場合)、S
R1、SR2、SR3(SCPU20の場合)で示してある。これらの
信号は外部メモリアドレスラッチ30、アドレス切り換え
回路40を通った後、信号R1、R2、R3と呼ばれる(MRi→L
MRi→RiまたはSRi→LSRi→Ri)。変換の態様を指定する
ため、制御信号R1、R2がアドレス変換回路60に入力され
る。更に、データ変換回路70における変換の態様を特定
するため、制御信号R1、R2、R3とアドレス変換回路60か
らのアドレスビット12の信号A12とアドレスビット15の
信号A15がデータ変換回路70に加えられる。アドレス変
換回路60とデータ変換回路70の詳細については後述す
る。
MCPU10とSCPU20との間のインタフェースを定めるた
め、両CPU間で複数の信号が伝送される。信号AはMCPU1
0からSCPU20に送られるSCPU20の処理開始を表わす信
号、信号BはSCPU20からMCPU10に送られるSCPU20の処理
終了を表わす信号、MaはMCPU10からSCPU20に送られるSC
PU20の内部メモリ(第3図の206)のアドレス情報、信
号CはMCPU10からSCPU20に送られるSCPU20の内部メモリ
の読み書き制御信号、DOUTはMCPU10からSCPU20に送られ
るSCPU20の内部メモリへの書き込みデータを表わす。
上述したようにSCPU20での音源処理によりデジタル楽
音信号が生成される。生成結果はSCPU20から、右DAC100
Kと左DAC100Lとから成るデジタルアナログ変換器(DA
C)100に送られ、アナログ楽音信号に変換されて外部に
出力される。
<MCPUとSCPUの構成(第2、第3図)> 第2図にMCPU10の内部構造を示し、第3図にSCPU20の
内部構造を示す。
第2図において制御用ROM102には楽器の各種制御入力
を処理するメインプログラムと楽音を生成するインタラ
プト処理プログラムが記憶されており、ROMアドレス制
御器114からROMアドレスデコーダ104を介して指定され
たアドレスにあるプログラム語(命令)をインストラク
ション出力ラッチ102aを介して順次出力していく。な
お、具体的実施例では、プログラム語長は28ビットであ
り、プログラム語の一部が次に読み出されるべきプログ
ラム語を記憶するアドレスの下位部(ページ内アドレ
ス)としてROMアドレス制御部114に入力されるネクスト
アドレス方式となっているが、代りにプログラムカウン
タ方式を使用してもよい。RAMアドレス制御部105は制御
用ROM102からの命令のオペランドがレジスタを指定して
いる場合に、RAM106内の対応するレジスタのアドレスを
指定する。RAM106は演算用メモリを構成するレジスタ群
であり、汎用演算、フラグ演算、楽音の演算等に使用さ
れる。ALU部(加減算器及び論理演算部)108と乗算器11
0は制御用ROM102からの命令が演算命令のときに用いら
れる。特に乗算器110は楽音波形の演算に使用してお
り、そのための最適化として第1と第2のデータ入力
(例えば16ビットデータ)を乗算して入力と同じ長さ
(16ビット)のデータを出力するようになっている。上
記RAM106、加減算器108、乗算器110により、減算回路が
構成される。オペレーション制御回路112は制御用ROM10
2からの命令のオペコードを解読し、指示されるオペレ
ーションを実行するために、回路の各部に制御信号(全
体をCNTRで示す)を送る。また条件付分岐命令の実行の
際にオペレーション制御回路112はALU部108からのステ
ータス信号S(例えばオーバーフロー信号、ゼロフラグ
信号等)により分岐条件成立を検出してROMアドレス制
御部114を介してアドレスを分岐先のアドレスにジャン
プさせる。
所定時間ごとに制御用ROM102の楽音生成プログラムを
実行するため、この実施例ではタイマインタラプトを採
用している。すなわち、タイマ(ハードウェアカウン
タ)を有するインタラプト発生部116により、一定時間
ごとにROMアドレス制御部114に制御信号INT(割込要求
信号)を送り、この信号により、ROMアドレス制御部114
は次に行うメインプログラムの命令のアドレスを退避
(保持)し、楽音の生成が行われるインタラプト処理プ
ログラム(サブルーチン)の先頭アドレスを代りにセッ
トする。これにより、インタラプト処理プログラムが開
始される。インタラプト処理プログラムの最後にはリタ
ーン命令があるので、このリターン命令がオペレーショ
ン制御回路112で解読された時点で、ROMアドレス制御部
114は退避してあったアドレスを再度セットし、メイン
プログラムに復帰する。更に、インタラプト発生部116
からの制御信号INTはDAC100における楽音信号のデジタ
ル/アナログ変換サンプリング速度を定めるためにDAC1
00に供給される。なお、インタラプト発生部116は図の
上ではMCPU10の内部要素として描いてあるが、MCPU10に
対して現在行っている仕事を停止させ特別の処理を要求
するものであり、論理的にはMCPU10の外部要素(周辺装
置)である。
クロック発生回路136はマスタークロック発生回路
(図示せず)からの2相のマスタークロックCK1とCK2を
受け、オペレーション制御回路112を初めとする回路の
各部に加える種々のタイミング信号(T1、T2、T3、T1CK
1、T2CK2、T3CK3等)を発生する。
第2図の残りの要素はMCPU20の外部装置とのインタフ
ェースに係っている。122は外部メモリアクセス用アド
レスバスMA(第1図)にMCPU内部バスを接続するための
バスインタフェースとしてのゲートを表わし、124は外
部メモリデータバスMDにMCPU内部バスを接続するための
ゲートを表わす。また、入力ポート118と出力ポートはM
CPU内部バスを外部の入力装置に結合するためのインタ
フェースである。128はSCPU内部RAMアドレス指定バスに
MCPU内部バスを接続するためのゲート、130はSCPU内部R
AM書込データバスにMCPU内部バスを接続するためのゲー
トを表わす。
SCPUリセット制御部134はSCPU20の動作期間を管理す
るためのデバイスである。この実施例に従いSCPUリセッ
ト制御部134はインタラプト発生部116からのインタラプ
ト信号INTに応答して、SCPU20の処理開始を示す信号A
を発生する。この信号AはSCPU20のROMアドレス制御部2
14(第3図)に送られ、これによりROMアドレス制御部2
14のアドレス更新動作が開始し、SCPU20の動作(音源処
理を含む)が開始する。SCPU20の動作が終了するとSCPU
20のオペレーション制御回路212から処理終了を示す信
号Bが発生し、この信号BがSCPUリセット制御部134に
送られる。これに対し、SCPUリセット制御部134はSCPU2
0の動作を停止するために信号Aを反転し、これによりS
CPU20のROMアドレス制御部214の動作を停止させる、と
ともに、SCPU20が停止中であることを表わすSCPU状態フ
ラグ信号をオペレーション制御回路112に送る。オペレ
ーション制御回路112は制御用ROM102からのSCPU状態の
検査命令の実行時に、このSCPU状態フラグ信号を読むこ
とにより、SCPU20の状態を検出できる。
第3図のSCPU20のブロック図において、要素202、202
a、204、205、206、208、212、214、222、224、236はそ
れぞれ、第2図のMCPU10のブロック図における要素10
2、102a、104、105、106、108、110、112、114、122、1
24、136に対応する要素である。ただし、SCPU20の制御
用ROM202には基本的に音源処理のためのプログラムのみ
が記憶されており、SCPU20を音源処理専用の処理装置と
して機能させている。
126はDACデータ転送バスにSCPU内部バスを接続するた
めのゲートを表わす。
240はSCPU20の演算用メモリとしてのRAM206へ入力す
るデータをMCPU10からのデータ(MCPU10からゲート13
0、データバスDOUTを通ったデータ)とSCPU20の生成
(演算)したデータ(ALU部208または乗算器210からの
データバスDB上のデータ)とから選択するRAMデータイ
ン切り換え部である。RAMデータイン切り換え部240は信
号Aによってその選択モードが制御され、信号Aが“SC
PU20動作中”を表わしているときにはSCPU20で演算した
データを選択し、信号Aが“SCPU20停止中”を表わして
いるときにはMCPU10からのデータを選択する。
また、RAMアドレス制御部204も、信号Aによってその
モードが制御され、信号Aが“SCPU20動作中”を表わし
ているときには制御用ROMのインストラクション出力ラ
ッチ202aからのバスSA上の情報をRAM206のアドレスとし
て選択し、信号Aが“SCPU20停止中”を表わしていると
きにはMCPU10からバスゲート128(信号Aにより開いて
いる)を経てバスMa上にあるMCPU10からの情報をRAM206
のアドレスとして選択する。同様に、ライト信号切り換
え部242も信号Aによってそのモードが制御され、信号
Aが“SCPU20動作中”を表わしているときにはSCPU20の
オペレーション制御回路212からのRAMリードライト信号
を選択してRAM206のリードライト入力/Wに結合し、信
号Aが“SCPU20停止中”を表わしているときにSCPU20で
はなくMCPU10のオペレーション制御回路112からのSCPUR
AMリードライト信号を選択してRAM206のリードライト入
力/Wに結合する。
以下、本実施例の諸特徴を更に詳細に説明する。
<CPU動作説明> 第4図はMCPU10のメインプログラム(バックグラウン
ドプログラム)によるMCPU10の動作を示すフローチャー
ト、第5図、第6図はタイマインタラプト信号INTによ
って起動されるMCPU10のインタラプト処理ルーチンによ
るMCPU10の動作を示すフローチャート、第8図、第9図
はMCPU10からの動作開始信号Aによって起動されるSCPU
20のプログラムによるSCPU20の動作を示すフローチャー
トである。
第1〜第3図に関して述べたように、本実施例の電子
楽器処理システムはMCPU10とSCPU20とから成る複数のCP
Uを備えており、両CPUが協働して電子楽器のための処理
を実行する。特にMCPU10は、本実施例では第5図、第6
図に示すようなインタラプト処理ルーチンにより音源処
理の一部を行い、SCPU20は第8図及び第9図に示すよう
なプログラムにより残りの音源処理を行う。更にMCPU10
は第4図に示すメインプログラムにより、システム全体
の制御のための種々のタスクを実行する。
第4図のメインプログラムのフローにおいて、4−1
は電源投入時にシステムを初期化する処理であり、MCPU
10はRAM106、RAM206のクリアや、リズムテンポ等の初期
値の設定等を行う。4−2でMCPU10は出力ポート120か
らキー走査のための信号を出力し、鍵盤、機能スイッチ
等の入力装置の状態を入力ポート118から取り込むこと
により、機能キー、鍵盤キーの状態をRAM106のキーバッ
ファエリアに記憶する。4−3では4−2で得た機能キ
ーの新しい状態と前回の状態とから、状態の変化した機
能キーを識別し、指示される機能の実行を行う(例え
ば、楽音番号のセット、エンベロープ番号のセット、リ
ズム番号のセット等)。4−4では4−2で得た鍵盤の
最新の状態と前回の状態とから、変化した鍵(押鍵、離
鍵)を識別する。次の4−5で4−4の処理結果から、
発音制御処理4−9のためのキーアサイン処理を行う。
4−6では機能キーでデモ演奏キーが押鍵されたとき外
部メモり90から、デモ演奏データ(シーケンサデータ)
を順次読み出し、処理することにより、発音制御処理4
−9のためのキーアサイン処理等を行う。4−7ではリ
ズムスタートキーが押鍵されたとき外部メモリ90からリ
ズムデータを順次読み出し、発音制御処理4−9のため
のキーアサイン処理を行う。フロー一周タイマ処理4−
8では、メインフローで必要なイベントのタイミングを
知るために、フロー一周時間(これは、フローを一周す
る間に実行されたタイマインタラプトの回数を計数する
ことで得られる。この計数処理は後述のインタラプトタ
イマ処理5−2で行われる。)を基に演算を行い、エン
ベロープ用タイマ(エンベロープの演算周期)やリズム
用の基準値を得る。発音制御処理4−9では4−5、4
−6、4−7でセットされたデータから、実際に楽音を
発音させるための各種演算を行い、結果をRAM106内の音
源処理レジスタ(第7図)から、RAM206内の音源処理レ
ジスタ(第11図)にセットする。具体的には、第7図に
示すMCPU10のRAM106内の音源処理レジスタに記憶された
アドレス加算値、ループアドレス、エンドアドレス及び
スタートアドレスを第11図に示すSCPU20の206内の音源
処理レジスタにセットする動作を行うものである。この
MCPU10は8チャンネル分の楽音データを生成可能であ
り、これらデータは4−5〜4−7でアサインされたデ
ータに基づき、MCPU10、SCPU20の各レジスタ内の対応す
るチャンネルに割り当てられる。このアドレス加算値、
ループアドレス、エンドアドレス及びスタートアドレス
は外部メモリ90に置かれる基本波形に対するアドレス情
報であり、スタートアドレスは基本波形メモリ(外部メ
モリ90内)のスタートアドレス、ループアドレスは基本
波形を繰り返し読み出す場合の戻り先のアドレス(第10
図ではスタートアドレスと同一)、エンドアドレスは基
本波形のエンドアドレスを表わし、現在アドレスは基本
波形の現在の位相を表わすアドレスであり、その整数部
が、基本波形メモリに現実に存在する記憶場所を表わ
し、その小数部が、この記憶場所からのずれを表わし、
アドレス加算値はタイマインタラプト処理ルーチンの時
間間隔ごとに現在アドレスに加算されるべき値であり、
生成する楽音のピッチに正比例する。
4−10は次のメインフローのパスのための準備処理で
あり、今回のパスで得た押鍵状態への変化を示すNEW ON
状態をON中にしたり、離鍵状態への変化を示すNEW OFF
状態をOFF中に変える等の処理を行う。
インタラプト発生部116からインタラプト信号INTが発
生すると、MCPU10は実行中のメインプログラムを中断
し、第5図に示すインタラプト処理ルーチンを実行す
る。ここにMCPU10は第5図、第6図のフローにおいて楽
音信号のデータを生成し、SCPU20は第8図、第9図のフ
ローにおいてMCPU10からのデータに基づいて楽音信号を
生成するようになっている。
第5図のフローについて詳細に述べると、MCPU10は8
チャンネル分の楽音データが出力可能に構成され、5−
1でまずMCPU10のRAM106の音源処理レジスタ(第7図)
内の各チャンネルの現在エンベロープ値データをSCPU20
のRAM206のレジスタ(第11図)に転送する。このデータ
の転送のタイミングに合わせてMCPU10からSCPU20にパル
ス状のライト信号Cが出力される。このデータ転送が終
了するとMCPU10は、SCPU20の動作を開始させる動作開始
信号Aを出力する(5−2)。このあと、ステップ5−
3〜5−10で第1チャンネルから第8チャンネルまでの
各チャンネルの音源処理、つまりエンベロープデータを
作成して、RAM106内の音源処理レジスタ内にストアする
処理を実行する。
このあと再びメインルーチンに戻る。
第6図は、第5図の5−1〜5−8のチャンネル記憶
処理の詳細なフローを示す。本実施例においては、波形
読み出し方式の楽音合成を採用しており(他の楽音合成
方式、例えばFM合成も、実現可能であり、この発明は特
定の楽音合成方式には制限されない)、この処理におい
ては、エンベロープデータを作成してRAM106の音源処理
レジスタ内にストアする処理を行っている。この処理を
実行するために、MCPU10のRAM106内のレジスタ群は、第
7図に示すように、エンベロープΔx用タイマ、目標エ
ンベロープ、エンベロープΔx、加減フラグ付エンベロ
ープ、現在エンベロープが記憶され、この所望のレジス
タを演算し、更新する。エンベロープは振幅変調のため
に基本波形に付加すべきもので、全体としていくつかの
セグメント(ステップ)から成っている。エンベロープ
Δxタイマと目標エンベロープとエンベロープΔxと加
減フラグ付エンベロープΔyは現在進行中のエンベロー
プセグメントを定義するエンベロープパラメータであ
り、このエンベロープパラメータは、MCPU10のメインプ
ログラム(第4図)の発音制御処理4−9内において、
エンベロープ値がセグメントの目標値に到達の都度、更
新される情報であり、インタラプト処理ルーチン(第5
図)ではこれらのエンベロープパラメータはエンベロー
プΔxタイマを除いて単に参照されるだけである。エン
ベロープΔxはエンベロープの演算周期を表わし、目標
エンベロープは現セグメントにおけるエンベロープの目
標値を表わし、加減フラグ付エンベロープΔyは演算周
期ごとのエンベロープの変化分を表わし、現在エンベロ
ープは現在のエンベロープ値を表わす。第6図のフロー
を詳細に述べると、6−1でエンベロープの演算周期Δ
xと比較するためのタイマレジスタをインタラプトごと
にインクリメントし、6−2でΔxと一致したとき6−
3でエンベロープ変位分のデータΔyの加減算フラグ
(符号ビット)をテストしてエンベロープが上昇中か下
降中かを判別し、6−4、6−5でそれぞれ現在エンベ
ロープの減算または加算を行う。6−6で現在エンベロ
ープが目標エンベロープ値に達したかどうかをチェック
し、達しておれば、6−7で現在エンベロープに目標レ
ベルをセットする。これによりメインプログラムの出力
処理4−9で次のエンベロープステップのデータがセッ
トされることになる。また出力処理4−9でゼロの現在
エンベロープを読んだときには発音の終了として処理さ
れる。このあと6−8で生成された現在エンベロープ値
をRAM106の音源処理レジスタ内で対応するチャンネルの
領域にストアする。
第8図は、SCPU20のインタラプト処理ルーチンのフロ
ーを示す。このルーチンは第5図のフローにおいて出力
する信号Aの発生に同期してスタートするものである。
8−1で波形加算用RAM領域(RAM106内、RAM206内)
をクリアし、8−2〜8−9で第1チャンネルから第8
チャンネルまでの各チャンネル音源処理を順次実行す
る。各チャンネル音源処理の最後で、チャンネルの楽音
波形値が波形加算用RAM領域のデータに加算される。こ
のあと8−10において波形加算用RAMのデータをDACに出
力し、8−11においてオペレーション制御回路212は終
了信号Bを出力する。この信号BはMCPU10のSCPUリセッ
ト制御部134に入力し、信号Aの出力を停止させる。こ
の結果、SCPU20の動作は停止する。
第9図は、第8図の各チャンネル音源処理の詳細なフ
ローを示す。ここにおいては、各チャンネルの波形処理
を行うとともにMCPU10のインタラプト処理ルーチン(第
5図、第6図)において生成されたエンベロープデータ
に基づいてエンベロープ機能を付加するものである。こ
こでの波形処理は、現在アドレスの整数部を使って基本
波形メモリから隣り合う2つアドレスの波形データを読
み出し、(整数部+小数部)で示される現在アドレスに
対して想定される波形値を補間で求めている。補間が必
要な理由は、タイマインタラプトによる波形サンプリン
グ周期が一定であり、アドレスの加算値(ピッチデー
タ)が楽器への応用上、ある音域にわたるためである
(音階音しか出力しない楽器で音階音ごとに波形データ
を用意すれば補間の必要はないが許容できない記憶容量
の増大となる)。補間による音色の劣化、歪みは高音域
の方が著しいため、原音の記録サンプリング周期より高
速の周期で原音を再生するのが好ましい。この実施例で
は原音(4−4)再生の周期を2倍にしている(第10
図)。したがって、アドレス加算値が0.5のとき、A4の
音が得られるようになっている。この場合、A#4では
アドレス加算値は0.529となり、A3のとき、1となる。
これらのアドレス加算値はピッチデータとして制御デー
タ兼波形外部メモリ90内に記憶されており、押鍵時には
前に述べたように出力処理4−9において、鍵に対応す
るピッチデータと選択されている音色の波形スタートア
ドレス、波形エンドアドレス及び波形ループアドレスが
RAM106へ、そしてRAM106からRAMB206の対応するレジス
タ、すなわち、アドレス加算値レジスタ、スタートアド
レス兼現在アドレスレジスタ、エンドアドレスレジス
タ、ループアドレスレジスタにセットされる。
参考までに、第10図に時間に対する補間波形データを
示す。図中、白丸は基本波形メモリの記憶場所にある波
形データ値、×印は補間値を含む出力サンプルを示して
いる。
補間の方式はいろいろあるが、ここでは直線補間を採
用している。詳細に述べると、まず、9−1で現在アド
レスにアドレス加算値を加算して新しい現在アドレスを
得る。9−2で現在アドレスとエンドアドレスを比較
し、現在アドレス>エンドアドレスならば、9−3、9
−4により、現在アドレス<エンドアドレスのときは9
−5により、物理上(番地上)または論理上(動作上)
の次のアドレスを計算し、9−7でその整数部により基
本波形メモリをアクセスして次回波形データを得る。ル
ープアドレスは動作上エンドアドレスの次のアドレスで
ある。すなわち、第10図の場合、図示の波形は繰り返し
読み出される。したがって、現在アドレス=エンドアド
レスのときは次のアドレスとしてループアドレスの波形
データを読み出す(9−6)。9−8、9−9により、
現在アドレスの整数部で基本波形をアクセスして今回の
波形データを読み出す。次に、9−10で次回波形値から
今回波形値を減算し、9−11でその差に現在アドレスの
小数部を乗算し、その結果を9−12で今回の波形値に加
えることにより、波形の直線補間値を求める。この直線
補間したデータに現在エンベロープ値を乗算してチャン
ネルの楽音データ値を得(9−13)、それを波形加算用
レジスタの内容に加えて楽音データを累算する(9−1
4)。このレジスタに累算されたデジタル楽音データがS
CPUインタラプト処理ルーチン(第8図)の8−10でDAC
100に送出される。これに関連し、第1図ではDAC100は
ステレオ出力を得るべく右DAC100Rと左DAC100Lから成っ
ている。この場合、SCPU20の処理する音源チャンネルの
夫々を左右のDACのいずれかに割り当てるかを決めるよ
うにするとよい。具体的には、各チャンネル用の音源デ
ータとして内部RAM206上に、選択DAC指示データをもた
せ、また、2つの波形加算用領域、即ち、左DAC用波形
加算用領域と左DAC用波形加算用領域を設ける。また、
8−1に対応するステップで左右のDAC用の各波形加算
用領域をクリアし、9−13の処理の後、処理チャンネル
に割り当てているDACを選択DAC指示データから判別し、
対応する波形加算用領域に処理チャンネルの楽音波形デ
ータを加算する。そして、SCPU20のインタラプト処理ル
ーチン(第8図)のステップ8−10に対応するステップ
で、加算結果である左DAC用と右DAC用の楽音波形データ
を、それぞれ左DAC100Lと右DAC100Rに送出する。
第12図は、第1図に示されるDACの構成例を示す。
本実施例においてDAC100はSCPU20が生成したデジタル
楽音信号をアナログ楽音信号に変換するものである。第
8図の8−10に示すように、SCPU20はタイマインタラプ
ト処理ルーチンのなかで、SCPU20が生成したデジタル楽
音信号のサンプルをDAC100にセットする。この処理8−
10の実行間隔は平均としてはタイマインタラプト発生部
116の発生するインタラプト信号INTの発生間隔に等しい
が、実際の実行間隔はプログラム動作のために変動す
る。したがって、処理8−10の実行間隔をD/A変換の変
換周期としてD/A変換を行ったとするとアナログ楽音信
号に大きな歪みが生じてしまう。
この問題は第12図に示すような構成をとることにより
解決される。すなわち、オペレーション制御回路112か
らのプログラム制御信号によって制御されるソフト制御
ラッチ1004と、デジタル楽音信号をアナログ楽音信号に
変換するD/A変換器1002との間に、インタラプト発生部1
16からの正確なタイミング信号であるインタラプト信号
INTで制御されるインタラプト制御ラッチ1006を設け
る。インタラプト信号の発生周期はクロック発振器の安
定度に従うので極めて安定である。ラッチ1006の出力は
インタラプト信号のタイミングに同期して切り換わる。
すなわち、インタラプト信号の発生周期がD/A変換器100
2の変換(サンプリング)周期となる。従って、ラッチ1
004の出力が切り換わるタイミングはインタラプト処理
のタイミングずれに従って変動するのがインタラプト信
号で動作するラッチ1006があるのでD/A変換器1002の入
力データが切り換るタイミングはインタラプト信号と同
期する。これにより、前述の第13図は、時間の流れに沿
う本実施例の動作の流れを示すタイムチャートである。
この図からわかるように、インタラプト信号INTが発生
すると、MCPU10はメインフローの実行を中断し、インタ
ラプト処理ルーチンを実行する。ここにおいて、始めに
SCPU20にデータを転送し、このデータ転送が終了すると
SCPU20に動作開始信号Aを出力する。そしてそのあとエ
ンベロープ処理を行う。SCPU20は、信号Aを受けて波形
データピッチ補間、エンベロープ乗算の処理を行う。そ
して処理が終了すると待機状態となる。
このように、本実施例の電子楽器用処理装置はMCPU10
とSCPU20という複数のCPUを有し、内蔵されるプログラ
ムに従ってひとつの音の音源処理を各CPUで分割して実
行することができる。なお実施例では1つのSCPUを使用
しているが、音源処理を行う複数のSCPUを設けるように
してもよい。
[変形例] 以上で実施例の説明を終えるが、この発明の範囲内で
種々の変形、変更が可能である。
例えば、前述の実施例ではひとつの音についての音源
処理を、MCPU10ではエンベロープ処理を、SCPU20では波
形処理をというように分担しているが、この各CPUの分
担を、MCPU10ではシステムの全体制御のみを、SCPU20は
音源処理すべてと、分担を変更することも可能である。
第14図〜第17図は、この変形例の動作を示すフローチ
ャート及びタイムチャートを示す。
ここにおいて特徴的なことは、SCPU20のみで音源処理
を行い、MCPU10ではキースキャン、伴奏パターン発生、
チャンネル割当等の全体制御処理を行うことである。そ
してMCPU10はこれら全体制御処理をメインフローで行
い、インタラプト信号発生にて行なわれるインタラプト
処理ルーチンにおいて、MCPU10からSCPU20のRAM206の音
源処理レジスタ(第18図)へのデータ転送を行うように
なっている。さらに、このデータ転送は、例えばデータ
の値が前に転送されたデータと比べて変わった場合等、
データ転送が必要な場合のみ行なわれるようになってい
る。
第14図は、MCPU10のメインフローを示す。図におい
て、第4図と同一のステップは、第4図と同一番号を付
して説明を省略する。
ステップ4−9の発音制御処理において、各チャンネ
ルに対応するRAM106の領域に必要なデータを記憶したあ
と、14−1において、これらのデータのうち、例えば前
に転送したデータと比べて変化したものがあるか否か
等、SCPU20に転送すべきデータがあるかどうか判断す
る。ここで、有りと判断されると14−2において転送フ
ラグをセットし、なしと判断されると14−3において転
送フラグをリセットして、4−10に移る。このフローの
動作は、インタラプト信号INTが発生するまで続き、信
号INTが発生するとMCPUインタラプト処理ルーチンに移
る。
第15図は、MCPUインタラプト処理ルーチンのフローを
示す。
まず15−1において、SCPU20の動作が完了しているか
どうか判断する。具体的にはMCPU10から動作開始用信号
Aが出力しているかどうかを判断するものであり、もし
信号Aが発生しているならこのステップで待機し、信号
Aが発生していないなら、次のステップ15−2に進む。
15−2においては、前述の転送フラグがセットされてい
るか否か判断する。もしセットされているなら、15−3
においてSCPU20へ音源処理に必要なデータ(例えば、モ
ジュレーションホイール等からの変調データなど)を転
送し、続いて転送フラグをリセットする(15−4)。15
−2で転送フラグがリセットされていると判断されたな
ら、この15−3、15−4のステップの処理は行なわな
い。そして次の15−5において、SCPU20へ動作開始用の
信号Aを出力してメインルーチンに戻る。
SCPU20は、MCPU10からの動作開始信号を受けて、動作
を開始する。第16図はこのSCPU20の動作を示すフローチ
ャートである。まず、16−1において、MCPU10から転送
されたデータに基づき楽音信号データを生成してDAC100
に出力する。これは例えば第6図及び第9図のフローチ
ャートを合わせた処理が為される。そしてこのあと、16
−2において、MCPU10に動作終了信号Bを送出する。MC
PU10はこの信号Bを受けて信号Aを停止させ、SCPU20の
動作を停止させる。
第17図は、この変形例の動作の流れを示すタイムチャ
ートである。この図からわかるように、MCPU10は、イン
タラプト信号INT発生によってインタラプトフローを実
行し、その動作中においてSCPU20にデータを転送すると
ともに動作開始を指示する。SCPU20は、この動作開始指
示により動作を開始し、楽音データを生成し、DAC100に
データを送出する。DAC100は、このSCPU20からの楽音生
成データをその後のインタラプト信号発生時にD/A変換
して出力するように構成されている。なお、この変形例
ではMCPU10のインタラプト処理ルーチンにおいてMCPUか
らSCPUにデータを全て転送していたが、前述の実施例の
ようにSCPUが動作していない間にMCPUのメインフロー動
作期間にデータを転送してもよい。
このように、この変形例においては、MCPU10では全体
の制御処理を、SCPU20では音源の処理を、というように
分割して実行している。このため、今までハードウェア
で構成されていた音源を1つのCPUで構成しているた
め、音源の特性の変更は非常に容易になり、また他の楽
器の音源用として用いる場合でも、ハード的な構成を変
更することなく容易にできる。また、ここにおいてはSC
PUは1個のみ用いているが、複数の音源処理用としてSC
PUを複数個設けることが可能であることは言うまでもな
い。
[発明の効果] 最後に特許請求の範囲に記載の発明の効果、利点につ
いて述べる。
請求項1の構成によれば、上記の効果以外に複数のCP
U間のアクセス量(システムの動作効率の低下につなが
る)を最小にすることができる利点、単一のメインCPU
使用によりシステム制御が容易になる利点、各CPUのハ
ードウェアを同様の回路で構成できるだけでなく各CPU
が内蔵するプログラムも可能なかぎり共通なものが使用
できる利点、結果として電子楽器用処理装置のシステム
構築が容易になる利点等がある。
また、メインのCPUで楽音の生成処理の最初の部分で
ある第1の処理を行い、サブのCPUで残りの処理である
第2の処理を行うようにしたので、楽音合成のアルゴリ
ズムが複雑で、多くの処理過程を必要とする場合におい
て、各CPUの負担が軽くなり、より多彩な楽音信号生成
が可能となる。
また、メインCPUは全体制御処理と音源処理の一部
を、サブCPUは残りの音源処理を行うようにしたので、
音源処理が極めて多くの処理過程が必要な場合、サブCP
Uのみに過大な負担がかからず、処理時間が短くなって
楽音生成能力が上がる。
また、請求項2の構成によれば、音源処理がエンベロ
ープ処理及びエンベロープ付加(乗算処理)を伴う波形
処理から成る場合、メインCPUはエンベロープ処理を行
い、サブCPUが乗算処理を伴う波形処理を行うようにし
たので、乗算処理という処理時間のかかる処理を伴う波
形処理は専用のサブCPUで処理されるため、どちらのCPU
にも過大な負担がかからず、結果として楽音生成処理の
時間が短くなる。
【図面の簡単な説明】
第1図はこの発明を適用した電子楽器用処理装置の全体
構成図、 第2図は第1図のMCPUのブロック図、 第3図は第1図のSCPUのブロック図、 第4図はMCPUの実行するメインプログラムのフローチャ
ート、 第5図はMCPUの実行するインタラプト処理ルーチンのフ
ローチャート、 第6図は第5図のチャンネル処理の詳細なフローチャー
ト、 第7図はMCPUの音源処理用RAMテーブルを示す図、 第8図はSCPUの実行する処理ルーチンのフローチャー
ト、 第9図は第8図の各チャンネル処理の詳細なフローチャ
ート、 第10図は波形データを示す図、 第11図はSCPUの音源処理用RAMテーブルを示す図、 第12図はDACの構成図、 第13図は、時間経過に沿う実施例の動作を示すタイムチ
ャート、 第14図は、本発明の変形例におけるMCPUのメインルーチ
ンのフローチャート、 第15図は、変形例におけるMCPUのインタラプト処理ルー
チンのフローチャート、 第16図は、変形例におけるSCPUの処理ルーチンのフロー
チャート、 第17図は、時間経過に沿う変形例の動作を示すタイムチ
ャート、 第18図は変形例におけるSCPUの音源処理用RAMテーブル
を示す図である。 10……MCPU(メインCPU) 20……SCPU(サブCPU) 102……制御用ROM(MCPUプログラム記憶手段) 106……RAM(MCPUデータ記憶手段) 108……ALU部(MCPU演算処理回路手段) 110……乗算器(MCPU演算処理回路手段) 112……オペレーション制御回路(MCPUオペレーション
制御回路手段) 114……ROMアドレス制御部(MCPUアドレス制御回路手
段) 202……制御用ROM(SCPUプログラム記憶手段) 206……RAM(SCPUデータ記憶手段) 208……ALU部(SCPU演算処理回路手段) 210……乗算器(SCPU演算処理回路手段) 212……オペレーション制御回路(SCPUオペレーション
制御回路手段) 214……ROMアドレス制御部(SCPUアドレス制御回路手
段)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】メインCPU及びこのメインCPUによって制御
    される少なくとも1つのサブCPUからなり、 前記メインCPUは、 楽器への入力を処理するための入力処理プログラムと楽
    音を生成するための処理のうち最初の部分の処理のみを
    行う第1の楽音生成プログラムを記憶するMCPUプログラ
    ム記憶手段と、 所定のサンプリング周期で割り込み信号を発生するタイ
    マーインターラプト制御手段と、 通常は前記MCPUプログラム記憶手段から入力処理プログ
    ラムを読み出すとともに、このタイマーインターラプト
    制御手段からの割り込み信号を受ける毎に前記MCPUプロ
    グラム記憶手段から前記入力処理プログラムに代えて第
    1の楽音生成プログラムを読み出すMCPUアドレス制御手
    段と、 前記MCPUアドレス制御手段により前記MCPUプログラム記
    憶手段から読み出されたプログラムの各命令を解読する
    MCPU解読手段と、 前記MCPU解読手段により解読された入力処理プログラム
    の各命令に基づいて生成された、楽音の生成に必要なデ
    ータを記憶するMCPUデータ記憶手段と、 前記MCPU解読手段にて解読された第1の楽音生成用プロ
    グラムの各命令に基づいて前記MCPUデータ記憶手段に記
    憶された楽音生成に必要なデータを用いて楽音生成処理
    のうちの最初の処理の部分を演算処理して前記MCPUデー
    タ記憶手段に記憶するMCPU演算処理手段と、 前記インターラプト制御手段から割り込みを受ける毎に
    前記MCPUデータ記憶手段に記憶されたデータのうち前記
    MCPU演算処理手段の演算処理により得られたデータを前
    記サブCPUに転送させるとともに、当該サブCPUに対して
    起動信号を供給するサブCPU制御手段と、 を有し、 前記サブCPUは、 前記楽音を生成するための処理のうち残りの部分の処理
    を行う第2の楽音生成プログラムを記憶するSCPUプログ
    ラム記憶手段と、 前記メインCPUからの起動信号を受ける毎に前記SCPUプ
    ログラム記憶手段から前記第2の楽音生成プログラムを
    読み出すSCPUアドレス制御手段と、 前記SCPUアドレス制御手段により前記SCPUプログラム記
    憶手段から読み出されたプログラムの各命令を解読する
    SCPU解読手段と、 前記SCPU解読手段にて解読された第2の楽音生成プログ
    ラムの各命令に基づいて前記メインCPUから転送された
    データを用いて前記楽音生成処理のうちの残りの処理の
    部分を演算処理して出力するSCPU演算処理手段と、 を有することを特徴とする電子楽器用処理装置。
  2. 【請求項2】請求項1記載の電子楽器用処理装置におい
    て、前記第1の楽音生成処理プログラムは、楽音のエン
    ベロープデータを生成する処理を行うためのプログラム
    であり、前記第2の楽音生成処理プログラムは楽音波形
    生成処理及びこの生成された楽音波形に対して前記エン
    ベロープデータデータに基づくエンベロープ付加処理を
    行うためのプログラムであることを特徴とする電子楽器
    用処理装置。
JP2170169A 1990-06-29 1990-06-29 電子楽器用処理装置 Expired - Lifetime JP2797138B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2170169A JP2797138B2 (ja) 1990-06-29 1990-06-29 電子楽器用処理装置
US07/709,101 US5200564A (en) 1990-06-29 1991-05-29 Digital information processing apparatus with multiple CPUs
US08/001,184 US5691493A (en) 1990-06-29 1993-01-07 Multi-channel tone generation apparatus with multiple CPU's executing programs in parallel
US08/486,606 US5584034A (en) 1990-06-29 1995-06-07 Apparatus for executing respective portions of a process by main and sub CPUS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2170169A JP2797138B2 (ja) 1990-06-29 1990-06-29 電子楽器用処理装置

Publications (2)

Publication Number Publication Date
JPH0460596A JPH0460596A (ja) 1992-02-26
JP2797138B2 true JP2797138B2 (ja) 1998-09-17

Family

ID=15899968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2170169A Expired - Lifetime JP2797138B2 (ja) 1990-06-29 1990-06-29 電子楽器用処理装置

Country Status (1)

Country Link
JP (1) JP2797138B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5283386A (en) * 1991-08-30 1994-02-01 Casio Computer Co., Ltd. Musical-tone signal generating apparatus and musical-tone controlling apparatus including delay means and automatic reset means

Also Published As

Publication number Publication date
JPH0460596A (ja) 1992-02-26

Similar Documents

Publication Publication Date Title
US5319151A (en) Data processing apparatus outputting waveform data in a certain interval
US5691493A (en) Multi-channel tone generation apparatus with multiple CPU's executing programs in parallel
US4201105A (en) Real time digital sound synthesizer
US5703310A (en) Automatic performance data processing system with judging CPU operation-capacity
JPS62200399A (ja) 電子楽器におけるパラメ−タ供給装置
US5584034A (en) Apparatus for executing respective portions of a process by main and sub CPUS
JP2797138B2 (ja) 電子楽器用処理装置
JP2797142B2 (ja) 電子楽器用処理装置
US4644841A (en) Electronic musical instrument
EP0376342B1 (en) Data processing apparatus for electronic musical instruments
JP2797137B2 (ja) 電子楽器用処理装置
JPH11202866A (ja) 楽音発生方法および楽音発生装置
JP2576615B2 (ja) 処理装置
JP2576616B2 (ja) 処理装置
JP2576613B2 (ja) 処理装置
JPH0460724A (ja) デジタルマイクロコンピュータ
JPH0460744A (ja) デジタルマイクロコンピュータ
JP3116447B2 (ja) デジタル信号処理プロセッサ
JPH0460746A (ja) デジタルマイクロコンピュータ
JPH0460723A (ja) デジタルマイクロコンピュータ
JPH0460725A (ja) デジタルマイクロコンピュータ
JPH02179696A (ja) 処理装置
JP3275678B2 (ja) 楽音発生方法および装置
JPH0460749A (ja) デジタルマイクロコンピュータ
JPH0460722A (ja) デジタルマイクロコンピュータ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070703

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080703

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090703

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20090703

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100703

Year of fee payment: 12

EXPY Cancellation because of completion of term