JPS61233786A - 電子楽器 - Google Patents

電子楽器

Info

Publication number
JPS61233786A
JPS61233786A JP60074182A JP7418285A JPS61233786A JP S61233786 A JPS61233786 A JP S61233786A JP 60074182 A JP60074182 A JP 60074182A JP 7418285 A JP7418285 A JP 7418285A JP S61233786 A JPS61233786 A JP S61233786A
Authority
JP
Japan
Prior art keywords
data
envelope
latch
bits
bit
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.)
Pending
Application number
JP60074182A
Other languages
English (en)
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP60074182A priority Critical patent/JPS61233786A/ja
Publication of JPS61233786A publication Critical patent/JPS61233786A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は電子楽器に関し、特にメモリを読み出しながら
楽音を発生するものに関する。
(従来の技術) 近年、電子楽器はデジタル信号処理技術の導入により、
より高度な音づくりが行われるようになった。従来例を
第14図および第15図により説明する。
周波数制御装置1が押鍵等により所定の周波数のタイミ
ング信号を発生し、正弦波発生器2へ入力する。正弦波
発生器2はタイミング信号に基づき正弦波を発生する。
一方、エンベロープ発生器3はパラメータRot’!4
よりエンベロープデータを読み出し、エンベロープを発
生する0乗算器5が正弦波とエンベロープの乗算を行い
、タイムスロット制御装置6が時分割多重化されている
乗算結果より所定のものを加え合わせたり、時分割多重
の順序を入れかえる等の処理を施こし、 DAC7より
出力する。
第15図はエンベロープ発生器3を詳細に示すものであ
る。 TABIF8および鍵IF9によって音色、鍵に
応じてサンプル演算器10の制御を行う、サンプル演算
器lOはパラメータROM4よりエンベロープデータを
読み出し、時系列のエンベロープを出力する。補間計算
器11がサンプル演算器10より出力されるエンベロー
プを更にきめ細かくなめらかなエンベロープとなるよう
に補間計算を行い、エンベロープとして出力する(例え
ば特願昭57−84234号参照)。
(発明が解決しようとする問題点) しかしながら、上記のような構成では、なめらかなエン
ベロープを得るために補間計算器を用いているが、一般
に補間計算を行うには乗算器が必要となり、回路規模が
大きくなる。仮に他で既に乗算器を使用しており1時分
割で使用するとなればより高速の乗算器にしなければな
らない、また。
エンベロープのビット数を多くしなければエンベロープ
の値が小さくなると分解能が悪くなるという問題点を有
していた。
本発明は、上記問題点を解消するために、大幅な回路規
模の増加を必要とすることなく、なめらかで且つ小レベ
ルにおいても高分解能のエンベロープを得られる電子楽
器を提供するものである。
(問題点を解決するための手段) 上記問題点を解決するために本発明は、演奏操作部の送
出する演奏情報に基づいて、データバンクより所定の波
形データと所定のエンベロープデータを読み出す手段と
、そのエンベロープデータに基づいてエンベロープを作
成するエンベロープ発生部と、前記エンベロープと前記
波形データを乗算して楽音信号を作成する楽音発生部を
有する電子楽器において、前記エンベロープデータは、
エンベロープ形状の傾きを差分表現するデータと、その
エンベロープ形状の傾きが同一である時間を表現するデ
ータとを含んでおり、また、前記エンベロープ発生部は
、前記エンベロープ形状の傾きを差分表現するデータを
順次加算して得た加算結果の上位ビットのデータをエン
ベロープの指数部となし、前記加算結果の下位ビットの
データをエンベロープの仮数部となす手段を有するもの
である。
(作用) 本発明は、エンベロープデータに示されているエンベロ
ープの傾きが同じである時間、所定の変化分をエンベロ
ープに累算することによりなめらかな傾きのエンベロー
プを得るものである。また、このようにして得たエンベ
ロープを上位下位に分け、上位ビットを指数部、下位ビ
ットを仮数部とすることによってエンベロープが小さく
なった場合においても分解能が一定に保たれる。
(実施例) 以下図面に基づき本発明の一実施例を説明する。
第1図は本発明による情報処理装置、を電子楽器に用い
た場合のブロック図である。この第1図を説明すると、
1−1は鍵盤である。1−2はタブレットであり、本電
子楽器より出力される楽音の音色の選択を指示する操作
部である。1−3は効果スイッチであり、楽音に対する
各種の効果の制御1例えばヴイブラート、トレモロ等の
効果のオン・オフを指示するスイッチである。1−4は
マイコン(マイクロコンピュータ)であり、例えばイン
テル社のマイコン8049等が相当する。1−5は楽音
発生部であり、マイコンl−4より与えられた制御信号
に基づいて波形演算、周波数演算を行う。1−6はデー
タバンクであり、楽音発生部l−5にて使用する波形デ
ータやエンベロープデータが格納されているROに(読
出専用メモリ)である。1−7はフィルタであり、楽音
発生部1−5より出力される楽音信号の折り返しノイズ
を除去する。1−8はスピーカである。
次に第1図(イ)に示す電子楽器の動作を説明する。マ
イコン1−4は内部に予め書き込まれた命令に従って、
鍵盤1−1.タブレット1−2、効果スイッチ1−3の
状態を順次検索する。またマイコン1−4は鍵盤1−1
における鍵の0N10FFの状態に基づいて押圧されて
いる鍵のコードを楽音発生部1−5の複数のチャンネル
に割り当てる割り当て信号を送出するとともに、タブレ
ット1−2、効果スイッチ1−3の状態に応じて制御デ
ータを送出する。楽音発生部1−5においては、マイコ
ン1−4より送出される割り当て信号及びその他の制御
信号を内部のレジスタに取り込み、これらの信号に基づ
いてデータバンク1−6より必要な波形データ、エンベ
ロープデータを読み出しながら楽音信号の合成を行う、
この楽音発生部1−5において合成された楽音信号は、
フィルタ1−7を通してスピーカ1−8へと送られ楽音
を発生する。
第1図(ロ)にマイコン1−4より楽音発生部1−5へ
データを転送する場合のタイミング図を示す。また、第
1表にマイコン1−4より楽音発生部1−5へ送出する
データの内容を示す、第1表において。
NODはノートオクターブデータであり、ノートデータ
NDとオクターブデータOCT及びキーオンデータKo
nより成っている。その具体的な内容は第2表にNOD
のビット構成が示してあり、第3表にノートデータNO
と音名との対応が示してあり、第4表にオクターブデー
タOCTと音域との対応が示しである。即ち仮に楽音発
生部1−5に対しGlというノートの第6オクターブの
音(以下G#6と略す)をチャンネル1より出力したい
時には第1図(ロ)におけるアドレスとして00000
001 、データとして10011110をマイコン1
−4より送出することになる。
次に、PDDはピッチデチューンデータであり調律をず
らすための8 bitのデータである。 PDDは2の
補数表示にて表されており、可変範囲は一128〜÷1
27の256通りである。 RLDはリリースデータで
、キーオフ後の減衰特性を制御する4 bitのデータ
である。 VOLはボリュームフラグであり、このビッ
トを1”にすると後述のボリュームデータVLDに応じ
て楽音発生部1−5からの楽音信号の出力レベル制御を
可能にするものである。 DMPはダンパフラグであり
、ピアノタイプエンベロープの場合のキーオフ後の減衰
を急速な減衰にせしめるフラグであり、 DMP= 1
の時に機能する。SQLはソロフラグであり、他のチャ
ンネルと同音名の楽音がアサインされた時にそのチャン
ネルの発生している楽音とこれから発生しようとしてい
る楽音の位相特性を合わすか否かを選択するフラグであ
り、5QL=1の時には位相合わせをキャンセルする。
TABはタブレットデータであり、第1図におけるタブ
レット1−2により指定されるデータがこの5bitに
入る。 PEはピッチエクステントフラグで。
このビットを°゛1″にしたチャンネルにはピッチエク
ステントがかかる。VLDはボリュームデータであり、
前述のボリュームフラグVOLとともにチャンネルから
出力される楽音のレベルを8 bitの細かさで制御す
る。なお、これら一連のデータはすべてチャンネルごと
に独立に設定できるものである。
次に、楽音発生部1−5における演算シーケンスについ
て説明する。
第5表及び第6表に楽音発生部1−5の演算シーケンス
を示す。本楽音発生部1−5においては、短い演算サイ
クルでより多くのデータ処理を行うために演算シーケン
スがイニシャルモード、ノーマルモードの2つのモード
給有し、更に上記両モードがそれぞれロングシーケンス
、ショートシーケンスに分かれている。また、イニシャ
ルモードショートシーケンス及びノ′−マルモードロン
グシーケンスはそれぞれEVEN、 ODDの2つの状
態を有している。
イニシャルモードはマイコン1−4が楽音発生部1−5
に対して新たな楽音の発生を命令した際に楽音発生部1
−5におけるマイコン1−4より指定されたチャンネル
について種々のレジスタ等の初期設定を行うモードであ
りロングシーケンスより開始され、ショートシーケンス
を2回行った後ノーマルモードに入る。このイニシャル
モードにおける2回のショートシーケンスについて1回
目がODD 。
2回目がEVENのショートシーケンスとなる。このイ
ニシャルモード終了後、ノーマルモードに移るが、ショ
ートシーケンス6回の後ロングシーケンス1回がくるこ
とになる。
本実施例では各チャンネル毎に、独立した2系統の波形
と独立した2系統のエンベロープとを掛は合わせるよう
になっており、更にピッチの細かな調整機能をも有して
いるが、これらの演算処理を時分割で8チャンネル分行
うためには多大な演算ステップが必要となる。そこで短
いサイクルで演算しないといけないものをショートシー
ケンスとし、演算頻度の低いもの、つまり長いサイクル
で演算してもよいものをロングシーケンスとする。
そしてショートシーケンスの間にロングシーケンスを挿
入することにより演算の効率化を図っている。
第1図(ハ)にショートシーケンス、ロングシーケンス
のタイミング図を示す。第1図(ハ)に示すとおり、シ
ョートシーケンス(0)〜(10)の11のタイムスロ
ットより成っており、ロングシーケンスは(11)〜(
19)の9のタイムスロットより成っている。個々のタ
イムスロットは250nsであり、4分割されてφ1.
ψ3のノンオーバーラツプの2相クロツクとともに全体
のシステムが動作している。
ショートシーケンスとロングシーケンスの関係は。
ショートシーケンスがチャンネルOからチャンネル7ま
で8回くり返されるごとに1チャンネル分のロングシー
ケンスが入る。故に1例えばチャンネル3のショートシ
ーケンスは11X8+9の97タイムスロツトごとに1
回、ロングシーケンスは97×8の776タイムスロツ
トごとに1回の割で現われることになる。更に、ノーマ
ルモードのロングシーケンスにはEVE!NとODDの
2つの状態があるため、776x2の1552タイムス
ロツトを周期としてシステムが動作しているものである
次に、第5表及び第6表に基づいて個々の演算シーケン
スについて説明する。前述のように、楽音発生部1−5
は新たな押鍵によりイニシャルモードロングシーケンス
より開始するようになっているのでイニシャルモードロ
ングシーケンスよりタイムスロット別に説明を行う。
皿工皿 (13) poo + PED→PDR(15)   
  O→ TRI (16)    O→ TR2 (17)     O→ ZRI (18)    O→ZR2 タイムスロット(13)の意味するところは、 PDD
というレジスタの内容とPEDというレジスタの内容を
加算してPDRというレジスタに格納するということで
ある。タイムスロット(15)〜(18)は、TRI。
TR2,ZRI、 ZR2というレジスタに0を書き込
むということである。
データバンク み出し。
(12)    WTD 4 )IAD  −) HA
D(14)    HAD−+C0NT→C0NT、 
DIFI(16)〜(17) HAD→STE  →E
ARIこれらの意味するところは、左端にあるデータ(
例えばタイムスロット(14)ならばHADというデー
タ)をアドレスとしてデータバンク1−6より中央に記
載のC0NTというデータを読み出し、右端にある名前
のレジスタC0NT及びDIFIに格納するということ
である。
(1)  PDR+ JD  L、B、 ; O→ER
2/1(3)  ORG + OCT +  14 v
E2 → ΔWAR(4)  D、B、 + EARL
→EAR2(6)0    →vRI (8)0    →ERI (9)0    →WE2 (10)    O−+ wEI、 WR2タイムスロ
ット(1)における0−)ER2/1はショートシーケ
ンス1回目即ちODD時にはER2,2回目即ちEVE
N時にはERIというレジスタにOを書き込むことを意
味する。またり、B、とは、PDR+ JDの演算結果
をレジスタに格納せずに、Lバス(後述)を介して乗算
部(後述)に送出することを意味する。りイムスロット
(3)においては、演算結果を一度1i1E2というレ
ジスタに格納した後デコードしてΔwARに格納するこ
とを意味する。タイムスロット(4)におけるり、B、
は、後述のデータバンク読み出し部によって得られる値
をレジスタ等を介さずDノベス(後述)を介して加算器
に送出することを意味する。
上記のC,B、は、加算部にて得られた結果をレジスタ
を介さずに乗算部に直接入力することを意味しこの場合
においてはタイムスロット(1)にて得られたPDR+
 JDの演算結果を意味する。
−一タバンク み し く1)    HAD→ ΔSTE→A、B。
(3)〜(4) EARL/2→E1/2→ ΔTl/
2.ΔEl/2゜Δz1/2 (6) 〜(7) HAD 4 STW/ASTW 4
 STW/WARここでタイムスロット(1)のA、B
、は、データバンク読み出しによって得られた値をレジ
スタ等を介ざすに直接加算部のへ入力へ入力することを
意味する。また、タイムスロット(6)〜(7)の5T
II/ΔSTW 4 STV/WARは、シミー回目−
ケンス1回目即ちODD時にはSTwというデータを読
み出してSTVというレジスタに格納し、2回目即ちE
VEN時にはΔSTVというデータを読み出してWAR
というレジスタに格納することを意味する。
次にノーマルモードについて説明する。
ノーマルモードショートシーケンス 第6表において傘印のついている箇所は、ノートクロッ
クが発生した後の最飴のシコートシーケンスのみでその
演算が行われるものであり、この動作を制御するフラグ
を計算要求フラグCLRQと呼ぶことにする。
皿l鼠 (1)  w22  + VEI      4 L、
B。
(2)   STV  +  WAR−’)  I)、
B−、、B、B。
(3)  ZRI + ΔZl     4 ZRI(
4)  DIFI + C,B、     →D、B。
(5)  ERI + ΔEl + Ci 4 ERI
(6)  ZR2+  AZ2    4 ZR2(7
)  IIIAR+ ΔwAR−) VAR*(8) 
ER2+ΔE2 +Ci −4FR2(9)  FR+
 CDR−4CDR傘ここで、タイムスロット(1)の
り、B、は、演算結果をレジスタを介さず直接乗算部へ
入力することを意味する。タイムスロット(2)のり、
B、、 B、B、は同様に演算結果を直接データバンク
読み出し部及び加算部のB入力へ入力することを意味す
る。タイムスロット(4)におけるC、B、は、加算部
の演算結果をレジスタを介さずに直接入力することを意
味し、この場合はタイムスロット(2)におけるSTw
+ IIARの演算結果が入力される。また、D、B。
はその演算結果を直接データバンク読み出し部へ入力す
ることを意味する。タイムスロット(5)及び(8)の
Ciは、それぞれタイムスロット(3)及び(6)にお
ける演算のくり上り(キャリー)を加えるという意味で
ある。
夏算星 (1) 〜(3)  1IR2+  FR2−) WI
E2#(4)〜(6)  C,B、 X CN  →(
DAC)(7) 〜(9)  VRI X HRI  
−+ VE1#ここで、タイムスロット(4)〜(6)
のC,B、とは加算部の出力をレジスタ等を介さず直接
乗算部へ入力することを意味する。この場合は、タイム
スロット(1)の1IE2 + WEIの演算結果に相
当する。また(DAC)とあるのは、この演算結果をD
AC(DAコンバータ;後述)に入力することを表す。
データバンク み し く4) 〜(5)   C,B、  −+  vt  
→ VRI傘(7) 〜(8)  C,B、 −+ 1
1−+ VR21ここで、タイムスロット(4)〜(5
)のCJ、は加算部の演算結果を直接データバンク読み
出し部へ入力してデータバンク1−6のアドレスとする
ことを意味し、この場合は加算部におけるタイムスロッ
ト(2)のSTW + wARの演算結果に相当する。
タイムスロット(7)〜(8)のC,B、も同様にタイ
ムスロット(4)のDIF1+ (STW + WAR
)の演算結果に相当する。
(13)  ΔTl/2  +  TRI/2    
    → TRI/2(14)  PDR+  JD
            −+  L、B。
(15)  ΔEARL/2  +  EARI/2 
 +  C1−4EARI/2(16)  PDD +
 PED         4 PDRここで、タイム
スロット(14)のり、B、は、加算部の演算結果即ち
PDR+ JDの値をレジスタを介さず直接乗算部へ入
力することを意味する。タイムスロット(15)のCi
はタイムスロット(13)の演算を行った結果生じるく
り上り(キャリー)を意味する。
ここで、 C,B、は加算部における演算結果をレジス
タを介さず直接乗算部へ入力することを意味し、この場
合は加算部タイムスロット(14)におけるPDR+ 
JDの演算結果が入力される。
−一タバンク み し く14)〜(15)  EAR2/1→E2/1→ Δ
T2/1゜ΔIi2/1.Δz2/1 ここで、2/1というのは、奇数回目、即ち000時に
は2(例えばR2/1ならばR2)、偶数回目、即ちE
VEN時には1(同Ei)となることを意味し、 EV
EN、 ODDで別のデータを読み出し、別のレジスタ
へ格納することを意味する。
第2図は第1図(イ)における楽音発生部1−5の詳細
な図である。まずこの図を用いて各ブロックの機能の概
略を説明すると、2−1はマスタクロックであり、ここ
ではf =8.00096MHzのものを用いている。
2−2はシーケンサ(以下SεQと称す)であり。
マスタクロック2−1によるクロック信号を分局し、楽
音発生部1−5全体におけるシーケンス信号(以下SQ
倍信号称す)及び各種制御信号を発生する。2−3はマ
イコンインターフェース部(以下UCIFと称す)であ
り、第1表にて示される各種データをマイコン1−4が
楽音発生部1−5とは非同期で送出しているが、このデ
ータを取り込み、 SEQにより発生されるSQ倍信号
の同期をとる回路である。更にフラグKonによりイニ
シャルモード、ノーマルモードのモード切りかえを指示
するフラグINIを発生する。
2−4は比較レジスタ部(以下CURと称す)であり、
前記演算シーケンスで示したレジスタCDR8チャンネ
ル分とマスタクロツタを順次分周して得た10ビツトの
分局信号とを比較し、8チャンネル分のノートクロック
と計算要求フラグCLRQを発生する。
2−5はランダムアクセスメモリ部(以下メモリと称す
)で、楽音発生部1−5内で行われる種々の演算結果を
記憶する。2−6はフルアダ一部(以下FAと称す)で
あり、各種データの加算を行う16ビツトのフルアダー
を内蔵している。2−7は乗算部(以下MPLYと称す
)であり、 (2の補数の12bit) X (絶対値10bit)
の演算を行う乗算器を有している。2−8はデジタルア
ナログコンバータ(以下DACと称す)であり、MPL
Y2−7より出力されるデジタルの楽音データをアナロ
グの楽音データに変換する。2−9はアナログバッファ
メモリ部(以下ABMと称す)で、DAC2−8よりマ
シンサイクル周期で発生される楽音データをCDR2−
4により発生されるノートクロックによる音程同期への
変換を行う。ABM2−9の機能及び構成は特開昭59
−214091号公報に示されているアナログバッファ
メモリと同様のものである。2−10は入出力回路部(
以下I10と称す)であり、データバンク1−6ヘアド
レス信号を送出し、そのアドレス信号に対応した波形デ
ータ、エンベロープデータの読み出しを行い、必要に応
じて読み出したデータのデータ変換を行う、 2−11
はマトリックススイッチ部(以下MSvと称す)であり
、UCIF2−3、CDR2−4、メモリ2−5に接続
された横方向のパスライン(HA。
HB、 IC,HD、 HE、 HLの各バス)とFA
2−6、MPLY2−7、Ilo 2−10へ接続され
ている縦方向のパスライン(A、B、C,D、Lの各バ
ス)とを、SQ倍信号応じて接続する回路である。これ
らの回路により第5表及び第6表に示す演算シーケンス
を実行するものである。
次に個々のブロックについて説明する。
第4図は第2図における5EQ2−2の詳細図である。
4−1はカウンタであり、マスタクロックを分周し、第
1図(ハ)に示す種々のタイミング信号を発生する。 
TSは第1図(ハ)におけるタイムスロットを表す信号
であり、CHCはチャンネルコードであり、第1図(ハ
)におけるチャンネルの番号を表わす信号である。 E
Vは演算シーケンスにおけるODD、EVENを表す信
号であり、EV=OはODD、 EV= 1はEVEN
を意味する。4−2はSQROM (シーケ:/スRO
M)である。SQROM4−2のアドレス入力にはタイ
ムスロットを表す信号TSとフラグINIが入力されて
おり、これらの入力に基づいて各々のタイムスロットに
おける各種制御命令を発生している。4−3は論理ゲー
トであり、SQROM4−2による出力を各種フラグ及
び計算要求フラグCLRQ等で更に制御して、SQ倍信
号演奏情報、効果スイッチ1−3等の指示に従って、各
機能ブロックが各タイムスロット毎にどのように動作す
べきかを指示する信号;図中ではSQと略記)を発生す
る。
第5図はUCIF2−3の詳細図である。第5図におい
て、5−1はラッチであり、第1図におけるマイコン1
−4より与えられるA/D O〜7をALEによりラッ
チする。 A/D O〜7とALEの関係は第1図(ロ
)に示すとおりであるので、ラッチ5−1には第1表に
示すところのアドレスがラッチされる。5−2はラッチ
であり、マイコン1−4より与えられるA/DO〜7を
豐によりラッチする。 A/D O〜7と糀の関係は第
1図(ロ)に示すとおりであるのでラッチ5−2には第
1表に示すところのデータがラッチされる。5−3はラ
ッチであり、盟によって制御されラッチ5−1の出力を
ラッチする。このようにアドレスを2段でラッチするの
は、 ALEが罰に無関係に周期的に1”になるからで
あり、このようし;アドレスを2段でラッチすることに
より■による新たなデータの書き込みを行うまでラッチ
5−3.ラッチ5−2にはそれぞれアドレス及びデータ
が格納されることになる。5−4は1ワード8ビツトの
RAMであり、Aはアドレス入力、OEは出力制御端子
であり、データ端子りはHEババス接続されている。こ
こで、0E=1となるとA入力で与えられたアドレスの
データをD端子より出力する。またWEは書き込み制御
端子で、WE=1の時にD端子に与えられているデータ
をA入力で与えられたアドレスに書き込む、 0R1W
EはSQ倍信号より制御されている。 RAM5−4に
は第1表にて示した各種データ(NOD、PDD、 R
LD −MOL −DMP −SQL、 TAB −P
H,VLD)及びコントロールデータC0NT (デー
タバンクより書き込む、詳細は後述)、ピッチデータレ
ジスタのデータPDRがそれぞれ8チャンネル分格納さ
れている。5−5はセレクタであり、マイコンl−4の
指定するアドレスと、SQ倍信号指定するアドレスを、
別のSQ倍信号用いて選択出力し、RAM5−4のA入
力に与えるものである。5−6は信号処理器であり、H
Eババス接続され、バス上のデータを取り込み各種フラ
グ信号を発生する。また、マイコン1−4より送出され
たリリースデータRLD 4ビツトに応じた16とおり
のリリース用エンベロープデータを発生してHEパスに
送出する。5−7はゲートであり、SQ倍信号応じてラ
ッチ5−2の出力、つまりマイコン1−4からのデータ
をHEババス上送出する。
次にUCIF2−3の動作を説明する。
第1表に示すようなデータが第1図(ロ)に示すタイミ
ングでマイコン1−4より与えられたとし、仮にアドレ
スが051@、データが891.即ちチャンネル5にF
#1の押鍵を指示したとすると、先ずALE信号により
ラッチ5−1にアドレスがラッチされ、次いで豐信号に
よりラッチ5−2にデータがラッチされると同時に、ラ
ッチ5−3にアドレスがラッチされる0次いで所定のタ
イミングでセレクタ5−5がラッチ5−3の出力をセレ
クトし、同時にゲート5−7が開き、RAM5−4のW
Hに書き込み信号が与えられる。この書き込み信号によ
りHEババスはラッチ5−2にラッチされたデータ即ち
マイコン1−4が書き込もうとしたデータ即ち8916
が与えられ、RAM5−4のA入力にはラッチ5−3の
出力である05□6が与えられるので、RAに5−4の
アドレス0516番地に891.というデータが書き込
まれる。このようにして第1表に示した各種データがR
AM5−4に書き込まれる。
第1表に示すとおり、RAM5−4 ニはVOL 7ラ
グ、PEフラグ等のフラグ類が書き込まれているが、こ
れらのフラグ類はHEババス介して信号処理器5−6へ
送出し、ここで一旦ラッチした後使用している。
第6図はCDR2−4の詳細図である。6−1はマスタ
クロックを入力とした10ビツトの分局器である。
6−2は比較器付RAM (以下CDRAMと称す、)
であり。
1ワード13ビツトで8ワードを有する。各ワードのう
ち上位10ビツトには比較器が設けてあり、端子Tより
入力される分局器6−1による分局データとの比較が行
われ、10ビツトすべてが一致すると端子Cより一致パ
ルスが出力される。 OB、 l1lE、A。
Dの機能は前述のRAM5−4と同じである。6−3は
デコーダであり、A入力、EN入力とD出力の関係は第
8表に示すとおりである。6−4〜6−11はRSラッ
チであり、S入力に正のパルスが加わるとQ出力が′1
”に、R入力に正のパルスが加わるとQ出力が0”にな
る、 RSラッチ6−4はチャンネルO,RSラッチ6
−5はチャンネル1.・・・・・・の一致パルスがSに
与えられる。 6−12はセレクタであり、N入力に与
えられた8信号からチャンネルコードCHC3ビツトに
よりそのうちの1信号を選択してDより出力する。 6
−13はラッチであり、SQ倍信号従ってセレクタ6−
12の出力をラッチする。 6−14はANDゲートで
ある。
次に第6図に示すCDR2−4の動作について説明する
0分周器6−1がマスタクロックを分周して10ビツト
の分局出力をCDRAM6−2のT入力へ与える。
CDRAM6−2の各ワードには任意の値が入っている
が、これらの値の上位10ビツトが分局器6−1の出力
値と一致するごとに一致パルスをC端子より出力する。
CDRAM6−2のA入力にはCOO即ちチャンネルを
表す信号が入力しであるので、各ワー・ドはそ、れぞれ
のチャンネルに対応しているので、チャンネルごとに一
致パルスを発生する。この一致パルスはそれぞれをRS
ラッチ6−4〜6−11へ入力されているので、一致パ
ルスが発生したチャンネルに対応するRSラッチのQ出
力が1”にセットされる。 RSラッチ6−4〜6−1
1のQ出力のうちの1つがチャンネルコードCHCに応
じてセレクタ6−12により順次選択されラッチ6−1
3にラッチされる6ラツチ6−13の出力はANDゲー
ト6−14に与えられているので、現在セレクタ6−1
2が選択しているRSラッチのQ出力が1”ならば、A
NDゲート6−14に加えられたSQ倍信号よってデコ
ーダ6−3のD出力の該当チャンネルがパ1”になり上
記のRSラッチのQ出力は0”にリセットされる。
第7図はメモリ2−5の詳細図である。第7図におイテ
、7−1〜7−4はRAMであり、OB、 wE、 A
、 Dの各機能は前述のRAM5−4と同じである。こ
こで、RAM7−11mはWAR,EARL、Δ21.
 ΔEl、 VEI、 RAM2゜ΔZ2.ΔE2の各
レジスタが、RAM7−2にはすR2,ZRI。
ATI、 FR,AWAR,ZR2,AT2ノ各レジX
タカ、RAM?−3ニi*ER1,TRI、 DIFI
、 Dlll、 ER2,TR2,STV。
TAB’ 、 HAD(7)各レジスタが、RAM7−
44.−はNOD’、IIE2 。
VLD’の各レジスタがそれぞれを8チャンネル分格納
されテイル、なお、NOD’ 、 TAB’ 、 VL
D’は前述のRAM5−4ニおけるNOD、 TAB、
 VLD(7)データを書き込んだものである。7−5
は1ワード10ビツト13ワードのROMであり、第5
表、第6表で示した演算シーケンスにおけるノート係数
CNが記憶されている。
ここでQは出力、Aはアドレス入力、OEは出方制御端
子であり、0E=1でQにROMの内容が出力され、0
E=0の時はQ;ハイ・インピーダンスである。ノート
係数CNの値は第7表に示すとおりである。なお、 R
OM?−5のlOビットの出力はHDババス下位10ビ
ツトに接続されている。7−6は信号処理器であり、R
AM7−4ニ格納されたNOD’よuND(/−トデー
タ)と0CT(オクターブデータ)を読み出しこれらの
データ及びPEフラグに基づいてピッチデチューンデー
タPEDを発生する回路、並びにレジスタ1E2のデー
タを読み出してデコードするデコード回路が備えである
第8図はFA2−6の詳細図である。第8図において、
8−1〜8−8はラッチであり、5EQ2−2が発生す
るψ1.ψ3の信号で動作している。8−9は加算器で
あり、A入力に与えられた値とB入力に与えられた値(
共に16ビツト)とキャリー人力Ciに与えられた値の
加算を行い、C及びCoより出力する。 Coは演算の
結果生じるキャリー出力である。 8−10゜8−11
はビット処理回路であり、ラッチ8−1.ラッチ8−2
による出力のビット操作を行う回路である。
8−12は論理ゲートであり、SQ倍信号応じてラッチ
8−6の出力を強制的に1”または′°0”にする、或
いはそのまま出力するといった動作を行う、 8−13
はRAにであり、そのサイズは1ワード9ビツトで12
ワードのもノテあ6. A、 D、 118. OBの
各機能は前述のRAM5−4と同じである。D出力9ビ
ットはCバスの下位9ビツトに接続されている。
RAM8−13は位相合わせ(後述)用の位相レジスタ
で、12音のノートの個々の波形データ読み出し用アド
レス(MAR)の位相管理を行う。
第9図(イ)はMPLY2−7の詳細図である。第9図
において9−1〜9−9はラッチである。ここでラッチ
9−3にはLバスのビット7〜ビツト9が、ラッチ9−
5にはLバスのビット9〜ビツト12が接続されている
。9−10はエンコーダである。入出力の関係は第9表
に示すとおりである。9−11はシフタであり、工から
入力される16ビツトの信号をCに入力された制御信号
に従ってシフトし0より出力する。
シフトの内容は第10表に示すとおりである。9−12
はビット処理回路でありSQ倍信号応じてラッチ9−3
が出力する信号のビット処理を行う。9−13はデコー
ダであり人力Aと出力りとし関係は第11表に示すとお
りである。9−14はセレクタであり、Cに入力されて
いるSQ倍信号応じてC=1ならばA、C=0ならばB
に入力されている16本の信号を選択してYより出力す
る。なお、A入力の下位11ビツトはGND(接地電位
)に接続されている(即ち′0”が与えられている)、
 9−15はシフタで工から入力される14ビツトの信
号をCに入力された制御信号に従ってシフトし0より出
力する。シフトの内容は第12表に示すとおりである。
 9−16は乗算器であり、八人力がこの補数表示によ
る12ビツト、B入力が絶対値の10ビツトで出力が2
の補数表示による14ビツトである。通常12ビツト×
10ビツトの演算を行うと22ビツトの結果が得られる
が、熱論乗算器9−16の出力14ビツトは22ビツト
のうちの上位14ビツトである。故に、乗算器9−16
における入出力の関係は1次式のとおりになる。
なお、MPLY2−7における乗算器9−16は、回路
をより簡略化するために以下の手法を用いている。
通常乗算器を構成する際に、2の補数値12ビツト×絶
対値10ビツトの乗算器は116個の加算器セルにより
22ビツトの正確な演算結果が得られる。
しかし、本システムにおいては本来得られる22ビツト
のうちの上位14ビツトのみを使用する。即ち下位8ビ
ツトの出力は使用しないので本実施例では加算器セル省
略による演算誤差が上位14ビツトのLSHに影響しな
い下位7ビツト演算用の加算器セルを全部省略している
。そこで、本乗算器9−16では、下位ビット演算用の
加算器セル28セルを省略し第9図(ロ)に示すような
構成になっている。
第9図(ロ)において、破線内は同様のセルを略記した
。また、各ブロックはすべて全加算器であり、入力がA
、B、Ci(キャリー人力)、出力が和S及びキャリー
Goである。
第10図はIlo 2−10の詳細図である。第10図
において10−1〜10−8はラッチである。ここで、
ラッチ10−3はセット付のラッチでラッチの入力はD
バスのビット7〜ビツト9に接続されている。10−9
はシフタセレクタで、C入力によりA入力とB入力の切
換及び八人力の1ビツトシフトを行う。
10−10はビット処理回路であり、 SQ倍信号応じ
て下位3ビツトを強制的に°゛1″或いは°゛0”にす
る回路である。10−11はデコーダであり、入力Iと
出力りの関係は第13表に示すとおりである。デコーダ
10−11のA入力にはラッチ10−7の出力のビット
12〜ビツト15が与えられている。10−12はセレ
クタであり、C入力に応じてA又はBに与えられている
信号のいずれかを選択してYより出力する。
10−13はシックであり、制御端子Cの入力に応じて
■からの入力をシフトしてOより出力する。
10−14はノイズ回路であり、ノイズフラグNAに応
じて入力データにノイズを混入する。
第11図(イ)はMSV2−11の詳細図である0円で
囲った部分がスイッチであり、具体的・には第11図(
ロ)に示すようにNchのMOSFETで構成されてお
り。
SQ倍信号1”になるとMOSFETがオンして縦方向
のラインと横方向のラインが導通しデータが転送される
。このに5V2−11においては高速化のためにデータ
の転送の直前にすべてのパスラインに各タイムスロット
毎にψ1信号によりプリチャージを行った後データの転
送を行なっている。これはスイッチがNch MOSF
ETで構成されているので、転送されたデータの”1”
のレベルがMOSFETのしきい値電圧分だけ降下する
のを防ぐためである。第11図(ハ)〜第11図(ワ)
はMSV 2−11にて使用されているスイッチパター
ンの例であり、円で囲)た交点の箇所がスイッチを介し
て接続されている。この例では便宜1各バスが8ビツト
のものについて説明する。第11図(ハ)は、スイッチ
によってbnとan(n=0〜7)とを接続したもので
ある。第11図(ニ)はbO〜b3の4本の値とII 
Oljをスイッチによって縦方向のバスに書き込むよう
にしたものである。
第11図(ホ)はbO〜b3をaO〜a3へ、c4〜c
7をa4〜a7へ書き込むようにしたものであり、これ
により。
2組のバスに別々に表れているデータを混合して他のバ
スに転送することができるようにしたものである。第1
1図(へ)はビット位置を変換してバスからバスへ転送
するようにしたもので、このようにスイッチを配するこ
とにより横方向のバスのデータの上下各4ビットを位置
を変更して縦方向のバスに転送する。第11図(ト)〜
第11図(す)は定数をバスに設定するための回路例で
あり、第11図(ト)はバスにオール″′0”を設定す
る回路、第11図(チ)はバスに10101010即ち
AAl、を設定する回路である。これは、スイッチのな
い部分であるa7. a5゜a3. alはこのスイッ
チが開く直前にプリチャージによって61″が書き込ま
れたものがそのまま堡持されることによる。第11図(
す)はフラグTOによって定数の値を変えるようにした
もので、TO=0ならば00□6がバスに書き込まれ、
TO=1ならばEBl。
がバスに書き込まれる。第11図(ハ)〜第11図(す
)に示すスイッチをMS+12−11に用途に応じて配
して選択的に開閉することにより、任意のバスから他の
任意のバスへのデータ転送が必要なビット処理を含めて
可能となる0例えば、HACバスらAバスへ、HBババ
スらBバスへ、CバスからHCバスへ同時にデータを転
送したい時にはSwl、 5117.5113を同時に
オンすればよい、また、CバスのデータをLパスとDバ
スに転送したい時には5W28.5v29゜swaoを
オンすれば、Cバス→HLバス→Lバス及びDバスの経
路でデータが転送される。
なお、1lsW2−11において、データの転送は第1
1図(ヌ)に示すタイミングで行われている。即ち、ψ
1=1の区間で縦方向、横方向のパスラインのプリチャ
ージを行い、ψ1の立ち下りよりψ3の立ち下りまでの
区間でデータの転送を行い、ψ3の立ち下りでラッチす
る。ここで、ψ3の立ち下りからψ1の立ち上りまでの
区間はラッチ動作を安定に行うための余裕である。
次にデータバンク1−6について説明する。データバン
ク1−6には4種類のデータが格納されている。それは
、(1)ヘッダアドレスデータ、(2)ヘッダデータ、
(3)波形データ、(4)エンベロープデータである。
ここで、ヘッダアドレスデータはヘッダデータがどのア
ドレスに格納しであるかを示す8ビツトのデータであり
、ヘッダデータは波形データ、エンベロープデータの格
納しであるアドレス及びそれらの属性を表わした8バイ
トのデータである0次に上記4種類のデータを更に詳し
く説明する。
(1)ヘッダアドレスデータ(HAD)このデータは各
タブレット、各オクターブ、各3鍵ごとに割り当てられ
たノートデータをアドレスとしてヘッダデータのアドレ
スを示すデータである。ヘッダアドレスデータの格納場
所は第14表に示すとおりであり、ビット9〜ビツト5
にタブレットデータTAB 、ビット4〜ビット2.に
オクターブデータOCT、ビット1〜ビツト0にノート
データNDの上位2ビツト、残りのビットにはすべてI
t l Fjが入っている。ここでTAB、 OCT、
 NDで構成される10ビツトをIITDと呼び、その
各々は第1表に示したものであることは言うまでもない
、ヘッダアドレスデータによるヘッダデータのアドレス
は第15表のように示され、ビット10〜ビツト3にヘ
ッダアドレスデータが入り、上位ビットはすべて1”で
ある、また、下位3ビツトには000〜111のデータ
を入れる。
(2)へラダデータ(HD) ヘッダデータは第15表に示されるアドレスに格納され
ている1ワード8ビツトで8ワードのデータであり、8
ワードの各内容は第16表に示すとおりである。第16
表において、C0NTはコントロールデータであり、こ
のヘッダデータにて示される波形データ、エンベロープ
データの属性を表す、E1′は2種類あるエンベロープ
データのうちの一方である。他方のエンベロープデータ
E2’のスタートアドレスはSTE+ΔSTEで与えら
れる。11.す2は2種類ある波形データであり、vl
のスタートアドレスは5TIII+ΔsTvで与えられ
る。
なおC0NTは第17表に示すとおりの構成になってお
り、その意味するところは次のとおりである。
Plo:このヘッダデータによる楽音がピアノ型エンベ
ロープを有するかオルガン型エンベロープを有するかを
示すフラグであり、Plo = 1ならばピアノ型であ
ることを意味する。
ORG :当該の楽音データが本来どの音域に属してい
たかを示す3ビツトの情報であり、ORGと音域の対応
は第18表に示すとおりである。故に波形データが実際
に一周期分として有するサンプル数がいくつであるかを
示す情報でもある。
w8:波形データが12ビット精度であるか8ビット精
度であるかを示す。v8=1ならば8ビット精度である
。118=1の時には波形データの下位に4ビツトのO
”が追加され、波形の振幅レベルは保たれるようになっ
ている。
PCM : PCM= 1で波形データv1の立ち上り
部がPCMであることを示す。
NA:ノイズ信号を楽音信号に重畳する場合に使用する
2ビツトの信号である。
(3)波形データ(vl、 12) 前述のように、楽音発生部1−5においては波形データ
として12ビツトのものと8ビツトのものと2種類を使
いわけている。ここで市販されているROMについて考
えるとそのほとんどが1ワード8ビット或いはそれ以下
のものであり、1ワード12ビツトのものは希である。
そこで本発明においては次のように波形をROMに格納
している。即ち=8ビットの場合には、STv及びΔS
Tvによって定まるアドレスより順次1ワードずつ格納
しているが、1ワード12ビツトの波形データの場合は
第12図に示すとおり、上位8ビツトは5TII+Δ5
T11によって示されるアドレスから順次格納している
が、下位4ビツトはSTv+ΔSTVの値を1ビツト右
シフトしてMSHに1を入れたアドレスより下位4ビツ
ト上位4ビットに2ワ一ド分ずつ順次格納しである0例
えば、仮にアドレス04441.にある波形データの上
位8ビツトの下位4ビツトの場所は、アドレス1222
.、の上位4ビツトということになり、アドレス044
51.についてはアドレス1222,6の下位4ビツト
ということになる。
(4)  エンベロープデータ(El’、 E2’)エ
ンベロープデータは16ビツトで1ワードを構成し、そ
のデータフォーマットは第19表に示すとおりである。
ΔTはエンベロープアドレスの更新間隔を決めるデータ
である。Sはエンベロープの傾き(増加または減少)を
示すフラグである。、Zはエンベロープの傾きの大小を
示すフラグであり、DATAはその大きさである。第1
9表に示すデータが第16表に示すSTE、ΔSTEに
よって定められたアドレスに従ってデータバンクに格納
されている。
以上のようにデータバンクが構成されているので、とな
り合った3鍵ごとに音色の変化を与えることができる一
方、逆に同一オクターブ内にては同じヘッダアドレスデ
ータを有するようにすれば波形データ、エンベロープデ
ータ、ヘッダデータを増すことなく同じ音色の楽音が得
られる。また。
各ヘッダデータにおいて任意の波形データ、エンベロー
プデータが指定できるので、少ない波形データ及びエン
ベロープデータであってもその組み合わせ方で様々な楽
音を発生することも可能である。
次に楽音発生部1−5における押鍵時のイニシャル処理
、ノートクロックの発生方法、エンベロープ発生方法波
形の発生方法について述べる。
(1)  イニシャル処理 イニシャル処理においては、押鍵により楽音が発生され
る際の各種レジスタの初期設定が行われる。押鍵により
、演算シーケンスはイニシャルモードのロングシーケン
スより開始されるので、加算部において、タイムスロッ
ト13でPDRが初期設定される。この演算を更に詳し
く述べると、第5図RAM5−4よりPDDが読み出さ
れてHEババスデータが乗る。同時に第7図信号処理器
7−6よりHDババス対してPEDが与えられ、第11
図(イ)において5W21 ト5W17がオンシテPD
DがAバス、PEDがBバスに乗る。このデータが第8
図に示すところのFA2−6にて加算されてCバスに演
算結果が乗る。この演算結果がSす23を介してHEバ
バス乗り、RAM5−4にあるレジスタPDHに格納さ
れる。なお、この演算において、PDD、 PEDをF
A2−6への転送は実際にPDD + PEDの演算が
行われるタイムスロットの1タイムスロツト前に、また
演算結果のPDRへの格納はPDD + PEND演算
が行われる1タイムスロツト後に行われる。以下加算演
算についてはすべて同様である。次いで、タイムスロッ
ト(15)〜(18)にてTRI、 TR2,ZRI、
 Zn2に100”が書き込まれる。この動作は、TR
Iに0”を書き込む場合について述べると、タイムスロ
ット(15)にて第11図(イ)の阿5w2−11ニお
イテ5v33及び5113がオンする。 5V33は第
11図(ト)のような構成になっており、CバスにII
 O##が与えられる。同時に5V13がオンしている
ので、CバスのデータがHCバスに与えられ、第7図に
示すRAM7−3におけるレジスタTRIに00″が書
き込まれる。
一方データバンク読み出し部においては、次のような動
作をする。以下第10図を中心に説明する。
TAB、 ND、 OCTで構成された%lRDによっ
てヘッダアドレスデータHADが読み出される。なお、
このイニシャル処理を行うイニシャルモードにおいては
ラッチ10−3はSQ倍信号より111にセットされて
いる。このデータはIlo 2−10における。シフタ
10−13によって第15表に示されるフォーマットに
データが変換されDバス5V15. HCバスを介して
RAM7−3のレジスタHADに格納される。この動作
と同時に。
データバンクより読み出されたヘッダアドレスデータH
ADは、ラッチ10−8、ラッチ10−6で次々とラッ
チされ、シフタセレクタ10−9にて第15表に示すと
おりのフォーマットにデータが変換されてラッチ10−
4にラッチされる。ラッチエロー4の出力に対し。
先ずビット処理回路10−10で下位3ビツトに対して
000が与えられてコントロールデータC0NTがデー
タバンク1−6より読み出されラッチ10−8を介して
ラッチ10−7の上位8ビツトにラッチ、される。コン
トロールデータC0NTはセレクタ10−12、シフタ
10−13、ノイズ回路10−14、ラッチ10−2を
介し、DバスよりRAIi15−4のレジスタC0NT
に格納される。一方、ラッチ1O−7の上位4ビツトは
デコーダ10−11に接続されているので第14表に示
す真理値表に従って16ビツトのデータが得られる。但
し、この時にデコーダ10−11のC入力はII 1 
#jとなっている。
セレクタ10−12がこのデコーダ出力をセレクトし、
シフタ1G−13が6ビツト右シフトして出力する。
ここで、このシフタ10−13の出力について考えると
、ラッチ10−7よりデコーダ10−11へ入力されて
いるデータはPlo及びORG 3ビツトである。今デ
コーダ10−11のC入力は1″であるので、デコーダ
10−11の出力はOR03ビツトのみによって定まる
故にデコーダ10−11の出力をシフタ10−13で6
ビツト右シフトした値は第18表に示した値となる。こ
の値がノイズ回路10−14、ラッチ1o−2を介して
Dバスに与えられ、 MSW2−11においてSす15
を介してRAM7−3のレジスタDIFIに格納される
次にラッチ10−4の出力に対し、ビット処理回路10
−10が下位3ビツトに対し、001、次、いで010
を与え、ヘッダデータのSTEの上位、下位の各8ビツ
トを読み出す、このSTHの値がセレクタ10−12、
シフタ10−13、ノイズ回路10−14.ラッチ10
−2を介してDバスに与えられ、 MS12−11にお
いてSv5を介してRAM7−1のレジスタEARIへ
格納される。
次にショートシーケンスに入る。ショートシーケンスは
2口実行される。タイムスロット(1)でPDRとJD
が加算されるが、ここでJDは定数でありMSW2−1
1において5V32をオンすることにより得られる。 
5V32は第11図(チ)に示すような構成になってお
り、JD=4581.となっている、この加算結果に対
してノート係数CNを掛は合わせてFRを得る。
この一連の日算を詳しく述べると、 PDR+JDがタ
イムスロット(1)で演算され、その結果が前述のとお
りタイムスロット(2)にてCバスに与えられる。、:
、: テMS+12−11において81128.511
29がオンし。
Cバス→HLバス→Lバスの順でデータが転送され、第
9図(イ)におけるMPLY2−7のラッチ9−1にラ
ッチされる。次のタイムスロット(3)において、第7
図のROM7−5よりノートデータNDに応じたCNの
値が読み出され、 HDババス与えられる。この値がM
SW2−11における5w19を介してLバスに与えら
れ、MPLY2−7のラッチ9−3にラッチされる。ラ
ッチ9−1の出力はシフタ9−11を介してラッチ9−
2へ、ラッチ9−3の出力はビット処理回路を介してラ
ッチ9−4へ送られラッチされる。故にラッチ9−2に
はPDR+ JDの値が、ラッチ9−4には、CNの値
がラッチされている0次いで乗算器9−16が(PDR
+ JD)とCNの積を算出し、シフタ9−15を介し
てラッチ9−8へ送出されラッチされる。なおこれらの
一連の動作において、シフタ9−11、ビット処理回路
9−12、シフタ9−15はデータをスルーさせるよう
に動作する。
即ちエンコーダ9−10のC入力にはtt 1 nが与
えられている。ラッチ9−8の値がLバスよりMSV2
−11の8w9を介してRAM7−2のレジスタFRに
格納される。故に、タイムスロット(2)において、O
RG+OCT+ 1が演算される。この演算において、
+1の動作は第8図のFA2−6における論理ゲート8
−12によって行われる。即ち該当のタイムスロットで
論理ゲート8−12が強制的に1”を出力すればラッチ
8−5が1”をラッチし、加算器のCi大入力パ1”を
与えるものである。この演算の意味するところは次のと
おりである。即ち:ORGは波形データが本来どの音域
に属するかを示す値(これを仮にNとする)をオクター
ブデータOCTの逆論理をとった形で示すものである。
 OCTとORGと、波形サンプル数の関係を第18表
と第22表に示す。故にORG+1は−Nを表わすこと
になる。つまり、 ORG + OCT +  1  = OCT −Nと
いうことであり、これは、現在発生しようとしている楽
音信号の音域と実際に使用しようとしている波形データ
の本来の音域との差、即ちオクターブシフトの量を示す
値である。つまり、原波形を何オクターブ高い音域の音
として読み出すかを示す、この値は一旦RAM7−4の
レジスタVE2に格納され、次いで、信号処理器7−6
でデコードされてRAM7−2のレジスタΔすARに格
納される。 ORG+OCT+1の値に対するΔIIA
Rの値は第20表に示すとおりである。
以下、タイムスロット(4)でEAR2,同(6)、 
(8)。
(9)、 (10)テwR1,ERI、 1IE2. 
WEI、 llR2の各レジスタの初期設定を行ってい
る。
一方データバンク読み出し部においては、前述のロング
シーケンスでRAM7−3に格納したヘッダアドレスデ
ータ)IADを読み出し、Dバス→ラッチ10−1→シ
フタセレクタ10−9を介してラッチ10−4にラッチ
し、ビット処理回路10−10で下位3ビツトに001
を入力してデータバンクよりヘッダデータのΔSTEを
読み出す、この値はラッチ10−7→セレクタ10−1
2→シフタ10−13→ノイズ回路10−14→ラッチ
10−2を介してDバスへ与えられ、MSW2−11に
おいて81126.5W30を介してAバスへ入力され
てFA2−6にてEARIと加算される。次いでRAM
7−1のレジスタEARLに格納しである5TE(エン
ベロープデータEl’のスタートアドレス)が読み出さ
れ、Dバス→ラッチ10−1→シフタセレクタ10−9
を介してラッチ10−4にラッチされる。ラッチ10−
4の出力はビット処理回路10−10によってLSBに
It O23次いでII I IIが入力されて、第1
9表に示されているとおりの2バイトのエンベロープデ
ータを読み出す、この値16ビツトがラッチ10−7に
ラッチされる。ラッチ10−7の出力に従って、初回の
ショートシーケンスでΔTl。
ΔEl、ΔZ1.2回目のショートシーケンスでΔT2
゜ΔE2.ΔZ2.の値を発生する。先ず、デコーダ1
o−iiにはラッチ10−7の上位4ビツトが入力され
ているが、ラッチ10−7の上位4ビツトには第19表
に示すところの4丁の値が入っている。故にデコーダ1
0−11は4丁を第13表に従ってデコードし、セレク
タ10−12へ出力する。セレクタ10−12において
は、この時C=1となってS入力を選択しシフタ10−
13へ出力する。このセレクタ10−12出力はシフタ
10−13、ノイズ回路10−14においては何らビッ
ト操作が行われることなくラッチ10−2を介してDバ
スに与えられ、MS+12(1において5VIO,HB
ババス介してRAM7−2のレジスタΔT1に格納され
る。
ΔE1.ΔZl、ΔE2. AZ2は、第19表に示さ
れるところのZ、S、DATAに応じてシフタ10−1
3にてビット操作が行われて各レジスタへ格納される。
どのようなビット操作が行われるかについては第13図
に示すとおりである。第19表における2の値に応じて
、データフォーマットが異なる事を示している。
次に、データバンク1−6よりΔSTHを読み出す時と
同様にRAM7−3よりレジスタHADの値を読み出し
てラッチ10−4にラッチし、ビット処理回路10−1
0にでヘッダアドレスデータHADの下位3ビツトに対
し初回のイニシャルモードでは1009次いで101゜
2回目のイニシャルモードでは1101次いで111を
与えることによりデータバンク1−6よりsrw 。
ΔSTVを読み出し、STLt−RAM?−3(7) 
L/ジスタSTW 。
681wをRAM?−1のレジスタリARに格納する。
以上により、すべてのレジスタの初期設定が完了する。
(2)  ノートクロックの発生方法 先ず楽音発生部1−5で用いているノートクロック発生
法の原理について第3図とともに説明する。
第3図において、3−1は分局器であり端子CKに入力
されているマスタクロックを分周し、10ビツトの分局
出力をQより出力する。3−2は比較器で、八人力及び
S入力の比較を行い、A=8となった時にQより1”を
出力する。3−3はフリップフロップであり、GK大入
力立上りでS入力に与えられた信号をとり込みQより出
力する。3−4は加算器であり、A入力とS入力の和を
Cより出力する。
3−5は加算器3−4のS入力に対して定数Mを入力す
る定数回路である。3−6はRSランチであり、S入力
に正のパルスが入るとQ=1となり、R入力に正のパル
スが入るとQ=Oとなる。3−7はディレィ回路であり
、入力信号を遅延させて出力する。
3−8はANDゲートである。
次に第3図の動作を説明する。まず、RSラッチ3−6
のC出力が10”であるとすると、ANDゲート3−8
の出力は常時″′0”であるのでフリップフロップ3−
3のC出力は一定である。一方分局器はマスタクロック
の分周より、0001.から3FF1.をくり返す10
ビツトのQを出力する。仮にフリップフロップ3−3の
出力がNであったとすると、当然000、、≦N≦3F
Fi、であるので必ずいつか分周器3−1のQ出力=N
となる瞬間が存在し、この時は比較器3−2のC出力よ
り一致パルスが出力される。
すると、この一致パルスRSラッチ3−6のS入力に入
っているためにRSラッチ3−6のC出力は61”とな
り書き込みパルスがANDゲート3−8より出力される
。フリップフロップ3−3のS入力には加算器3−4の
C出力が与えられているのでN+Mの値が書き込まれる
。と同時に、書き込みパルスはディレィ回路3−7で遅
延された後RSラッチ3−6のC出力を0”にする。こ
のため、再びフリッププロップ3−3のC出力は一定と
なるが、値はNからN+Mに変化している。故に次は分
周器3−1のC出力がN+Mになった時に一致パルスを
発生することになる。これをくり返すことにより、比較
器3−2は分局器3−1の出力値がN、N+M、N+2
M・・・・・・どなった時にパルスを発生する。つまり
分局器3−1がマスタクロックをM回カウントするごと
に一致パルスを発生することになる。また、 N + nM > 3FF、 、となる場合においては
、加算器3−4の出力はオーバフローの後N +nM−
3FF1.となるためにやはりマスタクロックをM回カ
ウントした時に一致パルスが発生されることは言うまで
もない、つまり、この比較器3−2の一致パルスをノー
トクロックとし、定数Mを変化させれば種々の周期のノ
ートクロックが得られることになり、その周波数は(マ
スタクロックの周波数)÷Mとなる。
また、SRラッチ3−6のQ出力が計算要求フラグCL
RQに相当する。
以上が本発明におけるノートクロック発生法の原理であ
る。
次に、第1図に示す楽音発生部l−5におけるノートク
ロックの発生の演算シーケンスの詳細について説明する
鍵盤1−1にて鍵が押圧され、マイコン1−4が楽音発
生部1−5に対して楽音の発生を指示すると、前述のよ
うに演算シーケンスがイニシャルモードロングシーケン
スより開始する。先ずタイムスロット(13)で、 PDD + PED −) PDR・・・・・・(2−
1)次いで、ショートシーケンスに入りタイムスロット
(1)・・・(6)で PDR+ JD 4 L、B、         ・・
・・・・(2−2)C,B、 XCN 4 FR・・・
・・・(2−3)の演算が行われる0次いでノーマルモ
ードになり、ショートシーケンスのタイムスロット(9
)でFR+ CDR→FR・・・・・・(2−4)ロン
グシーケンスのタイムスロット(14)〜(18)でP
DR+ JD −) L、B、         ・・
・・・・(2−5)C,B、 X CN−4FR・・・
・・・(2−6)PDD + PED 4 PDR・・
・・・・(2−7)の演算が行われる。ここで、PDD
は第1表に示したPDD即ちピッチデチューンデータで
あり、PHDは前述のピッチエクステントデータである
。JDは定数であり11151゜(16進数では45B
)といさ値がセットしである。ノート係数CNはアサイ
ンされた音名により定まる値であり、音名とCNの関係
は第7表に示しである。第5表、第6表の説明にて述べ
たとおり、演算(2−2)、 (2−3)及び演算(2
−5)、 (2−6)は下式のとおりに表せる。
(PDR+ JD) X CN −+ FR・・・・・
・(2−8)ここで、PDRはPDD + PEDであ
るので演算(2−8)は、(PDD + PED + 
JD) X CN−4FR・・・・・・(2−9)とな
る、このFRの値を演算(2−4)で示すようにCDH
に累算する。前述のようにこの累算はノートクロックが
発生するごとに一回行われる。故にCDHの初期値をN
とすると、CDHの値はN、N+、FR。
N+2XFR,・・・・・・と変化する。このCDHの
上位10ビツトの値とマスタクロツタを順次分周して得
た10ビツトの分局信号とを比較し、一致パルスを発生
するようにしているので、実際には、を行うことになり
、 CDHの上位10ビツトが第3R 図のフリップフロップ3−3に相当し、■が第3図の定
数回路3−5の値Mに相当する。故に上記(2−1)〜
(2−7)の演算を行えば一定周期のノートクロックが
得られ、その周波数は (マスタクロック周波数)÷■となる。
(3)波形発生方法 第1図楽音発生部1−5に示すところの波形発生方法は
大別して次の5ステツプに分けられる。即ち: ■ アドレス発生 データバンク1−6より波形データを読み出す際のアド
レスを発生させる。
■ 波形読み出し 上記のアドレスで指定された波形データをデータバンク
1−6より読み出し、コントロールデータC0NTに応
じたビット処理を行う。
■ エンベロープ乗算 ■ 2波混合 ■ CN乗算 以下各ステップを詳しく説明する。
■ アドレス発生 押鍵によるイニシャル設定にてヘッダーデータのSTl
il(w2(7) X 9−ドアドレス)、ΔSTW 
(vl(71’7−ド数)、DIFI(1波形に含まれ
るサンプル数)がレジスタSTw、 WAR,DIFI
に格納され、また演算によってレジスタΔWARが定ま
る。これらのデータに基づきノーマルモードにてアドレ
ス発生を行うわけであるが、以下の処理において波形デ
ータにPCM部がある場合(PCM部1)とない場合(
PCM=O)でアドレス発生が異なるのでPCM部があ
る場合とPCMがない場合に分けて説明する。
匹I旧む1囮1倉 第6表に示すとおり、タイムスロット(2)にて、ST
WとMARの和を求め、この和でもってデータバンク1
−6から波形1の読み出しを行い、タイムスロット(4
)にて上記の和に更にDIFIを加えたもの即ちSTV
 + WAR+ DIFI(7)値でデータバンク1−
6から波形2の読み出しを行っている。ここで、STW
は波形2の先頭アドレスであり、レジスタWARには初
期値としてΔSTW即ち波形1に含まれるワード数の負
数が入っており、タイムスロット(7)にてΔWARを
累算していく。故に5TIil + l1lARの値は
、波形1の先頭アドレスより順次ΔWARの値ごとに増
加する値となる。また、ST+IIAR+DIF1の値
はこの値に[)IFLを加えたものであるので、波形2
の先頭アドレスよりΔWARおきに増加する値となる。
ここで、ΔvARは、波形の読みとばしを表わす値であ
るので、以上のようにして波形1及び波形2に対するア
ドレスを発生することができる。
また、本発音発生部1−5においては、 PCM部が無
しで、且つソロフラグ5QL=Oで且つオクターブシフ
トが行われない場合に位相合わせを行う0位相合わせの
方法は、演算シーケンスがイニシャルモードからノーマ
ルモードに転じた時の初回のタイムスロット(7)に演
算結果としてRAM8−13における同音名をアドレス
とするデータ9ビツトをレジスタWARに格納する。R
AM8−13の出力は9ビツトであるが、Cバスはプリ
チャージされているので全16ビツトの前述の9ビツト
より上位7ビツトには”1″が入る。2回目以降のタイ
ムスロット(7)の演算結果は、第6表に示すとおりレ
ジスタMARに格納されるとともにRAM8−13にお
ける同音名をアドレスとするレジスタ(位相レジスタ)
に更新される。このようにすることにより、他のチャン
ネルで同音名の楽音を既に発生している場合であっても
、そのチャンネルにおけるレジスタWARの値がRAM
8−13を介してこれから楽音を発生しようとしている
チャンネルのレジスタWARに与えられるためにこれら
2チャンネル間での位相を合わせることが可能となる。
ここで、タイムスロット(7)の演算1i1AR+ΔW
ARについて述べる。
WAR+Δ1ilAR≧Oとなると音域とは無関係に演
算結果としてCバスには−512,+1(FFOOl、
)が与えられる。オクターブシフトが無い場合はΔIA
R=1であるので、レジスタl1lARの値は512を
周期としてくり返すことになる。
以上により同じノートを発生する複数チャンネルの各々
のレジスタwARは常に同一となるので、異なる複数チ
ャンネルの発生する同じノートの波形の位相が完全に一
致することとなり、位相合わせが実現される。
秋にタイムスロット(2)における演算STW+υAR
を更に詳しく説明する。
RAM?−3のレジスタ5TIilよりデータが読み出
され、MSV2−11ニ示すとコロ(7)HCバス、5
w11、Aバスを介しクロックψ3によりFA2−6の
ラッチ8−1にラッチされる。同時にRAM?−1のレ
ジスタWARの値がHAババスSW2、Bパスを介しク
ロックψ3によりFA2−6のラッチ8−2にラッチさ
れる。ラッチ8−1の出力は、ビット処理回路8−10
では何らのビット処理を受けずにクロックψ1によって
ラッチ8−3にラッチされる。一方、ラッチ8−2の出
力は、ビット処理回路8−11においてORGを入力と
して第21表に示すとおりのビット処理が行われた後ク
ロックψ1でラッチ8−4にラッチされる。加算器8−
9がラッチ8−3、ラッチ8−4の出力を加算し、ラッ
チ8−7、ラッチ8−8を介してCパスへ与えられる。
ビット処理回路8−11において上記のようなビット処
理を行うことにより、レジスタWARが512を周期と
して変化しているにもかかわらず、各オクターブに応じ
た周期で変化していくことになる。例えば、0RG= 
5 、0CT= 2の場合はオクターブシフトはなくイ
ニシャル処理の項で述べたとおりΔVAR=1である。
また第21表より、レジスタWARのビット7.8が常
に1になるので、タイムスロット(2)の演算結果は仮
にs丁w’ = oとすると−10,−9,・・・−1
,−128,−127,・・・−1,−128・・・ となって128の周期でくり返すことになる。また、0
RG=4.0CT=5の場合は2オクターブシフトとな
りΔ1IAR=4となる。また第21表によりレジスタ
WARのビット6.7,8が常に1になるので同様に −40,・・・−8,−4,−64,−60,−56・
・・−4,−64,・・・ となって16の周期でくり返すことになる。
0CT=2の時くり返し周期が128であり、0CT=
5の時くり返し周期が16であることは、第22表によ
り所望の波形ポイントが得られていることを示している
また0RG= 4 、0CT= 5の際、レジスタ1i
lARが4ずつ歩進していることは、第18表に示され
る通り波形サンプル数64のデータを4サンプルに1点
ずつ得ることにより本来の波形データのオクターブを2
オクターブ上げることができることを示している。
匹見附11−11企 PCM部がある場合のアドレス゛発生はPCM部がない
場合と比較してタイムスロット(2)における演算が異
なり、他は同様である。
タイムスロット(2)においてはSTR+ wARの演
算が行われる。即ち: RAM7−3のレジスタSTVよりデータが読み出され
HCバス、5WII、Aバスを介してクロックψ3によ
りFA2−6のラッチ8−1にラッチされる。同時に、
RAM?−1ノ17ジスタWARの値がHAババスSV
2、Bバスを介してFA2−6のラッチ8−2にラッチ
される。ここで、ラッチ8−1の出力はビット処理回路
8−10、ラッチ8−2の出力はビット処理回路8−1
1に入力されるが双方の出力ともビット処理を行われる
ことなくラッチ8−3、ラッチ8−4へ送られ、加算器
8−9にて加算される。
ここで、レジスタwARの値についで考えると、PCM
部がない場合にはレジスタWARには初期値として波形
−周期に含まれるサンプル数の負数が書き込まれるが、
PCM部がある場合には、レジスタMARの初期値とし
てPCM部として用いる波形のすべてのサンプル数の負
数が書き込まれる。故に、タイムスロット(2)の演算
結果はデータバンク1−6における波形1のPCM部先
頭アドレスから順次AWARずつ増加した値となる。P
CM部終了の検出はタイムスロット(7)における演算
において WAR+ΔWAR≧0となることを検出して行い、PC
に部終了後のアドレス発生はPCM部がない場合と全く
同じであり、ビット処理回路8−11によるビット処理
が行われる。
なお、楽音発生部1−5におけるアドレス演算は16ビ
ツトであるが、16ビツトのアドレス信号では充分でな
い場合が当然考えられる。そこで1本楽音発生部1−5
においては、タブレットデータTABの上位3ビツトを
用いてアドレス空間が拡張できるようになっている。 
Ilo 2−10におけるラッチ10−3がアドレス空
間拡張用のラッチであり、ラッチ10−3にタブレット
データTABの上位3ビツトがラッチされる。即ち: 押鍵によりイニシャルモードになると、RAM5−4に
格納されたタブレットデータがMSV2−11を介して
RAM7−3のレジスタTAB’に格納される。次いで
ノーマルモードに入ると、RAM7−3のレジスタTA
B’の値が読み出され、MSV 2−11を介してIl
o 2−10におけるラッチ10−3にラッチされる。
このようにして内部演算は16ビツトでありながら19
ビツトのアドレス空間をアクセスすることができる。
■ 波形読み出し 波形読み出しはタイムスロット(2)、 (4)にて行
われたアドレスに基づいて行われる。タイムスロット(
2)による演算結果はCバス、5V28、HLババス5
W30. Dバスを介しテI102−10のラッチ10
−1にラッチされる。まず、ラッチ10−1の出力がシ
フタセレクタ10−9.ラツチ10−4、ビット処理回
路10−10を介してラッチ10−5にラッチされてラ
ッチ10−3によるデータとともにデータバンク1−6
を読み出し、データバンク1−6の出力がラッチ10−
8にラッチされる。次いで、ラッチ10−1の出力がシ
フタセレクタ10−9にて1ビツト右シフトされ、 M
SBに11”が加えられてラッチ10−4でラッチされ
る。ラッチ10−4の出力がビット処理回路10−10
を介してラッチ10−5にラッチされ、ラッチ10−3
によるデータとともにデータバンク1−6を読み出し、
データバンク1−6の出力がラッチ10−7にラッチさ
れる。この時ラッチ10−7の上位8ビツトにはラッチ
10−8の出力が与えられているので、前回のデータバ
ンク1−6の値とともにラッチされる。ここで、ラッチ
10−7の下位8ビツトにラッチされたデータは、デー
タバンクの項で述べたとおり12ビツト波形の下位4ビ
ツト2ワード分に相当する6ラツチ1o−7の出力はセ
レクタ10−12を介してシフタto−t:aに与えら
れ、上位8ビツトは4ビツト右にシフトされ。
ラッチ10−1の出力のLSB=Oならば下位8ビツト
も4ビツト右シフトされ、LSB=1ならば下位4ビツ
トがシフトされずにシフタ10−13より出力される。
ここで、コントロールデータC0NTにおいてv8=1
即ち8ビツト波形の指定がある場合には。
シフタ10−13は下位4ビツトをO#にして出力する
。シフタ10−13の出力はノイズ回路10−14、ラ
ッチ10−2を介してDパスに与えられ、 MSV2−
11を介してRAM7−3のレジスタwRIに格納され
る。この値が波形1の波形データである。
タイムスロット(4)によって得られたアドレスについ
ても同様の処理が行われる。ただし、コントロールデー
タC0NTにおいてNA = 00でない場合にはノイ
ズ回路10−14においてノイズ信号が加えられる。 
AN=01の時にはビット9が、NA=10の時にはビ
ット10が、NA=11の時にはビット9及びlOがノ
イズ信号におきかえられる。このようにして、加算器を
用いずにノイズ信号を重畳している。これが波形2の波
形データとしてRAM7−2のレジスタ11R2に格納
される。
■ エンベロープ乗算 上記のようにして波形1.波形2の2種類の波形データ
が得られたが、この波形データに対してエンベロープの
乗算を行う、波形1に対するエンベロープはRAM7−
3のレジスタERIに、波形2に対するエンベロープは
RAM7−3のレジスタER2に入っている。ここで、
エンベロープについて述べると。
エンベロープは指数部4ビツト仮数部9ビットの13ビ
ット浮動小数点表示になっている。エンベロープ乗算は
各チャンネル2回行われるがそれぞれの動作は同様であ
るので、タイムスロット(7)〜(9)におけるWRI
XERIの演算について説明する。
RAM7−3のレジスタERI(7)データがMS+1
2−11を介してMPLY2−7のラッチ9−3及びラ
ッチ9−5にラッチされる。ここで、ラッチ9−3には
レジスタERIの下位lOビットが、ラッチ9−5には
レジスタERIのビット9−12がラッチされる。次い
でRAM7−3のレジスタvRI(7)データがMSV
2−11を介しテMPLY2−7(71ラッチ9−1に
ラッチされる。ラッチ9−3の出力はビット処理回路9
−12においてそのMSBが1″にされてラッチ9−4
にラッチされる。即ち、ラッチ9−4にはエンベロープ
の仮定部がラッチされる。ラッチ9−1の出力はシフタ
9−11を介してラッチ9−2にラッチされる。この際
エンコーダ9−10のC入力にはSQ倍信号よって1が
与えられており、シフタ9−11のC入力には0000
1が与えられる。故にシフタ9−11はラッチ9−1の
下位12ビット即ちデータバンク1−6より読み出した
波形1の波形データ12ビツトをラッチ9−2へ送出す
る。乗算器9−16がラッチ9−2及びラッチ9−4の
データの乗算を行い、積14ビットがラッチ9−7にラ
ッチされ、シフタ9−15へ送出される。
一方、ラッチ9−5にはエンベロープの指数部がラッチ
されており、ラッチ9−6を介してデゴーダ9−13に
てデコードされ、セレクタ9−14を介してシフタ9−
15に制御信号として与えられる。故に、ラッチ9−7
の出力はエンベロープの指数部によってシフトされ、ラ
ッチ9−8にてラッチされる。このようにして、固定小
数点の波形データと浮動小数点のエンベロープの乗算が
行われる。ラッチ9−8の出力はLバスよりMS12−
11を介してRAM7−1のレジスタvE1に格納され
る。波形2の波形データとエンベロープの乗算も同様に
して行われRAM7−4のレジスタリE2に格納される
■ 2波混合 上記のようにして、レジスタVEI、 VB2に波形が
格納された。このステップでは111!1と%lE+2
の和を求める。タイムスロット(1)における演算がこ
れに相当する。
■ CN乗算 タイムスロット(1)で2波混合を行うが1本楽音発生
部1−5においては、 ABM2−9及びフィルタ1−
7の特性によっては音名に応じて発生される音圧レベル
が異なる場合がある。このための補正を行うのがCN乗
算である。ここでは補正の為の係数としてノート係数C
Nをそのまま用いている。タイムスロット(1)におけ
るVB2 + IIEIの演算結果が、Cバスより31
2g、HLババス5ll129、Lバスを介してに円、
Y2−7のラッチ9−1にラッチされる。一方メモリ2
−5のROM?−5よりノートデータNDに応じてノー
ト係数CNが読み出され、 HDババス5V24. L
バスを介してMPLY2−7のラッチ9−3にラッチさ
れる。
ここで、V!l(1+ IIE2は16ビツトのデータ
であるが乗算器9−16のA入力は12ビツトであるの
でMPLY2−7では次のような処理を行っている。即
ち、ラッチ9−1の上位5ビツトがエンコーダ9−10
に入力され、エンコーダ9−10が第9表に示すとおり
のデータをA、8両端子より出力する。つまり、ラッチ
9−1におけるデータが実質何ビットであるかを求め、
この結果に応じてシフタ9−11によってラッチ9−1
より12ビツトをとり出す。例えば、ラッチ9−1の値
が3A261.の場合は、このデータは実質15ビツト
のデータであるのでシフタ9−11はラッチ9−1のビ
ット14以下の12ビツトをとり出し、シフタ9−11
の出力は744□6となる。このようにして11E2+
wE1の実質の部分とノート係数との乗算を行い、シフ
タ9−15によって元のビット数にもどし、ラッチ9−
9でラッチする。
以上のようにして少ないビット数の乗算器を用いて大き
なビット数のデータの乗算を行っている。
このようにして得られた値をDAC2−8へ出力し、A
BM2−9で所定の周期に補正されて楽音信号として出
力される。
ところで、本楽音発生部1−5においては、先に述べた
ようにマイコンの指示により第1表のフラグVOLによ
り、CN乗算をVLD乗算に切換えることができる。即
ち、ロングシーケンスにおいて、RAM5−6のレジス
タVLD 8ビツトが、MSす2−11を介してRAM
7−4のレジスタLVD’に送られる。送出の際にMS
V2−11においてビットシフトがなされ、8ビツトの
データを2ビツト左シフトし更に下位2ビツトにtt 
Onを追加し、10ビツトのデータに変換される。この
ことによりVLDのビット数はCNのビット数と同一と
なる。 111E2+%lE1の値ニROM7−5(7
)値を掛けるか、レジスタVLD’の値を掛は合わせる
かは第1表におけるフラグVOLで決まり、VOL=O
ならばROM7−5がHDバスニデータを送出し、VO
L=1ならばRAM7−4が80バスにデータを送出す
る。
上記のように構成することにより、マイコン1−4によ
って楽音発生部1−5の出力する楽音信号のレベルを変
えることが可能となり、第1表のVLDの値を順次変え
ることにより振幅変調をかけることが可能となる。
鍵盤を押下する速さと圧力の少なくとも一方に基づきV
LDを作成すると、タッチレスポンス機能が実現する。
タッチレスポンス機能とは鍵盤の操作の速さ・強さ等に
よって音量・音色等が変化することである。例えばピア
ノは、強く打鍵すると音量が大きいだけでなく音色も華
やかなものになり、弱く打鍵すると音量が小さいだけで
なく音色もこもったものとなる。打鍵の強さに応じて音
量も音色も自在に変化するが、ピアノの場合は打鍵の後
、鍵盤を押す強さを変化させても、減衰しつつある音質
には変化を加えることができない。このようにピアノは
打鍵の強さのみがタッチレスポンス機能となっていて、
このような機能を特にイニシャルタッチコントロールと
呼ぶ。一般に打楽器がこれに属する。
一方、トランペットは息の強さにより持続している音質
をも変化することができるので、この音を模倣して電子
楽器の鍵盤操作で演奏する場合も。
押鍵によりトランペット音を発生中に押鍵の強さを増減
することで音量・音色に変化を与えることが必要となる
。このような機能を特にアフタータッチコントロールと
呼ぶ、一般に、・弦楽器と管楽器がこれに属する。
本発明の実施例では先に述べたように、VOLフラグに
よりVLD乗算を行うことにより、各チャンネル独立に
音量を制御することができる。
応用例として、打鍵の強さを計測して、強さに応じてV
LDの値を作成してマイコンから転送することにより、
打鍵毎に転送された異なるVLDに応じて各音の音量が
変化することになる。
マイコンがVLDを転送する際、VLDの値に応じてタ
ブレットデータを切換えて転送すると、本実施例の楽音
発生部はVLDの値に応じて音量と共に音色をも変化さ
せられることは、先に掲げた機能説明で明らかである。
この音色の切換について、VLDが8ビツトの例で説明
する。
第23表に、 VLDの値の範囲と、それに対応する強
弱名とタブレット名の一例を示す。
VLDが1ビット小さくなる毎に、音量は172つまり
6dB小さくなり、これを音楽用語の強弱名の各々に割
当てである。またffの強さには華やかな音色が必要な
ので高調波の豊富な波形データをタブレット0に割当て
、mpより小さい音量ではこもった音色が必要なので正
弦波に近い波形データをタブレット3に割当てるように
、複数種類の波形データをデータバンクに準備しておく
このようにすると、打鍵の強さによってVLDの数値範
囲で音色が4通り切換えられると同時に8ビツトのVL
Dに応じて256通りの音量が指定できる。
以上はイニシャルタッチコントロールであったが、同様
に打鍵後の押鍵圧の大小に応じて、刻々と変化するVL
Dと、VLDの値に応じて刻々と変化するタブレットデ
ータとをマイコンが送出すると。
本実施例の楽音発生部は打鍵後の押鍵圧の変化に応じて
刻々と、音色と音量とを変化させることができる。
以上がアフタータッチコントロールである。
(4)  エンベロープ発生方法 楽音発生部1−5におけるエンベロープの発生方法は次
の3ステツプに分けられる。即ち。
■ アドレス発生 ■ エンベロープデータの読み出し ■ エンベロープ計算 以下各ステップを詳しく説明する。
■ アドレス発生 押鍵によるイニシャル設定にて、ヘッダデータのSTE
 (エンベロープデータEl’のスタートアドレス)、
ΔSTE (エンベロープデータE1″のワード数)に
基づいてレジスタEARL、 EARL、 TRI、 
TR2゜ΔTl、ΔT2が初期設定されている。これら
のデータをもとにアドレスの演算が行われる。アドレス
の演算は演□算頻度が少なくてもよいので演算シーケン
スのロングシーケンスにて行っている。更に、ロングシ
ーケンスの奇数回目でエンベロープデータE1′のアド
レス演算を、偶数回目でエンベロープデータE2’のア
ドレス演算を行っている。
奇数回目のロングシーケンスにおいて、タイムスロット
(13)で ΔTl + TRI→TRI        ・・・・
・・(4−1)タイムスロット(15)で ΔEARI + EARI +Ci −4EARL  
 ・・・・・・(4−2)の演算が行われEARIの値
を用いてデータバンク1−6の読み出しを行う6タイム
スロツト(15)のCiはタイムスロット(13)にて
行われるΔT1の累算によって生じたオーバーフローに
当る。ここで演算(4−1)を詳しく説明する。
先ず、 RAM7−2のレジスタΔT1の値がHBババ
スMSW2−11を介り、テFA2−677)ラッチ8
−1ニラツチされる。同時に、 RAM7−3のレジス
タTRIの値がHCバス、MSW2−11を介しテFA
2−6ノラツチ8−2ニラッチされる。ラッチ8−1の
出力はビット処理回路8−10によってビット3が強制
的に0″にされ(ビット3を110”にする理由は後で
述べる。)、ラッチ8−3でラッチされる。ラッチ8−
2の出力はビット処理回路8−11を介してラッチ8−
4でラッチされる。ここでビット処理回路8−11にお
いてはビットの変換等の処理は施されない。ラッチ8−
3及びラッチ8−4の出力を加算器8−9にて加算し、
ラッチ8−7、ラッチ8−8を介してCバスに与え、M
Sw2−11 ヲ介L テRAM7−3のレジスタTR
Iに加算結果を格納する。ここで加算結果にオーバーフ
ローが生じた場合は、加算器8−9のCoより°゛1″
が出力される。この出力をラッチ8−6にてラッチし、
タイムスロット15の演算の際に使用する。但し、これ
は波形データにPCM部がない場合についてであり、波
形データにPCM部がある場合(フラグPCM=1)に
はPCM部を読み終えるまでレジスタTRIに対し演算
結果として強制的にtt Ottが入力される。故にΔ
T1の累算によるオーバーフローが生じることがない為
PCMを読み終えるまではEARIの値が更新されるこ
とはない。
ΔT1はイニシャル処理の項で述べたとおり第13表に
おけるC=0時のD出力の値であり、レジスタTRIは
16ビツトのレジスタであるので1例えばΔT1=40
00..であれば演算(4−1)は4回行われるとレジ
スタTRIはオーバーフローし、演算(4−2)のC1
=1となりアドレスの更新が行われる。ここで、演算(
4−1)、 (4−2)はロングシーケンスの2回に1
回行われる。第1図(ハ)で示すとおり、同じチャンネ
ルのロングシーケンスは388タイムスロツトの周期、
即ち1タイムスロツトは250nsであるので97μs
の周期に現われる。故に演算(4−1)、 (4−2)
は194μs毎に行われ、Δrt=4ooo、、である
場合には776μSでアドレスの更新が行われることに
なる。
ところで、エンベロープデータは2バイトで構成されて
いるので、アドレスの更新の際は2ずつ更新されなけれ
ばならない、タイムスロット(15)においては次のよ
うにしてアドレスの更新を行っている。
先ず、ΔEAR1はΔT1によって定まる値であり、Δ
T1≠00081.の時にはΔEAR1=00001.
であり。
ΔT1=00081.の時にはΔEARI冨FFEB、
、 = −211゜である。この操作はMSW2−11
における5V31にて行われる。5131は第11図(
す)に示すjうになっており、ΔT1のビット3の値を
示すフラグToによって制御している。今仮にΔT1≠
00081.とすると、 5V31によりAバスにoo
ool、が、 RAM7−1のレジスタEARLよすH
AババスMSW2−11(7)SW2を介り、テBバス
ニEARI(7)値が与えられる。これらの値がFA2
−6のラッチ8−1゜ラッチ8−2にラッチされる。ラ
ッチ8−1の出力はビット処理回路8−10を介してラ
ッチ8−3へ送られる。
ここで、ビット処理回路8−10ではデータの変換は行
われないようになっている。同時に、ラッチ8−2の出
力はビット処理回路8−11に与えられ、データのLS
Bが強制的に1”にされてラッチ8−4へ送られる。即
ちビット処理回路8−11にて予め1が加えられる。ま
た、先に述べたラッチ8−6に格納されている演算(4
−1)によるオーバーフローがラッチ8−5にラッチさ
れる。故にラッチ8−3.ラッチ8−4及びラッチ8−
5の値の加算を行うと、ラッチ8−5の値が1”であれ
ばEARLの値に2”が加えられることになる。一方、
ラッチ8−5の値がパ0”の場合はEARIの値は1増
加されたままとなるが、イニシャル処理の項で述べたよ
うに、 Ilo 2−10においてLSBに強制的に@
Qjj、Ill”を与えるので不都合は生じない。
ところでΔT1=00081.の場合には、ΔEARL
がFFEBlll(−21□。)となる。故にEARI
の値から21□。引かれることになり、10ワード前の
エンベロープデータが読まれることになる。これにより
、エンベロープデータのアドレスがループすることにな
り、マンドリンのようなくり返しエンベロープを発生す
ることができる。先に演算(4−1)にて、ビット処理
回路8−10にてビット3をパ0”にすると述べたが、
その理由はビット3がΔEARI”−FFEBtsとす
るビットであり、この演算を行う際にレジスタTRIに
0008□6を加えないようにする為である。
ロングシーケンスの偶数回目におけるΔT2゜TR2,
ΔEAR2,EAR2の演算も同様にして、行われる。
なお、 EARI、 EAR2に関する演算は全く独立
に行われる為、波形1.波形2に対して全く異なったエ
ンベロープ信号を発生させることができるのは言うまで
もない、また、EAR1又はEAR2のくり返しについ
てもくり返しの周期を異ならしめることが容易であるの
で種々の効果を得ることができる。
■ エンベロープデータの読み出し エンベロープデータの読み出しはロングシーケンスにお
いて行い、偶数回目に波形1のエンベロープデータを、
奇数回目に波形2のエンベロープデータの読み出しを行
う。
0        レジスタEARI、 EAR2の値
に基づいて行うエンベロープデータの読み出し方につい
てはイニシャル処理の項で述べたものと全く同じであり
、l102−10にてデータバンク1−6より読みとっ
たデータのフォーマット変換を行いながらレジスタΔτ
l。
Ar1.ΔZl、ΔZ2.ΔEl、ΔE2に格納しテい
く。
■ エンベロープ計算 エンベロープデータの読み出しにより、AZI。
ΔZ2.ΔEl、ΔE2にデータが格納されており、ま
たイニシャル処理によりERI、 ERl、 ZRI、
 ZR2ニ初期値が与えられている。これらの値に応じ
てエンベロープ計算を行う。
エンベロープ計算の基本は加算部のタイムスロット(3
)、 (5)、 (6)、 (8)である、タイムスロ
ット(3)、 (5)によって波形1のエンベロープを
計算し、タイムスロット(6)、 (8)によって波形
2のエンベロープを計算する。ここで、タイムスロット
(5)。
(8)のCiはタイムスロット(3)、 (6)による
演算で生じたオーバーフローであるが、タイムスロット
(3)、 (6)にて生じたオーバーフローがどのよう
にしてタイムスロット(5)、 (8)で加えられるか
については、アドレス発生のタイムスロット(13)。
(15)で述べたものと同様である。このようにして得
られたERI、 ERlの値がエンベロープデータであ
る。
なお、′(3)波形発生方法”の°゛■■エンベロープ
乗算項で述べたとおり、 ERI、 ERZとも13ビ
ツトのデータで上位4ビツトが指数部、下位9ビツトが
仮数部となっている。故に本楽音発生部1−5にて得ら
れるエンベロープは次に示される形となる。
エンベ叶プ1 = 1.(ERIの下位9ビツト)×2
(ERlの上位4ビ′ト)エンベロープ2 = 1.(
皿2の下位9ビツト)×2(ERlの上位4ビ7ト)こ
のように示されるため、エンベロープのレベルとは無関
係に常に9ビツトの分解能を有することになる。
ところで、エンベロープ計算は各種モードによって異な
る。各種モードとは。
■) 波形がPCMを有する場合と有しない場合。
(PCM = l10) 2) ピアノ型エンベロープの場合とオルガン型エンベ
ロープの場合、 (P10=110)3) ダンパフラ
グをオンした場合とオフした場合、 (DMP=110
) の3種である。以下側々の場合について説明する。
PCM=OかつP10=0 初期設定はERI、 ERl、 ZRI、 ZR2とも
0”であり、鍵が押圧されている時はレジスタΔE1.
.Δl1i2゜ΔZl、Δz2の値に従ってエンベロー
プの演算を行う、鍵が離されると、タイムスロット(3
)、 (5)。
(6)、 (8)+7)AZI、 AEI、ΔZ2.Δ
E2の値として、UCIF2−3の信号処理器5−6よ
りリリースデータが発生され、レジスタΔZl、ΔEl
、ΔZ2.ΔE2の値のかわりに用いられる。
なお、このモードにおいてはダンパフラグDMPによっ
て演算は何ら影響はされない。
PCM=OかつP10=1 初期設定はERI、 ERl、 ZRI、 ZR2とも
’o”であり、鍵が押圧されている時はレジスタΔEl
、ΔE2゜ΔZl、ΔZ2の値に従ってエンベロープの
演算を行う、鍵が離されると、ダンパフラグDMP=1
の場合は引き続きレジスタΔEl、ΔE2.ΔZl、Δ
22(7)値に従ってエンベロープの演算を行い、ダン
パフラグDMP= O(7)時はPCM;OかっP10
=oの場合と同じである。
PCM=1かつP10=0 初期設定は、FAI = IFFF、、 、 ER2=
、 0 、 ZRI = O。
ZR2=Oである。鍵が押圧されており、波形1がPC
M部を読み出している時は初期値が保持され。
PCM部を読み終えると、レジスタΔEl、ΔE2゜Δ
Zl、ΔZ2の値に従ってエンベロープの演算を行う、
鍵が離されると、波形1がPCM部を読み出しているい
ないに関係なく UCIF2−3の信号処理器5−6に
よるリリースデータに基づいて演算が行われる。
即ちPCM=OかつP10=Oの場合に帰着する。
なお、このモードにおいてはダンパフラグDMPによっ
て演算は何ら影響を受けない。
PCM=1かつP10=1 初期設定は、ER1=lFFF1. 、 ER2= O
、ZR1= O。
ZR2=Oである。ダンパフラグDMP=Oの場合は、
1度鍵が押圧されると離鍵のタイミングには無関係に演
算が行われる。即ち、波形1がPCM部を読み出してい
る時にはレジスタERI、 ER2,ZRI、 ZR2
は初期値が保持され、PCM部を読み終えるとレジスタ
ΔEl、ΔE2.ΔZl、ΔZ2の値に従って演算が開
始される。ダンパフラグDMP=1の場合は、PCM=
1かっP10=Oの場合と全く同じである。
以上述べたように、種々のモードに応じて自由にエンベ
ロープ信号を発生することができる。また、ΔEl、Δ
Z1とΔE2.Δz2は全く独立に設定でき、そのデー
タはアドレス発生の項にて明らかなとおりΔTl、ΔT
2によって定まる時間で更新されるので前述の2種類の
波形データと相俟って種々の楽音が発生できる。
(発明の効果) 以上のように、本発明は、演奏操作部の送出する演奏情
報に基づいて、データバンクより所定の波形データと所
定のエンベロープデータを読み出す手段と、そのエンベ
ロープデータに基づいてエンベロープを作成するエンベ
ロープ発生部と、前記エンベロープと前記波形データを
乗算して楽音信号を作成する楽音発生部を有する電子楽
音において、前記エンベロープデータが、エンベロープ
形状の傾きを差分表現するデータと、そのエンベロープ
形状の傾きが同一である時間を表現するデータとを含み
、前記エンベロープ発生部が、前記エンベロープ形状の
傾きを差分表現するデータを順次加算して得た加算結果
の上位ビットのデータをエンベロープの指数部となし、
前記加算結果の下位ビットのデータをエンベロープの仮
数部となすことにより、新たに乗算器等の回路を追加す
ることによる大幅な回路規模の増加なく、しかもエンベ
ロープのビット数を多くすることもなく分解能の高いエ
ンベロープを得ることができる。また、エンベロープの
傾きを示すデータとともに、その傾きが同一である時間
を表わすデータを含むことにより、データを圧縮して有
することが可能となる。
第2表 第7表 X :  Don’t care X :  Don’t care 第14表 (上位2 ビット) 第15表 第11表 第19表 一: ビット処理を行わないビット
【図面の簡単な説明】
第1図(イ)は本発明における情報処理装置の一実施例
のブロック図、第1図(ロ)はマイコンによるデータ転
送のタイミング図、第1図(ハ)は本発明において用い
られている演算タイムスロットを表わす図、第2図は本
発明における楽音発生部1−5の構成図、第3図は楽音
発生部1−5におけるノートクロック発生の原理図、第
4図は楽音発生部1−5における5EQ2−2の詳細図
、第5図は同じくυClF2−3の詳細図、第6図は同
じ< CDR2−4の詳細図、第7図は同じくメモリ2
−5の詳細図、第8図は同じ<FA2−6の詳細図、第
9図(イ)は同じくMPLY2−7の詳細図、第9図(
ロ)はMPLY2−7にて使用している乗算器9−16
の詳細図、第10図は楽音発生部1−5におけるIlo
 2−10の詳細図、第11図(イ)は同じ<MS11
