JPH0656554B2 - 電子楽器 - Google Patents

電子楽器

Info

Publication number
JPH0656554B2
JPH0656554B2 JP60089919A JP8991985A JPH0656554B2 JP H0656554 B2 JPH0656554 B2 JP H0656554B2 JP 60089919 A JP60089919 A JP 60089919A JP 8991985 A JP8991985 A JP 8991985A JP H0656554 B2 JPH0656554 B2 JP H0656554B2
Authority
JP
Japan
Prior art keywords
data
latch
bits
bit
bus
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
JP60089919A
Other languages
English (en)
Other versions
JPS61249096A (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 JP60089919A priority Critical patent/JPH0656554B2/ja
Priority to US06/841,110 priority patent/US4709611A/en
Priority to DE8686301968T priority patent/DE3671997D1/de
Priority to EP86301968A priority patent/EP0201998B1/en
Publication of JPS61249096A publication Critical patent/JPS61249096A/ja
Publication of JPH0656554B2 publication Critical patent/JPH0656554B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は電子楽器に係り、特にメモリを読み出し、読み
出したデータに基づき楽音を発生するものに関する。
(従来の技術) 近年電子楽器はデジタル信号処理技術の導入により高度
な音色づくりを行えるようになった。このような電子楽
器は例えば特開昭59−214091号公報に示される。
そのブロック図を第14図に示した動作原理を説明する。
楽音発生部1と楽音合成データROM2がマイコンバスに接
続されている。演奏情報、例えば演奏された鍵盤の音程
・ON/OFF情報や、演奏中指示したヴィブラートやピッチ
コントロール等のエフェクト(効果)情報、或いはどの楽
器の音色で演奏するかというタブレット情報がマイコン
バスを通じて楽音発生部1に転送される。楽音発生部1
は、音程情報からノートデータとアクターブデータを作
成し、ナートデータでノートクロックを作成し、オクタ
ーブデータとタブレットデータによりアドレス信号を作
成する。ROM2には音色毎にオクターブ別に楽音の波形デ
ータが格納されている。楽音発生部1はROM2から、上記
アドレス信号をアドレスとし、上記ノートクロックを読
み出しクロックとして所望の波形データを読み出す。
楽音発生部1は読み出した波形データに所定のエフェク
トを付与して楽音データを作成し、ノートクロックに従
ってフィルタ3に送出する。フィルタ3は楽音データに
混入した雑音(量子化ノイズ、折返しノイズ)を除去しス
ピーカ4を送る。ROM2に格納された波形データは自然楽
器の音をデジタル的にコード化したもので、スピーカ4
から発音される音色は自然楽器音に近いものである。
第15図は楽音合成データROM2の構成図である。先頭アド
レス128 ワードは鍵盤の各鍵に対応しており、押圧され
た鍵に対応する制御データ、波形データがどれであるか
を示すデータであり、該当する制御データの先頭アドレ
スが書き込まれている。楽音発生部1は押鍵によって先
頭アドレスを読み取り、先頭アドレスに基づいて制御デ
ータ及び波形データを読み取りながら楽音波形を発生す
る。
(発明が解決しようとする問題点) しかしながら上記のような構成では、図示されていると
おり、波形データ、制御データとも16ビットのデータと
なっている。これは市販されているROM が1ワード8ビ
ットの構成となっているためであるが、波形データ、制
御データとして必ず16ビット必要であるとは限らず、例
えば波形データが12ビットで充分な場合は上位或は下位
4ビットは無駄となるものであった。
本発明は上記問題点に鑑み、ROM の使用効率を上げた電
子楽器を提供するものである。
(問題点を解決するための手段) 上記問題点を解決するため、本発明は波形データ1ワー
ドのビット数がN、上記データバンク1ワードのビット
数がMであってMとNの関係が、 である時、 データバンクの総ワード数をW、上記波形データ第i番
目のワードのデータの上位Mビットと下位(N−M)ビッ
トが上記データバンクに格納されているアドレスを各々
AiとBiとすると 但し[ ]はガウス記号であり、[ ]内の数値の整数
部を表す。
の関係が成立しているデータバンクを備えたものであ
る。
(作用) 本発明は上記した構成によってデータを上位ビットと下
位ビットに分け、下位ビットをまとめて1ワードとして
ROM に格納する。これにより利用されないビットが少な
く或は全くなくなるため、ROM の利用効率を著しく向上
させることができる。
(実施例) 以下図面に基づき本発明の一実施例を説明する。
第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
/OFFの状態に基づいて押圧されている鍵のコードを楽音
発生部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#と略す)をチャンネル1より出力
したい時には第1図(ロ)におけるアドレスとして000000
01,データとして10011110をマイコン1-4 より送出する
ことになる。次に、PDD はピッチデチューンデータであ
り調律をずらすための8bit のデータである。PDD は2
の補数表示にて表されており、可変範囲は-128〜+127の
256 通りである。RLD はリリースデータで、キーオフ後
の減衰特性を制御する4bit のデータである。VOL はボ
リュームフラグであり、このビットを“1”にすると後
述のボリュームデータVLD に応じて楽音発生部1-5 から
の楽音信号の出力レベル制御を可能にするものである。
DMP はダンパフラグであり、ピアノタイプエンベロープ
の場合のキーオフ後の減衰を急速な減衰にせめるフラグ
であり、DMP =1の時に機能する。SOL はソロフラグで
あり、他のチャンネルと同音名の楽音がアサインされた
時にそのチャンネルの発生している楽音とこれから発生
しようとしている楽音の位相特性を合わすか否かを選択
するフラグであり、SOL =1の時には位相合わせをキャ
ンセルする。TAB はタブレットデータであり、第1図に
おけるタブレット1-2 により指定されるデータがこの5
bit に入る。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 というレジスタの内容を加算してPD
R というレジスタに格納するということである。タイム
スロット(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,ΔZ
1/2 (6)〜(7) HAD → STW/ΔSTW → STW/WAR ここでタイムスロット(1)のA.B.は、データバンク読み
出しによって得られた値をレジスタ等を介さずに直接加
算部のA入力へ入力することを意味する。また、タイム
スロット(6)〜(7)の STW/ΔSTW → STW/WARは、ショートシーケンス1回
目即ちODD 時にはSTW というデータを読み出してSTW と
いうレジスタに格納し、2回目即ちEVEN時にはΔ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)におけるST
W + 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)のWE2 + W
E1の演算結果に相当する。また(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 というのは、奇数回目、即ち0DD 時には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 は比較レジスタ部(以下C
DR と称す)であり、前記演算シーケンスで示したレジス
タCDR 8チャンネル分とマスタクロックを順次分周して
得た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/0 と称す)であり、データバンク1-6 へアドレス
信号を送出し、そのアドレス信号に対応した波形デー
タ、エンベロープデータの読み出しを行い、必要に応じ
て読み出したデータのデータ変換を行う。2-11はマトリ
ックススイッチ部(以下MSW と称す)であり、UCIF2-3 、
CDR2-4 、メモリ2-5 に接続された横方向のバスライン
(HA ,HB,HC,HD,HE,HLの各バス)とFA2-6 、MPLY2-7
、I/0 2-10へ接続されている縦方向のバスライン(A,
B,C,D,Lの各バス)とを、SQ信号に応じて接続す
る回路である。これらの回路により第5表及び第6表に
示す演算シーケンスを実行するものである。
次に個々のブロックについて説明する。
第4図は第2図におけるSEQ2-2の詳細図である。
4-1 はカウンタであり、マスタクロックを分周し、第1
図(ハ)に示す種々のタイミング信号を発生する。TSは第
1図(ハ)におけるタイムスロットを表す信号であり、CH
C はチャンネルコードであり、第1図(ハ)におけるチャ
ンネルの番号を表わす信号である。EVは演算シーケンス
における0DD 、EVENを表す信号であり、EV=0は0DD 、
EV=1はEVENを意味する。4-2 はSQROM(シーケンスROM)
である、SQROM4-2のアドレス入力にはタイムスロットを
表す信号TSとフラグINI が入力されており、これらの入
力に基づいて各々のタイムスロットにおける各種制御命
令を発生している。4-3 は論理ゲートであり、SQROM4-2
による出力を各種フラグ及び計算要求フラグCLRQ等で更
に制御して、SQ信号(演奏情報、効果スイッチ1-3 等の
指示に従って、各機能ブロックが各タイムスロット毎に
どのように動作すべきかを指示する信号;図中ではSQと
略記)を発生する。
第5図はUCIF2-3 の詳細図である。第5図において、5-
1 はラッチであり、第1図におけるマイコン1-4 より与
えられるA/D 0〜7をALE によりラッチする。A/D 0〜
7とALE の関係は第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,VLD)及びコントロールデータ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のアド
レス0516番地に8916というデータが書き込まれる。この
ようにして第1表に示した各種データがRAM5-4に書き込
まれる。第1表に示すとおり、RAM5-4にはVOL フラグ、
PEフラグ等のフラグ類が書き込まれているが、これらの
フラグ類はHEバスを介して信号処理器5-6 へ送出し、こ
こで一旦ラッチした後使用している。
第6図はCDR2-4の詳細図である。6-1 はマスタクロック
を入力とした10ビットの分周器である。6-2 は比較器付
RAM(以下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信号からチャンネルコードCH
C 3ビットによりそのうちの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 即ちチャン
ネルを表す信号が入力してあるので、各ワードはそれぞ
れのチャンネルに対応しているので、チャンネルごとに
一致パルスを発生する。この一致パルスはそれぞれをRS
ラッチ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 ,EA
R1,ΔZ1,ΔE1,WE1 ,EAR2,ΔZ2,ΔE2の各レジスタ
が、RAM7-2にはWR2 ,ZR1 ,ΔT1,FR,ΔWAR ,ZR2 ,
ΔT2の各レジスタが、RAM7-3にはER1 ,TR1 ,DIF1,DW
1 ,ER2 ,TR2 ,STW ,TAB′,HAD の各レジスタが、R
AM7-4にはNOD′、WE2 ,VLD′の各レジスタがそれぞれ
を8チャンネル分格納されている。なおNOD′,TAB′,
VLD′は前述のRAM5-4におけるNOD ,TAB ,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
音のノートの個々の波形データ読み出し用アドレス(WA
R) の位相管理を行う。
第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ならばBに入力されている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図(イ)はNSW2-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〜b
3の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図(リ)はフラグT0によって定数の値を
変えるようにしたもので、T0=0ならば0016がバスに書
き込まれ、T0=1ならばEB16がバスに書き込まれる。第
11図(ハ)〜第11図(リ)に示すスイッチをMSW2-11 に用途
に応じて配して選択的に開閉することにより、任意のバ
スから他の任意のバスへのデータ転送が必要なビット処
理を含めて可能となる。例えば、HAバスからAバスへ、
HBバスからBバスへ、CバスからHCバスへ同時にデータ
を転送したい時にはSW1 ,SW7 ,SW13を同時にオンすれ
ばよい。また、CバスのデータをLバスとDバスに転送
したい時にはSW28,SW29,SW30をオンすれば、Cバス→
HLバス→Lバス及びDバスの経路でデータが転送され
る。
なお、MSW2-11 において、データの転送は第11図(ヌ)に
示すタイミングで行われる。即ち、ψ=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ビ
ットには000 〜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/0 :このヘッダデータによる楽音がピアノ型エンベロ
ープを有するかオルガン型エンベロープを有するかを示
すフラグであり、P/0 =1ならばピアノ型であることを
意味する。
ORG :当該の楽音データが本来どの音域に属していたか
を示す3ビットの情報であり、ORG と音域の対応は第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ワード分ずつ順次格納
してある。例えば、仮にアドレス044516にある波形デー
タの上位8ビットの下位4ビットの場所は、アドレス12
2216の上位4ビットということになり、アドレス044516
についてはアドレス122216の下位4ビットということに
なる。
このようにして効率的に波形データをROM に格納してい
る。即ち、仮にアドレスが000016〜FFFF16までのROM で
あったとすると、アドレス000016〜7FFF16に12ビットの
波形の上位8ビットが格納され、アドレス800016〜BFFF
16にその各々の下位4ビットが格納される。アドレスC0
0016〜FFFF16には12ビットの波形データは格納できない
が、8ビットの波形データ、或いは後述のエンベロープ
データを格納するようにすればほとんど無駄なくROM の
利用が図れる。
本実施例では波形データが12ビットの場合を示してある
が、波形データが10ビットの場合には、上位8ビットの
アドレスを2ビット右シフトして上位2ビットに1を入
れたアドレスに2ビットずつ4ワード分の下位2ビット
を格納するとよい。例えば上位8ビットのアドレスが12
2216であったとすれば、下位2ビットはアドレスC48816
のビット4、ビット5に格納することになる。このよう
にすれば、仮にROM のアドレスが上記のように000016
FFFF16であれば、波形データの上位8ビットをアドレス
000016〜BFFF16に格納し、下位2ビットをアドレスCFFF
16〜DFFF16に格納するようにすることになり、効率よく
諸データの格納が行なえる。
(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 への格納
はPDD+PED演算が行われる1タイムスロット後に行われ
る。以下加算演算についてはすべて同様である。次い
で、タイムスロット(15)〜(18)にてTR1,TR2,ZR1,ZR2
に“0”が書き込まれる。この動作は、TR1 に“0”を
書き込む場合について述べると、タイムスロット(15)に
て第11図(イ)のMSW2-11 においてSW33及びSW13がオンす
る。SW33は第11図(ト)のような構成になっており、Cバ
スに“0”が与えられる。同時にSW13がオンしているの
で、CバスのデータがHCバスに与えられ、第7図に示す
RAM7-3におけるレジスタTR1 に“0”が書き込まれる。
一方データバンク読み出し部においては、次のような動
作をする。以下第10図を中心に説明する。TAB,ND,OCT
で構成されたWRDによってヘッダアドレスデータHAD が
読み出される。なお、このイニシャル処理を行うイニシ
ャルモードにおいては、ラッチ10-3はSQ信号により111
にセットされている。このデータはI/0 2-10におけるシ
フタ10-13 によって第15図に示されるフォーマットにデ
ータが変換されDバスSW15,HCバスを介してRAM7-3のレ
ジスタHAD に格納される。この動作と同時に、データバ
ンクより読み出されたヘッダアドレスデータHAD は、ラ
ッチ10-8、ラッチ10-6で次々とラッチされ、シフタセレ
クタ10-9にて第15表に示すとおりのフォーマットにデー
タが変換されてラッチ10-4にラッチされる。ラッチ10-4
の出力に対し、先ずビット処理回路10-10 で下位3ビッ
トに対して000 で与えられてコントロールデータCONTが
データバンク1-6 より読み出されラッチ10-8を介してラ
ッチ10-7の上位8ビットにラッチされる。コントロール
データCONTはセレクタ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-13 の出力について考えると、ラッチ
10-7よりデコーダ10-11 へ入力されているデータはP/0
及びORG3ビットである。今デコーダ10-11 のC入力は
“1”であるので、デコーダ10-11 の出力はORG 3ビッ
トのみによって定まる。故にデコーダ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 、ノイズ回
路回路10-14 、ラッチ10-2 を介してDバスに与えら
れ、MSW2-11 においてSW5 を介してRAM7-1のレジスタEA
R1へ格納する。
次にショートシーケンスに入る。ショートシーケンスは
2回実行される。タイムスロット(1)でPDR とJDが加算
されるが、ここでJDは定数でありMSW2-11 においてSW32
をオンすることにより得られる。SW32は第11図(チ)に示
すような構成になっており、JD=45B16 となっている。
この加算結果に対してノート係数CNを掛け合わせてFRを
得る。この一連の円算を詳しく述べると、PDR +JDがタ
イムスロット(1)で演算され、その結果が前述のとおり
タイムスロット(2)にてCバスに与えられる。ここでMS
W2-11 においてSW28、SW29がオンし、Cバス→HLバス→
Lバスの順でデータが転送され、第9図(イ)におけるMP
LY2-7 のラッチ9-1 にラッチされる。次のタイムスロッ
ト(3)において、第7図のROM7-5によりノートデータND
に応じたCNの値が読み出され、HDバスに与えられる。こ
の値がMSW2-11 におけるSW19を介してLバスに与えら
れ、MPLY2-7 のラッチ9-3 にラッチされる。ラッチ9-1
の出力はシフタ9-11を介してラッチ9-2 へ、ラッチ9-3
の出力はビット処理回路を介してラッチ9-4 へ送られラ
ッチされる。故にラッチ9-2 にはPDR +JDの値が、ラッ
チ9-4 には、CNの値がラッチされている。次いで乗算器
9-16が(PDR+JD) とCNの積を算出し、シフタ9-15を介し
てラッチ9-8 へ送出されラッチされる。なおこれらの一
連の動作において、シフタ9-11 、ビット処理回路9-1
2、シフタ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+O
CT+1の値に対するΔWAR の値は第20表に示すとおりで
ある。
以下、タイムスロット(4)でEAR2,同(6),(8),
(9),(10)でWA1 ,ER1 ,WE2 ,WE1 ,WR2 の各レジス
タの初期設定を行っている。
一方データバンク読み出し部においては、前述のロング
シーケンスでRAM7-3に格納したヘッダアドレスデータHA
D を読み出し、Dバス→ラッチ10-1→シフタセレクタ10
-9を介してラッチ10-4にラッチし、ビット処理回路10-1
0 で下位3ビットに001 を入力してデータバンクよりヘ
ッダデータのΔSTE を読み出す。この値はラッチ10-7→
セレクタ10-12 →シフタ10-13 →ノイズ回路10-14 →ラ
ッチ10-2を介してDバスへ与えられ、MSW2-11 において
SW26,SW30を介して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-1
3 へ出力する。このセレクタ10-12 出力はシフタ10-13
、ノイズ回路10-14 においては何らビット操作が行わ
れることなくラッチ10-2 を介してDバスに与えられ、M
SW2-11 においてSW10,HBバスを介してRAM7-2 のレジス
タΔT1に格納される。ΔE1,ΔZ1,ΔE2、ΔZ2は、第19
表に示されるところのZ,S,DATAに応じてシフタ10-1
3 にてビット操作が行われて各レジスタへ格納される。
どのようなビット操作が行われるかについては第13図に
示すとおりである。第19表におけるZの値に応じて、デ
ータフォーマットが異なる事を示している。
次に、データバンク1-6 よりΔSTE を読み出す時と同様
にRAM7-3 よりレジスタHAD の値を読み出してラッチ10-
4 にラッチし、ビット処理回路10-10 にてヘッダアドレ
スデータHAD の下位3ビットに対し初回のイニシャルモ
ードでは100 ,次いで101 ,2回目のイニシャルモード
では110 ,次いで111 を与えることによりデータバンク
1-6 よりSTW ,ΔSTW を読み出し、STW をRAM7-3のレジ
スタSTW ,ΔSTW を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であったとすると、
当然00016≦N≦3FF16であるので必ずいつか分周器3-1
のQ出力=Nとなる瞬間が存在し、この時は比較器3-2
のQ出力より一致パルスが出力される。すると、この一
致パルスRSラッチ3-6 のS入力に入っているために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出力が計算要求フラグCL
RQに相当する。
以上が本発明におけるノートクロック発生法の原理であ
る。
次に、第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(1
6進数では45B) という値がセットしてある。ノート係数
CNはアサインされた音名により定まる値であり、音名と
CNの関係は第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 に相当し、FR/8が第3図の定
数回路3-5 の値Mに相当する。故に上記(2-1) 〜(2-7)
の演算を行えば一定周期のノートクロックが得られ、そ
の周波数は となる。
(3)波形発生方法 第1図楽音発生部1-5 に示すところの波形発生方法は大
別して次の5ステップに分けられる。即ち: アドレス発生 データバンク1-6 より波形データを読み出す際のアドレ
スを発生させる。
波形読み出し 上記のアドレスで指定された波形データをデータバンク
1-6 より読み出し、コントロールデータCONTに応じたビ
ット処理を行う。
エンベロープ乗算 2波混合 CN乗算 以下各ステップを詳しく説明する。
アドレス発生 押鍵によるイニシャル設定にてヘッダーデータのSTW(W2
のスタートアドレス)、ΔSTW(W1のワード数)、DIF1(1波
形に含まれるサンプル数)がレジスタSTW ,WAR ,DIF1
に格納され、また演算によってレジスタΔWAR が定ま
る。これらのデータに基づきノーマルモードにてアドレ
ス発生を行うわけであるが、以下の処理において波形デ
ータにPCM 部がある場合(PCM=1)とない場合(PCM=0)
でアドレス発生が異なるのでPCM 部がある場合とPCM が
ない場合に分けて説明する。
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 に格納されるとと
もにRAM8-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-1
1 に示すところの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 が51
2 を周期として変化しているにもかかわらず、各オクタ
ーブに応じた周期で変化していくことにある。例えば、 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オクターブシフトとなりΔWA
R =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のレジスタ
WAR の値がHAバス、SW2 、Bバスを介して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 部終
了後のアドレス発生はPCM 部がない場合と全く同じであ
り、ビット処理回路8-11によるビット処理が行われる。
なお、楽音発生部1-5 におけるアドレス演算は16ビット
であるが、16ビットのアドレス信号では充分でない場合
が当然考えられる。そこで、本楽音発生部1-5 において
は、タブレットデータTAB の上位3ビットを用いてアド
レス空間が拡張できるようになっている。I/0 2-10にお
けるラッチ10-3がアドレス空間拡張用のラッチであり、
ラッチ10-3にタブレットデータTAB の上位3ビットがラ
ッチされる。即ち: 押鍵によりイニシャルモードになると、RAM5-4に格納さ
れたタブレットデータがMSW2-11 を介してRAM7-3のレジ
スタTAB′に格納される。次いでノーマルモードに入る
と、RAM7-3のレジスタTAB′の値が読み出され、MSW2-11
を介してI/0 2-10におけるラッチ10-3 にラッチされ
る。このようにして内部演算は16ビットであるなが19ビ
ットのアドレス空間をアクセスすることができる。
波形読み出し 波形読み出しはタイムスロット(2),(4)にて行われた
アドレスに基づいて行われる。タイムスロット(2)によ
る演算結果はCバス、SW28、HLバス、SW30、Dバスを介
してI/0 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のレジスタWA1 に格納され
る。この値が波形1の波形データである。
タイムスロット(4)によって得られたアドレスについて
も同様の処理が行われる。ただし、コントロールデータ
CONTにおいてNA=00でない場合にはノイズ回路10-14 に
おいてノイズ信号が加えられる。AN=01の時にはビット
9が、NA=10の時にはビット10が、NA=11の時にはビッ
ト9及び10がノイズ信号におきかえられる。このように
して、加算器を用いずにノイズ信号を重畳している。こ
れが波形2の波形データとしてRAM7-2のレジスタWA2 に
格納される。
エンベロープ乗算 上記のようにして波形1、波形2の2種類の波形データ
が得られたが、この波形データに対してエンベロープの
乗算を行う。波形1に対するエンベロープはRAM7-3のレ
ジスタER1 に、波形2に対するエンベロープはRAM7-3の
レジスタER2 に入っている。ここで、エンベロープにつ
いて述べると、エンベロープは指数部4ビット仮数部9
ビットの13ビット浮動小数点表示になっている。エンベ
ロープ乗算は各チャンネル2回行われるがそれぞれの動
作は同様であるので、タイムスロット(7)〜(9)におけ
るWR1 ×ER1 の演算について説明する。
RAM7-3のレジスタER1 のデータがMSW2-11 を介してMPLY
2-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-11を介してラッチ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のレジスタ
WE1 に格納される。波形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 の
RAM7-3よりノートデータ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 の値が3A2616の場合は、このデータは実質15ビットの
データであるのでシフタ9-11はラッチ9-1 のビット14以
下の12ビットをとり出し、シフタ9-11の出力は74416
なる。このようにしてWE2 +WE1 の実質の部分とノート
係数との乗算を行い、シフタ9-15によって元のビット数
にもどし、ラッチ9-9 でラッチする。
以上のようにして少ないビット数の乗算器を用いて大き
なビット数のデータの乗算を行っている。このようにし
て得られた値をDAC2-8へ出力し、 ABM2-9で所定の周期に補正されて楽音信号として出力さ
れる。
ところで、本楽音発生部1-5 においては、先に述べたよ
うにマイコンの指示により第1表のフラグVOL により、
CN乗算をVLD 乗算に切換えることができる。即ち、ロン
グシーケンスにおいて、RAM5-6のレジスタVLD 8ビット
が、MSW2-11 を介してRAM7-3のレジスタLVD′に送られ
る。送出の際にMSW2-11 においてビットシフトがなさ
れ、8ビットのデータを2ビット左シフトし更に下位2
ビットに“0”を追加し、10ビットのデータに変換され
る。このことによりVLD のビット数はCNのビット数と同
一となる。WE2 +WE1 の値にROM7-5 の値を掛けるか、
レジスタVLD′の値を掛け合わせるかは第1表における
フラグVOL で決まり、VOL =0ならばRAM7-3がHDバスに
データを送出し、VOL =1ならばRAM7-3が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
小さくなり、これを音楽用語の強弱名の各々に割当てて
ある。またffの強さには華やかな音色が必要なので高調
波の豊富な波形データをタブレット0に割当て、mpより
小さい音量ではこもった音色が必要なので正弦波に近い
波形データをタブレット3に割当てるように、複数種類
の波形データをデータバンクに準備しておく。
このようにすると、打鍵の強さによってVLD の数値範囲
で音色が4通り切換えられると同時に8ビットのVLD に
応じて256 通りの音量が指定できる。
以上はイニシャルタッチコントロールであったが、同様
に打鍵後の押鍵圧の大小に応じて、刻々と変化するVLD
と、VLD の値に応じて刻々と変化するタブレットデータ
とをマイコンが送出すると、本実施例の楽音発生部は打
鍵後の押鍵圧の変化に応じて刻々と、音色と音量とを変
化させることができる。
以上がアフタータッチコントロールである。
(4) エンベロープ発生方法 楽音発生部1-5 におけるエンベロープの発生方法は次の
3ステップに分けられる。即ち、 アドレス発生 エベロープデータの読み出し エンベロープ計算 以下各ステップを詳しく説明する。
アドレス発生 打鍵によるイニシャル設定にて、ヘッダデータのSTE(エ
ンベロープデータE1′のスタートアドレス)、ΔSTE(エ
ンベロープデータE1′のワード数)に基づいてレジスタE
AR1,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とすると、
SW31によりAバスに000016が、RAM7-1のレジスタEAR1よ
り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/0 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 ,ΔEA
R2,EAR2の演算も同様にして行われる。
なお、EAR1,EAR2に関する演算は全く独立に行われる
為、波形1,波形2に対して全く異なったエンベロープ
信号を発生させることができるのは言うまでもない。ま
た、EAR1又はEAR2のくり返しについてもくり返しの周期
を異ならしめることが容易であるので種々の効果を得る
ことができる。
エンベロープデータの読み出し エンベロープデータの読み出しはロングシーケンスにお
いて行い、偶数回目に波形1のエンベロープデータを、
奇数回目の波形2のエンベロープデータの読み出しを行
う。
レジスタEAR1,EAR2の値に基づいて行うエンベロープデ
ータの読み出し方についてはイニシャル処理の項で述べ
たものと全く同じであり、I/0 2-10にてデータバンク1-
6 より読みとったデータのフォーマット変換を行いなが
らレジスタΔT1,ΔT2,ΔZ1,ΔZ2,ΔE1,ΔE2に格納
していく。
エンベロープ計算 エンベロープデータの読み出しにより、ΔZ1,ΔZ2,Δ
E1,Δ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/0=1/0) 3) ダンパフラグをオンした場合とオフした場合。(DMP
=1/0) の3種である。以下個々の場合について説明する。
PCM =0かつP/0 =0 初期設定はER1 ,ER2 ,ZR1 ,ZR2 とも“0”であり、
鍵が押圧されている時はレジスタΔE1,ΔE2,ΔZ1,Δ
Z2の値に従ってエンベロープの演算を行う。鍵が離され
ると、タイムスロット(3),(5),(6),(8)のΔZ1,
ΔE1,ΔZ2,ΔE2の値として、UCIF2-3 の信号処理器5-
6 よりリリースデータが発生され、レジスタΔZ1,ΔE
1,ΔZD,ΔE2の値のかわりに用いられる。
なお、このモードにおいてはダンパフラグDMP によって
演算は何ら影響はされない。
PCM =0かつP/0 =1 初期設定はER1 ,ER2 ,ZR1 ,ZR2 とも“0”であり、
鍵が押圧されている時はレジスタΔE1,ΔE2,ΔZ1,Δ
Z2の値に従ってエンベロープの演算を行う。鍵が離され
ると、ダンパフラグDMP =1の場合は引き続きレジスタ
ΔE1,ΔE2,ΔZ1,ΔZ2の値に従ってエンベロープの演
算を行い、ダイパフラグDMP 0の時はPCM =0かつP/0
=0の場合と同じである。
PCM =1かつP/0 =0 初期設定は、EA1 =1FFF16,ER2 =0,ZR1 =0,ZR2
=0である。鍵が押圧されており、波形1がPCM 部を読
み出している時は初期値が保持され、PCM 部を読み終え
ると、レジスタΔE1,ΔE2,ΔZ1,ΔZ2の値に従ってエ
ンベロープの演算を行う。鍵が離されると、波形1がPC
M 部を読み出しているいないに関係なくUCIF2-3 の信号
処理器5-6 によるリリースデータに基づいて演算が行わ
れる。即ちPCM =0かつP/0 =0の場合に帰着する。
なお、このモードにおいてはダンパフラグDMP によって
演算は何ら影響を受けない。
PCM =1かつP/0 =1 初期設定は、ER1 =1FFF16,ER2 =0,ZR1 =0,ZR2
=0である。アンパフラグDMP=の場合は、1度鍵が押
圧されると離鍵のタイミングには無関係に演算が行われ
る。即ち、波形1がPCM 部を読み出している時にはレジ
スタER1 ,ER2 ,ZR1 ,ZR2 は初期値が保持され、PCM
を読み終えるとレジスタΔE1,ΔE2,ΔZ1,ΔZ2の値に
従って演算が開始される。ダンパフラグDMP =1の場合
は、PCM =1かつP/0 =0の場合と全く同じである。
以上述べたように、種々のモードに応じて自由にエンベ
ロープ信号を発生することができる。また、ΔE1,ΔZ1
とΔE2,ΔZ2は全く独立に設定でき、そのデータはアド
レス発生の項にて明らかなとおりΔT1,ΔT2によって定
まる時間で更新されるので前述の2種類の波形データと
相俟って種々の楽音が発生できる。
(発明の効果) 以上のように本発明は波形データ1ワードのビット数が
N、上記データバンク1ワードのビット数がMであって
MとNの関係が、 である時、 上記データバンクの総ワード数をW、上記波形データの
第i番目のワードのデータの上位Mビットと下位(N−
M)ビットが上記データバンクに格納されているアドレ
スを各々AiとBiとすると 但し[ ]はガウス記号であり、[ ]内の数値の整数
部を表す。
の関係が成立しているデータバンクを備えたことにより
ROM の使用効率が向上するため、少ないメモリエリアで
より充実した音色の発生を行うことができる。
【図面の簡単な説明】
第1図(イ)は本発明における情報処理装置の一実施例の
ブロック図、第1図(ロ)はマイコンによるデータ転送の
タイミング図、第1図(ハ)は本発明において用いられて
いる演算タイムスロットを表わす図、第2図は本発明に
おける楽音発生部1-5 の構成図、第3図は楽音発生部1-
5 におけるノートクロック発生の原理図、第4図は楽音
発生部1-5 におけるSEQ2-2の詳細図、第5図は同じくUC
IF2-3 の詳細図、第6図は同じくCDR2-4の詳細図、第7
図は同じくメモリ2-5 の詳細図、第8図は同じくFA2-6
の詳細図、第9図(イ)は同じくMPLY2-7 の詳細図、第9
図(ロ)はMPLY2-7 にて使用している乗算器9-16の詳細
図、第10図は楽音発生部1-5 におけるI/0 2-10の詳細
図、第11図(イ)は同じくMSW2-11 の詳細図、第11図(ロ)
〜第11図(リ)はMSW2-11 に用いられているスイッチのパ
ターン図、第11図(ヌ)はMSW2-11 におけるデータ転送の
タイミング図、第12図はデータバンク1-6 におけるデー
タフォーマットを示す図、第13図はデータバンク1-6 に
おけるエンベロープデータのデータフォーマットを示す
図、第14図は従来における電子楽器のブロック図、第15
図はその楽音合成データROM の構成図である。 1-1 ……鍵盤、1-2 ……タブレット、1-3 ……効果スイ
ッチ、1-4 ……マイコン、1-5 ……楽音発生部、1-6 …
…データバンク、1-7 ……フィルタ、2-1 ……マスタク
ロック、2-2 ……シーケンサ(SEQ) 、2-3 ……マイコン
インターフェース部(UCIF)、2-4 ……比較レジスタ部(C
DR) 、2-5 ……メモリ、2-6 ……フルアダー部(FA)、2-
7 ……乗算部(MPLY)、2-8 ……ディジタルアナログコン
バータ(DAC) 、2-9 ……アナログバッファメモリ部(AB
M) 、2-10 ……入出力回路部(I/O) 、2-11……マトリッ
クススイッチ部(MSW) 。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】複数ワードからなる波形データを格納する
    データバンクから順次該波形データを読み出して所定の
    処理を施して発音する電子楽器に於いて、 上記波形データ1ワードのビット数がN、上記データバ
    ンク1ワードのビット数がMであってMとNの関係が、 である時、 上記データバンクの総ワード数をW、上記波形データの
    第i番目のワードのデータの上位Mビット下位(N−M)
    ビットが上記データバンクに格納されているアドレスを
    各々AiとBiとすると 但し[ ]はガウス記号であり、[ ]内の数値の整数
    部を表す。 の関係が成立していることを特徴とする電子楽器。
  2. 【請求項2】前記アドレスBiは、前記アドレスAiを ビットだけ右シフトして且つ最上位を含む少なくとも1
    ビットに1を付与することによって作成する手段を有す
    る電子楽器。
