JPH0419587B2 - - Google Patents

Info

Publication number
JPH0419587B2
JPH0419587B2 JP60002331A JP233185A JPH0419587B2 JP H0419587 B2 JPH0419587 B2 JP H0419587B2 JP 60002331 A JP60002331 A JP 60002331A JP 233185 A JP233185 A JP 233185A JP H0419587 B2 JPH0419587 B2 JP H0419587B2
Authority
JP
Japan
Prior art keywords
data
bus
latch
bit
buses
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
JP60002331A
Other languages
English (en)
Other versions
JPS61161573A (ja
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 JP60002331A priority Critical patent/JPS61161573A/ja
Publication of JPS61161573A publication Critical patent/JPS61161573A/ja
Publication of JPH0419587B2 publication Critical patent/JPH0419587B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
産業上の利用分野 本発明はデジタル的に信号の演算を行なうこと
によつて所望の出力を得るデジタル信号処理装置
に関する。 従来の技術 近年デジタル信号処理装置は加減算器、乗算器
などの演算器を複数個と、RAMと、ROMと、
バスラインと、プログラムカウンタ、プログラム
メモリ、命令デコーダなどによつて構成されるシ
ーケンス制御器とを備え、データの処理を行なう
のに適した装置が各種発表されている。第15図
にその一例のブロツク図を示し、その動作を説明
する。 プログラムカウンタ1の出力をアドレスとして
プログラムメモリ2を読みだす。I/03、レジス
タ4、シフタ5、乗算器6、セレクタ7、ALU
8、RAM9の入出力、動作はすべてプログラム
メモリ2の出力によつて制御されている。I/03
が外部よりデータを取り込み、データバスを介し
てRAM9にデータを格納する。RAM9はレジ
スタ4の値或はプログラムメモリ2の出力をアド
レスとしてそのデータをデータバスを介して乗算
器6へ送られる。乗算器6においては、予め
RAM9等よりTレジスタに書き込まれているデ
ータとの乗算を行ない、セレクタ7へ出力する。
ALU8では、シフタ5によりシフトされたRAM
9のデータと、乗算器6の出力のいずれか一方を
セレクタ7によつて取り込み、加減算或は論理演
算を行ない、RAM9に結果が格納される。故
に、第15図に示すデジタル信号処理装置はA×
B+Cといつた積和演算を効率的に行なうように
なつており、この結果をI/03より出力して用い
るようになつている。(例えばTI社
TM32010USER'S GUIDE 2−1〜2−23ペー
ジ) 発明が解決しようとする問題点 しかしながら上記の構成では積和演算(A×B
+C)を専ら効率的に行なうようになつているた
め、演算形式を積和の形式に分解しないと演算の
処理速度が上らない。また、例えば、下位ビツト
を切り捨てて演算を行なう、或は、データを2
倍、4倍したものと所定の値との演算を行なうと
言つた場合にはデータの切り捨て、或は、3倍、
4倍するといつた演算を別途行なつた後に所定の
値との演算を行なわねばならず、処理速度を低下
させる結果となつてしまう。 問題点を解決するための手段 上記問題点を解決するために、本発明によるデ
ジタル信号処理装置は、複数組のX方向バスと複
数組のY方向バスと複数組の第1のスイツチを有
し、上記X方向バスの少なくとも1組は複数個の
バスラインから成り、上記Y方向のバスの少なく
とも1組は複数個のバスラインから成り、上記第
1のスイツチの少なくとも1組は複数個の小スイ
ツチから成り、上記X方向バスと上記Y方向バス
とがマトリツクス状に交差して形成する交差点の
うち、上記バスの各々の組につき少なくとも2組
以上の所定の交差点に上記第1のスイツチが設け
られ、上記バスの少なくとも1組には定数を入力
する第2のスイツチが設けられ、 (1) 前記第1のスイツチの少なくとも1組が、該ス
イツチにより選択されるX方向バスとY方向バ
スの一方のバス上にあるデータの1部または全
部をビツト位置に変更して他方のバス上に送出
する、或は、 (2) 前記第1のスイツチの少なくとも1組が、該
スイツチにより選択されるX方向バスとY方向
バスの一方のバス上にあるデータの1部または
全部をビツト順序を変更し他方のバス上に送出
する、或は、 (3) 前記所定の交差点の少なくとも1組の交差点
に、前記第1のスイツチが2組以上設けられて
いる、或は、 (4) X方向またはY方向バス上にある前記第1の
スイツチの少なくとも2組が同時にオンするこ
とにより、該スイツチにより接続される複数組
の他方向バスより、各バスのビツトパタンを混
合して入力するようにしたものである。 作 用 本発明は上記した構成によつて、X方向のバス
からY方向のバスへ、また、Y方向のバスからX
方向のバスへ、また、Y方向のバスを経由してX
方向のバスより他のX方向のバスへ等自在にデー
タを転送することができる。また、スイツチを配
置するビツト位置を1対1に固定せず、バス上に
あるデータをビツト位置を変更して他方のバス上
に送出する、或は、ビツト順序を変更して他方の
バス上に送出する、或は、1組の交差点にスイツ
チを2組以上設ける、或は、同一バス上にある少
なくとも2組のスイツチが同時にオンすることに
より、ビツトパターンの変更、上位ビツトと下位
ビツトの入れ替え、所定値の逓倍といつた操作を
ハードウエアを追加、或は、演算回数を追加する
ことなく行なうことができ、単位時間当りのデー
タ処理が大幅に向上するものである。 実施例 以下本発明の一実施例のデジタル信号処理器に
ついて図面を参照しながら説明する。 第1図は本発明の第1の実施例におけるデジタ
ル信号処理器を示すものである。第1図におい
て、1−1はプログラムカウンタ(PC)、1−2
は演算シーケンスを記憶しSQROM、1−3は
SQROM1−2の内容を個々の指令に変換し、
SQ信号として出力する命令デコーダ
(INSTDEC)、1−4は入出力回路(I/O)、
1−5は加算器、1−6〜1−9はRAM、1−
10はシフタ、1−11は乗算器である。X0
6はX方向のバスライン、Y0〜Y6はY方向のバ
スラインであり、X方向とY方向のバスラインの
交叉点には○印で示した位置に各バスラインを結
ぶスイツチが設けられている。これらのスイツチ
をSijで表わす(i,j=0〜6)。Sy、Sxはバ
スラインY5、X2に対して定数を設定するスイツ
チである。第1図C〜KはスイツチSij及びスイ
ツチSy、Sxの実施例であり、具体的には第1図B
に示すようにnchのMOSFETで構成されており、
SQ信号が“1”になるとMOSFETがオンして縦
方向のラインと横方向のラインが導通しデータが
転送される。このX方向Y方向のバスラインにお
いては高速化のためにデータの転送の直前にすべ
てのバスラインにプリチャージを行なつた後デー
タの転送を行なつている。これはスイツチが
NchMOSFETで構成されているので、転送され
たデータの“1”のレベルがMOSFETのしきい
値電圧分だけ降下するのを防ぐためである。ここ
で第1図C〜Kに示すスイツチパターンの例につ
いて説明する。円でかこつた交点の箇所でスイツ
チを介して接続されている。この例では便宜上各
バスが8ビツトのものについて説明する。第1図
Cは、スイツチによってbnとan(n=0〜7)と
を接続したものである。第1図のb0〜b3の
4本の値と“0”をスイツチによつてY方向のバ
スラインに書き込むようにしたものである。第1
図Eはb0〜b3をa0〜a3へ、c4〜C7を
a4〜a7へ書き込むようにしたものであり、こ
れにより、2組のバスラインに別々に表われてい
るビツトパタンを混合して他のバスラインに転送
することができるようにしたものである。第1図
Fはビツト順次を変更してバスラインから他のバ
スラインへ転送するようにしたもので、このよう
にスイツチを配することによりX方向のバスライ
ンのデータの上下各4ビツトを順に変更してY方
向のバスラインに転送する。第1図Gはb7〜を
a7〜a5へ、b6〜b2をa4〜a0に書き込
むようにしたもので、これによりX方向のバスラ
インのデータを2ビツト右シフトして、即ち4で
割つた値をY方向のバスラインに入力し、転送と
共にビツト位置を変更するようにしたものであ
る。第1図Hは1つの交点に2組のスイツチを設
けたものである。これにより、X方向(Y方向)
のバスラインのデータをそのままY方向(X方
向)に転送することができる一方、必要に応じて
はb7〜b4とa3〜a0に接続してビツト位置
を変更したデータを他のバスラインへ転送するこ
とも可能となる。 第1図I〜Kは定数をバスラインに設定するた
めの回路例であり、スイツチSy、Sxがこれに相当
する。第1図Iはバスラインにオール“0”を設
定する回路、第1図Jはバスラインに10101010即
ちAA16を設定する回路である。これは、スイツ
チのない部分であるa7,a5,a3,a1はこ
のスイツチが開く直前にプリチヤージによつて
“1”が書き込まれたものがそのまま保持される
ことによる。第1図KはフラグT0によつて定数
の値を変えるようにしたもので、T0=0ならば
0016がバスラインに書き込まれ、T0=1ならば
EB16がバスラインに書き込まれる。第1図C〜
第1図Kに示すスイツチをSij及び及びSy、Sx
用途に応じて配して選択的に開閉することによ
り、任意のバスラインから他の任意のバスライン
へのデータ転送が必要なビツト処理を含めて可能
となる。 なお、本実施例において、データの転送は第1
図Lに示すタイミングで行なわれている。即ち、
1=1の区間でX方向、Y方向のバスラインの
プリチヤージを行ない、1の立ち下りより3の
立ち下りまでの区間でデータの転送を行ない、
3の立ち下りでラツチ或はRAMへの書き込みを
行なう。ここで、3の立ち下りから1の立ち上
りまでの区間は書き込み動作を安定に行なうため
の余裕である。 このように構成すると次のような動作を行なわ
せることができる。まず、I/01−4で外部より
必要なデータを取り込み、これをスイツチS00
04をオンしてRAM1−6へ書き込む。更に次の
データをスイツチS10をオンしてRAM1−9へ書
き込む。このようにして必要なデータを順次
RAM1−6〜1−9へ書き込む。次いで、
RAM1−6〜RAM1−9よりデータを読み出
し、例えばスイツチS54及びスイツチS45をオンし
てRAM1−6のデータとRAM1−7のデータ
を乗算器1−11へ入力し積を求める。同時刻に
スイツチSxとスイツチS13がオンし、RAM1−9
のデータと定数の加算を加算器1−5にて行な
う。次いで加算結果をスイツチS51をオンして乗
算器1−11へ供給し、次のステツプの演算を行
なう。ここでスイツチS51が第1図Gに示すよう
なスイツチによれば、加算結果を予め4で割つた
値との乗算を行なうことになる。次いで、乗算器
1−11の出力をスイツチS16、スイツチS66をオ
ンしてRAM1−9へ書き込む。このようにして
必要なビツト操作処理を施しながら種々の演算を
行ない、最終データが得られればこれを例えば
RAM1−9に書き込み、所帯のタイミングでス
イツチS10をオンしてI/0に転送し外部へ出力
する。このようにして加算器1−5、シフタ1−
10、乗算器1−11へ殆ど絶え間なくデータを
供給し、ほとんど絶え間なくこれらを働かせるこ
とが容易となる。 第2図Aは本発明における第2の実施例であ
る。本実施例では、本発明を電子楽器に応用した
場合について示している。 この第2図Aを説明すると、2−1は鍵盤であ
る。2−2はタブレツトであり、本電子楽器より
出力される楽音の音色の選択を指示する操作部で
ある。2−3は効果スイツチであり、楽音に対す
る各種の効果の制御、例えばヴイブラート、トレ
モロ等の効果のオン・オフを指示するスイツチで
ある。2−4はマイクロコンピユータ(以下マイ
コンと称す)であり、例えばインテル社のマイコ
ン8049等が相当する。2−5は楽音発生部であ
り、マイコン2−4より与えられた制御信号に基
づいて波形演算、周波数演算を行なう。2−6は
データバンクであり、楽音発生部2−5にて使用
する波形データやエンベロープデータが格納され
ているROM(読出専用メモリ)である。2−7
はフイルタであり、楽音発生部2−5より出力さ
れる楽音信号の折り返しノイズを除去する。2−
6はスピーカである。 次に第2図Aに示す電子楽器の動作を説明す
る。マイコン2−4は内部に予め書き込まれた命
令に従つて、鍵盤2−1、タブレツト2−2、効
果スイツチ2−3の状態を順次検策する。またマ
イコン2−4は鍵盤2−1における鍵のON/
OFFの状態に基づいて、押圧されている鍵のコ
ードを楽音発生部2−5の複数のチヤンネルに割
り当てる割り当て信号を送出するとともに、タブ
レツト2−2、効果スイツチ2−3の状態に応じ
て制御データを送出する。楽音発生部2−5にお
いては、マイコン2−4より送出される割り当て
信号及びその他の制御信号を内部のレジスタに取
り込み、これらの信号に基づいてデータバンク2
−6より必要な波形データ、エンベロープデータ
を読み出しながら楽音信号の合成を行なう。この
楽音発生部2−5において合成された楽音信号
は、フイルタ2−7を通してスピーカ2−8へと
送られ楽音を発生する。第2図Bにマイコン2−
4より楽音発生部2−5へデータを転送する場合
のタイミング図を示す。また、第1表にマイコン
2−4より楽音発生部2−5へ送出するデータの
内容を示す。
【表】 第1表において、NODはノートオクターブデ
ータであり、ノートデータNDとオクターブデー
タOCT及びキーオンデータKonより成つている。
その具体的な内容は第2表にNODのビツト構成
が示してあり、第3表にノートデータNDと音名
との対応が示してあり、第4表にオクターブデー
タOCTと音域との対応が示してある。
【表】
【表】 即ち仮に楽音発生部2−5に対しG#というノ
ートの第6オクターブの音(以下G#6と略す。)
をチヤンネル1より出力したい時には第2−1図
におけるアドレスとして00000001、データとして
10011110をマイコン1−4より送出することにな
る。次に、PDDはピツチデチユーンデータであ
り調律をずらすための8bitのデータである。PDD
は2の補数表示にて表わされており、可変範囲は
−128〜+127の256通りである。RLDはリリース
データで、キーOFF後の減衰特性を制御する4bit
のデータである。VOLはボリユームフラグであ
り、このビツトを“1”にすると後述のボリユー
ムデータVLDに応じて楽音発生部1−5からの
楽音信号の出力レベル制御を可能にするものであ
る。DMPはダンパフラグであり、ピアノタイプ
エンベロープの場合のキーオフ後の減衰を急速な
減衰にせしめるフラグであり、DMP=1の時に
機能する。SOLソロフラグであり、他のチヤン
ネルと同音名の楽音がアサインされた時にそのチ
ヤンネルの発生している楽音とこれから発生しよ
うとしている楽音の位相特性を合わすか否かを選
択するフラグであり、SOL=1の時ひは位相合
わせをキヤンセルする。TABはタブレツトデー
タであり、第2図Aにおけるタブレツト2により
指定されるデータがこの5bitに入る。PEはピツ
チエクスタンドフラグで、このビツトを“1”に
したチヤンネルにはピツチエクステンドがかか
る。VLDはボリユームデータであり、前述のボ
リユームフラグVOLとともにチヤンネルから出
力される楽音のレベルを8bitの細かさで制御す
る。なお、これら一連のデータはすべてチャンネ
ルごとに独立に設定できるものである。 次に、楽音発生部2−5における演算シーケン
スについて説明する。 第5表及び第6表に楽音発生部2−5の演算シ
ーケンスを示す。
【表】
【表】 本楽音発生部2−5においては、短い演算サイ
クルでより多くのデータ処理を行なうために演算
シーケンスがイニシヤルモード、ノーマルモード
の2つのモードを有し、更に上記両モードがそれ
ぞれロングシーケンス、シヨートシーケンスに分
かれている。また、イニシヤルモードシヨートシ
ーケンス及びノーマルモードロングシーケンスは
それぞれEVEN、ODDの2つの状態を有してい
る。 イニシヤルモードはマイコン2−4が楽音発生
部2−5に対して新たな楽音の発生を命令した際
に楽音発生部2−5におけるマイコン2−4より
指定されたチヤンネルについて種々のレジスタ等
の初期設定を行なうモードでありロングシーケン
スより開始され、シヨートシーケンスを2回行な
つた後ノーマルモードに入る。このイニシャルモ
ードにおける2回のシヨートシーケンスについて
1回目がODD、2回目がEVENのシヨートシー
ケンスとなる。このイニシヤルモード終了後、ノ
ーマルモードに移るが、シヨートシーケンス6回
の後ロングシーケンス1回がくることになる。 本実施例では各チヤンネル毎に、独立した2系
統の波形と独立した2系統のエンベロープとを掛
け合わせるようになつており、更にピツチの細か
な調整機能をも有しているが、これらの演算処理
を時分割で8チヤンネル分行なうためには多大な
演算ステツプが必要となる。そこで短いサイクル
で演算しないといけないものをシヨートシーケン
スとし、演算頻度の低いもの、つまり長いサイク
ルで演算してもよいものをロングシーケンスとす
る。そしてシヨートシーケンスの間にロングシー
ケンスを挿入することにより演算の効率化を図つ
ている。第2図Cにシヨートシーケンス、ロング
シーケンスのタイミング図を示す。第2図Cに示
すとおり、シヨートシーケンスは0〜10の11のタ
イムスロツトより成つており、ロングシーケンス
は11〜19の9のタイムスロツトより成つている。
個々のタイムスロツトは250sであり、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表に基づいて個々の演算
シーケンスについて説明する。前述のように、楽
音発生部2−5には新たな押鍵によりイニシヤル
モードロングシーケンスより開始するようになつ
ているので、イニシヤルモードロングシーケンス
よりタイムスロツト別に説明を行なう。 加算部 PDD+PED→PDR 0→TR1 0→TR2 0→ZR1 0→ZR2 タイムスロツト13の意味するところは、
PDDというレジスタの内容とPEDというレジス
タの内容を加算してPDRというレジスタに格納
するということである。タイムスロツト15〜1
8は、TR1,TR2,ZR1,ZR2というレジス
タに0を書き込むということである。 データバンク読み出し部 WTD→HAD→HAD HAD→CONT→CONT、DIF1 〜 HAD→STE→EAR1 これらの意味するところは、左端にあるデータ
(例えばタイムスロツト14ならばHADというデ
ータ)をアドレスとしてデータバンク2−6より
中央に記載のCONTというデータを読み出し、
右端にある名前のレジスタCONT及びDIF1に格
納するということである。 イニシヤルモードシヨートシーケンス加算部 PDR+JD→L.B.;0→ER2/1 0RG+0CT+1→WE2→ΔWAR D.B.+EAR1→EAR2 0→WR1 0→ER1 0→WE2 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バス(後述)を介して加算器に送
出することを意味する。 乗算部 〜 C.B.×CN1→FR 上記のC.B.は、加算部にて得られた結果をレジ
スタを介さずに乗算部に直接入力することを意味
する。この場合においてはタイムスロツト1にて
得られたPDR+JDの演算結果を意味する。 データバンク読み出し部 HAD→ΔSTE→A.B. 〜 EAR1/2→E1/2→ΔT1/2、ΔE1/2、ΔZ
1/2 〜 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
と呼ぶことにする。 加算部 WE2+WE1→L.B. STW+WAR→D.B.、B.B. ZR1+ΔZ1→ZR1 DIF1+C.B.→D.B. ER1+ΔE1+Ci→ER1 ZR2+ΔZ2→ZR2 WAR+ΔWAR→WAR ER2+ΔE2+Ci→ER2 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における
演算のくり上り(キヤリー)を加えるという意味
である。 乗算部 〜 WR2×ER2→WE2 〜 C.B.×CN→(DAC) 〜 WR1×ER1→WE1 ここで、タイムスロツト〜のC.B.とは加算
部の出力をレジスタ等を介さず直接乗算部へ入力
することを意味する。この場合は、タイムスロツ
ト1のWE2+WE1の演算結果に相当する。また
(DAC)とあるのは、この演算結果をDAC(DA
コンバータ;後述)に入力することを表す。 データバンク読み出し部 〜 C.B.→W1→WR1 〜 C.B.→W1→WR2 ここで、タイムスロツト4〜5のC.B.は加算部
の演算結果を直接データバンク読み出し部へ入力
してデータバンク2−6のアドレスとすることを
意味し、この場合は加算部におけるタイムスロツ
ト2のSTW+WARの演算結果に相当する。タ
イムスロツト7〜8のC.B.も同様にタイムスロツ
ト4のDIF1+(STW+WAR)の演算結果に相当
する。 ロングシーケンス 加算部 ΔT1/2+TR1/2→TR1/2 PDR+JD→L.B. ΔEAR1/2+EAR1/2 +Ci→EAR1/2 PDD+PED→PDR ここで、タイムスロツト14のL.B.は、加算部
の演算結果即ちPDR+JDの値をレジスタを介さ
ず直接乗算部へ入力することを意味する。タイム
スロツト15のCiはタイムスロツト13の演算を
行なつた結果生じるくり上り(キヤリー)を意味
する。 乗算部 〜 CN×C.B.→FR ここで、C.B.は加算部における演算懸架をレジ
スタを介さず直接乗算部へ入力することを意味
し、この場合は加算部タイムスロツト14におけ
るPDR+JDの演算結果が入力される。 データバンク読み出し部 〜 EAR2/1→E2/1 →ΔT2/1、ΔE2/1、ΔZ2/1 ここで2/1というのは、奇数回目、即ち
ODD時には2(例えばE2/1ならばE2)、偶数回
目、即ちEVEN時には1(同E1)となることを意
味し、EVEN、ODDで別のデータを読み出し、
別のレジスタへ格納することを意味する。 第3図は第2図Aにおける楽音発生部2−5の
詳細な図である。まずこの図を用いて各ブロツク
の機能の概略を説明すると、3−1はマスタクロ
ツクであり、ここではf=8.00096MHzのものを
用いている。3−2はシーケンサ(以下SEQと
称す)であり、マスタクロツク3−1によるクロ
ツク信号を分周し楽音発生部2−5全体における
シーケンス信号(以下SQ信号と称す)及び各種
制御信号を発生する。3−3はマイコンインター
フエース部(以下UCIFと称す)であり、第1表
にて示される各種データをマイコン2−4が楽音
発生部2−5とは非同期で送出しているが、この
データを取り込み、SEQ3−2により発生され
るシーケンス信号との同期をとる回路である。更
にフラグKONによりイニシヤルモード、ノーマ
ルモードのモード切りかえを指示するフラグINI
を発生する。3−4は比較レジスタ部(以下
CDRと称す)であり、前記演算シーケンスで示
したレジスタCDR8チヤンネル分とマスタクロツ
クを順次分周して得た10ビツトの分周信号とを比
較し、8チヤンネル分のノートクロツクと計算要
求フラグCLRQを発生する。3−5はランダムア
クセスメモリ部(以下メモリと称す)で、楽音発
生部2−5で行なわれる種々の演算結果を記憶す
る。3−6はフルアダー部(以下FAと称す)で
あり、各種データの加算を行なう16ビツトのフル
アダーを内蔵している。3−7は乗算部(以下
MPLYと称す)であり、{2の補数の12bit}×{絶
対値10bit}の演算を行なう乗算器を有している。
3−8はデジタルアナログコンバータ(以下
DACと称す)であり、MPLY3−7より出力さ
れるデジタルの楽音データをアナログの楽音デー
タに変換する。3−9はアナログバツフアメモリ
部(以下ABMと称す)で、DAC3−8よりマシ
ンサイクル周期で発生される楽音データをCDR
3−4により発生されるノートクロツクによる音
程周期への変換を行なう。ABM3−9の機能及
び構成は特願昭57−231482に示されているアナロ
グバツフアメモリと同様のものである。3−10
は入出力回路部(以下I/0と称す)であり、デ
ータバンク2−6へアドレス信号を送出し、その
アドレス信号に対応した波形データ、エンベロー
プデータの読み出しを行ない、必要に応じて読み
出したデータのデータ変換を行なう。3−11は
マトリツクススイツチ部(以下MSWと称す)で
あり、UCIF3−3、CDR3−4、メモリ3−5
に接続された横方向のバスライン(HA、HB、
HC、HD、HE、HLの各バス)とFA3−6、
MPLY3−7、I/03−10へ接続されている
縦方向のバスライン(A、B、C、D、Lの各バ
ス)とを、SQ信号に応じて接続する回路である。
これらの回路により第5表及び第6表に示す演算
シーケンスを実行するものである。 次に個々のブロツクについて説明する。 第4図は第3図におけるSEQ3−2の詳細図
である。4−1はカウンタであり、マスタクロツ
クを分周し、第2図Cに示す種々のタイミング信
号を発生する。TSは第2図Cにおけるタイムス
ロツトを表わす信号であり、CHCはチヤンネル
コードであり第2図Cにおけるチヤンネルの番号
を表わす信号である。EVは演算シーケンスにお
けるODD、EVENを表わす信号でありEV=0は
ODD、EV=1はEVENを意味する。4−2は
SQROM(シーケンスROM)である。SQROM4
−2のアドレス入力にはタイムスロツトを表わす
信号TSとフラグINIが入力されており、これら
の入力に基づいて各々のタイムスロツトにおける
各種制御命令を発生している。4−3は論理ゲー
トであり、SQROM4−2による出力を各種フラ
グ及び計算要求フラグCLRQ等で更に制御して、
SQ信号(演算情報、効果SW1−3等の指示に従
つて、各機能ブロツクが各タイムスロツト毎にど
のように動作すべきかを指示する信号;図中では
SQと略記)を発生する。 第5図はUCIF3−3の詳細図である。第5図
において、5−1はラツチであり、第2図Aにお
けるマイコン2−4より与えられるA/D0〜7
をALEによりラツチする。A/D0〜7とALEの
関係は第2図Bに示すとおりであるので、ラツチ
5−1には第1表に示すところのアドレスがラツ
チされる。5−2はラツチであり、マイコン2−
4より与えられるA/D0〜7をによりラツ
チする。A/D0〜7との関係は第2図Bに
示すとおりであるのでラツチ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はセレクタであり、マイコン2−4の指定
するアドレスと、SQ信号で指定するアドレスを、
別のSQ信号を用いて選択出力し、RAM5−4の
A入力に与えるものである。5−6は信号処理器
であり、HEバスに接続され、バス上のデータを
取り込み各種フラグ信号を発生する。また、マイ
コン2−4より送出されたリリースデータRLD4
ビツトに応じた16とおりのリリース用エンベロー
プデータを発生してHEバスに送出する。5−7
はゲートであり、SQ信号に応じてラツチ5−2
の出力を、つまりマイコン2−4からのデータを
HEバス上に送出する。 次にUCIF3−3の動作を説明する。 第1表に示すようなデータが第2図Bに示すタ
イミングでマイコン2−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にラツチさ
れたデータ即ちマイコン2−4が書き込もうとし
たデータ即ち8916が与えられ、RAM5−4のA
入力にはラツチ5−3の出力である0516が与えら
れるので、RAM5−4のアドレス0516番地に
8916というデータが書き込まれる。このようにし
て第1表に示した各種データがRAM5−4に書
き込まれる。第1表に示すとおり、RAM5−4
にはVOLフラグ、PEフラグ党のフラグ類が書き
込まれているが、これらのフラグ類はHEバスを
介して信号処理部5−6へ送出し、ここで一旦ラ
ツチした後使用している。 第6図はCDR3−4の詳細図である。6−1
はマスタクロツクを入力とした10ビツトの分周器
である。6−2は比較器付RAM(以下CDRAM
と称す。)であり、1ワード13ビツトで8ワード
を有する。各ワードのうち上位10ビツトには比較
器が設けてあり、端子Tより入力される分周器6
−1による分周データとの比較が行なわれ、10ビ
ツトすべてが一致する端子Cより一致パルスが出
力され。OE、WE、A、Dの機能は前述のRAM
5−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ビ
ツトによりそのうちのI信号を選択してDより出
力する。6−13はラツチであり、SQ信号に従
つてMP×6−12の出力をラツチする。6−1
4はANDゲートである。 次に第6図に示すCDR3−4の動作について
説明する。分周器6−1がマスタクロクを分周し
て10ビツトの分周出力をCDRAMの6−2のT
入力へ与える。CDRAM6−2の各ワードには
任意の値が入つているが、これらの値の上位10ビ
ツトが分周器6−1の出力値と一致するごとに一
致パルスをC端子より出力する。CDRAM6−
2のA入力にはCHC即ちチヤンネルを表わす信
号が入力してあるので、各ワードはそれぞれのチ
ヤンネルに対応しているので、チヤンネルごとに
一致パルスを発生する。この一致パルスはそれぞ
れをRSラツチ6−4〜6−11へ入力されてい
るので、一致パルスが発生したチヤンネルに対応
するRSラツチのQ出力が“1”にセツトされる。
RSラツチ6−4〜6−11のQ出力のうちの1
つがチヤンネルコードCHCに応じてセレクタ6
−12により順次選択されラツチ6−13にラツ
チされる。ラツチ6−13の出力はANDゲート
6−14に与えられているので、現在セレクタ6
−12が選択しているRSラツチのQ出力が“1”
ならば、ANDゲート6−14に加えられたSQ信
号によつてデコーダ6−3のD出力の該当チヤン
ネルが“1”になり上記のRSラツチのQ出力は
“0”にリセツトされる。 第7図はメモリ3−5の詳細図である。第7図
において、7−1〜7−4はRAMであり、OE、
WE、A、Dの各機能は前述のRAM5−4と同
じである。ここで、RAM7−1にはWAR、
EAR1、ΔZ1、ΔE1、WE1、EAR2、EAR2、ΔZ2、ΔE2
の各レジスタが、RAM7−2にはWR2、ZR1、
ΔT1、FR、ΔWAR、ZR2、ΔT2の各レジスタ
が、RAM7−3にはER1、TR1、DIF1、WR1、
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(ノートデータ)とOCR(オクター
ブデータ)を読み出しこれらのデータおよびPE
フラグに基づいてピツチデチユーンデータPED
を発生する回路、ならびにレジスタWE2のデー
タを読み出してデコードするデコード回路が備え
てある。 第8図はFA3−6の詳細図である。第8図に
おいて、8−1〜8−8はラツチであり、SEQ
3−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図AはMPLY3−7の詳細図である。第
9図Aにおいて9−1〜9−9はラツチである。
ここでラツチ9−3にはLバスのビツト0〜ビツ
ト9が、ラツチ9−5にはLバスのビツト9〜ビ
ツト12が接続され9−10はエンコーダである。
入出力の関係は第9表に示すとおりである。
【表】 9−11はシフタであり、Iから入力される16
ビツトの信号をCに入力した制御信号に従つてシ
フトしOより出力する。シフトの内容は第10表に
示すとおりである。
【表】 9−12はビツト処理回路でありSQ信号に応
じてラツチ9−3が出力する信号のビツト処理を
行なう。9−13はデコーダであり入力Aと出力
Dとの関係は第11表に示すとおりである。
【表】 9−14はセレクタであり、Cに入力されてい
るSQ信号に応じてC=1ならばA、C=0なら
ばBに入力されている16本の信号を選択してYよ
り出力する。なお、A入力の下位11ビツトは
GND(接地電位)に接続されている(即ち“0”
が与えられている。)9−15はシフタでIから
入力される14ビツトの信号をCに入力された制御
信号に従つてシフトしOより出力する。シフトの
内容は第12表に示すとおりである。
【表】 9−16は乗算器であり、A入力が2の補数表
示による12ビツト、B入力が絶対値の10ビツトで
出力が2の補数表示による14ビツトである。通常
12ビツト×10ビツトの演算を行なうと22ビツトの
結果が得られるが、無論乗算器9−16の出力14
ビツトは22ビツトのうちの上位14ビツトである。
故に、乗算器9−16における入出力の関係は、
次式のとおりになる。 C=A×B/256 なお、MPLY3−7における乗算器9−16
は、回路をより簡略化するために以下の手法を用
いている。 通常乗算器を構成する際に、2の補数値12ビツ
ト×絶対値10ビツトの乗算器は116個の加算器セ
ルにより22ビツトの正確な演算結果が得られる。
しかし、本システムにおいては本来得られる22ビ
ツトのうちの上位14ビツトのみを使用する。即ち
下位8ビツトの出力は使用しないので、本実施例
では加算器セル省略による演算誤差が上位14ビツ
トのLSBに影響しない下位7ビツト演算用の加
算器セルを全部省略している。そこで、本乗算器
9−16では、下位ビツト演算用の加算器セル2
8セルを省略し第9図Bに示すような構成になつ
ている。第9図Bにおいて、破線内は同様のセル
を略記した。また、各ブロツクはすべて全加算器
であり、入力がA、B、Ci(キヤリー入力)、出力
が和SおよびキヤリーCoである。 第10図はI/03−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のI入力にはラツチ10−
7の出力のビツト12〜ビツト15が与えられてい
る。10−12はセレクタであり、C入力に応じ
てAまたはBに与えられている信号のいずれかを
選択してYより出力する。10−13はシフタで
あり、制御端子Cの入力に応じてIからの入力を
シフトしてOより出力する。10−14はノイズ
回路であり、ノイズフラグNAに応じて入力デー
タにノイズを混入する。 第11図はMSW3−11の詳細図である。円
で囲つた部分がスイツチであり、各スイツチの構
成は第1図B〜Kにて示したものと同様のもので
ある。このMSW3−11においても第1図Aに
示した場合と同様高速化のためにデータ転送の直
前にすべてのバスラインに各タイムスロツト毎に
1の信号によつれプリチヤージを行なつた後デ
ータの転送を行なつている。第1図C〜Kに示す
スイツチをMSW3−11に用途に応じて配して
選択的に開閉することにより、任意のバスから他
の任意のバスへのデータ転送が必要なビツト処理
を含めて可能となる。例えば、HAバスからAバ
スへ、HBバスからBバスへ、CバスからHCバ
スへ同時にデータを転送したい時にはSW1,
SW7,SW13を同時にオンすればよい。また、
CバスのデータをLバスとDバスに転送したい時
にはSW28,SW29,SW30をオンすればC
バス→HLバス→LバスおよびDバスの経路でのデ
ータが転送される。 なお、MSW3−11において、データの転送
は第1図Lに示すタイミングで行なわれている。
即ち、1=1の区間で縦方向、横方向のバスラ
インのプリチヤージを行ない、1の立ち下りよ
り3の立ち下りまでの区間でデータの転送を行
ない、3の立ち下りでラツチする。ここで、3
の立ち下りから3の立ち上りまでの区間はラツ
チ動作を安定に行なうための余裕である。 次にデータバンク2−6について説明する。デ
ータバンク2−6には4種類のデータが格納され
ている。それは、(1)ヘツダアドレスデータ、(2)ヘ
ツダデータ、(3)波形データ、(4)エンベロープデー
タである。ここで、ヘツダアドレスデータはヘツ
ダデータがどのアドレスに格納してあるかを示す
8ビツトのデータであり、ヘツダデータは波形デ
ータ、エンベロープデータの格納してあるアドレ
スおよびそれらの属性を表わした8バイトのデー
タである。次に上記4種類のデータを更に詳しく
説明する。 (1) ヘツダアドレスデータ(HAD) このデータは各タブレツト、各オクターブ、
各3鍵ごとに割り当てられたノートデータをア
ドレスとしてヘツダデータのアドレスを示すデ
ータである。ヘツダアドレスデータの格納場所
は第14表に示すとおりであり、ビツト9〜ビツ
ト5にタブレツトデータTAB、ビツト4〜ビ
ツト2にオクターブデータOCT、ビツト1〜
ビツト0にノートデータNDの上位2ビツト、
残りのビツトにはすべて“1”が入つている。
【表】 ここでTAB、OCT、NDで構成される10ビツ
トをWTDと呼び、その各々は第1表に示した
ものであることは言うまでもない。ヘツダアド
レスデータによるヘツダデータのアドレスは第
15表のように示され、ビツト10〜ビツト3にヘ
ツダアドレスデータが入り、上位ビツトはすべ
て1である。また、下位3ビツトには000〜111
のデータを入れる。 (2) ヘツダデータ(HD) ヘツダデータは第15表に示されるアドレスに
格納されている1ワード8ビツトで8ワードの
データであり、8ワードの各内容は第16表に示
すとおりである。
【表】
【表】 第16表において、CONTはコントロールデー
タであり、このヘツダデータにて示される波形
データ、エンベロープデータの属性を表わす。
E1′は2種類あるエンベロープデータのうち
の一方である。他方のエンベロープデータE
2′のスタートアドレスは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) 前述のように、音楽発生部2−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鍵ごとに音色の変化を与える
ことができる一方、逆に同一オクターブ内にては
同じヘツダアドレスデータを有するようにすれば
波形データ、エンベロープデータ、ヘツダデータ
を増すことなく同じ音色の楽音が得られる。ま
た、各ヘツダデータにおいて任意の波形データ、
エンベロープデータが指定できるので、少ない波
形データおよびエンベロープデータであつてもそ
の組み合わせ方が様々な楽音を発生することも可
能である。 次に楽音発生部2−5における押鍵時のイニシ
ヤル処理、ノートクロツクの発生方法、エンベロ
ープ発生方法、波形の発生方法について述べる。 (1) イニシヤル処理 イニシヤル処理においては、押鍵により楽音
が発生される際の各種レジスタの初期設定が行
なわれる。押鍵により演算シーケンスはイニシ
ヤルモードのロングシーケンスより開始される
ので、加算部において、タイムスロツト13で
PDRが初期設定あれる。この演算を更に詳し
く述べると、第5図RAM5−4よりPDDが読
み出されてHEバスにデータが乗る。同時に第
7図信号処理器7−6よりHDバスに対して
PEDが与えられ、第11図においてSW21と
SW17がオンしてPDDがAバス、PEDがBバ
スに乗る。このデータが第8図に示すところの
FA3−6にて加算されてCバスに演算結果が
乗る。この演算結果がSW23を介してHEバ
スに乗り、RAM5−4にあるレジスタPDRに
格納される。なお、この演算において、PDD、
PEDをFA3−6への転送は実際にPDD+PED
の演算が行なわれるタイムスロツトの1タイム
スロツト前に、また演算結果のPDRへの格納
はPDD+PED演算が行なわれる1タイムスロ
ツト後に行なわれる。以下加算演算については
すべて同様である。次いで、タイムスロツト1
5〜18にてTR1,TR2,ZR1,ZR2に0
が書き込まれる。この動作は、TR1に0を書
き込む場合について述べると、タイムスロツト
15にて第11図のMSE3−11において
SW33およびSW13がオンする。SW33は
第1図Iのような構成になつており、Cバスに
0が与えられる。同時にSW13がオンしてい
るので、CバスのデータがHCバスに与えら
れ、第7図に示すRAM7−3におけるレジス
タTR1に0が書き込まれる。 一方データバンク読み出し部においては、次
のような動作をする。以下第10図を中心に説
明する。TAB、ND、OCTで構成されたWTD
によつてヘツダアドレスデータHADが読み出
される。なお、このイニシヤル処理を行なうイ
ニシヤルモードにおいては、ラツチ10−3は
SQ信号により111にセツトされている。このデ
ータはI/O2−10におけるシフタ10−1
3によつて第15表に示されるフオーマツトにデ
ータが変換されDバス、SW15、HCバスを
介してRAM7−3のレジスタHADに格納さ
れる。この動作と同時に、データバンク2−6
より読み出されたヘツダアドレスデータHAD
は、ラツチ10−8、ラツチ10−6で次々と
ラツチされ、シフタセレクタ10−9にて第15
表に示すとおりのフオーマツトにデータが変換
されてラツチ10−4にラツチされる。ラツチ
10−4の出力に対し、先ずビツト処理回路1
0−10で下位3ビツトに対して000が与えら
れてコントロールデータCONTがデータバン
ク2−6より読み出されラツチ10−8を介し
てラツチ10−7の上位8ビツトにラツチされ
る。コントロールデータCONTはセレクタ1
0−12、シフタ10−13、ノイズ回路10
−14、ラツチ10−2を介し、Dバスより
RAM5−4のレジスタCONTに格納される。
一方、ラツチ10−7の上位4ビツトはデコー
ダ10−11に接続されているので第14方に示
す真理値表に従つて16ビツトのデータが得られ
る。但し、この時にデコーダ10−11のC入
力は“1”となつている。セレクタ10−12
がこのデコーダ出力をセレクトし、シフタ10
−13が6ビツト右シフトして出力する。ここ
で、このシフタ10−13の出力について考え
ると、ラツチ10−7よりデコーダ10−11
へ入力されているデータはP/OおよびORG3
ビツトである。今デコーダ10−11のC入力
は“1”であるので、デコーダ10−11の出
力はORG3ビツトのみによつて定まる。故にデ
コーダ10−11の出力をシフタ10−13で
6ビツト右シフトした値は第18表に示した値と
なる。この値がノイズ回路10−14、ラツチ
10−2を介してDバスに与えられ、MSW3
−11においてSW15を介してRAM7−3
のレジスタDIF1に格納される。 次にラツチ10−4の出力に対し、ビツト処
理回路10−10が下位3ビツトに対し、001、
次いで010を与え、ヘツダデータをSTEの上
位、下位の各8ビツトを読み出す。このSTE
の値がセレクタ10−12、シフタ10−1
3、ノイズ回路10−14、ラツチ10−2を
介してDバスに与えられ、MSW3−11にお
いてSW5を介してRAM7−1のレジスタ
EAR1へ格納される。 次にシヨートシーケンスに入る。シヨートシ
ーケンスは2回実行される。タイムスロツト1
でPDRとJDが加算されるが、ここでJDは定数
であり、MSW3−11においてSW32をオ
ンすることにより得られる。SW32は第1図
Jに示すような構成になつており、JD=45B16
となつている。この加算結果に対してノート係
数CNを掛け合わせてFRを得る。この一連の演
算を詳しく述べると、PDR+JDがタイムスロ
ツト1で演算され、その結果が前述のとおりタ
イムスロツト2にてCバスに与えられる。ここ
でMSW3−11においてSW28,SW29が
オンし、Cバス→HLバス→Lバスの順でデー
タが転送され、第9図AにおけるMPLY3−
7のラツチ9−1にラツチされる。次のタイム
スロツト3において、第7図のROM7−5よ
りノートデータNDに応じたCNの値が読み出
され、HDバスに与えられる。この値がMSW
3−11におけるSW19を介してLバスに与
えられ、MPLY3−7のラツチ93にラツチ
される。ラツチ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バスよりMSW3−11のSW9を介して
RAM7−2のレジスタFRに格納される。次
に、タイムスロツト2において、ORG+OCT
+1が演算される。この演算において、+1の
動作は第8図のFA3−6における論理ゲート
8−12によつて行なわれる。すなわち該当の
タイムスロツトで論理ゲート8−12が強制的
に“1”を出力すればラツチ8−5が“1”を
ラツチし、加算器のCi入力に“1”を与えるも
のである。この演算の意味するところは次のと
おりである。すなわち、ORGは波形データが
本来どの音域に属するかを示す値(これを仮に
Nとする)をオクターブデータのOCTの逆論理
をとつた形で示すものである。OCTとORG
と、波形サンプル数の関係を第18表と第22表に
示す。故にORG+1は−Nを表わすことにな
る。つまり、 ORG+OCT+1=OCT−N ということであり、これは、現在発生しようと
している楽音信号の音域と実際に使用しゆうと
している波形データの本来の音域との差すなわ
ちオクターブシフトの量を示す値である。つま
り、原波形を何オクターブ高い音域の音として
読出すかを示す。この値は一旦RAM7−4の
レジスタWE2に格納され、次いで、信号処理
器7−6でデコードされてRAM7−2のレジ
スタΔWARに格納される。ORG+OCT+1の
値に対するΔWARの値は第20表に示すとおり
である。
【表】 以下、タイムスロツト4でEAR2、同6,
8,9,10でWR1,ER1,WE2,WE
1,WR2の各レジスタの初期設定を行なって
いる。 一方データバンク読み出し部においては、前
述のロングシーケンスでRAM7−3に格納し
たヘツダアドレスデータHADを読み出し、D
バス→ラツチ10−1→シフタセレクタ10−
9を介してラツチ10−4にラツチし、ビツト
処理回路10−10で下位3ビツトに011を入
力してデータバンクよりヘツダデータのΔSTE
を読み出す。この値はラツチ10−7→セレク
タ10−12→シフタ10−13→ノイズ回路
10−14→ラツチ10−2を介してDバスへ
与えられ、MSW3−11においてSW26,
SW30を介してAバスへ入力されてFA2−
6にてEAR1と加算される。次いでRAM7−
1のレジスタEAR1に格納してあるSTE(エン
ベロープデータE1′のスタートアドレス)が読
み出され、Dバス→ラツチ10−1→シフタセ
レクタ10−9を介してラツチ10−4にラツ
チされる。ラツチ10−4の出力はビツト処理
回路10−10によつてLSBに0次いで1が
入力されて、第19表に示されているとおりの2
バイトのエンベロープデータを読み出す。この
値16ビツトがラツチ10−7にラツチされる。
ラツチ10−7の出力に従つて、初回のシヨー
とシーケンスでΔT1、ΔE1、ΔZ1、2回目のシ
ヨートシーケンスでΔT2、ΔE2、ΔZ2の値を発
生する。まず、デコーダ10−11にはラツチ
10−7の上位4ビツトが入力されているが、
ラツチ10−7の上位4ビツトには第19表に示
すところのΔTの値が入つている。故にデコー
ダ10−11はΔTを第13表に従つてデコード
し、セレクタ10−12へ出力する。セレクタ
10−12においては、この時C=1となつて
B入力を選択しシフタ10−13へ出力する。
このセレクタ10−12出力はシフタ10−1
3、ノイズ回路10−14においては何らビツ
ト操作が行なわれることなくラツチ10−2を
介してDバスに与えられ、MSW3−11にお
いてSW10、HBバスを介してRAM7−2の
レジスタΔT1に格納される。ΔE1、ΔZ1、
ΔE2、ΔZ2は、第19表に示されるところのZ、
1S、DATAに応じてシフタ10−13にてビ
ツト操作が行なわれて各レジスタへ格納され
る。どのようなビツト操作が行なわれるかにつ
いては第13図に示すとおりである。第19表に
おけるZの値に応じて、データフオーマツトが
異なることを示している。 次に、データバンク2−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) ノートクロツクの発生方法 先ず楽音発生部2−5で用いているノートク
ロツク発生法の原理について第14図とともに
説明する。第14図において、14−1は分周
器であり、端子CKに入力されているマスタク
ロツクを分周し、10ビツトの分周出力をQより
出力する。14−2は比較器で、A入力および
B入力の比較を行ない、A=Bとなつた時にQ
より“1”を出力する。14−3はフリツプフ
ロツプであり、CK入力の立上りでD入力に与
えられた信号をとり込みQより出力する。14
−4は加算器であり、A入力とB入力の和をC
より出力する。14−5は加算器14−4のB
入力に対して定数Mを入力する定数回路であ
る。14−6はRSラツチであり、S入力に正
のパルスが入るとQ=1となり、R入力に正の
パルスが入るとQ=0となる。14−7はデイ
レイ回路であり、入力信号を遅延させて出力す
る。14−8はANDゲートである。 次に第14図の動作を説明する。まず、RS
ラツチ14−6のQ出力が“0”であるとする
と、ANDゲート14−8の出力は常時“0”
であるのでフリツプフロツプ14−3のQ出力
は一定である。一方分周器はマスタクロツクの
分周により、00016より3FF16をくり返す10ビツ
トのQを出力する。仮にフリツプフロツプ3−
3の出力がNであつたとすると、当然00016
N≦3FF16であるので必ずいつか分周器14−
1のQ出力=Nとなる瞬間が存在し、この時は
比較器14−2のQ出力より一致パルスが出力
される。すると、この一致パルスはRSラツチ
14−6のS入力に入つているためRSラツチ
14−6のQ出力は“0”なり書き込みパルス
がANDゲート14−8より出力される。フリ
ツプフロツプ14−3のD入力には加算器14
−4のC出力が与えられているのでN+Mの値
が書き込まれる。と同時に、書き込みパルスは
デイレイ回路14−7で遅延された後RSラツ
チ14−6のQ出力を“0”にする。このた
め、再びフリツプフロツプ14−3のQ出力は
一定となるが、値はNからN+Mに変化してい
る。故に次は分周器14−1のQ出力はN+M
になつた時に一致パルスを発生することにな
る。これをくり返すことにより、比較器14−
2は分周器14−1の出力値がN、N+M、N
+2M、…となつた時にパルスを発生する。つ
まり分周器14−1がマスタクロツクをM回カ
ウントするごとに一致パルスを発生することに
なる。また、N+nM>3FF16となる場合にお
いては、加算器14−4の出力はオーバフロー
の後N+nM−3FF16となるためにやはりマス
タクロツクをM回カウントした時に一致パルス
が発生されることは言うまでもない。つまり、
この比較器14−2の一致パルスをノートクロ
ツクとし、定数Mを変化させれば種々の周期の
ノートクロツクが得られることになり、その周
波数は{マスタクロツクの周波数}÷Mとなる。
また、RSラツチ14−6のQ出力が計算要求
フラグCLRQに相当する。 以上が本発明におけるノートクロツク発生法
の原理である。 次に、第2図Aに示す楽音発生部2−5にお
けるノートクロツクの発生の演算シーケンスの
詳細について説明する。 鍵盤2−1にて鍵が押圧され、マイコン2−
4が楽音発生部2−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−1
8で 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+ID)×CN→FR ……(2−9) となる。このFRの値を演算(2−4)で示す
ようにCDRに累算する。前述のようにこの累
算はノートクロツクが発生するごとに一回行な
われる。故にCDRの初期値をNとすると、
CDRの値はN、N+FR、N+2×FR、…と
変化する。このCDRの上位10ビツトの値とマ
スタクロツクを順次分周して得た10ビツトの分
周信号とを比較し、一致パルスを発生するよう
にしているので、実際には、N/8、N+FR/8、 N+2×FR/8、…との比較を行なうことにな
り、CDRの上位10ビツトが第14図のフリツ
プフロツプ14−3に相当し、FR/8が第14図
の定数回路14−5の値Mに相当する。故に上
記(2−1)〜(2−7)の演算を行なえば一
定周期のノートクロツクが得られ、その周波数
は{マスタクロツク周波数}÷FR/8となる。 (3) 波形発生方法 第2図A楽音発生部2−5に示すとろこの波
形発生方法は大別して次の5ステツプに分けら
れる。すなわち、 1 アドレス発生 データバンク2−6より波形データを読み
出す際のアドレスを発生させる。 2 波形読み出し 上記のアドレスで指定された波形データを
データバンク2−6より読み出し、コントロ
ールデータCONTに応じたビツト処理を行
なう。 3 エンベロープ乗算 4 2波混合 5 CN乗算 以下各ステツプを詳しく説明する。 1 アドレス発生 押鍵によるイニシヤル設定にてヘツダーデ
ータのSTW(WGのスタートアドレス)
、STW(W1のワード数)、DIF1(1波形に
含まれるサンプル数)がレジスタSTW、
WAR、DIF1に格納され、また演算によつて
レジスタΔWARが定まる。これらのデータ
に基づきノーマルモードにてアドレス発生を
行なうわけであるが、以下の処理において、
波形データにPCM部がある場合(PCM=
1)とない場合(PCM=0)でアドレス発
生が異なるのでPCM部がある場合とPCM部
がない場合に分けて説明する。 PCMがない場合 第6表に示すとおり、タイムスロツト2に
て、STWとWARの和を求め、この和でも
つてデータバンク2−6から波形1の読み出
しを行ない、タイムスロツト4にて上記の和
に更にDIF1を加えたもの、すなわちSTW+
WAR+DIF1の値でデータバンク2−6から
波形2の読み出しを行なつている。ここで、
STWは波形2の先頭アドレスであり、
WARには初期値としてΔSTWすなわち波形
1に含まれるワード数の負数が入つており、
、タイムスロツト7にてΔWARを累数してい
く。故にSTW+WARの値は、波形1の先
頭アドレスより順次ΔWARの値ごとに増加
する値となる。また、ST+WAR+DIF1の
値はこの値にDIF1を加えたものであるので、
波形2の先頭アドレスよりΔWARおきに増
加する値となる。ここで、ΔWARは、波形
の読みとばしを表わす値であるので、以上の
ようにして波形1および波形2に対するアド
レスを発生することができる。 また、本楽音発生部2−5においては、
PCM部が無しで且つソロフラグSOL=0で
且つオクターブシフトが行なわれない場合に
位相合わせを行なう。位相合わせの方法は、
演算シーケンスがイニシヤルモードからノー
マルモードに転じた時の初回のタイムスロツ
ト7の演算結果としてRAM8−13におけ
る同音名をアドレスとするデータ9ビツトを
WARに格納する。RAM8−13の出力は
9ビツトであるが、Cバスはプリチャージさ
れているので全16ビツトの前述の9ビツトよ
り上位7ビツトには“1”が入る。2回目以
降のタイムスロツト7の演算結果は、第6表
に示すとおりWARに格納されるとともに
RAM8−13における同音名をアドレスと
するレジスタに更新される。このようにする
ことにより、他のチヤンネルで同音名の楽音
を既に発生している場合であつても、そのチ
ヤンネルにおけるレジスタWARの値が
RAM8−13を介してこれから楽音の発生
しようとしているチヤンネルのレジスタ
WARに与えられるためにこれら2チヤンネ
ル間での位相を併せることが可能となる。 ここで、タイムスロツト7の演算WAR+
ΔWARについて述べる。 WAR+ΔWAR≧0となると音域とは無関
係に演算結果としてCバスには−512102
(FF0016)が与えられる。オクターブシフト
が無い場合はΔWAR=1であるので、レジ
スタWARの値は512を周期としてくり返す
ことになる。 以上により同じノートを発生する複数チヤ
ンネルの各々のレジスタWARは常に同一と
なるので、異なる複数チヤンネルの発生する
同じノートの波形の位相が完全に一致するこ
ととなり、位相合わせが実現される。 次にタイムスロツト2における演算STW
+WARを更に詳しく説明する。 RAM7−3のレジスタSTWよりデータ
が読み出され、MSW3−11に示すところ
のHCバス、SW11、Aバスを介しクロツ
ク3よりFA3−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によりFA3−6のラツ
チ8−1にラツチされる。同時に、RAM7
−1のレジスタWARの値がHAバス、SW
2、Bバスを介してFA3−6のラツチ8−
2にラツチされる。ここで、ラツチ8−1の
出力はビツト処理回路8−10、ラツチ8−
2の出力はビツト処理回路8−11に入力さ
れるが双方の出力ともビツト処理を行なわれ
ることなくラツチ8−3、ラツチ8−4へ送
られ、加算器8−9にて加算される。 ここで、レジスタWARの値について考え
ると、PCM部がない場合には、レジスタ
WARには初期値として波形一周期に含まれ
るサンプル数の負数が書き込まれるが、
PCM部がある場合には、レジスタWARの初
期値としてPCM部として用いる波形のすべ
てのサンプル数の負数が書き込まれる。故
に、タイムスロツト2の演算結果はデータバ
ンク2−6における波形1のPCM部先頭ア
ドレスから順次ΔWARずつ増加した値とな
る。PCM部終了の提出はタイムスロツト7
における演算においてWAR+ΔWAR≧0と
なることを検出して出ない、PCM部終了後
のアドレス発生はPCM部がない場合と全く
同じであり、ビツト処理回路8−11による
ビツト処理が行なわれる。 なお、楽音発生部2−5におけるアドレス
演算は16ビツトであるが、16ビツトのアドレ
ス信号では充分でない場合が当然考えられ
る。そこで、本楽音発生部2−5において
は、タブレツトデートTABの上位3ビツト
を用いてアドレス空間が拡張できるようにな
つている。I/O2−10におけるラツチ1
0−3がアドレス空間拡張用のラツチであ
り、ラツチ10−3にタブレツトデータ
TABの上位3ビツトがラツチされる。即
ち: 押鍵によりイニシヤルモードになると、
RAM5−4に格納されたタブレツトデータ
がNSW3−11を介してRAM7−3のレ
ジスタTAB′に格納される。次いでノーマル
モードに入ると、RAM7−3のレジスタ
TAB′の値が読み出され、MSW3−11を
介してI/O2−10におけるラツチ10−
3にラツチされる。このようにして内部演算
は16ビツトでありながら19ビツトのアドレス
空間をアクセスすることができる。 2 波形読み出し 波形読み出しはタイムスロツト2,4にて
行なわれたアドレスに基づいて行なわれる。
タイムスロツト2による演算結果はCバス、
SW28、HLバス、SW30、Dバスを介し
てI/O2−10のラツチ10−1にラツチ
される。まず、ラツチ10−1の出力がシフ
タセレクタ10−9、ラツチ10−4、ビツ
ト処理回路10−10を介してラツチ10−
5にラツチされてラツチ10−3によるデー
タとともにデータバンク2−6を読み出し、
データバンク2−6の出力がラツチ10−8
にラツチされる。次いで、ラツチ10−1の
出力がシフタセレクタ10−9にて1ビツト
右シフトされ、MSBに“1”が加えられて
ラツチ10−4でラツチされる。ラツチ10
−4の出力がビツト処理回路10−10を介
してラツチ10−5にラツチされ、ラツチ1
0−3によるデータとともにデータバンク2
−6を読み出し、データバンク2−6の出力
がラツチ10−7にラツチされる。この時ラ
ツチ10−7の上位8ビツトにはラツチ10
−8の出力が与えられているので、前回のデ
ータバンク2−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バスに与えられ、
MSW3−11を介してRAM7−3のレジ
スタWR1に格納される。この値が波形1の
波形データである。 タイムスロツト4によつて得られたアドレ
スについても同様の処理が行なわれる。ただ
し、コントロールデータCONTにおいてNA
=00でない場合にはノイズ回路10−14に
おいてノイズ信号が加えられる。NA=01の
時にはビツト9が、NA=10の時にはビツト
10が、NA=11の時にはビツト9及び10が
ノイズ信号におきかえられる。このようにし
て、加算器を用いずにノイズ信号を重畳して
いる。これが波形2の波形データとして
RAM7−2のレジスタWR2に格納される。 3 エンベロープ乗算 上記のようにして波形1・波形2の2種類
の波形データが得られたが、この波形データ
に対してエンベロープの乗算を行なう。波形
1に対するエンベロープはRAM7−3のレ
ジスタER1に、波形2に対するエンベロー
プはRAM7−3のレジスタER2に入つて
いる。ここで、エンベロープについて述べる
と、エンベロープは指数部4ビツト仮数部9
ビツトの13ビツト浮動小数点表示になつてい
る。エンベロープ乗算は各チヤンネル2回行
なわれるがそれぞれの動作は同様であるの
で、タイムスロツト7〜9におけるWR1×
ER1の演算について説明する。 RAM7−3のレジスタER1のデータが
MSW3−11を介してMPLY2−7のラツ
チ9−3及び9−5にラツチされる。
ここで、ラツチ9−3にはレジスタER1の
下位10ビツトが、ラツチ9−5にはレジスタ
のER1のビツト9〜12がラツチされる。次い
でRAM7−3のレジスタWR1のデータが
MSW3−11の介してMPLY3−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ビツト即ちデータバンク2−
6より読み出した波形1の波形データ12ビツ
トをラツチ9−2へ送出する。乗算器9−1
6がラツチ9−2及びラツチ9−4のデータ
の乗算を行ない、積14ビツトがラツチ9−7
にラツチされ、シフタ9−15へ送出され
る。 一方、ラツチ9−5にはエンベロープの指
数部がラツチされており、ラツチ9−6を介
してデコーダ9−13にてデコードされ、セ
レクタ9−14を介してシフタ9−15に制
御信号として与えられる。故に、ラツチ9−
7の出力はエンベロープの指数部によつてシ
フトされ、ラツチ9−8にてラツチされる。
このようにして、固定小数点の波形データと
浮動小数点のエンベロープの乗算が行なわれ
る。ラツチ9−8の出力はLバスよりMSW
3−11を介してRAM7−1のレジスタ
WE1に格納される。波形2の波形データと
エンベロープの乗算も同様にして行なわれ
RAM7−4のレジスタWE2に格納される。 4 2波混合 上記のようにして、レジスタWE1,WE
2に波形が格納される。このステツプでは
WE1とWE2の和を求める。タイムスロツ
ト1における演算がこれに相当する。 5 CN乗算 タイムスロツト1で2波混合を行なうが、
本楽音発生部2−5においては、ABM3−
9及びフイルタ2−7の特性によつては音名
に応じて発生される音圧レベルが異なる場合
がある。このための補正を行なうのがNC乗
算である。ここでは補正の為の係数としてノ
ート係数CNをそのまま用いている。タイム
スロツト1におけるWE2+WE1の演算結果
が、CバスよりSW28、HLバス、SW2
9、Lバスを介してMPLY3−7のラツチ
9−1にラツチされる。一方、メモリ3−5
のROM7−5よりノートデータNDに応じ
てノート係数Nが読み出され、HDバス、
SW24、Lバスを介してMPLY3−7のラ
ツチ9−3にラツチされる。 ここで、WE1+WE2は16ビツトのデータ
であるが乗算器9−16のA入力は12ビツト
であるのでMPLY3−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−1
5によつて元のビツト数にもどし、ラツチ9
−9でラツチする。 以上のようにして少ないビツト数の乗算器
を用いて大きなビツト数のデータの乗算を行
なつている。このようにして得られた値を
DAC3−8へ出力し、ABM3−8で所定の
周期に補正されて楽音信号として出力され
る。 ところで、本楽音発生部2−5において
は、先に述べたようにマイコンの指示により
第1表のフラグVOLにより、CN乗算を
VLD述算に切換えることができる。即ち、
ロングシーケンスにおいて、RAM5−6の
レジスタVLD8ビツトが、MSW3−11を
介してRAM7−4のレジスタVLD′に送ら
れる。送出の際にMSW3−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バスにデータを送出する。 上記のように構成することにより、マイコ
ン2−4によつて楽音発生部2−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) エンベロープ発生方法 楽音発生部2−5におけるエンベロープの発
生方法は次の3ステツプに分けられる。即ち、 1 アドレス発生 2 エンベロープデータの読み出し 3 エンベロープ計算 以下各ステツプを詳しく説明する。 1 アドレス発生 押鍵によるイニシヤル設定にて、ヘツダデ
ータのSTE(エンベワープデータE1′のスター
トアドレス)、ΔSTE(エンベロープデータ
1′のワード数)に基づいてレジスタEAR1、
ERA2、TR1、TR2、ΔT1、ΔT2が初期設
定されている。これらのデータをもとにアド
レス演算が行なわれる。アドレスの演算は演
算頻度が少なくてもよいので演算シーケンス
のロングシーケンスにて行なつている。更
に、ロングシーケンスの奇数回目でエンベロ
ープデータE1′のアドレス演算を、偶数回目
でエンベロープデータE2′のアドレス演算を
行なつている。 奇数回目のロングシーケンスにおいて、タ
イムスロツト13で ΔT1+TR1→TR1 (4−1) タイムスロツト15で ΔEAR1+EAR1+Ci→EAR1 (4−2) の演算が行なわれEAR1の値を用いてデータ
バンク2−6の読み出しを行なう。タイムス
ロツト15のCiはタイムスロツト13にて行
なわれるΔT1の累算によつて生じたオーバ
ーフローに当る。ここで演算(4−1)を詳
しく説明する。 まず、RAM7−2のレジスタΔT1の値が
HBバス、MSW3−11を介してFA3−6
のラツチ8−1にラツチされる。同時に、
RAM7−3のレジスタTR1の値がHCバス、
MSW3−11を介してFA3−6のラツチ
8−2にラツチされる。ラツチ8−1の出力
はビツト処理回路8−10によつてビツト3
が強制的に“0”にされ(ビツト3を“0”
にする理由は後で述べる。)、ラツチ8−3で
ラツチされる。ラツチ8−2の出力はビツト
処理回路8−11を介してラツチ8−4でラ
ツチされる。ここでビツト処理回路8−11
においてはビツトの変換等の処理は施されな
い。ラツチ8−3及びラツチ8−4の出力を
加算器8−9にて加算し、ラツチ8−7、ラ
ツチ8−8を介してCバスに与え、MSW3
−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時の出力の値であ
り、レジスタTR1は16ビツトのレジスタで
あるので、例えばΔT1=400016であれば演算
(4−1)は4回行なわれるとレジスタTR1
はオーバーフローし、演算(4−2)のCi
1となりアドレスの更新が行なわれる。ここ
で、演算(4−1)(4−2)はロングシー
ケンスの2回に1回行なわれる。第2図Cで
示すとおり、同じチヤンネルのロングシーケ
ンスは388タイムスロツトの周期、即ち1タ
イムスロツトでは250sであるので97μsの周期に
現われる。故に演算(4−1)、(4−2)は
194μs毎に行なわれ、ΔT1=400016である場
合には776μsでアドレスの更新が行なれる
ことになる。 ところで、エンベロープデータは2バイト
で構成されているので、アドレスの更新の際
は2ずつ更新されなければならない。タイム
スロツト15においては次のようにしてアド
レスの更新を行なつている。 先ず、ΔEAR1はΔT1によつて定まる値で
あり、ΔT1≠000816の時にはΔEAR1=
00016であり、ΔT1=000816の時には
ΔEAR1=FEB16=−2110である。この操作
はMSW3−11におけるSW31にて行な
われる。SW31は第1図kに示すようにな
つており、ΔT1のビツト3の値を示すフラ
グTOによつて制御している。今仮にΔT1≠
000816とすると、SW31によりAバスに
000016が、RAM7−1のレジスタEAR1よ
りHAバス、MSW3−11のSW2を回して
BバスにEAR1の値が与えられる。これらの
値がFA3−6のラツチ8−1、ラツチ8−
2にラツチされる。ラツチ8−1の出力はビ
ツト処理回路8−10を介してラツチ8−3
へ送られる。ここで、ビツト処理回路8−1
0ではデータの変換は行なわれないようにな
つている。同時に、ラツチ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、ΔDEAR2、EAR2の演算も同様
にして行なわれる。 なお、EAR1、EAR2に関する演算は全く
独立に行なわれる為、波形1、波形2に対し
て全く異なつたエンベロープ信号お発生させ
ることができるのは言うまでもない。また、
EAR1又はEAR2のくり返しについてもくり
返しの周期を異ならしめることが容易である
ので種々の効果を得ることができる。 2 エンベロープデータの読み出し エンベロープデータの読み出しはロングシ
ーケンスにおいて行ない、偶数回目に波形1
のエンベロープデータを、奇数回目に波形2
のエンベロープデータの読み出しを行なう。 レジスタEAR1、EAR2の値に基づいて行
なうエンベロープデータの読み出し方につい
てはイニシヤル処理の項で述べたものと全く
同じであり、I/O3−10にてデータバン
ク2−6より読みとつたデータのフオマツト
変換を行ないがらレジスタΔT1、ΔT2、
ΔZ1、ΔZ2、ΔE1、ΔE2に格納していく。 3 エンベロープ計算 エンベロープデータの読み出しにより、
ΔZ1、ΔZ2、ΔE1、ΔE2にデータが格納されて
おり、また、イニシヤル処理によりER1、
ER2、ZR1、ZR2に初期値が与えられている。
これらの値に応じてエンベロープ計算を行な
う。 エンベロープ計算の基本は加算部のタイムス
ロツト3,5,6,8である。タイムスロツト
3,5によつて波形1のエンベロープを計算
し、タイムスロツト6,8によつて波形2のエ
ンベロープを計算する。ここで、タイムスロツ
ト5,8のCiはタイムスロツト3,6による演
算で生じたオーバーフローであるが、タイムス
ロツト3,6にて生じたオーバーフローがどの
ようにしてタイムスロツト5,8で加えられる
かについては、アドレス発生のタイムスロツト
13,15で述べたものと同様である。このよ
うにして得られたER1、ER2の値がエンベロー
プデータである。 ところで、エンベロープ計算は各種モードによ
つて異なる。各種コードとは、 (1) 波形がPCMを有する場合と有しない場合。 (PCM=1/0) (2) ピアノ型エンベロープの場合とオルガン型エ
ンベロープの場合。 (P/O=1/0) (3) ダンパフラグをオンした場合とオフした場
合。 (DMP=1/0) の3種である。以下個々の場合について説明す
る。 PCM=0かつP/O=0 初期設定はER1、ER2、ZR1、ZR2とも“0”
であり鍵が押圧されている時はレジスタΔE1、
ΔE2、ΔZ1、ΔZ2の値に従つてエンベロープの演
算を行なう。鍵が離されると、タイムスロツト
3,5,6,8のΔZ1、ΔE1、ΔZ2、ΔE2の値
として、UCIに3−3の信号処理器5−6よりリ
リースデータが発生され、レジスタΔZ1、ΔE1、
ΔZ2、ΔE2の値のかわりに用いられる。 なお、このモードにおいてはダンパフラグ
DMPによつて演算は何ら影響はされない。 PCM=0かつP/O=0 初期設定は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 初期設定は、ER1=1FFF16、ER2=0、ZR1
=0、ZR2=0である鍵が押圧されており、波形
1がPCM部を読み出している時は初期値が保持
され、PCM部を読み終えると、レジスタΔE1、
ΔE1、ΔZ2、Δ2の値に従つてエンベロープの演
算を行なう。鍵が離されると、波形1がPCM部
を読み出しているいないに関係なくUCIF3−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種類の波形データと相俟つて
種々の楽音が発生できる。 発明の効果 以上述べたように、本発明は、複数組のX方向
バスと複数組のY方向バスと複数組の第1のスイ
ツチを有し、上記X方向バスの少なくとも1組は
複数個のバスラインから成り、上記Y方向のバス
の少なくとも1組は複数個のバスラインから成
り、上記第1のスイツチの少なくとも1組は複数
個の小スイツチから成り、上記X方向バスと上記
Y方向バスとがマトリツクス状に交差して形成す
る交差点のうち、上記バスの各々の組につき少な
くとも2組以上の所定の交差点に上記第1のスイ
ツチが設けられ、上記バスの少なくとも1組には
定数を入力する第2のスイツチが設けられ、前記
第1のスイツの少なくとも1組が該スイツチによ
り選択されるX方向バスとY方向バスの一方のバ
ス上にあるデータの1部または全部をビツト位置
を変更して他方のバス上に送出する、或は、前記
第1のスイツチの少なくとも1組が、該スイツチ
により選択されるX方向バスとY方向バスの一方
のバス上にあるデータの1部または全部をビツト
順序を変更して他方のバス上に送出する。或は、
前記所定の交差点の少なくとも1組の交差点に、
前記第1のスイツチが2組以上設けられている、
或は、X方向またはY方向バス上にある前記第1
のスイツチの少なくとも2組が同時にオンするこ
とにより、該スイツチにより接続される複数組の
他方向バスより、各バスのビツトパタンを混合し
て入力するようにしたため、X方向のバスからY
方向のバスへ、また、Y方向のバスからX方向の
バスへ、また、Y方向のバスを経由してX方向の
あるバスからX方向の他のバスへ自在にデータを
転送ができ、しかも、スイツチを配置するビツト
位置を1対1に固定せず、バス上にあるデータを
ビツト位置を変更して他方のバス上に送出する。
或は、ビツト順序を変更して他方のバス上に送出
する。或は、1組の交差点に、スイツチを2組以
上設ける、或は、同一バス上にある少なくとも2
組のスイツチが同時にオンすることにより、ビツ
トパターンの変更、上位ビツトと下位ビツトの入
れ替え、値の逓倍といつた操作をハードウエアを
追加、或は、演算回数を追加することなく行なう
ことができ、単位時間当りのデータ処理が大幅に
向上するという優れた効果を有するものである。
【図面の簡単な説明】
第1図Aは本発明におけるデジタル信号処理回
路の一実施例のブロツク図、第1図B〜Kは第1
図AにおけるスイツチSijとして用いられるスイ
ツチのパタン図、第1図Lはデータ転送のタイミ
ング図、第2図Aは本発明におけるデジタル信号
処理装置を電子楽器に応用した場合の一実施例の
ブロツク図、第2図Bはマイコンによるデータ転
送のタイミング図、第2図Cは本発明において用
いられている演算タイムスロツトを表わす図、第
3図は本発明における楽音発生部2−5の構成
図、第4図は楽音発生部2−5におけるSEQ3
−2の詳細図、第5図は同じくUCIF3−3の詳
細図、第6図は同じくCDR3−4の詳細図、第
7図は同じくメモリ3−5の詳細図、第8図は同
じくFA3−6の詳細図、第9図Aは同じく
MPLY3−7の詳細図、第9図BはMPLY3−
7にて使用している乗算器9−16の詳細図、第
10図は楽音発生部2−5におけるI/O3−1
0の詳細図、第11図は同じくMSW3−11の
詳細図、第12図はデータバンク2−6における
データフオーマツトを示す図、第13図はデータ
バンク2−6におけるエンベロープデータのデー
タフオーマツトを示す図、第14図は楽音発生部
2−5におけるノートクロツク発生の原理図、第
15図は従来のデジタル信号処理装置のブロツク
図である。 1−1……プログラムカウンタ,1−2……
SQROM,1−3……命令デコーダ、1−4……
入出力装置、1−5……加算器、1−6〜1−9
……RAM、1−10……シフタ、1−11……
乗算器、2−1……鍵盤、2−2……タブレツ
ト、2−3……効果スイツチ、2−4……マイコ
ン、2−5……楽音発生部、2−6……データバ
ンク、2−7……フイルタ、3−1……マスタク
ロツク、3−2……SEQ、3−3……UCIF、3
−4……CDR、3−5……メモリ、3−6……
FA、3−7……MPLY、3−8……DAC,3−
0……ABM、3−10……I/O、3−11…
…MSW。

