JP2671690B2 - 電子楽器 - Google Patents

電子楽器

Info

Publication number
JP2671690B2
JP2671690B2 JP4001787A JP178792A JP2671690B2 JP 2671690 B2 JP2671690 B2 JP 2671690B2 JP 4001787 A JP4001787 A JP 4001787A JP 178792 A JP178792 A JP 178792A JP 2671690 B2 JP2671690 B2 JP 2671690B2
Authority
JP
Japan
Prior art keywords
data
tone
channel
address
sound
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP4001787A
Other languages
English (en)
Other versions
JPH0659678A (ja
Inventor
泰直 阿部
悟志 宮田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP4001787A priority Critical patent/JP2671690B2/ja
Priority to US08/000,871 priority patent/US5446237A/en
Publication of JPH0659678A publication Critical patent/JPH0659678A/ja
Application granted granted Critical
Publication of JP2671690B2 publication Critical patent/JP2671690B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は電子楽器に係り、特に
メモリ等の記憶手段を利用して楽音を形成する電子楽器
に関する。
【0002】
【従来の技術】一般的に電子楽器は、鍵盤等の演奏情報
入力手段と、演奏情報入力手段によって入力される情報
に応答し、楽音形成の指示等の制御パラメータを発生す
る制御手段と、制御パラメータに基づいて楽音を形成す
る音源とを有している。通常、音源は、現在形成中の楽
音波形の瞬時値、エンベロープのステート等の楽音パラ
メータを記憶するためのレジスタ類を備えている。そし
て、音源においては、レジスタ類に記憶されたこれらの
パラメータに基づいた演算処理が逐次実行されると共に
演算結果に基づいてレジスタ類の内容が更新され、制御
手段から指示された楽音波形の形成処理が行われる。ま
た、通常、電子楽器においては、制御手段によって処理
される制御パラメータを記憶する手段として、RAM等
が用いられる。
【0003】
【発明が解決しようとする課題】ところで、電子楽器に
おいては、制御手段により、音源における楽音の形成状
況が検知され、その検知結果に応じた制御が行われるこ
とがある。例えば、複数の発音チャネルにおいて並行か
つ独立に楽音を形成し得る複音式の音源を備えた電子楽
器においては、鍵盤から新たな押鍵イベントが検出され
た場合、制御手段により、その時点において音源の各発
音チャネルにおいて形成されている楽音のエンベロープ
が検出され、最も減衰の進んだ発音チャネルが新たな押
鍵イベントに対応した発音チャネルに割り当てられる。
このような場合、従来の電子楽器においては、制御手段
が音源内の制御用のレジスタ類から楽音の形成状況を示
す制御パラメータを読み出さねばならず、制御手段の制
御に係る負担が大きく、高性能の電子楽器を実現するこ
とが困難であるという問題があった。また、特に発音チ
ャネル数の大きな音源の場合、音源内に設けるべきレジ
スタ類の数が多くなり、それらのレジスタ類を制御する
ために必要な回路の規模も必然的に大きくなってしま
う。このため、電子楽器が高価になってしまうという問
題があった。この発明は上述した事情に鑑みてなされた
ものであり、電子楽器の制御手段の制御に係る負担を小
さくし、かつ、音源内に設けるべき記憶回路およびその
アクセス制御に係る回路の規模を縮小化し、安価であ
り、かつ、高性能の電子楽器を提供することを目的とす
る。
【0004】
【課題を解決するための手段】請求項1に係る発明は、
楽音を形成するための楽音制御パラメータおよび楽音の
状態を表わす楽音状態データを記憶する記憶手段と、前
記記憶手段に記憶された前記楽音制御パラメータに基づ
いて楽音を形成すると共に形成中の楽音の状態を表わ
す楽音状態データを前記記憶手段に書き込む楽音形成手
段と、形成すべき楽音に対応した前記楽音制御パラメー
タを前記記憶手段に書き込むことにより当該楽音の形成
の指示を行うと共に前記記憶手段に記憶された前記
状態データに基づいて前記楽音形成手段における楽
形成の制御を行う制御手段とを具備することを特徴とし
ている。請求項2に係る発明は、前記請求項1に係る発
明において、前記記憶手段は、前記楽音制御パラメータ
および楽音状態データを記憶する複数の記憶領域を有
し、前記楽音形成手段は、前記各記憶領域に対応した複
数の発音チャンネルを有し、この各発音チャンネルで
は、前記記憶手段の対応する記憶領域に記憶された楽音
制御パラメータに基づき楽音を形成するものであって、
各発音チャンネルで形成中の楽音の状態を表わす楽音状
態データを前記記憶手段の対応する記憶領域に書き込む
ものであり、前記制御手段は、発音指示に応答して、前
記記憶手段の複数の記憶領域に記憶された楽音状態デー
タに基づいて前記複数の発音チャンネルの中からいずれ
かの発音チャンネルを選択し、選択された発音チャンネ
ルに対応する前記記憶手段の記憶領域に楽音制御パラメ
ータを書込むものであることを特徴としている。
【0005】
【作用】上記請求項1に係る発明によれば、制御手段
が、形成すべき楽音に対応した楽音制御パラメータを記
憶手段に書き込むことにより当該楽音の形成の指示を行
うと、楽音形成手段は書き込まれた楽音制御パラメータ
に基づいて楽音の形成を行う。一方、楽音形成手段が、
形成中の楽音の状態を表わす楽音状態データを記憶手段
に書き込むと、制御手段は書き込まれた楽音状態データ
に基づいて楽音形成手段における楽音形成の制御を行
う。上記請求項2に係る発明によれば、発音指示に応答
した制御手段は、楽音形成手段が記憶手段の複数の記憶
領域に書き込んだ楽音状態データに基づいて、楽音形成
手段内の複数の発音チャンネルの中からいずれかの発音
チャンネルを選択し、選択された発音チャンネルに対応
する記憶領域に楽音制御パラメータを書込む。一方、楽
音形成手段内の各発音チャンネルでは、対応する記憶領
域へ制御手段が書き込んだ楽音制御パラメータに基づい
て楽音を形成するとともに、形成中の楽音の状態を表わ
す楽音状態データを対応する記憶領域に書き込む。
【0006】
【実施例】以下、図面を参照し、本発明の実施例を説明
する。 <実施例の構成> (1)全体構成 図1はこの発明の一実施例による電子楽器の構成を示す
ブロック図である。この図において、1はこの電子楽器
の各部を制御する制御部である。2は多数の鍵を配備し
てなる鍵盤である。また、3はパネルスイッチ群であ
り、各スイッチはこの電子楽器のパネル面に配備された
対応する操作子が操作されることによってオン/オフ状
態が切り換えられる。4はこの電子楽器のパネル面に配
備されたパネル表示器であり、現在実行中の機能等の表
示を行う。5は制御部1から与えられる楽音形成の指示
に従って楽音信号を形成する音源部である。この音源部
5は、いわゆる時分割音源であり、最大12種類の楽音
信号を同時に形成することができる。個々の楽音信号の
波形値の演算は波形値の発生間隔であるサンプリング周
期Tsを12分割した各発音チャネルCHi(i=0〜
11)において行われる。また、発音チャネルを16分
割した各タイムスロットTk(k=0〜15)毎に波形
値の算出に必要な所定の処理が実行される。図2にサン
プリング周期Ts、発音チャネルCHi(i=0〜1
1)およびタイムスロットTk(k=0〜15)の関係
を示す。6は音源部5が楽音信号を形成するのに必要な
各種楽音パラメータを記憶したパラメータROMであ
る。なお、この楽音パラメータについては後述する。パ
ラメータROM6はアドレスバスABROMおよびデー
タバスDBROMからなるROM用バスROMBUSを
介し音源部5と接続されている。
【0007】7は共有RAMであり、制御部1における
CPU11(後述)がこの電子楽器を制御する際の制御
データの記憶手段として使用される他、音源部5が楽音
を形成するのに必要な楽音パラメータの記憶手段として
使用される。ここで、共有RAM7に記憶される楽音パ
ラメータには、CPU11および音源部5によって各々
独立に使用されるデータの他、 A.発音指示、音色指定情報等のようにCPU11が音
源部5に対して与える情報、および B.音源部5における現在の楽音形成状況を示す情報で
あって、CPU11がこの電子楽器の動作を制御する際
に参照する情報 の両方が含まれている。従って、共有RAM7は記憶手
段としての役割のみならず、CPU11と音源部5との
間の相互の情報伝達手段としての役割をも果すものであ
ると言える。なお、共有RAM7に記憶されるデータの
詳細については後述する。RAM用バスRBUSはデー
タバスDBR、アドレスバスABRおよびリードライト線
R/WRからなる。これらのデータバスDBR、アドレス
バスABRおよびリードライト線R/WRは共用RAM7
のデータ端子、アドレス端子およびリードライト端子に
接続される。8はRAM接続制御部であり、制御部1に
おけるCPU11と、音源部5と、共有RAM7との間
の接続状態を切換制御を行う。9は書込検出部であり、
RAM接続制御部8を介した共有RAM7に対するデー
タ書込動作を常時監視し、形成すべき楽音を指定するパ
ラメータのうち最初のパラメータ(本実施例の場合はボ
イス番号の下位ビットデータVnL)が書き込まれた場
合にロード信号LOADとして信号“1”を出力し、音
源部5に対し共有RAM内の形成すべき楽音に係るパラ
メータの取り込みを指示する。10Lおよび10Rは各
々左チャネルおよび右チャネルのサウンドシステムであ
り、音源部5が出力する左チャネル楽音信号LOUTお
よび右チャネル楽音信号ROUTを楽音として発音す
る。100はタイミング信号発生部であり、制御部1、
RAM接続制御部8および音源部5において行われる各
種動作のタイミングを決定するタイミング信号を出力す
る。
【0008】(2)制御部1の構成 制御部1は、CPU(中央処理ユニット)11、タイマ
12、ROM(リードオンリメモリ)13、パラレルI
/O(入出力)インタフェース14、ドライバ15およ
びこれらの各要素を相互に接続する前述のCPUバスC
PUBからなる。この制御部1において、CPU11は
ROM13に記憶された制御プログラムに基づき、この
電子楽器の各部の制御を行う。また、タイマ12は、C
PU11によりCPUバスCPUBを介して計時データ
がセットされ、計時データ相当の時間が経過した場合に
CPU11に対し割込み信号を出力する。鍵盤2におけ
る各鍵の状態およびパネルスイッチ群3の状態はパラレ
ルI/Oインタフェース14およびCPUバスCPUB
を介しCPU11に取り込まれる。CPU11はパラレ
ルI/Oインタフェース14を介して取り込んだ情報に
基づき、発音指示情報、音色指定情報等、楽音の形成に
必要な情報をCPUバスCPUBへ出力する。また、C
PU11は現在実行中の機能等を表わす表示データをド
ライバ15に送り、パネル表示器4にその表示を行わせ
る。
【0009】(3)パラメータROM6の記憶内容 図3はパラメータROM6の記憶内容を示すメモリマッ
プである。パラメータROM6は各々16ビットの記憶
容量を有する記憶エリアからなる。これらの記憶エリア
のうち、絶対アドレス「0」から始る一連の記憶エリア
により、100種類の音色に対応した音色データエリア
が構成されている。これらの音色データエリアにボイス
番号Vn=「0」〜「99」に対応した音色データが各
々記憶される。そして、音色データエリアの後の一連の
記憶エリアは波形サンプルデータエリアとなっており、
このエリアに各音色に対応した楽音波形のサンプルデー
タが記憶されている。
【0010】各音色データエリアは各々6個の記憶エリ
アからなり、これらの6個の記憶エリアの各々には相対
アドレス「0」〜「5」が割り当てられている。ここ
で、音色データエリアの6個の記憶エリアに記憶された
各音色データを列挙する。まず、相対アドレスが「0」
である記憶エリアの上位8ビットのエリアにはレベルシ
フトデータLSが記憶されている。また、相対アドレス
が「0」である記憶エリアの下位8ビットのエリアには
スタートアドレスの上位8ビットのデータSAHが記憶
されている。次いで相対アドレスが「1」である記憶エ
リアの上位8ビットのエリアにはスタートアドレスの中
位8ビットのデータSAMが記憶され、下位8ビットの
エリアにはスタートアドレスの下位8ビットのデータS
ALが記憶されている。これらのデータSAH、SAM
およびSALからなる24ビットのスタートアドレスS
Aは、当該音色に対応した波形のサンプルデータの先頭
のデータが記憶された記憶エリアを指定するものであ
り、パラメータROM6における絶対アドレスによって
表現されている。次いで相対アドレスが「2」である記
憶エリアの上位8ビットのエリアにはループスタートア
ドレスLSの上位8ビットのデータLSHが記憶されて
おり、下位8ビットのエリアにはループスタートアドレ
スLSの下位8ビットのデータLSLが記憶されてい
る。これらのデータLSHおよびLSLからなる16ビ
ットのループスタートアドレスLSは、当該音色に対応
した波形のサンプルデータのうちループ再生を行う区間
の開始点を指定するアドレスであり、スタートアドレス
SA=SAH+SAM+SALに対する相対アドレスと
して表現されている。次いで相対アドレスが「3」であ
る記憶エリアの上位8ビットのエリアにはループエンド
アドレスの上位8ビットのデータLEHが記憶されてお
り、下位8ビットのエリアにはループエンドアドレスの
下位8ビットのデータLELが記憶されている。これら
のデータLEHおよびLELからなる16ビットのルー
プエンドアドレスLEは、当該音色に対応した波形のサ
ンプルデータのうちループ再生を行う区間の終了点を指
定するアドレスであり、このループエンドアドレスLE
もループスタートアドレスと同様、スタートアドレスS
A=SAH+SAM+SALに対する相対アドレスとし
て表現されている。これらのスタートアドレスSA、ル
ープスタートアドレスLSおよびループエンドアドレス
LEの関係を図4に示す。楽音形成の指示が与えられた
場合、まず、パラメータROM6においてスタートアド
レスSAによって絶対アドレスが指定される記憶エリア
から順にサンプルデータが読み出される。そして、スタ
ートアドレスSAに対する相対アドレスがLEである記
憶エリアからサンプルデータが読み出された後は、相対
アドレスがLSである記憶エリアから相対アドレスがL
Eである記憶エリアに至るまでの区間のサンプルデータ
が繰り返し読み出される。
【0011】音色データエリアにおける相対アドレスが
「4」である記憶エリアの上位8ビットのエリアには各
種変調制御データMS、AMDおよびPMDが記憶され
ている。次いで相対アドレスが「4」である記憶エリア
の下位8ビットのエリアおよび相対アドレスが「5」で
ある記憶エリアの上位12ビットのエリアには当該音色
に対応した楽音波形のエンベロープを制御するためのデ
ータが記憶されている。まず、相対アドレスが「4」で
ある記憶エリアの下位8ビットのエリアには、形成すべ
き楽音波形のアタック部Aにおけるエンベロープの時間
的変化を決定するアタックレートARと、第1ディケイ
部D1におけるエンベロープの時間的変化を決定する第
1ディケイレートD1Rとが記憶されている。次いで相
対アドレスが「5」である記憶エリアの上位12ビット
のエリアには、形成すべき楽音波形の第2ディケイ部D
2におけるエンベロープの時間的変化を決定する第2デ
ィケイレートD2R、リリース部Rにおけるエンベロー
プの時間的変化を決定するリリースレートRR、第1デ
ィケイ部から第2ディケイ部へと切り換わるエンベロー
プのレベルを指定する基準レベルDLが記憶されている
(以上、図5参照)。次いで相対アドレスが「5」であ
る記憶エリアの下位4ビットのエリアにはキースケーリ
ング係数KSが記憶されている。
【0012】(4)共有RAM7に記憶される情報 図6は共有RAM7内に設定された各種楽音パラメータ
用記憶エリアを示すメモリマップである。共有RAM7
は各々8ビットの記憶容量を有する記憶エリアからな
る。これらの記憶エリアのうち、絶対アドレス「0」か
ら始る一連の記憶エリアにより、第0発音チャネル〜第
11発音チャネルの各々に対応した楽音パラメータを記
憶するための発音データエリアが構成されている。発音
チャネルデータエリアの後の一連の記憶エリアはCPU
11によって使用される制御データが記憶されるワーク
エリアとなっている。各発音データエリアは12個の記
憶エリアからなり、これらの各記憶エリアは相対アドレ
ス「0」〜「11」を有する。以下、これらの12個の
記憶エリアについて説明する。
【0013】まず、相対アドレスが「0」である記憶エ
リアは、当該発音チャネルにおいて発音すべき楽音の音
色を指定するボイス番号Vnの下位8ビットのデータV
nLの記憶エリアとなっている。次いで相対アドレスが
「1」である記憶エリアは、上位6ビットのエリアが当
該発音チャネルにおいて発音すべき楽音の音高を指定す
るF番号Fnの下位6ビットのデータFnLの記憶エリ
アとなっており、下位2ビットのエリアがボイス番号V
nの上位2ビットのデータVnHの記憶エリアとなって
いる。次いで相対アドレスが「2」である記憶エリア
は、上位4ビットのエリアが発音すべき楽音のオクター
ブ値を指定するオクターブデータOctの記憶エリアと
なっており、下位4ビットのエリアがF番号Fnの上位
4ビットのデータの記憶エリアとなっている。次に相対
アドレスが「3」である記憶エリアは、上位2ビットの
エリアが発音指示のためのノートオンフラグNONの記
憶エリア、それに続く2ビットのエリアがサスティンペ
ダル(図示せず)の踏込み量を表わすサスティンデータ
SUSの記憶エリア、残りの下位4ビットのエリアが音
像位置データPANの記憶エリアとなっている。
【0014】以上説明した各記憶エリアに記憶されるデ
ータVnL、FnL、VnH、Oct、FnH、NO
N、SUSおよびPANは、CPU11によって出力さ
れ、各々対応するエリアに書き込まれる。すなわち、鍵
盤1におけるいずれかの鍵が押されると、CPU11に
より、その押鍵イベントおよび音色操作子(図示略)等
の操作子の操作状態に基づいてデータVnL、FnL、
VnH、Oct、FnH、SUSおよびPANが決定さ
れると共に押鍵イベントに対応した発音を行う発音チャ
ネルが決定され、その発音チャネルに対応した発音デー
タエリアに上記データが書き込まれる。また、その際に
ノートオンフラグNONとして“1”が書き込まれる。
押鍵中の鍵が離されると、CPU11により、その鍵に
対応した発音を行っている発音チャネルが判定され、そ
の発音チャネルに対応した発音チャネルデータエリアに
ノートオンフラグNONとして“0”が書き込まれる。
次に相対アドレスが「4」である記憶エリアはトータル
レベルデータTLの記憶エリアとなっている。次いで相
対アドレスが「5」である記憶エリアは、上位4ビット
のエリアがアタックレートARの記憶エリア、下位4ビ
ットのエリアが第1ディケイレートD1Rの記憶エリア
となっている。次に相対アドレスが「6」である記憶エ
リアは、上位4ビットのエリアが第2ディケイレートD
2Rの記憶エリア、下位4ビットのエリアがリリースレ
ートRRの記憶エリアとなっている。次に相対アドレス
が「7」である記憶エリアは、上位4ビットのエリアが
基準レベルDLの記憶エリア、下位4ビットのエリアが
キースケーリング係数KSの記憶エリアとなっている。
次に相対アドレスが「8」である記憶エリアは変調制御
データMS、AMDおよびPMDの記憶エリアとなって
いる。次いで相対アドレスが「9」である記憶エリア
は、上位4ビットのエリアが未使用エリアであり、下位
4ビットのエリアがシフトデータLSの記憶エリアとな
っている。
【0015】以上説明した記憶エリアに各記憶されるデ
ータTL、AR、D1R、D2R、RR、DL、KS、
MS、AMD、PMDおよびLSは、音源部5によって
出力され、各々対応するエリアに書き込まれる。すなわ
ち、上記のように押鍵イベントの発生に伴い、発音デー
タエリアの1つにCPU11によってボイス番号Vnが
書き込まれると、音源部5により、パラメータROM6
からそのボイス番号に対応した音色データTL、AR、
D1R、D2R、RR、DL、KS、MS、AMD、P
MDおよびLSが読み出され、当該発音データエリア内
の各々対応するエリアに書き込まれる。また、離鍵イベ
ントの発生に伴い、発音チャネルデータエリアにノート
オンフラグNONとして“0”が書き込まれると、音源
部5により、当該発音データエリアに大きな値のリリー
スレートRRが書き込まれる。次に相対アドレスが「1
0」である記憶エリアは、現エンベロープデータEGD
の上位8ビットのデータEGHの記憶エリアとなってい
る。次いで相対アドレスが「11」である記憶エリア
は、現エンベロープデータEGDの下位2ビットのデー
タEGLの記憶エリア、それに続く2ビットのエリアが
現ステートデータEGSの記憶エリア、残った下位4ビ
ットのエリアが未使用エリアである。ここで、現エンベ
ロープデータEGDは音源部5において現在発生中のエ
ンベロープの値を示すデータであり、現ステートデータ
EGSは現在発生中のエンベロープのステートを示すデ
ータである。これらのデータは音源部5によって共用R
AM7に書き込まれる。
【0016】(5)音源部5の構成 音源部5は、図1に示すように、左右のチャネルの楽音
信号を形成する楽音生成部51、ノートオンパルス発生
部52、音源アドレス発生部53およびこれらの各要素
を相互に接続する音源データバスGEBからなる。楽音
生成部51は、各発音チャネル毎に以下説明する処理
〜を実行し、各発音チャネルに対応した左右のチャネ
ルの楽音信号LOUTおよびROUTを形成する。 書込検出部9によってロード信号LOADが“1”と
された場合に、共有RAM7におけるその時点の発音チ
ャネル(すなわち、発音指示のなされた発音チャネル)
に対応した発音データエリアからボイス番号Vnを読み
出す。 パラメータROM6における処理において読み出し
たボイス番号Vnに対応した音色データエリアから音色
データを読み出し、共有RAM7における上記発音指示
のなされた発音チャネルに対応する発音データエリアに
書き込む。また、上記音色データの読出および書込の
際、ロード番号LNを出力する。このロード番号LN
は、ロード信号LOADが“1”となった時点から6サ
ンプリング周期を要して「0」〜「5」まで順次切り換
えられ、パラメータROM6から音色データを読み出す
ための相対アドレスとして使用されると共にパラメータ
ROM6から読み出した音色データを発音データエリア
に書き込む際の相対アドレスの演算に使用される。な
お、ロード番号LNは楽音生成部51内のアドレス発生
部502(後述)が発生する。 共有RAM7の発音データエリアをエンベロープの値
の記憶手段として使用し発音すべき楽音のエンベロープ
の値を逐次演算する。 上記処理と並行し、パラメータROM6からボイス
番号Vnに対応した波形サンプルデータを順次読み出す
と共にボイス番号Vnに対応した音色データに従って波
形サンプルデータに加工を施し、楽音信号LOUTおよ
びROUTを形成する。 なお、以下では上記処理およびが行われる動作モー
ドをロードモード、上記処理およびが行われるモー
ドを発音モードと呼ぶ。
【0017】ノートオンパルス発生部52は共有RAM
7における各発音チャネルのノートオンフラグNONを
監視し、ある発音チャネルのノートオンフラグNONの
値が“1”となった場合に、その発音チャネルに対応し
たタイミングで楽音生成部51にノートオン信号NON
Sを楽音生成部51へ送る。
【0018】音源アドレス発生部53は各発音チャネル
の各タイムスロットにおいて下記のアドレスADRG
RAM接続制御部8へ送る。ただし、下記においてiは
現時点における発音チャネルの番号である。また、タイ
ムスロットT3、T8、T11およびT14において発生され
るアドレスは書込アドレスであり、その他のタイムスロ
ットにおいて発生されるアドレスは読出アドレスであ
る。また、AxおよびAyは前述したロード番号LNに
応じて決定される相対アドレスであり、LN=0の場合
はAx=9、LN=4の場合はAx=8、Ay=5、L
N=5の場合はAx=6、Ay=7とされる。 {各タイムスロットにおける音源用アドレスADRG} タイムスロットT0:6(i−1)+1 タイムスロットT1:6(i−1)+2 タイムスロットT2:6(i−4)+3 タイムスロットT3:6(i−3)+Ax タイムスロットT4:6(i−3)+4 タイムスロットT5:6(i−3)+5 タイムスロットT6:6(i−3)+6 タイムスロットT7:6(i−3)+7 タイムスロットT8:6(i−3)+Ay タイムスロットT9:6i+8 タイムスロットT10:6(i−3)+9 タイムスロットT11:6(i−4)+10 タイムスロットT12:6(i−3)+10 タイムスロットT13:6(i−3)+11 タイムスロットT14:6(i−4)+11 タイムスロットT15:6i ただし、上記の各アドレスを示す式において、第1項6
(i−k)が負の数になる場合には第1項の演算式とし
て6(i−k)の代りに6(i−k+12)が用いられ
る。上記式における第1項は目的とするデータが属する
発音データエリアの先頭アドレスを示しており、第2項
はその先頭アドレスに対する目的とするデータの相対ア
ドレスを示している。また、音源アドレス発生部53は
共有RAM7に対するアクセスを行うのに必要な第1お
よび第2の書込制御信号GWおよびGWaを発生し、R
AM接続制御部8へ供給する。なお、これらの書込制御
信号については後述する。音源データバスGEBは第0
〜第7ビット線によって構成されている。
【0019】楽音生成部51の構成 次に図7を参照し、楽音生成部51の構成を説明する。
ラッチ701〜717は各々音源データバスGEBにお
ける所定のビット線に出力されるデータを所定のタイム
スロットにおいてラッチする。図7において各ラッチ7
01〜717を示す枠内にはTi(i=0〜15)のい
ずれかの符号が記されているが、これらの符号は各ラッ
チが音源データバスGEBからデータを取り込むタイム
スロットを示している。アドレスレジスタ部501はス
タートアドレスSAを記憶するための24ビットの記憶
エリア、ループスタートアドレスLSを記憶するための
16ビットの記憶エリアおよびループエンドアドレスL
Eを記憶するための16ビットの記憶エリアを有する。
【0020】ラッチ704〜706は各々8ビットの容
量を有する。ラッチ704はタイムスロットT0におい
て共有RAM7から読み出されて音源データバスGEB
に出力されるボイス番号の下位ビットデータVnLをラ
ッチする。また、ラッチ705はタイムスロットT1
おいて音源データバスGEBに出力されるボイス番号の
上位ビットデータVnH(第0および第2ビット)およ
びF番号の下位ビットデータFnL(第2〜第7ビッ
ト)をラッチする。また、ラッチ706はタイムスロッ
トT2において音源データバスGEBに出力されるF番
号の上位ビットデータ(第0〜第3ビット)およびオク
ターブデータOct(第4〜第7ビット)をラッチす
る。なお、これらのデータが共有RAM7から読み出さ
れて音源データバスGEBに出力される動作については
後述する。
【0021】アドレス発生部502はパラメータROM
6に対応する読出アドレスを発生する。ここで、アドレ
ス発生部502が行うアドレスの発生の態様は以下説明
するようにロードモード時と発音モード時とで異なる。
ロードモード(LOAD=“1”)時において、アドレ
ス発生部502はロード番号LNを発生すると共にロー
ド番号LNによって決定されるアドレスを発生する。こ
こで、アドレス発生部502は各発音チャネル毎に前述
のロード番号LNをカウントするカウンタを有してい
る。ある発音チャネルCHiにおいてロード信号LOA
Dが“1”となると、発音チャネルCHiに対応したカ
ウンタに対し、ロード番号LNの初期値として「0」が
セットされる。以後、サンプリング周期が切り換わり、
再び発音チャネルCHiとなる毎にロード番号LNがイ
ンクリメントされる。ロード番号LNは上述した音源ア
ドレス発生部53(図1)に送られると共にアドレスレ
ジスタ部501に送られる。アドレスレジスタ部501
において、このロード番号LNはパラメータROM6か
ら読み出されるスタートアドレス、ループスタートアド
レスおよびループエンドアドレスの書込制御を行うため
の制御信号として使用される。すなわち、ロード番号L
Nが「0」の場合には、上位8ビットデータとしてレベ
ルシフトデータLSが、下位8ビットデータとしてスタ
ートアドレスの上位8ビットがパラメータROM6から
読み出される。従って、この場合、アドレスレジスタ部
501内の各記憶エリアのうちスタートアドレスの上位
8ビットに対応した記憶エリアにROM用データバスD
BROMの下位8ビットのビット線上のデータが書き込
まれる。以後、LN=「1」〜「3」の各場合におい
て、これと同様な制御が行われ、スタートアドレス、ル
ープスタートアドレスおよびループエンドアドレスがア
ドレスレジスタ部501の各々に対応する所定の記憶エ
リアに書き込まれる。また、ロードモード時、アドレス
発生部502は、ラッチ704および705にラッチさ
れたボイス番号Vnおよびその時点におけるロード番号
LNを用いて6Vn+LNなる演算を行い、その結果得
られるアドレスをROM用アドレスバスABROMを介
してパラメータROM6へ送る。ロード番号LNが
「5」になると、アドレス発生部502はロードモード
が終了したことを示すロード終了信号ENDを書込検出
部9へ送る。書込検出部9はロード終了信号ENDが入
力されることにより、ロード信号LOADを“0”に戻
す。
【0022】一方、発音モード(LOAD=“0”)時
において、アドレス発生部502は、形成すべき楽音信
号の波形値の位相を表わす位相情報を発生し、位相情報
の整数部に基づいて決定される波形アドレスIAをパラ
メータROM6へ送ると共に位相情報の小数部FRAC
を後述する補間部505に送る。ここで、位相情報は、
ラッチ705および706に記憶されたF番号Fnおよ
びオクターブデータOct、後述の変調信号発生部50
4が出力する周波数変調データPMとに基づいて決定さ
れるピッチ情報をサンプリング周期が切り換わる毎に累
算することにより求められる。また、累算によって位相
情報の整数部がアドレスレジスタ501に記憶されたル
ープエンドアドレスLEを越える場合には、その越えた
分をループスタートアドレスLSに加えた結果が位相情
報の整数部として設定され、上述したループ再生のため
の制御が行われる。
【0023】転送レジスタ503は、パラメータROM
6からの読出データを音源データバスGEBへ順次転送
するレジスタであり、タイムスロットT4において読出
データの下位8ビットのデータを転送し、タイムスロッ
トT15において上位8ビットのデータを転送する。ラッ
チ701はタイムスロットT10において共有RAM7か
ら読み出されて音源データバスGEBの第6および第7
ビット線に出力されるデータMSをラッチする。ラッチ
702はタイムスロットT10において音源データバスG
EBの第3〜第5ビット線に出力されるデータAMDを
ラッチする。ラッチ703はタイムスロットT10におい
て音源データバスGEBの第3〜第5ビット線に出力さ
れるデータPMDをラッチする。変調信号発生部504
はこれらのラッチ701〜703に保持されたデータM
S、AMDおよびPMDに対して所定の演算処理を施
し、その結果を振幅変調信号AMおよび周波数変調信号
PMとして出力する。周波数変調信号PMは上述したよ
うにアドレス発生部502における位相情報の発生に使
用される。
【0024】補間部505は、発音モード時にパラメー
タROM6からROM用データバスDBROMに順次出
力される所定個数の波形サンプルデータに対し、位相情
報の小数部FRACによって決定される補間係数を用い
た補間演算を施し、再生すべき楽音波形の波形値として
出力する。ラッチ707〜715は各々図示したタイム
スロットにおいて音源データバスGEBにおける所定の
ビット線に出力されるデータをラッチする。エンベロー
プ発生部600はラッチ707〜715にラッチされる
現エンベロープデータEGD、現ステートデータEG
S、トータルレベルデータTL、アタックレートAR、
第1ディケイレートD1R、第2ディケイレートD2
R、リリースレートRR、基準レベルデータDLおよび
キースケーリング係数KSに基づいて次のサンプリング
周期におけるエンベロープのステートおよび値を演算
し、各演算結果を次ステートデータNXTSおよび次エ
ンベロープデータNXTDとして出力する。ゲート72
1はエンベロープ発生部600が出力する次ステートデ
ータNXTSをタイムスロットT12において音源データ
バスGEBへ出力する。また、ゲート722はエンベロ
ープ発生部600が出力する次エンベロープデータNX
TDをタイムスロットT9において音源データバスGE
Bへ出力する。なお、エンベロープ発生部600の詳細
な構成については後述する。
【0025】乗算部506は補間部505が出力する波
形値に対し、エンベロープ発生部600が出力するエン
ベロープ波形値(後述)および前述した振幅変調データ
AMDを乗算する。ラッチ716はタイムスロットT11
において共有RAM7から読み出されて音源データバス
GEBの第0〜第3ビット線に出力されるシフトデータ
LSをラッチする。ラッチ717はタイムスロットT3
において音源データバスGEBの第0〜第3ビット線に
出力される音像位置データPANをラッチする。シフト
部507は乗算器506から出力される信号のレベルを
ラッチ716にラッチされたシフトデータLSに従って
シフトする。PAN制御部508はシフト部507の出
力信号をラッチ717に保持された音像位置データPA
Nによって決定される比率で分配して出力する。累算部
509はPAN制御部508からの出力信号を全発音チ
ャネルについて累算し、累算結果を左右のチャネルに対
応した楽音信号として出力する。D/A(デジタル/ア
ナログ)変換器510は累算器509が出力する楽音信
号をアナログ信号に変換し、左右のチャネルに対応した
楽音信号LOUTおよびROUTとしてサウンドチャネ
ル10Lおよび10R(図1)へ供給する。
【0026】エンベロープ発生部600の構成 図8はエンベロープ発生部600の構成を示すブロック
図である。セレクタ601および602は共にセレクト
信号Sとして現ステートデータEGSが供給され、この
現ステートデータEGSによって指定される入力端子の
入力信号を選択して出力する。すなわち、セレクタ60
1はアタック部Aに対応した現ステートデータEGSが
入力された場合には所定の値maxを選択して出力し、
第1ディケイ部D1に対応した現ステートデータEGS
が入力された場合には基準レベルデータDLを選択して
出力し、第2ディケイ部D2あるいはリリース部Rに対
応した現ステートデータEGSが入力された場合には所
定の値minを選択して出力する。ここで、値maxお
よびminは各々エンベロープ波形の波形値の最大値お
よび最小値を指定する定数である。また、セレクタ60
2はアタック部Aに対応した現ステートデータEGSが
入力された場合にはアタックレートARを選択して出力
し、第1ディケイ部D1に対応した現ステートデータE
GSが入力された場合には第1ディケイレートD1Rを
選択して出力し、第2ディケイ部D2に対応した現ステ
ートデータEGSが入力された場合には第2ディケイレ
ートD2Rを選択して出力し、リリース部Rに対応した
現ステートデータEGSが入力された場合にはリリース
レートRRを選択して出力する。
【0027】比較器603はセレクタ601の出力信号
と現エンベロープデータEGDとの比較を行い、比較結
果を検出信号OVとして出力する。ここで、比較器60
3における検出信号OVの出力の制御は現ステートデー
タEGSに基づいて行われる。すなわち、比較器603
は、現ステートデータEGSが示すステートがアタック
部Aである場合は現エンベロープデータEGDがセレク
タ601の出力信号の値以上になった場合に検出信号O
Vを出力し、現ステートデータEGSが示すステートが
第1ディケイ部D1、第2ディケイ部D2あるいはリリ
ース部Rである場合は現エンベロープデータEGDがセ
レクタ601の出力信号の値以下になった場合に検出信
号OVを出力する。新ステート発生部604は、ノート
オン信号NONS、サスティンデータSUSおよび検出
信号OVに基づいて次のサンプリング周期におけるステ
ートを示す次ステートデータNXTSを出力する。すな
わち、新ステート発生部604は、ノートオン信号NO
NSが“1”に立ち上がった場合にアタック部Aに対応
した次ステートデータNXTSを出力し、その後、比較
器603から検出信号OVが出力される毎に第1ディケ
イ部D1、第2ディケイ部D2の各々に対応した次ステ
ートデータNXTSを順次出力する。また、新ステート
発生部604はノートオン信号NONSが“0”に立ち
下がった場合にリリース部Rに対応した次ステートデー
タNXTSを出力する。ただし、サスティンペダルが踏
込まれたことを示すサスティンデータSUSが与えられ
た場合には新ステート発生部604によるリリース部R
に対応した次ステートデータNXTSの出力は禁止さ
れ、第2ディケイ部がエンベロープの最終ステートとさ
れる。エンベロープ変化量発生部605はセレクタ60
2の出力信号に対してキースケーリング係数KSを加
え、その加算結果を所定の変換式に従ってエンベロープ
の変化量を指定する変化量データに変換する。加算器6
06は現エンベロープデータEGDに対し変化量データ
を加算し、加算結果を次エンベロープデータNXTDと
して出力する。加算器607は現エンベロープデータE
GDに対しトータルレベルデータTLを加算し、加算結
果を前述のエンベロープ波形値として乗算器506に供
給する。
【0028】(6)RAM接続部8の構成 図9にRAM接続制御部8の詳細な構成を示す。図9に
おいて、アドレスデコーダ801はCPUバスCPUB
のアドレスバスABPに出力されるアドレスをデコード
する回路であり、アドレスPADRの内容が共用RAM
7に対応したアドレスである場合に読出選択信号RSE
Lを出力する。セレクタ802〜804は、各々共通の
セレクト信号SELCPUが与えられる。ここで、セレ
クト信号SELCPUはタイミング信号発生部100が
出力する信号であり、図10に示すように各タイムスロ
ットの前半周期の期間は“0”、後半周期の期間は
“1”となる。各セレクタ802〜804は、セレクト
信号SELCPUが“0“の場合には入力端Aの入力信
号を選択し、“1”の場合には入力端Bの入力信号を選
択して出力する。
【0029】セレクタ802の入力端Aには、音源部5
の音源アドレス発生部53が出力する第1の書込制御信
号GWをインバータ805によって反転した信号が入力
される。ここで、第1の書込制御信号GWは、図10に
示すように第3、第8、第11および第14の各タイム
スロットにおいて“1”となる。また、セレクタ802
の入力端BはCPUバスCPUBのリードライト線R/
Pに接続されている。セレクタ802の出力信号は、
RAMバスRBUSのリードライト線R/WRに出力さ
れると共にインバータ806へ入力される。セレクタ8
03は入力端Aには音源アドレス発生部53が出力する
音源用アドレスADRGが入力される。また、セレクタ
803の入力端BにはアドレスバスABPを介しCPU
11からのアドレスが入力される。セレクタ803の出
力信号はRAMバスRBUSにおけるアドレスバスAB
Rに出力される。セレクタ804の入力端Aには8ビッ
トのラッチ807の出力信号が入力される。このラッチ
807はデータ入力端が音源データバスGEBに接続さ
れている。また、ラッチ807のロード端子には音源ア
ドレス発生部53が出力する第2の書込制御信号GWa
が入力され、クロック端子にはタイミング信号発生部1
00が出力するクロックφが入力される。図10に示す
ように、クロックφはタイムスロットの切り換わりに同
期して立ち下がり、第2の書込制御信号GWaは第4、
第9、第12および第15の各タイムスロットにおいて
“1”、他のタイムスロットにおいては“0”となる。
音源部5においてデータバスDBGに出力されるデータ
は、第4、第9、第12および第15の各タイムスロッ
トにおけるクロックφの立ち上がり時にラッチ807に
取り込まれる。一方、セレクタ804の入力端BはCP
UバスCPUBにおけるデータバスDBPに接続されて
いる。セレクタ804の出力信号はゲート808のデー
タ入力端に入力される。ゲート808のイネーブル端子
にはセレクタ802の出力信号をインバータ806によ
って反転した信号が入力される。インバータ806の出
力信号が“1”である場合、セレクタ804の出力信号
がゲート808によってRAMバスRBUSのデータバ
スDBRに出力される。これに対し、インバータ806
の出力信号が“0”である場合には、ゲート808は出
力ディゼーブル状態(出力インピーダンスが極めて高い
状態)になる。
【0030】バッファ809は、RAMバスRBUSの
データバスDBRに出力される信号をゲート810のデ
ータ入力端およびラッチ811のデータ入力端へ供給す
る。ここで、ゲート810のイネーブル端子にはAND
ゲート812の出力信号が入力される。このANDゲー
ト812にはCPUバスCPUBのリードライト線R/
Pに出力されるリードライト信号とアドレスデコーダ
801が出力する読出選択信号RSELとが入力され
る。ゲート810の出力端は前述したセレクタ804の
入力端Bと共にCPUバスCPUBのデータバスDBP
に接続される。一方、ラッチ811は、クロック端子に
クロックφが入力され、ロード端子にNORゲート81
3の出力信号L813が入力される。NORゲート81
3には第1の書込制御信号GWとクロックφaが入力さ
れる。ここで、クロックφaはタイミング信号発生部1
00が出力するタイミング信号であり、図10に示すよ
うに各タイムスロットの切り換わりタイミングの前後所
定時間に亙る期間は“1”となり、クロックφの立ち上
がりタイミングの前後所定時間に亙る期間は“0”とな
る。このような入力信号が与えられることにより、NO
Rゲート813の出力信号L813は、図10に示すよ
うに第0〜第2、第4〜第7、第9、第10、第12、
第13および第15の各タイムスロットにおいて“1”
となり、これらの各タイムスロットにおいてバッファ8
09の出力信号がラッチ811に取り込まれる。ラッチ
811の出力信号はゲート814のデータ入力端に入力
される。このゲート814のイネーブル端子には第2の
書込制御信号GWaをインバータ815によって反転し
た信号が入力される。ゲート814の出力端は前述した
ラッチ807のデータ入力端と共に音源データバスGE
Bに接続されている。
【0031】<実施例の動作>この電子楽器の電源が投
入されると、CPU11は図11にフローを示すメイン
ルーチンを開始する。まず、ステップS1に進み、初期
設定処理を行い、共有RAM7内の各記憶エリアに初期
値を書き込む。次にステップS2に進み、鍵盤2に対し
てなされる押鍵操作あるいは離鍵操作に対応した鍵処理
を行う。すなわち、鍵盤1におけるいずれかの鍵が押鍵
されると、そのキーオンイベントがCPU11によって
検出される。この結果、CPU11は鍵処理として図1
2にフローを示すキーオンイベント処理ルーチンを実行
する。また、鍵盤2におけるいずれかの鍵が離鍵される
と、そのキーオフイベントがCPU11によって検出さ
れる。この結果、CPU11は鍵処理としてキーオフイ
ベント処理ルーチン(フローの図示は省略)を実行す
る。次にステップS3に進み、パネルスイッチ群3に対
してなされる操作に対応したパネルスイッチ処理を行
う。そして、ステップS3が終了すると、ステップS2
に戻る。以後、CPU11はステップS2およびS3の
各処理を繰り返す。
【0032】一方、一定時間が経過する毎にタイマ12
からCPU11へタイマ割込み信号が出力される。CP
U11はタイマ割込み信号が供給されることにより、現
在実行中の処理を中断し、図13にフローを示すタイマ
インタラプトルーチンを実行する。まず、ステップS2
01に進み、制御変数iを「0」に設定する処理を行
う。すなわち、CPU11は、制御変数iに対応したア
ドレスをアドレスバスABPに出力すると共にデータ
「0」をデータバスDBPに出力し、さらにリードライ
ト線R/WPにリードライト信号として“0”を出力す
る。この結果、その時点におけるタイムスロットの後半
反周期において共有RAM7内のワークエリアの制御変
数iに対応した記憶エリアに「0」が書き込まれる。次
いでステップS202に進み、制御変数iによって指定
される発音チャネル別エコーフラグTON(i)の内容
が“0”であるか否かを判断する。さらに詳述すると、
CPU11は発音チャネル別エコーフラグTON(i)
に対応したアドレスをアドレスバスABPに出力すると
共にリードライト線R/WPにリードライト信号として
“1”を出力する。この結果、その時点におけるタイム
スロットの後半反周期において共有RAM7内のワーク
エリアから発音チャネル別エコーフラグTON(i)の
内容が読み出される。ここで、発音チャネル別エコーフ
ラグTON(i)は当該発音チャネルiにおいてエコー
音の発音を行うか否かを示すフラグであり、エコー音を
発音する場合は“1”が書き込まれ、発音しない場合は
“0”が書き込まれる。なお、この書込処理については
後述する。そして、CPU11は、このようにして共有
RAM7から読み出された発音チャネル別エコーフラグ
の内容が“0”であるか否かを判断する。ステップS2
02の判断結果が「NO」である場合はステップS20
2以降の処理へと進む。また、ステップS202の判断
結果が「YES」である場合にはステップS210へ進
み、共有RAM7に記憶された制御変数iを読み出し、
読み出した制御変数iの値がこの電子楽器の発音チャネ
ルの数「11」より小さいか否かを判断する。この判断
結果が「YES」である場合はステップS211に進
み、ステップS210において読み出した制御変数iに
「1」を加算し、加算結果を共有RAM7の制御変数i
に対応した記憶エリアに書き込み、ステップS202に
戻る。以後、制御変数iが「1」〜「11」についてス
テップS202の判断を行う。ステップS210に進ん
だ時にその判断結果が「NO」となった場合、すなわ
ち、すべての発音チャネルCHi(i=0〜11)につ
いて上述した処理を終えた場合にはタイマインタラプト
ルーチンを終了し中断していた処理を再開する。
【0033】演奏者がパネル面に配備された操作子を操
作して鍵盤2の上鍵に対応したボイス番号を入力する
と、メインルーチンのステップS3において、共有RA
M7の上鍵用ボイス番号V1に対応した記憶エリアに入
力ボイス番号が書き込まれる。また、下鍵に対応したボ
イス番号が入力された場合には共有RAM7の下鍵用ボ
イス番号V2に対応した記憶エリアに入力ボイス番号が
書き込まれる。また、パネル面に設けられたエコースイ
ッチが操作され、エコースイッチがオン状態となった場
合には共有RAM7にエコーフラグECHOとして
“1”が書き込まれ、エコースイッチがオフ状態となっ
た場合にはエコーフラグECHOとして“0”が書き込
まれる。
【0034】演奏者が鍵盤2におけるいずれかの鍵を押
下すると、メインルーチンのステップS2における鍵処
理としてキーオンイベント処理ルーチンが実行される。
まず、ステップS101に進み、検出したキーオンイベ
ントに基づき、押下された鍵のキーコードおよび鍵が押
下された時の速度をキーコードデータKCDおよびタッ
チデータTDとして共有RAM7に書き込む。次にステ
ップS102に進み、共有RAM7の各発音データエリ
アから各発音チャネルCHi(i=0〜11)に対応し
た現エンベロープデータEGD(=EGH+EGL)を
順次読み出し、現エンベロープデータEGDの値が最低
である発音チャネルの番号iを発音割り当てチャネルデ
ータASとして共有RAM7に書き込む。次にステップ
S103に進み、ステップS101において共有RAM
7に書き込んだキーコードデータKCDが上鍵と下鍵と
の境界に相当するキースプリットポイントデータKSP
よりも大きいか否かを判断する。この判断結果が「YE
S」である場合は共有RAM7に記憶された上鍵用ボイ
ス番号V1を発音すべき楽音のボイス番号Vnとして読
み出し(ステップS104)、「NO」である場合は共
有RAM7に記憶された下鍵用ボイス番号V2を発音す
べき楽音のボイス番号Vnとして読み出す(ステップS
105)。
【0035】次にステップS106に進み、キーコード
データKCDに基づいてオクターブデータOctおよび
F番号Fnを演算すると共にキーコードデータKCDに
基づいて音像位置データPANを演算し、さらにタッチ
データTDに基づいてトータルレベルデータTLを演算
する。ここで、キーコードデータKCDが低音の鍵のキ
ーコードである場合は音像を左側に定位させる音像位置
データPANが演算によって得られ、キーコードデータ
KCDが高音の鍵のキーコードである場合は音像を右側
に定位させる音像位置データPANが得られる。また、
タッチデータTDが大きい程、演算によって得られるト
ータルレベルデータTLの値は大きな値となる。そし
て、共有RAM7における発音チャネルASに対応した
発音データエリアにオクターブデータOct、F番号F
n(=FnH+FnL)、ボイス番号Vn(=VnH+
VnL)、トータルレベルデータTLおよび音像位置デ
ータPANを書き込む。また、発音チャネルASに対応
した発音データエリアにノートオンフラグNONとして
“1”を書き込む。この結果、音源部5において発音チ
ャネルASに対応した楽音形成処理が開始される。な
お、この楽音形成処理については後述する。
【0036】ステップS106の処理が終了すると、ス
テップS107に進み、共有RAM7のワークエリアか
らエコーフラグECHOを読み出し、エコーフラグEC
HOが“1”であるか否かを判断する。この判断結果が
「YES」である場合はステップS108に進み、発音
割り当てチャネルデータASを共有RAM7から読み出
し、共有RAM7内のワークエリアに発音チャネルAS
に対応した発音チャネル別タイムカウントデータCNT
(AS)として所定値WTを書き込む。また、共有RA
M7内のワークエリアに発音チャネルASに対応した発
音チャネル別エコーフラグTON(AS)として“1”
を書き込む。そして、メインルーチンに戻る。一方、ス
テップS107の判断結果が「NO」である場合は、ス
テップS109に進んで共有RAM7内のワークエリア
に発音チャネル別エコーフラグTON(AS)として
“0”を書き込み、メインルーチンに戻る。
【0037】演奏者が押下していた鍵を離すと、そのキ
ーオフイベントがCPU11によって検知される。この
結果、CPU11はメインルーチンのステップS2にお
いて鍵処理としてキーオフイベント処理ルーチン(図示
略)を実行する。すなわち、キーオフイベントにおける
キーコードに対応した発音処理を行っている発音チャネ
ルを求め、その発音チャネルに対応した共有RAM7内
の発音データエリアにノートオンフラグNONとして
“0”を書き込む。この結果、音源部5において当該発
音チャネルに対応した消音処理(後述)が行われる。
【0038】(2)楽音形成処理および消音処理 次に音源部5において行われる楽音形成処理について説
明する。CPU11がキーオンイベントルーチンのステ
ップS106を実行することによってボイス番号Vnの
下位ビットデータVnLが共有RAM7の発音チャネル
ASに対応した発音チャネルデータエリアに書き込まれ
ると、その書込動作が書込検出部9によって検出され
る。そして、書込検出部9により、発音チャネルASに
おけるロード信号LOADとして“1”が出力され、音
源部5における発音チャネルASにおいての動作モード
がロードモードとなる。
【0039】ロードモード ロードモードにおいては、発音チャネルASによる楽音
形成を行うための共有RAM7に対するパラメータ設定
が行われる。すなわち、ロードモードにおいては、発音
すべき楽音のボイス番号Vnに対応した音色データがパ
ラメータROM6から順次読み出され、共有RAM7の
発音チャネルASに対応した発音データエリアに順次書
き込まれる。この発音チャネルASに対応した共有RA
M7への書き込み動作は、一度に連続して行われるので
はなく、キーオンのあった時刻以後の複数数のサンプリ
ング周期の所定のタイムスロットを利用し、時間軸上に
おいて分散したタイミングで行われる。そして、発音チ
ャネルASに対応した書き込み動作の行われていないタ
イムスロットは、他の発音チャネルに対応した共有RA
M7のアクセスが行われる。このように、発音チャネル
ASに対応した共有RAM7のアクセスを時間軸上にお
いて分散したタイミングで実行するようにしたため、発
音チャネルASに係る制御と並行し、他の発音チャネル
のための共有RAM7を使用した制御を行うことができ
る。後述する発音モードにおいては、共有RAM7の発
音チャネルASに対応する発音データエリアから音色デ
ータが逐次読み出され、これらの読出データに基づく楽
音形成処理が楽音生成部51によって行われる。また、
共有RAM7の楽音形成の途中経過に相当するデータ
(本実施例の場合、現エンベロープデータおよびステー
トデータ)が逐次更新される。ロードモード時におい
て、楽音生成部のラッチ701〜717に対し、共有R
AM7からの読出データがラッチされるが、これらのデ
ータは楽音形成には利用されない。以下、ロードモード
時における動作を詳細に説明する。図14は楽音生成部
51によって音源データバスGEBに出力されるデー
タ、RAM用アドレスバスABRを介して共用RAM7
に与えられるアドレスおよび共用RAM7から読み出さ
れて音源データバスGEBへ出力されるデータを各タイ
ムスロットについて示したタイムチャートである。図1
4において、各タイムスロットにおいて音源データバス
GEBに与えられるデータの記載欄の下部には2D〜4
Dのいずれかの記号が付してある。これらの記号は当該
データが現在の発音チャネルから数えて何チャネル前の
発音チャネルにおいて使用されるものであるかを示して
いる。例えば、タイムスロットT4においては、データ
Dyの下に3Dと記載されている。これはデータDyが
現発音チャネルよりも3チャネル前の発音チャネルにお
いて使用されるべきデータであることを示している。同
様に、共用RAM7に与えられるアドレスADRRおよ
び共用RAM7から音源データバスGEBへ出力される
データについても、当該データが現在の発音チャネルか
ら数えて何チャネル前の発音チャネルにおいて使用され
るものであるかを示している。また、共用RAM7に与
えられるアドレスADRRは、目的とするデータの発音
データエリア内での相対アドレスが記載されている。ま
た、図15はロードモード時における音源部5の動作を
示すタイムチャートである。以下、これらの図を参照し
ロードモード時における動作を説明する。
【0040】ロード信号LOADが“1”となってロー
ドモードが開始されると、アドレス発生部502によ
り、発音チャネルASに対応したロード番号LNが
「0」とされる。発音チャネルASにおいてロード番号
LNが「0」であると、音源アドレス発生部53によ
り、タイムスロットT9において音源用アドレスADRG
として6AS+8が出力される。この音源用アドレスA
DRG=6AS+8は、タイムスロットT9の前半にRA
M接続制御部8のセレクタ803によってRAM用アド
レスバスABRを介し共有RAM7に供給される。この
結果、共有RAM7の発音チャネルASに対応した発音
データエリアにおける相対アドレス「8」に対応した記
憶エリアから変調用制御データMS、AMDおよびPM
Dが読み出され、RAM接続制御部8のバッファ809
を介してラッチ811のデータ入力端に供給される。こ
れらの変調用制御データMS、AMDおよびPMDはタ
イムスロットT9におけるクロックφが立ち上がりによ
りラッチ811にラッチされる。ここで、タイムスロッ
トT9においては、第2の書込制御信号GWaとして
“1”が与えられるためゲート814は出力ディゼーブ
ル状態となっている。そして、タイムスロットT10にな
ると、ゲート814が出力イネーブル状態となり、ラッ
チ811によってラッチされた変調用制御データMS、
AMDおよびPMDがゲート814を通過して音源デー
タバスGEBに出力される。これらの変調用制御データ
MS、AMDおよびPMDは同タイムスロットT10にお
いて楽音生成部51のラッチ701〜703によってラ
ッチされる。しかし、ロードモード時においては、これ
らのデータは楽音形成に使用されない。
【0041】次にタイムスロットT15になると、音源ア
ドレス発生部53により、音源用アドレスADRGとし
て6ASが出力される。この音源用アドレスADRG
6ASは、同タイムスロットT15の前半にRAM接続制
御部8のセレクタ803を介して共有RAM7に供給さ
れる。この結果、共有RAM7の発音チャネルASに対
応した発音データエリアにおける相対アドレス「0」に
対応した記憶エリアからボイス番号Vnの下位ビットデ
ータVnLが読み出され、RAM接続制御部8のバッフ
ァ809を介してラッチ811のデータ入力端に供給さ
れる。このデータVnLはタイムスロットT15における
クロックφの立ち上がりによりラッチ811にラッチさ
れる。そして、次の発音チャネルAS+1のタイムスロ
ットT0において、ラッチ811にラッチされたデータ
VnLがゲート814を通過して音源データバスGEB
に出力され、同タイムスロットT0において楽音生成部
51のラッチ704によってラッチされる。このデータ
VnLは後述するデータVnHと共にパラメータROM
6をアクセスする際のアドレス生成に使用される。
【0042】発音チャネルASから発音チャネルAS+
1に切り換わり、発音チャネルAS+1のタイムスロッ
トT0になると、現サンプリング周期におけるロード番
号LNに「1」を加算することにより、次のサンプリン
グ周期に切り換わった場合に設定すべきロード番号LN
が演算される。また、音源アドレス発生部53により、
その時点における発音チャネルの番号i=AS+1に基
づいて6(i−1)+1=6AS+1なる音源用アドレ
スADRGが出力される。この音源用アドレスADRG
6AS+1は、同タイムスロットT0の前半に共有RA
M7に供給される。この結果、共有RAM7の発音チャ
ネルASに対応した発音データエリアにおける相対アド
レス「1」に対応した記憶エリアからF番号Fnの下位
ビットデータFnLおよびボイス番号Vnの上位ビット
データVnHが読み出され、タイムスロットT0におけ
るクロックφが立ち上がりによりラッチ811にラッチ
される。そして、次のタイムスロットT1になると、ラ
ッチ811にラッチされたデータFnLおよびVnHが
ゲート814を通過して音源データバスGEBに出力さ
れ、楽音生成部51のラッチ705によってラッチされ
る。ここで、データVnHは、前述したデータVnLと
共にパラメータROM6をアクセスする際のアドレス生
成に使用される。また、タイムスロットT1において
は、音源アドレス発生部53により、その時点における
発音チャネルの番号i=AS+1に基づいて6(i−
1)+2=6AS+2なる音源用アドレスADRGが出
力される。この音源用アドレスADRG=6AS+2
は、同タイムスロットT1の前半に共有RAM7に供給
され、共有RAM7の発音チャネルASに対応した発音
データエリアにおける相対アドレス「2」に対応した記
憶エリアからオクターブデータOctおよびF番号Fn
の上位ビットデータFnHが読み出され、タイムスロッ
トT1におけるクロックφが立ち上がりによりラッチ8
11にラッチされる。そして、ラッチ811にラッチさ
れたデータOctおよびFnHは、タイムスロットT2
においてゲート814を通過し音源データバスGEBに
出力され、楽音生成部51のラッチ706によってラッ
チされる。このように、発音チャネルASにおいて、そ
の発音チャネルにおいて形成すべき楽音の変調用制御デ
ータMS、AMDおよびPMDが共用RAM7から読み
出されて楽音生成部51のラッチ701〜702にラッ
チされる。そして、次の発音チャネルAS+1におい
て、発音チャネルASにおいて形成すべき楽音のボイス
番号Vn、F番号FnおよびオクターブデータOctが
共用RAM7から読み出されて楽音生成部51のラッチ
704〜706にラッチされる。
【0043】次に発音チャネルAS+2になると、アド
レス発生部502により、ラッチ704および705に
保持された形成すべき楽音のボイス番号Vnおよびその
時点におけるロード番号LNに基づき、16Vn+LN
なるアドレスが出力され、ROM用アドレスバスABR
OMを介してパラメータROM6に供給される。この結
果、現在のロード番号LNが「0」である場合にはボイ
ス番号Vnに対応した音色データエリアにおける相対ア
ドレスが「0」である記憶エリアからレベルシフトデー
タLSおよびスタートアドレスSAの上位8ビットデー
タSAHが読み出され、ROM用データバスDBROM
に出力される。これらの合計16ビットからなるデータ
のうち上位8ビットを構成するデータDx、すなわち、
この場合はレベルシフトデータLSは、タイムスロット
15において転送レジスタ503によって音源データバ
スGEBへ出力される。そして、タイムスロットT15
おいて音源アドレス発生部53により第2の書込制御信
号GWaとして“1”が出力される。このため、音源デ
ータバスGEBに出力されたデータLSはタイムスロッ
トT15におけるクロックφの立ち上がりによりRAM接
続制御部8のラッチ807にラッチされる。一方、RO
M用データバスDBROMに出力された合計16ビット
のうち下位8ビットのデータ、すなわち、この場合、ス
タートアドレスSAの上位8ビットデータSAHは、そ
の時点におけるロード番号LNが「0」であるため、ア
ドレスレジスタ部501における対応する記憶エリアに
書き込まれる。
【0044】次の発音チャネルAS+3のタイムスロッ
トT0〜T2においては、第2の書込制御信号GWaとし
て“0”が出力されるため、ラッチ807はデータLS
を保持し続ける。そして、タイムスロットT3になる
と、音源アドレス発生部53により、その時点における
ロード番号LN=「0」に対応した相対アドレスAx=
「9」と発音チャネルの番号i=AS+3に基づき、音
源用アドレスADRG=6(i−3)+Ax=6AS+
9が演算され出力される。この音源用アドレスADRG
=6AS+9はタイムスロットT3の前半に共有RAM
7に供給される。また、タイムスロットT3において、
第1の書込制御信号GWが“1”となる。この結果、同
タイムスロットT3の前半において、第1の書込制御信
号GWをインバータ805によって反転した信号“0”
がセレクタ802およびリードライト線R/WRを介し
て共有RAM7に供給されると共に、セレクタ802の
出力信号“0”が反転されてゲート808に供給され、
ゲート808が出力イネーブル状態となる。そして、ラ
ッチ807に保持されたシフトデータLSは、セレクタ
804によって選択され、ゲート808を通過し、共有
RAM7の発音チャネルASに対応した発音データエリ
アにおける相対アドレス「9」に対応した記憶エリアに
書き込まれる。
【0045】次に発音チャネルAS+3のタイムスロッ
トT4になると、音源アドレス発生部53により、その
時点における発音チャネルの番号i=AS+3に基づい
て6(i−3)+4=6AS+4なる音源用アドレスA
DRGが出力される。この音源用アドレスADRG=6A
S+4は、同タイムスロットT4の前半に共有RAM7
に供給され、共有RAM7の発音チャネルASに対応し
た発音データエリアにおける相対アドレス「4」に対応
したトータルレベルデータTLの記憶エリアに対する読
み出しが行われる。そして、共有RAM7から読み出さ
れたデータは、タイムスロットT5において楽音生成部
51のラッチ709にラッチされる。しかし、このラッ
チ709にラッチされたトータルレベルデータTLも楽
音形成には使用されない。
【0046】次に発音チャネルAS+3のタイムスロッ
トT5、T6およびT7においては、共有RAM7の発音
チャネルASに対応した発音データエリアの相対アドレ
ス「5」、「6」および「7」に対応した記憶エリアか
らのデータ読出が行われ、タイムスロットT6、T7およ
びT8において、読出データがラッチ710〜715に
ラッチされる。しかし、これらのラッチ710〜715
に保持されたデータもラッチ709に保持されたデータ
と同様にエンベロープの生成の制御には使用されない。
次に発音チャネルAS+3のタイムスロットT10、T12
およびT13において、共有RAM7の発音チャネルAS
に対応した発音データエリアの相対アドレス「9」、
「10」および「11」に対応した記憶エリアからのデ
ータ読出が行われ、タイムスロットT11、T13およびT
14において、読出データがラッチ716、717、70
7および708にラッチされる。しかし、これらのラッ
チ716、717、707および708に保持されたデ
ータも楽音の生成の制御には使用されない。
【0047】次に発音チャネルAS+4になると、タイ
ムスロットT2において、共有RAM7の発音チャネル
ASに対応した発音データエリアの相対アドレス「3」
に対応した記憶エリアからのデータ読出が行われる。し
かし、この読出データも楽音形成の制御には使用されな
い。次の発音チャネルAS+5は発音チャネルASに対
応した共有RAM7およびパラメータROM6のアクセ
スは行われない。
【0048】そして、サンプリング周期が切り換わり、
再び発音チャネルASになると、ロード番号LNが
「1」となる。ロード番号LNが「1」となると、その
サンプリング周期の発音チャネルAS+2において、ア
ドレス発生部502により、ラッチ704および705
に保持された形成すべき楽音のボイス番号Vnおよびそ
の時点におけるロード番号LNに基づき、16Vn+L
Nなるアドレスが出力され、ROM用アドレスバスAB
ROMを介してパラメータROM6に供給される。この
場合のように、現在のロード番号LNが「1」である場
合にはボイス番号Vnに対応した音色データエリアにお
ける相対アドレスが「1」である記憶エリアからスター
トアドレスSAの中位8ビットデータSAMおよび下位
8ビットデータSALが読み出され、ROM用データバ
スDBROMに出力される。これらの合計16ビットか
らなるデータは、その時点におけるロード番号LNが
「1」であるため、アドレスレジスタ部501における
対応する記憶エリアに書き込まれる。ロード番号LNが
「1」である場合も、上述したロード番号が「0」であ
る場合と同様、各発音チャネルの所定のタイムスロット
において共有RAM7からデータが読み出される。しか
し、これらの読出データは楽音形成の制御に使用されな
い。
【0049】その後、サンプリング周期が切り換わって
ロード番号LNが「2」となると、そのサンプリング周
期における発音チャネルAS+2において、 ラッチ7
04および705に保持された形成すべき楽音のボイス
番号Vnに対応したパラメータROM6の音色データエ
リアからループスタートアドレスLSの上位8ビットデ
ータLSHおよび下位8ビットデータLSLが読み出さ
れ、アドレスレジスタ部501の各々対応する記憶エリ
アに書き込まれる。さらにサンプリング周期が切り換わ
ってロード番号LNが「3」になると、そのサンプリン
グ周期における発音チャネルAS+2において、 ラッ
チ704および705に保持されたボイス番号Vnに対
応したパラメータROM6の音色データエリアからルー
プエンドアドレスLEの上位8ビットデータLEHおよ
び下位8ビットデータLELが読み出され、アドレスレ
ジスタ部501の各々対応する記憶エリアに書き込まれ
る。以上により、発音チャネルASに対応した楽音形成
処理における波形サンプルデータの読み出しの準備が完
了する。なお、ロード番号LNが「2」および「3」で
ある場合も、上述したロード番号が「0」である場合と
同様、各発音チャネルの所定のタイムスロットにおいて
共有RAM7からデータが読み出される。しかし、これ
らの読出データは楽音形成の制御に使用されない。
【0050】次にサンプリング周期が切り換わってロー
ド番号LNが「4」になると、そのサンプリング周期内
の発音チャネルAS+2において、アドレス発生部50
2により、ラッチ704および705に保持されたボイ
ス番号Vnおよびその時点におけるロード番号LN=
「4」に基づき、16Vn+LN=16Vn+4なるア
ドレスがパラメータROM6に供給される。この結果、
ボイス番号Vnに対応した音色データエリアの相対アド
レス「4」に対応した記憶エリアから上位8ビットデー
タとして変調用制御データMS、AMDおよびPMDが
読み出され、下位8ビットデータとしてアタックレート
AR、第1ディケイレートD1Rが読み出される。これ
らの合計16ビットからなるデータのうち上位8ビット
を構成する変調用制御データMS、AMDおよびPMD
は、タイムスロットT15において転送レジスタ503に
よって音源データバスGEBへ出力され、このタイムス
ロットT15において第2の書込制御信号GWaが“1”
となることにより、クロックφの立ち上がり時点でRA
M接続制御部8のラッチ807にラッチされる。
【0051】そして、発音チャネルAS+3のタイムス
ロットT3になると、音源アドレス発生部53により、
その時点におけるロード番号LN=「4」に対応した相
対アドレスAx=「8」と発音チャネルの番号i=AS
+3に基づき、音源用アドレスADRG=6(i−3)
+Ax=6AS+8が演算され出力される。この音源用
アドレスADRG=6AS+8はタイムスロットT3の前
半に共有RAM7に供給される。また、タイムスロット
3において、第1の書込制御信号GWが“1”とな
る。この結果、ラッチ807に保持された変調用制御デ
ータMS、AMDおよびPMDは、セレクタ804によ
って選択され、ゲート808を通過し、共有RAM7の
発音チャネルASに対応した発音データエリアにおける
相対アドレス「8」に対応した記憶エリアに書き込まれ
る。
【0052】一方、発音チャネルAS+2においてパラ
メータROM6から読み出された合計16ビットからな
るデータのうち下位8ビットを構成するアタックレート
ARおよび第1ディケイレートD1Rは、発音チャネル
AS+3のタイムスロットT4において音源データバス
GEBへ出力され、このタイムスロットT4におけるク
ロックφの立ち上がり時点でRAM接続制御部8のラッ
チ807にラッチされる。
【0053】そして、発音チャネルAS+3のタイムス
ロットT8になると、音源アドレス発生部53により、
その時点におけるロード番号LN=「4」に対応した相
対アドレスAy=「5」と発音チャネルの番号i=AS
+3に基づき、音源用アドレスADRG=6(i−3)
+Ay=6AS+5が演算され出力される。この音源用
アドレスADRG=6AS+5はタイムスロットT8の前
半に共有RAM7に供給される。また、タイムスロット
8において、第1の書込制御信号GWが“1”とな
る。この結果、ラッチ807に保持されたアタックレー
トARおよび第1ディケイレートD1Rは、セレクタ8
04によって選択され、ゲート808を通過し、共有R
AM7の発音チャネルASに対応した発音データエリア
の相対アドレス「5」に対応した記憶エリアに書き込ま
れる。
【0054】次にサンプリング周期が切り換わり、ロー
ド番号LNが「5」になると、そのサンプリング周期内
の発音チャネルAS+2において、アドレス発生部50
2により、ラッチ704および705に保持されたボイ
ス番号Vnおよびその時点におけるロード番号LN=
「5」に基づき、16Vn+LN=16Vn+5なるア
ドレスがパラメータROM6に供給される。この結果、
ボイス番号Vnに対応した音色データエリアの相対アド
レス「5」に対応した記憶エリアから上位8ビットデー
タとして第2ディケイレートD2Rおよびリリースレー
トRRが読み出され、下位8ビットデータとして基準レ
ベルデータDLおよびキースケーリング係数KSが読み
出される。ここで、第2ディケイレートD2Rおよびリ
リースレートRRは、タイムスロットT15において音源
データバスGEBへ出力され、同タイムスロットT15
おけるクロックφの立ち上がり時点でRAM接続制御部
8のラッチ807にラッチされる。そして、発音チャネ
ルAS+3のタイムスロットT3になると、音源アドレ
ス発生部53により、その時点におけるロード番号LN
=「5」に対応した相対アドレスAx=「6」と発音チ
ャネルの番号i=AS+3に基づき、音源用アドレスA
DRG=6(i−3)+Ax=6AS+6が演算され出
力される。そして、ラッチ807に保持された第2ディ
ケイレートD2RおよびリリースレートRRはタイムス
ロットT3において共有RAM7の発音チャネルASに
対応した発音データエリアにおける相対アドレス「6」
に対応した記憶エリアに書き込まれる。
【0055】一方、発音チャネルAS+2においてパラ
メータROM6から読み出された基準レベルデータDL
およびキースケーリング係数KSは、発音チャネルAS
+3のタイムスロットT4において音源データバスGE
Bへ出力され、このタイムスロットT4におけるクロッ
クφの立ち上がり時点でRAM接続制御部8のラッチ8
07にラッチされる。そして、発音チャネルAS+3の
タイムスロットT8になると、音源アドレス発生部53
により、その時点におけるロード番号LN=「5」に対
応した相対アドレスAy=「7」と発音チャネルの番号
i=AS+3に基づき、音源用アドレスADRG=6
(i−3)+Ay=6AS+7が演算され出力される。
そして、ラッチ807に保持された基準レベルデータD
Lおよびキースケーリング係数KSは、共有RAM7の
発音チャネルASに対応した発音データエリアの相対ア
ドレス「7」に対応した記憶エリアに書き込まれる。以
上により、発音チャネルASにおける楽音形成処理に必
要なすべてのパラメータが共有RAM7および楽音生成
部51内のレジスタに書き込まれた。そして、ロード番
号LNが「5」となったことにより、ロード終了信号E
NDがアドレス発生部502から書込検出部9に供給さ
れる。この結果、書込検出部9により、発音チャネルA
Sにおいて発生するロード信号LOADが“0”とさ
れ、ロードモードが終了する。
【0056】発音モード ロードモードが終了すると、発音モードが開始される。
図16は発音モード時における音源部5の動作を示すタ
イムチャートである。以下、図13および図16を参照
し発音モード時における動作を説明する。発音モード時
においては、パラメータROM6の音色データエリアか
らのデータ読み出しは行われず、パラメータROM6か
らは波形サンプルデータのみが読み出される。また、ロ
ードモードが終了したことにより、共用RAM7の発音
チャネルASに対応した発音データエリアのすべての記
憶エリアには楽音形成の制御に必要なデータが書き込ま
れている。発音モードにおいては、これらの発音データ
エリア内のデータが参照されると共にデータの種類によ
っては逐次更新され、楽音形成のための処理が行われ
る。
【0057】まず、発音チャネルASのタイムスロット
9において、共有RAM7の発音チャネルASに対応
した発音データエリアの相対アドレス「8」に対応した
記憶エリアから変調用制御データMS、AMDおよびP
MDが読み出され、タイムスロットT10において楽音生
成部51のラッチ701〜703にラッチされる。そし
て、変調信号発生部504により、発音チャネルASの
当該サンプリング周期においての振幅変調データAMお
よび周波数変調データPMDの演算が行われる。次に発
音チャネルASのタイムスロットT15において、共有R
AM7の発音チャネルASに対応した発音データエリア
の相対アドレス「0」に対応した記憶エリアからボイス
番号Vnの下位ビットデータVnLが読み出され、発音
チャネルAS+1のタイムスロットT0において楽音生
成部51のラッチ704にラッチされる。次に発音チャ
ネルAS+1のタイムスロットT1およびT2において、
共有RAM7の発音チャネルASに対応した発音データ
エリアの相対アドレス「1」および「2」に対応した各
記憶エリアかF番号Fnの下位ビットデータFnLおよ
びボイス番号Vnの上位ビットデータVnHとオクター
ブデータOctおよびF番号Fnの上位ビットデータF
nHとが順次読み出され、タイムスロットT1およびT2
において楽音生成部51のラッチ705および706に
ラッチされる。この結果、ラッチ704および705に
保持されたボイス番号Vnに基づき、パラメータROM
6におけるボイス番号Vnに対応した音色データエリア
からスタートアドレスSA、ループスタートアドレスL
SおよびループエンドアドレスLEが読み出され、アド
レスレジスタ部501に書き込まれる。そして、アドレ
ス発生部502により、ラッチ705および706にラ
ッチされたF番号FnおよびオクターブデータOctと
周波数変調データPMDと基づいて位相情報の増加分が
演算され、演算結果がその時点における発音チャネルA
Sに対応した位相情報に累算される。そして、アドレス
発生部502により、位相情報とスタートアドレスS
A、ループスタートアドレスLSおよびループエンドア
ドレスLEに基づいてパラメータROM6から読み出す
べき波形サンプルデータのアドレスIAが演算される。
【0058】そして、発音チャネルAS+1およびAS
+2において、アドレスIAに対応した波形サンプルデ
ータを含む所定個数の波形サンプルデータがパラメータ
ROM6から読み出され、補間部505により、これら
の波形サンプルデータに対しアドレス発生部502が出
力する位相情報の小数部FRACに対応した補間係数を
用いた補間演算が施され、当該サンプリング周期におけ
る発音チャネルASに対応した楽音の波形値が求められ
る。
【0059】次に発音チャネルAS+3になると、タイ
ムスロットT4〜T7において、共有RAM7の発音チャ
ネルASに対応した発音データエリアの相対アドレス
「4」〜「7」に対応した各記憶エリアからトータルレ
ベルデータTL、アタックレートAR、第1ディケイレ
ートD1R、第2ディケイレートD2R、リリースレー
トRR、基準レベルデータDLおよびキースケーリング
係数KSが読み出され、タイムスロットT5〜T8におい
て楽音生成部51のラッチ709〜715にラッチされ
る。次いでタイムスロットT10、T12およびT13におい
て、共有RAM7の発音チャネルASに対応した発音デ
ータエリアの相対アドレス「9」〜「11」に対応した
各記憶エリアからシフトデータLS、現エンベロープデ
ータの上位ビットデータEGHと下位ビットデータEG
Lおよび現ステートデータEGSが読み出され、タイム
スロットT11、T13およびT14において楽音生成部51
のラッチ716、707および708にラッチされる。
エンベロープ発生部600においては、ラッチ707〜
715に保持されたトータルレベルデータTL、アタッ
クレートAR、第1ディケイレートD1R、第2ディケ
イレートD2R、リリースレートRR、基準レベルデー
タDL、キースケーリング係数KS、現エンベロープデ
ータEG(=EGH+EGL)および現ステートデータ
EGSに基づいて次ステートデータNXTSおよび次エ
ンベロープデータNXTDの演算が開始される。また、
エンベロープ発生部600の加算器607により、現エ
ンベロープデータEGDとトータルレベルデータTLと
が加算され、乗算器506により、補間部505によっ
て補間された波形値に、変調信号発生部504によって
出力された振幅変調データAM、およびエンベロープ発
生部600における加算器607の出力信号が乗算され
る。
【0060】次に発音チャネルAS+4になると、タイ
ムスロットT2において、共有RAM7の発音チャネル
ASに対応した発音データエリアの相対アドレス「3」
に対応した記憶エリアからノートオンフラグNON、サ
スティンデータSUSおよび音像位置データPANが読
み出される。そして、タイムスロットT3において音像
位置データPANが楽音生成部51のラッチ717にラ
ッチされる。また、ノートオンフラグNONはノートオ
ンパルス発生部52に送られ、ノートオンフラグNON
の内容が“1”である場合、発音チャネルASに対応し
たノートオン信号NONSとして“1”が出力される。
サスティンデータSUSおよびノートオン信号NONS
はエンベロープ発生部600に供給され、他のパラメー
タと共に次ステートデータNXTSおよび次エンベロー
プデータNXTDの演算に使用される。次に発音チャネ
ルAS+4のタイムスロットT9になると、ゲート72
2が出力イネーブル状態とされる。この時点においてエ
ンベロープ発生部600における次ステートデータNX
TSおよび次エンベロープデータNXTDの演算は終了
している。そして、タイムスロットT9において、次エ
ンベロープデータNXTDの上位ビットデータがゲート
722を通過し、RAM接続制御部8のラッチ807の
データ入力端に供給される。そして、タイムスロットT
9においては、第2の書込信号GWaが“1”とされる
ため、次エンベロープデータNXTDの上位ビットデー
タはクロックφの立ち上がりによりラッチ807にラッ
チされる。そして、タイムスロットT11になると、音源
アドレス発生部53により、その時点における発音チャ
ネルの番号i=AS+4に基づいて音源用アドレスAD
G=6(i−4)+10=6AS+10が演算され、
共用RAM7に与えられる。また、音源アドレス発生部
53により、第1の書込制御信号GWが“1”とされ
る。従って、ラッチ807に保持された次エンベロープ
データNXTDの上位ビットデータは、タイムスロット
9において、共用RAM7の発音チャネルASに対応
した発音データエリアの相対アドレス「10」に対応し
た記憶エリアに書き込まれる。
【0061】次に発音チャネルAS+4のタイムスロッ
トT12になると、ゲート721が出力イネーブル状態と
される。この結果、エンベロープ発生部600が出力す
る次エンベロープデータNXTDの下位ビットデータお
よび次ステートデータNXTSがRAM接続制御部8の
ラッチ807のデータ入力端に供給される。そして、タ
イムスロットT12において、第2の書込信号GWaが
“1”とされるため、次エンベロープデータNXTDの
下位ビットデータおよび次ステートデータNXTSはク
ロックφの立ち上がりによりラッチ807にラッチされ
る。そして、タイムスロットT14になると、音源アドレ
ス発生部53により、その時点における発音チャネルの
番号i=AS+4に基づいて音源用アドレスADRG
6(i−4)+11=6AS+11が演算され、共用R
AM7に与えられる。また、音源アドレス発生部53に
より、第1の書込制御信号GWが“1”とされる。従っ
て、ラッチ807に保持された次エンベロープデータN
XTDの下位ビットデータおよび次ステートデータNX
TSは、タイムスロットT14において、共用RAM7の
発音チャネルASに対応した発音データエリアの相対ア
ドレス「11」に対応した記憶エリアに書き込まれる。
そして、発音チャネルAS+4において、シフト部50
7により、ラッチ716の保持されたシフトデータLS
に基づき、乗算器506の出力信号に対するシフト処理
が行われる。次いでPAN制御部508により、ラッチ
716の保持された音像位置制御データPANに基づ
き、シフト部507の出力信号が左右のチャネルに対応
した信号に分配される。そして、累算部509により当
該サンプリング周期内におけるすべての発音チャネルに
ついてPAN制御部508の出力信号が累算され、当該
サンプリング周期における左右のチャネルに対応したデ
ジタル楽音信号LOUTおよびROUTとして出力され
る。
【0062】以後の各サンプリング周期においても、上
述と同様な処理が行われる。すなわち、エンベロープの
生成について説明すると、各サンプリング周期の発音チ
ャネルAS+3において、共用RAM7から発音チャネ
ルASに対応した現エンベロープデータEGDおよび現
ステートデータEGSが読み出され、音源部5に供給さ
れる。そして、音源部5のエンベロープ発生部600に
より、現エンベロープデータEGDおよび現ステートデ
ータEGSに基づいて次エンベロープデータNXTDお
よび次ステートデータNXTSが出力される。これらの
次エンベロープデータNXTDおよび次ステートデータ
NXTSは発音チャネルAS+4において共用RAM7
に書き込まれ、これらのデータは次のサンプリング周期
において現エンベロープデータEGDおよび現ステート
データEGSとして読み出される。このように共用RA
M7が楽音パラメータの記憶手段として用いられ、楽音
が逐次形成される。
【0063】消音処理 次に音源部5において行われる消音処理について説明す
る。鍵盤2の離鍵イベントが検出され、CPU11がメ
インルーチンのステップS2を実行し、離鍵イベントに
応じ、ある発音チャネルの発音データエリアにおけるノ
ートオンフラグNONを“0”にしたとする。このノー
トオンフラグNONの変化がノートオンパルス発生部5
2によって検知され、当該発音チャネルに対応したノー
トオン信号NONSが“0”とされる。この結果、エン
ベロープ発生部600内の新ステート発生部604によ
り、当該発音チャネルに対応した次ステートデータNX
TSとしてリリース部Rに対応したデータが出力され、
以後、エンベロープ発生部600においては当該発音チ
ャネルに対応したエンベロープのリリース部Rが形成さ
れる。
【0064】(3)エコー音の発生 さて、操作パネルに配備されたエコースイッチがオン状
態となると、メインルーチンのステップS3においてエ
コーフラグECHOに“1”がセットされる。この場
合、演奏者によって鍵盤2における鍵が押下され、CP
U11によってキーオンイベント処理ルーチンが実行さ
れると、そのステップS107の判断結果が「Yes」
となってステップS108が実行される。このステップ
S108において、CPU11は、共用RAM7に対
し、発音チャネルAS(ステップS102において決定
された押鍵イベントに対応した発音処理を行う発音チャ
ネル)に対応したチャネル別カウントデータCNT(A
S)として所定値WTを書き込むと共に発音チャネルA
Sに対応したチャネル別エコーフラグTON(AS)と
して“1”を書き込む。
【0065】タイマ割込み信号がタイマ12から与えら
れると、CPU11はタイマインタラプトルーチンを開
始する。まず、ステップS201に進み、上述したよう
に制御変数iを「0」に設定する。次いでステップS2
02に進み、制御変数iによって指定される発音チャネ
ル別エコーフラグTON(i)を共用RAM7から読み
出し、その内容が“0”であるか否かを判断する。エコ
ーフラグECHOが“1”である時に押鍵操作が行われ
た場合にはいずれかの発音チャネルASにおいて押鍵イ
ベントに対応した発音処理が行われている。また、発音
を行っている発音チャネル、例えば発音チャネルmに対
応した発音チャネル別エコーフラグTON(m)は
“1”となっている。そして、タイマインタラプトルー
チンの実行中、制御変数iの値が発音処理を行っている
発音チャネルの番号ASと一致すると、ステップS20
2の判断結果が「NO」となり、ステップS203へ進
む。次にステップS203へ進むと、発音チャネルi
(=m)に対応した発音チャネル別カウントデータCN
T(i)を共用RAM7から読み出してデクリメント
し、その結果を発音チャネル別カウントデータCNT
(i)として共用RAM7へ書き込む。次にステップS
204に進み、ステップS203の実行により発音チャ
ネル別カウントデータCNT(i)が「0」となったか
否かを判断する。この判断結果が「No」である場合は
ステップS210に進む。そして、i<11である場合
にはiをインクリメントし(ステップS211)、ステ
ップS202に戻る。
【0066】以後同様にタイマインタラプトルーチンが
実行される毎に、発音処理を行っている発音チャネルm
に対応した発音チャネル別カウントデータCNT(m)
がデクリメントされる。そして、CNT(m)=「1」
となった後、CPU11がタイマインタラプトルーチン
を実行すると、i=ASとなった時点でステップS20
4の判断結果が「Yes」となり、ステップS205へ
進む。そして、対応する発音チャネル別エコーフラグT
ON(i)が“0”である発音チャネル、すなわち、エ
コー音の発音に使用されていない発音チャネルの番号を
すべて求め、それらの中から現エンベロープデータEG
Dが最低である発音チャネルの番号を選択し、発音割り
当てチャネル番号ASとして共用RAM7に書き込む。
次いでステップS207に進み、共用RAM7の第iチ
ャネルに対応した発音データエリアからトータルレベル
データTLを読み出し、読出データに所定の減衰係数D
を乗算し、乗算結果をトータルレベルデータTLとして
共用RAM7の第ASチャネルに対応した発音データエ
リアに書き込む。次にステップS207に進み、共用R
AM7の第iチャネルに対応した発音データエリアから
オクターブデータOct、F番号Fn、ボイス番号Vn
および音像位置制御データPANを読み出し、読み出し
た各データを共用RAM7の第ASチャネルに対応した
発音データエリアにおける各々対応した記憶エリアに書
き込む。次にステップS208に進み、共用RAM7に
おける発音チャネルASに対応した発音データエリアに
ノートオンフラグNONとして“1”を書き込む。この
結果、発音チャネルmにおいて発音されていた楽音波形
を減衰係数Dに基づいて減衰させた楽音波形が発音チャ
ネルASにおいて形成される。次にステップS209に
進み、共用RAM7に対し、発音チャネルASに対応し
た発音チャネル別カウントデータCNT(AS)および
発音チャネル別エコーフラグTON(AS)として各々
所定値WTおよび“1”を書き込み、発音チャネルiに
対応した発音チャネル別エコーフラグTON(i)とし
て“0”を書き込む。次にステップS210に進んでi
<11であるか否かを判断し、判断結果が「Yes」の
場合にはiをインクリメントし(ステップS211)、
ステップS202に戻る。
【0067】以上のような処理が行われる結果、図17
に示すように所定値WTに対応した時間間隔でエコー音
が発生され、各エコー音のエンベロープの最大値は破線
によって示すように時間経過に伴って減衰する。各エコ
ー音のエンベロープの最大値の時間的変化の割合はタイ
マインタラプトルーチンのステップS205において使
用する減衰係数Dによって決定される。
【0068】
【発明の効果】以上説明したように、この発明によれ
ば、電子楽器の制御手段および楽音形成手段により共通
の記憶手段を用いた制御が行われるので、制御手段の制
御に係る負担が小さくなり、かつ、楽音形成手段に設け
るべき記憶回路およびそのアクセス制御に係る回路の規
模が小さくて済む。従って、安価であり、かつ、高性能
の電子楽器を実現することができるという効果がある。
【図面の簡単な説明】
【図1】 この発明の一実施例による電子楽器の構成を
示すブロック図である。
【図2】 同実施例におけるサンプリング周期、発音チ
ャネルおよびタイムスロットの関係を説明する図であ
る。
【図3】 同実施例におけるパラメータROM6内の記
憶エリアを説明するメモリマップである。
【図4】 同実施例において行われるループ再生を説明
する図である。
【図5】 エンベロープ波形を例示する図である。
【図6】 同実施例における共用RAM7の記憶エリア
を説明するメモリマップである。
【図7】 同実施例における楽音生成部51の構成を示
すブロック図である。
【図8】 同実施例におけるエンベロープ発生部600
の構成を示すブロック図である。
【図9】 同実施例におけるRAM接続制御部8の構成
を示すブロック図である。
【図10】 同RAM接続制御部8に供給される各種制
御信号の波形を示すタイムチャートである。
【図11】 同実施例におけるCPU11の動作を示す
フローチャートである。
【図12】 同実施例におけるCPU11の動作を示す
フローチャートである。
【図13】 同実施例におけるCPU11の動作を示す
フローチャートである。
【図14】 同実施例の動作を示すタイムチャートであ
る。
【図15】 同実施例の動作を示すタイムチャートであ
る。
【図16】 同実施例の動作を示すタイムチャートであ
る。
【図17】 同実施例において発音されるエコー音のエ
ンベロープ波形を示す図である。
【符号の説明】
1……制御部、11……CPU、5……音源部、7……
共用RAM。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 楽音を形成するための楽音制御パラメー
    および楽音の状態を表わす楽音状態データを記憶する
    記憶手段と、 前記記憶手段に記憶された前記楽音制御パラメータに基
    づいて楽音を形成すると共に形成中の楽音の状態を表
    わす楽音状態データを前記記憶手段に書き込む楽音形成
    手段と、 形成すべき楽音に対応した前記楽音制御パラメータを前
    記記憶手段に書き込むことにより当該楽音の形成の指示
    を行うと共に前記記憶手段に記憶された前記楽音状態
    データに基づいて前記楽音形成手段における楽音形成の
    制御を行う制御手段とを具備することを特徴とする電子
    楽器。
  2. 【請求項2】 前記記憶手段は、前記楽音制御パラメー
    タおよび楽音状態データを記憶する複数の記憶領域を有
    し、 前記楽音形成手段は、前記各記憶領域に対応した複数の
    発音チャンネルを有し、この各発音チャンネルでは、前
    記記憶手段の対応する記憶領域に記憶された楽音制御パ
    ラメータに基づき楽音を形成するものであって、各発音
    チャンネルで形成中の楽音の状態を表わす楽音状態デー
    タを前記記憶手段の対応する記憶領域に書き込むもので
    あり、 前記制御手段は、発音指示に応答して、前記記憶手段の
    複数の記憶領域に記憶された楽音状態データに基づいて
    前記複数の発音チャンネルの中からいずれかの発音チャ
    ンネルを選択し、選択された発音チャンネルに対応する
    前記記憶手段の記憶領域に楽音制御パラメータを書込む
    ものである ことを特徴とする請求項1記載の電子楽器。
JP4001787A 1992-01-08 1992-01-08 電子楽器 Expired - Fee Related JP2671690B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4001787A JP2671690B2 (ja) 1992-01-08 1992-01-08 電子楽器
US08/000,871 US5446237A (en) 1992-01-08 1993-01-05 Electronic musical instrument having a control section memory for generating musical tone parameters

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4001787A JP2671690B2 (ja) 1992-01-08 1992-01-08 電子楽器

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP9010696A Division JP2970570B2 (ja) 1997-01-23 1997-01-23 楽音発生装置

Publications (2)

Publication Number Publication Date
JPH0659678A JPH0659678A (ja) 1994-03-04
JP2671690B2 true JP2671690B2 (ja) 1997-10-29

Family

ID=11511290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4001787A Expired - Fee Related JP2671690B2 (ja) 1992-01-08 1992-01-08 電子楽器

Country Status (1)

Country Link
JP (1) JP2671690B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2416311A1 (en) 2010-08-03 2012-02-08 Yamaha Corporation Tone generation apparatus

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3223756B2 (ja) * 1995-05-23 2001-10-29 ヤマハ株式会社 ミュージックシステムおよび電子楽器
WO2009152305A1 (en) 2008-06-11 2009-12-17 Qualcomm Incorporated Method and system for measuring task load

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02179699A (ja) * 1988-12-30 1990-07-12 Kawai Musical Instr Mfg Co Ltd 楽音波形生成装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2416311A1 (en) 2010-08-03 2012-02-08 Yamaha Corporation Tone generation apparatus
US8389844B2 (en) 2010-08-03 2013-03-05 Yamaha Corporation Tone generation apparatus

Also Published As

Publication number Publication date
JPH0659678A (ja) 1994-03-04

Similar Documents

Publication Publication Date Title
US5446237A (en) Electronic musical instrument having a control section memory for generating musical tone parameters
US5442127A (en) Waveform generation device having a memory for storing adjacent sample data in different data compression representations
JP2671690B2 (ja) 電子楽器
US5146834A (en) Interpolating tone wave generator having truncated data
JP2546464B2 (ja) 電子楽器
JPH0243199B2 (ja)
JP2970570B2 (ja) 楽音発生装置
JPH0310959B2 (ja)
JP3091343B2 (ja) 電子楽器
JP3137043B2 (ja) 波形メモリ音源装置および楽音発生装置
JP3152197B2 (ja) 楽音発生方法
JP2898841B2 (ja) 電子楽器
JP2802714B2 (ja) 電子楽器
JP3221987B2 (ja) 遅延時間変調効果装置
JP3275678B2 (ja) 楽音発生方法および装置
JP2859073B2 (ja) 電子楽器
JP2000259157A (ja) 楽音制御装置及び楽音制御方法
JP2912110B2 (ja) サイン合成方式およびこれによる楽音波形発生装置ならびに電子楽器
JP3148803B2 (ja) 音源装置
JP2950456B2 (ja) 電子楽器
JPS6352399B2 (ja)
JP3094759B2 (ja) 楽音信号分配処理装置
JP3649906B2 (ja) 電子楽器のキーオンディレイ効果付加装置
JP3411731B2 (ja) 電子楽器
JP3651675B2 (ja) 電子楽器

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970610

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090711

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees