JPH079582B2 - 電子楽器 - Google Patents

電子楽器

Info

Publication number
JPH079582B2
JPH079582B2 JP60095643A JP9564385A JPH079582B2 JP H079582 B2 JPH079582 B2 JP H079582B2 JP 60095643 A JP60095643 A JP 60095643A JP 9564385 A JP9564385 A JP 9564385A JP H079582 B2 JPH079582 B2 JP H079582B2
Authority
JP
Japan
Prior art keywords
data
latch
bit
bits
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP60095643A
Other languages
English (en)
Other versions
JPS61254992A (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.)
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 JP60095643A priority Critical patent/JPH079582B2/ja
Publication of JPS61254992A publication Critical patent/JPS61254992A/ja
Publication of JPH079582B2 publication Critical patent/JPH079582B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は電子楽器に係り、特にノイズ信号を発生する電
子楽器に関する。
(従来の技術) 近年電子楽器はデジタル信号処理の導入により高度な音
色づくりが可能となったが、フルート等のエアリード楽
器類においてはノイズ成分の再現が必要となる。このノ
イズ成分を再現するようにした電子楽器としては特開昭
59-75294号がある。第14図にブロック図を示し、その動
作を以下に説明する。
入力部1に指示された出力すべき楽音に関する情報は制
御部2へ送られる。制御部2では入力部1より与えられ
た情報に基づいてテーブルメモリ3より楽音波形を合成
するための情報を読み出し、これに基づいて音素片メモ
リ4より波形データを読み出して楽音波形を合成し、同
時にノイズメモリよりノイズデータをを読み出して上記
楽音波形に加算し、DA変換部5より出力する。このよう
にしてノイズ成分を含んだ楽音信号を得ている。
(発明が解決しようとする問題点) しかしながら上記のような構成では、ノイズデータと楽
音波形とを加算するための加算器が必要となり回路の規
模が増大するという問題点を有していた。
本発明の上記の点に鑑み、回路規模をあまり増大させる
ことなくノイズ成分を含む楽音信号を発生する電子楽器
を提供するものである。
(問題点を解決するための手段) 上記問題点を解決するするために、本発明の電子楽器
は、演奏操作部から送出される演奏情報に基づいて所定
の波形データと所定のエンベロープを発生し該波形デー
タと該エンベロープを乗算して所定の楽音データを発生
する楽音発生部と、ノイズ信号を発生するノイズ発生部
と、前記演奏情報の指示により前記波形データの所定の
ビットを、前記ノイズ信号で置き換える、又は、該波形
データと前記ノイズ信号との論理和又は論理積又は排他
的論理和のいずれか1つの出力と置き換える、のいずれ
か一方の処理を行なう手段とを有するものである。
(作用) 本発明は上記した構成によりノイズ信号によって波形デ
ータの所定のビットのビット操作を行う。このため加算
器を用いずにノイズ信号を含んだ楽音信号を発生するも
のである。
(実施例) 以下図面に基づき本発明の一実施例を説明する。
第1図は本発明による情報処理装置を電子楽器に用いた
場合のブロック図である。この第1図を説明すると、1-
1は鍵盤である。1-2はタブレットであり、本電子楽器よ
出力される楽音の音色の選択を指示する操作部である。
1-3は効果スイッチであり、楽音に対する各種の効果の
制御、例えばヴィブラート,トレモロ等の効果のオン・
オフを指示するスイッチである。1-4はマイコン(マイ
クロコンピュータ)であり、例えばインテル社のマイコ
ン8049等が相当する。1-5は楽音発生部であり、マイコ
ン1-4より与えられた制御信号に基づいて波形演算、周
波数演算を行う。1-6はデータバンクであり、楽音発生
部1-5にて使用する波形データやエンベロープデータが
格納されているROM(読出専用メモリ)である。1-7はフ
ィルタであり、楽音発生部1-5より出力される楽音信号
の折り返しノイズを除去する。1-8はスピーカである。
次に第1図(イ)に示す電子楽器の動作を説明する。マ
イコン1-4は内部に予め書き込まれた命令に従って、鍵
盤1-1、タブレット1-2、効果スイッチ1-3の状態を順次
検索する。またマイコン1-4は鍵盤1-1における鍵のON/O
FFの状態に基づいて押圧されている鍵のコードを楽音発
生部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及び
キーオンデータKonより成っている。その具体的な内容
は第2表にNODのビット構成が示してあり、第3表にノ
ートデータNDと音名との対応が示してあり、第4表にオ
クターブデータOCTと音域の対応が示してある。即ち仮
に楽音発生部1-5に対しG#というノートの第6オクタ
ーブの音(以下G#6と略す)をチャンネル1より出力
したい時には第1図(ロ)におけるアドレスとして0000
0001,データとして10011110をマイコン1-4より送出する
ことになる。次に、PDDはピッチデチューンデータであ
り調律をずらすための8bitのデータである。PDDは2の
補数表示にて表されており、可変範囲は−128〜+126の
256通りである。RLDはリリースデータで、キーオフ後の
減衰特性を制御する4bitのデータである。VOLはボリュ
ームフラグであり、このビットを“1"にすると後述のボ
リュームデータVLDに応じて楽音発生部1-5からの楽音信
号の出力レベル制御を可能にするものである。DMPはダ
ンパフラグであり、ピアノタイプエンベロープの場合の
キーオフ後の減衰を急速な減衰にせしめるフラグであ
り、DMP=1の時に機能する。SOLはソロフラグであり、
他のチャンネルと同音名の楽音がサインされた時にその
チャンネルの発生している楽音とこれから発生しようと
している楽音の位相特性を合わすか否かを選択するフラ
グであり、SOL=1の時には位相合わせをキャンセルす
る。TABはタブレットデータであり、第1図におけるタ
ブレット1-2により指定されるデータがこの5bitに入
る。PEはピッチエクステンドフラグで、このビットを
“1"にしたチャンネルにはピッチエクステンドがかか
る。VLDはボリュームデータであり、前述のボリューム
フラグVOLとともにチャンネルから出力される楽音のレ
ベルを8bitの細かさで制御する。なお、これら一連のデ
ータはすべてチャンネルごとに独立に設定できるもので
ある。
次に、楽音発生部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相クロックとともに全体のシステムが動
作している。ショートシーケンスとロングシーケンスの
関係は、ショートシーケンスがチャンネル0からチャン
ネル7まで8回くり返されるごとに1チャンネル分のロ
ングシーケンスが入る。故に、例えばチャンネル3のシ
ョートシーケンスは11×8+9の97タイムスロットごと
に1回、ロングシーケンスは97×8の776タイムスロッ
トごとに1回の割で現われることになる。更に、ノーマ
ルモードのロングシーケンスにはEVENとODDの2つの状
態があるため、776×2の1552タイムスロットを周期と
してシステムが動作しているものである。
次に、第5表及び第6表に基づいて個々の演算シーケン
スについて説明する。前述のように、楽音発生部1-5は
新たな押鍵によりイニシャルモードロングシーケンスよ
り開始するようになっているのでイニシャルモードロン
グシーケンスよりタイムスロット別に説明を行う。
加算部 (13)PDD+PED→PDR (15) 0 →TR1 (16) 0 →TR2 (17) 0 →ZR1 (18) 0 →ZR2 タイムスロット(13)の意意するところは、PDDという
レジスタの内容とPEDというレジスタの内容を加算してP
DRというレジスタに格納するということである。タイム
スロット(15)〜(18)は、TR1,TR2,ZR1,ZR2というレ
ジスタに0を書き込むということである。
データバンク読み出し部 (12) WTD→HAD →HAD (14) HAD→CONT→CONT,DIF1 (16)〜(17)HAD→STE →EAR1 これらの意味するところは、左端にあるデータ(例えば
タイムスロット(14)ならばHADというデータ)をアド
レスとしてデータバンク1-6より中央に記載のCONTとい
うデータを読み出し、右端にある名前のレジスタCONT及
びDIF1に格納するということである。
イニシャルモードシーケンス 加算部 (1) PDR+JD L.B.;0→ER2/1 (3) ORG+OCT+1→WE2→ΔWAR (4) D.B.+EAR1→EAR2 (6) 0 →WR1 (8) 0 →ER1 (9) 0 →WE2 (10) 0 →WE1,WR2 タイムスロット(1)における0→ER2/1はショートシ
ーケンス1回目即ちODD時にはER2,2回目即ちEVEN時には
ER1というレジスタに0を書き込むことを意味する。ま
たL.B.とは、PDR+JDの演算結果をレジスタに格納せず
に、Lバス(後述)を介して演算部(後述)に送出する
ことを意味する。タイムスロット(3)においては、演
算結果を一度WE2というレジスタに格納した後デコード
してΔWARに格納することを意味する。タイムスロット
(4)におけるD.B.は、後述のデータバンク読み出し部
によって得られる値をレジスタ等を介さずDバス(後
述)を介して加算器に送出することを意味する。
乗算部 (4)〜(6) C.B.×CN1→FR 上記のC.B.は、加算部にて得られた結果をレジスタを介
さずに乗算部に直接入力することを意味しこの場合にお
いてはタイムスロット(1)にて得られたPDR+JDの演
算結果を意味する。
データバンク読み出し部 (1)HAD→ΔSTE→A.B. (3)〜(4)EAR1/2→E1/2→ΔT1/2,ΔE1/2,ΔZ1/2 (6)〜(7)HAD→STW/ΔSTW→STW/WAR ここでタイムスロット(1)のA.B.は、データバンク読
み出しによって得られた値をレジスタ等を介さずに直接
加算部のA入力へ入力することを意味する。また、タイ
ムスロット(6)〜(7)のSTW/ΔSTW→STW/WARは、シ
ョートシーケンス1回目即ちODD時にはSTWというデータ
を読み出してSTWというレジスタに格納し、2回目即ちE
VEN時にはΔSTWというデータを読み出してWARというレ
ジスタに格納することを意味する。
次にノーマルモードについて説明する。
ノーマルモードショートシーケンス 第6表において*印のついている箇所は、ノートクロッ
クが発生した後の最始のショートシーケンスのみでその
演算が行われるものであり、この動作を制御するフラグ
を計算要求フラグCLRQと呼ぶことにする。
加算部 (1) WE2+WE1→L.B. (2) STW+WAR→D.B.,B.B. (3) ZR1+ΔZ1→ZR1 (4) DIF1+C.B.→D.B. (5) ER1+ΔE1+Ci→ER1 (6) ZR2+ΔZ2+ZR2 (7) WAR+ΔWAR→WAR* (8) ER2+ΔE2+Ci→ER2 (9) FR+CDR→CDR* ここで、タイムスロット(1)のL.B.は、演算結果をレ
ジスタを介さず直接乗算部へ入力することを意味する。
タイムスロット(2)のD.B.,B.B.は同様に演算結果を
直接データバンク読み出し部及び加算部のB入力へ入力
することを意味する。タイムスロット(4)におけるC.
B.は、加算部の演算結果をレジスタを介さずに直接入力
することを意味し、この場合はタイムスロット(2)に
おけるSTW+WARの演算結果が入力される。また、D.B.は
その演算結果を直接データバンク読み出し部へ入力する
ことを意味する。タイムスロット(5)及び(8)のCi
は、それぞれタイムスロット(3)及び(6)における
演算のくり上り(キャリー)を加えるという意味であ
る。
乗算部 (1)〜(3) WR2+ER2→WE2* (4)〜(6) C.B.×CN→(DAC) (7)〜(9) WR1×ER1→WE1* ここで、タイムスロット(4)〜(6)のC.B.とは加算
部の出力をレジスタ等を介さず直接乗算部へ入力するこ
とを意味する。この場合は、タイムスロット(1)のWE
2+WE1の演算結果に相当する。また(DAC)とあるの
は、この演算結果をDAC(DAコンバータ;後述)に入力
することを表す。
データバンク読み出し部 (4)〜(5) C.B.→W1→WR1* (7)〜(8) C.B.→W1→WR2* ここで、タイムスロット(4)〜(5)のC.B.は加算部
の演算結果を直接データバンク読み出し部へ入力してデ
ータンク1-6のアドレスとすることを意味し、この場合
は加算部におけるタイムスロット(2)のSTW+WARの演
算結果に相当する。タイムスロット(7)〜(8)のC.
B.も同様にタイムスロット(4)のDIF1+(STW+WAR)
の演算結果に相当する。
ロングシーケンス 加算部 (13) ΔT1/2+TR1/2→TR1/2 (14) PDR+JD→L.B. (15) ΔEAR1/2+EAR1/2+Ci→EAR1/2 (16) PDD+PED→PDR ここで、タイムスロット(14)のL.B.は、加算部の演算
結果即ちPDR+JDの値をレジスタを介さず直接乗算部へ
入力することを意味する。タイムスロット(15)のCiは
タイムスロット(13)の演算を行った結果生じるくり上
り(キャリー)を意味する。
乗算部 (16)〜(18) CN+C.B.→FR ここで、C.B.は加算部における演算結果をレジスタを介
さず直接演算部へ入力することを意味し、この場合は加
算部タイムスロット(14)におけるPDR+JDの演算結果
が入力される。
データバンク読み出し部 (14)〜(15) EAR2/1→E2/1→ΔT2/1,ΔE2/1,ΔZ2/1 ここで、2/1というのは、奇数回目、即ちODD時には2
(例えばE2/1ならばE2)、偶数回目、即ちEVEN時には1
(同E1)となることを意味し、EVEN、ODDで別のデータ
を読み出し、別のレジスタへ格納することを意味する。
第2図は第1図(イ)における楽音発生部1-5の詳細な
図である。まずこの図を用いて各ブロックの機能の概略
を説明すると、2-1はマスタクロックであり、ここではf
8.00096MHzのものを用いている。2-2はシーケンサ(以
下SEQと称す)であり、マスタクロック2-1によるクロッ
ク信号を分周し、楽音発生部1-5全体におけるシーケン
ス信号(以下SQ信号と称す)及び各種制御信号を発生す
る。2-3はマイコンインターフェース部(以下UCIFと称
す)であり、第1表にて示される各種データをマイコン
1-4が楽音発生部1-5とは非同期で送出しているが、この
データを取り込み、SEQにより発生されるSQ信号との同
期をとる回路である。更にフラグKonによりイニシャル
モード、ノーマルモードのモードド切りかえを指示する
フラグINIを発生する。2-4は比較レジスタ部(以下CDR
と称す)であり、前記演算シーケンスで示したレジスタ
CDR8チャンネル分とマスタクロックを順周分指して得た
10ビットの分周信号とを比較し、8チャンネル分のノー
トクロックと計算要求フラグCLRQを発生する。2-5はラ
ンダムアクセスメモリ部(以下メモリと称す)で、楽音
発生部1-5内で行われる種々の演算結果を記憶する。2-6
はフルアダー部(以下FAと称す)であり、各種データの
加算を行う16ビットのフルアダーを内蔵している。2-7
は乗算部(以下MPLYと称す)であり、 (2の補数の12bit)×(絶対値10bit) の演算を行う乗算器を有している。2-8はデジタルアナ
ログコンバータ(以下DACと称す)であり、MPLY2-7より
出力されるデジタルの楽音データをアナログの楽音デー
タに変換する。2-9はアナログバッファメモリ部(以下A
BMと称す)で、DAC2-8よりマシンサイクル周期で発生さ
れる楽音データをCDR2-4により発生されるノートクロッ
クによる音程同期への変換を行う。ABM2-9の機能及び構
成は特開昭59−214091号公報に示されているアナログバ
ッファメモリと同様のものである。2-10は入出力回路部
(以下I/Oと称す)であり、データバンク1-6へアドレス
信号を送出し、そのアドレス信号に対応した波形デー
タ、エンベロープデータの読み出しを行い、必要に応じ
て読み出したデータのデータ変換を行う。2-11はマトリ
ックススイッチ部(以下MSWと称す)であり、UCIF2-3、
CDR2-4、メモリ2-5に接続された横方向のバスライン(H
A,HB,HC,HD,HE,HLの各バス)とFA2-6、MPLY2-7、I/O 2-
10へ接続されている縦方向のバスライン(A,B,C,D,Lの
各バス)とを、SQ信号に応じて接続する回路である。こ
れらの回路により第5表及び第6表に示す演算シーケン
スを実行するものである。
次に個々のブロックについて説明する。
第4図は第2図におけるSEQ2-2の詳細図である。4-1は
カウンタであり、マスタクロックを分周し、第1図
(ハ)に示す種々のタイミング信号を発生する。TSは第
1図(ハ)におけるタイムスロットを表す信号であり、
CHCはチャンネルコードであり、第1図(ハ)における
チャンネルの番号を表わす信号である。EVは演算シーケ
ンスにおけるODD、EVENを表す信号であり、EV=0はOD
D、EV=1はEVENを意味する。4-2はSQROM(シーケンスR
OM)である。SQROM4-2のアドレス入力にはタイムスロッ
トを表す信号TSとフラグINIが入力されており、これら
の入力に基づいて各々のタイムスロットにおける各種制
御命令を発生している。4-3は論理ゲートであり、SQROM
4-2による出力を各種フラグ及び計算要求フラグCLRQ等
で更に制御して、SQ信号(演算情報、効果スイッチ1-3
等の指示に従って、各機能ブロックが各タイムスロット
毎にどのように動作すべべきかを指示する信号;図中で
はSQと略記)を発生する。
第5図はUCIF2-3の詳細図である。第5図において、5-1
はラッチであり、第1図におけるマイコン1-4より与え
られるA/D 0〜7をALEによりラッチする。A/D 0〜7とA
LEの関係は第1図(ロ)に示すとおりであるので、ラッ
チ5-1には第1表に示すところのドレスがラッチされ
る。5-2はラッチであり、マイコン1-4より与えられるA/
D 0〜7を▲▼によりラッチする。A/D 0〜7と▲
▼の関係は第1図(ロ)に示すとおりであるのでラッ
チ5-2には第1表に示すところのデータがラッチされ
る。5-3はラッチであり、▲▼によって制御されラ
ッチ5-1の出力をラッチする。このようにアドレスを2
段でラッチするのは、ALEが▲▼に無関係に周期的
に“1"になるからであり、このようにアドレスを2段で
ラッチすることにより▲▼による新たなデータの書
き込みを行うまでラッチ5-3、ラッチ5-2にはそれぞれア
ドレス及びデータが格納されることになる。5-4は1ワ
ード8ビットのRAMであり、Aはアドレス入力、OEは出
力制御端子であり、データ端子DはHEバスに接続されて
いる。ここで、OE=1となるA入力で与えられたアドレ
スのデータをD端子より出力する。またWEは書き込み制
御端子で、WE=1の時にD端子に与えられているデータ
をA入力で与えられたアドレスに書き込む。OE、WEはSQ
信号により制御されている。RAM5-4には第1表にて示し
た各種データ(NOD,PDD,RLD・VOL・DMP・SOL,TAB・PE,V
LD)及びコントロールデータCONT(データバンクより書
き込む。詳細は後述)、ピッチデータレジスタのデータ
PDRがそれぞれ8チャンネル分格納されている。5-5はセ
レクタであり、マイコン1-4の指定するアドレスと、SQ
信号で指定するアドレスを、別のSQ信号を用いて選択出
力し、RAM5-4のA入力に与えるものである。5-6は信号
処理器であり、HEバスに接続され、バス上のデータを取
り込み各種フラグ信号を発生する。また、マイコン1-4
より送出されたリリースデータRLD4ビットに応じた16と
おりのリリース用エンベロープデータを発生してHEバス
に送出する。5-7はゲートであり、SQ信号に応じてラッ
チ5-2の出力、つまりマイコン1-4からのデータをHEバス
上に送出する。
次にUCIF2-3の動作を説明する。
第1表に示すようなデータが第1図(ロ)に示すタイミ
ングでマイコン1-4より与えられたとし、仮にアドレス
が0516、データが8916即ちチャンネル5にF#1の押鍵
を指示したとすると、先ずALE信号によりラッチ5-1にア
ドレスがラッチされ、次いで▲▼信号によりラッチ
5-2にデータがラッチされると同時に、ラッチ5-3にアド
レスがラッチされる。次いで所定のタイミングでセレク
タ5-5がラッチ5-3の出力をセレクトし、同時にゲート5-
7が開き、RAM5-4のWEに書き込み信号が与えられる。こ
の書き込み信号によりHEバスにはラッチ5-2にラッチさ
れたデータ即ちマイコン1-4が書き込もうとしたデータ
即ち8916が与えられ、RAM5-4のA入力にはラッチ5-3の
出力である0516が与えられるので、RAM5-4のアドレス05
16番地に8916というデータが書き込まれる。このように
して第1表に示した各種データがRAM5-4に書き込まれ
る。第1表に示すとおり、RAM5-4にはVOLフラグ、PEフ
ラグ等のフラグ類が書き込まれているが、これらのフラ
グ類はHEバスを介して信号処理器5-6へ送出し、ここで
一旦ラッチした後使用している。
第6図はCDR2-4の詳細図である。6-1はマスタクロック
を入力とした10ビットの分周器である。6-2は比較器付R
AM(以下CDRAMと称す。)であり、1ワード13ビットで
8ワードドを有する。各ワードのうち上位10ビットには
比較器が設けてあり、端子Tより入力される分周器6-1
による分周データとの比較が行われ、10ビットすべてが
一致すると端子Cより一致パルスが出力される。OE,WE,
A,Dの機能は前述のRAM5-4と同じである。6-3はデコーダ
であり、A入力、EN入力とD出力との関係は第8表に示
すとおりである。6-4〜6-11はRSラッチであり、S入力
に正のパルスが加わるとQ出力が“1"に、R入力に正の
パルスが加わるとQ出力が“0"になる。RSラッチ6-4は
チャンネル0、RSラッチ6-5はチャンネル1、……の一
致パルスがSに与えられる。6-12はセレクタであり、A
入力に与えられた8信号からチャンネルコードCHC3ビッ
トによりそのうちの1信号を選択してDより出力する。
6-13はラッチであり、SQ信号に従ってセレクタ6-12の出
力をラッチする。6-14はANDゲートである。
次に第6図に示すCDR2-4の動作について説明する。分周
器6-1がマスタクロックを分周して10ビットの分周出力
をCDRAM6-2のT入力へ与える。CDRAM6-2の各ワードには
任意の値が入っているが、これらの値の上位10ビットが
分周器6-1の出力値と一致するごとに一致パルスをC端
子より出力する。CDRAM6-2のA入力にはCHC即ちチャン
ネルを表す信号が入力してあるので、各ワードドはそれ
ぞれのチャンネルに対応しているので、チャンネルごと
に一致パルスを発生する。この一致パルスはそれぞれを
Rラッチ6-4〜6-11へ入力されているので、一致パルス
が発生したチャンネルに対応するRSラッチのQ出力が
“1"にセットされる。RSラッチ6-4〜6-11のQ出力のう
ちの1つがチャンネルコードCHCに応じてセレクタ6-12
により順次選択されラッチ6-13にラッチされる。ラッチ
6-13の出力はANDゲート6-14に与えられているので、現
在セレクタ6-12が選択しているRSラッチのQ出力が“1"
ならば、ANDゲート6-14に加えられたSQ信号によってデ
コーダ6-3のD出力の該当チャンネルが“1"になり上記
のRSラッチのQ出力は“0"にリセットされる。
第7はメモリ2-5の詳細図である。第7図において、7-1
〜7-4はRAMであり、OE,WE,A,Dの各機能は前述のRAM5-4
と同じである。ここで、RAM7-1にはWAR,EAR1,ΔZ1,ΔE
1,WE1,EAR2,ΔZ2,ΔE2の各レジスタが、RAM7-2にはWR2,
WR1,ΔT1,FR,ΔWAR,ZR2,ΔT2の各レジスタが、RAM7-3に
はER1,TR1,DIF1,DW1,ER2,TR2,STW,TAB′,HADの各レジス
タが、RAM7-4にはNOD′、WE2,VLD′の各レジスタがそれ
ぞれを8チャンネル分格納されている。なお、NOD′,TA
B′,VLD′は前述のRAM5-4におけるNOD,HAB,VLDのデータ
を書き込んだものである。7-5は1ワード10ビット13ワ
ードのROMであり、第5表、第6表で示した演算シーケ
ンスにおけるノート係数CNが記憶されている。ここでQ
は出力、Aはアドレス入力、OEは出力制御端子であり、
OE=1でQにROMの内容が出力され、OE=0の時はQ=
ハイ・インピーダンスである。ノート係数CNの値は第7
表に示すとおりである。なお、ROM7-5の10ビットの出力
はHDバスの下位10ビットに接続されている。7-6は信号
処理器であり、RAM7-4に格納されたNOD′よりND(ノー
トデータ)とOCT(オクターブデータ)を読み出しこれ
らのデータ及びPEフラグに基づいてピッチデチューンデ
ータPEDを発生する回路、並びにレジスタWE2のデータを
読み出してデコードするデコード回路が備えてある。
第8図はFA2-6の詳細図である。第8図において、8-1〜
8-8はラッチであり、SEQ2-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はRAMであり、そのサイズは
1ワード9ビットで12ワードのものである。A,D,WE,OE
の各機能は前述のRAM5-4と同じである。D出力9ビット
はCバスの下位9ビットに接続れている。RAM8-13は位
相合わせ(後述)用の位相レジスタで、12音のノートの
個々の波形データを読み出し用アドレス(WAR)の位相
管理を行う。
第9図(イ)はMPLY2-7の詳細図である。第9図におい
て9-1〜9-9はラッチである。ここでラッチ9-3にはLバ
スのビット0〜ビット9が、ラッチ9-5にはLバスのビ
ット9〜ビット12が接続されている。9-10はエンコーダ
である。入出力の関係は第9表に示すとおりである。9-
11はシフタであり、Iから入力される16ビットの信号を
Cに入力された制御信号に従ってシフトしOより出力す
る。シフトの内容は第10表に示すとおりである。9-12は
ビット処理回路でありSQ信号に応じてラッチ9-3が出力
する信号のビット処理を行う。9-13はデコーダであり入
力Aと出力Dとし関係は第11表に示すとおりである。9-
14はセレクタであり、Cに入力されているSQ信号に応じ
てC=1ならばA、C=0ならばNに入力されている16
本の信号を選択してYより出力する。なお、A入力の下
位11ビットはGND(接地電位)に接続されている(即ち
“0"が与えられている)。9-15はシフタでIから入力さ
れる14ビットの信号をCに入力された制御信号に従って
シフトしOより出力する。シフトの内容は第12表に示す
とおりである。9-16は乗乗算器であり、A入力がこの補
数表示による12ビット、B入力が絶対値の10ビットで出
力が2の補数表示による14ビットである。通常12ビット
×10ビットの演算を行うと22ビットの結果が得られる
が、無論乗算器9-16の出力14ビットは22ビットのうちの
上位14ビットである。故に、乗算器9-16における入出力
の関係は、次式のとおりになる。
なお、MPLY2-7における乗算器9-16は、回路をより簡略
化するために以下の手法を用いている。
通常乗算器を構成する際に、2の補数値12ビット×絶対
値10ビットの乗算器は116個の加算器セルにより22ビッ
トの正確な演算結果が得られる。しかし、本システムに
おいては本来得られる22ビットのうちの上位14ビットの
みを使用する。即ち下位8ビットの出力は使用しないの
で本実施例では加算器セル省略による演算誤差が上位14
ビットのLSBに影響しない下位7ビット演算用の加算器
セルを全部省略している。そこで、本乗算器9-16では、
下位ビット演算用の加算器セル28セルを省略し第9図
(ロ)に示すような構成になっている。第9図(ロ)に
おいて、破線内は同様のセルを略記した。また、各ブロ
ックはすべて全加算器であり、入力がA,B,Ci(キャリー
入力)、出力が和S及びキャリーCoである。
第10図はI/O 2/10の詳細図である。第10図において10-1
〜10-8はラッチである。ここで、ラッチ10-3はセット付
のラッチでラッチの入力はDバスのビット7〜ビット9
に接続されている。10-9はシフタセレクタで、C入力に
よりA入力とB入力の切換及びA入力の1ビットシフト
を行う。10-10はビット処理回路であり、SQ信号に応じ
て下位3ビットを強制的に“1"或いは“0"にする回路で
ある。10-11はデコーダであり、入力Iと出力Dの関係
は第13表に示すとおりである。デコーダ10-11のA入力
にはラッチ10-7の出力のビット12〜ビット15が与えられ
ている。10-12はセレクタであり、C入力に応じてA峰
又はBに与えられている信号のいずれかを選択してYよ
り出力する。10-13はシフタであり、制御端子Cの入力
に応じてIからの入力をシフトしてOより出力する。10
-14はノイズ回路であり、ノイズフラグNAに応じて入力
データにノイズを混入する。
第11図(イ)はMSW2-11の詳細図である。円で囲った部
分がスイッチであり、具体的には第11図(ロ)に示すよ
うにNchのMOSFETで構成されており、SQ信号が“1"にな
るとMOSFETがオンして縦方向のラインと横方向のライン
が導通しデータが転送される。このMSW2-11においては
高速化のためにデータの転送の直前にすべてのバスライ
ンに各タイムスロット毎にψ1信号によりプリチャージ
を行った後データの転送を行なっている。これはスイッ
チがNch MOSFETで構成されているので、転送されたデー
タの“1"のレベルがMOSFETのしきい値電圧分だけ降下す
るのを防ぐためである。第11図(ハ)〜第11図(リ)は
MSW2-11にて使用されているスイッチパターンの例であ
り、円で囲った交点の箇所がスイッチを介して接続され
ている。この例では便宜上各バスが8ビットのものにつ
いて説明する。第11図(ハ)は、スイッチによってbnと
an(n=0〜7)とを接続したものである。第11図
(ニ)はb0〜b3の4本の値と“0"をスイッチによって縦
方向のバスに書き込むようにしたものである。第11図
(ホ)はb0〜b3をa0〜a3へ、c4〜c7をa4〜a7へ書き込む
ようにしたものであり、これにより、2組のバスに別々
に表れているデータを混合して他のバスに転送すること
ができるようにしたものである。第11図(ヘ)はビット
位置を変換してバスからバスへ転送するようにしたもの
で、このようにスイッチを配することにより横方向のバ
スのデータの上下各4ビットを位置を変更して縦方向の
バスに転送する。第11図(ト)〜第11図(リ)は定数を
バスに設定するための回路例であり、第11図(ト)はバ
スにオール“0"を設定する回路、第11図(チ)はバスに
10101010即ちAA16を設定する回路である。これは、スイ
ッチのない部分であるa7,a5,a3,a1はこのスイッチが開
く直前にプリチャージによって“1"が書き込れたものが
そのまま保持されることによる。第11図(リ)はフラグ
TOによって定数の値を変えるようにしたもので、TO=0
ならば0016がバスに書き込まれ、TO=1ならばEB16がバ
スに書き込まれる。第11図(ハ)〜第11図(リ)に示す
スイッチをMSW2-11に途に応じて配して選択的に開閉す
ることにより、任意のバスから他の任意のバスへのデー
タ転送が必要なビット処理を含めて可能となる。例え
ば、HAバスからAバスへ、HBバスからBバスへ、Cバス
からHCバスへ同時にデータを転送したい時にはSW1,SW7,
SW13を同時にオンすればよい。また、Cバスのデータを
LバスとDバスに転送したい時にはSW28,SW29,W30をオ
ンすれば、Cバス→HLバス→Lバス及びDバスの経路で
データが転送される。
なお、MSW2-11において、データの転送は第11図(ヌ)
に示すタイミングで行われている。即ち、ψ1=1の区
間で縦方向、横方向のバスラインのプリチャージを行
い、ψ1の立ち下りよりψ3の立ち下りまでの区間でデ
ータの転送を行い、ψ3の立ち下りでラッチする。ここ
で、ψ3の立ち下りからψ1の立ち上りまでの区間はラ
ッチ動作を安定に行うための余裕である。
次にデータバンク1-6について説明する。データバンク1
-6には4種類のデータが格納されている。それは、
(1)ヘッダアドレスデータ、(2)ヘッダデータ、
(3)波形データ、(4)エンベロープデータである。
ここで、ヘッダアドレスデータはヘッダデータがどのア
ドレスに格納してあるかを示す8ビットのデータであ
り、ヘッダデータは波形データ、エンベロープデータの
格納してあるアドレス及びそれらの属性を表わした8バ
イトのデータである。次に4種類のデータを更に詳しく
説明する。
(1) ヘッダアドレスデータ(HAD) このデータは各タブレット、各オクターブ、各3鍵ごと
に割り当てられたノートデータをアドレスとしてヘッダ
データのアドレスを示すデータである。ヘッダアドレス
データの格納場所は第14表に示すとおりであり、ビット
9〜ビット5にタブレットデータTAB、ビット4〜ビッ
ト2にオクターブデータOCT、ビット1〜ビット0にノ
ートデータNDの上位2ビット、残りのビットにはすべて
“1"が入っている。ここでTAB、OCT、NDで構成される10
ビットをWTDと呼び、その各々は第1表に示したもので
あることは言うまでもない。ヘッダアドレスデータによ
るヘッダデータのアドレスは第15表のように示され、ビ
ット10〜ビット3にヘッダアドレスデータが入り、上位
ビットはすべて“1"である。また、下位3ビットには00
0〜111のデータを入れる。
(2) ヘッダデータ(HD) ヘッダデータは第15表に示されるアドレスに格納されて
いる1ワード8ビットで8ワードのデータであり、8ワ
ードの各内容は第16表に示すとおりである。第16表にお
いて、CONTはコントロールデータであり、このヘッダデ
ータにて示される波形データ、エンベロープデータの属
性を表す。E1′は2種類あるエンベロープデータのうち
の一方である。他方のエンベロープデータE2′のスター
トアドレスはSTE+ΔSTEで与えられる。W1,W2は2種類
ある波形データであり、W1のスタートアドレスはSTW+
ΔSTWで与えられる。
なおCONTは第17表に示すとおりの構成になっており、そ
の意味するところは次のとおりである。
P/O:このヘッダデータによる楽音がピアノ型エンベロー
プを有するかオルガン型エンベロープを有するかを示す
フラグであり、P/O=1ならばピアノ型であることを意
味する。
ORG:当該の楽音データが本来どの音域に属していたかを
示す3ビットの情報であり、CRGと音域の対応は第18表
に示すとおりである。故に波形データが実際に一周期分
として有するサンプル数がいくつであるかを示す情報で
もある。
W8:波形データが12ビット精度であるか8ビット精度で
あるかを示す。W8=1ならば8ビット精度である。W8=
1の時には波形データの下位に4ビットの“0"が追加さ
れ、波形の振幅レベルは保たれるようになっている。
PCM:PCM=1で波形データW1の立ち上り部がPCMであるこ
とを示す。
NA:ノイズ信号を楽音信号に重畳する場合に使用する2
ビットの信号である。
(3) 波形データ(W1,W2) 前述のように、楽音発生部1-5においては波形データと
して12ビットのものと8ビットのものと2種類を使いわ
けている。ここで市販されているROMについて考えると
そのほとんどが1ワード8ビット或いはそれ以下のもの
であり、1ワード12ビットのものは希である。そこで本
発明においては次のように波形をROMに格納している。
即ち: 8ビットの場合には、STW及びΔSTWによって定まるアド
レスより順次1ワードずつ格納しているが、1ワード12
ビットの波形データの場合は第12図に示すとおり、上位
8ビットはSTW+ΔSTWによって示されるアドレスから順
次格納しているが、下位4ットはSTW+ΔSTWの値を1ビ
ット右シフトしてMSBに1を入れたアドレスより下位4
ビット上位4ビットに2ワード分ずつ順次格納してあ
る。例えば、仮にアドレス044416にある波形データの上
位8ビットの下位4ビットの場所は、アドレス122216
上位4ビットということになり、アドレス044516につい
てはアドレス122216の下位4ビットということになる。
(4) エンベロープデータ(E1′,E2′) エンベロープデータは16ビットで1ワードを構成し、そ
のデータフォーマットは第19表に示すとおりである。Δ
Tはエンベロープアドレスの更新間隔を決めるデータで
ある。Sはエンベロープの傾き(増加または減少)を示
すフラグである。Zはエンベロープの傾きの大小を示す
フラグであり、DATAはその大きさである。第19表に示す
データが第16表に示すSTE、ΔSTEによって定められたア
ドレスに従ってデータバンクに格納されている。
以上のようにデータバンクが構成されているので、とな
り合った3鍵ごに音色の変化を与えることができる一
方、逆に同一オクターブ内にては同じヘッダアドレスデ
ータを有するようにすれば波形データ、エンベロープデ
ータ、ヘッダデータを増すことなく同じ音色の楽音が得
られる。また、ヘッダデータにおいて任意の波形デー
タ、エンベロープデータが指定できるので、少ない波形
データ及びエンベロープデータであってもその組み合わ
せ方で様々な楽音を発生することも可能である。
次に楽音発生部1-5における押鍵時のイニシャル処理、
ノートクロックの発生方法、エンベロープ発生方法波形
の発生方法について述べる。
(1) イニシャル処理 イニシャル処理においては、押鍵により楽音が発生され
る際の各種レジスタの初期設定が行われる。押鍵によ
り、演算シーケンスはイニシャルモードのロングシーケ
ンスより開始されるので、加算部において、タイムスロ
ット13でPDRが初期設定される。この演算を更に詳しく
述べると、第5図RAM5-4よりPDDが読み出されてHEバス
にデータが乗る。同時に第7図信号処理器7-6よりHDバ
スに対してPEDが与えられ、第11図(イ)においてSW21
とSW17がオンしてPDDがAバス、PEDがBバスに乗る。こ
のデータが第8図に示すところのFA2-6にて加算されて
Cバスに演算結果が乗る。この演算結果がSW23を介して
HEバスに乗り、RAM5-4にあるレジスタPDRに格納され
る。なお、この演算において、PDD、PEDをFA2-6への転
送は実際にPDD+PEDの演算が行われるタイムスロットの
1タイムスロット前に、また演算結果のPDRへの格納はP
DD+PED演算が行われる1タイムスロット後に行われ
る。以下加算演算についてはすべて同様である。次い
で、タイムスロット(15)〜(18)にてTR1,TR2,ZR1,ZR
2に“0"が書き込まれる。この動作は、TR1に“0"を書き
込む場合について述べると、タイムスロット(15)にて
第11図(イ)のMSW2-11においてSW33及びS-13がオンす
る。SW33は第11図(ト)のような構成になっており、C
バスに“0"が与えられる。同時にSW13がオンしているの
で、CバスのデータがHCバスに与えられ、第7図に示す
RAM7-3におけるレジスタTR1に“0"が書き込まれる。
一方データンク読み出し部においては、次のような動作
をする。以下第10図を中心に説明する。TAB,ND,OCTで構
成されたWRDによってヘッダアドレスデータHADが読み出
される。なお、このイニシャル処理を行うイニシャルモ
ードにおいては、ラッチ10-3はSQ信号により111にセッ
トされている。このデータはI/O 2-10におけるシフタ10
-13によって第15表に示されるフォーマットにデータが
変換されDバスSW15,HCバスを介してRAM7-3のレジスタH
ADに格納される。この動作と同時に、データバンクより
読み出されたヘッダアドレスデータHADは、ラッチ10-
8、ラッチ10-6で次々とラッチされ、シフタセレクタ10-
9にて第15表に示すとおりのフォーマットにデータが変
換されてラッチ10-4にラッチされる。ラッチ10-4の出力
に対し、先ずビット処理回路10-10で下位3ビットに対
して000が与えられてコントロールデータCONTがデータ
バンク1-6より読み出されラッチ10-8を介してラッチ10-
7の上位8ビットにラッチされる。コントロールデータC
ONTはセレクタ10-12、シフタ10-13、ノイズ回路10-14、
ラッチ10-2を介し、DバスよりRAM5-4のレジスタCONTに
格納される。一方、ラッチ10-7の上位4ビットはデコー
ダ10-11に接続されているので第14表に示す真理値表に
従って16ビットのデータが得られる。但し、この時にデ
コーダ10-11のC入力は“1"となっている。セレクタ10-
12がこのデコーダ出力をセレクトし、シフタ10-13が6
ビット右シフトして出力する。ここで、このシフタ10-1
3の出力について考えると、ラッチ10-7よりデコーダ10-
11へ入力されているデータはP/O及びORRG3ビットであ
る。今デコーダ10-11のC入力は“1"であるので、デコ
ーダ10-11の出力はORG3ビットのみによって定まる。故
にデコーダ10-11の出力をシフタ10-13で6ビット右シフ
トした値は第18表に示した値となる。この値がノイズ回
路10-14、ラッチ10-2を介してDバスに与えられ、MSW2-
11においてSW15を介してRAM7-3のレジスタDIF1に格納さ
れる。
次にラッチ10-4の出力に対し、ビット処理回路10-10が
下位3ビットに対し、001、次いで010を与え、ヘッダデ
ータのSTEの上位、下位の各8ビットトを読み出す。こ
のSTEの値がセレクタ10-12、シフタ10-13、ノイズ回路1
0-14、ラッチ10-2を介してDバスに与えられ、MSW2-11
においてSW5を介してRAM7-1のレジスタEAR1へ格納され
る。
次にショートシーケンスに入る。ショートシーケンスは
2回実行される。タイムスロット(1)でPDRとJDが加
算されるが、ここでJDは定数でありMSW2-11においてSW3
2をオンすることにより得られる。SW32は第11図(チ)
に示すような構成になっており、JD=45B16となってい
る。この加算結果に対してノート係数CNを掛け合わせて
FRを得る。この一連の円算を詳しく述べると、PDR+JD
がタイムスロット(1)で演算され、その結果が前述の
とおりタイムスロット(2)にてCバスに与えられる。
ここでMSW2-11においてSW28、SW29がオンし、Cバス→H
Lバス→Lバスの順でデータが転送され、第9図(イ)
におけるMPLY2-7のラッチ9-1にラッチされる。次のタイ
ムスロット(3)において、第7図のROM7-5よりノート
データNDに応じたCNの値が読み出され、HDバスに与えら
れる。この値がMSW2-11におけるSW19を介してLバスに
与えられ、MPLY2-のラッチ9-3にラッチされる。ラッチ9
-1の出力はシフタ9-11を介してラッチ9-2へ、ラッチ9-3
の出力はビット処理回路を介してラッチ9-4へ送られラ
ッチされる。故にラッチ9-2にはPDR+JDの値が、ラッチ
9-4には、CNの値がラッチされている。次いで乗算器9-1
6が(PDR+JD)とCNの積を算出し、シフタ9-15を介して
ラッチ9-8へ送出されラッチされる。なおこれらの一連
の動作において、シフタ9-11、ビット処理回路9-12、シ
フタ9-15はデータをスルーさせるように動作する。即ち
エンコーダ9-10のC入力には“1"が与えられている。ラ
ッチ9-8の値がLバスよりMSW2-11のSW9を介してRAM7-2
のレジスタFRに格納される。故に、タイムスロット
(2)において、ORG+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のレジ
スタWE2に格納され、次いで、信号処理器7-6でデコード
されてRAM7-2のレジスタΔWARに格納される。ORG+OCT
+1値に対するΔWARの値は第20表に示すとおりであ
る。
以下、タイムスロット(4)でEAR2,同(6),
(8),(9),(10)でWR1,ER1,WE2,WE1,WR2の各レ
ジスタの初期設定を行っている。
一方データバンク読み出し部においては、前述のロング
シーケンスでRAM7-3に格納したヘッダアドレスデータHA
Dを読み出し、Dバス→ラッチ10-1→シフタセレクタ10-
9を介してラッチ10-4にラッチし、ビット処理回路10-10
で下位3ビットに001を入力してデータバンクよりヘッ
ダデータのΔSTEを読み出す。この値はラッチ10-7→セ
レクタ10-12→シフタ10-13→ノイズ回路10-14→ラッチ1
0-2を介してDバスへ与えられ、MSW2-11においてSW26,S
W30を介してAバスへ入力されてFA2-6にてEAR1と加算さ
れる。次いでRAM7-1のレジスタEAR1に格納してあるSTE
(エンベロープデータE1′のスタートアドレス)が読み
出され、Dバス→ラッチ10-1→シフタセレクタ10-9を介
してラッチ10-4にラッチされる。ラッチ10-4の出力はビ
ット処理回路10-10によってLSBに“0"次いで“1"が入力
されて、第19表に示されているとおりの2バイトのエン
ベロープデータを読み出す。この値16ビットがラッチ10
-7にラッチされる。ラッチ10-7の出力に従って、初回の
ショートシーケンスでΔT1,ΔE1,ΔZ1、2回目のショー
トシーケンスでΔT2,ΔE2,ΔZ2,の値を発生する。先
ず、デコーダ10-11にはラッチ10-7の上位4ビットが入
力されているが、ラッチ10-7の上位4ビットには第19表
に示すところのΔTの値が入っている。故にデコーダ10
-11はΔTを第13表に従ってデコードし、セレクタ10-12
へ出力する。セレクタ10-12においては、この時C=1
となってB入力を選択レシフタ10-13へ出力する。この
セレクタ10-12出力はシフタ10-13、ノイズ回路10-14に
おいては何らビット操作が行われることなくラッチ10-2
を介してDバスに与えられ、MSW2-11においてSW10,HBバ
スを介してRAM7-2のレジスタΔT1に格納される。ΔE1,
ΔZ1,ΔE2,ΔZ2は、第19表に示されるところのZ,S,DATA
に応じてシフタ10-13にてビット操作が行われて各レジ
スタへ格納される。どのようなビット操作が行われるか
については第13図に示すとおりである。第19表における
Zの値に応じて、データフォーマットが異なる事を示し
ている。
次に、データバンク1-6よりΔSTEを読み出す時と同様に
RAM7-3よりレジスタHADの値を読み出してラッチ10-4に
ラッチし、ビット処理回路10-10にてヘッダアドレスデ
ータHADの下位3ビットに対し初回のイニシャルモード
ドでは100,次いで101,2回目のイニシャルモードでは11
0,次いで111を与えることによりデータバンク1-6よりST
W,ΔSTWを読み出し、STWをRAM7-3のレジスタSTW,ΔSTM
をRAM7-1のレジスタWARに格納する。
以上により、すべてのレジスタの初期設定が完了する。
(2) ノートクロックの発生方法 先ず楽音発生部1-5で用いているノートクロック発生法
の原理について第3図とともに説明する。第3図におい
て、3-1は分周器であり端子CKに入力されているマスタ
クロックを分周し、10ビットの分周出力をQより出力す
る。3-2は比較器で、A入力及びB入力の比較を行い、
A=Bとなった時にQより“1"を出力する。3-3はフリ
ップフロップであり、CK入力の立上りでD入力に与えら
れた信号をとり込みQより出力する。3-4は加算器であ
り、A入力とB入力の和をCより出力する。3-5は加算
器3-4のB入力に対して定数Mを入力する定数回路であ
る。3-6はRSラッチであり、S入力に正のパルスが入る
とQ=1となり、R入力に正のパルスが入るとQ=0と
なる。3-7はディレイ回路であり、入力信号を遅延させ
て出力する。3-8はANDゲートである。
次に第3図の動作を説明する。まず、RSラッチ3-6のQ
出力が“0"であるとすると、ANDゲート3-8の出力は常時
“0"であるのでフリップフロップ3-3のQ出力は一定で
ある。一方分周器はマスタクロックの分周より、00016
から3FF16をくり返す10ビットのQを出力する。仮にフ
リップフロップ3-3の出力がNであったとすると、当然0
0016≦N≦3FF16であるので必ずいつか分周器3-1のQ出
力=Nとなる瞬間が存在し、この時は比較器3-2のQ出
力より一致パルスが出力される。すると、この一致パル
スRSラッチ3-6の入力に入っているためにRSラッチ3-6の
Q出力は“1"となり書き込みパルスがANDゲート3-8より
出力される。フリップフロップ3-3のD入力には加算器3
-4のC出力が与えられているのでN+Mの値が書き込ま
れる。と同時に、書き込みパルスはディレイ回路3-7で
遅延された後RSラッチ3-6のQ出力を“0"にする。この
ため、再びフリップフロップ3-3のQ出力は一定となる
が、値はNからN+Mに変化している。故に次は分周器
3-1のQ出力がN+Mになった時に一致パルスを発生す
ることになる。これをくり返すことにより、比較器3-2
は分周器3-1の出力値がN,N+M,N+2M……となった時に
パルスを発生する。つまり分周器3-1がマスタクロック
をM回カウントするごとに一致パルスを生することにな
る。また、N+nM>3FF16となる場合においては、加算
器3-4の出力はオーバフローの後N+nM−3FF16となるた
めにやはりマスタクロックをM回カウントした時に一致
パルスが発生されることは言うまでもない。つまり、こ
の比較器3-2の一致パルスをノートクロックとし、定数
Mを変化させれば種々の周期のノートクロックが得られ
ることになり、その周波数は(マスタクロックの周波
数)÷Mとなる。また、SRラッチ3-6のQ出力が計算要
求フラグCLRQに相当する。
以上が本発明におけるノートクロック発生法の原理であ
る。
次に、第1図に示す楽音発生部1-5におけるノートクロ
ックの発生の演算シーケンスの詳細について説明する。
鍵盤1-1にて鍵が押圧され、マイコン1-4が楽音発生部1-
5に対して楽音の発生を指示すると、前述のように演算
シーケンスがイニシャルモードロングシーケンスより開
始する。先ずタイムスロット(13)で、 PDD+PED→PDR ……(2-1) 次いで、ショートシーケンスに入りタイムスロット
(1)…(6)で PDR+JD→L.B. ……(2-2) C.B.×CN→FR ……(2-3) の演算が行われる。次いでノーマルモードになり、ショ
ートシーケンスのタイムスロット(9)で FR+CDR→FR ……(2-4) ロングシーケンスのタイムスロット(14)〜(18)で PDR+JD→L.B. ……(2-5) C.B.×CN→FR ……(2-6) PDD+PED→PDR ……(2-7) の演算が行われる。ここで、PDDは第1表に示したPDD即
ちピッチデチューンデータであり、PEDは前述のピッチ
エクステンドデータである。JDは定数であり111510(16
進数では45B)という値がセットしてある。ノート係数C
Nはアサインされた音名により定まる値であり、音名とC
Nの関係は第7表に示してある。第5表、第6表の説明
に述べたとおり、演算(2-2),(2-3)及び演算(2-
5),(2-6)は下式のとおりに表せる。
(PDR+JD)×CN→FR ……(2-8) ここで、PDRはPDD+PEDであるので演算(2-8)は、 (PDD+PED+JD)×CN→FR ……(2-9) となる。このFRの値を演算(2-4)で示すようにCDRに累
算する。前述のようにこの累算はノートクロックが発生
するごとに一回行われる。故にCDRの初期値をNとする
と、CDRの値はN,N+FR,N+2×FR,……と変化する。こ
のCDRの上位10ビットの値とマスタクロックを順次分周
して得た10ビットの分周信号とを比較し、一致パルスを
発生するようにしているので、実際には、 との比較を行うことになり、CDRの上位10ビットが第3
図のフリップフロップ3-3に相当し、 が第3図の定数回路3-5の値Mに相当する。故に上記(2
-1)〜(2-7)の演算を行えば一定周期のノートクロッ
クが得られ、その周波数は となる。
(3) 波形発生方法 第1図楽音発生部1-5に示すところの波形発生方法は大
別して次の5ステップに分けられる。即ち: アドレス発生 データバンク1-6より波形データを読み出す際のアドレ
スを発生させる。
波形読み出し 上記のアドレスで指定さ波形データをデータバンク1-6
より読み出し、コントロールデータCONTに応じたビット
処理を行う。
エンベロープ乗算 2波混合 CN乗算 以下各ステップを詳しく説明する。
アドレス発生 押鍵によるイニシャル設定にてヘッダーデータのSTW(W
2のスタートアドレス)、ΔSTW(W1のワード数)、DIF1
(1波形に含まれるサンプル数)がレジスタSTW,WAR,DI
F1に格納され、また演算算によってレジスタΔWARが定
まる。これらのデータに基づきノーマルモードにてアド
レス発生を行うわけであるが、以下の処理において波形
データにPCM部がある場合(PCM=1)とない場合(PCM
=0)でアドレス発生が異なるのでPCM部がある場合とP
CMがない場合に分けて説明する。
PCM部がない場合 第6表に示すとおり、タイムスロット(2)にて、STW
とWARの和を求め、この和でもってデータバンク1-6から
波形1の読み出しを行い、タイムスロット(4)にて上
記の和に更にDIF1を加えたもの即ちSTW+WAR+DIF1の値
でデータバンク1-6から波形2の読み出しを行ってい
る。ここで、STWは波形2の先頭アドレスであり、レジ
スタWARには初期値としてΔSTW即ち波形1に含まれるワ
ード数の負数が入っており、タイムスロット(7)にて
ΔWARを累算していく。故にSTW+WARの値は、波形1の
先頭アドレスより順次ΔWARの値ごとに増加する値とな
る。また、ST+WAR+DIF1の値はこの値にDIF1を加えた
ものであるので、波形2の先頭アドレスよりΔWARおき
に増加する値となる。ここで、ΔWARは、波形の読みと
ばしを表わす値であるので、以上のようにして波形1及
び波形2に対するアドレスを発生することができる。
また、本発音発生部1-5においては、PCM部が無しで、且
つソロフラグSOL=0で且つオクターブシフトが行われ
ない場合に位相合わせを行う。位相合わせの方法は、演
算シーケンスがイニシャルモードからノーマルモードに
転じた時の初回のタイムスロット(7)に演算結果とし
てRAM8-13における同音名をアドレスとするデータ9ビ
ットをレジスタWARに格納する。RAM8-13の出力は9ビッ
トであるが、Cバスはプリチャージされているので全16
ビットの前述の9ビットより上位7ビットには“1"が入
る。2回目以降のタイムスロット(7)の演算結果は、
第6表に示すとおりレジスタWARに格納されるとともにR
AM8-13における同音名をアドレスとするレジスタ(位相
レジスタ)に更新される。このようにすることにより、
他のチャンネルで同音名の楽音を既に発生している場合
であっても、そのチャンネルにおけるレジスタWARの値
がRAM8-13を介してこれから楽音を発生しようとしてい
るチャンネルのレジスタWARに与えられるためにこれら
2チャンネル間での位相を合わせることが可能となる。
ここで、タイムスロット(7)の演算WAR+ΔWARについ
て述べる。
WAR+ΔWAR≧0となると音域とは無関係に演算結果とし
てCバスには−51210(FF0016)が与えられる。オクタ
ーブシフトが無い場合はΔWAR=1であるので、レジス
タWARの値は512を周期としてくり返すことになる。
以上により同じノートを発生する複数チャンネルの各々
のレジスタWARは常に同一となるので、異なる複数チャ
ンネルの発生する同じノートの波形の位相が完全に一致
することとなり、位相合わせが実現される。
次にタイムスロット(2)における演算STW+WARを更に
詳しく説明する。
RAM7-3のレジスタSTWよりデータが読み出され、MSW2-11
に示すところのHCバス、SW11、Aバスを介しクロックψ
3によりFA2-6のラッチ8-1にラッチされる。同時にRAM7
-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を周期として変
化しているにもかかわらず、各オクターブに応じた周期
で変化していくことになる。例えば、ORG=5,OCT=2の
場合はオクターブシフトはなくイニシャル処理の項で述
べたとおりΔWAR=1である。また第21表より、レジス
タWARのビット7,8が常に1になるので、タイムスロット
(2)の演算結果は仮にSTW′=0とすると −10,−9,…−1,−128,−127,…−1,−128… となって128の周期でくり返すことになる。また、ORG=
4、OCT=5の場合は2オクターブシフトとなりΔWAR=
4となる。また第21表によりレジスタWARのビット6,7,8
が常に1になるので同様に −40,…−8,−4,−64,−60,−56…−4,−64,… となって16の周期でくり返すことになる。
OCT=2の時くり返し周期が128であり、OCT=5の時く
り返し周期が16であることは、第22表により所望の波形
ポイントが得られていることを示している。
またORG=4,OCT=5の際、レジスタWARが4ずつ歩進し
ていることは、第18表に示される通り波形サンプル数64
のデータを4サンプルに1点ずつ得ることにより本来の
波形データのオクターブを2オクターブ上げることがで
きることを示している。
PCM部がある場合 PCM部がある場合のアドレス発生はPCM部がない場合と比
較してタイムスロット(2)における演算が異なり、他
は同様である。
タイムスロット(2)においてはSTR+WARの演算が行わ
れる。即ち: RAM7-3のレジスタSTWよりデータが読み出され、HCバ
ス、SW11、Aバスを介してクロックψ3によりFA2-6の
ラッチ8-1にラッチされる。同時に、RAM7-1のレジスタW
ARの値がHAバス、SW2、バスを介してFA2-6のラッチ8-2
にラッチされる。ここで、ラッチ8-1の出力はビット処
理回路8-10、ラッチ8-2の出力はビット処理回路8-11に
入力されるが双方の出力ともビット処理を行われること
なくラッチ8-3、ラッチ8-4へ送られ、加算器8-9にて加
算される。
ここで、レジスタWARの値について考えると、PCM部がな
い場合にはレジスタWARには初期値として波形一周期に
含まれるサンプル数の負数が書き込まれるが、PCM部が
ある場合には、レジスタWARの初期値としてPCM部として
用いる波形のすべてのサンプル数の負数が書き込まれ
る。故に、タイムスロット(2)の演算結果はデータバ
ンク1-6における波形1のPCM部先頭アドレスから順次Δ
WARずつ増加した値となる。PCM部終了の検出はタイムス
ロット(7)における演算においてWAR+ΔWAR≧0とな
ることを検出して行い、PCM部終了後のアドレス発生はP
CM部がない場合と全く同じであり、ビット処理回路8-11
によるビット処理が行われる。
なお、楽音発生部1-5におけるアドレス演算は16ビット
であるが、16ビットのアドレス信号では充分でない場合
が当然考えられる。そこで、本楽音発生部1-5において
は、タブレットデータTABの上位3ビットを用いてアド
レス空間が拡張できるようになっている。I/O 2-10にお
けるラッチ10-3がアドレス空間拡張用のラッチであり、
ラッチ10-3にタブレットデータTABの上位3ビットがラ
ッチされる。即ち: 押鍵によりイニシャルモードになると、RAM5-4に格納さ
れたタブレットデータがMSW2-11を介してRAM7-3のレジ
スタTAB′に格納される。次いでノーマルモードに入る
と、RAM7-3のレジスタTAB′の値が読み出され、MSW2-11
を介してI/O 2-10におけるラッチ10-3にラッチされる。
このようにして内部演算は16ビットでありながら19ビッ
トのアドレス空間をアクセスすることができる。
波形読み出し 波形読み出しはタイムスロット(2),(4)にて行わ
れたアドレスに基づいて行われる。タイムスロット
(2)による演算結果はCバス、SW28、HLバス、SW30、
Dバスを介してI/O 2-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ビット右シフトされ、MSBに“1"が加え
られてラッチ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ワー
ド分に相当する。ラッチ10-7の出力はセレクタ10-12を
介してシフタ10-13に与えられ、上位8ビットは4ビッ
ト右にシフトされ、ラッチ10-1の出力のLSB=0ならば
下位8ビットも4ビット右シフトされ、LSB=1ならば
下4ビットがシフトされずにシフタ10-13より出力され
る。ここで、コントロールデータCONTにおいてW8=1即
ち8ビット波形の指定がある場合には、シフタ10-13は
下位4ビットを“0"にして出力する。シフタ10-13の出
力はノイズ回路10-14、ラッチ10-2を介してDバスに与
えられ、MSW2-11を介してRAM7-3のレジスタWR1に格納さ
れる。この値が波形1の波形データである。
タイムスロット(4)によって得られたアドレスについ
ても同様の処理が行われる。ただし、コントロールデー
タCONTにおいてNA=00でない場合にはノイズ回路10-14
においてノイズ信号が加えられる。AN=01の時にはビッ
ト9が、NA=10の時にはビット10が、NA=11の時にはビ
ット9及び10がノイズ信号におきかえられる。このよう
にして、加算器を用いずにノイズ信号を重畳している。
これが波形2の波形データとしてRAM7-2のレジスタWR2
に格納される。
本実施例では12ビットの波形データの第9ビットと第10
ビットとをNA信号により選択的にノイズ信号に置き換え
る例を示したが、どのビットをノイズ信号に置き換える
かは全く自由であり、ビット位置を変えることによりノ
イズの音量をおさえることができる。
第10図(イ)におけるノイズ回路10-14の具体回路例を
第10図(ロ)〜第10図(ホ)に示す。
Aはノイズを付与すべきビットの入力信号、Cはノイズ
を付与すべきビットの出力信号であり、Bは付加すべき
ノイズ信号、NAはノイズ付加を指示する信号、SQはノイ
ズを付加するタイミングを表すシーケンス信号である。
つまりNAの指示により所定のタイミングで、ノイズ信号
(B)によりデータの所定のビット信号(A)にビット
操作を行う。SQ信号が必要な理由は、この所定のビット
のデータラインには、ノイズ付加すべきデータ以外の様
々なデータが通っているので、ノイズ付加すべきデータ
の通るタイミングをSQ信号によって指示する必要がある
ためである。
第10図(ロ)は、波形データのビットAをノイズ信号に
置き換える例である。
第10図(ハ)は、波形データのビットAとノイズ信号と
の論理和をとって、ビットAと置き換える例である。
第10図(ニ)は、波形データのビットAとノイズ信号と
の論理積をとり、ビットAと置き換える例である。
第10図(ホ)は、波形データのビットAとノイズ信号と
の排他的論理和をとり、ビットAと置き換える例であ
る。
ノイズ付与の目的は、楽器音に生々しさを与えるための
もので特にフルート等には息づきの音として不可欠であ
る。
第10図(ロ)の例では、波形データの特定ビットをノイ
ズと置き換えるだけであるから、波形つまり音色とは無
関係にノイズが加えられる。それに対し第10図(ハ)〜
第10図(ホ)の例では、音色とノイズ間には何らかの関
係がある。これらは適応楽器の特性に合わせて選択でき
る。
以上、波形データの所定ビットにノイズ信号を付与する
例を示したが、ノイズ付与はこれに限らない。
同様にエンベロープE1またはE2の所定ビットにノイズ信
号を付与することも本発明に含む。この場合第10図
(ロ)〜第10図(ホ)に示したノイズ回路を第8図の加
算器8-9以後に設ける。
同様に楽音信号、WE1又はWE2又は(WE1+WE2)×VLDの
所定ビットにノイズ信号を付与することも本発明に含
む。この場合、ノイズ回路を第9図の乗算器9-16以後に
設ける。
エンベロープ乗算 上記のようにして波形1、波形2の2種類の波形データ
がられたが、この波形データに対してエンベロープの乗
算を行う。波形1に対するエンベロープはRAM7-3のレジ
スタER1に、波形2に対するエンベロープはRAM7-3のレ
ジスタER2に入っている。ここで、エンベロープについ
て述べると、エンベロープは指数部4ビット仮数部9ビ
ットの13ビット浮動小数点表示になっている。エンベロ
ープ乗算は各チャンネル2回行われているがそれぞれの
動作は同様であるので、タイムスロット(7)〜(9)
におけるWR1×ER1の演算について説明する。
RAM7-3のレジスタER1のデータがMSW2-11を介してMPLY2-
7のラッチ9-3及びラッチ9-5にラッチされる。ここで、
ラッチ9-3にはレジスタER1の下位10ビットが、ラッチ9-
5にはレジスタER1のビット9-12がラッチされる。次いで
RAM7-3のレジスタWR1のデータがMSW2-11を介してMPLY2-
7のラッチ9-1にラッチされる。ラッチ9-3の出力はビッ
ト処理回路9-12においてそのMSBが“1"にされてラッチ9
-4にラッチされる。即ち、ラッチ9-4にはエンベロープ
の仮定部がラッチされる。ラッチ9-1の出力はシフタ9-1
1を介してラッチ9-2にラッチされる。この際エンコーダ
9-10のC入力にはSQ信号によって1が与えられており、
シフタ9-11のC入力には00001が与えられる。故にシフ
タ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バスよりMSW2-11を介してRAM7-1のレジスタW
E1に格納される。波形2の波形データとエンベロープの
乗算も同様にして行われRAM7-4のレジスタWE2に格納さ
れる。
2波混合 上記のようにして、レジスタWE1,WE2に波形が格納され
た。このステップではWE1とWE2の和を求める。タイムス
ロット(1)における演算がこれに相当する。
CN乗算 タイムスロット(1)で2波混合を行うが、本楽音発生
部1-5におては、ABM2-9及びフィルタ1-7の性によっては
音名に応じて発生される音圧レベルが異なる場合があ
る。このための補正を行うのがCN乗算である。ここでは
補正の為の係数としてノート係数CNをそのまま用いてい
る。タイムスロット(1)におけるWE2+WE1の演算結果
が、CバスよりSW28、HLバス、SW29、Lバスを介してMP
LY2-7のラッチ9-1にラッチされる。一方メモリ2-5のROM
7-5よりノートデータNDに応じてノート係数CNが読み出
され、HDバス、SW24、Lバスを介してMPLY2-7のラッチ9
-3にラッチされる。
ここで、WE1+WE2は16ビットのデータであるが乗算器9-
16のA入力は12ビットであるのでMPLY2-7では次のよう
な処理を行っている。即ち、ラッチ9-1の上位5ビット
がエンコーダ9-10に入力され、エンコーダ9-10が第9表
に示すとおりのデータをA,B両端子より出力する。つま
り、ラッチ9-1におけるデータが実質何ビットであるか
を求め、この結果に応じてシフタ9-11によってラッチ9-
1より12ビットをとり出す。例えば、ラッチ9-1の値が3A
2616の場合は、このデータは実質15ビットのデータであ
るのでシフタ9-11はラッチ9-1のビット14以下の12ビッ
トをとり出し、シフタ9-11の出力は74416となる。この
ようにしてWE2+WE1の実質の部分とノート係数との乗算
を行い、シフタ9-15によって元のビット数にもどし、ラ
ッチ9-9でラッチする。
以上のようにして少ないビット数の乗算器を用いて大き
なビット数のデータの乗算を行っている。このようにし
て得られた値をDAC2-8へ出力し、ABM2-9で所定の周期に
補正されて楽音信号として出力される。
ところで、本楽音発生部1-5においては、先に述べたよ
うにマイコンの指示により第1表のフラグVOLにより、C
N乗算をVLD乗算に切換えることができる。即ち、ロング
シーケンスにおいて、RAM5-6のレジスタVLD8ビットが、
MSW2-11を介してRAM7-4のレジスタLVD′に送られる。送
出の際にMSW2-11においてビットシフトがなされ、8ビ
ットのデータを2ビット左シフトし更に下位2ビットに
“0"を追加し、10ビットのデータに変換される。このこ
とによりVLDのビット数はCNのビット数と同一となる。W
E2+WE1の値にROM7-5の値を掛けるか、レジスタVLD′の
値を掛け合わせるかは第1表におけるフラグVOLで決ま
り、VOL=0ならばROM7-5がHDバスにデータを送出し、V
OL=1ならばRAM7-4がHDバスにデータを送出する。
上記のように構成することにより、マイコン1-4によっ
て楽音発生部1-5の出力する楽音信号のレベルを変える
ことが可能となり、第1表のVLDの値を順次変えること
により振幅変調をかけることが可能となる。
鍵盤を押下する速さと圧力の少なくとも一方に基づきVL
Dを作成すると、タッチレスポンス機能が実現する。
タッチレスポンス機能とは鍵盤の操作の速さ・強さ等に
よって音量・音色等が変化することである。例えばピア
ノは、強く打鍵すると音量が大きいだけでなく音色も華
やかなものになり、弱く打鍵すると音量が小さいだけで
なく音色もこもったものとなる。打鍵の強さに応じて音
量も音色も自在に変化するが、ピアノの場合は打鍵の
後、鍵盤を押す強さを変化させても、減衰しつつある音
質には変化を加えることができない。このようにピアノ
は打鍵の強さのみがタッチレスポンス機能となってい
て、このような機能を特にイニシャルタッチコントロー
ルと呼ぶ。一般に打楽器がこれに属する。
一方、トランペットは息の強さにより持続している音質
をも変化することができるので、この音を模倣して電子
楽器の鍵盤操作で演奏する場合も、押鍵によりトランペ
ット音を発生中に押鍵の強さを増減することで音量・音
色に変化を与えることが必要となる。このような機能を
特にアフタータッチコントロールと呼ぶ。一般に、弦楽
器と管楽器がこれに属する。
本発明の実施例では先に述べたように、VOLフラグによ
りVLD乗算を行うことにより、各チャンネル独立に音量
を制御することができる。
応用例として、打鍵の強さを計測して、強さに応じてVL
Dの値を作成してマイコンから転送することにより、打
鍵毎に転送された異なるVLDに応じて各音の音量が変化
することになる。
マイコンがVLDを転送する際、VLDの値に応じてタブレッ
トデータを切換えて転送すると、本実施例の楽音発生部
はVLDの値に応じて音量と共に音色をも変化させられる
ことは、先に掲げた機能説明で明らかである。
この音色の切換について、VLDが8ビットの例で説明す
る。
第23表に、VLDの値の範囲と、それに対応する強弱名と
タブレット名の一例を示す。
VLDが1ビット小さくなる毎に、音量は1/2つまり6dB小
さくなり、これを音楽用語の強弱名の各々に割当ててあ
る。またの強さには華やかな音色が必要なので高調
波の豊富な波形データをタブレット0に割当て、mpより
小さい音量ではこもった音色が必要なので正弦波に近い
波形データをタブレット3に割当てるように、複数種類
の波形データをデータバンクに準備しておく。
このようにすると、打鍵の強さによってVLDの数値範囲
で音色が4通り切換えられると同時に8ビットのVLDに
応じて256通りの音量が指定できる。
以上はイニシャルタッチコントロールであったが、同様
に打鍵後の押鍵圧の大小に応じて、刻々と変化するVLD
と、VLDの値に応じて刻々と変化するタブレットデータ
とをマイコンが送出すると、本実施例の楽音発生部は打
鍵後の押鍵圧の変化に応じて刻々と、音色と音量とを変
化させることができる。
以上がアフタータッチコントロールである。
(4) エンベロープ発生方法 楽音発生部1-5におけるエンベロープの発生方法は次の
3ステップに分けられる。即ち、 アドレス発生 エンベロープデータの読み出し エンベロープ計算 以下各ステップを詳しく説明する。
アドレス発生 押鍵によるイニシャル設定にて、ヘッダデータのSTE
(エンベロープデータE1′のスタートアドレス)、ΔST
E(エンベロープデータE1′のワード数)に基づいてレ
ジスタEAR1,EAR2,TR1,TR2,ΔT1,ΔT2が初期設定されて
いる。これらのデータをもとにアドレスの演算が行われ
る。アドレスの演算は演算頻度が少なくてもよいので演
算シーケンスのロングシーケンスにて行っている。更
に、ロングシーケンスの奇数回目でエンベロープデータ
E1′のアドレス演算を、偶数回目でエンベロープデータ
E2′のアドレス演算を行っている。
奇数回目のロングシーケンスにおいて、タイムスロット
(13)で ΔT1+TR1→TR1 ……(4-1) タイムスロット(15)で ΔEAR1+EAR1+Ci→EAR1 ……(4-2) の演算が行われEAR1の値を用いてデータバンク1-6の読
み出しを行う。タイムスロット(15)のCiはタイムスロ
ット(13)にて行われるΔT1の累算によって生じたオー
バーフローに当る。ここで演算(4-1)を詳しく説明す
る。
先ず、RAM7-2のレジスタΔT1の値がHBバス、MSW2-11を
介してFA2-6のラッチ8-1にラッチされる。同時に、RAM7
-3のレジスタTR1の値がHCバス、MSW2-11を介してFA2-6
のラッチ8-2にラッチされる。ラッチ8-1の出力はビット
処理回路8-10によってビット3が強制的に“0"にされ
(ビット3を“0"にする理由は後で述べる。)、ラッチ
8-3でラッチされる。ラッチ8-2の出力はビット処理回路
8-11を介してラッチ8-4でラッチされる。ここでビット
処理回路8-11においてはビットの変換等の処理は施され
ない。ラッチ8-3及びラッチ8-4の出力を加算器8-9にて
加算し、ラッチ8-7、ラッチ8-8を介してCバスに与え、
MSW2-11を介してRAM7-3のレジスタTR1に加算結果を格納
する。ここで加算結果にオーバーフローが生じた場合
は、加算器8-9のCoより“1"が出力される。この出力を
ラッチ8-6にてラッチし、タイムスロット15の演算の際
に使用する。但し、これは波形データにPCM部がない場
合についてであり、波形データにPCM部がある場合(フ
ラグPCM=1)にはPCM部を読み終えるまでレジスタTR1
に対し演算結果として強制的に“0"が入力される。故に
ΔT1の累算によるオーバーフローが生じることがない為
PCMを読み終えるまではEAR1の値が更新されることはな
い。ΔT1はイニシャル処理の項で述べたとおり第13表に
おけるC=0時のD出力の値であり、レジスタTR1は16
ビットのレジスタであるので、例えばΔT1=400016であ
れば演算(4-1)は4回行われるとレジスタTR1はオーバ
ーフローし、演算(4-2)のCi=1となりアドレスの更
新が行われる。ここで、演算(4-1),(4-2)はロング
シーケンスの2回に1回行われる。第1図(ハ)で示す
とおり、同じチャンネルのロングシーケンスは388タイ
ムスロットの周期、即ち1タイムスロットは250nsであ
るので97μsの周期に現われる。故に演算(4-1),(4
-2)は194μs毎に行われ、ΔT1=400016である場合に
は776μsでアドレスの更新が行われることになる。
ところで、エンベロープデータは2バイトで構成されて
いるので、アドレスの更新の際は2ずつ更新されなけれ
ばならない。タイムスロット(15)においては次のよう
にしてアドレスの更新を行っている。
先ず、ΔEAR1はΔT1によって定まる値であり、ΔT1≠00
0816の時にはΔEAR1=000016であり、ΔT1=000816の時
にはΔEAR1=FFEB16=−2110である。この操作はMSW2-1
1におけるSW31にて行われる。SW31は第11図(リ)に示
すようになっており、ΔT1のビット3の値を示すフラグ
TOによって制御している。今仮にΔT1≠000816とする
と、W31によりAバスに000016が、RAM7-1のレジスタEAR
1よりHAバス、MSW2-11のSW2を介してBバスにEAR1の値
が与えられる。これらの値がFA2-6のラッチ8-1,ラッチ8
-2にラッチされる。ラッチ8-1の出力はビット処理回路8
-10を介してラッチ8-3へ送られる。ここで、ビット処理
回路8-10ではデータの変換は行われないようになってい
る。同時に、ラッチ8-2の出力はビット処理回路8-11に
与えられ、データのLSBが強制的に“1"にされてラッチ8
-4へ送られる。即ちビット処理回路8-11にて予め1が加
えられる。また、先に述べたラッチ8-6に格納されてい
る演算(4-1)によるオーバーフローがラッチ8-5にラッ
チされる。故にラッチ8-3,ラッチ8-4及びラッチ8-5の値
の加算を行うと、ラッチ8-5の値が“1"であればEAR1の
値に“2"が加えられることになる。一方、ラッチ8-5の
値が“0"の場合はEAR1の値は1増加されたままとなる
が、イニシャル処理の項で述べたように、I/O 2-10にお
いてLSBに強制的に“0",“1"を与えるので不都合は生じ
ない。
ところでΔT1=000816の場合には、ΔEAR1がFFEB16(−
2110)となる。故にEAR1の値から2110引かれることにな
り、10ワード前のエンベロープデータが読まれることに
なる。これにより、エンベロープデータのアドレスがル
ープすることになり、マンドリンのようなくり返しエン
ベロープを発生することができる。先に演算(4-1)に
て、ビット処理回路8-10にてビット3を“0"にすると述
べたが、その理由はビット3がΔEAR1-FFEB16とするビ
ットであり、この演算を行う際にレジスタTR1に000816
を加えないようにする為である。
ロングシーケンスの偶数回目におけるΔT2,TR2,ΔEAR2,
EAR2の演算も同様にして行われる。
なお、EAR1,EAR2に関する演算は全く独立に行われる
為、波形1,波形2に対して全く異なったエンベロープ信
号を発生させることができるのは言うまでもない。ま
た、EAR1又はEAR2のくり返しについてもくり返しの周期
を異ならしめることが容易であるので種々の効果を得る
ことができる。
エンベロープデータの読み出し エンベロープデータの読み出しはロングシーケンスにお
いて行い、偶数回目に波形1のエンベロープデータを、
奇数回目に波形2のエンベロープデータの読み出しを行
う。
レジスタEAR1,EAR2の値に基づいて行うエンベロープデ
ータの読み出し方についてはイニシャル処理の項で述べ
たものと全く同じであり、I/O 2-10にてデータバンク1-
6より読みとったデータのフォーマット変換を行いなが
らレジスタΔT1,ΔT2,ΔZ1,ΔZ2,ΔE1,ΔE2に格納して
いく。
エンベロープ計算 エンベロープデータの読み出しにより、ΔZ1,ΔZ2,ΔE
1,ΔE2にデータが格納されており、またイニシャル処理
によりER1,ER2,ZR1,ZR2に初期値が与えられている。こ
れらの値に応じてエンベロープ計算を行う。
エンベロープ計算の基本は加算部のタイムスロット
(3),(5),(6),(8)である。タイムスロッ
ト(3),(5)によって波形1のエンベロープを計算
し、タイムスロット(6),(8)によって波形2のエ
ンベロープを計算する。ここで、タイムスロット
(5),(8)のCiはタイムスロット(3),(6)に
よる演算で生じたオーバーフローであるが、タイムスロ
ット(3),(6)にて生じたオーバーフローがどのよ
うにしてタイムスロット(5),(8)で加えられるか
については、アドレス発生のタイムスロット(13),
(15)で述べたものと同様である。このようにして得ら
れたER1,ER2の値がエンベロープデータである。
ところで、エンベロープ計算は各種モードによって異な
る。各種モードとは、 1) 波形がPCMを有する場合と有しない場合。(PCM=
1/0) 2) ピアノ型エンベロープの場合とオルガン型エンベ
ロープの場合。(P/O=1/0) 3) ダンパフラグをオンした場合とオフした場合。
(DMP=1/0) の3種である。以下個々の場合について説明する。
PCM=0かつP/O=0 初期設定はER1,ER2,ZR1,ZR2とも“0"であり、鍵が押圧
されている時はレジスタΔE1,ΔE2,ΔZ1,ΔZ2の値に従
ってエンベロープの演算を行う。鍵が離されると、タイ
ムスロット(3),(5),(6),(8)のΔZ1,ΔE
1,ΔZ2,ΔE2の値として、UCIF2-3の信号処理器5-6より
リリースデータが発生され、レジスタΔZ1,ΔE1,ΔZ2,
ΔE2の値のかわりに用いられる。
なお、このモードにおいてはダンパフラグDMPによって
演算は何ら影響はされない。
PCM=0かつP/O=1 初期設定はER1,ER2,ZR1,ZR2とも“0"であり、鍵が押圧
されている時はレジスタΔE1,ΔE2,ΔZ1,ΔZ2の値に従
ってエンベロープの演算を行う。鍵が離されると、ダン
パフラグDMP=1の場合は引き続きレジスタΔE1,ΔE2,
ΔZ1,ΔZ2の値に従ってエンベロープの演算を行い、ダ
ンパフラグDMP0の時はPCM=0かつP/O=0の場合と同じ
である。
PCM=1かつP/O=0 初期設定は、EA1=1FFF16,ER2=0,ZR1=0,ZR2=0であ
る。鍵が押圧されており、波形1がPCM部を読み出して
いる時は初期値が保持され、PCM部を読み終えると、レ
ジスタΔE1,ΔE2,ΔZ1,ΔZ2の値に従ってエンベロープ
の演算を行う。鍵が離されると、波形1がPCM部を読み
出しているいないに関係なくUCIF2-3の信号処理器5-6に
よるリリースデータに基づいて演算が行われる。即ちPC
M=0かつP/O=0の場合に帰着する。
なお、このモードにおいてはダンパフラグDMPによって
演算は何ら影響を受けない。
PCM=1かつP/O=1 初期設定は、ER1=1FFF16,ER2=0,ZR1=0,ZR2-0であ
る。ダンパフラグDMP=0の場合は、1度鍵が押圧され
ると離鍵のタイミングには無関係に演算が行われる。即
ち、波形1がPCM部を読み出している時にはレジスタER
1,ER2,ZR1,ZR2は初期値が保持され、PCM部を読み終える
とレジスタΔE1,ΔE2,ΔZ1,ΔZ2の値に従って演算が開
始される。ダンパフラグDMP=1の場合は、PCM=1かつ
P/O=0の場合と全く同じである。
以上述べたように、種々のモードに応じて自由にエンベ
ロープ信号を発生することができる。また、ΔE1,ΔZ1
とΔE2,ΔZ2は全く独立に設定でき、そのデータはアド
レス発生の項にて明らかなとおりΔT1,ΔT2によって定
まる時間で更新されるので前述の2種類の波形データと
相俟って種々の楽音が発生できる。
(発明の効果) 以上のように本発明は演奏操作部から送出される演奏情
報に基づいて所定の波形データと所定のエンベロープと
を発生し該波形データと該エンベロープを乗算して所定
の楽音データを発生する楽音発生部と、ノイズ信号を発
生するノイズ発生部と、上記演奏情報の指示により上記
波形データの所定のビットを上記ノイズ信号でビット操
作する手段とを有することにより、加算器を新たに設け
ることなく簡単な回路構成で、しかも種々の音量のノイ
ズ信号を含む楽音信号を発生させることができるという
優れた効果を有するものである。
【図面の簡単な説明】
第1図(イ)は本発明における情報処理装置の一実施例
のブロック図、第1図(ロ)はマイコンによるデータ転
送のタイミング図、第1図(ハ)は本発明において用い
られている演算タイムスロットを表わす図、第2図は本
発明における楽音発生部1-5の構成図、第3図は楽音発
生部1-5におけるノートクロック発生の原理図、第4図
は楽音発生部1-5におけるSEQ2-2の詳細図、第5図は同
じくUCIF2-3の詳細図、第6図は同じくCDR2-4の詳細
図、第7図は同じくメモリ2-5の詳細図、第8図は同じ
くFA2-6の詳細図、第9図(イ)は同じくMPLY2-7の詳細
図、第9図(ロ)はMPLY2-7にて使用している乗算器9-1
6の詳細図、第10図(イ)は楽音発生部1-5におけるI/O
2-10の詳細図、第10図(ロ)〜第10図(ホ)はノイズ回
路10-14の詳細図、第11図(イ)は同じくMSW2-11の詳細
図、第11図(ロ)〜第11図(リ)はMSW2-11に用いられ
ているスイッチのパターン図、第11図(ヌ)はMSW2-11
におけるデータ転送のタイミング図、第12図はデータバ
ンク1-6におけるデータフォーマットを示す図、第13図
はデータバンク1-6におけるエンベロープデータのデー
タフォーマットを示す図、第14図は従来の電子楽器のブ
ロック図である。 1-1……鍵盤、1-2……タブレット、1-3……効果スイッ
チ、1-4……マイコン、1-5……楽音発生部、1-6……デ
ータバンク、1-7……フィルタ、2-1……マスタクロッ
ク、2-2……シーケンサ(SEQ)、2-3……マイコンイン
ターフェース部(UCIF)、2-4……比較レジスタ部(CD
R)、2-5……メモリ、2-6……フルアダー部(FA)、2-7
……乗算部(MPLY)、2-8……ディジタルアナログコン
バータ(DAC)、2-9……アナログバッファメモリ部(AB
M)、2-10……入出力回路部(I/O)、2-11……マトリッ
クススイッチ部(MSW)。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】演奏操作部から送出される演奏情報に基づ
    いて所定の波形データと所定のエンベロープとを発生し
    該波形データと該エンベロープを乗算して所定の楽音デ
    ータを発生する楽音発生部と、ノイズ信号を発生するノ
    イズ発生部と、前記演奏情報の指示により前記波形デー
    タの所定のビットを、前記ノイズ信号で置き換える、又
    は、該波形データと前記ノイズ信号との論理和又は論理
    積又は排他的論理和のいずれか1つの出力と置き換え
    る、のいずれか一方の処理を行なう手段とを有すること
    を特徴とする電子楽器。