Claims (1)

  1. 【特許請求の範囲】 1 複数組のX方向バスと複数組のY方向バスと
    複数組の第1のスイツチを有し、上記X方向バス
    の少なくとも1組は複数個のバスラインから成
    り、上記Y方向バスの少なくとも1組は複数個の
    バスラインから成り、上記第1のスイツチの少な
    くとも1組は複数個の小スイツチから成り、上記
    X方向バスと上記Y方向バスとがマトリクス状に
    交差して形成する交差点のうち、上記バスの各々
    の組につき少なくとも2組以上の所定の交差点に
    上記第1のスイツチが設けられ、上記バスの少な
    くとも1組には定数を入力する第2のスイツチが
    設けられ、前記第1のスイツチの少なくとも1組
    が、該スイツチにより選択されるX方向バスとY
    方向バスの一方のバス上にあるデータの1部また
    は全部をビツト位置を変更して他方のバス上に送
    出する構造を有することを特徴とするデジタル信
    号処理装置。 2 複数組のX方向バスと複数組のY方向バスと
    複数組の第1のスイツチを有し、上記X方向バス
    の少なくとも1組は複数個のバスラインから成
    り、上記Y方向バスの少なくとも1組は複数個の
    バスラインから成り、上記第1のスイツチの少な
    くとも1組は複数個の小スイツチから成り、上記
    X方向バスと上記Y方向バスとがマトリクス状に
    交差して形成する交差点のうち、上記バスの各々
    の組につき少なくとも2組以上の所定の交差点に
    上記第1のスイツチが設けられ、上記バスの少な
    くとも1組には定数を入力する第2のスイツチが
    設けられ、前記第1のスイツチの少なくとも1組
    が、該スイツチにより選択されるX方向バスとY
    方向バスの一方のバス上にあるデータの1部また
    は全部をビツト順序を変更して他方のバス上に送
    出する構造を有することを特徴とするデジタル信
    号処理装置。 3 複数組のX方向バスと複数組のY方向バスと
    複数組の第1のスイツチを有し、上記X方向バス
    の少なくとも1組は複数個のバスラインから成
    り、上記Y方向バスの少なくとも1組は複数個の
    バスラインから成り、上記第1のスイツチの少な
    くとも1組は複数個の小スイツチから成り、上記
    X方向バスと上記Y方向バスとがマトリクス状に
    交差して形成する交差点のうち、上記バスの各々
    の組につき少なくとも2組以上の所定の交差点に
    上記第1のスイツチが設けられ、上記バスの少な
    くとも1組には定数を入力する第2のスイツチが
    設けられ、前記所定の交差点の少なくとも1組の
    交差点に、前記第1のスイツチが2組以上設けら
    れていることを特徴とするデジタル信号処理装
    置。 4 複数組のX方向バスと複数組のY方向バスと
    複数組の第1のスイツチを有し、上記X方向バス
    の少なくとも1組は複数個のバスラインから成
    り、上記Y方向のバスの少なくとも1組は複数個
    のバスラインから成り、上記第1のスイツチの少
    なくとも1組は複数個の小スイツチから成り、上
    記X方向バスと上記Y方向バスとがマトリクス状
    に交差して形成する交差点のうち、上記バスの
    各々の組につき少なくとも2組以上の所定の交差
    点に上記第1のスイツチが設けられ、上記バスの
    少なくとも1組には定数を入力する第2のスイツ
    チが設けられ、X方向またはY方向バス上にある
    前記第1のスイツチの少なくとも2組が同時にオ
    ンすることにより、該スイツチにより接続される
    複数組の他方向バスより、各バスのビットパター
    ンを混合して入力するようにした構造を有するこ
    とを特徴とするデジタル信号処理装置。
JP60002331A 1985-01-10 1985-01-10 デジタル信号処理装置 Granted JPS61161573A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60002331A JPS61161573A (ja) 1985-01-10 1985-01-10 デジタル信号処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60002331A JPS61161573A (ja) 1985-01-10 1985-01-10 デジタル信号処理装置

Publications (2)

Publication Number Publication Date
JPS61161573A JPS61161573A (ja) 1986-07-22
JPH0419587B2 true JPH0419587B2 (ja) 1992-03-30

Family

ID=11526328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60002331A Granted JPS61161573A (ja) 1985-01-10 1985-01-10 デジタル信号処理装置

Country Status (1)

Country Link
JP (1) JPS61161573A (ja)

Also Published As

Publication number Publication date
JPS61161573A (ja) 1986-07-22

Similar Documents

Publication Publication Date Title
US5319151A (en) Data processing apparatus outputting waveform data in a certain interval
US5340938A (en) Tone generation apparatus with selective assignment of one of tone generation processing modes to tone generation channels
EP0235538B1 (en) Waveform generator for electronic musical instrument
EP0201998B1 (en) Electronic musical instrument
JPH0419587B2 (ja)
JPH079582B2 (ja) 電子楽器
JPH0656554B2 (ja) 電子楽器
JPH0584534B2 (ja)
JPH0418343B2 (ja)
JPS61255397A (ja) 電子楽器
JPH028318B2 (ja)
JPH0230038B2 (ja)
JPH0230035B2 (ja)
JPH0230030B2 (ja)
JPS61248095A (ja) 電子楽器
JPH0230036B2 (ja)
JPH0230034B2 (ja)
JPH023198B2 (ja)
JPS61233789A (ja) 電子楽器
JPH04161994A (ja) 楽音発生装置
JPS61233788A (ja) 電子楽器
JPH023199B2 (ja)
JPS61246794A (ja) 電子楽器
JPS61252591A (ja) 電子楽器
JPS61233786A (ja) 電子楽器