JP60089919A 1985-03-19 1985-04-27 電子楽器 Expired - Lifetime JPH0656554B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP60089919A JPH0656554B2 (ja) 1985-04-27 1985-04-27 電子楽器
US06/841,110 US4709611A (en) 1985-03-19 1986-03-18 Electronic musical instrument for generating a natural musical tone
DE8686301968T DE3671997D1 (de) 1985-03-19 1986-03-18 Elektronisches musikinstrument.
EP86301968A EP0201998B1 (en) 1985-03-19 1986-03-18 Electronic musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60089919A JPH0656554B2 (ja) 1985-04-27 1985-04-27 電子楽器

Publications (2)

Publication Number Publication Date
JPS61249096A JPS61249096A (ja) 1986-11-06
JPH0656554B2 true JPH0656554B2 (ja) 1994-07-27

Family

ID=13984110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60089919A Expired - Lifetime JPH0656554B2 (ja) 1985-03-19 1985-04-27 電子楽器

Country Status (1)

Country Link
JP (1) JPH0656554B2 (ja)

Also Published As

Publication number Publication date
JPS61249096A (ja) 1986-11-06

Similar Documents

Publication Publication Date Title
US5319151A (en) Data processing apparatus outputting waveform data in a certain interval
US4437377A (en) Digital electronic musical instrument
EP0201998B1 (en) Electronic musical instrument
JP2869573B2 (ja) 楽音波形発生装置
JPH0656554B2 (ja) 電子楽器
JPH079582B2 (ja) 電子楽器
JP2580814B2 (ja) 楽音信号発生装置
JPH0419587B2 (ja)
JPH0522918B2 (ja)
JPH0584534B2 (ja)
JPS61255397A (ja) 電子楽器
JPS61240294A (ja) 電子楽器
JPH028318B2 (ja)
JPS61231597A (ja) 電子楽器
JPS61233788A (ja) 電子楽器
JPS61231598A (ja) 電子楽器
JPS61248095A (ja) 電子楽器
JPH023198B2 (ja)
JPH0230036B2 (ja)
JPS61233790A (ja) 電子楽器
JPS61233789A (ja) 電子楽器
JP2798913B2 (ja) 楽音波形生成装置及び楽音波形生成方法
JPS61156371A (ja) デジタル信号処理装置
JPS61246794A (ja) 電子楽器
JPS61252591A (ja) 電子楽器