JP60095643A 1985-05-07 1985-05-07 電子楽器 Expired - Lifetime JPH079582B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60095643A JPH079582B2 (ja) 1985-05-07 1985-05-07 電子楽器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60095643A JPH079582B2 (ja) 1985-05-07 1985-05-07 電子楽器

Publications (2)

Publication Number Publication Date
JPS61254992A JPS61254992A (ja) 1986-11-12
JPH079582B2 true JPH079582B2 (ja) 1995-02-01

Family

ID=14143187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60095643A Expired - Lifetime JPH079582B2 (ja) 1985-05-07 1985-05-07 電子楽器

Country Status (1)

Country Link
JP (1) JPH079582B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2798913B2 (ja) * 1996-11-21 1998-09-17 株式会社河合楽器製作所 楽音波形生成装置及び楽音波形生成方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58174999A (ja) * 1982-04-08 1983-10-14 カシオ計算機株式会社 電子楽器
JPS5975294A (ja) * 1982-10-22 1984-04-27 松下電器産業株式会社 楽音合成装置

Also Published As

Publication number Publication date
JPS61254992A (ja) 1986-11-12

Similar Documents

Publication Publication Date Title
US4953437A (en) Method and apparatus for digitally generating musical notes
EP0201998B1 (en) Electronic musical instrument
JPH079582B2 (ja) 電子楽器
JPH08211879A (ja) 音響シミュレーション用システム、装置並びに方法
JP2580814B2 (ja) 楽音信号発生装置
JPH0656554B2 (ja) 電子楽器
JPH0419587B2 (ja)
JPH0522918B2 (ja)
JPH0584534B2 (ja)
JPH028318B2 (ja)
JPS61255397A (ja) 電子楽器
JPH0230035B2 (ja)
JPH0230034B2 (ja)
JPH023198B2 (ja)
JPH0230038B2 (ja)
JPH0230036B2 (ja)
JP2798913B2 (ja) 楽音波形生成装置及び楽音波形生成方法
JPH0230030B2 (ja)
JPH0418343B2 (ja)
JPH023199B2 (ja)
JPS61233788A (ja) 電子楽器
JPS61248095A (ja) 電子楽器
JPS61233789A (ja) 電子楽器
JPS61252591A (ja) 電子楽器
JPS61246794A (ja) 電子楽器

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term