JP2797139B2 - 楽音波形発生装置 - Google Patents
楽音波形発生装置Info
- Publication number
- JP2797139B2 JP2797139B2 JP2171218A JP17121890A JP2797139B2 JP 2797139 B2 JP2797139 B2 JP 2797139B2 JP 2171218 A JP2171218 A JP 2171218A JP 17121890 A JP17121890 A JP 17121890A JP 2797139 B2 JP2797139 B2 JP 2797139B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- sound source
- program
- data
- address
- 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
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、楽音波形発生装置における音源処理方式に
関する。
関する。
ディジタル信号処理技術とLSI処理技術の発達により
性能の良い様々な電子楽器が実現されている。特に、演
奏情報に基づいて生成される入力信号に変調を加えるこ
とにより様々に変調された波形を得て楽音波形として出
力する変調方式の楽音波形発生装置を有する電子楽器の
登場が、プロ・アマチュアを問わず音楽人口の大幅な増
加に貢献している。
性能の良い様々な電子楽器が実現されている。特に、演
奏情報に基づいて生成される入力信号に変調を加えるこ
とにより様々に変調された波形を得て楽音波形として出
力する変調方式の楽音波形発生装置を有する電子楽器の
登場が、プロ・アマチュアを問わず音楽人口の大幅な増
加に貢献している。
電子楽器の楽音波形発生装置は、大量かつ高速のディ
ジタル演算が必要なため、従来は、必要とする音源方式
に基づく楽音発生アルゴリズムと等価なアーキテクチャ
をハードウエアで実現した専用の音源回路によって構成
されている。このような音源回路により、変調方式に基
づく音源方式が実現される。
ジタル演算が必要なため、従来は、必要とする音源方式
に基づく楽音発生アルゴリズムと等価なアーキテクチャ
をハードウエアで実現した専用の音源回路によって構成
されている。このような音源回路により、変調方式に基
づく音源方式が実現される。
上述のような音源回路は、いずれの音源方式のものも
その回路規模が大きい。LSI化した場合、変調用の波形
データ等を記憶するメモリ部分を除いても、汎用のデー
タ処理用のマイクロプロセッサの2倍程度の規模にな
る。その理由は、音源回路においては、各種演奏情報に
基づいて波形データをアクセスするための複雑なアドレ
ス制御が必要になるからである。また、音源生成処理の
過程で得られる中間的なデータを一時的に保持するため
のレジスタ等が、音源方式に対応したアーキテクチャで
随所に配置される必要があるためである。特に、変調方
式には楽音発生のアルゴリズムを様々に変更可能なもの
があり、それらに対応したハードウエア構成も必要とな
るからである。更に、複数の楽音を並列して発音可能な
ポリフォニック構成を実現すべく、音源処理を時分割で
ハードウエア的に行うためのシフトレジスタ等も随所に
必要となるためである。
その回路規模が大きい。LSI化した場合、変調用の波形
データ等を記憶するメモリ部分を除いても、汎用のデー
タ処理用のマイクロプロセッサの2倍程度の規模にな
る。その理由は、音源回路においては、各種演奏情報に
基づいて波形データをアクセスするための複雑なアドレ
ス制御が必要になるからである。また、音源生成処理の
過程で得られる中間的なデータを一時的に保持するため
のレジスタ等が、音源方式に対応したアーキテクチャで
随所に配置される必要があるためである。特に、変調方
式には楽音発生のアルゴリズムを様々に変更可能なもの
があり、それらに対応したハードウエア構成も必要とな
るからである。更に、複数の楽音を並列して発音可能な
ポリフォニック構成を実現すべく、音源処理を時分割で
ハードウエア的に行うためのシフトレジスタ等も随所に
必要となるためである。
〔発明が解決しようとする課題〕 以上のように、従来の楽音波形発生装置は、音源方式
に対応した専用の音源回路によって構成されているた
め、ハードウエア規模が大きくなってしまい、LSIで実
現した場合におけるLSIチップ製造時の歩留り等の点に
おいて、製造段階でのコストアップを招き、楽音波形発
生装置の大型化を招いてしまういう問題点を有してい
る。
に対応した専用の音源回路によって構成されているた
め、ハードウエア規模が大きくなってしまい、LSIで実
現した場合におけるLSIチップ製造時の歩留り等の点に
おいて、製造段階でのコストアップを招き、楽音波形発
生装置の大型化を招いてしまういう問題点を有してい
る。
また、音源方式を変更したい場合、ポリフォニック数
を変更したい場合等において、音源回路の大幅な変更を
余儀なくされ、開発段階でのコストアップを招いてしま
うという問題点を有している。
を変更したい場合等において、音源回路の大幅な変更を
余儀なくされ、開発段階でのコストアップを招いてしま
うという問題点を有している。
更に、従来の楽音波形発生装置を電子楽器として実現
するような場合には、演奏操作に対応する演奏情報から
音源回路で処理可能なデータを生成したり、他の楽器と
の演奏情報の通信を行ったりするための、マイクロプロ
セッサ等により構成される制御回路が必要となる。そし
て、このような制御回路においては、演奏情報を処理す
るための演奏情報処理プログラムのほかに、音源回路に
演奏情報に対応したデータを供給するための音源回路に
対応した音源制御プログラムが必要となり、しかも、そ
の両方のプログラムを同期させて動作させる必要があ
る。このようなプログラムの複雑性から、その開発にお
いて多大なコストアップを招いてしまうという問題点を
有している。
するような場合には、演奏操作に対応する演奏情報から
音源回路で処理可能なデータを生成したり、他の楽器と
の演奏情報の通信を行ったりするための、マイクロプロ
セッサ等により構成される制御回路が必要となる。そし
て、このような制御回路においては、演奏情報を処理す
るための演奏情報処理プログラムのほかに、音源回路に
演奏情報に対応したデータを供給するための音源回路に
対応した音源制御プログラムが必要となり、しかも、そ
の両方のプログラムを同期させて動作させる必要があ
る。このようなプログラムの複雑性から、その開発にお
いて多大なコストアップを招いてしまうという問題点を
有している。
その一方、近年においては、汎用のデータ処理を行う
ための高性能なマイクロプロセッサが多く実現されてお
り、このようなマイクロプロセッサを使用して音源処理
をソフト的に行う楽音波形発生装置を実現させることも
考えられる。しかし、演奏情報を処理するための演奏情
報処理プログラムと、その演奏情報に基づいて音源処理
を実行するための音源処理プログラムとを同期して動作
させるための技術が知られていない。特に、音源方式に
より音源処理プログラムにおける処理時間が変化するた
め、生成された楽音データをD/A変換器へ出力するため
の複雑なタイミング制御プログラムが必要となってしま
う。このように、音源処理を単純にソフト的に行うだけ
では、処理プログラムが非常に複雑になり、処理速度及
びプログラム容量の面から変調方式のような高度な音源
方式の処理ができない。特に、前述したように、変調方
式には楽音発生のアルゴリズムを様々に変更可能なもの
があるが、このような各アルゴリズムに対応する音源処
理プログラムをマイクロプロセッサに個別に持たせる
と、プログラム容量の点で不利になり、結局、楽音発生
装置のコストアップ及び大型化を招く。
ための高性能なマイクロプロセッサが多く実現されてお
り、このようなマイクロプロセッサを使用して音源処理
をソフト的に行う楽音波形発生装置を実現させることも
考えられる。しかし、演奏情報を処理するための演奏情
報処理プログラムと、その演奏情報に基づいて音源処理
を実行するための音源処理プログラムとを同期して動作
させるための技術が知られていない。特に、音源方式に
より音源処理プログラムにおける処理時間が変化するた
め、生成された楽音データをD/A変換器へ出力するため
の複雑なタイミング制御プログラムが必要となってしま
う。このように、音源処理を単純にソフト的に行うだけ
では、処理プログラムが非常に複雑になり、処理速度及
びプログラム容量の面から変調方式のような高度な音源
方式の処理ができない。特に、前述したように、変調方
式には楽音発生のアルゴリズムを様々に変更可能なもの
があるが、このような各アルゴリズムに対応する音源処
理プログラムをマイクロプロセッサに個別に持たせる
と、プログラム容量の点で不利になり、結局、楽音発生
装置のコストアップ及び大型化を招く。
本発明は、専用の音源回路を必要とすることなく、マ
イクロプロセッサのプログラム制御によって、様々な楽
音発生のアルゴリズムで動作する変調方式による高度な
音源処理を可能とすることを目的とする。
イクロプロセッサのプログラム制御によって、様々な楽
音発生のアルゴリズムで動作する変調方式による高度な
音源処理を可能とすることを目的とする。
本発明は、まず、演奏情報を処理するための演奏情報
処理プログラムと、楽音信号を得るための変調方式によ
る音源処理プログラムを記憶するROM等のプログラム記
憶手段を有する。この場合の変調方式は、例えば位相変
調方式又は周波数変調方式等である。また、音源処理プ
ログラムは、変調処理単位である少なくとも1つのオペ
レータ処理と該各オペレータ処理間の各入出力処理であ
るアルゴリズム処理とが分割して実行される処理構造を
有する。
処理プログラムと、楽音信号を得るための変調方式によ
る音源処理プログラムを記憶するROM等のプログラム記
憶手段を有する。この場合の変調方式は、例えば位相変
調方式又は周波数変調方式等である。また、音源処理プ
ログラムは、変調処理単位である少なくとも1つのオペ
レータ処理と該各オペレータ処理間の各入出力処理であ
るアルゴリズム処理とが分割して実行される処理構造を
有する。
次に、プログラム記憶手段に記憶されたプログラムを
読み出すためのアドレスを制御するアドレス制御手段を
有する。
読み出すためのアドレスを制御するアドレス制御手段を
有する。
そしてこのアドレス制御手段によりプログラム記憶手
段から読み出されたプログラムの各命令を解読する解読
手段を有する。
段から読み出されたプログラムの各命令を解読する解読
手段を有する。
また、前述の変調方式で楽音信号を生成するために必
要な楽音生成データを記憶するデータ記憶手段を有す
る。
要な楽音生成データを記憶するデータ記憶手段を有す
る。
更に、四則演算処理を実行する乗算器等を含む演算処
理手段を有する。
理手段を有する。
そして、上述のアドレス制御手段、データ記憶手段及
び演算処理手段を制御しながら、プログラム記憶手段に
記憶された演算情報処理プログラム又は音源処理プログ
ラムを実行するプログラム実行手段を有する。同手段
は、通常時は前記演奏情報処理プログラムを実行してデ
ータ記憶手段上の楽音生成データを制御し、所定時間間
隔で音源処理プログラムに制御を移してそれを実行し、
その終了後に再び演奏情報処理プログラムを実行する。
また、プログラム実行手段は、楽音処理プログラムの実
行時に、データ記憶手段上の楽音生成データに基づいて
変調方式で楽音信号を生成する。この場合、プログラム
実行手段は、例えば上記所定時間間隔で割り込み信号を
発生する割り込み制御手段を有する。これにより、プロ
グラム実行手段は、演奏情報処理プログラムを実行中
に、割り込み制御手段から割り込み信号が発生したタイ
ミングで演奏情報処理プログラムを中断し、音源処理プ
ログラムに制御を移してそれを実行し、その終了後に割
り込みを解除して演奏情報処理プログラムの実行を再開
する。更に、プログラム実行手段は、音源処理プログラ
ムの実行時に、所定時間間隔毎にオペレータ処理及びア
ルゴリズム処理のいずれか一方のみを交互に実行する。
すなわち、前記割り込み信号を単位とする割り込み周期
について、例えば1周期おきにオペレータ処理とアルゴ
リズム処理とが交互に繰り返されることになる。
び演算処理手段を制御しながら、プログラム記憶手段に
記憶された演算情報処理プログラム又は音源処理プログ
ラムを実行するプログラム実行手段を有する。同手段
は、通常時は前記演奏情報処理プログラムを実行してデ
ータ記憶手段上の楽音生成データを制御し、所定時間間
隔で音源処理プログラムに制御を移してそれを実行し、
その終了後に再び演奏情報処理プログラムを実行する。
また、プログラム実行手段は、楽音処理プログラムの実
行時に、データ記憶手段上の楽音生成データに基づいて
変調方式で楽音信号を生成する。この場合、プログラム
実行手段は、例えば上記所定時間間隔で割り込み信号を
発生する割り込み制御手段を有する。これにより、プロ
グラム実行手段は、演奏情報処理プログラムを実行中
に、割り込み制御手段から割り込み信号が発生したタイ
ミングで演奏情報処理プログラムを中断し、音源処理プ
ログラムに制御を移してそれを実行し、その終了後に割
り込みを解除して演奏情報処理プログラムの実行を再開
する。更に、プログラム実行手段は、音源処理プログラ
ムの実行時に、所定時間間隔毎にオペレータ処理及びア
ルゴリズム処理のいずれか一方のみを交互に実行する。
すなわち、前記割り込み信号を単位とする割り込み周期
について、例えば1周期おきにオペレータ処理とアルゴ
リズム処理とが交互に繰り返されることになる。
上記構成に加えて、プログラム実行手段が音源処理プ
ログラムを実行して得られた楽音信号を保持し、該保護
された楽音信号を一定の出力時間間隔で例えばD/A変換
器に出力する楽音信号出力手段を有する。この場合の一
定の出力時間間隔は、通常はD/A変換器等のサンプリン
グ周期に等しいが、この時間間隔は前述の所定時間間隔
と同じ間隔か、或いは、音源処理プログラムを複数回実
行して1サンプル分の楽音信号を生成するようにした場
合には、所定時間間隔の複数回分の1の時間間隔とな
る。
ログラムを実行して得られた楽音信号を保持し、該保護
された楽音信号を一定の出力時間間隔で例えばD/A変換
器に出力する楽音信号出力手段を有する。この場合の一
定の出力時間間隔は、通常はD/A変換器等のサンプリン
グ周期に等しいが、この時間間隔は前述の所定時間間隔
と同じ間隔か、或いは、音源処理プログラムを複数回実
行して1サンプル分の楽音信号を生成するようにした場
合には、所定時間間隔の複数回分の1の時間間隔とな
る。
本発明では、プログラム記憶手段、アドレス制御手
段、データ記憶手段、演算処理手段及びプログラム実行
手段は、汎用のマイクロプロセッサと同様の構成であ
り、専用の音源回路は全く必要としない。また、楽音信
号出力手段は、汎用のマイクロプロセッサとは異なる構
成であるが、楽音波形発生装置という範疇では汎用的で
ある。
段、データ記憶手段、演算処理手段及びプログラム実行
手段は、汎用のマイクロプロセッサと同様の構成であ
り、専用の音源回路は全く必要としない。また、楽音信
号出力手段は、汎用のマイクロプロセッサとは異なる構
成であるが、楽音波形発生装置という範疇では汎用的で
ある。
これにより、楽音波形発生装置全体の回路規模を大幅
に小型化することができ、LSI化した場合等においても
通常のマイクロプロセッサの製造技術と同じでよく、チ
ップの歩留りも向上するため、製造コストを大幅に低減
させることができる。なお、楽音信号出力手段は簡単な
ラッチ回路で構成できるため、この部分を付加したこと
による製造コストの増加はほとんどない。
に小型化することができ、LSI化した場合等においても
通常のマイクロプロセッサの製造技術と同じでよく、チ
ップの歩留りも向上するため、製造コストを大幅に低減
させることができる。なお、楽音信号出力手段は簡単な
ラッチ回路で構成できるため、この部分を付加したこと
による製造コストの増加はほとんどない。
また、変調方式を例えば位相変調方式と周波数変調方
式とで変更したい場合、ポリフォニック数を変更したい
場合等において、プログラム記憶手段に記憶させる音源
処理プログラムを変更するだけで対処でき、新たな楽音
波形発生装置の開発コストを大幅に減少させることが可
能となり、ユーザに対しても例えばROMカード等によっ
て新たな変調方式を提供することが可能となる。
式とで変更したい場合、ポリフォニック数を変更したい
場合等において、プログラム記憶手段に記憶させる音源
処理プログラムを変更するだけで対処でき、新たな楽音
波形発生装置の開発コストを大幅に減少させることが可
能となり、ユーザに対しても例えばROMカード等によっ
て新たな変調方式を提供することが可能となる。
以上のような作用を可能とするのは、本発明が次のよ
うなプログラムアーキテクチャ及びデータアーキテクチ
ャを実現したからである。
うなプログラムアーキテクチャ及びデータアーキテクチ
ャを実現したからである。
すなわち、本発明では、データ記憶手段上に変調方式
で楽音を生成するため必要な楽音生成データを記憶させ
るデータアーキテクチャを実現している。そして、演算
情報処理プログラムが実行される場合は、データ記憶手
段上の楽音生成データが制御され、音源処理プログラム
が実行される場合は、データ記憶手段上の楽音生成デー
タに基づいて楽音信号が生成される。このように演奏情
報処理プログラムと音源処理プログラムとの間のデータ
の通信は、データ記憶手段上の楽音生成データを介して
行われ、各プログラムにおけるデータ記憶手段に対する
アクセスは、相手のプログラムの実行状態に一切関わり
なく行えばよいため、実質的に両プログラムを独立した
モジュール構成とすることができ、簡単かつ効率的なプ
ログラム構造とすることができる。
で楽音を生成するため必要な楽音生成データを記憶させ
るデータアーキテクチャを実現している。そして、演算
情報処理プログラムが実行される場合は、データ記憶手
段上の楽音生成データが制御され、音源処理プログラム
が実行される場合は、データ記憶手段上の楽音生成デー
タに基づいて楽音信号が生成される。このように演奏情
報処理プログラムと音源処理プログラムとの間のデータ
の通信は、データ記憶手段上の楽音生成データを介して
行われ、各プログラムにおけるデータ記憶手段に対する
アクセスは、相手のプログラムの実行状態に一切関わり
なく行えばよいため、実質的に両プログラムを独立した
モジュール構成とすることができ、簡単かつ効率的なプ
ログラム構造とすることができる。
上記データアキテクチャに加えて、本発明では、通常
時は演奏情報処理プログラムを実行して、例えば鍵盤キ
ーや各種設定スイッチの走査、デモ演奏制御等を行い、
それに対して所定時間間隔で音源処理プログラムを実行
させ、その処理が終わったら再び演奏情報処理プログラ
ムに戻るというプログラムアーキテクチャを実現してい
る。これにより、音源処理プログラムは、例えば割り込
み制御手段からの所定時間間隔で発生する割り込み信号
に基づいて強制的に演奏情報処理プログラムに割り込め
ばよいため、演奏情報処理プログラムと音源処理プログ
ラムとの間の同期をとる必要はない。
時は演奏情報処理プログラムを実行して、例えば鍵盤キ
ーや各種設定スイッチの走査、デモ演奏制御等を行い、
それに対して所定時間間隔で音源処理プログラムを実行
させ、その処理が終わったら再び演奏情報処理プログラ
ムに戻るというプログラムアーキテクチャを実現してい
る。これにより、音源処理プログラムは、例えば割り込
み制御手段からの所定時間間隔で発生する割り込み信号
に基づいて強制的に演奏情報処理プログラムに割り込め
ばよいため、演奏情報処理プログラムと音源処理プログ
ラムとの間の同期をとる必要はない。
更に、プログラム実行手段が音源処理プログラムを実
行する場合には、変調方式の種類又は変調方式における
楽音生成アルゴリズムの選択等によって処理時間が変化
するが、この変化は、楽音信号出力手段によって全て吸
収することができる。従って、楽音信号をD/A変換器等
へ出力するための複雑なタイミング制御プログラムが必
要なくなる。
行する場合には、変調方式の種類又は変調方式における
楽音生成アルゴリズムの選択等によって処理時間が変化
するが、この変化は、楽音信号出力手段によって全て吸
収することができる。従って、楽音信号をD/A変換器等
へ出力するための複雑なタイミング制御プログラムが必
要なくなる。
以上のように、演奏情操処理プログラムと音源処理プ
ログラムとの間のデータのリンクをデータ記憶手段上の
楽音生成データを介して行うというデータアーキテクチ
ャと、演奏情報処理プログラムに対して所定時間間隔で
音源処理プログラムを実行するというプログラムアーキ
テクチャを実現し、更に、楽音信号出力手段を設けたこ
とにより、汎用プロセッサとほとんど同じ構成で、効率
的なプログラム制御に基づく音源処理が実現される。
ログラムとの間のデータのリンクをデータ記憶手段上の
楽音生成データを介して行うというデータアーキテクチ
ャと、演奏情報処理プログラムに対して所定時間間隔で
音源処理プログラムを実行するというプログラムアーキ
テクチャを実現し、更に、楽音信号出力手段を設けたこ
とにより、汎用プロセッサとほとんど同じ構成で、効率
的なプログラム制御に基づく音源処理が実現される。
更に、特に本発明では、音源処理プログラムのアーキ
テクチャとして、変調処理単位である少なくとも1つの
オペレータ処理と該各オペレータ処理間の各入出力処理
であるアルゴリズム処理とが分割して実行される処理構
造を有する。これにより、プログラム実行手段が、音源
処理プログラムの実行時に、オペレータ処理とアルゴリ
ズム処理を所定時間間隔を単位とする処理周期について
異なる処理周期において分割して実行することができ
る。従って、非常に複雑な変調方式を音源処理プログラ
ムとして実行する場合にも、一処理周期あたりの音源処
理プログラムの処理負荷を著しく減少させることができ
る。この場合、処理周期を長くする必要はないため、演
奏情報処理プログラムが中断する時間が増加することは
なく、同プログラムに影響を与えずに処理負荷を低減さ
せることができる。
テクチャとして、変調処理単位である少なくとも1つの
オペレータ処理と該各オペレータ処理間の各入出力処理
であるアルゴリズム処理とが分割して実行される処理構
造を有する。これにより、プログラム実行手段が、音源
処理プログラムの実行時に、オペレータ処理とアルゴリ
ズム処理を所定時間間隔を単位とする処理周期について
異なる処理周期において分割して実行することができ
る。従って、非常に複雑な変調方式を音源処理プログラ
ムとして実行する場合にも、一処理周期あたりの音源処
理プログラムの処理負荷を著しく減少させることができ
る。この場合、処理周期を長くする必要はないため、演
奏情報処理プログラムが中断する時間が増加することは
なく、同プログラムに影響を与えずに処理負荷を低減さ
せることができる。
本実施例の概要 まず、本実施例の概要を説明する。
第1図は、本実施例の全体構成図であり、外部メモリ
116以外は1チップで構成され、その中のマスターとス
レーブの2つのCPU(中央演算制御装置)が互いに情報
を交換しつつ、楽音作成のための音源処理を分担して行
う。
116以外は1チップで構成され、その中のマスターとス
レーブの2つのCPU(中央演算制御装置)が互いに情報
を交換しつつ、楽音作成のための音源処理を分担して行
う。
例えば16チャネルのポリフォニックの場合、8チャネ
ルをマスタCPU101で処理し、残り8チャネルはスレーブ
CPU102の方で処理する。
ルをマスタCPU101で処理し、残り8チャネルはスレーブ
CPU102の方で処理する。
この音源処理は、ソフトウエアで行われるが、演奏の
場合、発音チャネル毎にPCMやDPCMの音源方式およびFM
や位相変調などの変調方式による音源方式が割り当てら
れる。
場合、発音チャネル毎にPCMやDPCMの音源方式およびFM
や位相変調などの変調方式による音源方式が割り当てら
れる。
この音源方式は、特定の楽器音色、例えばトランペッ
トとかチューバなどの場合は、自動的に指定されるが、
他の楽器音色では、音源方式を選択スイッチで選択で
き、また演奏の音域や、キータッチなどの演奏強度に応
じて自動的に選択され得る。
トとかチューバなどの場合は、自動的に指定されるが、
他の楽器音色では、音源方式を選択スイッチで選択で
き、また演奏の音域や、キータッチなどの演奏強度に応
じて自動的に選択され得る。
その他、例えば1回の押鍵で2チャネルに同時に、か
つ異なる音源方式を、例えばアタックの部分はPCM方式
で、持続部分はFM方式にするように、割り当てることも
可能である。
つ異なる音源方式を、例えばアタックの部分はPCM方式
で、持続部分はFM方式にするように、割り当てることも
可能である。
さらに、例えばFM方式の場合、音源処理のアリゴリズ
ムに従って、ソフトウエアで処理するのに、汎用CPUで
行うと時間がかかり過ぎるが、本実施例ではその点も解
決した。
ムに従って、ソフトウエアで処理するのに、汎用CPUで
行うと時間がかかり過ぎるが、本実施例ではその点も解
決した。
以上が本実施例の概要である。
本実施例の構成 以下、図面を参照しながら本発明の実施例を説明す
る。
る。
第1図において、まず、外部メモリ116には、エンベ
ロープ値の目標値等の楽音制御パラメータと、PCM(パ
ルス符号変調)方式における楽音波形またはDPCM(差分
パルス符号変調)方式における楽音差分波形等が記憶さ
れている。
ロープ値の目標値等の楽音制御パラメータと、PCM(パ
ルス符号変調)方式における楽音波形またはDPCM(差分
パルス符号変調)方式における楽音差分波形等が記憶さ
れている。
一方、マスタCPU(以下、MCPUと略称する)101とス
レーブCPU(以下、SCPUと略称する)102は、外部メモ
リ116上の上記各データをアクセスして、分担して音源
処理を行う。これらのCPUは、ともに外部メモリ116の波
形データ等を共用するので、このままでは、外部メモリ
116からデータを読み込むときに、競合が発生する恐れ
がある。そのために、MCPU101とSCPU102のそれぞれ
は、MCPU外部メモリアクセス用アドレスラッチ部103お
よびSCPU外部メモリアクセス用アドレスラッチ部104を
介して、アクセス用アドレス競合回避回路105から外部
メモリアクセス用のアドレス信号と外部メモリ制御デー
タを、出力端子111、112から出力することにより、MCP
U101からのアドレスとSCPU102からのアドレスの競合を
回避することができる。
レーブCPU(以下、SCPUと略称する)102は、外部メモ
リ116上の上記各データをアクセスして、分担して音源
処理を行う。これらのCPUは、ともに外部メモリ116の波
形データ等を共用するので、このままでは、外部メモリ
116からデータを読み込むときに、競合が発生する恐れ
がある。そのために、MCPU101とSCPU102のそれぞれ
は、MCPU外部メモリアクセス用アドレスラッチ部103お
よびSCPU外部メモリアクセス用アドレスラッチ部104を
介して、アクセス用アドレス競合回避回路105から外部
メモリアクセス用のアドレス信号と外部メモリ制御デー
タを、出力端子111、112から出力することにより、MCP
U101からのアドレスとSCPU102からのアドレスの競合を
回避することができる。
上記アドレス指定に基づいて外部メモリ116から読み
出されたデータは、外部メモリデータイン端子115から
外部メモリセレクタ部106に入力される。外部メモリセ
レクタ部106は、アクセス用アドレス競合回避回路105か
らの制御信号に基づいて、上記読み出されたデータを、
データバスMDを通ってMCPU101に入力されるデータと、
データバスSDを通ってSCPU102に入力されるデータに分
離し、それぞれMCPU101とSCPU102に入力させる。これ
により、データの競合も回避することができる。
出されたデータは、外部メモリデータイン端子115から
外部メモリセレクタ部106に入力される。外部メモリセ
レクタ部106は、アクセス用アドレス競合回避回路105か
らの制御信号に基づいて、上記読み出されたデータを、
データバスMDを通ってMCPU101に入力されるデータと、
データバスSDを通ってSCPU102に入力されるデータに分
離し、それぞれMCPU101とSCPU102に入力させる。これ
により、データの競合も回避することができる。
その後、それぞれのデータに対して、MCPU101および
SCPU102で、ソフトウエアによって音源処理が施された
後、発音チャネル分全部が累算され、Left D/A変換器部
107のレフト出力端子113およびRight D/A変換器部108の
ライト出力端子114から、それぞれ楽音信号として、左
チャネルのレフト・アナログ出力と右チャネルのライト
・アナログ出力が出力される。
SCPU102で、ソフトウエアによって音源処理が施された
後、発音チャネル分全部が累算され、Left D/A変換器部
107のレフト出力端子113およびRight D/A変換器部108の
ライト出力端子114から、それぞれ楽音信号として、左
チャネルのレフト・アナログ出力と右チャネルのライト
・アナログ出力が出力される。
つぎに、第2図はMCPU101の内部構成を示すブロック
図である。
図である。
同図において、制御用ROM201には、後述する楽音制御
用のプログラムが記憶されており、ROMアドレス制御部2
05からROMアドレスデコーダ202を介して指定されたアド
レスのプログラム語(命令)を順次出力する。具体的に
は、各プログラム語の語長は例えば28ビットであり、プ
ログラム語の一部が次に読み出されるべきアドレスの下
位部(ページ内アドレス)としてROMアドレス制御部205
に入力されるネクストアドレス方式となっている。な
お、当然、通常のプログラムカウンタ方式のCPUで構成
してもよい。
用のプログラムが記憶されており、ROMアドレス制御部2
05からROMアドレスデコーダ202を介して指定されたアド
レスのプログラム語(命令)を順次出力する。具体的に
は、各プログラム語の語長は例えば28ビットであり、プ
ログラム語の一部が次に読み出されるべきアドレスの下
位部(ページ内アドレス)としてROMアドレス制御部205
に入力されるネクストアドレス方式となっている。な
お、当然、通常のプログラムカウンタ方式のCPUで構成
してもよい。
コマンド解析部207は、制御用ROM201から出力される
命令のオペコードを解析し、指定されたオペレーション
を実行するために、回路の各部に制御信号を送る。
命令のオペコードを解析し、指定されたオペレーション
を実行するために、回路の各部に制御信号を送る。
RAMアドレス制御部204は、制御用ROM201からの命令の
オペランドがレジスタを指定している場合に、RAM206内
の対応するレジスタのアドレスを指定する。RAM206に
は、第11図及び第12図等として後述する各種楽音制御デ
ータが8発音チャネル分記憶されるほか、後述する各種
バッファ等が記憶され、後述する音源処理に使用され
る。
オペランドがレジスタを指定している場合に、RAM206内
の対応するレジスタのアドレスを指定する。RAM206に
は、第11図及び第12図等として後述する各種楽音制御デ
ータが8発音チャネル分記憶されるほか、後述する各種
バッファ等が記憶され、後述する音源処理に使用され
る。
ALU部208及び乗算器209は、制御ROM31からの命令が演
算命令の場合に、コマンド解析部207からの指示に基づ
いて、前者は加減算と論理演算、後者は乗算を実行す
る。
算命令の場合に、コマンド解析部207からの指示に基づ
いて、前者は加減算と論理演算、後者は乗算を実行す
る。
インタラプト制御部203は、内部の特には図示しない
ハードタイマに基づいて、一定時間毎に、第1図のSCP
U102にリセット解除信号A、ROMアドレス制御部205及び
第1図の各D/A変換器部107、108にインタラプト信号を
供給する。
ハードタイマに基づいて、一定時間毎に、第1図のSCP
U102にリセット解除信号A、ROMアドレス制御部205及び
第1図の各D/A変換器部107、108にインタラプト信号を
供給する。
上述の構成のほかに、第2図のMCPU101には、つぎの
各種のバスに関するインタフェースが設けられている。
各種のバスに関するインタフェースが設けられている。
すなわち、外部メモリ116をアクセスすべく、そのメ
モリのアドレスを指定するためのアドレスバスMAのイン
タフェース215、アクセスされたデータを外部メモリセ
レクタ部106を介してMCPU101との間で授受するための
データバスMDのインタフェース216、SCPU102とのデー
タの授受を実行すべくSCPU102内部のRAMのアドレスを
指定するバスMaのインタフェース212、MCPU101がSCPU
102へデータを書き込むためのデータバスDoutのインタ
フェース213、MCPU101がSCPU102からデータを読み込
むためのデータバスDinのインタフェース214、Left D/A
変換器部107、Right D/A変換器部108に最終出力波形を
転送するためのD/Aデータ転送バスのインタフェース21
7、および外部のスイッチ部又は鍵盤部(第8図参照)
等との間でデータの授受を行う入出力ポート210、211が
ある。
モリのアドレスを指定するためのアドレスバスMAのイン
タフェース215、アクセスされたデータを外部メモリセ
レクタ部106を介してMCPU101との間で授受するための
データバスMDのインタフェース216、SCPU102とのデー
タの授受を実行すべくSCPU102内部のRAMのアドレスを
指定するバスMaのインタフェース212、MCPU101がSCPU
102へデータを書き込むためのデータバスDoutのインタ
フェース213、MCPU101がSCPU102からデータを読み込
むためのデータバスDinのインタフェース214、Left D/A
変換器部107、Right D/A変換器部108に最終出力波形を
転送するためのD/Aデータ転送バスのインタフェース21
7、および外部のスイッチ部又は鍵盤部(第8図参照)
等との間でデータの授受を行う入出力ポート210、211が
ある。
つぎに、SCPU102の内部構成を第3図に示す。
SCPU102は、MCPU101からの処理開始信号を受けて音
源処理を行うのみなので、第2図203に対応するインタ
ラプト制御部、第2図210及び211に対応する外部回路と
のデータの授受を行う入出力ポート、および第2図217
に対応するLeft D/A変換器部107とRight D/A変換器部10
8に楽音信号を出力するためのインタフェースはない。
それ以外の301、302、304〜309の各回路は、第2図の20
1、202、204〜209の各回路と同じ機能を有する。また、
各インタフェース303、310〜303は、第2図の212〜216
のそれぞれに対向して設けられる。なお、MCPU101から
バスMaを介して指定されたSCPU102内部RAMアドレス
は、RAMアドレス制御部304に入力し、対応するアドレス
がRAM306に対して指定される。これにより、例えばSCP
U102で生成されRAM306内部に保持されている8発音チャ
ネル分の累算波形データが、データバスDINを介してM
CPU101に出力される。これについては後述する。
源処理を行うのみなので、第2図203に対応するインタ
ラプト制御部、第2図210及び211に対応する外部回路と
のデータの授受を行う入出力ポート、および第2図217
に対応するLeft D/A変換器部107とRight D/A変換器部10
8に楽音信号を出力するためのインタフェースはない。
それ以外の301、302、304〜309の各回路は、第2図の20
1、202、204〜209の各回路と同じ機能を有する。また、
各インタフェース303、310〜303は、第2図の212〜216
のそれぞれに対向して設けられる。なお、MCPU101から
バスMaを介して指定されたSCPU102内部RAMアドレス
は、RAMアドレス制御部304に入力し、対応するアドレス
がRAM306に対して指定される。これにより、例えばSCP
U102で生成されRAM306内部に保持されている8発音チャ
ネル分の累算波形データが、データバスDINを介してM
CPU101に出力される。これについては後述する。
以上に示される構成のほか、本実施例では、MCPU101
の入力ポート210を介して、第8図に示されるような機
能キー801および鍵盤キー802等が接続される。これらの
部分が、実質的な楽器操作部を構成する。
の入力ポート210を介して、第8図に示されるような機
能キー801および鍵盤キー802等が接続される。これらの
部分が、実質的な楽器操作部を構成する。
つぎに、本発明の特徴の1つであるD/A変換器につい
て説明する。
て説明する。
第6図(b)は、第1図のLeftとRightのD/A変換器部
107、108(両変換部の内容は同じ)の内部構成を示すも
ので、データバスを介して、音源処理で作成された楽音
の1サンプルデータが、ラッチ601に入力される。そし
て、ラッチ601のクロック入力にMCPU101のコマンド解
析部207(第2図)から音源処理終了信号が入力される
と、データバス上の1サンプル分の楽音データが、第7
図に示すようにラッチ601にラッチされる。
107、108(両変換部の内容は同じ)の内部構成を示すも
ので、データバスを介して、音源処理で作成された楽音
の1サンプルデータが、ラッチ601に入力される。そし
て、ラッチ601のクロック入力にMCPU101のコマンド解
析部207(第2図)から音源処理終了信号が入力される
と、データバス上の1サンプル分の楽音データが、第7
図に示すようにラッチ601にラッチされる。
ここで、前述の音源処理に要する時間は、音源処理用
のソフトウエアにより変化する。そのため、音源方式が
異なる場合は、各音源処理が終了し、ラッチ601に楽音
データがラッチされるタイミングは一定でない。そのた
め、第6図(a)のように、ラッチ601の出力をそのま
まD/A変換器603に入力させることはできない。
のソフトウエアにより変化する。そのため、音源方式が
異なる場合は、各音源処理が終了し、ラッチ601に楽音
データがラッチされるタイミングは一定でない。そのた
め、第6図(a)のように、ラッチ601の出力をそのま
まD/A変換器603に入力させることはできない。
そこで、本実施例では第6図(b)の如く、ラッチ60
1の出力をさらにラッチ602でラッチし、インタラプト制
御部203から出力されるサンプリングクロック間隔に等
しいインタラプト信号により、楽音信号をラッチ602に
ラッチさせ、一定間隔でD/A変換器603に出力させるよう
にしている。
1の出力をさらにラッチ602でラッチし、インタラプト制
御部203から出力されるサンプリングクロック間隔に等
しいインタラプト信号により、楽音信号をラッチ602に
ラッチさせ、一定間隔でD/A変換器603に出力させるよう
にしている。
このようにラッチを2つ用いて、音源方式による処理
時間の変化を吸収したので、楽器データをD/A変換器へ
出力させるための複雑なタイミング制御プログラムが不
用になった。
時間の変化を吸収したので、楽器データをD/A変換器へ
出力させるための複雑なタイミング制御プログラムが不
用になった。
本実施例の全体動作 つぎに、本実施例の全体動作を説明する。
本実施例は、基本的にはMCPU101が中心となって動作
し、第4図(a)のメインフローチャートに示すよう
に、S402〜S410の一連の処理を繰り返し行っている。そ
して実際の音源処理は割り込み(インタラプト)処理で
行っている。具体的には、ある一定時間毎に、MCPU101
とSCPU102に割り込みが掛かり、それに基づいてそれぞ
れのCPUがチャンネルずつの音を作る音源処理を行う。
その処理が終わると、それぞれのCPUの8チャネル、計1
6チャネル分の楽音波形が加算され、LeftD/A変換器部10
7、Right D/A変換器部108から出力される。その後、割
り込み状態からメインフローに戻る。なお、上述の割り
込みは、第2図のインタラプト制御部203内のハードタ
イマに基づき、周期的に行われる。この周期は、楽音出
力時のサンプリング周期に等しい。
し、第4図(a)のメインフローチャートに示すよう
に、S402〜S410の一連の処理を繰り返し行っている。そ
して実際の音源処理は割り込み(インタラプト)処理で
行っている。具体的には、ある一定時間毎に、MCPU101
とSCPU102に割り込みが掛かり、それに基づいてそれぞ
れのCPUがチャンネルずつの音を作る音源処理を行う。
その処理が終わると、それぞれのCPUの8チャネル、計1
6チャネル分の楽音波形が加算され、LeftD/A変換器部10
7、Right D/A変換器部108から出力される。その後、割
り込み状態からメインフローに戻る。なお、上述の割り
込みは、第2図のインタラプト制御部203内のハードタ
イマに基づき、周期的に行われる。この周期は、楽音出
力時のサンプリング周期に等しい。
以上が、本実施例の概略動作で、つぎに、第4図を用
いて詳細に本実施例の動作を説明する。
いて詳細に本実施例の動作を説明する。
第4図(a)のメインフローチャートにおけるS402〜
S410の処理が繰り返し実行されている間に、インタラプ
ト制御部203から割り込みが掛かると、同図(b)のMC
PUインタラプト処理と同図(c)のSCPUインタラプト
処理の2つの処理が同時に起動する。そして、同図
(b)と同図(c)の「音源処理」は、同図(d)に示
されている。
S410の処理が繰り返し実行されている間に、インタラプ
ト制御部203から割り込みが掛かると、同図(b)のMC
PUインタラプト処理と同図(c)のSCPUインタラプト
処理の2つの処理が同時に起動する。そして、同図
(b)と同図(c)の「音源処理」は、同図(d)に示
されている。
さて、第4図(a)のメインフローチャートは、イン
タラプト制御部203から割り込みが掛からない状態にお
いてMCPU101において実行される、音源処理以外の処理
の流れを示している。
タラプト制御部203から割り込みが掛からない状態にお
いてMCPU101において実行される、音源処理以外の処理
の流れを示している。
まず、電源がONされ、MCPU101のRAM206の内容等の初
期設定が行われる(S401)。
期設定が行われる(S401)。
つぎに、MCPU101の外部に接続される機能キー、例え
ば第27図に示される音色スイッチ等が走査され
(S402)、各スイッチの状態が入力ポート210からRAM20
6内のキーバッファエリアに取り込まれる。その走査の
結果、状態の変化した機能キーが識別され、対応する機
能の処理がなされる(S403)。例えば、楽音番号のセッ
ト、エンベロープ番号のセット、また、付加機能にリズ
ム演奏がついていれば、リズム番号のセット等が行われ
る。
ば第27図に示される音色スイッチ等が走査され
(S402)、各スイッチの状態が入力ポート210からRAM20
6内のキーバッファエリアに取り込まれる。その走査の
結果、状態の変化した機能キーが識別され、対応する機
能の処理がなされる(S403)。例えば、楽音番号のセッ
ト、エンベロープ番号のセット、また、付加機能にリズ
ム演奏がついていれば、リズム番号のセット等が行われ
る。
その後、押鍵されている鍵盤キーが上記機能キーの場
合と同様に取り込まれ(S404)、変化した鍵が識別され
ることによりキーアサイン処理が行われる(S405)。
合と同様に取り込まれ(S404)、変化した鍵が識別され
ることによりキーアサイン処理が行われる(S405)。
つぎに、機能キー801(第8図参照)でデモ演奏キー
が押されたときは、外部メモリ部116からデモ演奏デー
タ(シーケンサデータ)が順次読み出されて、キーアサ
イン処理などが行われる(S406)。また、リズムスター
トキーが押されたときは、リズムデータが外部メモリ11
6から順次読み出され、キーアサイン処理などが行われ
る(S407)。
が押されたときは、外部メモリ部116からデモ演奏デー
タ(シーケンサデータ)が順次読み出されて、キーアサ
イン処理などが行われる(S406)。また、リズムスター
トキーが押されたときは、リズムデータが外部メモリ11
6から順次読み出され、キーアサイン処理などが行われ
る(S407)。
その後に、以下に述べるタイマー処理が行われる(S
408)。すなわち、後述するインタラプトタイマー処理
(S412)でインクリメントされている時間データの時間
値が判別され、デモ演奏制御用に順次読み出される時間
制御用のシーケンサデータまたはリズム演奏制御用に読
み出される時間制御用のリズムデータと比較されること
により、S406のデモ演奏又はS407のリズム演奏を行う場
合の時間制御が行われる。
408)。すなわち、後述するインタラプトタイマー処理
(S412)でインクリメントされている時間データの時間
値が判別され、デモ演奏制御用に順次読み出される時間
制御用のシーケンサデータまたはリズム演奏制御用に読
み出される時間制御用のリズムデータと比較されること
により、S406のデモ演奏又はS407のリズム演奏を行う場
合の時間制御が行われる。
さらに、発音処理S409では、発音処理されるべき楽音
のピッチにエンベロープを付加し、対応する発音チャネ
ルにピッチデータを設定するというピッチエンベロープ
処理等が行われる。
のピッチにエンベロープを付加し、対応する発音チャネ
ルにピッチデータを設定するというピッチエンベロープ
処理等が行われる。
更に、フロー1周準備処理が実行される(S410)。こ
の処理においては、S405の鍵盤キー処理において押鍵開
始となったノート番号の発音チャネルの状態を押鍵中に
変えたり、離鍵となったノート番号の発音チャネルの状
態を消音中に変える等の処理が行われる。
の処理においては、S405の鍵盤キー処理において押鍵開
始となったノート番号の発音チャネルの状態を押鍵中に
変えたり、離鍵となったノート番号の発音チャネルの状
態を消音中に変える等の処理が行われる。
つぎに、第4図(b)のMCPUインタラプト処理につ
き説明する。
き説明する。
MCPU101のインタラプト制御部203によりMCPU101に
割り込みが掛かると、第4図(a)のメインフローチャ
ートの処理が中断され、第4図(b)のMCPUインタラ
プト処理の実行が開始される。この場合、MCPUインタ
ラプト処理のプログラムにおいて、第4図(a)のメイ
ンフローのプログラムで書き込みが行われるレジスタ等
については、内容の書き換えが行われないように制御さ
れる。これにより、通常のインタラプト処理の開始時と
終了時に行われるレジスタの退避と復帰の処理は不要と
なる。これにより、第4図(a)のメインフローチャー
トの処理とMCPUインタラプト処理との間の移行が迅速
に行われる。
割り込みが掛かると、第4図(a)のメインフローチャ
ートの処理が中断され、第4図(b)のMCPUインタラ
プト処理の実行が開始される。この場合、MCPUインタ
ラプト処理のプログラムにおいて、第4図(a)のメイ
ンフローのプログラムで書き込みが行われるレジスタ等
については、内容の書き換えが行われないように制御さ
れる。これにより、通常のインタラプト処理の開始時と
終了時に行われるレジスタの退避と復帰の処理は不要と
なる。これにより、第4図(a)のメインフローチャー
トの処理とMCPUインタラプト処理との間の移行が迅速
に行われる。
続いて、MCPUインタラプト処理において音源処理が
開始される(S411)。この音源処理は第4図(d)に示
される。
開始される(S411)。この音源処理は第4図(d)に示
される。
上述の動作と同時に、MCPU101のインタラプト制御部
203からSCPU102のROMアドレス制御部305に対してSCPU
リセット解除信号A(第1図参照)が出力され、SCPU1
02において、第4図(c)のSCPUインタラプト処理の
実行が開始される。
203からSCPU102のROMアドレス制御部305に対してSCPU
リセット解除信号A(第1図参照)が出力され、SCPU1
02において、第4図(c)のSCPUインタラプト処理の
実行が開始される。
そして、MCPUインタラプト処理における音源処理(S
411)とほぼ同時に、SCPUインタラプト処理において音
源処理が開始される(S415)。このように、MCPU101と
SCPU102の両者が同時に8発音チャネルづつの音源処理
を実行することにより、8発音チャンネルの処理時間で
16発音チャネルの音源処理を実行することができ、処理
速度が約2倍になる(以上は、第5図を用いて後述す
る)。
411)とほぼ同時に、SCPUインタラプト処理において音
源処理が開始される(S415)。このように、MCPU101と
SCPU102の両者が同時に8発音チャネルづつの音源処理
を実行することにより、8発音チャンネルの処理時間で
16発音チャネルの音源処理を実行することができ、処理
速度が約2倍になる(以上は、第5図を用いて後述す
る)。
続いて、MCPU101では、S412のインタラプトタイマー
処理の後、SCPU102からSCPUインタラプト処理の終了
信号が来るのを待っている(S413)。なお、インタラプ
トタイマー処理では、第4図(b)のインタラプト処理
が一定のサンプリング周期毎に実行されることを利用し
て、RAM206(第2図)上の特には図示しない時間データ
の値がインクリメントされる。すなわち、この時間デー
タの値を見れば時間経過がわかる。このようにして得ら
れる時間データは、前述したように、第4図(a)のメ
インフローのタイマー処理S408における時間制御に用い
られる。
処理の後、SCPU102からSCPUインタラプト処理の終了
信号が来るのを待っている(S413)。なお、インタラプ
トタイマー処理では、第4図(b)のインタラプト処理
が一定のサンプリング周期毎に実行されることを利用し
て、RAM206(第2図)上の特には図示しない時間データ
の値がインクリメントされる。すなわち、この時間デー
タの値を見れば時間経過がわかる。このようにして得ら
れる時間データは、前述したように、第4図(a)のメ
インフローのタイマー処理S408における時間制御に用い
られる。
第4図(c)のSCPUインタラプト処理におけるステ
ップS415の音源処理が終了すると、SCPU102のコマンド
解析部307からMCPU101のROMアドレス制御部205に、SC
PU処理終了信号B(第1図参照)が入力する。これによ
り、第4図(b)のMCPUインタラプト処理におけるス
テップS413の判定がYESになる。
ップS415の音源処理が終了すると、SCPU102のコマンド
解析部307からMCPU101のROMアドレス制御部205に、SC
PU処理終了信号B(第1図参照)が入力する。これによ
り、第4図(b)のMCPUインタラプト処理におけるス
テップS413の判定がYESになる。
この結果、第1図のデータバスDinを介してSCPU102
で作られた波形データがMCPU101のRAM206に読み込まれ
る(S414)。この場合、波形データはSCPU102のRAM306
上の所定バッファ領域(後述するバッファB)に格納さ
れているため、MCPU101のコマンド解析部207は、SCPU
内部アドレス指定バスMaを介して、RAMアドレス制御部3
04に対して上記バッファアドレスを指定することによ
り、波形データの読み込みを行う。
で作られた波形データがMCPU101のRAM206に読み込まれ
る(S414)。この場合、波形データはSCPU102のRAM306
上の所定バッファ領域(後述するバッファB)に格納さ
れているため、MCPU101のコマンド解析部207は、SCPU
内部アドレス指定バスMaを介して、RAMアドレス制御部3
04に対して上記バッファアドレスを指定することによ
り、波形データの読み込みを行う。
そして、S415'において、上記バッファ領域の内容がL
eft D/A変換器部107及びRight D/A変換器部108のラッチ
601(第6図参照)にラッチされる。
eft D/A変換器部107及びRight D/A変換器部108のラッチ
601(第6図参照)にラッチされる。
つぎに、第4図(d)のフローチャートを用いて、M
CPUインタラプト処理のステップS411またはSCPUインタ
ラプト処理のステップS415で実行される音源処理の動作
を説明する。
CPUインタラプト処理のステップS411またはSCPUインタ
ラプト処理のステップS415で実行される音源処理の動作
を説明する。
まず、RAM206又はRAM306の波形データ加算用の領域が
クリアされる(S416)。つぎに、発音チャネルの1チャ
ネル毎に音源処理が行われ(S417〜S424)、最後に8チ
ャネル目の音源処理が終了した時点で所定のバッファ領
域Bに8チャネル分が加算された波形データが得られ
る。これらの詳細な処理については後述する。
クリアされる(S416)。つぎに、発音チャネルの1チャ
ネル毎に音源処理が行われ(S417〜S424)、最後に8チ
ャネル目の音源処理が終了した時点で所定のバッファ領
域Bに8チャネル分が加算された波形データが得られ
る。これらの詳細な処理については後述する。
つぎに、第5図は、前述の第4図(a)、(b)、
(c)のフローチャートの処理の関係を概念的に示した
流れ図であり、MCPU101とSCPU102が、音源処理をそれ
ぞれ分担して行う様子を示している。
(c)のフローチャートの処理の関係を概念的に示した
流れ図であり、MCPU101とSCPU102が、音源処理をそれ
ぞれ分担して行う様子を示している。
まず、ある処理A(以下、B、C、・・・、Fも同
じ)が行われる(S501)。この「処理」は、第4図
(a)のメインフローチャートの、例えば「機能キー処
理」、や「鍵盤キー処理」などに対応する。その後、M
CPUインタラプト処理とSCPUインタラプト処理に入り、
同時にMCPU101とSCPU102による音源処理が開始される
(S502、S503)。そして、SCPU102でのSCPUインタラ
プト処理の終了時に、SCPU処理終了信号BがMCPU101
に入力される。MCPUインタラプト処理では、SCPUイン
タラプト処理より早く音源処理が終了し、SCPUインタ
ラプト処理の終了を待っている。そして、MCPUインタ
ラプト処理においてSCPU処理終了信号Bが識別される
と、SCPU102で生成された波形データがMCPU101に送ら
れてMCPU101で生成された波形データとまとめられ、Le
ft D/A変換器部107及びRight D/A変換器部108に出力さ
れる。その後、メインフローチャートの何らかの処理B
に戻る。
じ)が行われる(S501)。この「処理」は、第4図
(a)のメインフローチャートの、例えば「機能キー処
理」、や「鍵盤キー処理」などに対応する。その後、M
CPUインタラプト処理とSCPUインタラプト処理に入り、
同時にMCPU101とSCPU102による音源処理が開始される
(S502、S503)。そして、SCPU102でのSCPUインタラ
プト処理の終了時に、SCPU処理終了信号BがMCPU101
に入力される。MCPUインタラプト処理では、SCPUイン
タラプト処理より早く音源処理が終了し、SCPUインタ
ラプト処理の終了を待っている。そして、MCPUインタ
ラプト処理においてSCPU処理終了信号Bが識別される
と、SCPU102で生成された波形データがMCPU101に送ら
れてMCPU101で生成された波形データとまとめられ、Le
ft D/A変換器部107及びRight D/A変換器部108に出力さ
れる。その後、メインフローチャートの何らかの処理B
に戻る。
以上のような動作が、全ての発音チャネル(本実施例
では、MCPU101とSCPU102あわせて16チャネル)に対す
る音源処理が行われながら繰り返される(S504〜
S516)。そして、この繰り返し処理は、楽音の発音中続
けられる。
では、MCPU101とSCPU102あわせて16チャネル)に対す
る音源処理が行われながら繰り返される(S504〜
S516)。そして、この繰り返し処理は、楽音の発音中続
けられる。
音源処理におけるデータ構成 つぎに、第4図(b)のS411及び同図(c)のS415で
実行される音源処理の具体例について説明する。
実行される音源処理の具体例について説明する。
本実施例では、MCPU101とSCPU102の両CPUが、8チ
ャネルづつの音源処理を分担することは前述した。この
8チャネル分の音源処理用のデータは、第9図に示すよ
うに、MCPU101、SCPU102の各RAM206、306内の発音チ
ャネル別の領域に設定される。
ャネルづつの音源処理を分担することは前述した。この
8チャネル分の音源処理用のデータは、第9図に示すよ
うに、MCPU101、SCPU102の各RAM206、306内の発音チ
ャネル別の領域に設定される。
また、このRAMには、第12図に示すように、BF、BT、
B、Mの各バッファが確保されている。
B、Mの各バッファが確保されている。
この場合、第9図の各発音チャネル領域には、後に詳
述するような操作によって、第10図に概念的に示すよう
に、それぞれの音源方式が設定でき、その音源方式が設
定されたら、第11図に示すような各音源方式のデータフ
ォーマットで、第9図の各発音チャネルの各領域にデー
タが設定される。なお、本実施例では、後述するよう
に、各発音チャネルに異なる音源方式を割り当てること
が可能である。
述するような操作によって、第10図に概念的に示すよう
に、それぞれの音源方式が設定でき、その音源方式が設
定されたら、第11図に示すような各音源方式のデータフ
ォーマットで、第9図の各発音チャネルの各領域にデー
タが設定される。なお、本実施例では、後述するよう
に、各発音チャネルに異なる音源方式を割り当てること
が可能である。
第11図の各音源方式のデータフォーマットを示すテー
ブル1において、Gは音源方式を識別する番号である音
源方式No.である。つぎのAは、音源処理時に波形デー
タが読み出される場合に指定されるアドレスを表し、
AI、A1及びA2が現在アドレスの整数部で、外部メモリ11
6(第1図)の波形データが格納されているアドレスに
直接対応する。また、AFは現在アドレスの小数部で、外
部メモリ116から読み出された波形データの補間に用い
られる。
ブル1において、Gは音源方式を識別する番号である音
源方式No.である。つぎのAは、音源処理時に波形デー
タが読み出される場合に指定されるアドレスを表し、
AI、A1及びA2が現在アドレスの整数部で、外部メモリ11
6(第1図)の波形データが格納されているアドレスに
直接対応する。また、AFは現在アドレスの小数部で、外
部メモリ116から読み出された波形データの補間に用い
られる。
つぎのAEはエンドアドレス、ALはループアドレスをそ
れぞれ表す。また、つぎのPI、P1及びP2はピッチデータ
の整数部、PFはピッチデータの小数部を表す。例を示す
と、PI=1、PF=0は原音のピッチを、PI=2、PF=0
は1オクターブ上のピッチを、また、PI=0、PF=0.5
は、1オクターブ下のピッチをそれぞれ表す。
れぞれ表す。また、つぎのPI、P1及びP2はピッチデータ
の整数部、PFはピッチデータの小数部を表す。例を示す
と、PI=1、PF=0は原音のピッチを、PI=2、PF=0
は1オクターブ上のピッチを、また、PI=0、PF=0.5
は、1オクターブ下のピッチをそれぞれ表す。
つぎのXPは前回のサンプルデータを、XNは次回のサン
プルデータの格納を表す。また、Dは隣接する2つのサ
ンプルデータ間の大きさの差分値を表し、Eはエンベロ
ープ値である。さらに、Oは出力値であり、また、C
は、後述するが、演奏情報によって発音チャネルに割り
当てる音源方式を変更する時に用いるフラグを表す。
プルデータの格納を表す。また、Dは隣接する2つのサ
ンプルデータ間の大きさの差分値を表し、Eはエンベロ
ープ値である。さらに、Oは出力値であり、また、C
は、後述するが、演奏情報によって発音チャネルに割り
当てる音源方式を変更する時に用いるフラグを表す。
その他の種々の制御データについては、後述の各音源
方式の説明の際に説明する。
方式の説明の際に説明する。
このように、第11図に示すようなデータがMCPU101、
SCPU102のそれぞれのRAM206、306に確保され、後述す
る音源方式が決まると、第9図に示す各チャネル毎に第
11図のフォーマットで、データが設定される。
SCPU102のそれぞれのRAM206、306に確保され、後述す
る音源方式が決まると、第9図に示す各チャネル毎に第
11図のフォーマットで、データが設定される。
以下、このようなデータ構成を用いて実行される各音
源方式の音源処理について順次説明する。なお、これら
の音源処理は、MCPU101又はSCPU102のコマンド解析部
207又は307が、制御用ROM201又は301に格納されている
音源処理用のプログラムを解釈・実行することにより実
現される。以下、特に言及しないかぎり、この前提のも
とで処理が行われるとする。
源方式の音源処理について順次説明する。なお、これら
の音源処理は、MCPU101又はSCPU102のコマンド解析部
207又は307が、制御用ROM201又は301に格納されている
音源処理用のプログラムを解釈・実行することにより実
現される。以下、特に言及しないかぎり、この前提のも
とで処理が行われるとする。
まず、第4図(d)のフローチャートにおいて、1チ
ャネル毎の各音源処理(S417〜S424のいずれか)に入る
と、RAM206、306の対応する発音チャネルに記憶されて
いる第11図に示すデータフォーマット(テーブル1)の
データのうちの音源方式No.が判別され、これにより以
下に説明するどの音源方式の音源処理が実行されるかが
決定される。
ャネル毎の各音源処理(S417〜S424のいずれか)に入る
と、RAM206、306の対応する発音チャネルに記憶されて
いる第11図に示すデータフォーマット(テーブル1)の
データのうちの音源方式No.が判別され、これにより以
下に説明するどの音源方式の音源処理が実行されるかが
決定される。
PCM方式による音源処理 上記音源方式No.がPCM方式を指示している場合、以下
の第13図の動作フローチャートで示されるPCM方式によ
る音源処理が実行される。フロー中の各変数は、MCPU1
01又はSCPU102のRAM206、306上の第9図のいずれかの
発音チャネル領域に記憶される第11図のテーブル1のPC
Mフォーマットの各データである。
の第13図の動作フローチャートで示されるPCM方式によ
る音源処理が実行される。フロー中の各変数は、MCPU1
01又はSCPU102のRAM206、306上の第9図のいずれかの
発音チャネル領域に記憶される第11図のテーブル1のPC
Mフォーマットの各データである。
外部メモリ116(第1図)上のPCM波形データが記憶さ
れているアドレスのうち、現在の処理の対象とされる波
形データが記憶されているアドレスを第15図(a)に示
す(AI,AF)とする。
れているアドレスのうち、現在の処理の対象とされる波
形データが記憶されているアドレスを第15図(a)に示
す(AI,AF)とする。
まず、現在のアドレスにピッチデータ(PI,PF)が加
算される(S1301)。このピッチデータは、第8図の鍵
盤キー801等において押鍵操作された鍵の種類に対応し
ている。
算される(S1301)。このピッチデータは、第8図の鍵
盤キー801等において押鍵操作された鍵の種類に対応し
ている。
そして、加算されたアドレスの整数部AIが変わったか
否かが判定される(S1302)。判定がNOならば、第15図
(a)のアドレス(AI+1)およびAIにおけるそれぞれ
のサンプルデータXNとXPとの差である差分値Dを用い
て、D×AFなる演算処理により、アドレスの小数部AFに
対応する補間データ値Oが計算される(S1307)。な
お、差分値Dは、今回以前のインタラプトタイミングに
おける音源処理により求まっている(後述するS1306参
照)。
否かが判定される(S1302)。判定がNOならば、第15図
(a)のアドレス(AI+1)およびAIにおけるそれぞれ
のサンプルデータXNとXPとの差である差分値Dを用い
て、D×AFなる演算処理により、アドレスの小数部AFに
対応する補間データ値Oが計算される(S1307)。な
お、差分値Dは、今回以前のインタラプトタイミングに
おける音源処理により求まっている(後述するS1306参
照)。
そして、上記補間データ値Oにアドレスの整数部AIに
対応するサンプルデータXPが加算され、現在のアドレス
(AI,AF)に対応する新しいサンプルデータO(第15図
(a)のXQに相当する)が得られる(S1308)。
対応するサンプルデータXPが加算され、現在のアドレス
(AI,AF)に対応する新しいサンプルデータO(第15図
(a)のXQに相当する)が得られる(S1308)。
この後、このサンプルデータにエンベロープ値Eが乗
算され(S1309)、得られたOの内容がMCPU101または
SCPU102のRAM206または306内の波形データバッフアB
(第12図参照)に加算される(S1310)。
算され(S1309)、得られたOの内容がMCPU101または
SCPU102のRAM206または306内の波形データバッフアB
(第12図参照)に加算される(S1310)。
その後、第4図(a)のメインフローに戻り、つぎの
サンプリング周期でインタラプトが掛かって、第13図の
音源処理の動作フローチャートがふたたび実行され、現
在アドレス(AI,AF)にピッチデータ(PI,PF)が加算さ
れる(S1310)。
サンプリング周期でインタラプトが掛かって、第13図の
音源処理の動作フローチャートがふたたび実行され、現
在アドレス(AI,AF)にピッチデータ(PI,PF)が加算さ
れる(S1310)。
以上の動作が、アドレスの整数部AIが変わる
(S1302)まで繰り返される。
(S1302)まで繰り返される。
この間、サンプルデータXPおよび差分値Dは更新され
ず、補間データOのみがアドレスAFに応じて更新され、
その都度サンプルデータXQが得られる。
ず、補間データOのみがアドレスAFに応じて更新され、
その都度サンプルデータXQが得られる。
つぎに、S1310で現在アドレス(AI,AF)にピッチデー
タ(PI,PF)が加算された結果、現在アドレスの整数部A
Iが変化したら(S1302)、アドレスAIがエンドアドレス
AEに達しているかまたは越えているか否かが判定される
(S1303)。
タ(PI,PF)が加算された結果、現在アドレスの整数部A
Iが変化したら(S1302)、アドレスAIがエンドアドレス
AEに達しているかまたは越えているか否かが判定される
(S1303)。
判定がYESならば、つぎのループ処理が行われる。す
なわち、エンドアドレスAEを越えた分のアドレス(AI−
AE)がループアドレスALに加算され、得られた新しい現
在アドレスの整数部AIからループ再生が開始される(S
134)。エンドアドレスAEとは、PCM波形データの最後の
波形サンプルデータが記憶されている外部メモリ116
(第1図)上のアドレスである。また、ループアドレス
ALとは、演奏者が波形の出力を繰り返したい位置のアド
レスであり、上記動作により、PCM方式で周知のループ
処理が実現される。
なわち、エンドアドレスAEを越えた分のアドレス(AI−
AE)がループアドレスALに加算され、得られた新しい現
在アドレスの整数部AIからループ再生が開始される(S
134)。エンドアドレスAEとは、PCM波形データの最後の
波形サンプルデータが記憶されている外部メモリ116
(第1図)上のアドレスである。また、ループアドレス
ALとは、演奏者が波形の出力を繰り返したい位置のアド
レスであり、上記動作により、PCM方式で周知のループ
処理が実現される。
S1303の判定がNOならば、上記S1304の処理は実行され
ない。
ない。
つぎに、サンプルデータの更新が行われる。ここで
は、外部メモリ116(第1図)から、新しく更新された
現在アドレスAIと1つ手前のアドレス(AI−1)に対応
する各サンプルデータが、それぞれXN、XPとして読み出
される(S1305)。
は、外部メモリ116(第1図)から、新しく更新された
現在アドレスAIと1つ手前のアドレス(AI−1)に対応
する各サンプルデータが、それぞれXN、XPとして読み出
される(S1305)。
さらに、今までの差分値が、更新した上記XNとXPとの
差分値Dに更新される(S1306)。
差分値Dに更新される(S1306)。
これ以後の動作は前述した通りである。
以上のようにして、1発音チャネル分のPCM方式によ
る波形データが生成される。
る波形データが生成される。
DPCM方式による音源処理 つぎに、DPCM方式による音源処理について説明する。
まず、第15図(b)を用いて、DPCM方式の動作原理の
概略を説明する。
概略を説明する。
同図において、外部メモリ116(第1図)のアドレスA
Iに対応するサンプルデータXPは、アドレスAIの1つ前
の、特には図示しないアドレス(AI−1)に対応するサ
ンプルデータとの差分値から求めた値である。
Iに対応するサンプルデータXPは、アドレスAIの1つ前
の、特には図示しないアドレス(AI−1)に対応するサ
ンプルデータとの差分値から求めた値である。
外部メモリ116(第1図)のアドレスAIには、つぎの
サンプルデータとの差分値Dが書き込まれているので、
つぎのアドレスのサンプルデータはXP+Dで求まり、こ
れが新たなサンプルデータXPとしておきかわる。
サンプルデータとの差分値Dが書き込まれているので、
つぎのアドレスのサンプルデータはXP+Dで求まり、こ
れが新たなサンプルデータXPとしておきかわる。
この場合、現在アドレスを同図に示すように、AFとす
れば、現在アドレスAFに対応するサンプルデータは、XP
+D×AFで求まる。
れば、現在アドレスAFに対応するサンプルデータは、XP
+D×AFで求まる。
このように、DPCM方式では、現在のアドレスと、つぎ
のアドレスに対応するサンプルデータ間の差分値Dが外
部メモリ116(第1図)から読み出され、現在のサンプ
ルデータに加算されて、つぎのサンプルデータが求めら
れることにより、順次波形データが作成される。
のアドレスに対応するサンプルデータ間の差分値Dが外
部メモリ116(第1図)から読み出され、現在のサンプ
ルデータに加算されて、つぎのサンプルデータが求めら
れることにより、順次波形データが作成される。
このようなDPCM方式を採用すると、隣接する標本間の
差分値が一般に小さい音声や楽音等のような波形を量子
化する場合、通常のPCM方式に比較して、はるかに少な
いビット数で量子化を行えることは明らかである。
差分値が一般に小さい音声や楽音等のような波形を量子
化する場合、通常のPCM方式に比較して、はるかに少な
いビット数で量子化を行えることは明らかである。
以上のDPCM方式の動作を、第14図の動作フローチャー
トを用いて説明する。フロー中の各変数は、MCPU101又
はSCPU102のRAM206、306上の第9図のいずれかの発音
チャネル領域に記憶される第11図のテーブル1のDPCMフ
ォーマットの各データである。
トを用いて説明する。フロー中の各変数は、MCPU101又
はSCPU102のRAM206、306上の第9図のいずれかの発音
チャネル領域に記憶される第11図のテーブル1のDPCMフ
ォーマットの各データである。
外部メモリ116(第1図)上のDPCM差分波形データが
記憶されているアドレスのうち、現在の処理の対象とさ
れるデータが記憶されているアドレスを第15図(b)に
示す(AI,AF)とする。
記憶されているアドレスのうち、現在の処理の対象とさ
れるデータが記憶されているアドレスを第15図(b)に
示す(AI,AF)とする。
まず、現在アドレス(AI,AF)にピッチデータ(PI,
PF)が加算される(S1401)。
PF)が加算される(S1401)。
そして、加算されたアドレスの整数部AIに変化がある
か否かが判定される(S1402)。判定がNOならば、第15
図(b)のアドレスAIにおける差分値Dを用いて、D×
AFなる演算処理により、アドレスの小数部AFに対応する
補間データ値Oが演算される(S1414)。なお、差分値
Dは、今回以前のインタラプトタイミングにおける音源
処理により求まっている(後述するS1406とS1410参
照)。
か否かが判定される(S1402)。判定がNOならば、第15
図(b)のアドレスAIにおける差分値Dを用いて、D×
AFなる演算処理により、アドレスの小数部AFに対応する
補間データ値Oが演算される(S1414)。なお、差分値
Dは、今回以前のインタラプトタイミングにおける音源
処理により求まっている(後述するS1406とS1410参
照)。
つぎに、上記補間データ値Oにアドレスの整数部AIに
対応するサンプルデータXPが加算され、現在アドレス
(AI,AF)に対応する新しいサンプルデータO(第15図
(b)のXQに対応)が得られる(S1415)。
対応するサンプルデータXPが加算され、現在アドレス
(AI,AF)に対応する新しいサンプルデータO(第15図
(b)のXQに対応)が得られる(S1415)。
この後、このサンプルデータにエンベロープ値Eが乗
算され(S1416)、得られたOの内容がMCPU101又はSC
PU102のRAM206または306内の波形データバッフアB(第
12図参照)に加算される(S1417)。
算され(S1416)、得られたOの内容がMCPU101又はSC
PU102のRAM206または306内の波形データバッフアB(第
12図参照)に加算される(S1417)。
その後、第4図(a)のメインフローに戻り、つぎの
サンプリング周期でインタラプトが掛かって、第14図の
音源処理の動作フローチャートがふたたび実行され、現
在アドレス(AI,AF)にピッチデータ(PI,PF)が加算さ
れる(S1401)。
サンプリング周期でインタラプトが掛かって、第14図の
音源処理の動作フローチャートがふたたび実行され、現
在アドレス(AI,AF)にピッチデータ(PI,PF)が加算さ
れる(S1401)。
以上の動作が、アドレスの整数部AIに変化が生ずるま
で繰り返される。
で繰り返される。
この間、サンプルデータXPおよび差分値Dは更新され
ず、補間データOのみがアドレスAFに応じて更新され、
その都度新たなサンプルデータXQが得られる。
ず、補間データOのみがアドレスAFに応じて更新され、
その都度新たなサンプルデータXQが得られる。
つぎに、S1401で現在アドレス(AI,AF)にピッチデー
タ(PI,PF)が加算された結果、現在アドレスの整数部A
Iが変化したら(S1402)、アドレスAIがエンドアドレス
AEに達しているかまたは越えているか否かが判定される
(S1403)。
タ(PI,PF)が加算された結果、現在アドレスの整数部A
Iが変化したら(S1402)、アドレスAIがエンドアドレス
AEに達しているかまたは越えているか否かが判定される
(S1403)。
判定がNOの場合、以下のS1404〜S1407のループ処理に
より、現在アドレスの整数部AIに対応するサンプルデー
タが計算される。すなわち、まず、旧AIという変数(第
11図のテーブル1のDPCMの欄参照)には、現在アドレス
の整数部AIが変化する前の値が格納されている。これ
は、後述するS1406またはS1413の処理の繰り返しにより
実現される。この旧AIの値がS1406で順次インクリメン
トされながら、S1407で旧AIにより指示される外部メモ
リ116(第1図)上の差分波形データがDとして読み出
され、S1405において順次サンプルデータXPに累算され
る。そして、旧AIの値が変化後の現在アドレスの整数部
AIに等しくなった時点で、サンプルデータXPの値は変化
後の現在アドレスの整数部AIに対応する値となる。
より、現在アドレスの整数部AIに対応するサンプルデー
タが計算される。すなわち、まず、旧AIという変数(第
11図のテーブル1のDPCMの欄参照)には、現在アドレス
の整数部AIが変化する前の値が格納されている。これ
は、後述するS1406またはS1413の処理の繰り返しにより
実現される。この旧AIの値がS1406で順次インクリメン
トされながら、S1407で旧AIにより指示される外部メモ
リ116(第1図)上の差分波形データがDとして読み出
され、S1405において順次サンプルデータXPに累算され
る。そして、旧AIの値が変化後の現在アドレスの整数部
AIに等しくなった時点で、サンプルデータXPの値は変化
後の現在アドレスの整数部AIに対応する値となる。
このようにして、現在アドレスの整数部AIに対応する
サンプルデータXPが求まると、S1404の判定がYESとな
り、前述の補間値の演算処理(S1414)に移る。
サンプルデータXPが求まると、S1404の判定がYESとな
り、前述の補間値の演算処理(S1414)に移る。
上述の音源処理が各インタラプトタイミング毎に繰り
返され、S1403の判定がYESに変化したら、つぎのループ
処理に入る。
返され、S1403の判定がYESに変化したら、つぎのループ
処理に入る。
まず、エンドアドレスAEを越えた分のアドレス(AI−
AE)がループアドレスALに加算され、選られたアドレス
が新たな現在アドレスの整数部AIとされる(S1408)。
AE)がループアドレスALに加算され、選られたアドレス
が新たな現在アドレスの整数部AIとされる(S1408)。
以下、ループアドレスALからどれだけアドレスが進ん
だかによって、何回か差分値Dを累算する操作が繰り返
されることにより、新たな現在アドレスの整数部AIに対
応するサンプルデータXPが計算される。すなわち、ま
ず、初期設定としてサンプルデータXPが予め設定されて
いるループアドレスALにおけるサンプルデータXPL(第1
1図のテーブル1のDPCMの欄参照)の値とされ、また、
旧AIがループアドレスALの値とされる(S1409)。そし
て、以下のS1410〜S1413の処理が繰り返される。すなわ
ち、旧AIの値がS1413で順次インクリメントされなが
ら、S1410で旧AIにより指示される外部メモリ116(第1
図)上の差分波形データ合がDとして読み出され、S
1412において順次サンプルデータXPに累算される。そし
て、旧AIの値が新たな現在アドレス整数部AIに等しくな
った時点で、サンプルデータXPの値はループ処理後の新
たな現在アドレスの整数部AIに対応する値となる。
だかによって、何回か差分値Dを累算する操作が繰り返
されることにより、新たな現在アドレスの整数部AIに対
応するサンプルデータXPが計算される。すなわち、ま
ず、初期設定としてサンプルデータXPが予め設定されて
いるループアドレスALにおけるサンプルデータXPL(第1
1図のテーブル1のDPCMの欄参照)の値とされ、また、
旧AIがループアドレスALの値とされる(S1409)。そし
て、以下のS1410〜S1413の処理が繰り返される。すなわ
ち、旧AIの値がS1413で順次インクリメントされなが
ら、S1410で旧AIにより指示される外部メモリ116(第1
図)上の差分波形データ合がDとして読み出され、S
1412において順次サンプルデータXPに累算される。そし
て、旧AIの値が新たな現在アドレス整数部AIに等しくな
った時点で、サンプルデータXPの値はループ処理後の新
たな現在アドレスの整数部AIに対応する値となる。
このようにして、新たな現在アドレスの整数部AIに対
応するサンプルデータXPが求まると、S1411の判定がYES
となり、前述の補間値の演算処理(S1414)に移る。
応するサンプルデータXPが求まると、S1411の判定がYES
となり、前述の補間値の演算処理(S1414)に移る。
以上のようにして、1発音チャネル分のDPCM方式によ
る波形データが生成される。
る波形データが生成される。
FM変調方式による音源処理(その1) つぎに、FM変調方式による音源処理について説明す
る。
る。
FM変調方式では、通常、第18図のOP1〜OP4で示される
ようなオペレータと称する同一内容のハードウエアまた
はソフトウエアが用いられ、それらが第18図のアルゴリ
ズム1〜4として示されるような接続規則で相互に接続
されることにより、楽音の生成が行われる。本実施例で
は、ソフトウエアでFM変調方式を実現するものである。
ようなオペレータと称する同一内容のハードウエアまた
はソフトウエアが用いられ、それらが第18図のアルゴリ
ズム1〜4として示されるような接続規則で相互に接続
されることにより、楽音の生成が行われる。本実施例で
は、ソフトウエアでFM変調方式を実現するものである。
つぎに、第16図(a)の動作フローチャートを用い
て、2オペレータで音源処理を行う場合の、1実施例の
動作を説明する。処理のアルゴリズムは同図(b)で示
される。また、フロー中の各変数は、MCPU101又はSCP
U102のRAM206、306上の第9図のいずれかの発音チャネ
ル領域に記憶される第11図のテーブル1のFMフォーマッ
トの各データである。
て、2オペレータで音源処理を行う場合の、1実施例の
動作を説明する。処理のアルゴリズムは同図(b)で示
される。また、フロー中の各変数は、MCPU101又はSCP
U102のRAM206、306上の第9図のいずれかの発音チャネ
ル領域に記憶される第11図のテーブル1のFMフォーマッ
トの各データである。
最初に、モジュレータであるオペレータ2(OP2)の
処理が行われる。ピッチ処理については、PCM方式のよ
うに補間が行われないので、整数アドレスA2のみであ
る。すなわち、外部メモリ116(第1図)には変調用の
波形データが十分に細かい歩進間隔で記憶されているも
のとする。
処理が行われる。ピッチ処理については、PCM方式のよ
うに補間が行われないので、整数アドレスA2のみであ
る。すなわち、外部メモリ116(第1図)には変調用の
波形データが十分に細かい歩進間隔で記憶されているも
のとする。
まず、現在アドレスA2にピッチデータP2が加算される
(S1601)。
(S1601)。
つぎに、このアドレスA2にフィードバック出力FO2が
変調入力として加算され、新たなアドレスAM2が得られ
る(S1602)。フィードバック出力FO2は、前回のインタ
ラプトタイミングにおいて後述するS1605の処理が実行
されることにより得られている。
変調入力として加算され、新たなアドレスAM2が得られ
る(S1602)。フィードバック出力FO2は、前回のインタ
ラプトタイミングにおいて後述するS1605の処理が実行
されることにより得られている。
さらに、アドレスAM2(位相)に対応する正弦波の値
が計算される。実際には、外部メモリ116(第1図)に
正弦波データが記憶されており、上記アドレスAM2でそ
の正弦波データをテーブル引きすることにより得られる
(S1603)。
が計算される。実際には、外部メモリ116(第1図)に
正弦波データが記憶されており、上記アドレスAM2でそ
の正弦波データをテーブル引きすることにより得られる
(S1603)。
続いて、上記正弦波データにエンベロープ値E2が乗算
され出力O2が得られる(S1604)。
され出力O2が得られる(S1604)。
この後、この出力O2にフィードバック・レベルFL2が
乗算されフィードバック出力FO2が得られる(S1605)。
この出力FO2は、本実施例の場合、次回のインタラプト
タイミングにおけるオペレータ2(OP2)への入力とさ
れる。
乗算されフィードバック出力FO2が得られる(S1605)。
この出力FO2は、本実施例の場合、次回のインタラプト
タイミングにおけるオペレータ2(OP2)への入力とさ
れる。
また、O2にモジュレーション・レベルML2が乗算され
てモジュレーション出力MO2が得られる(S1606)。この
モジュレーション出力MO2は、オペレータ1(OP1)への
変調入力になる。
てモジュレーション出力MO2が得られる(S1606)。この
モジュレーション出力MO2は、オペレータ1(OP1)への
変調入力になる。
つぎに、オペレータ1(OP1)の処理に移る。この処
理は、フィードバック出力による変調入力が無い他は、
殆ど上述のオペレータ2の場合と同じである。
理は、フィードバック出力による変調入力が無い他は、
殆ど上述のオペレータ2の場合と同じである。
まず、オペレータ1の現在アドレスA1にピッチデータ
P1が加算され(S1607)、この値に上述のモジュレーシ
ョン出力MO2が加算されて新たなアドレスAM1が得られる
(S1608)。
P1が加算され(S1607)、この値に上述のモジュレーシ
ョン出力MO2が加算されて新たなアドレスAM1が得られる
(S1608)。
つぎに、このアドレスAM1(位相)に対応する正弦波
の値が外部メモリ116(第1図)から読み出され
(S1609)、これにエンベロープ値E1が乗算され楽音波
形出力O1が得られる(S1610)。
の値が外部メモリ116(第1図)から読み出され
(S1609)、これにエンベロープ値E1が乗算され楽音波
形出力O1が得られる(S1610)。
そして、これがRAM206(第2図)又は306(第3図)
内のバッファB(第12図参照)に加算され(S1611)、
1発音チャネル分のFM変調処理を終了する。
内のバッファB(第12図参照)に加算され(S1611)、
1発音チャネル分のFM変調処理を終了する。
TM変調方式による音源方式(その1) つぎに、TM変調方式による音源処理について説明す
る。
る。
まず、TM変調方式の原理について説明する。
前述のFM変調方式は、 e=A・sin{ωct+I(t)・sinωmt} なる演算式を基本する。ただし、ここで、ωctは搬送波
位相角(搬送信号)、sinωmtは変調波位相角(変調信
号)、およびI(t)は変調指数である。
位相角(搬送信号)、sinωmtは変調波位相角(変調信
号)、およびI(t)は変調指数である。
これに対し、本実施例でTM変調方式と呼ぶ位相変調方
式は、 e=A・fT{fc(t)+I(t)・sinωmt} なる演算式を基本とする。ここで、fT(t)は三角波関
数であり、各位相角の領域毎につぎのような関数で定義
される(ただし、ωは入力)。
式は、 e=A・fT{fc(t)+I(t)・sinωmt} なる演算式を基本とする。ここで、fT(t)は三角波関
数であり、各位相角の領域毎につぎのような関数で定義
される(ただし、ωは入力)。
fT(ω)=2/π・ω ・・(領域:0≦ω≦π/2) fT(ω)=−1+2/π(3π/2−ω) ・・(領域:π/2≦ω≦3π/2) fT(ω)=−1+2/π(ω−3π/2) ・・(領域:3π/2≦ω≦2π) また、fcは変形サイン波と呼ばれ、各位相角の領域毎
に、異なるサイン波形データの記憶されている外部メモ
リ116(第1図)を、搬送位相角ωctでアクセスして得
られる搬送信号生成関数である。各位相角の領域毎のfc
は、つぎのように定義される。
に、異なるサイン波形データの記憶されている外部メモ
リ116(第1図)を、搬送位相角ωctでアクセスして得
られる搬送信号生成関数である。各位相角の領域毎のfc
は、つぎのように定義される。
fc(t)=π/2sinωct ・・(領域:0≦ωt≦π/2) fc(t)=π−π/2sinωct ・・(領域:π≦ωt≦3π/2) fc(t)=2π+π/2sinωct ・・(領域:3π/2≦ωct≦2π) (ただしnは整数) TM変調方式では、上述の如き関数fc(t)で生成され
る搬送信号に、変調信号sinωmtを変調指数I(t)で
示される割合で加算して得た加算信号により、前述の三
角波関数が変調される。これにより、変調指数I(t)
の値が0であれば正弦波を生成することができ、I
(t)の値を大きくしてゆけば非常に深く変調された波
形を生成することができる。ここで、変調信号sinωmt
の代わりに様々な信号を用いることができ、以下に述べ
るように、前回演算時の自分のオペレータ出力を一定の
フィードバックレベルでフィードバックさせたり、他の
オペレータの出力を入力させたりすることができる。
る搬送信号に、変調信号sinωmtを変調指数I(t)で
示される割合で加算して得た加算信号により、前述の三
角波関数が変調される。これにより、変調指数I(t)
の値が0であれば正弦波を生成することができ、I
(t)の値を大きくしてゆけば非常に深く変調された波
形を生成することができる。ここで、変調信号sinωmt
の代わりに様々な信号を用いることができ、以下に述べ
るように、前回演算時の自分のオペレータ出力を一定の
フィードバックレベルでフィードバックさせたり、他の
オペレータの出力を入力させたりすることができる。
このような原理のTM変調方式による音源処理を、第17
図(a)の動作フローチャートを用いて説明する。この
場合も、第16図のFM変調方式の場合と同様、2オペレー
タで音源処理を行う場合の例であり、処理のアルゴリズ
ムは第17図(b)で示される。また、フロー中の各変数
は、MCPU101又はSCPU102のRAM206、306上の第9図の
いずれかの発音チャネル領域に記憶される第11図のテー
ブル1のTMフォーマットの各データである。
図(a)の動作フローチャートを用いて説明する。この
場合も、第16図のFM変調方式の場合と同様、2オペレー
タで音源処理を行う場合の例であり、処理のアルゴリズ
ムは第17図(b)で示される。また、フロー中の各変数
は、MCPU101又はSCPU102のRAM206、306上の第9図の
いずれかの発音チャネル領域に記憶される第11図のテー
ブル1のTMフォーマットの各データである。
最初に、モジュレータであるオペレータ2(OP2)の
処理が行われる。ピッチ処理については、PCM方式のよ
うに補間が行われないので、整数アドレスA2のみであ
る。
処理が行われる。ピッチ処理については、PCM方式のよ
うに補間が行われないので、整数アドレスA2のみであ
る。
まず、現在アドレスA2にピッチデータP2が加算される
(S1701)。
(S1701)。
つぎに、変形サイン変換fcにより、上記アドレスA
2(位相)に対応する変形サイン波が外部メモリ116(第
1図)から読み出され、搬送信号がO2として生成される
(S1702)。
2(位相)に対応する変形サイン波が外部メモリ116(第
1図)から読み出され、搬送信号がO2として生成される
(S1702)。
続いて、搬送信号である上述のO2に、変調信号として
フィードバック出力FO2(S1706)が加算され、新たなア
ドレスが得られてO2とされる(S1703)。フィードバッ
ク出力FO2は、前回のインタラプトタイミングにおいて
後述するS1706の処理が実行されることにより得られて
いる。
フィードバック出力FO2(S1706)が加算され、新たなア
ドレスが得られてO2とされる(S1703)。フィードバッ
ク出力FO2は、前回のインタラプトタイミングにおいて
後述するS1706の処理が実行されることにより得られて
いる。
そして、上述の加算アドレスO2に対応する三角波の値
が計算される。実際には、外部メモリ116(第1図)に
前述した三角波データが記憶されており、上記アドレス
O2でその三角波データをテーブル引きすることにより得
られる(S1704)。
が計算される。実際には、外部メモリ116(第1図)に
前述した三角波データが記憶されており、上記アドレス
O2でその三角波データをテーブル引きすることにより得
られる(S1704)。
続いて、上記三角波データにエンベロープ値E2が乗算
され出力O2が得られる(S1705)。
され出力O2が得られる(S1705)。
この後、この出力O2にフィードバック・レベルFL2が
乗算されフィードバック出力FO2が得られる(S1707)。
この出力FO2は、本実施例の場合、次回のインタラプト
タイミングにおけるオペレータ2(OP2)への入力とさ
れる。
乗算されフィードバック出力FO2が得られる(S1707)。
この出力FO2は、本実施例の場合、次回のインタラプト
タイミングにおけるオペレータ2(OP2)への入力とさ
れる。
また、O2にモジュレーション・レベルML2が乗算され
てモジュレーション出力MO2が得られる(S1707)。この
モジュレーション出力MO2は、オペレータ1(OP1)への
変調入力になる。
てモジュレーション出力MO2が得られる(S1707)。この
モジュレーション出力MO2は、オペレータ1(OP1)への
変調入力になる。
つぎに、オペレータ1(OP1)の処理に移る。この処
理は、フィードバック出力による変調入力が無い他は、
殆ど上述のオペレータ2の場合と同じである。
理は、フィードバック出力による変調入力が無い他は、
殆ど上述のオペレータ2の場合と同じである。
まず、オペレータ1の現在アドレスA1にピッチデータ
P1が加算され(S1708)、得られた値に対して前述の変
形サイン変換が行われて搬送信号がO1として得られる
(S1709)。
P1が加算され(S1708)、得られた値に対して前述の変
形サイン変換が行われて搬送信号がO1として得られる
(S1709)。
つぎに、このO1に上述のモジュレーション出力MO2が
加算されて新たなO1とされ(S1710)、この値O1が三角
波変換され(S1711)、さらにエンベロープ値E1が乗算
されて楽音波形出力O1が得られる(S1712)。
加算されて新たなO1とされ(S1710)、この値O1が三角
波変換され(S1711)、さらにエンベロープ値E1が乗算
されて楽音波形出力O1が得られる(S1712)。
これがRAM206(第2図)又は306(第3図)内のバッ
ファB(第12図参照)に加算され(S1713)、1発音チ
ャネル分のTM変調処理を終了する。
ファB(第12図参照)に加算され(S1713)、1発音チ
ャネル分のTM変調処理を終了する。
以上、PCM、DPCM、FM、TMという4つの方式による音
源処理を説明した。この中でFMとTMの2方式は変調方式
であり、上述の例ではいずれも、第16図(b)、第17図
(b)に示すアルゴリズムに基づく2オペレータによる
処理であるが、実際に演奏時の音源処理は、オペレータ
の数がもっと多く、アルゴリズムはより複雑である。そ
の例が第18図に示されている。同図のアルゴリズム1で
は、フィードバック入力も含めて4重の変調が行われ、
複雑な波形が得られる。またアルゴリズム2では、フィ
ードバック入力を有する2組のアルゴリズムが並列して
おり、例えばアタックからサステインに移行する際の音
色変化を表現するのに適している。またアルゴリズム4
は、サイン波合成法に近い特徴を有する。
源処理を説明した。この中でFMとTMの2方式は変調方式
であり、上述の例ではいずれも、第16図(b)、第17図
(b)に示すアルゴリズムに基づく2オペレータによる
処理であるが、実際に演奏時の音源処理は、オペレータ
の数がもっと多く、アルゴリズムはより複雑である。そ
の例が第18図に示されている。同図のアルゴリズム1で
は、フィードバック入力も含めて4重の変調が行われ、
複雑な波形が得られる。またアルゴリズム2では、フィ
ードバック入力を有する2組のアルゴリズムが並列して
おり、例えばアタックからサステインに移行する際の音
色変化を表現するのに適している。またアルゴリズム4
は、サイン波合成法に近い特徴を有する。
第18図の4オペレータによるFM方式とTM方式の通常考
えられる音源処理の例を、第19図及び第20図を用いて順
次説明する。
えられる音源処理の例を、第19図及び第20図を用いて順
次説明する。
FM変調方式による音源処理(その2) 第19図は、第18図のアルゴリズム1に対応するFM変調
方式に基づく通常考えられる音源処理の動作フローチャ
ートである。フロー中の各変数は、MCPU101又はSCPU1
02のRAM206、0306上の第9図のいずれか発音チャネル領
域に記憶される。なお、第11図のテーブル1のFMフォー
マット各データには対応していないが、そのデータフォ
ーマットを拡張すれば容易に実現できることは明らかで
ある。
方式に基づく通常考えられる音源処理の動作フローチャ
ートである。フロー中の各変数は、MCPU101又はSCPU1
02のRAM206、0306上の第9図のいずれか発音チャネル領
域に記憶される。なお、第11図のテーブル1のFMフォー
マット各データには対応していないが、そのデータフォ
ーマットを拡張すれば容易に実現できることは明らかで
ある。
始めに、オペレータ4(OP4)の現在アドレスA4に、
ピッチデータP4が加算される(S1901)。つぎに、この
アドレスA4にフィードバック出力FO4(S1905)が変調入
力として加算され、新たなアドレスAM4が得られる(S
1902)。さらに、アドレスAM4(位相)に対応する正弦
波の値が、外部メモリ116(第1図参照)から読み出さ
れ(S1903)、これにエンベロープ値E4が乗算されて出
力O4が得られる(S1904)。この後、上記出力O4にフィ
ードバック・レベルFL4が乗算されフィードバック出力F
O4が得られる(S1905)。また、出力O4にモジュレーシ
ョン・レベルML4が乗算されてモジュレーション出力MO4
が得られる(S1906)。このモジュレーション出力M
O4は、つぎのオペレータ3(OP3)への変調入力にな
る。
ピッチデータP4が加算される(S1901)。つぎに、この
アドレスA4にフィードバック出力FO4(S1905)が変調入
力として加算され、新たなアドレスAM4が得られる(S
1902)。さらに、アドレスAM4(位相)に対応する正弦
波の値が、外部メモリ116(第1図参照)から読み出さ
れ(S1903)、これにエンベロープ値E4が乗算されて出
力O4が得られる(S1904)。この後、上記出力O4にフィ
ードバック・レベルFL4が乗算されフィードバック出力F
O4が得られる(S1905)。また、出力O4にモジュレーシ
ョン・レベルML4が乗算されてモジュレーション出力MO4
が得られる(S1906)。このモジュレーション出力M
O4は、つぎのオペレータ3(OP3)への変調入力にな
る。
つぎに、オペレータ3(OP3)の処理に移る。この処
理は、フィードバック出力による変調入力が無い他は、
殆ど上述のオペレータ4の場合と同じである。まず、オ
ペレータ3(OP3)の現在アドレスA3にピッチデータP3
が加算される(S1907)。つぎに、アドレスA3にモジュ
レーション出力MO4が変調入力として加算され、新たな
アドレスAM3が得られる(S1908)。さらにこのアドレス
AM3(位相)に対応する正弦波の値が、外部メモリ116
(第1図)から読み出され(S1909)、これにエンベロ
ープ値E3が乗算されて出力O3が得られる(S1910)。こ
の後、この出力O3にモジュレーション・レベルML3が乗
算されてモジュレーション出力O3が得られる
(S1911)。このモジュレーション出力MO3は、つぎのオ
ペレータ2(OP2)への変調入力になる。
理は、フィードバック出力による変調入力が無い他は、
殆ど上述のオペレータ4の場合と同じである。まず、オ
ペレータ3(OP3)の現在アドレスA3にピッチデータP3
が加算される(S1907)。つぎに、アドレスA3にモジュ
レーション出力MO4が変調入力として加算され、新たな
アドレスAM3が得られる(S1908)。さらにこのアドレス
AM3(位相)に対応する正弦波の値が、外部メモリ116
(第1図)から読み出され(S1909)、これにエンベロ
ープ値E3が乗算されて出力O3が得られる(S1910)。こ
の後、この出力O3にモジュレーション・レベルML3が乗
算されてモジュレーション出力O3が得られる
(S1911)。このモジュレーション出力MO3は、つぎのオ
ペレータ2(OP2)への変調入力になる。
つぎに、オペレータ2(OP2)の処理が実行される
が、この処理は変調入力が異なるのみで上述のオペレー
タ3の場合と同じであるので、説明を省略する。
が、この処理は変調入力が異なるのみで上述のオペレー
タ3の場合と同じであるので、説明を省略する。
最後に、オペレータ1(OP1)の処理に入るが、これ
もステップS1920までは、これまでと同様な処理が行わ
れる。そして、S1920で得られた楽音波形出力O1は、キ
ャリアとしてバッファB(第12図参照)に累算される
(S1921)。
もステップS1920までは、これまでと同様な処理が行わ
れる。そして、S1920で得られた楽音波形出力O1は、キ
ャリアとしてバッファB(第12図参照)に累算される
(S1921)。
TM変調方式による音源処理(その2) 第20図は、第18図のアルゴリズム1に対応するTM変調
方式に基づく通常考えられる音源処理の動作フローチャ
ートである。フロー中の各変数は、MCPU101又はSCPU1
02のRAM206、306上の第9図のいずれかの発音チャネル
領域に記憶される。なお、第11図のテーブル1のTMフォ
ーマットの各データには対応していないが、第11図のデ
ータフォーマットを拡張すれば容易に実現できることは
明らかである。
方式に基づく通常考えられる音源処理の動作フローチャ
ートである。フロー中の各変数は、MCPU101又はSCPU1
02のRAM206、306上の第9図のいずれかの発音チャネル
領域に記憶される。なお、第11図のテーブル1のTMフォ
ーマットの各データには対応していないが、第11図のデ
ータフォーマットを拡張すれば容易に実現できることは
明らかである。
まず、オペレータ4(OP4)の現在アドレスA4にピッ
チデータP4が加算される(S2001)。つぎに、変形サイ
ン変換fcによって、上述のアドレスA4(位相)に対応す
る変形サイン波が外部メモリ116(第1図)から読み出
され、搬送信号がO4として生成される(S2002)。そし
て、出力O4に変調信号としてフィードバック出力FO4(S
2007参照)が加算され、新たなアドレスO4が得られる
(S2003)。つぎに、このアドレスO4(位相)に対応す
る三角波の値が、外部メモリ116(第1図)から読み出
され(S2004)、これにエンベロープ値E4が乗算されて
出力O4が得られる(S2005)。この後、この出力O4にモ
ジュレーション・レベルML4が乗算されてモジュレーシ
ョン出力MO4が得られ(S2006)、また、出力O4にフィー
ドバック・レベルFL4が乗算されてフィードバック出力F
O4が得られる(S2007)。上記モジュレーション出力MO4
はつぎのオペレータ3(OP3)への変調入力になる。
チデータP4が加算される(S2001)。つぎに、変形サイ
ン変換fcによって、上述のアドレスA4(位相)に対応す
る変形サイン波が外部メモリ116(第1図)から読み出
され、搬送信号がO4として生成される(S2002)。そし
て、出力O4に変調信号としてフィードバック出力FO4(S
2007参照)が加算され、新たなアドレスO4が得られる
(S2003)。つぎに、このアドレスO4(位相)に対応す
る三角波の値が、外部メモリ116(第1図)から読み出
され(S2004)、これにエンベロープ値E4が乗算されて
出力O4が得られる(S2005)。この後、この出力O4にモ
ジュレーション・レベルML4が乗算されてモジュレーシ
ョン出力MO4が得られ(S2006)、また、出力O4にフィー
ドバック・レベルFL4が乗算されてフィードバック出力F
O4が得られる(S2007)。上記モジュレーション出力MO4
はつぎのオペレータ3(OP3)への変調入力になる。
つぎに、オペレータ3(OP3)の処理に入る。この処
理は、フィードバック出力による変調入力が無い他は、
殆ど上述のオペレータ4の場合と同じである。まず、オ
ペレータ3の現在アドレスA3にピッチデータP3が加算さ
れ(S2008)、得られた値に対して変形サイン変換が行
われて搬送信号がO3として得られる(S2009)。つぎ
に、このO3に上述のモジュレーション出力MO4が加算さ
れて新たなO3とされ(S2010)、この値O3が三角波変換
され(S2011)、さらにエンベロープ値E3が乗算されて
出力O3が得られる(S2012)。さらに、これにモジュレ
ーション・レベルML3が乗算されてモジュレーション出
力MO3が得られる(S2013)。このモジュレーション出力
MO3は、つぎのオペレータ2(OP2)への変調入力にな
る。
理は、フィードバック出力による変調入力が無い他は、
殆ど上述のオペレータ4の場合と同じである。まず、オ
ペレータ3の現在アドレスA3にピッチデータP3が加算さ
れ(S2008)、得られた値に対して変形サイン変換が行
われて搬送信号がO3として得られる(S2009)。つぎ
に、このO3に上述のモジュレーション出力MO4が加算さ
れて新たなO3とされ(S2010)、この値O3が三角波変換
され(S2011)、さらにエンベロープ値E3が乗算されて
出力O3が得られる(S2012)。さらに、これにモジュレ
ーション・レベルML3が乗算されてモジュレーション出
力MO3が得られる(S2013)。このモジュレーション出力
MO3は、つぎのオペレータ2(OP2)への変調入力にな
る。
つぎに、オペレータ2(OP2)の処理が実行される
が、この処理は変調入力が異なるのみで上述のオペレー
タ3の場合と同じであるので、説明を省略する。
が、この処理は変調入力が異なるのみで上述のオペレー
タ3の場合と同じであるので、説明を省略する。
最後に、オペレータ1(OP1)の処理に入るが、これ
もステップS2024までは、これまでと同様な処理が行わ
れる。そして、S2024で得られた楽音波形出力O1は、キ
ャリアとしてバッファB(第12図参照)に累算される
(S2025)。
もステップS2024までは、これまでと同様な処理が行わ
れる。そして、S2024で得られた楽音波形出力O1は、キ
ャリアとしてバッファB(第12図参照)に累算される
(S2025)。
以上、変調方式による通常の音源処理の実施例を説明
したが、この処理は、前述したように1発音チャネル分
の処理で、実際にはMCPU101とSCPU102の各1CPU当た
り、8発音チャネル分処理される(第3図(d)参
照)。そして、ある発音チャネルに変調方式が指定され
ていれば、上述の変調方式による音源処理が働く。
したが、この処理は、前述したように1発音チャネル分
の処理で、実際にはMCPU101とSCPU102の各1CPU当た
り、8発音チャネル分処理される(第3図(d)参
照)。そして、ある発音チャネルに変調方式が指定され
ていれば、上述の変調方式による音源処理が働く。
変調方式の改良例(その1) つぎに、変調方式による音源処理の第1の改良例を説
明する。
明する。
その基本概念は、第21図のフローチャートに示されて
いる。
いる。
同図において、オペレータ1、2、3、4処理は、用
いられる変数名が異なるだけでプログラム構造は同じで
ある ここで、各オペレータ処理は、変調入力を決めなけれ
ば、オペレータ処理を行うことはできない。というの
は、第18図に示されるようにアルゴリズムによって各オ
ペレータ処理への変調入力が異なるからである。つま
り、どのオペレータ処理の出力を変調入力とするのか、
あるいは他のオペレータ処理でなく自分のオペレータ処
理の出力をフィードバックして、自分の変調入力とする
のかを決める必要がある。そこで、第21図の動作フロー
では、このような接続関係がアルゴリズム処理
(S2105)としてまとめて行われ、これにより得られる
接続関係が次のインタラプトタイミングにおける各オペ
レータ処理(S2102〜S2104)における変調入力を決定す
るように動作する。なお、発音開始時の(すなわち一番
始めの)各オペレータ処理への入力としては、或る初期
値が与えられる。
いられる変数名が異なるだけでプログラム構造は同じで
ある ここで、各オペレータ処理は、変調入力を決めなけれ
ば、オペレータ処理を行うことはできない。というの
は、第18図に示されるようにアルゴリズムによって各オ
ペレータ処理への変調入力が異なるからである。つま
り、どのオペレータ処理の出力を変調入力とするのか、
あるいは他のオペレータ処理でなく自分のオペレータ処
理の出力をフィードバックして、自分の変調入力とする
のかを決める必要がある。そこで、第21図の動作フロー
では、このような接続関係がアルゴリズム処理
(S2105)としてまとめて行われ、これにより得られる
接続関係が次のインタラプトタイミングにおける各オペ
レータ処理(S2102〜S2104)における変調入力を決定す
るように動作する。なお、発音開始時の(すなわち一番
始めの)各オペレータ処理への入力としては、或る初期
値が与えられる。
このように、オペレータ処理とアルゴリズム処理を分
離すれば、いかなるアルゴリズムの場合でも、オペレー
タ処理のプログラムは同一でよく、アルゴリズム処理の
み変更すればよい。従って、変調方式による音源処理全
体のプログラム容量を大幅に減少させることが可能とな
る。
離すれば、いかなるアルゴリズムの場合でも、オペレー
タ処理のプログラムは同一でよく、アルゴリズム処理の
み変更すればよい。従って、変調方式による音源処理全
体のプログラム容量を大幅に減少させることが可能とな
る。
次に、上述の基本概念に基づくFM変調方式の改良例に
ついて説明する。第21図のオペレータ処理のFM変調方式
による動作フローチャートを、オペレータ1処理を例に
とって第22図(a)に示し、1オペレータあたりの演算
アルゴリズムを同図(b)に示す。他のオペレータ2〜
4処理も変数の添字番号が異なるだけで全く同様であ
る。なお、フロー中の各変数は、MCPU101又はSCPU102
のRAM206、306上の第9図のいずれかの発音チャネルに
記憶される。
ついて説明する。第21図のオペレータ処理のFM変調方式
による動作フローチャートを、オペレータ1処理を例に
とって第22図(a)に示し、1オペレータあたりの演算
アルゴリズムを同図(b)に示す。他のオペレータ2〜
4処理も変数の添字番号が異なるだけで全く同様であ
る。なお、フロー中の各変数は、MCPU101又はSCPU102
のRAM206、306上の第9図のいずれかの発音チャネルに
記憶される。
まず、位相角に対応するアドレスA1にピッチデータP1
が加算され、新たなアドレスA1とされる(S2201)。つ
ぎに、このアドレスA1に変調入力MI1が加算され、アド
レスAM1が得られる(S2202)。変調入力MI1は、前回の
インタラプトタイミングでのアルゴリズム処理S
2105(第21図)によって決定され、アルゴリズムによっ
て、そのオペレータ自身のフィードバック出力FO1であ
ったり、あるいは他のオペレータ、例えばオペレータ2
の出力MO2であったりする。つぎに、このアドレス(位
相)AM1に対応する正弦波の値が外部メモリ116(第1
図)から読み出され、出力O1が得られる(S2003)。そ
の後、これにエンベロープデータE1が乗算された値が、
オペレータ1の出力O1になる(S2204)。また、この出
力O1にフィードバック・レベルFL1が乗算されてフィー
ドバック出力FO1が得られ(S2205)、また、出力O1にモ
ジュレーション・レベルML1が乗算されて、モジュレー
ション出力MO1が得られる(S2206)。
が加算され、新たなアドレスA1とされる(S2201)。つ
ぎに、このアドレスA1に変調入力MI1が加算され、アド
レスAM1が得られる(S2202)。変調入力MI1は、前回の
インタラプトタイミングでのアルゴリズム処理S
2105(第21図)によって決定され、アルゴリズムによっ
て、そのオペレータ自身のフィードバック出力FO1であ
ったり、あるいは他のオペレータ、例えばオペレータ2
の出力MO2であったりする。つぎに、このアドレス(位
相)AM1に対応する正弦波の値が外部メモリ116(第1
図)から読み出され、出力O1が得られる(S2003)。そ
の後、これにエンベロープデータE1が乗算された値が、
オペレータ1の出力O1になる(S2204)。また、この出
力O1にフィードバック・レベルFL1が乗算されてフィー
ドバック出力FO1が得られ(S2205)、また、出力O1にモ
ジュレーション・レベルML1が乗算されて、モジュレー
ション出力MO1が得られる(S2206)。
次に、前述の基本概念に基づくTM変調方式の改良例に
ついて説明する。第21図のオペレータ処理のTM変調方式
による動作フローチャートを、オペレータ1処理を例に
とって第23図(a)に示し、1オペレータあたりの演算
アルゴリズムを同図(b)に示す。他のオペレータ2〜
4処理も変換の添字番号が異なるだけで全く同様であ
る。なお、フロー中の各変数は、MCPU101又はSCPU102
のRAM206、306上の第9図のいずれかの発音チャネルに
記憶される。
ついて説明する。第21図のオペレータ処理のTM変調方式
による動作フローチャートを、オペレータ1処理を例に
とって第23図(a)に示し、1オペレータあたりの演算
アルゴリズムを同図(b)に示す。他のオペレータ2〜
4処理も変換の添字番号が異なるだけで全く同様であ
る。なお、フロー中の各変数は、MCPU101又はSCPU102
のRAM206、306上の第9図のいずれかの発音チャネルに
記憶される。
まず、現在アドレスA1にピッチデータP1が加算される
(S2301)。つぎに、変形サイン変換fcによって、上述
のアドレスA1(位相)に対応する変形サイン波が外部メ
モリ116(第1図)から読み出され、搬送信号がO1とし
て生成される(S2302)。そして、出力O1に変調信号と
して変調入力MI1が加算され、新たなアドレスO1が得ら
れる(S2303)。つぎに、このアドレスO1(位相)に対
応する三角波の値が、外部メモリ116から読み出され(S
2304)、これにエンベロープ値E1が乗算され出力O1とさ
れる(S2305)。この後、この出力O1にフィードバック
・レベルFL1が乗算されてフィードバック出力FO1が得ら
れ(S2306)、また、出力O1にモジュレーション・レベ
ルML1が乗算されてモジュレーション出力MO1が得られる
(S2307)。
(S2301)。つぎに、変形サイン変換fcによって、上述
のアドレスA1(位相)に対応する変形サイン波が外部メ
モリ116(第1図)から読み出され、搬送信号がO1とし
て生成される(S2302)。そして、出力O1に変調信号と
して変調入力MI1が加算され、新たなアドレスO1が得ら
れる(S2303)。つぎに、このアドレスO1(位相)に対
応する三角波の値が、外部メモリ116から読み出され(S
2304)、これにエンベロープ値E1が乗算され出力O1とさ
れる(S2305)。この後、この出力O1にフィードバック
・レベルFL1が乗算されてフィードバック出力FO1が得ら
れ(S2306)、また、出力O1にモジュレーション・レベ
ルML1が乗算されてモジュレーション出力MO1が得られる
(S2307)。
つぎに、上述のFM方式とTM方式の両変調方式でのオペ
レータ処理における変調入力を決定するための第21図の
アルゴリズム処理S2105の具体例を第24図の動作フロー
チャートで説明する。同図のフローは、FM方式とTM方式
共通であり、第18図のアルゴリズムの1〜4を切り替え
て処理する例である。この場合のアルゴリズム1〜4の
選択枝は、演奏者による特には図示しない指示に基づい
て選択される(S2400)。
レータ処理における変調入力を決定するための第21図の
アルゴリズム処理S2105の具体例を第24図の動作フロー
チャートで説明する。同図のフローは、FM方式とTM方式
共通であり、第18図のアルゴリズムの1〜4を切り替え
て処理する例である。この場合のアルゴリズム1〜4の
選択枝は、演奏者による特には図示しない指示に基づい
て選択される(S2400)。
まず、アルゴリズム1は、第18図(a)のように、4
オペレータ(OPと略称する)直列型で、OP4のみフィー
ドバック入力を有する。すなわち、 OP4のフィードバック出力FO4がOP4の変調入力MI4とさ
れ(S2401)、 OP4のモジュレーション出力MO4がOP3の変調入力MI3と
され(S2402)、 OP3のモジュレーション出力MO3がOP2の変調入力MI2と
され(S2403)、 OP2のモジュレーション出力MO2がOP1の変調入力MI1と
され(S2404)、 OP1の出力O1がキャリア出力としてバッファB(第12
図参照)に加算される(S2405)、 というアルゴリズムである。
オペレータ(OPと略称する)直列型で、OP4のみフィー
ドバック入力を有する。すなわち、 OP4のフィードバック出力FO4がOP4の変調入力MI4とさ
れ(S2401)、 OP4のモジュレーション出力MO4がOP3の変調入力MI3と
され(S2402)、 OP3のモジュレーション出力MO3がOP2の変調入力MI2と
され(S2403)、 OP2のモジュレーション出力MO2がOP1の変調入力MI1と
され(S2404)、 OP1の出力O1がキャリア出力としてバッファB(第12
図参照)に加算される(S2405)、 というアルゴリズムである。
アルゴリズム2は、第18図(b)のように、OP2とOP4
がフィードバック入力を有する。すなわち、 OP4のフィードバック出力FO4がOP4の変調入力MI4とさ
れ(S2406)、 OP4のモジュレーション出力MO4がOP3の変調入力MI3と
され(S2407)、 OP2のフィードバック出力FO2がOP2の変調入力MI2とさ
れ(S2408)、 OP2とOP3のモジュレーション出力MO2,MO3がOP1の変調
入力MI1とされ(S2409)、 OP1の出力O1がキャリア出力としてバッファBに加算
される(S2410)、 というアルゴリズムである。
がフィードバック入力を有する。すなわち、 OP4のフィードバック出力FO4がOP4の変調入力MI4とさ
れ(S2406)、 OP4のモジュレーション出力MO4がOP3の変調入力MI3と
され(S2407)、 OP2のフィードバック出力FO2がOP2の変調入力MI2とさ
れ(S2408)、 OP2とOP3のモジュレーション出力MO2,MO3がOP1の変調
入力MI1とされ(S2409)、 OP1の出力O1がキャリア出力としてバッファBに加算
される(S2410)、 というアルゴリズムである。
アルゴリズム3は、OP2とOP4がフィードバック入力を
有し、2オペレータ直列型が2つ並列に構成される。す
なわち、 OP4のフィードバック出力FO4がOP4の変調入力MI4とさ
れ(S2411)、 OP4のモジュレーション出力MO4がOP3の変調入力MI3と
され(S2412)、 OP2のフィードバック出力FO2がOP2の変調入力MI2とさ
れ(S2413)、 OP2のモジュレーション出力MO2がOP1の変調入力MI1と
され(S2414)、 OP1とOP3の各出力O1とO3がキャリア出力としてバッフ
アBに加算される(S2415)、 というアルゴリズムである。
有し、2オペレータ直列型が2つ並列に構成される。す
なわち、 OP4のフィードバック出力FO4がOP4の変調入力MI4とさ
れ(S2411)、 OP4のモジュレーション出力MO4がOP3の変調入力MI3と
され(S2412)、 OP2のフィードバック出力FO2がOP2の変調入力MI2とさ
れ(S2413)、 OP2のモジュレーション出力MO2がOP1の変調入力MI1と
され(S2414)、 OP1とOP3の各出力O1とO3がキャリア出力としてバッフ
アBに加算される(S2415)、 というアルゴリズムである。
アルゴリズム4は、4オペレータ並列型で、全オペレ
ータがフィードバック入力を有する。すなわち、 OP4のフィードバック出力FO4がOP4の変調入力MI4とさ
れ(S2416)、 OP3のフィードバック出力FO3がOP3の変調入力MI3とさ
れ(S2417)、 OP2のフィードバック出力FO2がOP2の変調入力MI2とさ
れ(S2418)、 OP1のフィードバック出力FO1がOP1の変調入力MI1とさ
れ(S2419)、 全オペレータの出力O1、O2、O3及びO4がバッファBに
加算される(S2420)、 というアルゴリズムである。
ータがフィードバック入力を有する。すなわち、 OP4のフィードバック出力FO4がOP4の変調入力MI4とさ
れ(S2416)、 OP3のフィードバック出力FO3がOP3の変調入力MI3とさ
れ(S2417)、 OP2のフィードバック出力FO2がOP2の変調入力MI2とさ
れ(S2418)、 OP1のフィードバック出力FO1がOP1の変調入力MI1とさ
れ(S2419)、 全オペレータの出力O1、O2、O3及びO4がバッファBに
加算される(S2420)、 というアルゴリズムである。
以上説明したオペレータ処理と、アルゴリズム処理に
よって1チャネル分の音源処理が終了し、アルゴリズム
の変更が無ければ、このままの状態で発音(音源処理)
が続く。
よって1チャネル分の音源処理が終了し、アルゴリズム
の変更が無ければ、このままの状態で発音(音源処理)
が続く。
変調方式の改良例(その2) つぎに、変調方式による音源処理の第2の改良例につ
いて説明する。
いて説明する。
ここまで説明してきた種々の変調方式においては、複
雑なアルゴリズムを組むほど、また、発音チャネル数
(ポリフォニック数)が多いほど処理に時間がかかる。
雑なアルゴリズムを組むほど、また、発音チャネル数
(ポリフォニック数)が多いほど処理に時間がかかる。
そこで、以下に説明する第2の改良例では、オペレー
タ処理とアルゴリズム処理を分離した第21図の第1の改
良例をさらに発展させて、あるインタラプトタイミング
ではオペレータ処理のみを行い、つぎのインタラプトタ
イミングではアルゴリズム処理のみを行うというよう
に、オペレータ処理とアルゴリズム処理を交互に行う。
これにより、1インタラプトタイミングあたりの処理負
荷を大幅に減少させることができる。その結果、インタ
ラプト2回に1つのサンプルデータが出力される。
タ処理とアルゴリズム処理を分離した第21図の第1の改
良例をさらに発展させて、あるインタラプトタイミング
ではオペレータ処理のみを行い、つぎのインタラプトタ
イミングではアルゴリズム処理のみを行うというよう
に、オペレータ処理とアルゴリズム処理を交互に行う。
これにより、1インタラプトタイミングあたりの処理負
荷を大幅に減少させることができる。その結果、インタ
ラプト2回に1つのサンプルデータが出力される。
この動作について、第25図の動作フローチャートを用
いて説明する。
いて説明する。
まず、オペレータ処理とアルゴリズム処理を交互に行
うため、変数Sを用いてSがゼロか否かが判定される
(S2501)。この変数Sは、各発音チャネル毎に設けら
れ、MCPU101又はSCPU102のRAM206、306上の第9図の
各発音チャネル領域に記憶される。
うため、変数Sを用いてSがゼロか否かが判定される
(S2501)。この変数Sは、各発音チャネル毎に設けら
れ、MCPU101又はSCPU102のRAM206、306上の第9図の
各発音チャネル領域に記憶される。
あるインタラプトタイミングにおいて、Sが0のとき
はオペレータ処理のルートに入り、変数Sに値1をセッ
トする(S2502)。続いて、オペレータ1〜4処理が実
行される(S2503〜S2506)。この処理は、第22図又は第
23図等と同様である。
はオペレータ処理のルートに入り、変数Sに値1をセッ
トする(S2502)。続いて、オペレータ1〜4処理が実
行される(S2503〜S2506)。この処理は、第22図又は第
23図等と同様である。
つぎに、オペレータ処理のルートを抜け、バッファB
に、バッファBF(FM方式の場合)又はバッファBT(TM方
式の場合)の値が設定される出力処理が実行される(S
2510)。バッファBF又はBTは、各発音チャネル毎に設け
られ、MCPU101又はSCPU102のRAM206、306上の第9図
の各発音チャネル領域毎に記憶される。バッファBF又は
BTには、アルゴリズム処理後の波形出力値が格納される
が、今回のインタラプトタイミングでは、アルゴリズム
処理は実行されておらずバッファBF又はBTの内容は変更
されていないため、前回のインタラプトタイミングと同
じ波形出力値が出力される。
に、バッファBF(FM方式の場合)又はバッファBT(TM方
式の場合)の値が設定される出力処理が実行される(S
2510)。バッファBF又はBTは、各発音チャネル毎に設け
られ、MCPU101又はSCPU102のRAM206、306上の第9図
の各発音チャネル領域毎に記憶される。バッファBF又は
BTには、アルゴリズム処理後の波形出力値が格納される
が、今回のインタラプトタイミングでは、アルゴリズム
処理は実行されておらずバッファBF又はBTの内容は変更
されていないため、前回のインタラプトタイミングと同
じ波形出力値が出力される。
以上の処理により、今回のインタラプトタイミングに
おける1発音チャネル分の音源処理を終了する。この場
合、今回のオペレータ1〜4処理で求まった各データ
は、次のインタラプトタイミングまで、MCPU101又はS
CPU102のRAM206、306上の第9図の各発音チャネル領域
に保持される。
おける1発音チャネル分の音源処理を終了する。この場
合、今回のオペレータ1〜4処理で求まった各データ
は、次のインタラプトタイミングまで、MCPU101又はS
CPU102のRAM206、306上の第9図の各発音チャネル領域
に保持される。
つぎのインタラプトが掛かると、前回のインタラプト
タイミングで変数Sが1にされているので、ステップS
2507に進み、アルゴリズム処理のルートに入り、変数S
に値0をセットする。続いて、アルゴリズム処理が実行
される(S2508)。
タイミングで変数Sが1にされているので、ステップS
2507に進み、アルゴリズム処理のルートに入り、変数S
に値0をセットする。続いて、アルゴリズム処理が実行
される(S2508)。
この処理においては、前回のインタラプトタイミング
において、オペレータ1〜4処理で処理され第9図の各
発音チャネル領域に保持されている各データが用いら
れ、つぎのオペレータ処理のための変調入力を決める処
理が行われる。そして、この処理においてバッフアBF又
はBTの内容が書き替えられ、そのインタラプトタイミン
グにおける波形出力値が求まる。アルゴリズム処理の具
体例を第26図の動作フローチャートに示す。このフロー
において、第24図の場合と同じ番号を付したステップで
は第24図の場合と同じ処理が行われる。第24図の場合と
異なるのは、S2601〜S2604の出力部分である。ここで
は、アルゴリズム1およびアルゴリズム2の場合は、オ
ペレータ1処理の出力O1の内容がそのままバッフアBF又
はBTに保持される(S2601,S2602)。また、アルゴリズ
ム3の場合には、出力O1に出力O3が加算された値がバッ
フアBF又はBTに保持される(S2603)。さらに、アルゴ
リズム4の場合は、出力O1に出力O2,O3,O4が加算された
値がBF又はBTに保持される(S2604)。
において、オペレータ1〜4処理で処理され第9図の各
発音チャネル領域に保持されている各データが用いら
れ、つぎのオペレータ処理のための変調入力を決める処
理が行われる。そして、この処理においてバッフアBF又
はBTの内容が書き替えられ、そのインタラプトタイミン
グにおける波形出力値が求まる。アルゴリズム処理の具
体例を第26図の動作フローチャートに示す。このフロー
において、第24図の場合と同じ番号を付したステップで
は第24図の場合と同じ処理が行われる。第24図の場合と
異なるのは、S2601〜S2604の出力部分である。ここで
は、アルゴリズム1およびアルゴリズム2の場合は、オ
ペレータ1処理の出力O1の内容がそのままバッフアBF又
はBTに保持される(S2601,S2602)。また、アルゴリズ
ム3の場合には、出力O1に出力O3が加算された値がバッ
フアBF又はBTに保持される(S2603)。さらに、アルゴ
リズム4の場合は、出力O1に出力O2,O3,O4が加算された
値がBF又はBTに保持される(S2604)。
以上のように、1インタラプトタイミングおきに、オ
ペレータ処理とアルゴリズム処理が交互に実行されるた
め、1インタラプトタイミングあたりの音源処理プログ
ラムの処理負荷を著しく減少させることができる。この
場合、インタラプト周期を長くする必要がないため、イ
ンタラプトにより第4図(a)のメイン動作フローチャ
ートが中断する時間が増加することなく、そのプログラ
ム動作に影響を与えずに処理負荷を低減させることがで
きる。従って、例えば第4図(a)によって実行される
鍵盤キー取り込みの間隔が長くなることもなく、電子楽
器としての応答性能に影響を与えることもない。
ペレータ処理とアルゴリズム処理が交互に実行されるた
め、1インタラプトタイミングあたりの音源処理プログ
ラムの処理負荷を著しく減少させることができる。この
場合、インタラプト周期を長くする必要がないため、イ
ンタラプトにより第4図(a)のメイン動作フローチャ
ートが中断する時間が増加することなく、そのプログラ
ム動作に影響を与えずに処理負荷を低減させることがで
きる。従って、例えば第4図(a)によって実行される
鍵盤キー取り込みの間隔が長くなることもなく、電子楽
器としての応答性能に影響を与えることもない。
以上の、種々の音源方式に基づくソフトウエアの音源
処理によって、発音チャネル毎に楽音データを生成する
動作について説明した。
処理によって、発音チャネル毎に楽音データを生成する
動作について説明した。
機能キー処理 つぎに、実際の電子楽器を演奏する場合における第4
図(a)のメイン動作フローチャートの機能キー処理
(S403)の具体的動作につき説明する。
図(a)のメイン動作フローチャートの機能キー処理
(S403)の具体的動作につき説明する。
上述の発音チャネル毎に行われる音源処理において
は、MCPU101の入力ポート210(第2図参照)を介して
例えば電子楽音の操作パネル上に接続される第8図
(a)の機能キー801によって、MCPU101又はSCPU102
のRAM206又は306(第2図及び第3図参照)上の各発音
チャネル領域(第9図参照)に、前述した各種音源方式
のデータフォーマット(第11図参照)が設定される。
は、MCPU101の入力ポート210(第2図参照)を介して
例えば電子楽音の操作パネル上に接続される第8図
(a)の機能キー801によって、MCPU101又はSCPU102
のRAM206又は306(第2図及び第3図参照)上の各発音
チャネル領域(第9図参照)に、前述した各種音源方式
のデータフォーマット(第11図参照)が設定される。
第27図は、第8図(a)の機能キー801の一部の配置
例を示した図である。同図では、機能キー801の一部が
音色指定スイッチとして実現され、Aグループの「ピア
ノ」、「ギター」、・・・、「琴」などのスイッチが押
されると、それぞれの楽器音の音色が選択され、ガイド
ランプが点灯する。そして、DPCM/TM方式選択スイッチ2
701で、これらの楽器音の音色をDPCM方式とTM方式のい
ずれの音源方式で生成するかが選択される。
例を示した図である。同図では、機能キー801の一部が
音色指定スイッチとして実現され、Aグループの「ピア
ノ」、「ギター」、・・・、「琴」などのスイッチが押
されると、それぞれの楽器音の音色が選択され、ガイド
ランプが点灯する。そして、DPCM/TM方式選択スイッチ2
701で、これらの楽器音の音色をDPCM方式とTM方式のい
ずれの音源方式で生成するかが選択される。
一方、Bグループの「チューバ」のスイッチが押され
ればFM方式により、「ベース」が押されればPCM/TM両方
式により、また、「トランペット」が押されればPCM方
式により、それぞれの音色が指定され、それらの音源方
式に基づく楽音が生成されることになる。
ればFM方式により、「ベース」が押されればPCM/TM両方
式により、また、「トランペット」が押されればPCM方
式により、それぞれの音色が指定され、それらの音源方
式に基づく楽音が生成されることになる。
第28図(a)、(b)に、上記「ピアノ」と「ベー
ス」のスイッチが押された場合の、RAM206又は306上の
第9図で示される各発音チャネル領域への音源方式の割
り当て例が示されている。「ピアノ」の場合、同図
(a)の如く、MCPU101及びSCPU102の8音ポリフォニ
ックの各発音チャネルのすべてに、DPCM方式が割り当て
られ、また、「ベース」の場合、同図(b)の如く、奇
数番号の発音チャネルにPCM方式が、偶数番号の発音チ
ャネルにTM方式が、それぞれ割り当てられる。これによ
り、PCM方式とTM方式による2発音チャネルで生成され
る楽音波形が混合されたものとして1音分の楽音波形が
得られる。この場合には、各CPUあたり4音ポリフォニ
ック、2CPU合計で8音ポリフォニックとなる。
ス」のスイッチが押された場合の、RAM206又は306上の
第9図で示される各発音チャネル領域への音源方式の割
り当て例が示されている。「ピアノ」の場合、同図
(a)の如く、MCPU101及びSCPU102の8音ポリフォニ
ックの各発音チャネルのすべてに、DPCM方式が割り当て
られ、また、「ベース」の場合、同図(b)の如く、奇
数番号の発音チャネルにPCM方式が、偶数番号の発音チ
ャネルにTM方式が、それぞれ割り当てられる。これによ
り、PCM方式とTM方式による2発音チャネルで生成され
る楽音波形が混合されたものとして1音分の楽音波形が
得られる。この場合には、各CPUあたり4音ポリフォニ
ック、2CPU合計で8音ポリフォニックとなる。
第29図は、第4図(a)のメイン動作フローチャート
におけるS403の機能キー処理の動作フローチャートの一
部であり、第27図の音色指定スイッチ群に対する処理の
動作フローチャートである。
におけるS403の機能キー処理の動作フローチャートの一
部であり、第27図の音色指定スイッチ群に対する処理の
動作フローチャートである。
まず、演奏者によりDPCM/TMスイッチ2701が操作され
たか否かが判定され(S2901)、判定がYESの場合は、変
数Mがゼロか否かが判定され(S2902)。変数Mは、MC
PU101のRAM206(第2図)上に確保され、DPCM方式のと
きは値0、TM方式のときは値1をとる。S2902で変数M
の値が0でその判定がYESの場合は、変数Mに値1がセ
ットされる(S2903)。これはDPCM方式が選択されてい
た状態で、DPCM/TMスイッチ2701が押圧されてTM方式が
選択される状態に変化したことを意味する。また、S
2902で変数Mの値が1で判定がNOの場合は、変数Mに値
0がセットされる(S2904)。これはTM方式が選択され
ていた状態で、DPCM/TMスイッチ2701が押圧されてDPCM
方式が選択される状態に変化したことを意味する。
たか否かが判定され(S2901)、判定がYESの場合は、変
数Mがゼロか否かが判定され(S2902)。変数Mは、MC
PU101のRAM206(第2図)上に確保され、DPCM方式のと
きは値0、TM方式のときは値1をとる。S2902で変数M
の値が0でその判定がYESの場合は、変数Mに値1がセ
ットされる(S2903)。これはDPCM方式が選択されてい
た状態で、DPCM/TMスイッチ2701が押圧されてTM方式が
選択される状態に変化したことを意味する。また、S
2902で変数Mの値が1で判定がNOの場合は、変数Mに値
0がセットされる(S2904)。これはTM方式が選択され
ていた状態で、DPCM/TMスイッチ2701が押圧されてDPCM
方式が選択される状態に変化したことを意味する。
つぎに、現在、第27図のAグループの音色が指定され
ているか否かが判定される(S2905)。DPCM/TMスイッチ
2701はAグループの音色に対してのみ有効であるため、
Aグループの音色が指定されてS2905の判定がYESの場合
にのみ、S2906〜S2908のDPCM/TMスイッチ2701に対応す
る動作が実行される。
ているか否かが判定される(S2905)。DPCM/TMスイッチ
2701はAグループの音色に対してのみ有効であるため、
Aグループの音色が指定されてS2905の判定がYESの場合
にのみ、S2906〜S2908のDPCM/TMスイッチ2701に対応す
る動作が実行される。
S2906では、変数Mが値0であるか否かが判定される
(S2906)。
(S2906)。
S2906の判定がYESの場合は、DPCM/TMスイッチ2701に
よりDPCM方式が選択されたため、RAM206及び306(第2
図及び第3図参照)上の各発音チャネル領域に、第11図
のDPCMフォーマットでデータが設定される。すなわち、
各発音チャネル領域の先頭領域G(第11図のDPCMの欄参
照)にDPCM方式を示す音源方式No.が設定される。つづ
いて、各発音チャネル領域の第2番目以降の領域に現在
指定されている音色に対応する各種パラメータがそれぞ
れセットされる(S2907)。
よりDPCM方式が選択されたため、RAM206及び306(第2
図及び第3図参照)上の各発音チャネル領域に、第11図
のDPCMフォーマットでデータが設定される。すなわち、
各発音チャネル領域の先頭領域G(第11図のDPCMの欄参
照)にDPCM方式を示す音源方式No.が設定される。つづ
いて、各発音チャネル領域の第2番目以降の領域に現在
指定されている音色に対応する各種パラメータがそれぞ
れセットされる(S2907)。
また、S2906の判定がNOの場合は、DPCM/TMスイッチ27
01によりTM方式が選択されたため、各発音チャネル領域
に、第11図のTMフォーマットでデータが設定される。す
なわち、まず、各発音チャネル領域の先頭領域GにTM方
式を示す音源方式No.が設定される。つづいて、各発音
チャネル領域の第2番目以降の領域に現在指定されてい
る音色に対応する各種パラメータがそれぞれセットされ
る(S2908)。
01によりTM方式が選択されたため、各発音チャネル領域
に、第11図のTMフォーマットでデータが設定される。す
なわち、まず、各発音チャネル領域の先頭領域GにTM方
式を示す音源方式No.が設定される。つづいて、各発音
チャネル領域の第2番目以降の領域に現在指定されてい
る音色に対応する各種パラメータがそれぞれセットされ
る(S2908)。
以上は、第27図のDPCM/TMスイッチ2701が操作された
場合であるが、同スイッチが操作されずステップS2901
の判定がNOとなった場合、またはAグループの音色が指
定されておらずステップS2905の判定がNOになった場合
は、スイッチS2909以下の処理が実行される。
場合であるが、同スイッチが操作されずステップS2901
の判定がNOとなった場合、またはAグループの音色が指
定されておらずステップS2905の判定がNOになった場合
は、スイッチS2909以下の処理が実行される。
まず、ステップS2909で、第27図の音色スイッチに変
化があったか否かが判定される(S2909)。
化があったか否かが判定される(S2909)。
その判定がNOの場合は、音色スイッチに対する処理を
行う必要はないので、そのまま機能キー処理(第4図
(a)S403)を終了する。
行う必要はないので、そのまま機能キー処理(第4図
(a)S403)を終了する。
音色スイッチに変化があってS2909の判定がYESの場合
には、つぎに、Bグループの音色が指定されたか否かが
判定される(S2910)。
には、つぎに、Bグループの音色が指定されたか否かが
判定される(S2910)。
Bグループの音色が指定されてS2910の判定がYESなら
ば、RMA206及び306(第2図及び第3図参照)上の各発
音チャネル領域に、指定された音色に対応する音源方式
のデータフォーマットでデータが設定される。そして、
各発音チャネル領域の先頭領域G(第11図参照)に各音
源方式を示す音源方式No.が設定される。また、各発音
チャネル領域の第2番目以降の領域に現在指定されてい
る音色に対応する各種パラメータがそれぞれセットされ
る(S2911)。例えば、第27図のベーススイッチが選択
されている場合には、奇数番号の各発音チャネル領域に
はPCM方式に対応するデータが、偶数番号の各発音チャ
ネル領域にはTM方式に対応するデータが、それぞれセッ
トされる。
ば、RMA206及び306(第2図及び第3図参照)上の各発
音チャネル領域に、指定された音色に対応する音源方式
のデータフォーマットでデータが設定される。そして、
各発音チャネル領域の先頭領域G(第11図参照)に各音
源方式を示す音源方式No.が設定される。また、各発音
チャネル領域の第2番目以降の領域に現在指定されてい
る音色に対応する各種パラメータがそれぞれセットされ
る(S2911)。例えば、第27図のベーススイッチが選択
されている場合には、奇数番号の各発音チャネル領域に
はPCM方式に対応するデータが、偶数番号の各発音チャ
ネル領域にはTM方式に対応するデータが、それぞれセッ
トされる。
また、Aグループの音色スイッチが指定されてS2910
の判定がNOならば、変数Mが1であるか否かが判定され
る(S2912)。そして、現在TM方式が選択されていてS
2912の判定がYESならば、前述のステップS2908の場合と
同様にして、各発音チャネル領域に、第11図のTMフォー
マットでデータが設定される(S2913)。
の判定がNOならば、変数Mが1であるか否かが判定され
る(S2912)。そして、現在TM方式が選択されていてS
2912の判定がYESならば、前述のステップS2908の場合と
同様にして、各発音チャネル領域に、第11図のTMフォー
マットでデータが設定される(S2913)。
また、DPCM方式が選択されていてS2912の判定がNOな
らば、前述のステップS2907の場合と同様にして、各発
音チャネル領域には、第11図のDPCMフォーマットでデー
タが設定される(S2914)。
らば、前述のステップS2907の場合と同様にして、各発
音チャネル領域には、第11図のDPCMフォーマットでデー
タが設定される(S2914)。
押鍵時の鍵盤キー処理の第1の実施例 つぎに、実際の電子楽器を演奏する場合における第4
図(a)のメイン動作フローチャートの鍵盤キー処理
(S405)の具体的動作につき説明する。
図(a)のメイン動作フローチャートの鍵盤キー処理
(S405)の具体的動作につき説明する。
まず、押鍵時の鍵盤キー処理の第1の実施例につき説
明する。
明する。
押鍵時の鍵盤キー処理の第1の実施例においては、第
27図のAグループの音色が指定されている場合に、MCP
U101の入力ポート210(第2図参照)を介して接続され
る第8図(a)又は(b)に示される鍵盤キー802が押
鍵された場合の鍵盤のポジションすなわち楽音の音域に
より、MCPU101又はSCPU102のRAM206又は306(第2図
及び第3図参照)上の各発音チャネル領域(第9図参
照)に設定される音源方式が自動的に切り換えられる。
この場合は、第8図(b)に示される鍵盤キー801のキ
ーコード番号31、32を境にして、押鍵された鍵のキーコ
ードが31番以下の低音域の場合にDPCM方式が、また、キ
ーコードが32番以上の高音域の場合にTM方式が割り当て
られる。なお、第27図のBグループの音色が指定されて
いる場合には、特別な鍵盤キー処理は実行されない。
27図のAグループの音色が指定されている場合に、MCP
U101の入力ポート210(第2図参照)を介して接続され
る第8図(a)又は(b)に示される鍵盤キー802が押
鍵された場合の鍵盤のポジションすなわち楽音の音域に
より、MCPU101又はSCPU102のRAM206又は306(第2図
及び第3図参照)上の各発音チャネル領域(第9図参
照)に設定される音源方式が自動的に切り換えられる。
この場合は、第8図(b)に示される鍵盤キー801のキ
ーコード番号31、32を境にして、押鍵された鍵のキーコ
ードが31番以下の低音域の場合にDPCM方式が、また、キ
ーコードが32番以上の高音域の場合にTM方式が割り当て
られる。なお、第27図のBグループの音色が指定されて
いる場合には、特別な鍵盤キー処理は実行されない。
第30図は、第4図(a)のメイン動作フローチャート
におけるS405の鍵盤キー処理の動作フローチャートの一
部であり、第8図(a)又は(b)の鍵盤キー801の押
鍵時の処理の第1の実施例のフローである。
におけるS405の鍵盤キー処理の動作フローチャートの一
部であり、第8図(a)又は(b)の鍵盤キー801の押
鍵時の処理の第1の実施例のフローである。
まず、現在、第27図のAグループの音色が指定されて
いるか否かが判定される(S3001)。
いるか否かが判定される(S3001)。
この判定がNOで、現在、Bグループの音色が指定され
ている場合には、第30図の特別な処理は行わない。
ている場合には、第30図の特別な処理は行わない。
S3001の判定がYESで、現在、Aグループの音色が指定
されている場合には、第4図(a)のメイン動作フロー
チャートにおけるS404の鍵盤キー取り込み処理において
「押鍵」と判別された鍵のキーコードが、31番以下であ
るか否かが判定される(S3002)。
されている場合には、第4図(a)のメイン動作フロー
チャートにおけるS404の鍵盤キー取り込み処理において
「押鍵」と判別された鍵のキーコードが、31番以下であ
るか否かが判定される(S3002)。
31番以下の低音域が押鍵されてS3002の判定がYESの場
合は、変数Mが値1であるか否かが判定される
(S3003)。変数Mは、第4図(a)のメイン動作フロ
ーチャートにおけるS403の機能キー処理の一部である第
29図の動作フローチャートにおいて設定されており、前
述した如く、変数Mの値は、DPCM方式のときは値0、TM
方式のときは値1をとる。
合は、変数Mが値1であるか否かが判定される
(S3003)。変数Mは、第4図(a)のメイン動作フロ
ーチャートにおけるS403の機能キー処理の一部である第
29図の動作フローチャートにおいて設定されており、前
述した如く、変数Mの値は、DPCM方式のときは値0、TM
方式のときは値1をとる。
S3003の判定がYES(M=1)で、現在、TM方式の音源
方式が指定されている場合は、低音域の音源方式である
DPCM方式に変更すべく、RAM206又は306(第2図及び第
3図参照)上の押鍵された鍵がアサインされる発音チャ
ネル領域に、第11図のDPCMフォーマットでデータが設定
される。すなわち、各発音チャネル領域の先頭領域G
(第11図のDPCMの欄参照)にDPCM方式を示す音源方式N
o.が設定される。つづいて、各発音チャネル領域の第2
番目以降の領域に現在指定されている音色に対応する各
種パラメータがそれぞれセットされる(S3004)。その
後、フラグCに値1がセットされる(S3005)。フラグ
Cは、MCPU101のRAM206(第2図参照)上の各発音チャ
ネル領域に確保される変数であるが(第11図参照)、こ
のフラグCは第32図で後述する離鍵時の処理に用いられ
る。
方式が指定されている場合は、低音域の音源方式である
DPCM方式に変更すべく、RAM206又は306(第2図及び第
3図参照)上の押鍵された鍵がアサインされる発音チャ
ネル領域に、第11図のDPCMフォーマットでデータが設定
される。すなわち、各発音チャネル領域の先頭領域G
(第11図のDPCMの欄参照)にDPCM方式を示す音源方式N
o.が設定される。つづいて、各発音チャネル領域の第2
番目以降の領域に現在指定されている音色に対応する各
種パラメータがそれぞれセットされる(S3004)。その
後、フラグCに値1がセットされる(S3005)。フラグ
Cは、MCPU101のRAM206(第2図参照)上の各発音チャ
ネル領域に確保される変数であるが(第11図参照)、こ
のフラグCは第32図で後述する離鍵時の処理に用いられ
る。
一方、S3002において、31番以上の高音域が押鍵され
てその判定がNOの場合は、更に、変数Mが値1であるか
否かが判定される(S3006)。
てその判定がNOの場合は、更に、変数Mが値1であるか
否かが判定される(S3006)。
S3006の判定がNO(M=0)で、現在、DPCM方式の音
源方式が指定されている場合は、高音域の音源方式であ
るTM方式に変更すべく、RAM206又は306上の押鍵された
鍵がアサインされる発音チャネル領域に、第11図のTMフ
ォーマットでデータが設定される。すなわち、各発音チ
ャネル領域の先頭領域G(第11図のTMの欄参照)にTM方
式を示す音源方式No.が設定される。つづいて、各発音
チャネル領域の第2番目以降の領域に現在指定されてい
る音色に対応する各種パラメータがそれぞれセットされ
る(S3007)。その後、フラグCに値2がセットされる
(S3005)。
源方式が指定されている場合は、高音域の音源方式であ
るTM方式に変更すべく、RAM206又は306上の押鍵された
鍵がアサインされる発音チャネル領域に、第11図のTMフ
ォーマットでデータが設定される。すなわち、各発音チ
ャネル領域の先頭領域G(第11図のTMの欄参照)にTM方
式を示す音源方式No.が設定される。つづいて、各発音
チャネル領域の第2番目以降の領域に現在指定されてい
る音色に対応する各種パラメータがそれぞれセットされ
る(S3007)。その後、フラグCに値2がセットされる
(S3005)。
上述の処理において、ステップS3003の判定がNOの場
合およびステップS3006の判定がYESの場合は、もともと
所望の音源方式になっていので、特別な処理は行われな
い。
合およびステップS3006の判定がYESの場合は、もともと
所望の音源方式になっていので、特別な処理は行われな
い。
押鍵時の鍵盤キー処理の第2の実施例 つぎに、押鍵時の鍵盤キー処理の第2の実施例につき
説明する。
説明する。
押鍵時の鍵盤キー処理の第2の実施例においては、第
27図のAグループの音色が指定されている場合に、MCP
U101の入力ポート210(第2図参照)を介して接続され
る第8図(a)又は(b)に示される鍵盤キー802が押
鍵された場合の押鍵速度すなわちベロシティにより、M
CPU101又はSCPU102のRAM206又は306(第2図及び第3
図参照)上の各発音チャネル領域(第9図参照)に設定
される音源方式が自動的に切り換えられる。この場合、
ベロシティの値としてMIDI(Musical Instrument Didit
al Interface)規格の最大値の127の1/2の64を境にし
て、押鍵された鍵のベロシティの値が64以上の速い押鍵
操作の場合にDPCM方式が、また、ベロシティの値が64以
下の遅い押鍵操作の場合にTM方式が割り当てられる。な
お、第27図のBグループの音色が指定されている場合に
は、特別な鍵盤キー処理は実行されない。
27図のAグループの音色が指定されている場合に、MCP
U101の入力ポート210(第2図参照)を介して接続され
る第8図(a)又は(b)に示される鍵盤キー802が押
鍵された場合の押鍵速度すなわちベロシティにより、M
CPU101又はSCPU102のRAM206又は306(第2図及び第3
図参照)上の各発音チャネル領域(第9図参照)に設定
される音源方式が自動的に切り換えられる。この場合、
ベロシティの値としてMIDI(Musical Instrument Didit
al Interface)規格の最大値の127の1/2の64を境にし
て、押鍵された鍵のベロシティの値が64以上の速い押鍵
操作の場合にDPCM方式が、また、ベロシティの値が64以
下の遅い押鍵操作の場合にTM方式が割り当てられる。な
お、第27図のBグループの音色が指定されている場合に
は、特別な鍵盤キー処理は実行されない。
第31図は、第4図(a)のメイン動作フローチャート
におけるS405の鍵盤キー処理の動作フローチャートの一
部であり、第8図(a)又は(b)の鍵盤キー801の押
鍵時の処理の第2の実施例のフローである。
におけるS405の鍵盤キー処理の動作フローチャートの一
部であり、第8図(a)又は(b)の鍵盤キー801の押
鍵時の処理の第2の実施例のフローである。
まず、現在、第27図のAグループの音色が指定されて
いるか否かが判定される(S3101)。
いるか否かが判定される(S3101)。
この判定がNOで、現在、Bグループの音色が指定され
ている場合には、第30図の特別な処理は行わない。
ている場合には、第30図の特別な処理は行わない。
S3101の判定がYESで、現在、Aグループの音色が指定
されている場合には、第4図(a)のメイン動作フロー
チャートにおけるS404の鍵盤キー取り込み処理において
「押鍵」と判別された鍵のベロシティが、64以上である
か否かが判定される(S3102)。なお、ベロシティの64
はMIDI規格のmp(メゾピアノ)に相当する。
されている場合には、第4図(a)のメイン動作フロー
チャートにおけるS404の鍵盤キー取り込み処理において
「押鍵」と判別された鍵のベロシティが、64以上である
か否かが判定される(S3102)。なお、ベロシティの64
はMIDI規格のmp(メゾピアノ)に相当する。
ベロシティの値が64以上でS3102の判定がYESの場合
は、変数Mが値1であるか否かが判定される
(S3103)。変数Mは、第4図(a)のメイン動作フロ
ーチャートにおけるS403の機能キー処理の一部である第
29図の動作フローチャートにおいて設定されており、前
述した如く、変数Mの値は、DPCM方式のときは値0、TM
方式のときは値1をとる。
は、変数Mが値1であるか否かが判定される
(S3103)。変数Mは、第4図(a)のメイン動作フロ
ーチャートにおけるS403の機能キー処理の一部である第
29図の動作フローチャートにおいて設定されており、前
述した如く、変数Mの値は、DPCM方式のときは値0、TM
方式のときは値1をとる。
S3103の判定がYES(M=1)で、現在、TM方式の音源
方式が指定されている場合は、速い押鍵操作時の音源方
式であるDPCM方式に変更すべく、第30図の第1の実施例
の場合のS3004の処理と同様に、RAM206又は306(第2図
及び第3図参照)上の押鍵された鍵がアサインされる発
音チャネル領域に、第11図のDPCMフォーマットでデータ
が設定され(S3104)、フラグCに値1がセットされる
(S3105)。
方式が指定されている場合は、速い押鍵操作時の音源方
式であるDPCM方式に変更すべく、第30図の第1の実施例
の場合のS3004の処理と同様に、RAM206又は306(第2図
及び第3図参照)上の押鍵された鍵がアサインされる発
音チャネル領域に、第11図のDPCMフォーマットでデータ
が設定され(S3104)、フラグCに値1がセットされる
(S3105)。
一方、S3102において、ベロシティの値が64より小さ
くその判定がNOの場合は、更に、変数Mが値1であるか
否かが判定される(S3106)。
くその判定がNOの場合は、更に、変数Mが値1であるか
否かが判定される(S3106)。
S3106の判定がNO(M=0)で、現在、DPCM方式の音
源方式が指定されている場合は、遅い押鍵操作時の音源
方式であるTM方式に変更すべく第30図の第1の実施例の
場合のS3007の処理の場合と同様にして、RAM206又は306
上の押鍵された鍵がアサインされる発音チャネル領域
に、第11図のTMフォーマットでデータが設定され(S
3107)、フラグCに値2がセットされる(S3108)。
源方式が指定されている場合は、遅い押鍵操作時の音源
方式であるTM方式に変更すべく第30図の第1の実施例の
場合のS3007の処理の場合と同様にして、RAM206又は306
上の押鍵された鍵がアサインされる発音チャネル領域
に、第11図のTMフォーマットでデータが設定され(S
3107)、フラグCに値2がセットされる(S3108)。
上述の処理において、ステップS3103の判定がNOの場
合およびステップS3106の判定がYESの場合は、もともと
所望の音源方式になっていので、特別な処理は行われな
い。
合およびステップS3106の判定がYESの場合は、もともと
所望の音源方式になっていので、特別な処理は行われな
い。
離鍵時の鍵盤キー処理の実施例 つぎに、離鍵時の鍵盤キー処理の実施例につき説明す
る。
る。
上述の押鍵時の鍵盤キー処理の第1又は第2の実施例
により、(鍵域音域)やベロシティによって音源方式が
自動的に変更され得るが、離鍵時にはそれらの変更設定
が元の状態に戻される必要がある。それを実現するのが
以下に説明する離鍵時の鍵盤キー処理の実施例である。
により、(鍵域音域)やベロシティによって音源方式が
自動的に変更され得るが、離鍵時にはそれらの変更設定
が元の状態に戻される必要がある。それを実現するのが
以下に説明する離鍵時の鍵盤キー処理の実施例である。
第32図は、第4図(a)のメイン動作フローチャート
におけるS405の鍵盤キー処理の動作フローチャートの一
部であり、第8(a)又は(b)の鍵盤キー801の離鍵
時の処理のフローである。
におけるS405の鍵盤キー処理の動作フローチャートの一
部であり、第8(a)又は(b)の鍵盤キー801の離鍵
時の処理のフローである。
まず、第4図(a)のメイン動作フローチャートにお
けるS404の鍵盤キー取り込み処理で「離鍵」と判別され
た鍵がアサインされているRAM206又は306(第2図及び
第3図参照)上の発音チャネル領域に設定されているフ
ラグCの値が判別される。今、フラグCは、第30図のS
3005及びS3008又は第31図のS3105又はS3108の処理にお
いて設定され、押鍵時の初期値は0であり、押鍵時にTM
方式からDPCM方式に音源方式が変更された場合には値1
がセットされ、DPCM方式からTM方式に音源方式が変更さ
れた場合には値2がセットされる。従って、押鍵時に変
更が行われなかった場合には初期値0のままである。
けるS404の鍵盤キー取り込み処理で「離鍵」と判別され
た鍵がアサインされているRAM206又は306(第2図及び
第3図参照)上の発音チャネル領域に設定されているフ
ラグCの値が判別される。今、フラグCは、第30図のS
3005及びS3008又は第31図のS3105又はS3108の処理にお
いて設定され、押鍵時の初期値は0であり、押鍵時にTM
方式からDPCM方式に音源方式が変更された場合には値1
がセットされ、DPCM方式からTM方式に音源方式が変更さ
れた場合には値2がセットされる。従って、押鍵時に変
更が行われなかった場合には初期値0のままである。
そして、第32図の離鍵時の処理において、ステップS
3201での判定により、フラグCの値が0の場合は、鍵域
やベロシティによって音源方式が変更されていないの
で、特別な処理は行わずに通常の離鍵処理を行う。
3201での判定により、フラグCの値が0の場合は、鍵域
やベロシティによって音源方式が変更されていないの
で、特別な処理は行わずに通常の離鍵処理を行う。
S3201の判定により、フラグCの値が1と判定せた場
合は、押鍵時に音源方式がTM方式からDPCM方式に変更さ
れている。そこで、TM方式に戻すべく、RAM206又は306
(第2図又は第3図参照)上の押鍵された鍵がアサイン
されていた発音チャネル領域に、第11図のTMフォーマッ
トでデータが設定される。すなわち、各発音チャネル領
域の先頭領域G(第11図のTMの欄参照)にTM方式を示す
音源方式No.が設定される。つづいて、各発音チャネル
領域の第2番目以降の領域に現在指定されている音色に
対応する各種パラメータがそれぞれセットされる(S
3202)。
合は、押鍵時に音源方式がTM方式からDPCM方式に変更さ
れている。そこで、TM方式に戻すべく、RAM206又は306
(第2図又は第3図参照)上の押鍵された鍵がアサイン
されていた発音チャネル領域に、第11図のTMフォーマッ
トでデータが設定される。すなわち、各発音チャネル領
域の先頭領域G(第11図のTMの欄参照)にTM方式を示す
音源方式No.が設定される。つづいて、各発音チャネル
領域の第2番目以降の領域に現在指定されている音色に
対応する各種パラメータがそれぞれセットされる(S
3202)。
一方、S3201の判定により、フラグCの値が2と判定
された場合は、押鍵時に音源方式がDPCM方式からTM方式
に変更されている。そこで、DPCM方式に戻すべく、RAM2
06又は306上の押鍵された鍵がアサインされていた発音
チャネル領域に、第11図のDPCMフォーマットでデータが
設定される。すなわち、各発音チャネル領域の先頭領域
G(第11図のDPCMの欄参照)にDPCM方式を示す音源方式
No.が設定される。つづいて、各発音チャネル領域の第
2番目以降の領域に現在指定されている音色に対応する
各種パラメータがそれぞれセットされる(S3203)。
された場合は、押鍵時に音源方式がDPCM方式からTM方式
に変更されている。そこで、DPCM方式に戻すべく、RAM2
06又は306上の押鍵された鍵がアサインされていた発音
チャネル領域に、第11図のDPCMフォーマットでデータが
設定される。すなわち、各発音チャネル領域の先頭領域
G(第11図のDPCMの欄参照)にDPCM方式を示す音源方式
No.が設定される。つづいて、各発音チャネル領域の第
2番目以降の領域に現在指定されている音色に対応する
各種パラメータがそれぞれセットされる(S3203)。
以上の動作の後、フラグCの値が0に戻され、第32図
の処理を終了し、つづいて特には図示しない通常の離鍵
処理が実行される。
の処理を終了し、つづいて特には図示しない通常の離鍵
処理が実行される。
他の実施例の態様 以上説明してきた本発明の一連の実施例においては、
第1図に示される如く、MCPU101とSCPU102という2つ
のCPUが異なる発音チャネルを分担して処理するように
したが、CPUの数は1つでも、また、3つ以上でもよ
い。
第1図に示される如く、MCPU101とSCPU102という2つ
のCPUが異なる発音チャネルを分担して処理するように
したが、CPUの数は1つでも、また、3つ以上でもよ
い。
また、第2図及び第3図の制御用ROM201および301、
ならびに外部メモリ116をROMカード等で構成すれば、RO
Mカードによりユーザに様々な音源方式を提供すること
ができる。
ならびに外部メモリ116をROMカード等で構成すれば、RO
Mカードによりユーザに様々な音源方式を提供すること
ができる。
更に、第2図のMCPU101の入力ポート210には、第8
図のような楽器操作部のほかに様々な操作部を接続する
ことが可能であり、これにより種々の形態の電子楽器を
実現できる。また、他の電子楽器からの演奏情報を入力
して音源処理のみを行う音源モジュールとして実現する
ことも容易である。
図のような楽器操作部のほかに様々な操作部を接続する
ことが可能であり、これにより種々の形態の電子楽器を
実現できる。また、他の電子楽器からの演奏情報を入力
して音源処理のみを行う音源モジュールとして実現する
ことも容易である。
一方、第8図の機能キー801又は鍵盤キー802により各
発音チャネルに音源方式が割り当てられる形態は、音色
・音域、ベロシティによるもの以外も含めて、様々な形
態が考えられる。
発音チャネルに音源方式が割り当てられる形態は、音色
・音域、ベロシティによるもの以外も含めて、様々な形
態が考えられる。
また、変調方式としては、FM、TM方式によるもの以外
に、様々なものが適用可能である。
に、様々なものが適用可能である。
変調方式においては、本実施例では、4オペレータの
場合につき説明したが、オペレータ数はこれに限られる
ものではない。
場合につき説明したが、オペレータ数はこれに限られる
ものではない。
本発明によれば、専用の音源回路は全く必要とせず
に、汎用のプロセッサ構成とすることが可能となる。こ
のため、楽音波形発生装置全体の回路規模を大幅に小型
化することができ、LSI化した場合等においても通常の
マイクロプロセッサの製造技術と同じでよく、チップの
歩留りも向上するため、製造コストを大幅に低減させる
ことが可能となる。なお、楽音信号出力手段は簡単なラ
ッチ回路で構成できるため、この部分を付加したことに
よる製造コストの増加はほとんどない。
に、汎用のプロセッサ構成とすることが可能となる。こ
のため、楽音波形発生装置全体の回路規模を大幅に小型
化することができ、LSI化した場合等においても通常の
マイクロプロセッサの製造技術と同じでよく、チップの
歩留りも向上するため、製造コストを大幅に低減させる
ことが可能となる。なお、楽音信号出力手段は簡単なラ
ッチ回路で構成できるため、この部分を付加したことに
よる製造コストの増加はほとんどない。
また、変調方式を例えば位相変調方式と周波数変調と
で変更したい場合、ポリフォニック数を変更した場合等
において、プログラム記憶手段に記憶させる音源処理プ
ログラムを変更するだけで対処でき、新たな楽音波形発
生装置の開発コストを大幅に減少させることが可能とな
り、ユーザに対しても例えばROMカード等によって新た
な音源方式を提供することが可能となる。
で変更したい場合、ポリフォニック数を変更した場合等
において、プログラム記憶手段に記憶させる音源処理プ
ログラムを変更するだけで対処でき、新たな楽音波形発
生装置の開発コストを大幅に減少させることが可能とな
り、ユーザに対しても例えばROMカード等によって新た
な音源方式を提供することが可能となる。
この場合、演奏情操処理プログラムと音源処理プログ
ラムとの間のデータのリンクをデータ記憶手段上の楽音
生成データを介して行うというデータアーキテクチャ
と、演奏情報処理プログラムに対して所定時間間隔で音
源処理プログラムを実行するというプログラムアーキテ
クチャを実現したことにより、両プロセッサ間の同期を
とるための処理が必要なくなり、プログラムを大幅に簡
略化することが可能となる。これにより、変調方式のよ
うに処理が複雑な音源処理も、十分な余裕をもって実行
することができる。
ラムとの間のデータのリンクをデータ記憶手段上の楽音
生成データを介して行うというデータアーキテクチャ
と、演奏情報処理プログラムに対して所定時間間隔で音
源処理プログラムを実行するというプログラムアーキテ
クチャを実現したことにより、両プロセッサ間の同期を
とるための処理が必要なくなり、プログラムを大幅に簡
略化することが可能となる。これにより、変調方式のよ
うに処理が複雑な音源処理も、十分な余裕をもって実行
することができる。
また、変調方式の種類又は変調方式における楽音生成
アルゴリズムの選択等による処理時間の変化を楽音信号
出力手段によって全て吸収することができるため、楽音
信号をD/A変換器等へ出力するための複雑なタイミング
制御プログラムが必要なくなるという効果も生まれる。
アルゴリズムの選択等による処理時間の変化を楽音信号
出力手段によって全て吸収することができるため、楽音
信号をD/A変換器等へ出力するための複雑なタイミング
制御プログラムが必要なくなるという効果も生まれる。
更に、特に本発明では、音源処理プログラムのアーキ
テクチャーとして、変調処理単位である少なくとも1つ
のオペレータ処理及び該オペレータ処理間の各入出力処
理であるアルゴリズム処理のいずれか一方のみが所定時
間間隔毎に交互に実行される処理構造を有するため、プ
ログラム実行手段が、音源処理プログラムの実行時に、
オペレータ処理とアルゴリズム処理を所定時間間隔を単
位とする処理周期について異なる処理周期において分割
して実行することができる。従って、非常に複雑な変調
方式を音源処理プログラムとして実行する場合にも、一
処理周期あたりの音源処理プログラムの処理負荷を著し
く減少させることが可能となる。この場合、処理周期を
長くする必要はないため、演奏情報処理プログラムが中
断する時間が増加することはなく、同プログラムに影響
を与えずに処理負荷を低減させることが可能となる。
テクチャーとして、変調処理単位である少なくとも1つ
のオペレータ処理及び該オペレータ処理間の各入出力処
理であるアルゴリズム処理のいずれか一方のみが所定時
間間隔毎に交互に実行される処理構造を有するため、プ
ログラム実行手段が、音源処理プログラムの実行時に、
オペレータ処理とアルゴリズム処理を所定時間間隔を単
位とする処理周期について異なる処理周期において分割
して実行することができる。従って、非常に複雑な変調
方式を音源処理プログラムとして実行する場合にも、一
処理周期あたりの音源処理プログラムの処理負荷を著し
く減少させることが可能となる。この場合、処理周期を
長くする必要はないため、演奏情報処理プログラムが中
断する時間が増加することはなく、同プログラムに影響
を与えずに処理負荷を低減させることが可能となる。
第1図は、本発明による実施例の全体構成図、 第2図は、マスターCPUの内部構成図、 第3図は、スレーブCPUの内部構成図、 第4図(a)〜(d)は、本実施例の全体動作フローチ
ャート、 第5図は、メイン動作フローチャートとインタラプト処
理との関係を示す概念図、 第6図(a)は、従来のD/A変換器部の構成図、 第6図(b)は、本実施例によるD/A変換器部の構成
図、 第7図は、D/A変換におけるタイミングチャート、 第8図(a)は、機能キーと鍵盤キーの配置図、 第8図(b)は、鍵盤キーの説明図、 第9図は、RAM上の発音チャネル別の記憶領域を示す
図、 第10図は、各発音チャネルの音源処理方式を選択すると
きの概念図、 第11図は、RAM上の音源方式別のデータフォーマットの
構成図、 第12図は、RAM上のバッフア領域を示す図、 第13図は、PCM方式による音源処理の動作フローチャー
ト、 第14図は、DPCM方式による音源処理の動作フローチャー
ト、 第15図(a)、(b)は、差分値Dと現在アドレスAFを
用いて補間値XQを求める場合の原理説明図、 第16図(a)は、FM方式による音源処理(その1)の動
作フローチャート、 第16図(b)は、FM方式による音源処理(その1)のア
ルゴリズムを示す図、 第17図(a)は、TM方式による音源処理(その1)の動
作フローチャート、 第17図(b)は、TM方式による音源処理(その1)のア
ルゴリズムを示す図、 第18図は、変調方式におけるアルゴリズムの例を示した
図、 第19図は、FM方式による音源処理(その2)の動作フロ
ーチャート、 第20図は、TM方式による音源処理(その2)の動作フロ
ーチャート、 第21図は、変調方式の第1の改良例の動作フローチャー
ト、 第22図(a)は、第1の改良例に係るFM方式によるオペ
レータ1処理の動作フローチャート、 第22図(b)は、第1の改良例に係るFM方式によるオペ
レータ1処理の1オペレータあたりの演算アルゴリズム
を示す図、 第23図(a)は、第1の改良例に係るTM方式によるオペ
レータ1処理の動作フローチャート、 第23図(b)は、第1の改良例に係るTM方式によるオペ
レータ1処理の1オペレータあたりの演算アルゴリズム
を示す図、 第24図は、第1の改良例に係るアルゴリズム処理の動作
フローチャート、 第25図は、変調方式の第2の改良例の動作フローチャー
ト、 第26図は、第2の改良例に係るアルゴリズム処理の動作
フローチャート、 第27図は、機能キーの一部の配置図、 第28図(a)、(b)は、発音チャネルへの音源方式の
割り当て例を示した図、 第29図は、機能キー処理の動作フローチャート、 第30図は、押鍵時の鍵盤キー処理の第1の実施例の動作
フローチャート、 第31図は、押鍵時の鍵盤キー処理の第2の実施例の動作
フローチャート、 第32図は、離鍵時の鍵盤キー処理の実施例の動作フロー
チャートである。 101……マスターCPU、 102……スレーブCPU、 103……MCPU外部メモリアクセス用アドレスラッチ部、 104……SCPU外部メモリアクセス用アドレスラッチ部、 105……アクセス用アドレス競合回避回路、 106……外部メモリセレクタ部、 107……Left D/A変換器部、 108……Right D/A変換器部、 109……入力ポート、 110……出力ポート、 111、112……出力端子、 113……レフト出力端子、 114……ライト出力端子、 115……外部メモリデータイン端子、 116……外部メモリ、 201、301……制御用ROM、 202、302……ROMアドレスデコーダ、 203……インタラプト制御部、 204、304……RAMアドレス制御部、 205、305……ROMアドレス制御部、 206、306……RAM、 207、0307……コマンド解析部、 208、308……ALU部、 209、309……乗算器、 210……入力ポート、 211……出力ポート、 212……SCPU内部RAMアドレス指定バス・インタフェー
ス、 213……SCPUへの書き込みデータバス・インタフェー
ス、 214……SCPUからの読み込みデータバス・インタフェー
ス、 215……外部メモリアクセス用アドレスバス・インタフ
ェース、 216……外部メモリデータバス・インタフェース、 217……D/Aデータ転送バス・インタフェース、 303……MCPUによるSCPU内部RAMアドレス指定バス・イ
ンタフェース、 310……MCPUよりの書き込みデータバス・インタフェー
ス、 311……MCPUへの読み出しデータバス・インタフェー
ス、 312……外部メモリアクセス用アドレスバス・インタフ
ェース、 313……外部メモリデータバス・インタフェース、 601、602……ラッチ、 603……D/A変換器、 801……機能キー、 802……鍵盤キー.
ャート、 第5図は、メイン動作フローチャートとインタラプト処
理との関係を示す概念図、 第6図(a)は、従来のD/A変換器部の構成図、 第6図(b)は、本実施例によるD/A変換器部の構成
図、 第7図は、D/A変換におけるタイミングチャート、 第8図(a)は、機能キーと鍵盤キーの配置図、 第8図(b)は、鍵盤キーの説明図、 第9図は、RAM上の発音チャネル別の記憶領域を示す
図、 第10図は、各発音チャネルの音源処理方式を選択すると
きの概念図、 第11図は、RAM上の音源方式別のデータフォーマットの
構成図、 第12図は、RAM上のバッフア領域を示す図、 第13図は、PCM方式による音源処理の動作フローチャー
ト、 第14図は、DPCM方式による音源処理の動作フローチャー
ト、 第15図(a)、(b)は、差分値Dと現在アドレスAFを
用いて補間値XQを求める場合の原理説明図、 第16図(a)は、FM方式による音源処理(その1)の動
作フローチャート、 第16図(b)は、FM方式による音源処理(その1)のア
ルゴリズムを示す図、 第17図(a)は、TM方式による音源処理(その1)の動
作フローチャート、 第17図(b)は、TM方式による音源処理(その1)のア
ルゴリズムを示す図、 第18図は、変調方式におけるアルゴリズムの例を示した
図、 第19図は、FM方式による音源処理(その2)の動作フロ
ーチャート、 第20図は、TM方式による音源処理(その2)の動作フロ
ーチャート、 第21図は、変調方式の第1の改良例の動作フローチャー
ト、 第22図(a)は、第1の改良例に係るFM方式によるオペ
レータ1処理の動作フローチャート、 第22図(b)は、第1の改良例に係るFM方式によるオペ
レータ1処理の1オペレータあたりの演算アルゴリズム
を示す図、 第23図(a)は、第1の改良例に係るTM方式によるオペ
レータ1処理の動作フローチャート、 第23図(b)は、第1の改良例に係るTM方式によるオペ
レータ1処理の1オペレータあたりの演算アルゴリズム
を示す図、 第24図は、第1の改良例に係るアルゴリズム処理の動作
フローチャート、 第25図は、変調方式の第2の改良例の動作フローチャー
ト、 第26図は、第2の改良例に係るアルゴリズム処理の動作
フローチャート、 第27図は、機能キーの一部の配置図、 第28図(a)、(b)は、発音チャネルへの音源方式の
割り当て例を示した図、 第29図は、機能キー処理の動作フローチャート、 第30図は、押鍵時の鍵盤キー処理の第1の実施例の動作
フローチャート、 第31図は、押鍵時の鍵盤キー処理の第2の実施例の動作
フローチャート、 第32図は、離鍵時の鍵盤キー処理の実施例の動作フロー
チャートである。 101……マスターCPU、 102……スレーブCPU、 103……MCPU外部メモリアクセス用アドレスラッチ部、 104……SCPU外部メモリアクセス用アドレスラッチ部、 105……アクセス用アドレス競合回避回路、 106……外部メモリセレクタ部、 107……Left D/A変換器部、 108……Right D/A変換器部、 109……入力ポート、 110……出力ポート、 111、112……出力端子、 113……レフト出力端子、 114……ライト出力端子、 115……外部メモリデータイン端子、 116……外部メモリ、 201、301……制御用ROM、 202、302……ROMアドレスデコーダ、 203……インタラプト制御部、 204、304……RAMアドレス制御部、 205、305……ROMアドレス制御部、 206、306……RAM、 207、0307……コマンド解析部、 208、308……ALU部、 209、309……乗算器、 210……入力ポート、 211……出力ポート、 212……SCPU内部RAMアドレス指定バス・インタフェー
ス、 213……SCPUへの書き込みデータバス・インタフェー
ス、 214……SCPUからの読み込みデータバス・インタフェー
ス、 215……外部メモリアクセス用アドレスバス・インタフ
ェース、 216……外部メモリデータバス・インタフェース、 217……D/Aデータ転送バス・インタフェース、 303……MCPUによるSCPU内部RAMアドレス指定バス・イ
ンタフェース、 310……MCPUよりの書き込みデータバス・インタフェー
ス、 311……MCPUへの読み出しデータバス・インタフェー
ス、 312……外部メモリアクセス用アドレスバス・インタフ
ェース、 313……外部メモリデータバス・インタフェース、 601、602……ラッチ、 603……D/A変換器、 801……機能キー、 802……鍵盤キー.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 太期 広一郎 東京都西多摩郡羽村町栄町3丁目2番1 号 カシオ計算機株式会社羽村技術セン ター内 (72)発明者 小倉 和夫 東京都西多摩郡羽村町栄町3丁目2番1 号 カシオ計算機株式会社羽村技術セン ター内 (72)発明者 細田 潤 東京都西多摩郡羽村町栄町3丁目2番1 号 カシオ計算機株式会社羽村技術セン ター内 (58)調査した分野(Int.Cl.6,DB名) G10H 1/00 - 7/12
Claims (2)
- 【請求項1】演奏情報を処理するための演奏情報処理プ
ログラムと、楽音信号を得るための変調方式による音源
処理プログラムであって、変調処理単位である少なくと
も1つのオペレータ処理と該各オペレータ処理間の各入
出力処理であるアルゴリズム処理とが分割して実行され
る処理構造を有する音源処理プログラムを記憶するプロ
グラム記憶手段と、 前記プログラム記憶手段に記憶されたプログラムを読み
出すためののアドレスを制御するアドレス制御手段と、 前記アドレス制御手段により前記プログラム記憶手段か
ら読み出されたプログラムの各命令を解読する解読手段
と、 前記変調方式で楽音信号を生成するために必要な楽音生
成データを記憶するデータ記憶手段と、 演算処理手段と、 通常時は前記解読手段により解読された前記演奏情報処
理プログラムの各命令に従って前記演算処理手段により
演算処理を行って前記変調方式で楽音信号を生成するた
めに必要な楽音生成データを生成して前記データ記憶手
段に記憶させるとともに、所定時間間隔で前記音源処理
プログラムに制御を移し、前記解読手段により解読され
た前記音源処理プログラムの各命令に従って前記データ
記憶手段に記憶された楽音生成データを前記演算処理手
段により演算処理することにより前記変調方式で楽音信
号生成し、かつ当該演算処理手段は演算処理として、前
記所定時間間隔毎に前記オペレータ処理及びアルゴリズ
ム処理のいずれか一方のみを交互に実行し、この音源処
理プログラムの終了後に再び前記演奏処理プログラムに
制御を移すプログラム実行手段と、 前記プログラム実行手段が前記音源処理プログラムを実
行して得られた前記楽音信号を保持し、該保持された楽
音信号を一定の出力時間間隔で出力する楽音信号出力手
段と、 を有することを特徴とする楽音波形発生装置。 - 【請求項2】前記プログラム実行手段は、前記所定時間
間隔で割り込み信号を発生する割り込み制御手段を含
み、 該プログラム実行手段は、前記演奏情報処理プログラム
を実行中に、前記割り込み信号が発生したタイミングで
前記演奏情報処理プログラムを中断し、前記音源処理プ
ログラムに制御を移してそれを実行し、この終了後に割
り込みを解除して前記演奏情報処理プログラムの実行を
再開する、 ことを特徴とする請求項1記載の楽音波形発生装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2171218A JP2797139B2 (ja) | 1990-06-28 | 1990-06-28 | 楽音波形発生装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2171218A JP2797139B2 (ja) | 1990-06-28 | 1990-06-28 | 楽音波形発生装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0458294A JPH0458294A (ja) | 1992-02-25 |
JP2797139B2 true JP2797139B2 (ja) | 1998-09-17 |
Family
ID=15919233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2171218A Expired - Lifetime JP2797139B2 (ja) | 1990-06-28 | 1990-06-28 | 楽音波形発生装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2797139B2 (ja) |
Families Citing this family (2)
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 |
US5643061A (en) * | 1995-07-20 | 1997-07-01 | Integrated Process Equipment Corporation | Pneumatic polishing head for CMP apparatus |
-
1990
- 1990-06-28 JP JP2171218A patent/JP2797139B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0458294A (ja) | 1992-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5726371A (en) | Data processing apparatus outputting waveform data for sound signals with precise timings | |
EP0463411B1 (en) | Musical tone waveform generation apparatus | |
JP2869573B2 (ja) | 楽音波形発生装置 | |
JP2797139B2 (ja) | 楽音波形発生装置 | |
JP3035991B2 (ja) | 楽音波形発生装置 | |
JP3010693B2 (ja) | 楽音波形発生装置 | |
KR950006029B1 (ko) | 악음쥬파형 발생장치 | |
JP2678974B2 (ja) | 楽音波形発生装置 | |
JP3006094B2 (ja) | 楽音波形発生装置 | |
JPH11202866A (ja) | 楽音発生方法および楽音発生装置 | |
US4709611A (en) | Electronic musical instrument for generating a natural musical tone | |
JP3027831B2 (ja) | 楽音波形発生装置 | |
JPH0460698A (ja) | 楽音波形発生装置 | |
JP2946761B2 (ja) | 楽音波形発生装置 | |
JP2946762B2 (ja) | 楽音波形発生装置 | |
JP3027832B2 (ja) | 楽音波形発生装置 | |
JP2946764B2 (ja) | 楽音波形発生装置 | |
JPS62208099A (ja) | 楽音発生装置 | |
JPS6252317B2 (ja) | ||
JP3228394B2 (ja) | 電子楽器 | |
JPS6252316B2 (ja) | ||
JPH0764553A (ja) | 電子楽器 | |
JP3134840B2 (ja) | 波形サンプルの補間装置 | |
JPH07117834B2 (ja) | 楽音発生装置 | |
JPH10177388A (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 |