2−11(7)詳細図、第11図(ロ)〜第11図(す
)はMS112−11に用いられているスイッチのパタ
ーン図、第11図(ヌ)はMS112−11におけるデ
ータ転送のタイミング図、第12図はデータバンク1−
6におけるデータフォーマットを示す図、第13図はデ
ータバンク1−6におけるエンベロープデータのデータ
フォーマットを示す図、第14図は従来↓こおける電子
楽器を表わすブロック図、第15図は第14図における
エンベロープ発生器を表わす詳細図である。 ■−1・・・鍵盤、1−2・・・タブレット、1−3・
・・効果スイッチ、1−4・・・マイコン、1−5・・
・楽音発生部、1−6データバンク、1−7・・・フィ
ルタ、2−1・・・マスタクロック、2−2・・・シー
ケンサ(SEQ)、 2−3・・・マイコンインターフ
ェース部(UCIF)、2−4・・・比較レジスタ部(
CDR)、2−5・・・メモリ、2−6・・・フルアダ
一部(FA)、2−7・・・乗算部(MPLY)、2−
8・・・ディジタルアナログコンバータ(DAC)、 
2−9・・・アナログバツアアメモリ部(ABM)、2
−10・・・入出力回路部(Ilo)、2−11・・・
マトリックススイッチ部(MSV)。 特許出願人 松下電器産業株式会社 第1図 (イ) Cυフ A/D  −C三バ?”−7一 第2図 歴 +−7′’ 第4図 第11図 FA   MPLY 1/() 第11図 (ト)(ケ] 第12図 第13図 2禦0 の 峙 2鱈19 時 ΔE  5sssssssssssssssΔ2   
DATA   ooooooo。 第14図 鍵p

