JPH0230036B2 - - Google Patents

Info

Publication number
JPH0230036B2
JPH0230036B2 JP60081452A JP8145285A JPH0230036B2 JP H0230036 B2 JPH0230036 B2 JP H0230036B2 JP 60081452 A JP60081452 A JP 60081452A JP 8145285 A JP8145285 A JP 8145285A JP H0230036 B2 JPH0230036 B2 JP H0230036B2
Authority
JP
Japan
Prior art keywords
data
latch
bits
output
register
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
JP60081452A
Other languages
Japanese (ja)
Other versions
JPS61240293A (en
Inventor
Tetsuhiko Kaneaki
Yoshuki Takagi
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 JP60081452A priority Critical patent/JPS61240293A/en
Publication of JPS61240293A publication Critical patent/JPS61240293A/en
Publication of JPH0230036B2 publication Critical patent/JPH0230036B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】[Detailed description of the invention]

(産業上の利用分野) 本発明は電子楽器に係り、特りノートクロツク
発生に関するものである。 (従来の技術) 近年、電子楽器はデイジタル信号処理技術の導
入により高度な音づくりが行われている。従来の
電子楽器におけるノートクロツクの発生方法を第
3図により説明する。 第3図において、3−1は分周器であり端子
CKに入力されているマスタクロツクを分周し、
8ビツトの分周出力を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をくり返す8ビツトの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となる(例えば特願昭57−83450号)。 (発明が解決しようとする問題点) しかしながら上記のような構成ではノートクロ
ツクのピツチ分解能を上げるには、システム全体
のビツト数を増し、マスタクロツクの周波数を高
くしなければならなず、システム全体に高速動作
が要求される。 本発明は、上記問題点に鑑み、マスタクロツク
の周波数を上げることなく、従つてシステムの動
作速度を上げることなく、より分解能の高いノー
トクロツクを発生しようとするものである。 (問題点を解決するための手段) 上記問題点を解決するために本発明の電子楽器
は、クロツク信号を発生する手段と、前記クロツ
ク信号を分周し、分周出力を発生する手段と、レ
ジスタと、前記分周出力と前記レジスタの内容の
一致を検出し、一致信号を発生する手段と、前記
一致信号が発生される度に前記レジスタの内容に
一定数を加算する手段を備え、前記一致信号を用
いてノートクロツク信号を得るようにした電子楽
器において、前記一致信号を発生する手段が前記
レジスタの少なくとも下位1ビツトを一致検出の
対象から除外するようにしたものである。 (作用) 本発明は上記した構成により、例えばレジスタ
が10ビツトで、上位8ビツトと分周出力との一致
を検出しており、一致検出ごとにレジスタに加算
される一定数が10116であるとすれば、レジスタ
が00016,10116,20216,30316,00416,10516,…
…となるので、分周出力が0016,4016,8016
C016,0116,4116,……となり、微視的に見れば
マスタクロツクのカウント数が64回,64回,64
回,65回,64回,64回……ごとに一致信号が出力
されるが、巨視的に見れば64.25回に1回の割合
で一致信号が出力されることになり、ピツチ分解
能が0.25きざみになる。また分周比が64から65へ
かわる周期が一定であるのでジツタは発生しな
い。 (実施例) 以下図面に基づき本発明の一実施例を説明す
る。 第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#6と略す)をチヤンネル1より
出力したい時には第1図ロにおけるアドレスとし
て00000001,データとして10011110をマイコン1
−4より送出することになる。次に、PDDはピ
ツチデチユーンデータであり調律をずらすための
8bitのデータである。PDDは2の補数表示にて表
されており、可変範囲は−128〜+127の256通り
である。VLDはリリースデータで、キーオフ後
の減衰特性を制御する4bitのデータである。LOL
はボリユームフラグであり、このビツトを“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というレジス
タの内容を加算してPDRというレジスタに格納
するということである。タイムスロツト(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回目即ち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)における 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)のWE2+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はアナログバツフアメモリ部(以下ABM
と称す)で、DAC2−8よりマシンサイクル周
期で発生される楽音データをCDR2−4により
発生されるノートクロツクによる音程同期への変
換を行う。ABM2−9の機能及び構成は特開昭
59−214091号公報に示されているアナログバツフ
アメモリと同様のものである。2−10は入出力
回路部(以下I/Oと称す)であり、データバン
ク1−6へアドレス信号を送出し、そのアドレス
信号に対応した波形データ、エンベロープデータ
の読み出しを行い、必要に応じて読み出したデー
タのデータ変換を行う。2−11はマトリツクス
スイツチ部(以下MSWと称す)であり、UCIF
2−3、CDR2−4、メモリ2−5に接続され
た横方向のバスライン(HA,HB,HC,HD,
HE,HLの各バス)とFA2−6、MPLY2−
7、I/O2−10へ接続されている縦方向のバ
スライン(A,B,C,D,Lの各バス)とを、
SQ信号に応じて接続する回路である。これらの
回路により第5表及び第6表に示す演算シーケン
スを実行するものである。 次に個々のブロツクについて説明する。 第4図は第2図におけるSEQ2−2の詳細図
である。4−1はカウンタであり、マスタクロツ
クを分周し、第1図ハに示す種々のタイミング信
号を発生する。TSは第1図ハにおけるタイムス
ロツトを表す信号であり、CECはチヤンネルコ
ードであり、第1図ハにおけるチヤンネルの番号
を表わす信号である。EVは演算シーケンスにお
けるODD,EVENを表わす信号であり、EV=0
はODD、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/D0〜7を
ALEによりラツチする。A/D0〜7とALEの関
係は第1図ロに示すとおりであるので、ラツチ5
−1には第1表に示すところのアドレスがラツチ
される。5−2はラツチであり、マイコン1−4
より与えられるA/D0〜7をによりラツチ
する。A/D0〜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信号を用いて選択出力し、RAM
5−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信号からチヤ
ンネルコード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即ちチヤンネルを表す信号
が入力してあるので、各ワードはそれぞれのチヤ
ンネルに対応しているので、チヤンネルごとに一
致パルスを発生する。この一致パルスはそれぞれ
RSラツチ6−4〜6−11へ入力されているの
で、一致パルスが発生したチヤンネルに対応する
RSラツチのQ出力が“1”にセツトされる。RS
ラツチ6−4〜6−11のQ出力のうちの1つが
チヤンネルコードCHCに応じてセレクタ6−1
2により順次選択されラツチ6−13にラツチさ
れる。ラツチ6−13の出力はANDゲート6−
14に与えられているので、現在セレクタ6−1
2が選択している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,ΔE1,WE1,EAR2,ΔZ2,ΔE2
の各レジスタが、RAM7−2にはWR2,ZR1,
ΔT1,FR,ΔWAR,ZR2,ΔT2の各レジスタ
が、RAM7−3にはER1,TR1,DIF1,DW1,
ER2,TR2,STW,TAB′,HADの各レジスタ
が、RAM7−4にはNOD′、WE2,VLD′の各レ
ジスタがそれぞれを8チヤンネル分格納されてい
る。なお、NOD′,TAB′,VLD′は前述のRAM
5−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はラツチであり、SEQ
2−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に入力された制御信号に従つ
てシフトし0より出力する。シフトの内容は第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に入力された
制御信号に従つてシフトし0より出力する。シフ
トの内容は第12表に示すとおりである。9−16
は乗算器であり、A入力がこの補数表示による12
ビツト、B入力が絶対値の10ビツトで出力が2の
補数表示による14ビツトである。通常12ビツト×
10ビツトの演算を行うと22ビツトの結果が得られ
るが、無論乗算器9−16の出力14ビツトは22ビ
ツトのうちの上位14ビツトである。故に、乗算器
9−16における入出力の関係は、次式のとおり
になる。 C=A×B/256 なお、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/O2−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からの
入力をシフトして0より出力する。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−1
1に用途に応じて配して選択的に開閉することに
より、任意のバスから他の任意のバスへのデータ
転送が必要なビツト処理を含めて可能となる。例
えば、HAバスからAバスへ、HBバスからBバ
スヘ、CバスからHCバスへ同時にデータを転送
したい時にはSW1,SW7,SW13を同時にオンす
ればよい。また、CバスのデータをLバスとDバ
スに転送したい時にはSW28,SW29,SW30をオ
ンすれば、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
ビツトには000〜111のデータを入れる。 (2) ヘツダデータ ヘツダデータは第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ビツトの情報であ
り、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ワード
分ずつ順次格納してある。例えば、仮にアドレス
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が与えられ、第1
1図イにおいてSW21とS17がオンして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がオンする。ST33は第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のレジ
スタ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よりデコーダ1
0−11へ入力されているデータはP/O及び
ORG3ビツトである。今デコーダ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、ノイズ回
路10−14、ラツチ10−2を介してDバスに
与えられ、MSW2−11においてSW5を介し
てRAM7−1のレジスタEAR1へ格納される。 次にシヨートシーケンスに入る。シヨートシー
ケンスは2回実行される。タイムスロツト(1)で
PDRとJDが加算されるが、ここでJDは定数であ
りMSW2−11においてSW32をオンするこ
とにより得られる。SW32は第11図チに示す
ような構成になつており、JD=45B16となつてい
る。この加算結果に対してノート係数CNを掛け
合わせてFRを得る。この一連の円算を詳しく述
べると、PDR+JDがタイムスロツト(1)で演算さ
れ、その結果が前述のとおりタイムスロツト(2)に
てCバスに与えられる。ここでMSW2−11に
おいてSW28、SW29がオンし、Cバス→HL
バス→Lバスの順でデータが転送され、第9図イ
におけるMPLY2−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−12、シフタ9−15はデー
タをスルーさせるように動作する。即ちエンコー
ダ9−10のC入力には“1”が与えられてい
る。ラツチ9−8の値がLバスよりMSW2−1
1の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のレジスタWE
2に格納され、次いで、信号処理器7−6でデコ
ードされてRAM7−2のレジスタΔWARに格納
される。ORG+OCT+1の値に対するΔWARの
値は第20表に示すとおりである。 以下、タイムスロツト(4)でEAR2,同(6),(8),
(9),(10)でWR1,ER1,WE2,WE1,WR2の各レ
ジスタの初期設定を行つている。 一方データバンク読み出し部においては、前述
のロングシーケンスでRAM7−3に格納したヘ
ツダアドレスデータHADを読み出し、Dバス→
ラツチ10−1→シフタセレクタ10−9を介し
てラツチ10−4にラツチし、ビツト処理回路1
0−10で下位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(エンベロープデータH1′のスタートア
ドレス)が読み出され、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へ出力する。このセレクタ1
0−12出力はシフタ10−13、ノイズ回路1
0−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回目のイニシヤルモ
ードでは110,次いで111を与えることによりデー
タバンク1−6よりSTW,ΔSTWを読み出し、
STWをRAM7−3のレジスタSTW,ΔSTWを
RAM7−1のレジスタWARに格納する。 以上により、すべてのレジスタの初期設定が完
了する。 (2) ノートクロツクの発生方法 先ず楽音発生部1−5で用いているノートクロ
ツク発生法の原理は第3図に示すものと同様であ
る。第3図と対比させながら、第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)という
値がセツトしてある。ノート係数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は第6図に示すとおり13ビツトのデー
タであるが、その下位3ビツトを一致検出の対象
から除外し、上位10ビツトの値とマスタクロツク
を順次分周して得た10ビツトの分周信号とを比較
し、一致パルスを発生するようにしているので、
実際には、 N/8,N+FR/8,N+2×FR/8,……との比較 を行うことになり、CDRの上位10ビツトが第3
図のフリツプフロツプ3−3に相当し、FR/8が第 3図の定数回路3−5の値Mに相当する。故に上
記(2−1)〜(2−7)の演算を行えば一定周
期のノートクロツクが得られ、その周波数は (マスタクロツク周波数)÷FR/8となる。 また、第3図RSラツチ3−6の出力がCLRQ
に相当する。 このように、10ビツトの比較器、8MHzのマス
タクロツクを用いていながら、13ビツト相当の分
解能を有することができる。 (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)に演算結果としてRAM
8−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−11に示すところのHCバ
ス、SW11、Aバスを介しクロツクψ3によりFA
2−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のレジスタ
WARの値がHAバス、SW2、Bバスを介してFA
2−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−1
1によるビツト処理が行われる。 なお、楽音発生部1−5におけるアドレス演算
は16ビツトであるが、16ビツトのアドレス信号で
は充分でない場合が当然考えられる。そこで、本
楽音発生部1−5においては、タブレツトデータ
TABの上位3ビツトを用いてアドレス空間が拡
張できるようになつている。I/O2−10にお
けるラツチ10−3がアドレス空間拡張用のラツ
チであり、ラツチ10−3にタブレツトデータ
TABの上位3ビツトがラツチされる。即ち: 押鍵によりイニシヤルモードになると、RAM
5−4に格納されたタブレツトデータがMSW2
−11を介してRAM7−3のレジスタTAB′に
格納される。次いでノーマルモードに入ると、
RAM7−3のレジスタTAB′の値が読み出され、
MSW2−11を介してI/O2−10における
ラツチ10−3にラツチされる。このようにして
内部演算は16ビツトでありながら19ビツトのアド
レス空間をアクセスすることができる。 波形読み出し 波形読み出しはタイムスロツト(2),(4)にて行わ
れたアドレスに基づいて行われる。タイムスロツ
ト(2)による演算結果はCバス、SW28、HLバス、
SW30、Dバスを介してI/O2−10のラツチ
10−1にラツチされる。まず、ラツチ10−1
の出力がシフタセレクタ10−9、ラツチ10−
4、ビツト処理回路10−10を介してラツチ1
0−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に格納される。 エンベロープ乗算 上記のようにして波形1、波形2の2種類の波
形データが得られたが、この波形データに対して
エンベロープの乗算を行う。波形1に対するエン
ベロープはRAM7−3のレジスタER1に、波
形2に対するエンベロープはRAM7−3のレジ
スタER2に入つている。ここで、エンベロープ
について述べると、エンベロープは指数部4ビツ
ト仮数部9ビツトの13ビツト浮動小数点表示にな
つている。エンベロープ乗算は各チヤンネル2回
行われるがそれぞれの動作は同様であるので、タ
イムスロツト(7)〜(9)におけるWR1×ER1の演算
について説明する。 RAM7−3のレジスタER1のデータがMSW
2−11を介してMPLY2−7のラツチ9−3
及びラツチ9−5にラツチされる。ここで、ラツ
チ9−3にはレジスタER1の下位10ビツトが、
ラツチ9−5にはレジスタER1のビツト9−1
2がラツチされる。次いで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−1
4を介してシフタ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バスを介してMPLY2−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の値が
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のレジスタVLD8ビツトが、
MSW2−11を介してRAM7−4のレジスタ
LVD′に送られる。送出の際にMSW2−11に
おいてビツトシフトがなされ、8ビツトのデータ
の2ビツト左シフトし更に下位2ビツトに“0”
を追加し、10ビツトのデータに変換される。この
ことによりVLDのビツト数はCNのビツト数と同
一となる。WE2+WE1の値にROM7−5の値を
掛けるか、レジスタVLD′の値を掛け合わせるか
は第1表におけるフラグVOLで決まり、VOL=
0ならばROM7−5がHDバスにデータを送出
し、VOL=1ならばRAM7−4がHDバスにデ
ータを送出する。 上記のように構成することにより、マイコン1
−4によつて楽音発生部1−5の出力する楽音信
号のレベルを変えることが可能となり、第1表の
VLDの値を順次変えることにより振幅変調をか
けることが可能となる。 鍵盤を押下する速さと圧力の少なくとも一方に
基づきVLDを作成すると、タツチレスポンス機
能が実現する。 タツチレスポンス機能とは鍵盤の操作の速さ・
強さ等によつて音量・音色等が変化することであ
る。例えばピアノは、強く打鍵すると音量が大き
いだけでなく音色も華やかなものになり、弱く打
鍵すると音量が小さいだけでなく音色もこもつた
ものとなる。打鍵の強さに応じて音量も音色も自
在に変化するが、ピアノの場合は打鍵の後、鍵盤
を押す強さを変化させても、減衰しつつある音質
には変化を加えることができない。このようにピ
アノは打鍵の強さのみがタツチレスポンス機能と
なつていて、このような機能を特にイニシヤルタ
ツチコントロールと呼ぶ。一般に打楽器がこれに
属する。 一方、トランペツトは息の強さにより持続して
いる音質をも変化することができるので、この音
を模倣して電子楽器の鍵盤操作で演奏する場合
も、押鍵によりトランペツト音を発生中に押鍵の
強さを増減することで音量・音色に変化を与える
ことが必要となる。このような機能を特にアフタ
ータツチコントロールと呼ぶ。一般に、弦楽器と
管楽器がこれに属する。 本発明の実施例では先に述べたように、VOL
フラグによりVLD乗算を行うことにより、各チ
ヤンネル独立に音量を制御することができる。 応用例として、打鍵の強さを計測して、強さに
応じてVLDの値を作成してマイコンから転送す
ることにより、打鍵毎に転送された異なる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′のワード
数)に基づいてレジスタ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−1
0によつてビツト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≠000816の時にはΔEAR1=000016であ
り、ΔT1=000816の時にはΔEAR1=FFEB16=−
2110である。この操作はMSW2−11における
SW31にて行われる。SW31は第11図リに示す
ようになつており、ΔT1のビツト3の値を示す
フラグT0によつて制御している。今仮にΔ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/O2−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/O2−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の値がエンベロープデータである。 なお、“(3)波形発生方法”の“エンベロープ
乗算”の項で述べたとおり、ER1,ER2とも13ビ
ツトのデータで上位4ビツトが指数部、下位9ビ
ツトが仮数部となつている。故に本楽音発生部1
−5にて得られるエンベロープは次に示される形
となる。 エンベロープ1=1.(ER1の下位9ビツト)×2
(ER1の上位4ビツト) エンベロープ2=1.(ER2の下位9ビツト)×2
(ER2の上位4ビツト) このように示されるため、エンベロープのレベ
ルとは無関係に常に9ビツトの分解能を有するこ
とになる。 ところで、エンベロープ計算は各種モードによ
つて異なる。各種モードとは、 1 3波形がPCMを有する場合と有しない場合。
(PCM=1/O) 2 ピアノ型エンベロープの場合とオルガン型エ
ンベロープの場合。(P/O=1/O) 3 ダンパフラグをオンした場合とオフした場
合。(DMP=1/O) の3種である。以下個々の場合について説明す
る。 PCM=0かつP/O=0 初期設定はER1,ER2,ZR1,ZR2とも“0”
であり、鍵が押圧されている時はレジスタΔE1,
ΔE2,ΔZ1,ΔZ2の値に従つてエンベロープの演
算を行う。鍵が離されると、タイムスロツト(3),
(5),(6),(8)のΔZ1,ΔE1,Δ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の値に従つてエンベロープの演算を行
い、ダンパフラグDMP=0の時は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によるリリースデータに基づい
て演算が行われる。即ちPCM=0かつP/O=
0の場合に帰着する。 なお、このモードにおいてはダンパフラグ
DMPによつて演算は何ら影響を受けない。 PCM=1かつP/O=1 初期設定は、ER1=1FFF16,ER2=0,ZR1
=0,ZR2=0である。ダンパフラグDMP=0
の場合は、1度鍵が押圧されると離鍵のタイミン
グには無関係に演算が行われる。即ち、波形1が
PCM部を読み出している時にはレジスタER1,
ER2,ZR1,ZR2は初期値が保持され、PCM部
を読み終えるとレジスタΔE1,ΔE2,ΔZ1,ΔZ2
の値に従つて演算が開始される。ダンパフラグ
DMP=1の場合は、PCM=1かつP/O=0の
場合と全く同じである。 以上述べたように、種々のモードに応じて自由
にエンベロープ信号を発生することができる。ま
た、ΔE1,ΔZ1とΔE2,ΔZ2は全く独立に設定で
き、そのデータはアドレス発生の項にて明らかな
とおりΔT1,ΔT2によつて定まる時間で更新さ
れるので前述の2種類の波形データと相俟つて
種々の楽音が発生できる。 (発明の効果) 以上に詳述したように、本発明は、クロツク信
号を発生する手段と、前記クロツク信号を分周
し、分周出力を発生する手段と、レジスタと、前
記分周出力と前記レジスタの内容の一致を検出
し、一致信号を発生する手段と、前記一致信号が
発生される度に前記レジスタの内容に一定数を加
算する手段を備え、前記一致信号を用いてノート
クロツク信号を得るようにした電子楽器におい
て、前記一致信号を発生する手段が前記レジスタ
の少なくとも下位1ビツトを一致検出の対象から
除外したことにより、マスタクロツクの周波数を
上げることなく、またシステムの動作速度を上げ
ることなくより分解能の高いノートクロツクを得
ることができるものである。
(Industrial Application Field) The present invention relates to electronic musical instruments, particularly notebook clocks.
It is about occurrence. (Prior technology) In recent years, electronic musical instruments have been developed using digital signal processing technology.
The high level of sound creation is achieved through this process. Traditional
This article explains how note clocks are generated in electronic musical instruments.
This will be explained with reference to Figure 3. In Figure 3, 3-1 is a frequency divider and a terminal
Divide the master clock input to CK,
An 8-bit frequency divided output is output from Q. 3-2 is
A comparator compares A input and B input, and A=B
When this happens, Q outputs "1". 3-3 is
It is a flip-flop, and D is turned on at the rising edge of the CK input.
It takes in the signal given to the input and outputs it from Q.
Ru. 3-4 is an adder, which calculates the sum of A input and B input.
is output from C. 3-5 is the B input of adder 3-4.
This is a constant circuit that inputs a constant M for force. 3
-6 is an RS latch, and a positive pulse is applied to the S input.
When it enters, Q=1 and a positive pulse enters the R input.
and Q=0. 3-7 is a delay circuit,
Delays the input signal and outputs it. 3-8 is AND
It is a gate. Next, the operation shown in FIG. 3 will be explained. first. RS Ratu
Assuming that the Q output of Q3-6 is "0",
The output of AND gate 3-8 is always “0”.
The Q output of flip-flop 3-3 is constant.
Ru. On the other hand, the frequency divider uses the frequency division of the master clock.
000 16 from 3FF 16 Outputs an 8-bit Q that repeats
Ru. Suppose that the output of flip-flop 3-3 is N.
Of course, if it is 000 16 ≦N≦3FF 16 Therefore, someday the frequency divider 3
There is a moment when the Q output of -1 = N, and at this time
A matching pulse is output from the Q output of comparator 3-2.
Ru. Then, this coincidence pulse RS latch 3-6
Since it is in the S input, the Q of RS latch 3-6 is
The output becomes “1” and the write pulse becomes an AND gate.
It is output from gate 3-8. flipflop 3-
The C output of adder 3-4 is given to the D input of 3.
Therefore, the value of N+M is written. at the same time as
Then, the write pulse is delayed by delay circuit 3-7.
After that, set the Q output of RS latch 3-6 to “0”.
Ru. Therefore, the Q of flip-flop 3-3 is again
The output will be constant, but the value will change from N to N+M.
ing. Therefore, next, the Q output of frequency divider 3-1 is N+M
When this happens, a coincidence pulse will be generated.
By repeating this, comparator 3-2 divides the frequency.
The output value of device 3-1 is N, N+M, N+2M...
Generates a pulse when it gets old. In other words, divider 3-
1 counts the master clock M times.
This will result in a pulse being generated. Also, N+nM>3FF 16 In this case, the adder
The output of 3-4 is N+nM- after overflow.
3FF 16 To achieve this, the master clock must be turned M times.
A coincidence pulse is generated when counting
Needless to say. In other words, one of the comparator 3-2
The target pulse is used as a note clock, and the constant M is changed.
Note clocks with various periods can be obtained by
and its frequency is (master clock frequency
number) ÷M (for example, Japanese Patent Application No. 83450/1983). (Problem to be solved by the invention) However, with the above configuration, the notebook
To increase the pitch resolution, the entire system
Increase the number of bits in the master clock and increase the frequency of the master clock.
The whole system should work fast
is required. In view of the above problems, the present invention provides a master clock.
without increasing the frequency of the system.
Higher resolution nodes without increasing operation speed
This is an attempt to generate a clock. (Means for Solving the Problems) In order to solve the above problems, the electronic musical instrument of the present invention
means for generating a clock signal;
means for dividing the frequency of a clock signal and generating a frequency-divided output;
register, the divided output and the contents of the register.
means for detecting a match and generating a match signal;
Each time a match signal is generated, the contents of said register are
means for adding a certain number, and using the coincidence signal.
An electronic musical instrument that obtains a note clock signal.
In the device, the means for generating the coincidence signal includes the means for generating the coincidence signal.
At least the lower 1 bit of the register is used for match detection.
This is to exclude it from the target. (Function) The present invention has the above configuration, for example, a register.
is 10 bits, and the upper 8 bits match the divided output.
is detected and added to the register each time a match is detected.
constant number is 101 16 , register
000 16 ,101 16 ,202 16 ,303 16 ,004 16 ,105 16 ,…
...so the divided output is 00 16 ,40 16 ,80 16
C0 16 ,01 16 ,41 16 ,...and if you look at it microscopically,
Master clock count is 64, 64, 64
A match signal is output every time, 65 times, 64 times, 64 times...
However, from a macroscopic perspective, it occurs at a rate of 1 in 64.25 times.
A matching signal will be output, and the pitch decomposition
Noh becomes 0.25 increments. Also, the division ratio has been changed from 64 to 65.
Since the switching period is constant, no jitter occurs.
stomach. (Example) An example of the present invention will be described below based on the drawings.
Ru. FIG. 1 shows an information processing device according to the present invention as an electronic musical instrument.
FIG. This first figure
To explain, 1-1 is a keyboard. 1-2 is a tab
of the musical tones output from this electronic musical instrument.
This is an operation section for instructing tone selection. 1-3 is effective
It is a switch that controls various effects on musical sounds.
For example, you can control effects such as vibrato and tremolo.
This is a switch that instructs to turn on and off. 1-4 is ma
It is an icon (microcomputer), for example
Equivalent to Intel's microcontroller 8049. 1-5
is a musical tone generating section, and is given by microcontroller 1-4.
Waveform calculation and frequency calculation are performed based on the control signal
conduct. 1-6 is a data bank, which is a musical tone generator.
Waveform data and envelope data used in 1-5
ROM (read-only memory) where the data is stored
It is. 1-7 is a filter, which is a musical tone generator 1
-5 to suppress the aliasing noise of the musical tone signal output from
Remove. 1-8 are speakers. Next, we will explain the operation of the electronic musical instrument shown in Figure 1A.
Ru. Microcontrollers 1-4 have instructions pre-written internally.
In accordance with the order, keyboard 1-1, tablet 1-2,
The status of the output switches 1-3 is sequentially searched. Also ma
Icon 1-4 is the ON/OFF key on keyboard 1-1.
The code of the key being pressed based on the OFF state
divided into multiple channels of musical tone generators 1-5.
At the same time, the tablet
depending on the status of switch 1-2 and effect switch 1-3.
Send control data. Musical tone generator 1-5 smell
In this case, the assignment signal sent from microcontroller 1-4 is
and other control signals to internal registers.
data bank 1- based on these signals.
6. Enter the necessary waveform data and envelope data.
Musical tone signals are synthesized while being read. this musical tone
The musical tone signal synthesized in the generating section 1-5 is
is sent to speakers 1-8 through routers 1-7.
Generates musical sounds. Figure 1 (b) shows the musical tone generator 1- from the microcomputer 1-4.
The timing diagram for transferring data to 5 is shown below.
vinegar. Also, Table 1 shows musical sounds generated from microcontrollers 1-4.
The contents of data sent to section 1-5 are shown. Table 1
, NOD is note octave data.
, note data ND and octave data OCT and
It consists of key-on data and key-on data. The specifics
Table 2 shows the bit configuration of NOD.
Yes, Table 3 shows the correspondence between note data ND and note names.
is shown, and Table 4 shows the octave data OCT
The correspondence between the range and the range is shown. In other words, if a musical tone is generated
6th octare of note G# for parts 1-5
B sound (hereinafter abbreviated as G#6) from channel 1
When you want to output, use the address in Figure 1 B.
00000001, 10011110 as data to microcontroller 1
-4 will be sent. Then the PDD
This is data that is used to shift the tuning.
It is 8bit data. PDD is displayed in two's complement notation.
The variable range is -128 to +127, 256 ways.
It is. VLD is release data, after key off
This is 4-bit data that controls the attenuation characteristics of . lol
is the volume flag, and this bit is set to “1”.
According to the volume data VLD described below,
Output level control of musical tone signals from musical tone generating section 1-5
It is possible to control the DMP is a damper flier
key in the case of a piano-type envelope.
- This is a flag that causes the attenuation to become a rapid attenuation after being turned off.
Yes, it functions when DMP=1. SOL is Solof
lag, and notes with the same note names as other channels are not available.
The channel is occurring at the time it is signed.
The phase of the musical tone and the musical tone that is about to occur
This is a flag that selects whether or not to match the characteristics.
When SOL=1, phase matching is canceled.
TAB is tablet data, and in Figure 1
The data specified by tablet 1-2 is
Enters 5 bits. PE is pitch extend flag
Then, the channel with this bit set to “1” has a pin.
Tsuchi Extend is applied. VLD is volume
data, and the volume flag VOL mentioned above.
Both adjust the level of the musical sound output from the channel.
Control with 8bit precision. In addition, these series of data
All data can be set independently for each channel.
It is something. Next, the calculation sequence in the musical tone generator 1-5 is
Let me explain about this. Tables 5 and 6 show the calculation system of musical tone generator 1-5.
- indicates the sequence. In the main musical tone generating section 1-5
processes more data in shorter computational cycles
In order to perform the operation sequence is the initial mode,
It has two modes: normal mode, and the above
Both modes are long sequence and short, respectively.
Divided into sequences. Also, the initial
Doshoto sequence and normal moderon
There are two sequences, EVEN and ODD, respectively.
It has a state. In the initial mode, microcontrollers 1-4 generate musical sounds.
When commanding section 1-5 to generate a new musical tone
From the microcomputer 1-4 in the musical tone generator 1-5
Various registers etc. for the specified channel
This mode is used to perform initial settings and is a long sequence.
The shot sequence was started twice.
Then enter normal mode. This initial mode
Once for two shot sequences in
Shooting sequence where the first eye is ODD and the second time is EVEN.
It becomes After this initial mode ends, the normal
After 6 shoot sequences
There will be one long sequence. In this embodiment, two independent systems are provided for each channel.
Multiplies a standard waveform and two independent envelopes.
It has become possible to match it, and it has become even more precise.
It also has various adjustment functions, but these calculation processing
A large amount of performance is required to time-share eight channels.
Calculation steps are required. So in a short cycle
Short sequence of things that need to be calculated
and those with low calculation frequency, that is, long cycles.
A long sequence is one that can be operated on by
Ru. and long sea during shoot sequence
Improving the efficiency of calculations by inserting sequences
ing. Short sequence, long sequence in Figure 1
The timing diagram is shown below. As shown in Figure 1 C.
11 times of shot sequence (0) to (10)
The long sequence consists of (11) slots.
It consists of nine time slots (19).
Each time slot is 250ns, divided into four
A non-overlapping two-phase clock with ψ1 and ψ3
The whole system is working together with the system. Shyo
The relationship between short sequence and long sequence is
Yoto sequence changes from channel 0 to channel
Each time up to 7 is repeated 8 times, one channel's worth of
Contains a long sequence. Therefore, for example, Chiyanne
The shot sequence for Le 3 is 11 x 8 + 9, 97 ties.
Once per muslot, long sequence is 97×
Appears once every 776 timeslots of 8
That will happen. In addition, the long series in normal mode
-Kens has two states: EVEN and ODD.
Therefore, the period is 776 x 2, 1552 time slots.
The system is working properly. Next, perform individual calculations based on Tables 5 and 6.
Explain the sequence. As mentioned above, easy
The sound generating section 1-5 is activated by pressing a new key.
Now it starts with a long sequence.
From the initial mode long sequence
Explanation will be provided for each time slot. Adder (13) PDD+PED→PDR (15) 0→TR1 (16) 0→TR2 (17) 0→ZR1 (18) 0→ZR2 The meaning of time slot (13) is:
Contents of register PDD and register PED
Add the contents of the data and store it in a register called PDR.
That is to say. Time slot (15) ~
(18) is the register TR1, TR2, ZR1, ZR2.
This means writing 0 to the data. Data bank reading section (12) WTD → HAD → HAD (14) HAD → CONT → CONT, DIF1 (16) ~ (17) HAD → STE → EAR1 What these mean is the data at the left end.
(For example, if it is a time slot (14), it is called HAD.
data) as the address to data bank 1-6.
Read out the data CONT written in the center,
Stored in the registers CONT and DIF1 with the names on the far right.
It means paying. Initial mode sequence addition section (1) PDR+JD L・B・;0→ER2/1 (3) ORG+OCT+1→WE2→ΔWAR (4) DB+EAR1→EAR2 (6) 0→WR1 (8) 0→ER1 (9) 0 →WE2 (10) 0→WE1, WR2 0→ER2/1 in time slot (1) is a
ER2, 2 at the first time of the start sequence, that is, ODD
At the time of EVEN, set 0 to the register ER1.
means to write. Also, LB means PDR
+JD operation result is stored in the L buffer without storing it in the register.
It is sent to the multiplier (described later) via the
means. In time slot (3),
After storing the calculation result in a register called WE2,
This means to decode and store it in ΔWAR.
The DB in time slot (4) is the data
The value obtained by the readout section is stored in the register.
to the adder via the D bus (described later) without going through a star, etc.
It means to send out. Multiplication section (4) to (6) CB×CN1→FR The above CB registers the result obtained in the addition section.
This means inputting directly to the multiplication section without going through the star.
In this case, the time slot (1) is obtained.
means the calculated result of PDR+JD. Data bank reading section (1) HAD → ΔSTE → AB (3) ~ (4) EAR1/2 → E1/2 → ΔT1/2, ΔE1/
2, ΔZ1/2 (6) ~ (7) HAD→STW/ΔSTW→STW/WAR Here, AB of time slot (1) is the data base
The value obtained by reading the link is stored in a register, etc.
It is meant to be input directly to the A input of the adder without going through the
Taste. Also, STW/ΔSTW→STW/WAR of time slots (6) to (7) is
- During the first test, that is, ODD, there is a date called STW.
Read the data and store it in a register called STW,
At the second time, that is, EVEN, the data ΔSTW is
Read and store in a register called WAR
means. Next, the normal mode will be explained. Normal mode shot sequence In Table 6, the parts marked with an * are
The first shoot after a toklock occurs
The calculation is performed only by the
The flags that control the operation are the calculation request flag CLRQ and
I'll call you. Addition section (1) WE2+WE1→LB (2) STW+WAR→DB, BB (3) ZR1+ΔZ1→ZR1 (4) DIF1+C.B.→DB (5) ER1+ΔE1+Ci→ER1 (6) ZR2+ΔZ2→ZR2 (7) WAR+ΔWAR→WAR* (8) ER2 + ΔE2 + Ci → ER2 (9) FR + CDR → CDR * Here, LB of time slot (1) is the calculation result.
is input directly to the multiplier without going through a register.
means. DB and BB of time slot (2) are the same.
The calculation results are directly transferred to the data bank reading section and
This means inputting to the B input of the adder. Thailand
CB in Muslot (4) is the calculation result of the addition section
This means inputting directly without going through a register.
However, in this case, the calculation result of STW+WAR in time slot (2) is input. Also,
The DB directly reads the calculation results from the data bank.
It means to input to the section. time slot
Ci in (5) and (8) are timeslot (3) and
Add the carry of the operation in (6)
That is what it means. Multiplying section (1) to (3) WR2+ER2→WE2* (4) to (6) CB×CN→(DAC) (7) to (9) WR1×ER1→WE1* Here, time slot (4) to ( 6) CB is addition
Input the output of the section directly to the multiplier section without going through a register etc.
It means to do. In this case, the time slot
This corresponds to the calculation result of WE2+WE1 in (1). Also
(DAC) means that the calculation result is DAC (DA
Indicates input to a converter (described later). Data bank reading section (4) to (5) CB→W1→WR1* (7) to (8) CB→W1←WR2* Here, CB in time slots (4) to (5) is the addition section.
Input the calculation results directly to the data bank reading section.
and set it as the address of data bank 1-6.
In this case, the time slot in the adder is
This corresponds to the calculation result of STW + WAR in (2). Ta
Time slots (7) to (8) CB are also time slots.
Corresponds to the calculation result of DIF1 + (STW + WAR) in (4)
do. Long sequence adder (13) ΔT1/2+TR1/2→TR1/2 (14) PDR+JD→LB (15) ΔEAR1/2+EAR1/2+Ci→EAR1/2 (16) PDD+PED→PDR Here, LB of time slot (14) is the addition part
The calculation result, that is, the value of PDR + JD, is sent through the register.
This means that it is directly input to the multiplication section. time
Ci of slot (15) is the performance of time slot (13).
It refers to the carry-over (carry) that occurs as a result of calculation.
Taste. Multiplication section (16) to (18) CN + C.B. → FR Here, CB registers the operation result in the addition section.
This means inputting directly to the multiplication section without going through the star.
However, in this case, the adder time slot (14)
The calculation result of PDR+JD is input. Data bank reading section (14) to (15) EAR2/1 → E2/1 → ΔT2/1,
ΔE2/1, ΔZ2/1 Here, 2/1 is the odd numbered time, that is, ODD
Sometimes 2 (e.g. E2 for E2/1), an even number of times,
In other words, it becomes 1 (E1) at EVEN.
Then, read different data using EVEN and ODD, and
means to store it in the register. Figure 2 shows the musical tone generator 1-5 in Figure 1A.
FIG. First, use this diagram to create each block.
To explain the outline of the function, 2-1 is the master clock.
Here, we use f=8.00096MHz.
I am using it. 2-2 is a sequencer (hereinafter referred to as SEQ)
), and the clock is clocked by master clock 2-1.
The frequency of the tsuku signal is divided, and the entire musical tone generating section 1-5
sequence signal (hereinafter referred to as SQ signal) and each
Generates seed control signals. 2-3 is microcomputer interface
-FACE Department (hereinafter referred to as UCIF), and the
Microcontrollers 1-4 can easily process the various data shown in the table.
The sound is transmitted asynchronously with the sound generator 1-5, but this
SQ generated by SEQ
This is a circuit that synchronizes with the signal. Further flag Kon
Initial mode, normal mode
Generates a flag INI that instructs mode switching. 2
-4 is the comparison register section (hereinafter referred to as CDR).
register CDR8 shown in the above calculation sequence.
Obtained by sequentially dividing the channel and master clock.
8 channels are compared with the 10-bit frequency divided signal.
Issues minute note clock and calculation request flag CLRQ.
live. 2-5 is a random access memory section (hereinafter referred to as
(referred to as lower memory) and is performed in the musical tone generator 1-5.
The results of various calculations are stored. 2-6 is flua
This is the FA section (hereinafter referred to as FA), which stores various data.
Built-in 16-bit full adder for addition.
Ru. 2-7 is a multiplication unit (hereinafter referred to as MPLY).
It has a multiplier that calculates (12 bits of two's complement) x (10 bits of absolute value). 2-8 is digital
A digital analog converter (hereinafter referred to as DAC)
Yes, the digital output from MPLY2-7
Convert musical sound data to analog musical sound data.
2-9 is an analog buffer memory section (hereinafter referred to as ABM).
), the machine cycle frequency is calculated from DAC2-8.
The musical sound data generated in the period is processed by CDR2-4.
Changes to pitch synchronization due to generated note clocks
exchange. The functions and configuration of ABM2-9 are published in Japanese Patent Publication No.
Analog buffer shown in Publication No. 59-214091
It is similar to Amemory. 2-10 is input/output
It is a circuit section (hereinafter referred to as I/O) and a data bank.
Sends an address signal to blocks 1-6, and
Waveform data and envelope data corresponding to the signal
Read the read data as necessary.
data conversion. 2-11 is the matrix
The switch section (hereinafter referred to as MSW) is the UCIF
Connected to 2-3, CDR2-4, memory 2-5
horizontal bus lines (HA, HB, HC, HD,
HE, HL buses), FA2-6, MPLY2-
7. Vertical bar connected to I/O2-10
line (A, B, C, D, L buses) and
This is a circuit that connects according to the SQ signal. these
The calculation sequence shown in Tables 5 and 6 depending on the circuit.
It is the one that executes the steps. Next, each block will be explained. Figure 4 is a detailed diagram of SEQ2-2 in Figure 2.
It is. 4-1 is a counter and a master clock
The various timing signals shown in Figure 1C are
generate a number. TS is the time in Figure 1 C
CEC is a signal representing a lot, and CEC is a channel control signal.
channel number in Figure 1 C.
This is a signal representing EV is in the calculation sequence.
This is a signal representing ODD and EVEN, and EV=0
means ODD, and EV=1 means EVEN. 4-2 is
It is SQROM (sequence ROM). SQROM4
-2 address input has a signal representing the time slot.
No. TS and flag INI are input, and these
each time slot based on the input.
Generating seed control commands. 4-3 is a logic gate
The output from SQROM4-2 is converted into various flags.
And further control with calculation request flag CLRQ etc.
SQ signal (performance information, effect switches 1-3, etc.)
As shown, each functional block is assigned to each time slot.
A signal that instructs how to operate in each case;
Inside, abbreviated as SQ) is generated. FIG. 5 is a detailed diagram of UCIF2-3. Figure 5
5-1 is a latch, and in Fig. 1, 5-1 is a latch.
A/D0~7 given by microcomputer 1-4
Latch by ALE. The relationship between A/D0~7 and ALE
The person in charge is as shown in Figure 1B, so latch 5
-1 has the addresses shown in Table 1 latched.
be done. 5-2 is a latch, and microcomputer 1-4
A/D0 to 7 given by more latches.
do. The relationship with A/D0~7 is shown in Figure 1B.
As shown in Table 1 for latch 5-2,
The data will be latched. 5-3 is rat
and is controlled by the latch 5-1.
Latch the output. Write the address in two stages like this
The reason for this is that the ALE latches periodically, regardless of the
This is because it becomes “1”, and the address is set like this.
A new design is achieved by latching in two stages.
Latch 5-3 until data is written.
Address and data are stored in 5-2 respectively.
It will be. 5-4 is 8 bits per word.
RAM, A is address input, OE is output control
control terminal, and data terminal D is connected to the HE bus.
It is. Here, when OE=1, given by A input,
Outputs the data of the received address from the D terminal.
Ru. Also, WE is a write control terminal, and when WE=1
At the same time, the data given to the D terminal is given to the A input.
Write to the given address. OE, WE are SQ credit
It is controlled by the number. RAM5-4 has the first
Various data shown in the table (NOD, PDD.RLD,
VOL/DMP/SOL, TAB/PE, VLD) and CO
control data CONT (written from data bank)
It's crowded. (details will be described later), pitch data register data
Each data PDR is stored for 8 channels.
There is. 5-5 is a selector, and microcomputer 1-4
and the address specified by the SQ signal.
selectively outputs the response using another SQ signal, and
This is given to the A input of 5-4. 5-6 is faith
It is a signal processor, connected to the HE bus, and
It takes in data and generates various flag signals. Ma
Release date sent from microcontroller 1-4
16 types of release errors depending on the data RLD4 bits.
Generates envelope data and sends it to the HE bus
Ru. 5-7 is a gate, which responds to the SQ signal.
The output of Tsuchi 5-2, that is, the output from microcomputer 1-4.
Send data onto the HE bus. Next, the operation of UCIF2-3 will be explained. The data shown in Table 1 is the type shown in Figure 1 B.
Assuming that it is given from microcontrollers 1-4 at the timing,
If the address is 05 16 , the data is 89 16 In other words, Chiyanne
If you instruct key 5 to press key F#1, first
The address is locked in latch 5-1 by the ALE signal.
The latch 5-2 is then connected to the latch 5-2 by a signal.
At the same time as the data is latched, the latch 5-3 is connected.
The dress is latched. Then at a predetermined timing
selector 5-5 selects the output of latch 5-3.
At the same time, gate 5-7 opens and RAM 5-4
A write signal is given to the WE of. this write
The HE bus is latched to latch 5-2 by the signal.
The data that was written, that is, the data that microcontrollers 1-4 try to write
data i.e. 89 16 is given, RAM5-4
The A input is 05, which is the output of latch 5-3. 16 gave
Therefore, address 05 of RAM5-4 16 to the address
89 16 The data will be written. Do it like this
The various data shown in Table 1 are written to RAM5-4.
It gets sucked in. As shown in Table 1, RAM5-4
Flags such as VOL flag and PE flag are written in
These flags are included in the HE bus.
It is sent to the signal processor 5-6 via the
I've been using it since I got it. FIG. 6 is a detailed diagram of CDR2-4. 6-1
is a 10-bit frequency divider that uses the master clock as input.
It is. 6-2 is RAM with comparator (hereinafter referred to as CDRAM)
It is called. ), 8 words with 13 bits per word
has. The top 10 bits of each word are compared.
A frequency divider 6 is provided with a frequency divider and is input from terminal T.
A comparison is made with the frequency division data by -1, and the 10-bit
When all matches, a match pulse is output from terminal C.
Powered. The functions of OE, WE, A, and D are as described above.
It is the same as RAM5-4. 6-3 is a decoder
Yes, the relationship between A input, EN input and D output is shown in Table 8.
As shown below. 6-4 to 6-11 are RS La
When a positive pulse is applied to the S input, the Q output
When the force becomes “1” and a positive pulse is applied to the R input, Q
Output becomes “0”. RS latch 6-4 is a change
channel 0, RS latch 6-5 is channel 1,...
A coincidence pulse of is applied to S. 6-12 is sele
It is a controller, and the channels are
One of them is transmitted by the channel code CHC3 bit.
Select the number and output from D. 6-13 is latch
According to the SQ signal, the output of selector 6-12 is
Latch power. 6-14 is an AND gate. Next, regarding the operation of CDR2-4 shown in Figure 6.
explain. Frequency divider 6-1 divides the master clock
Then, the 10-bit frequency divided output is sent to T of CDRAM6-2.
give to input. Each word of CDRAM6-2 has
Contains arbitrary values, but the top 10 bits of these values
When the output value matches the output value of the frequency divider 6-1,
Output the matching pulse from the C terminal. CDRAM6-
The A input of 2 is a signal representing CHC, that is, a channel.
has been entered, so each word has its own channel.
Since it is compatible with all channels, it is possible to
generates a pulse. This coincidence pulse is
What is input to RS latches 6-4 to 6-11?
corresponds to the channel in which the matching pulse occurred.
The Q output of the RS latch is set to "1". R.S.
One of the Q outputs of latches 6-4 to 6-11 is
Selector 6-1 according to channel code CHC
2 are sequentially selected and latched in latches 6-13.
It will be done. The output of latch 6-13 is AND gate 6-
14, so currently selector 6-1
If the Q output of the RS latch selected by 2 is “1”
SQ signal applied to AND gate 6-14
The corresponding channel of the D output of the decoder 6-3 is determined by
becomes “1” and the Q output of the above RS latch becomes
Reset to “0”. FIG. 7 is a detailed diagram of the memory 2-5. Figure 7
In, 7-1 to 7-4 are RAM, OE,
Each function of WE, A, and D is the same as RAM5-4 mentioned above.
It is the same. Here, RAM7-1 has WAR,
EAR1, ΔZ1, ΔE1, WE1, EAR2, ΔZ2, ΔE2
Each register is in RAM7-2, WR2, ZR1,
ΔT1, FR, ΔWAR, ZR2, ΔT2 registers
However, RAM7-3 has ER1, TR1, DIF1, DW1,
ER2, TR2, STW, TAB′, HAD registers
However, RAM7-4 has NOD', WE2, and VLD' records.
Each register is stored for 8 channels.
Ru. Note that NOD′, TAB′, and VLD′ are the RAMs mentioned above.
NOD, TAB, VLD data in 5-4
This is what I wrote. 7-5 is 1 word 10 bits
It is a ROM of 13 words and is shown in Tables 5 and 6.
The note coefficient CN in the calculated operation sequence is recorded.
It is remembered. Here, Q is the output and A is the address input.
power, OE is the output control terminal, and when OE = 1, it is connected to Q.
The contents of the ROM are output, and when OE=0, Q=H.
I impedance. Value of note coefficient CN
is shown in Table 7. In addition, ROM7-
The 10-bit output of 5 is sent to the lower 10 bits of the HD bus.
It is connected. 7-6 is a signal processor;
ND (note) from NOD′ stored in RAM7-4
data) and OCT (octave data)
Pitch based on these data and PE flags
A circuit that generates detune data PED, and
Read and decode the data in register WE2.
A decoding circuit is provided. FIG. 8 is a detailed diagram of FA2-6. In Figure 8
, 8-1 to 8-8 are latches, and SEQ
It operates using the signals ψ1 and ψ3 generated by 2-2.
8-9 is an adder, and the value given to the A input and
The value given to the B input (both 16 bits) and the
-Adds the value given to input Ci, and calculates C and
Output from Co. Co is the carry resulting from the operation.
– is the output. 8-10, 8-11 are bit processing
It is a circuit, and is based on latch 8-1 and latch 8-2.
This is a circuit that performs bit manipulation of the output. 8-12 is
It is a logic gate, and the latch 8-
Forcibly set the output of 6 to “1” or “0”.
Alternatively, if you output it as is, the following operation will be performed. 8
-13 is RAM, its size is 1 word 9
It consists of 12 words in bits. A, D, WE,
Each function of OE is the same as that of the RAM 5-4 described above.
The D output 9 bits are connected to the lower 9 bits of the C bus.
It is. RAM8-13 is for phase matching (described later)
Individual waveform data readings for 12 notes can be performed in registers.
Performs phase management of the protruding address (WAR). Figure 9A is a detailed diagram of MPLY2-7. No.
In Fig. 9, 9-1 to 9-9 are latches. child
Here, latch 9-3 contains bits 0 to 3 of the L bus.
9, but latch 9-5 has bits 9 to 9 of the L bus.
12 is connected. 9-10 is an encoder
be. The input/output relationship is as shown in Table 9.
Ru. 9-11 is a shifter, input from I
The 16-bit signal follows the control signal input to C.
Shift and output from 0. The contents of the shift are the 10th
As shown in the table. 9-12 is bit processing time
The latch 9-3 outputs in response to the SQ signal.
Performs bit processing of the signal. 9-13 is a decoder
Assuming input A and output D, the relationship is shown in Table 11.
It is a cage. 9-14 is a selector and enters C.
If C=1, then A, depending on the input SQ signal.
If C=0, select the 16 signals input to B.
Select and output from Y. Note that the lower 11 bits of A input
is connected to GND (ground potential) (i.e.
“0” is given). 9-15 is shifter I
The 14-bit signal input from C is input to C.
It shifts according to the control signal and outputs from 0. Schiff
The contents of the list are shown in Table 12. 9-16
is a multiplier, and the A input is 12 according to this complement representation.
Bit, B input is 10 bits of absolute value and output is 2 bits.
It is 14 bits with complement representation. Normally 12 bits
Performing a 10-bit operation yields a 22-bit result.
However, the 14-bit output of multiplier 9-16 is of course 22-bit.
These are the top 14 bits of the total. Therefore, the multiplier
The input/output relationship in 9-16 is as follows:
become. C=A×B/256 In addition, multiplier 9-16 in MPLY2-7
uses the following technique to further simplify the circuit.
I'm there. Normally, when configuring a multiplier, a 2's complement value of 12 bits is used.
A multiplier with bits x absolute value of 10 bits has 116 adder sets.
22-bit accurate arithmetic results can be obtained.
However, in this system, the 22-bit
Only the top 14 bits of the bits are used. That is,
In this example, the output of the lower 8 bits is not used.
The calculation error due to the omission of the adder cell is in the upper 14 bits.
Addition for lower 7-bit operations that does not affect the LSB of
All cell cells are omitted. Therefore, this multiplier 9
-16 has 28 adder cells for lower bit operations.
The configuration is as shown in Figure 9 (b), with the main part omitted.
Ru. In Figure 9B, similar cells are omitted within the broken lines.
I wrote it down. Also, each block is a full adder.
input is A, B, Ci (carry input), output is sum
S and Cary Co. FIG. 10 is a detailed diagram of I/O2-10. No.
In Figure 10, 10-1 to 10-8 are latches.
Ru. Here, the latch 10-3 is a latch with a set
The latch input is connected to bits 7 to 9 of the D bus.
It is connected. 10-9 is the shifter selector,
Switching between A input and B input using C input, and switching between A input and
Performs a 1-bit shift. 10-10 is a bit processing circuit, and SQ signal
Force the lower 3 bits to “1” or
This is a circuit that sets it to “0”. 10-11 is a decoder
The relationship between input I and output D is shown in Table 13.
It is a cage. The A input of decoder 10-11 is
Bits 12 to 15 of the output of 10-7 are given.
It is being 10-12 is a selector, and C input
Which signal is being given to A or B depending on the force
Select one and output from Y. 10-13 is
It is a lid, and depending on the input of control terminal C, the output from I is
Shifts the input and outputs from 0. 10-14 is
It is a noise circuit, and the input depends on the noise flag NA.
Add noise to the force data. FIG. 11A is a detailed diagram of MSW2-11.
The part surrounded by a circle is the switch, and specifically the part
As shown in Figure 11B, it is composed of Nch MOSFETs.
When the SQ signal becomes “1”, the MOSFET is
When turned on, the vertical line and horizontal line become conductive.
data is transferred. In this MSW2-11
In order to speed up the data transfer,
ψ1 signal for each time slot on all bus lines
The data is transferred after precharging.
It's summery. This switch is an Nch MOSFET.
Since it is configured, “1” of the transferred data
level drops by the threshold voltage of the MOSFET
This is to prevent this from happening. Figure 11 C~Figure 11
This is the switch used in MSW2-11.
This is an example of a pattern, and the points of intersection surrounded by circles are
It is connected through it. For convenience in this example
The case where each bus is 8 bits will be explained below. No.
Figure 11C shows bn and an (n=0~
7) is connected. Figure 11 D is b0
- Change the four values of b3 and “0” vertically using the switch.
It is designed to write to the direction bus. No.
In Figure 11 E, b0 to b3 to a0 to a3, c4 to c7 to a4 to a7
This is how it is written to.
Mixing the data appearing separately on two sets of buses
Those that can be transferred to other buses
It is. Figure 11 shows how to convert the bit position and convert the bus.
This is how it is transferred from to the bus.
By placing a switch in the horizontal bus design,
Change the position of the top and bottom 4 bits of the data in the vertical direction.
Transfer to bus. Figure 11 G to 11 L are constants
Fig. 11 is an example of a circuit for setting up a bus.
The first circuit is the circuit that sets all “0” to the bus, the 11th
Figure 1 is on the bus 10101010 i.e. AA 16 circuit to set
It is. This is the part without the switch, a7,
a5, a3, a1 are preset just before this switch opens.
The one with “1” written by Yaji is the one
By being kept as is. Figure 11 is a flag
One in which the value of a constant is changed by TO
And if TO=0 then 00 16 is written to the bus and TO
If = 1 then EB 16 is written to the bus. 11th
The switches shown in Figure C to Figure 11
1 is arranged according to the purpose and can be opened and closed selectively.
data from any bus to any other bus
This makes it possible to include bit processing that requires transfer. example
For example, from HA bus to A bus, from HB bus to B bus.
Suhe, transfer data from C bus to HC bus at the same time
When you want to do this, turn on SW1, SW7, and SW13 at the same time.
That's fine. Also, the data on the C bus can be transferred to the L bus and D bus.
Turn on SW28, SW29, and SW30 when you want to transfer to
If you turn on, C bus → HL bus → L bus and D bus
Data is transferred along this route. In addition, in MSW2-11, data transfer
is carried out at the timing shown in FIG.
In other words, in the section of ψ1=1, the vertical and horizontal bass lines are
Perform a pre-charge of in, and from the falling edge of ψ1
Data is transferred in the interval up to the falling edge of ψ3,
It latches at the falling edge of ψ3. Here, the standing of ψ3
The section from the descent to the rise of ψ1 is a latch operation.
This is the margin for stable operation. Next, data banks 1-6 will be explained. de
Data banks 1-6 store four types of data.
ing. They are (1) header address data, (2) header address data,
Tsuda data, (3) waveform data, (4) envelope data
It is ta. Here, the header address data is
Indicates at which address the data is stored
The data is 8 bits, and the header data is the waveform data.
address where the data and envelope data are stored.
8 bytes of data representing the resources and their attributes
It is. Next, we will explain the above four types of data in more detail.
I will clarify. (1) Header address data (HAD) This data is used for each tablet, each octave, and each
Address the note data assigned to each 3 keys.
Data that indicates the address of the header data as a
be. Table 14 shows the storage location of header address data.
As shown in
Set data TAB, bit 4 to bit 2
Turb data OCT, bits 1 to 0 are no.
The upper 2 bits of the data ND, the remaining bits are
All contain "1". TAB here,
The 10 bits consisting of OCT and ND are called WTD.
Each of them is shown in Table 1.
Not even. Header by header address data
The data address is shown in Table 15 and the bit
Header address data is entered in bits 10 to 3.
All upper bits are "1". Also, the bottom 3
Enter data from 000 to 111 in the bit. (2) Header data Header data is stored at the address shown in Table 15.
One word is 8 bits stored, so 8 words of data are stored.
The contents of each of the 8 words are shown in Table 16.
It is. In Table 16, CONT is the control
This is the header data and is indicated by this header data.
Displays the attributes of waveform data and envelope data.
vinegar. E1′ is one of the two types of envelope data.
On the other hand. The other envelope data E2′
The start address is given by STE+ΔSTE.
W1 and W2 are two types of waveform data, and W1's
The start address is given by STW + ΔSTW.
Ru. Note that CONT is configured as shown in Table 17.
The meaning is as follows.
Ru. P/O: The musical tone based on this header data is a piano
type envelope or organ type
This is a flag indicating whether the envelope has an envelope.
If P/O=1, it is a piano type.
means. ORG: Which range does the musical sound data originally belong to?
This is 3-bit information that indicates whether
The correspondence between ORG and range is shown in Table 18.
That's right. Therefore, the waveform data is actually
The number of samples for one cycle is
It is also information that indicates whether the W8: Is the waveform data 12-bit precision8?
Indicates bit precision. W8=1
It has 8-bit precision. When W8=1
has 4 bits at the bottom of the waveform data.
“0” is added and the amplitude level of the waveform is
It's starting to be preserved. PCM: Rise of waveform data W1 when PCM=1
Indicates that the part is PCM. NA: When superimposing a noise signal on a musical tone signal
This is a 2-bit signal used for (3) Waveform data (W1, W2) As mentioned above, in the musical tone generator 1-5, the waveform data
12-bit data and 8-bit data
I use two types. sold here
When you think about ROM, most of them are one word.
8 bits or something else, 1 word
12 bits are rare. Therefore, the present invention
The waveform is stored in ROM as shown below. Immediately
In the case of 8 bits, STW and ΔSTW
Store one word at a time sequentially from the address determined by
However, in the case of waveform data of 1 word 12 bits
As shown in Figure 12, the upper 8 bits are STW
Sequential cases starting from the address indicated by +ΔSTW
However, the lower 4 bits are STW + ΔSTW.
An application that shifts the value one bit to the right and puts 1 in the MSB.
2 words in the lower 4 bits and upper 4 bits of the address
The minutes are stored sequentially. For example, if the address
0444 16 The lower 4 of the upper 8 bits of the waveform data in
Bit location is address 1222 16 top 4 bits of
So, address 0445 16 About a
dress 1222 16 This means that the lower 4 bits of (4) Envelope data (E1', E2') Envelope data consists of 1 word with 16 bits.
The data format is shown in Table 19.
It is a cage. ΔT is envelope address update
This is the data that determines the interval. S is for envelope
This is a flag indicating the slope (increase or decrease). Z
is a flag indicating the magnitude of the slope of the envelope.
and DATA is its size. Shown in Table 19
The data is determined by STE and ΔSTE shown in Table 16.
stored in the data bank according to the specified address.
ing. The data bank is structured as described above.
gives a change in tone for every three keys next to each other.
On the other hand, within the same octave,
If you have the same header address data
Waveform data, envelope data, header data
You can obtain musical tones with the same timbre without increasing the timbre. Ma
In addition, arbitrary waveform data in each header data,
Envelope data can be specified, so fewer waves can be created.
Even if it is shape data and envelope data,
It is also possible to generate various musical tones by combining them.
It is. Next, the initial sound when the key is pressed in the musical tone generator 1-5 is
dial processing, note clock generation method, envelope
Waveform generation method We will now explain how to generate waveforms. (1) Initial processing In the initial processing, musical tones are generated by pressing keys.
Initial settings of various registers are performed when generated.
Ru. The calculation sequence starts from the initial mode by pressing the key.
It starts with a long sequence of codes, so
In the accounting department, PDR first appeared in time slot 13.
period is set. To explain this operation in more detail,
Figure 5: PDD is read from RAM5-4 and HE
Data gets on the bus. At the same time, Fig. 7 signal processor 7
-6, the PED is given to the HD bus, and the first
In Figure 1 A, SW21 and S17 are turned on and PDD is A.
Bus, PED gets on B bus. This data is the 8th
It is added at FA2-6 as shown in the figure and the C bar is
The calculation result is placed on the screen. This calculation result is sent via SW23.
Then take the HE bus and go to Regis in RAM5-4.
stored in the data PDR. In addition, in this calculation,
Transferring PDD and PED to FA2-6 is actually PDD
One time slot in which +PED calculation is performed
Before imslot, also store the calculation result to PDR.
Delivery is 1 time slot where PDD + PED calculation is performed
This is done after the All about the addition operation below
The same is true. Next, time slot (15)~
“0” is written to TR1, TR2, ZR1, and ZR2 in (18).
It gets sucked in. This operation is performed by writing “0” to TR1.
Regarding the case where the time slot
(15) in MSW2-11 of Figure 11 A
SW33 and SW13 are turned on. ST33 is shown in Figure 11.
The configuration is as follows, and “0” is given to the C bus.
available. Since SW13 is on at the same time, C
The data on the bus is given to the HC bus, as shown in Figure 7.
“0” is set in register TR1 in RAM7-3.
written. On the other hand, in the data bank reading section, the following
It behaves like this. The following explanation focuses on Figure 10.
Ru. By WRD composed of TAB, ND, OCT
The header address data HAD is read out.
Note that the initial mode that performs this initial processing is
In the mode, latch 10-3 is activated by the SQ signal.
It is set to 111. This data is I/O
15th by shifter 10-13 in 2-10
The data is converted to the format shown in the table.
RAM7-3 register via bus SW15 and HC bus.
stored in the star HAD. At the same time as this operation,
Header address data read from data bank
Data HAD is latch 10-8, latch 10-6.
They are latched one after another and the shifter selector 10-9
The data is formatted as shown in Table 15.
is switched and latched in latch 10-4. Latsuchi
10-4, first the bit processing circuit 10
-10 gives 000 to the lower 3 bits.
Control data CONT is data bank 1-
6 and latched via latch 10-8.
It is latched to the upper 8 bits of 10-7. Conte
Roll data CONT is selected by selector 10-12,
Lid 10-13, noise circuit 10-14, latch
The register of RAM5-4 is accessed from the D bus via 10-2.
Stored in star CONT. On the other hand, latch 10-
The upper 4 bits of 7 are connected to decoders 10-11.
16 bits according to the truth table shown in Table 14.
You can obtain the following data. However, at this time, decoding
The C input of the data card 10-11 is "1". Se
Rectors 10-12 select this decoder output
Then, shifters 10-13 shift 6 bits to the right and output
Strengthen. Here, the output of this shifter 10-13 is
Considering this, decoder 1 from latch 10-7
The data input to 0-11 is P/O and
ORG3 bits. Now decoder 10-11 C
Since the input is “1”, the decoder 10-11
Output is determined by ORG3 bit only. Therefore de
The output of coder 10-11 is transferred to 6 by shifter 10-13.
The values shifted to the right by bits are the values shown in Table 18.
Ru. This value is the noise circuit 10-14, latch 10
-2 to the D bus, MSW2-11
In the RAM7-3 register via SW15
data is stored in data DIF1. Next, bit processing is performed on the output of latch 10-4.
Circuit 10-10 sets 001 to the lower 3 bits, then
Give 010 to the upper and lower STE of the header data.
8 bits of each position are read out. This STE value is
Rector 10-12, shifter 10-13, noise times
route 10-14, to D bus via latch 10-2
given, through SW5 in MSW2-11
and stored in register EAR1 of RAM7-1. Next, enter the shot sequence. Shyoto Sea
The kens are executed twice. in time slot (1)
PDR and JD are added, where JD is a constant.
Turn on SW32 in MSW2-11.
It is obtained by SW32 is shown in Figure 11
It is structured like this, JD = 45B 16 Tonatsutei
Ru. Multiply this addition result by the note coefficient CN.
Combine them to get FR. Explain this series of yen calculations in detail.
Then, PDR + JD is calculated at time slot (1).
The result is placed in time slot (2) as described above.
and is given to the C bus. Now to MSW2-11
SW28 and SW29 are turned on, and the C bus → HL
Data is transferred in the order of bus → L bus, and
Latch MPLY2-7 at latch 9-1
be done. In the next time slot (3), Fig.
CN according to note data ND from ROM7-5 of
The value of is read and applied to the HD bus. this
The value is L through SW19 in MSW2-11
Latch 9-3 of MPLY2-7 given to bus
is latched to. The output of latch 9-1 is output from shifter 9
-11 to latch 9-2 to latch 9-3.
The output is sent to latch 9-4 via the bit processing circuit.
and latched. Therefore, Latch 9-2 has PDR.
+JD value is latch 9-4, CN value is latch
It has been checked. Then multiplier 9-16 (PDR
+JD) and CN and output it via shifter 9-15.
The signal is sent to latch 9-8 and latched. In addition
In these series of operations, the shifter 9-11,
The bit processing circuit 9-12 and shifter 9-15 are data
It operates to allow data to pass through. That is, encode
“1” is given to the C input of D9-10.
Ru. The value of latch 9-8 is MSW2-1 from the L bus.
1 to register FR of RAM7-2 via SW9.
Stored. Therefore, in time slot (2),
ORG+OCT+1 is calculated. In this calculation
Therefore, the operation of +1 is shown in Figure 8 as the logic in FA2-6.
This is done by gates 8-12. In other words, the corresponding tag
Imslot forces logic gates 8-12
If “1” is output, latch 8-5 will latch “1”.
and gives “1” to the Ci input of the adder.
Ru. The meaning of this operation is as follows.
Ru. In other words, ORG determines which range the waveform data is originally in.
Click the value indicating whether it belongs (let's say this is N)
This is also shown using the reverse logic of Turb Data OCT.
It is. The relationship between OCT and ORG and the number of waveform samples
The details are shown in Tables 18 and 22. Therefore, ORG+1 is -
It will represent N. In other words, ORG + OCT + 1 = OCT - N, which is currently about to occur.
The tonal range of the musical tone signal and the actual use
The difference between the original range of the waveform data, that is, the octa
This value indicates the amount of shift. In other words, the original waveform
How many octaves higher should the sound be read?
show. This value is temporarily stored in register WE of RAM7-4.
2 and then decoded by the signal processor 7-6.
is loaded and stored in register ΔWAR of RAM7-2.
be done. ΔWAR for the value of ORG + OCT + 1
The values are shown in Table 20. Below, time slot (4) is EAR2, time slot (6), (8),
In (9) and (10), each level of WR1, ER1, WE2, WE1, and WR2 is
Performing initial settings for the register. On the other hand, in the data bank reading section,
The header stored in RAM7-3 with the long sequence
Read the Tsuda address data HAD, D bus →
Through latch 10-1 → shifter selector 10-9
bit processing circuit 1.
Enter 001 in the lower 3 bits of 0-10 to enter the data.
Read the ΔSTE of header data from the bank. child
The value is latch 10-7 → selector 10-12 → switch.
Lid 10-13 → Noise circuit 10-14 → Latch
10-2 to the D bus, MSW2-
A bus via SW26 and SW30 at 11
and is added to EAR1 in FA2-6.
Next, store it in register EAR1 of RAM7-1.
Start of a certain STE (envelope data H1′)
address) is read out, and the D bus → latch 10-1
→Latch 10- via shifter selector 10-9
It is latched at 4. The output of latch 10-4 is bit
The “0” order is applied to the LSB by the data processing circuit 10-10.
"1" is entered in the table 19 and shown in Table 19.
Read the 2-byte envelope data as follows.
vinegar. This value, 16 bits, is latched to latch 10-7.
It will be done. According to the output of latch 10-7, the first
ΔT1, ΔE1, ΔZ1, second time in the yaw sequence
The values of ΔT2, ΔE2, ΔZ2, are calculated using the short sequence.
Occur. First, the decoder 10-11 has a latch.
The upper 4 bits of 10-7 are input, but the
The top 4 bits of Tutsi 10-7 are shown in Table 19.
Contains the value of ΔT of the roller. Therefore decoder 10
-11 decodes ΔT according to Table 13 and selects
output to the vector 10-12. Selector 10-12
In this case, C=1 and B input is selected.
and outputs to shifter 10-13. This selector 1
0-12 output is shifter 10-13, noise circuit 1
No bit manipulation is performed in 0-14.
is applied to the D bus through latch 10-2.
Then, MSW2-11 connects SW10 and HB bus.
and stored in the register ΔT1 of the RAM 7-2. ΔE1, ΔZ1, ΔE2, ΔZ2 are shown in Table 19
However, shifter 10-
Bit manipulation is performed in step 13 and stored in each register.
be done. What bit operations are performed
The details are as shown in Figure 13. In table 19
The data format differs depending on the Z value used.
It shows that Next, read ΔSTE from data bank 1-6.
As in the case of register HAD from RAM7-3.
Read the value, latch it to latch 10-4, and set the bit.
The header address data is processed by the address processing circuit 10-10.
The first initial mode for the lower 3 bits of HAD.
100 in mode, then 101, second initial mode
In the code, the data is set by giving 110 and then 111.
Read STW and ΔSTW from tabank 1-6,
STW is the register STW of RAM7-3, ΔSTW is
Store in register WAR of RAM7-1. The above completes the initial settings for all registers.
Complete. (2) How to generate a note clock First, generate the note clock used in the musical tone generator 1-5.
The principle of the Tsuk generation method is the same as that shown in Figure 3.
Ru. The musical tones shown in Figure 1 in contrast with Figure 3.
Performance of note clock generation in generation section 1-5
The details of the calculation sequence will be explained below. A key is pressed on the keyboard 1-1, and the microcomputer 1-4
instructs the musical tone generator 1-5 to generate a musical tone.
, the operation sequence is initialized as described above.
Start with mode long sequence. Thailand first
At muslot (13), PDD + PED → PDR ... (2-1) Next, enter the shoot sequence and time slot
In steps (1)...(6), the following calculations are performed: PDR+JD→LB...(2-2) CB×CN→FR...(2-3). Then switch to normal mode
FR + CDR → FR at short sequence time slot (9)... (2-4) Long sequence time slot (14) ~
In (18), the following calculations are performed: PDR+JD→LB...(2-5) CB×CN→FR...(2-6) PDD+PED→PDR...(2-7). Here, PDD is shown in Table 1.
PDD, that is, pitch detune data,
PED is the aforementioned pitch extend data.
JD is a constant and 1115 Ten (45B in hexadecimal)
The value has been set. Note coefficient CN is assigned
The value is determined by the pitch name, and the value is determined by the pitch name and CN.
The relationships are shown in Table 7. Theory of Tables 5 and 6
As mentioned above, operations (2-2), (2-3)
And calculations (2-5) and (2-6) are as shown below.
Can be expressed. (PDR + JD) × CN → FR ... (2-8) Here, PDR is PDD + PED, so it is calculated
(2-8) is (PDD+PED+JD)×CN→FR
...(2-9) The value of this FR is shown by calculation (2-4).
Accumulate in CDR. As mentioned above, this accumulation is
Occurs once every time a note clock occurs.
Therefore, if the initial value of CDR is N, the value of CDR is N,
It changes as N+FR, N+2×FR,... here
As shown in Figure 6, CDR is 13-bit data.
data, but its lower 3 bits are the target of match detection.
The upper 10 bits and the master clock
Compare with the 10-bit divided signal obtained by sequentially dividing the
and a matching pulse is generated, so
In reality, comparisons are made with N/8, N+FR/8, N+2×FR/8, etc., and the top 10 bits of the CDR are the third
This corresponds to the flip-flop 3-3 in the figure, and FR/8 corresponds to the value M of the constant circuit 3-5 in FIG. Therefore above
If you perform the calculations (2-1) to (2-7) below, you will get a constant cycle.
The current note clock is obtained, and its frequency is (master clock frequency)÷FR/8. Also, the output of RS latch 3-6 in Figure 3 is CLRQ
corresponds to In this way, a 10-bit comparator, an 8MHz mass
Although using a clock, the amount equivalent to 13 bits is
resolution. (3) Waveform generation method The waveform generation shown in Figure 1 musical sound generation section 1-5
The production method can be broadly divided into the following five steps.
That is: Address generation Read waveform data from data banks 1-6
generate the actual address. Read waveform Read the waveform data specified by the address above.
Control data is read from data banks 1-6.
Performs bit processing according to the data CONT. Envelope multiplication Two-wave mixing CN multiplication Each step will be explained in detail below. Address generation: Header data is generated by initial setting by pressing a key.
STW (start address of W2), ΔSTW (W1
number of words), DIF1 (number of samples included in one waveform)
number) is stored in registers STW, WAR, DIF1,
Further, the register ΔWAR is determined by the calculation. child
The address is set in normal mode based on these data.
In the following process,
When the waveform data has a PCM part (PCM=1)
If not (PCM=0), the address generation will be different.
Therefore, it is divided into cases with a PCM part and cases without a PCM part.
I will explain. When there is no PCM section As shown in Table 6, at time slot (2),
Find the sum of STW and WAR, and use this sum to
Read waveform 1 from data bank 1-6 and
Add DIF1 to the above sum at imslot (4)
In other words, the value of STW + WAR + DIF1 is
Waveform 2 is being read from links 1-6.
Here, STW is the start address of waveform 2,
Register WAR has the initial value ΔSTW, that is, the waveform.
Contains the negative number of the number of words contained in 1, and the tie
Accumulate ΔWAR at Muslot (7). Therefore
The value of STW + WAR is the start address of waveform 1.
The value increases sequentially for each value of ΔWAR. Ma
In addition, the value of ST + WAR + DIF1 is calculated by adding DIF1 to this value.
Therefore, from the start address of waveform 2,
It is a value that increases every ΔWAR. here,
ΔWAR is a value representing the reading skip of the waveform
Therefore, as described above, for waveform 1 and waveform 2,
address can be generated. In addition, in the main musical tone generating section 1-5, the PCM
section is absent, solo flag SOL = 0, and
Phase alignment when no quarter shift is performed
conduct. The phase matching method is based on the calculation sequence
When changing from normal mode to normal mode
RAM as the calculation result in the first time slot (7)
Data whose address is the homophone name in 8-13
Store 9 bits in register WAR. RAM8
-13 output is 9 bits, but the C bus is
Since it is charged, the aforementioned 9 bits of the total 16 bits are
“1” is entered in the upper 7 bits. 2nd time
The calculation results for subsequent time slots (7) are shown in Table 6.
As shown, it is stored in the register WAR and
Use the homophone name in RAM8-13 as the address
Updated in register (phase register). This way
By setting the
Even if a musical tone has already been generated, the chi
The value of register WAR in Yannel is RAM8
I am trying to generate a musical tone through -13.
To be given to the register WAR of the channel
In order to match the phase between these two channels,
becomes possible. Here, the calculation for time slot 7 is WAR+
Let's talk about ΔWAR. When WAR+ΔWAR≧0, it has nothing to do with the range.
As a result of the operation, -512 is sent to the C bus. Ten (FF00 16 ) is given
available. If there is no octave shift
When ΔWAR=1, the value of register WAR is 512
This is a well-known fact and will be repeated. Multiple channels that generate the same note due to the above
The register WAR for each file is always the same.
The same node occurring on different channels
The phases of the two waveforms match perfectly, and the position
Coordination is achieved. Next, the calculation STW + in time slot (2)
Let me explain WAR in a new way. Data is read from register STW of RAM7-3.
The HC bar as shown in MSW2-11
FA by clock ψ3 via bus, SW11, and A bus.
It is latched by latch 8-1 of 2-6. at the same time
The value of register WAR in RAM7-1 is HA bus,
SW2, FA2-6 by clock ψ3 via B bus
It is latched by the latch 8-2. latch 8-1
The output is determined by the bit processing circuit 8-10.
Latched 8 by clock ψ1 without receiving
-3 is latched. On the other hand, the output of latch 8-2
inputs ORG in the bit processing circuit 8-11.
Bit processing is performed as shown in Table 21.
After that, the clutch 8-4 is latched with the clock ψ1.
It will be done. Adder 8-9 connects latch 8-3 and latch 8-
Add the outputs of 4, latch 8-7, latch 8-8
to the C bus. Bit processing circuit 8
-11, perform the bit processing as described above.
As a result, the register WAR changes with a period of 512.
Despite the fact that it is
It will change at regular intervals. for example,
If ORG=5, OCT=2, octave shift
As mentioned in the initial processing section,
ΔWAR=1. Also, from Table 21, register
Bits 7 and 8 of WAR are always 1, so the tie
The calculation results of Muslot (2) are −10, −9, …−1, −128, −127, …−1, −, assuming STW′ = 0.
128...and so it repeats with a cycle of 128. Also,
2 octave shift when ORG=4 and OCT=5
Therefore, ΔWAR=4. Also, according to Table 21
Bits 6, 7, and 8 of register WAR are always 1.
Similarly, −40,…−8, −4, −64, −60, −56…−4,
−64,... and so it repeats in 16 cycles. The repetition period is 128 when OCT=2, and the repetition period is 16 when OCT=5.
The desired waveform points are obtained from Table 22.
It is shown that. Also, when ORG=4, OCT=5, the register
Table 18 shows that WAR increases by 4.
4 samples of data with 64 waveform samples as shown
The original waveform data can be obtained by acquiring one point at a time for each waveform.
Being able to raise the octave by two octaves
It shows. When there is a PCM section If there is a PCM section, the address generation is done by the PCM section.
performance in time slot (2) compared to the case without
The calculation is different, but the other things are the same. In time slot (2), the performance of STR + WAR is
calculation is performed. In other words: Data is read from register STW of RAM7-3.
is extracted and clicked via the HC bus, SW11, and A bus.
Lock ψ3 locks FA2-6 to latch 8-1.
be touched. At the same time, the RAM7-1 register
WAR value is FA via HA bus, SW2, B bus
It is latched by latch 8-2 of 2-6. here,
The output of latch 8-1 is sent to bit processing circuit 8-10,
The output of latch 8-2 is sent to bit processing circuit 8-11.
input, but both outputs undergo bit processing.
sent to latch 8-3 and latch 8-4 without
and are added by an adder 8-9. Now, consider the value of register WAR
If there is no PCM section, register WAR will contain the first
The negative number of samples included in one period of the waveform as a period value.
number is written, but if there is a PCM part,
Used as the PCM part as the initial value of register WAR
A negative number of all samples of the waveform will be written.
Ru. Therefore, the calculation result of time slot (2) is data
PCM part start address of waveform 1 in banks 1-6
The value increases sequentially by ΔWAR from the response.
The end of the PCM section is detected at the time slot (7).
Perform the calculation by detecting that WAR+ΔWAR≧0.
The address generation after the PCM section is completed is the PCM section is closed.
This is exactly the same as the case where the bit processing circuit 8-1
Bit processing by 1 is performed. In addition, the address calculation in the musical tone generator 1-5
is 16 bits, but the address signal is 16 bits.
Of course, there may be cases where this is not sufficient. So, the book
In the musical sound generation section 1-5, the tablet data
The address space is expanded using the upper 3 bits of TAB.
It is now possible to stretch. to I/O2-10
The latch 10-3 is the latch for address space expansion.
and the tablet data is stored in latch 10-3.
The upper 3 bits of TAB are latched. In other words: When the initial mode is entered by pressing a key, the RAM
The tablet data stored in 5-4 is MSW2
-11 to register TAB' of RAM7-3.
Stored. Then when you enter normal mode,
The value of register TAB' of RAM7-3 is read,
In I/O2-10 via MSW2-11
It is latched by latch 10-3. In this way
Although the internal calculation is 16 bits, the address is 19 bits.
access space. Waveform readout Waveform readout is performed at time slots (2) and (4).
This is done based on the address given. time slot
The calculation result from (2) is C bus, SW28, HL bus,
SW30, latch I/O2-10 via D bus
It is latched at 10-1. First, Latch 10-1
The output of shifter selector 10-9 and latch 10-
4. Latch 1 via bit processing circuit 10-10
The data is latched at 0-5 and the data is output by latch 10-3.
Read data banks 1-6 along with the data
Outputs of tab banks 1-6 are latched to latches 10-8.
be done. The output of latch 10-1 is then applied to the shifter.
Shifted by 1 bit to the right by selector 10-9,
“1” is added to the MSB and the latch 10-4 is activated.
be hit. The output of latch 10-4 is bit processed.
Latched to latch 10-5 via circuit 10-10
The data is stored together with the data from latch 10-3.
Read data bank 1-6, read data bank 1-6
The output of is latched in latch 10-7. At this time
The upper 8 bits of latch 10-7 contain latch 10-7.
Since the output of 8 is given, the previous data bar is
latched together with the values of links 1-6. here,
The data latched to the lower 8 bits of latch 10-7
The data is 12 bits as mentioned in the data bank section.
This corresponds to 2 words of the lower 4 bits of the start waveform. La
The output of Tsuchi 10-7 is passed through selector 10-12.
is given to shifters 10-13, and the upper 8 bits are
Shifted 4 bits to the right, the output of latch 10-1
If LSB = 0, the lower 8 bits are also 4 bits to the right.
If LSB = 1, the lower 4 bits are shifted.
The signal is output from the shifter 10-13 without being input. child
Here, in the control data CONT, W8=
If a 1 or 8-bit waveform is specified, shift
Data 10-13 outputs with the lower 4 bits set to “0”.
do. The output of shifters 10-13 is the noise circuit 10
-14, applied to the D bus via latch 10-2.
The RAM7-3 register is accessed via MSW2-11.
It is stored in star WR1. This value is the waveform of waveform 1
It is data. to the address obtained by time slot (4)
The same process will be performed in any case. However, control
If NA=00 in role data CONT
In the noise circuit 10-14, a noise signal is generated.
Added. When AN=01, bit 9 is NA
When = 10, bit 10, when NA = 11, bit
9 and 10 are replaced with noise signals. this
In this way, the noise signal can be superimposed without using an adder.
are doing. This is the waveform data of waveform 2
It is stored in register WR2 of RAM7-2. Envelope multiplication Create two types of waves, waveform 1 and waveform 2, as described above.
waveform data was obtained, but for this waveform data
Perform envelope multiplication. En for waveform 1
The envelope is stored in register ER1 of RAM7-3.
The envelope for shape 2 is stored in the register of RAM7-3.
It's in Star ER2. Here, the envelope
, the envelope has a 4-bit exponent part.
Displays a 13-bit floating point number with a 9-bit mantissa.
It's on. Envelope multiplication is done twice for each channel.
However, each operation is similar, so
Calculation of WR1×ER1 in imslots (7) to (9)
I will explain about it. The data in register ER1 of RAM7-3 is MSW
Latch 9-3 of MPLY2-7 via 2-11
and is latched by latch 9-5. Here, Ratsu
In chip 9-3, the lower 10 bits of register ER1 are
Latch 9-5 has bits 9-1 of register ER1.
2 is latched. Next, the register of RAM7-3
The data of data controller WR1 is passed through MSW2-11.
It is latched to latch 9-1 of MPLY2-7.
The output of latch 9-3 is sent to bit processing circuit 9-12.
The MSB is set to “1” and the latch is set to 9-4.
is latched to. That is, latch 9-4 has an envelope.
The tentative part of the rope is latched. Latch 9-1
The output is locked to latch 9-2 via shifter 9-11.
be hit. At this time, the C input of encoder 9-10
is given 1 by the SQ signal, and the shift
00001 is given to the C input of data 9-11. late
Shifter 9-11 is the lower 12 bits of latch 9-1.
In other words, waveform 1 read from data bank 1-6
Send 12 bits of waveform data to latch 9-2.
Multiplier 9-16 connects latch 9-2 and latch 9-4.
The 14-bit product is the latch 9-
7 and sent to shifter 9-15. On the other hand, latch 9-5 contains the exponent part of the envelope.
is latched, and decoder is applied via latch 9-6.
The selector 9-1 decodes the
4 to the shifter 9-15 as a control signal.
It will be done. Therefore, the output of latch 9-7 is the envelope
shifted by the exponent of the
It will be latched. In this way, fixed-point
Multiplication of waveform data and floating point envelope
It will be done. The output of latch 9-8 is from the L bus.
RAM7-1 register via MSW2-11
Stored in WE1. Waveform data of waveform 2 and encoder
Multiplication of the envelope is done in the same way, RAM7-4
is stored in register WE2. Two-wave mixing As described above, waves are applied to registers WE1 and WE2.
The shape is stored. In this step, WE1 and WE2
Find the sum of The calculation in time slot (1) is
This corresponds to this. CN multiplication Two-wave mixing is performed in time slot (1), but the main musical tone
In the generation part 1-5, ABM2-9 and fiber
Depending on the characteristics of routers 1-7, it may occur depending on the note name.
The sound pressure level generated may differ. for this
CN multiplication performs the correction. Here, the correction
Using the note coefficient CN as it is as a coefficient for
There is. WE2+WE1 at time slot (1)
The calculation result is sent from the C bus to SW28, HL bus,
SW29, MPLY2-7 latch 9 via L bus
-1. On the other hand, ROM of memory 2-5
Note coefficient according to note data ND from 7-5
CN is read out and sent via HD bus, SW24, and L bus.
Then it is latched by latch 9-3 of MPLY2-7.
Ru. Here, WE1+WE2 is 16-bit data.
However, the A input of multiplier 9-16 is 12 bits.
In MPLY2-7, the following processing is performed.
Ru. That is, the upper 5 bits of latch 9-1 are encoded.
input to the encoder 9-10, and the encoder 9-10
Output the data shown in Table 9 from both terminals A and B.
Strengthen. In other words, the data in latch 9-1 is
Find out how many bits it actually is, and depending on this result,
12 bits from latch 9-1 by shifter 9-11
Take out the For example, if the value of latch 9-1 is
3A26 16 , this data is effectively 15 bits
Since it is data, shifter 9-11 is latch 9-1.
Take out the 12 bits below bit 14 and use shifter 9.
−11 output is 744 16 becomes. In this way WE2
Multiply the real part of +WE1 by the note coefficient
The original number of bits is restored by shifter 9-15.
and latch with latch 9-9. As described above, a multiplier with a small number of bits can be used.
When performing multiplication on data with a large number of bits.
Ru. The value obtained in this way is sent to DAC2-8.
Output and corrected to the specified cycle by ABM2-9
Output as a musical tone signal. By the way, in the main musical tone generating section 1-5,
As mentioned in Table 1, the instructions from the microcomputer
Switch CN multiplication to VLD multiplication by lag VOL
can be done. That is, in a long sequence
Therefore, the register VLD8 bit of RAM5-6 is
RAM7-4 registers via MSW2-11
Sent to LVD′. MSW2-11 when sending
Bit shift is performed at 8-bit data.
Shifted 2 bits to the left and further set “0” to the lower 2 bits.
is added and converted to 10-bit data. this
Therefore, the number of bits in VLD is the same as the number of bits in CN.
Become one. Add the value of ROM7-5 to the value of WE2+WE1
Multiply or multiply by the value of register VLD′
is determined by the flag VOL in Table 1, and VOL=
If 0, ROM7-5 sends data to HD bus
However, if VOL=1, RAM7-4 is connected to the HD bus.
Send data. By configuring as above, microcontroller 1
-4, the musical tone generator 1-5 outputs the musical tone signal.
It is now possible to change the level of the issue, and as shown in Table 1.
Amplitude modulation is achieved by sequentially changing the value of VLD.
It becomes possible to At least one of the speed and pressure with which you press the keys.
If you create a VLD based on the touch response device
Noh is realized. What is the touch response function?
The volume, tone, etc. change depending on the strength etc.
Ru. For example, on a piano, the harder you press the keys, the louder the volume.
Not only will the sound be brighter, but the tone will also be brighter, making it easier to hit weakly.
When I key the key, not only is the volume low, but the tone is also muffled.
Become something. The volume and tone change automatically depending on the strength of the keystrokes.
However, in the case of a piano, the keyboard changes after the key is pressed.
Even if you change the force with which you press the button, the sound quality is decreasing
cannot make any changes. Pi like this
In that case, only the strength of the keystrokes is the touch response function.
This feature is especially useful at the initial stage.
It's called Tutsi control. Generally, percussion instruments fall into this category.
belong to On the other hand, the trumpet is sustained depending on the strength of the breath.
This sound quality can also be changed.
When playing by imitating the keyboard of an electronic musical instrument
Also, when a key is pressed while a trumpet sound is being generated,
Change the volume and tone by increasing or decreasing the strength
This is necessary. This feature is especially useful after-sales service.
-It's called touch control. Generally, stringed instruments
Wind instruments belong to this category. In the embodiment of the present invention, as described above, VOL
By performing VLD multiplication by the flag, each channel is
The volume can be controlled independently. As an application example, measuring the strength of keystrokes and
Create VLD values accordingly and transfer them from the microcontroller.
Different VLDs transferred for each keystroke
The volume of each sound will change accordingly. When the microcontroller transfers VLD, it responds to the value of VLD.
If you change the tablet data and transfer it, the book
The musical tone generator of the embodiment changes the volume according to the value of VLD.
As mentioned earlier, you can also change the tone.
This is clear from the functional description. Regarding this tone switching, VLD is 8-bit
Let's explain with an example. Table 23 shows the range of VLD values and their corresponding
An example of the strength and weakness name and tablet name is shown below. Every time VLD decreases by 1 bit, the volume decreases by 1/2.
It is 6 dB lower, which is the name of the musical term for dynamics.
assigned to each. Also, the strength of ff is gorgeous.
Since we need a tone, we need to tap waveform data rich in harmonics.
Assign this to bullet 0, and at a volume lower than MP.
Waveform data close to a sine wave is required because a mellow tone is required.
to assign multiple types of waves to Tablet 3.
Prepare shape data in a data bank. By doing this, the VLD will change depending on the strength of the keystroke.
At the same time, the tone is switched in four ways within the numerical range of
256 different volumes can be specified depending on the 8-bit VLD.
Wear. The above was the initial touch control.
However, similarly, depending on the amount of pressure on the key after the key is pressed,
and VLD that changes from moment to moment according to the value of VLD.
The microcontroller sends the tablet data to be converted into
The musical tone generator of this embodiment changes the key press pressure after the key is pressed.
The tone and volume can be changed moment by moment according to the
I can do it. The above is aftertouch control. (4) Envelope generation method Envelope generation in musical tone generator 1-5
The method can be divided into the following three steps. That is, address generation, reading of envelope data, and envelope calculation. Each step will be explained in detail below. Address generation Header data is generated by initial setting by pressing a key.
STE (start address of envelope data E1′)
), ΔSTE (word of envelope data E1′)
registers EAR1, EAR2, TR1,
TR2, ΔT1, and ΔT2 are initially set. this
Address calculations are performed based on these data.
Address calculations can be performed with low calculation frequency.
It is done in a long sequence of arithmetic sequences.
Ru. Furthermore, the embedding is performed at the odd numbered times of the long sequence.
Perform address calculation of rope data E1′ on even numbered times.
Perform address calculation on envelope data E2′
There is. In the odd numbered long sequence, the time
At slot (13), ΔT1+TR1→TR1...(4-1) At time slot (15), ΔEAR1+EAR1+Ci→EAR1...(4-2)
1-6 is read. Time slot (15)
Ci is ΔT1 performed in time slot (13)
This corresponds to the overflow caused by the accumulation of . child
Here, operation (4-1) will be explained in detail. First, the value of register ΔT1 of RAM7-2 is HB
bus, FA2-6 via MSW2-11
It is latched to the lock 8-1. At the same time, RAM7-3
The value of register TR1 is HC bus, MSW2-11
is latched to latch 8-2 of FA2-6 via
Ru. The output of latch 8-1 is sent to bit processing circuit 8-1.
0 forces bit 3 to “0” (bit
The reason why bit 3 is set to "0" will be explained later. ), Ratu
It is latched at 8-3. The output of latch 8-2 is
latch 8-4 via bit processing circuit 8-11.
Latched. Here, the bit processing circuit 8-11
In this case, processing such as bit conversion is not performed. La
The outputs of the latch 8-3 and the latch 8-4 are sent to the adder 8-
9 and added through latch 8-7 and latch 8-8.
and give it to the C bus via MSW2-11.
Store the addition result in register TR1 of RAM7-3.
Ru. If an overflow occurs in the addition result,
If so, “1” is output from Co of adder 8-9.
Ru. This output is latched with latch 8-6 and tied.
It is used when calculating the muslot 15. However, this
This applies when there is no PCM part in the waveform data.
Yes, if there is a PCM part in the waveform data (flag
PCM = 1), there is no register until the PCM part is read.
“0” is forcibly set as the calculation result for data TR1.
is input. Therefore, the overflow due to the accumulation of ΔT1
Since no low occurs, it is necessary to read the PCM until
In this case, the value of EAR1 will not be updated. ΔT1 is
As mentioned in the initial processing section, in Table 13
This is the value of D output when C=0, and register TR1
is a 16-bit register, so for example ΔT1
=4000 16 Then operation (4-1) is performed 4 times
and register TR1 overflows, and the operation (4
-2) Ci = 1 and the address is updated.
Ru. Here, operations (4-1) and (4-2) are long
This occurs once every two times in the sequence. Shown in Figure 1
As you can see, the long sequence of the same channel is
Period of 388 time slots, i.e. 1 time slot
Since the time is 250ns, it appears in a period of 97μs. late
Operations (4-1) and (4-2) are performed every 194 μs,
ΔT1=4000 16 If the address is 776μs,
An update will be made. By the way, envelope data consists of 2 bytes.
Since the address has been updated, please update the address by 2.
Must be updated. time slot
In (15), update the address as follows
is going on. First, ΔEAR1 is a value determined by ΔT1.
ΔT1≠0008 16 When ΔEAR1=0000 16 And
ΔT1=0008 16 When ΔEAR1=FFEB 16 =-
twenty one Ten It is. This operation is in MSW2-11.
It will be held at SW31. SW31 is shown in Figure 11
This shows the value of bit 3 of ΔT1.
It is controlled by flag T0. Now suppose ΔT1≠
0008 16 Then, 0000 is sent to the A bus by SW31. 16 but,
HA bus from register EAR1 of RAM7-1,
EAR1 to B bus via SW2 of MSW2-11.
A value is given. These values are FA2-6.
It is latched by a latch 8-1 and a latch 8-2. Latsuchi
The output of 8-1 is passed through the bit processing circuit 8-10.
It is sent to latch 8-3. Here, the bit processing
No data conversion is performed in steps 8-10.
It's summery. At the same time, the output of latch 8-2 is
The LSB of the data is supplied to the data processing circuit 8-11.
is forcibly set to “1” and sent to latch 8-4.
Ru. That is, 1 is added in advance in the bit processing circuit 8-11.
available. Also, it is stored in the latch 8-6 mentioned earlier.
Overflow due to operation (4-1)
is latched by latch 8-5. Therefore Latch 8-
3. Add the values of latch 8-4 and latch 8-5.
If the value of latch 8-5 is “1”, then
“2” will be added to the value of EAR1. one
On the other hand, if the value of latch 8-5 is “0”, the value of EAR1
The value remains incremented by 1, but the initial processing
As mentioned in the section, in I/O2-10
This is inconvenient because “0” and “1” are forcibly given to the LSB.
This will not occur. By the way, ΔT1=0008 16 If ΔEAR1 is
FFEB 16 (-21 Ten ). Therefore, from the value of EAR1
twenty one Ten Will be drawn, envelope 10 words ago
data will be read. This results in
Envelope data address loops
It becomes a repeating envelope like a mandolin.
can generate a drop. Calculate first (4-1)
Then, bit 3 is processed by bit processing circuit 8-10.
I mentioned setting it to “0”, but the reason is that bit 3 is
ΔEAR1=FFEB 16 This is the bit that makes this performance
0008 in register TR1 when performing calculation. 16 I won't add
This is for the purpose of ΔT2 at even numbered times of long sequence,
Calculations for TR2, ΔEAR2, and EAR2 are performed in the same way.
It will be done. Note that calculations related to EAR1 and EAR2 are completely independent.
Because it is performed on waveform 1 and waveform 2, it is completely different.
can generate an envelope signal
Needless to say. Also, EAR1 or EAR2
Regarding repetition, the cycle of repetition is different.
Since it is easy to use, various effects can be obtained.
can. Reading envelope data Reading envelope data is a long sequence.
the envelope of waveform 1 on even-numbered times.
the envelope data of waveform 2 at odd-numbered times.
Read data. An error is performed based on the values of registers EAR1 and EAR2.
For instructions on how to read envelope data, please refer to the initial
This is exactly the same as described in the section on processing
Read from data bank 1-6 at I/O2-10
While converting the format of the captured data,
Registers ΔT1, ΔT2, ΔZ1, ΔZ2, ΔE1, ΔE2
I will pay it. Envelope calculation By reading the envelope data, ΔZ1,
Data is stored in ΔZ2, ΔE1, ΔE2, and
ER1, ER2, ZR1, ZR2 by initial processing
is given an initial value. depending on these values
Perform envelope calculations. The basis of envelope calculation is the time slot of the addition section.
(3), (5), (6), and (8). Time slot (3),
Calculate the envelope of waveform 1 using (5), and
The envelope of waveform 2 is determined by Muslot (6) and (8).
Calculate. Here, Ci of time slots (5) and (8)
is the overflow caused by the operations using time slots (3) and (6).
Although it is a bar flow, at time slots (3) and (6)
How does the resulting overflow fit into the time slot?
For information on whether it can be added with (5) or (8), please refer to the address
Time slot of occurrence mentioned in (13), (15)
It is similar to ER1 obtained in this way,
The value of ER2 is envelope data. Note that the “envelope” in “(3) Waveform generation method”
As mentioned in the section “Multiplication”, both ER1 and ER2 are 13 bits.
The top 4 bits are the exponent part and the bottom 9 bits are the exponent part.
The tu is the mantissa. Therefore, the main musical tone generating section 1
The envelope obtained in -5 has the form shown below.
becomes. Envelope 1 = 1. (lower 9 bits of ER1) x 2
(upper 4 bits of ER1) Envelope 2 = 1. (lower 9 bits of ER2) x 2
(upper 4 bits of ER2) Since it is shown like this, the level of the envelope is
Always has 9-bit resolution regardless of the file size.
It becomes. By the way, envelope calculation can be done in various modes.
It's different. The various modes are: 1. Cases in which the 3 waveforms have PCM and cases in which they do not.
(PCM=1/O) 2 Piano-type envelope and organ-type envelope
For envelopes. (P/O=1/O) 3 When the damper flag is turned on and when it is turned off.
If. (DMP=1/O). Each case will be explained below.
Ru. PCM=0 and P/O=0 Initial setting is “0” for ER1, ER2, ZR1, and ZR2
, and when the key is pressed, register ΔE1,
The envelope is expressed according to the values of ΔE2, ΔZ1, and ΔZ2.
Do calculations. When the key is released, the time slot (3),
As the values of ΔZ1, ΔE1, ΔZ2, and ΔE2 in (5), (6), and (8),
Released from signal processor 5-6 of UCIF2-3.
data is generated and registers ΔZ1, ΔE1,
Used instead of the values of ΔZ2 and ΔE2. In addition, in this mode, the damper flag
The calculations are not affected in any way by DMP. PCM=0 and P/O=1 Initial setting is “0” for ER1, ER2, ZR1, and ZR2
, and when the key is pressed, register ΔE1,
The envelope is expressed according to the values of ΔE2, ΔZ1, and ΔZ2.
Do calculations. When the key is released, the damper flag DMP
If = 1, registers ΔE1, ΔE2,
Perform envelope calculation according to the values of ΔZ1 and ΔZ2.
Yes, when damper flag DMP=0, PCM=0 and
This is the same as when P/O=0. PCM=1 and P/O=0 Initial setting is EA1=1FFF 16 , ER2=0, ZR1
=0, ZR2=0. The key is pressed and the wave
When Type 1 is reading the PCM section, the initial value is retained.
After reading the PCM part, register ΔE1,
The envelope is expressed according to the values of ΔE2, ΔZ1, and ΔZ2.
Do calculations. When the key is released, waveform 1 moves to the PCM section.
UCIF2-3 regardless of whether it is read or not.
Based on release data by signal processor 5-6
calculation is performed. That is, PCM=0 and P/O=
The result is 0. In addition, in this mode, the damper flag
Operations are not affected by DMP. PCM=1 and P/O=1 Initial setting is ER1=1FFF 16 , ER2=0, ZR1
=0, ZR2=0. Damper flag DMP=0
In this case, once the key is pressed, the key release timing is
The calculation is performed regardless of the program. That is, waveform 1 is
When reading the PCM section, register ER1,
ER2, ZR1, and ZR2 retain their initial values, and the PCM section
After reading registers ΔE1, ΔE2, ΔZ1, ΔZ2
The calculation is started according to the value of . damper flag
When DMP=1, PCM=1 and P/O=0
The case is exactly the same. As mentioned above, you can use it freely depending on the various modes.
can generate an envelope signal. Ma
In addition, ΔE1, ΔZ1 and ΔE2, ΔZ2 can be set completely independently.
The data is clear in the address generation section.
It is updated at the time determined by ΔT1 and ΔT2.
Therefore, in conjunction with the two types of waveform data mentioned above,
Various musical tones can be generated. (Effects of the Invention) As detailed above, the present invention provides clock signals.
means for generating a clock signal and dividing the frequency of said clock signal.
and a means for generating a divided output, a register, and a
Detects the match between the frequency divided output and the contents of the register.
means for generating a coincidence signal; and a means for generating a coincidence signal;
Adds a certain number to the contents of the register each time it is generated.
and a means for calculating a note using the coincidence signal.
For electronic musical instruments that receive a clock signal.
and the means for generating the coincidence signal is connected to the register.
At least the lower 1 bit of
By excluding the master clock frequency,
Also increases the operating speed of the system without increasing
Get higher resolution notebook clocks without
It is something that can be done.

【表】【table】

【表】【table】

【表】【table】

【表】【table】

Claims (1)

【特許請求の範囲】[Claims] 1 クロツク信号を発生する手段と、前記クロツ
ク信号を分周し、分周出力を発生する手段と、レ
ジスタと、前記分周出力と前記レジスタの内容の
一致を検出し、一致信号を発生する一致検出手段
と、前記一致信号が発生される度に前記レジスタ
の内容に一定数を加算する手段を備え、前記一致
信号を用いたノートクロツク信号を得るようにし
た電子楽器において、前記一致検出手段が前記レ
ジスタの少なくとも下位1ビツトを一致検出の対
象から除外していることを特徴とする電子楽器。
1. means for generating a clock signal, means for dividing the frequency of the clock signal and generating a frequency-divided output, a register, and a matching device for detecting a coincidence between the frequency-divided output and the contents of the register and generating a coincidence signal. In the electronic musical instrument, the electronic musical instrument is provided with a detecting means and a means for adding a predetermined number to the contents of the register each time the coincidence signal is generated to obtain a note clock signal using the coincidence signal. An electronic musical instrument characterized in that at least one lower bit of a register is excluded from a match detection target.
JP60081452A 1985-04-18 1985-04-18 Electronic musical instrument Granted JPS61240293A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60081452A JPS61240293A (en) 1985-04-18 1985-04-18 Electronic musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60081452A JPS61240293A (en) 1985-04-18 1985-04-18 Electronic musical instrument

Publications (2)

Publication Number Publication Date
JPS61240293A JPS61240293A (en) 1986-10-25
JPH0230036B2 true JPH0230036B2 (en) 1990-07-04

Family

ID=13746794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60081452A Granted JPS61240293A (en) 1985-04-18 1985-04-18 Electronic musical instrument

Country Status (1)

Country Link
JP (1) JPS61240293A (en)

Also Published As

Publication number Publication date
JPS61240293A (en) 1986-10-25

Similar Documents

Publication Publication Date Title
US5038661A (en) Waveform generator for electronic musical instrument
JPH0230036B2 (en)
EP0201998B1 (en) Electronic musical instrument
JP2950461B2 (en) Tone generator
JPH0230035B2 (en)
JPH0230030B2 (en)
JPH0230038B2 (en)
JPH0584534B2 (en)
JPH0230034B2 (en)
JPH023199B2 (en)
JPH028318B2 (en)
JPH023198B2 (en)
JPH079582B2 (en) Electronic musical instrument
JPH0583917B2 (en)
JPH0419587B2 (en)
JPH0656554B2 (en) Electronic musical instrument
JPH04161994A (en) Musical sound generation device
JP2798913B2 (en) Musical tone waveform generating apparatus and musical tone waveform generating method
JPH0418343B2 (en)
JP3176901B2 (en) Music sound information processing apparatus and music sound information processing method
JPS61255397A (en) Electronic musical instrument
JPS61248095A (en) Electronic musical instrument
JPS585797A (en) Delayed vibrato control system for electronic musical instrument
JPS6224797B2 (en)
JPS61252591A (en) Electronic musical instrument

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term