Claims (2)

    【特許請求の範囲】
  1. (1)演奏操作部の送出する演奏情報に基づいて、デー
    タバンクより所定の波形データと所定のエンベロープデ
    ータを読み出す手段と、 該エンベロープデータに基づいてエンベロープを作成す
    るエンベロープ発生部と、 前記エンベロープと前記波形データを乗算して楽音信号
    を作成する楽音発生部を有し、且つ、前記エンベロープ
    データが、エンベロープ形状の傾きを差分表現するデー
    タと、該エンベロープ形状の傾きが同一である時間を表
    現するデータとを含み、 前記エンベロープ発生部が、前記エンベロープ形状の傾
    きを差分表現するデータを順次加算して得た加算結果の
    上位ビットのデータをエンベロープの指数部となし、前
    記加算結果の下位ビットのデータをエンベロープの仮数
    部となす手段を有することを特徴とする電子楽器。
  2. (2)前記楽音発生部が、前記エンベロープの仮数部の
    データと前記波形データを乗算して得た乗算結果を、前
    記エンベロープの指数部のデータに基づいてシフトする
    ことにより楽音信号を作成することを特徴とする特許請
    求の範囲第(1)項記載の電子楽器。
JP60074182A 1985-04-10 1985-04-10 電子楽器 Pending JPS61233786A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60074182A JPS61233786A (ja) 1985-04-10 1985-04-10 電子楽器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60074182A JPS61233786A (ja) 1985-04-10 1985-04-10 電子楽器

Publications (1)

Publication Number Publication Date
JPS61233786A true JPS61233786A (ja) 1986-10-18

Family

ID=13539770

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60074182A Pending JPS61233786A (ja) 1985-04-10 1985-04-10 電子楽器

Country Status (1)

Country Link
JP (1) JPS61233786A (ja)

Similar Documents

Publication Publication Date Title
EP0311152B1 (en) Tone signal generation device for an electronic musical instrument
JPH0119594B2 (ja)
JPS61233786A (ja) 電子楽器
EP0201998B1 (en) Electronic musical instrument
JPS61250751A (ja) 情報処理装置
JPS61240294A (ja) 電子楽器
JPS61255397A (ja) 電子楽器
JPS61240293A (ja) 電子楽器
JPS61254992A (ja) 電子楽器
JPS61231598A (ja) 電子楽器
JPS61233787A (ja) 電子楽器
JPS61249096A (ja) 電子楽器
JPS61233788A (ja) 電子楽器
JPS61233789A (ja) 電子楽器
JPS61231597A (ja) 電子楽器
JPS61248095A (ja) 電子楽器
JPS61252591A (ja) 電子楽器
JPS61233790A (ja) 電子楽器
JPS6330638B2 (ja)
JPS61246794A (ja) 電子楽器
JPS61243498A (ja) 電子楽器
GB2060322A (en) Speech synthesizer
JPS61212899A (ja) 電子楽器
JPH0419587B2 (ja)
JPH0468632B2 (ja)