JPH03639B2 - - Google Patents

Info

Publication number
JPH03639B2
JPH03639B2 JP57126413A JP12641382A JPH03639B2 JP H03639 B2 JPH03639 B2 JP H03639B2 JP 57126413 A JP57126413 A JP 57126413A JP 12641382 A JP12641382 A JP 12641382A JP H03639 B2 JPH03639 B2 JP H03639B2
Authority
JP
Japan
Prior art keywords
waveform
calculation
converter
buffer memory
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP57126413A
Other languages
English (en)
Other versions
JPS5915989A (ja
Inventor
Kinji Kawamoto
Kazuhiro Murase
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 JP57126413A priority Critical patent/JPS5915989A/ja
Priority to EP83304130A priority patent/EP0102169B1/en
Priority to DE8383304130T priority patent/DE3373737D1/de
Priority to CA000432688A priority patent/CA1211163A/en
Priority to US06/515,255 priority patent/US4528884A/en
Publication of JPS5915989A publication Critical patent/JPS5915989A/ja
Publication of JPH03639B2 publication Critical patent/JPH03639B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
産業上の利用分野 本発明は、電子楽器のように、同時に異なつた
周波数の信号を複数個発生させるのに適した波形
読み出し装置に関するものである。 従来例の構成とその問題点 従来、電子楽器の分野において、複数の鍵に対
応する異なつた周波数の楽音を同時に発生させる
方法としては、独立の波形発生器を備える方法
と、1つの波形発生器を時分割的に動作させて複
数の周波数の波形を同時に発生させる方法とがあ
る。 楽音波形をデイジタル的に発生させる場合、前
者では、デイジタル信号をアナログ信号に変換す
るDA変換器が波形発生器の数だけ必要になる欠
点がある。後者の場合、1つの波形発生器を時分
割動作させるから、必然的にサンプル値を発生さ
せることになる。これらのサンプル値を出力する
ときに、DA変換器を用いる必要がある。従来複
数のサンプル値を加算してから、DA変換する方
式が使われている。この場合には、DA変換器は
1個で良いが、加算結果のダイナミツクレンジが
増加するため加算結果を正確にDA変換するため
に、DA変換器のビツト数を多く必要とする欠点
がある。また、複数のサンプル値は、DA変換器
の動作周波数でサンプリングされた値であること
が要求される。すなわち複数の楽音は、それぞ
れ、共通のサンプリング周波数を想定して計算さ
れたものでなければならない。ところが複数の楽
音の周波数は、一般に12平均律にしたがい12通り
の周波数よりなつており、これらのすべての周波
数とサンプリング周波数とが調和関係(単純には
楽音の基本周波数の整数倍がサンプリング周波数
となる関係)になるのは、サンプリング周波数が
非常に大きくなり全く実用性がなくなる。一方、
実用性のあるサンプリング周波数、たとえば、20
〜50KHz位では、いずれかの音階の楽音の基本周
波数とサンプリング周波数とが非調和関係とな
り、サンプリングによる折り返し周波数が楽音の
高調波成分の周波数からずれてしまうために、に
ごつた音になる。また、波形サンプル値を一周期
用意して、それを繰り返し読み出す波形発生方法
を使うことができず。良質の楽音を得るには、サ
ンプル数を多くするか、あるいはサンプル値の間
で補間演算する必要が出てきて、波形発生装置が
大規模になるという欠点もあつた。 発明の目的 本発明は、内部の波形発生や波形計算の速度と
楽音の基本周波数とは非同期とし、楽音の基本周
波数の整数倍の読み出し周波数にしたがつて読み
出すようにして、上記欠点のないようにしたもの
である。 発明の構成 本発明は、読み出し周波数にしたがつて周期的
に発生する読み出し周波数に対応した計算要求の
生起を計算要求フラグレジスタに書き込み、波形
発生器に、計算要求フラグレジスタを参照して計
算要求の生起がある場合に新たな波形サンプル値
を発生させて書き込み装置を介してバツフアメモ
リに書き込むとともに上記生起の記録を消去し、
上記読み出し周波数にしたがつて、上記新しい波
形サンプル値が書き込まれたバツフアメモリから
上記読み出し装置が上記新しい波形サンプル値を
読み出すようにして、上記相異なる少なくとも2
つの読み出し周波数のそれぞれに同期した波形を
同時に出力可能としたことを特徴とするものであ
る。 実施例の説明 第1図は本発明の実施例のブロツク図である。
1はノートクロツクジエネレータ(NCG)で、
マスタクロツク信号MCKを分周して、12平均律
の音階音に対応する12通りのノートクロツクC,
C# ,D,……,Bを発生する。2はタイミング
パルス発生器(TPG)で、必要なパルス信号を
発生する。3はノートクロツクセレクタ(NCS)
であつて、発生すべき音階音を指定するノートデ
ータを受けて、上記12のノートクロツクC,C
# ,D,……Bから指定のノートデータに対応す
るノートクロツクを選択して出力する機能をも
つ。本実施例では、鍵盤の鍵を同時に8つまで押
さえても音が出る。いわゆる、8チヤンネルの発
音数を想定しているので、8個のノートデータに
対して、それぞれのノートクロツクが選択され、
NCK1〜NCK8の8個のノートクロツクが出力
される。音名および、ノートクロツクジエネレー
タ(NCG)1におけるマスタクロツクMCKの分
周数、音階周波数の関係を第1表に示す。
【表】 選択されたノートクロツクNCK1〜8は、そ
れぞれ計算要求フラグレジスタ4に印加される。
計算要求フラグレジスタ4は、8個のSRフリツ
プフロツプFG1〜8で構成される。ノートクロ
ツクNCK1〜8はそれぞれSRフリツプフロツプ
FG1〜8のセツト端子Sに印加される。そして、
ノートクロツクNCK1〜8が出力される。そし
て、ノートクロツクNCK1〜8が出力されるた
びにSRフリツプフロツプFG1〜8はそれぞれセ
ツトされ、それらの出力である計算要求フラグ1
〜8(CRF1〜8)が“1”となる。SRフリツ
プフロツプFG1〜8のリセツト端子Rには、後
述する計算終了信号CEN1〜8が印加され、こ
の計算終了信号CEN1〜8が“1”になるたび
に計算要求フラグCRF1〜8は“0”になる。 5は読み出し装置で、読み出し信号TRS1〜
8を発生する。読み出し信号は計算要求フラグ
CRF1〜8の立上りから始まる所定の幅を持つ
たパルス信号であつて、ノートクロツクNCK1
〜8の周波数で繰り返す。読み出し装置5は、マ
スタクロツクMCKによりシフト動作するシフト
レジスタSR1〜8と一方にインバータのついた
アンドゲートとにより構成され、8つの各チヤン
ネルに対応して設けられている。 6は計算要求検出制御器、7は波形計算器で、
これらの6と7で波形発生器を構成する。計算要
求検出制御器6には、8チヤンネルのそれぞれに
対応してCTL1〜8の8個が設けられている。
チヤンネル1について説明する。タイミングパル
ス発生器TPG2は、計算開始信号CST1と計算
終了信号CEN1とサンプル終了信号SEN1およ
び計算クロツク信号CCKをCTL1に供給してい
る。アンドゲート20と21の一方の入力端子に
計算要求フラグCRF1が印加され、他方に、計
算開始信号CST1と計算終了信号CEN1がそれ
ぞれ印加されている。アンドゲート20,21の
出力はSRフリツプフロツプ22のセツト端子S
とリセツト端子Rとにそれぞれ印加される。アン
ドゲート21の出力はさらにSRフリツプフロツ
プ23のセツト端子Sと、計算要求フラグレジス
タ4の中のSRフリツプフロツプFG1のリセツト
端子Rにも印加されている。SRフリツプフロツ
プ23のリセツト端子Rにはサンプル終了信号
SEN1が印加されている。SRフリツプフロツプ
22の出力Qは計算サイクル信号CLC1として
アンドゲート24に加わり、計算クロツク信号
CCKの波形計算器7のチヤンネルCH1への印加
をコントロールしている。SRフリツプフロツプ
23の出力Qは、サンプル信号SMP1として後
述する書き込み装置8のゲートG1と、バツフア
メモリ10のスイツチQ1に印加されている。 波形計算器7はチヤンネルCH1〜8の8チヤ
ンネル分あり、ノートデータ、オクターブデー
タ、キーオンオフデータにしたがつて、所定の音
階とオクターブを持つた楽音波形のサンプル値
を、計算クロツク信号CCKに従つて計算し、ゲ
ートG1〜G8へ出力する。所定のクロツク数で、
新たな波形のサンプル値を計算するものであれば
良い。 書き込み装置8は、ラツチまたはゲートG1
G8とDA変換器9とより成る。波形計算器7が計
算を終了して正しい出力を出している間、サンプ
ル信号SMP1〜8に対応して、サンプル値を次
段のDA変換器9に供給する。サンプル信号SMP
1〜8が“0”のときには、各ゲートG1〜G8
出力は高インピーダンスになり、他のゲートへ影
響しないようになつている。DA変換器9の出力
は、バツフアメモリ10に印加される。 バツフアメモリ10は書き込み用のトランジス
タスイツチQ1〜Q8と、電圧を保持するキヤパシ
タC1〜C8、および読み出し用のトランジスタス
イツチQ11〜Q18とより成る。書き込み用のトラ
ンジスタスイツチQ1〜Q8のゲートにはサンプル
信号SMP1〜8がそれぞれ印加され、読み出し
用トランジスタスイツチQ1〜Q8には読み出し信
号TRS1〜8がそれぞれ印加されている。サン
プル信号SMP1が“1”になりトランジスタス
イツチQ1に加わるとトランジスタスイツチQ1
ONになり、DA変換器9の出力電圧V1がトラン
ジスタスイツチQ1を介してキヤパシタC1に充電
され、その後サンプル信号SMP1が“0”にな
ると、電圧V1は保持される。読み出し信号TRS
1が“1”になるとスイツチQ11がオンになり、
キヤパシタC1上の電荷は、オペアンプ11とキ
ヤパシタCFより成る加算ホールド回路に流れ込
み、出力端子12に出力電圧 −V1C1/CF が現われ、保持される。 第2図は、第1図の実施例の主要部分の動作タ
イミングを示している。第2図において、計算タ
イムスロツトが1〜8まで用意されている。計算
タイムスロツト1の初めに計算開始信号CST1
が発生する。計算タイムスロツト1の終りに計算
終了信号CEN1が発生する。計算タイムスロツ
ト2の終りにサンプル終了信号SEN1が発生す
る。これらのパルスは計算タイムスロツト1〜8
を周期として繰返し発生している。この周期を無
関係の周期でかつノートデータに対応したノート
クロツクNCK1がチヤンネル1に対して発生す
ると、第2図のNCK1により計算要求フラグレ
ジスタ5のFG1がセツトされ、計算要求フラグ
CRF1が“1”になる。計算要求フラグCRF1
は計算タイムスロツト1つの幅より少し小さい時
間だけシフトレジスタSR1により遅延されゲー
トされて読み出し信号TRS1が発生する。計算
要求フラグCRF1が“1”のまま、計算タイム
スロツト1になつて、計算開始信号CST1が発
生すると、この計算開始信号CST1はゲート2
0を通過し、SRフリツプフロツプ22をセツト
するので、計算サイクル信号CLC1が“1”に
なる。計算サイクル信号CLC1はアンドゲート
24を開いて計算クロツク信号CCKが波形計算
器7のチヤンネルCH1に加わり、新しい波形サ
ンプル計算が実行される。計算は計算タイムスロ
ツト内で完了し、計算終了信号CEN1が到来す
ると、このときアンドゲート21には計算要求フ
ラグCRF1が“1”のまま加わつているから、
計算終了信号CEN1はSRフリツプフロツプ22
をリセツト、SRフリツプフロツプ23をセツト、
SRフリツプフロツプFG1をリセツトする。した
がつて計算サイクル信号CLC1は“0”となり、
ゲート24は閉じて計算クロツク信号CCKの供
給は終る。SRフリツプフロツプFG1の出力であ
る計算要求フラグCRF1は“0”となり、計算
要求の生起に対応した計算の実行が終了したこと
を示す。計算要求フラグレジスタ4のSRフリツ
プフロツプFG1はつぎのノートクロツクNCK1
の到来に備える。SRフリツプフロツプ23がセ
ツトされたのでサンプル信号SMP1が“1”に
なり、ゲートG1を開き、計算結果である波形サ
ンプルをDA変換器9に供給する。そしてトラン
ジスタスイツチQ1もオンになり、DA変換器9の
出力電圧V1がキヤパシタC1に印加される。キヤ
パシタC1の電圧が充分正確に電圧V1になるまで
充電されたあと、サンプル終了信号SEN1が発
生し、SRフリツプフロツプ23をリセツトし、
サンプル信号SMP1が“0”になる。サンプル
信号SMP1が“0”になるとゲートG1が閉じて
出力は高インピーダンスになり、同時にトランジ
スタスイツチQ1もオフになり、キヤパシタC1
電圧V1を保持する。つぎに、ノートクロツク信
号NCK1がSRフリツプフロツプG1に到達する
と、読み出し回路5を介して、読出信号TRS1
が“1”になり、上記の電圧V1がトランジスタ
スイツチQ11を通してキヤパシタCFに転送され
る。 以上のように、ノートクロツク信号NCK1が
発生すると、前回の波形サンプル値を読み出すと
共に、計算要求フラグを立てて、チヤンネルCH
1の計算タイムスロツトになるまでまち、チヤン
ネルCH1の計算タイムスロツト1になるとチヤ
ンネルCH1の波形計算を実行し、そのつぎのタ
イムスロツト2で、計算結果のDA変換とバツフ
アメモリへの書き込みを行なうようにしている。
チヤンネルCH1に供給されるノートクロツク信
号NCK1の周波数はノートデータにより異なり、
一般にCからBまでのほぼ2倍弱の範囲に存在し
ている。したがつて、ノートクロツクNCK1の
周波数が低いと、計算要求フラグCRF1が“1”
になつていないのに計算タイムスロツト1になる
ことがあるが、この場合はまだ波形サンプルを計
算しなくてもよいから、計算サイクル信号CLC
1は“0”を保つようにしている。逆にノートク
ロツクNCK1の周波数が高くなりすぎると、計
算タイムスロツト1の到来が間に合わないおそれ
も考えられる。計算タイムスロツト8+2個分の
周期より大きい場合には、その心配はない。 チヤンネルCH2〜8についても同様の動作を
行なう。第3図は、チヤンネルCH1〜4に種々
の周期のノートクロツク信号NCK1〜4が到来
したときの、計算要求フラグCRF1〜4、計算
サイクル信号CLC1〜4、DA変換サイクル
(DAC1〜4)、出力サイクル(OTC1〜4)を
示している。DA変換サイクルDAC1〜4は、サ
ンプル信号SMP1〜4に対応する。出力サイク
ルOTC1〜4は、読み出し信号TRS1〜4に対
応する。計算要求フラグCRF1〜4の立上りの
太い部分は、ノートクロツク信号NCK1〜4の
発生を示している。計算タイムスロツト1〜4で
はそれぞれ、チヤンネルCH1〜4の波形計算を
行なつている。チヤンネルCH2には、周期の大
きいノートクロツク信号が印加されているので、
計算タイムスロツト2は1回おき強しか実際に計
算が実行されない。点線部分では計算要求フラグ
CRF2が0であるから、計算休止状態である。
チヤンネルCH3はノートクロツクNCK3の周期
が小さい場合で、つぎの計算タイムスロツトのつ
ぎのDA変換サイクルにノートクロツクNCK3が
発生したため、計算実行が1回遅れているが、出
力サイクルは正常に動作する例である。チヤンネ
ルCH4は、計算タイムスロツトにノートクロツ
クNCK4が発生したために計算実行を遅らせた
が、出力サイクルは正常に動作する例である。 以上のように、内部の計算のサイクルと、外部
の読み出しのサイクルとが、同期できず、かつ、
読み出し周期が複数個あり、読み出しタイミング
が複数のチヤンネル間で一致してしまう場合が発
生するようなシステムにおいても、本実施例のよ
うにすることにより、書き込みとDA変換を内部
に同期させておいて、なおかつ、読み出しは、各
チヤンネル独立に行なうことが可能になる。 第1図の実施例では、波形計算器7とゲート8
をチヤンネルごとに独立に設けたが、第3図のタ
イミング図では計算タイムスロツトが完全に独立
であり、書き込みも同様に独立であるから、それ
ぞれ1チヤンネル分だけ持ちTDM(時分割多重
化)動作をさせても良い。 第4図は、さらに計算要求検出制御回路6も
TDM動作させるようにした本発明の別の実施例
である。 第5図に第4図の各部のタイミングと信号波形
を示す。 第4図において、第1図の実施例と同様の機能
を有するものには同番号をつけ説明を省く。 タイミングパルスジエネレータTPG2は、第
5図に示すように、計算クロツク信号CCK、計
算開始信号CST、計算終了信号CENを発生する。
{TS}は計算タイムスロツト1〜8を指定する3
ビツトコードA,B,Cより成る信号である。こ
れらの信号群は、計算要求検出制御回路6に供給
される。計算要求検出制御回路6は、アンドゲー
ト20,21,24、SRフリツプフロツプ22、
シフトレジスタ25、マルチプレクサ27、デマ
ルチプレクサ26と28とにより構成される。7
はTDM化された波形計算器、8はラツチ、9は
DA変換器である。その他は第1図の実施例と同
様である。 第5図において、マスタクロツクMCKは1回
分周され計算クロツク信号CCKとなる。計算ク
ロツク信号CCKが10個で1つの計算タイムスロ
ツトを形成する。各計算タイムスロツトは{TS}
で指示される。{A,B,C}={1、1、1)が
計算タイムスロツトを表わす。各タイムスロツト
の最初の計算クロツク信号CCKが計算開始信号
CST、最後の計算クロツク信号CCKが計算終了
信号CENになる。 第1図の実施例と同様に計算要求フラグCRF
1〜8が計算要求フラグレジスタ4に立つ。これ
らの計算要求フラグCRF1〜8はマルチプレク
サ27で順にスキヤンされる。{TS}=(111)の
とき、計算要求フラグCRF1が選択されアンド
ゲート20,21に印加される。計算要求フラグ
CRF1=“1”ならSRフリツプフロツプ22がセ
ツトされ、計算サイクル信号CLCが“1”にな
り、計算クロツク信号CCKが波形計算器7に供
給される。{TS}が波形計算器に供給されている
から、計算タイムスロツト1で行なうべきノート
データ、オクターブデータに対応する波形計算が
実行できる。計算クロツク信号CCK10個の最後
のクロツク信号で計算が完了し、計算結果はその
クロツク信号の立下りでラツチ8にラツチされ
る。ラツチクロツクはアンドゲート21より出力
されるリセツト信号RESETが用いられる。リセ
ツト信号RESETは、SRフリツプフロツプ22を
リセツトし、計算サイクル信号CLCを“0”に
する。このときデマルチプレクサ26には、
{TS}=(111)が入力されているから、リセツト
信号RESETは、計算要求フラグレジスタ4のチ
ヤンネルCH1すなわちSRフリツプフロツプFG
1のリセツト端子Rに印加され、計算要求フラグ
CRF1を“0”にする。SRフリツプフロツプ2
2の出力である計算サイクル信号CLCは、計算
クロツク信号CCK9個分のパルス幅をもつが、こ
の信号は、シフトレジスタ25で、マスタークロ
ツク信号MCK20個分すなわち1計算タイムスロ
ツト分の遅延をされてサンプル信号SMPとして
デマルチプレクサ28に印加される。サンプル信
号SMPが出力されるときは、{TS}=(011)にな
つている。この{011}に対して、チヤンネル
CH1に対応するバツフアメモリが選択されるよ
うにトランジスタスイツチQ1にサンプル信号
SMPが導かれるので、ラツチ8の計算結果はDA
変換器9を介してチヤンネルCH1のバツフアメ
モリに記憶保持される。 {TS}=(011)となりチヤンネルCH2になつ
たときに、計算要求フラグCRF2が“1”であ
ればチヤンネルCH1と同様の動作を行なう。
{TS}=(101)すなわちチヤンネルCH3の計算タ
イムスロツト3になつたときに計算要求フラグ
CRF3が“0”であれば、SRフリツプフロツプ
22はセツトされない。したがつて計算サイクル
信号CLCは“0”のままであり、チヤンネルCH
3の波形計算は行なわれない。サンプル信号
SMPも“0”であるからサンプルも行なわれず、
バツフアメモリのチヤンネルCH3は、それ以前
の計算結果をそのまま保持する。 一方、各チヤンネルにノートクロツク信号
NCK1〜8が発生すると、第1図の場合と同様、
読出信号TRS1〜8が発生し、バツフアメモリ
10の各チヤンネルに対応するキヤパシタC1
C8の保持電圧V1〜V8を読み出す。 第1図において、ノートデータ、オクターブデ
ータ、エーオンオフデータは、いわゆるジエネレ
ータアサイナによつて、チヤンネルCH1〜8の
どのチヤンネルに押鍵された鍵の音高、オクター
ブを割り当てるが決定にもとづくデータとして供
給されている。ジエネレータアサイナについては
公知の技術であり、その構成は本発明の本質と直
接関係がないので説明を省く。 波形計算器7は、第4図で10クロツクで新しい
サンプル値を算出するものとしたが、これは10ク
ロツクに限定されない。たとえば、あらかじめ読
み出すサンプル値がメモリに書き込まれているよ
うな場合、前回のメモリアドレスのつぎのアドレ
スを読み出せば良いから、10クロツクの必要はな
く、アドレスの歩進とメモリ読出しの時間があれ
ば十分である。 波形計算器7は、デイジタルサンプルを計算す
るものでなく、アナログサンプル値を算出するも
のでもよい。この場合、電圧制御によるミユージ
ツクシンセサイザのようなアナログコンピユータ
を活用してもよい。 第1図と第4図のバツフアメモリ10では、各
チヤンネル1〜8の出力を加算するようにした
が、各チヤンネルのキヤパシタC1〜C8の電荷を
独立に読み出しても良い。第6図は、その一例で
ある。第6図においてバツフアメモリ10の出力
は各トランジスタスイツチQ11〜Q18について、
独立に出力させている。31〜38はアナログ乗
算器である。13は各チヤンネルの鍵の押鍵・離
鍵に対応するキーオンオフデータを受けて、楽音
の包絡線信号、いわゆるエンベロープ信号を発生
するエンベロープ信号発生器である。この実施例
では、エンベロープをバツフアメモリ10の出力
段でかけるので、波形計算器7では第1図や第4
図の実施例と異なり、エンベロープ計算が不用で
ある。したがつ波形計算器7には、キーオンオフ
データをとくに加える必要がなくなる。 第7図は、波形計算器7の他の例である。第7
図において、50は楽音波形の記憶された読み出
し専用メモリ(ROM)53のウエーブアドレス
データWADを記憶するアドレスレジスタで、1
ワード8ビツトで構成され、8チヤンネルに対応
して設けられている。51はアドレスに1を加算
する加算器、52は加算されたアドレスデータを
オクターブデータにしたがつてビツトシフトする
シフター、53は1ワード8ビツト256アドレス
からなる読み出し専用メモリROMで、楽音波形
の1周期分を格納したものである。アドレスレジ
スセ50には、計算タイムスロツトコード{TS}
と読み出し書き込み信号R/Wが印加され、
{TS}で指定されるレジスタの格納しているウエ
ーブアドレスデータWADがずR/W=“1”に
より読み出され加算器51で+1されて、R/W
=“0”で再び同じレジスタに書き込まれる。し
たがつてアドレスデータWADは+1ずつ進んで
ゆく。計算タイムスロツトにおいて、計算サイク
ル信号CLC=“0”なら計算の必要がないから、
アンドゲート60により+1データが阻止され
て、ウエーブアドレスデータWADは、もとのま
まになる。ウエーブアドレスデータWADはシフ
ト52により、オクターブの高さに対応してシフ
トされる。1ビツト高位にシフトされると読み出
し専用メモリROM53のアドレスとしては、増
分が2倍になるからROMアドレスの歩進が速く
なり、発生する波形の基本周波数が2倍になる。
読み出し専用メモリROM53の出力である波形
サンプルデータWDは掛算DA変換器58のデー
タ入力端子に印加される。54はエンベロープア
ドレスデータEADを格納するレジスタで、8チ
ヤンネル分あり、計算タイムスロツトコード
{TS}と読み出し書き込み信号R/Wとにより任
意のレジスタの読み書きができる。56は歩進デ
ータ発生器で、ノートデータごとに異なつた歩進
データを保有し、各計算タイムスロツトごとに、
そのノートに対応する歩進数を出力する。55は
選択された歩進数とエンベロープアドレスデータ
EADとを加算する加算器である。加算器55の
出力はレジスタ54とROM57に供給される。
57は楽音のエンベロープの立上りから立下りま
での波形データを記憶しているメモリである。 鍵が押されるとキーオンデータが“1”になり
レジスタ54のうちの所定のチヤンネルのレジス
タの内容であるエンベロープアドレスデータ
EADが初期化され0になる。そして、エンベロ
ープアドレスデータEAD=0に12の歩進数のう
ち、押鍵されたノートに対応する歩進数ΔEAD
が加えられ、再びもとのレジスタに格納されると
共に、EAD+ΔEADのアドレスのエンベロープ
データEDが読み出し専用メモリROM57から読
み出される。もし、そのときの計算サイクル信号
CLCが“0”ならエンベロープアドレスデータ
EADは歩進しない。このようにして、押鍵され
ると、音の立上りから立下りまでのエンベロープ
データEDが読み出され、DA変換器59により、
アナログ電圧のエンベロープ信号VENVが得られ
る。以上の動作は計算タイムスロツト単位で
TDM化されているから、エンベロープ信号VENV
もTDM化されて出力される。エンベロープ信号
VENVは、掛算DA変換器58の基準電圧になつて
いる。 掛算DA変換器58は、基準電圧Vref=VENVと、
波形データ入力WDとの掛算結果を出力電圧とし
て出力する機能をもつ。したがつて掛算DA変換
器58の出力は、読み出し専用メモリROM53
の格納している音源波形サンプルと読み出し専用
メモリROM57の格納しているエンベロープ波
形サンプルとの掛算を半デイジタル的に行なつた
ものとなり、かつ、そのタイミングは内部の計算
タイムスロツト1〜8に同期して出力される。し
たがつて、第4図と同様のバツフアメモリ10に
印加すれば、所望のノートクロツクの生起タイミ
ングに、エンベロープ付の音源サンプル値として
読み出せる。 第7図の実施例の特徴は、DA変換器58と5
9の2つを用いることにより、デイジタル掛算を
用いずに、エンベロープの乗算ができる点にあ
る。DA変換器58と59の間、またはDA変換
器58の出力に、さらに掛算DA変換器を追加し
て、そのデイジタル入力に全体の振幅に相当する
データを入力することにより、各チヤンネルの楽
音信号のレベルを独立に設定することもできる。 キーオンオフデータとエンベロープ曲線の関係
については、上記実施例はもつとも簡単な場合に
ついて述べている。キーオフ後にエンベロープが
急速に減衰するダンパーなどの機能をもたせても
よい。 つぎに、バツフアメモリ10について説明す
る。第1図におけるバツフアメモリ10の出力に
は、オペアンプ11と帰還用キヤパシタCFとが
設けられ、バツフアメモリ10の各チヤンネルの
出力を加算するようにしているが、オペアンプ1
1とキヤパシタCFには、加算作用だけでなく積
分作用がある。すなわち、オペアンプ11とキヤ
パシタCFはホールド回路であり、このホールド
回路はキヤパシタC1〜C8の各々が独立に保持し
ていた電荷を所定のタイミングでトランジスタス
イツチQ11〜Q18を介して受け入れる。電荷を受
け入れたあとは、リーク電流を無視すればCF
C1,CF/C2,……,C/C8に応じた電圧を保持
し続ける。このように、キヤパシタCFの端子間
電圧は、そのまま保持される。積分の代りにホー
ルド作用と云つてもよい。云いかえると、読み出
された前回のサンプル電圧は、そのまま保持され
ることになる。したがつて、第1図におけるバツ
フアメモリ10への書き込み電圧は、波形の差分
値である必要がある。波形の差分値を得るには、
波形計算器7の出力する波形サンプルデータの前
回値WD(nT−T)と今回値WD(nT)の差 WD(nT)−WD(nT−T) を計算して出力するようにすればよい。なぜな
ら、第13図aに示すように方形波を差分形式で
波形サンプリングした場合には、オペアンプ11
の出力は積算または積分されて第13図bに示す
ような波形となる。したがつて、逆にある所望の
波形を端子12に得ようとすると、DA変換器9
の出力すべき波形は差分形式(または微分)のデ
ータにしておく必要がある。これらの演算はデイ
ジタル的に行なうことができる。 第4図のバツフアメモリ10とオペアンプ1
1、キヤパシタCFを用いる場合にも同様に、差
分サンプルデータをラツチ8に書き込むことが必
要である。第6図においても、読み出し用のトラ
ンジスタスイツチQ11〜Q18の出力にホールド回
路が設けられるときには、ラツチ8には差分サン
プルデータを書き込むことが必要である。 第7図ではバツフアメモリ10の出力にホール
ド回路が設けられているので、バツフアメモリ1
0への入力電圧は差分サンプル値でなければなら
ない。60は差分サンプル値演算器である。第8
図は、この部分の図、第9図は差分サンプル値演
算器の例、第10図はそのタイミング図である。
第8図において、掛算DA変換器58とDA変換
器59には、それぞれ波形サンプルデータWD
(nT−T),WD(nT)とエンベロープデータED
(nT−T),ED(nT)が供給される。1回前のデ
ータWD(nT−T)とED(nT−T)は第10図
φAにおいて供給され、φBにおいては波形サンプ
ルデータWD(nT)とエンベロープデータED
(nT)、すなわち今回のデータが供給される。第
9図において、スイツチQ100、キヤパシタCA
オペアンプ70は、1回前のデータWD(nT−
T)×ED(nT−T)に相当する電圧V(nT−T)
を保持するサンプルホールド回路である。今回の
データWD(nT)×ED(nT)に相当する電圧V
(nT)はスイツチQ101がオンになるφBにおいてキ
ヤパシタCBの一端に印加されるが、このときそ
の他端には、スイツチQ102がオンになつて前回の
V(nT−T)が印加される。したがつてキヤパシ
タCBの端子間電圧は ΔV(nT)=V(nT)−V(nT−T) となる。φCにおいてスイツチQ103がオンになるの
でΔV(nT)はバツフアアンプ80を介して出力
され、バツフアメモリ10に供給される。以上の
ようにして差分サンプル値演算器60は波形サン
プルデータとエンベロープデータの積である楽音
サンプルデータの差分電圧をつくり出す。 第11図は、バツフアメモリ10の他の実施例
である。第11図AにおいてQ1,Q11,Q21はト
ランジスタスイツチ、C1はキヤパシタ、R1は加
算用抵抗、オペアンプ11と抵抗RFは加算増幅
器を構成するものである。R2はチヤンネル2用
の加算用抵抗である。第11図Bは第11図Aの
各点の信号の波形を示す。入力端子110には
DA変換器の出力が電流I1Nの形で入力される。ト
ランジスタQ1は信号S1によりTS1の間オンになり
キヤパシタC1を充電する。TS1の前縁で信号S2
よりトランジスタQ21がオンになりキヤパシタC1
は放電されているので、時間TS1の間に、 VCAP=I1N・TS1/C が充電され保持される。トランジスタQ11
TRS1が来ると、キヤパシタC1の抵抗R1に対する
放電電流に応じて、抵抗RFに電圧が発生し、端
子12に放電々流に応じた電圧波形が読み出され
る。TS1はチヤンネル1のノート周波数に反比例
した時間幅を持つようにする。ノート周波数
NOTEが高いとサンプルの発生頻度が高いから、
各サンプルのエネルギー、すなわちキヤパシタ
C1の電荷量がノート周波数に関して同じ場合、
ノート周波数NOTEに比例して出力波形のレベル
が大きくなる。このようになると1オクターブ内
の半音階にしたがつて、ノートが高くなるにつれ
て音量が21/12=0.5dBずつ大きくなり不都合であ
る。そこで、第11図ではノート周波数NOTE
反比例してVCAPの保持電圧を制御しているから、
どの音階でも、レベルの差がほぼ一定にできる。 TS1をノート周波数NOTEに反比例させるには、
単安定マルチバイブレータにより12通りのパルス
幅をつくり、これで選択するようにしたり、カウ
ンタによつて、パルス幅の異なるS1信号をつくる
ようにすればよい。 第12図はバツフアメモリ10の他の実施例を
示すものであり、第12図Aはその回路例、第1
2図Bはその波形を示す。第11図に比較する
と、トランジスタスイツチQ21がなく、トランジ
スタスイツチQ1とQ11に印加されるパルスが異な
る。入力端子110には、波形サンプル値の電圧
が印加される。サンプル信号SMP1でキヤパシ
タC1は充電される。トランジスタスイツチQ11
は、TRS1信号と同じタイミングでパルス幅TM1
の信号MTRS1が印加される。トランジスタス
イツチQ11がオンになると、キヤパシタC1の放電
電流IR1が抵抗R1を介して抵抗RFに流れ込む。パ
ルス幅TM1は、ノート周波数NOTEに、ほぼ反比例
するようにしておく。このようにすれば、ノート
周波数NOTEが高いほど、電流IR1の流れる時間が
短かく、エネルギーは小さくなる。一方、第11
図において説明したように、出力の発生頻度はノ
ート周波数に比例するから、両者が相殺し合つ
て、ノートによらず、出力レベルはほぼ一定にな
る。 第11図と第12図の実施例では、出力の加算
増幅器としてホールド機能がないから、入力とし
ては、差分サンプル値である必要がない。 上記第1図、第4図の説明では、計算要求の生
起を並列に記録し、あらかじめ順序をもつた計算
タイムスロツトにおいて計算するようにした。別
の実施例としてつぎのようにしてもよい。 すなわち、計算要求が生起すると、そのチヤン
ネル番号を8個のレジスタに生起の順に記録す
る。8個のレジスタはFIFO(フアーストインフア
ーストアウト)メモリで良い。計算要求がいくつ
かのチヤンネルで同時に生起することもあるが、
このときは、チヤンネル番号の順に優先順序をつ
けることにする。このためには、マイコンなどの
周辺ICとしてデイジーチエーン型の割込制御回
路と同様の回路を使えばよい。波形発生器は、
FIFOメモリを読み出し、計算すべきチヤンネル
番号を知り、そのチヤンネルに対応するノート、
オクターブの波形サンプル値を計算し、書き込み
必要を介してバツフアメモリの対応するチヤンネ
ルに計算結果を書き込む。書き込みが終ると、再
びFIFOメモリを読み出し、つぎの波形計算を実
行する。一方、計算結果の読み出しは、FIFOメ
モリへの計算要求の生起の記録時に行なわれる。 本実施例では、FIFOメモリに計算要求チヤン
ネル番号があれば、連続的にいずれかのチヤンネ
ルの波形計算を行なうが、FIFOメモリに計算要
求の記録がなくなると、波形計算は停止する。ま
た、波形計算の順序は、要求生起の順序になる。 上記説明では、第1図、第4図において、ノー
トクロツクをノートデータにより選択した。した
がつてオクターブについては、波形の基本周期内
のサンプル数を、倍や半分にすることによりオク
ターブ異なる波形をつくつている。しかし、これ
に限定されることなく、ノートクロツクを分周す
ることにより、オクターブ情報も含んだ読み出し
信号をつくることもできる。 また、ノートクロツクとしてC,C# ,D,D
# ,E,Fのみとし、F# ,G,G# ,A,A
# ,Bについてはサンプル数を変えることによ
り、全12半音階をつくることもできる。要する
に、ノートセレクタ3で行ない、オクターブ制御
を波形計算器7で行なうよう完全に分離する方法
に限られることはない。 発明の効果 以上説明したように、本発明の波形読み出し装
置は、読み出し周波数にしたがつて周期的に発生
する読み出し周波数に対応した計算要求の生起を
計算要求フラグレジスタに書き込み、波形発生器
に、計算要求フラグレジスタを参照して計算要求
の生起がある場合に新たな波形サンプル値を発生
させ、書き込み装置を介して上記バツフアメモリ
に書き込むとともに上記生起の記録を消去し、上
記読み出し周波数にしたがつて、上記新しい波形
サンプル値が書き込まれたバツフアメモリから、
上記読み出し装置が上記新しい波形サンプル値を
読み出すようにして、上記相異なる少なくとも2
つの読み出し周波数のそれぞれに同期した波形を
同時に出力可能としたものである。 したがつて、ノートクロツク周波数を、マスタ
クロツク周波数と独立に設定しても、内部計算と
読み出しとが非同期で良いから正常な動作が実現
できる。したがつて、各ノートクロツク周波数に
ビブラートや、グライド、ポルタメントなどを独
立にかけてもさしつかえない。 また書き込み装置のうち、とくにDA変換器は
1個でよいだけでなく、それらが、チヤンネルご
とに独立に動作するから、2つのチヤンネルの音
を同時に鳴らしても、量子化ひずみによる混変調
ひずみの発生がない。したがつて、8ビツト程度
の安価なDA変換器を使うことができる。 さらに波形の基本周波数に対してサンプリング
周波数を整数倍にすることができるから、発生す
る折り返し成分や、量子化により生じるサンプル
波形の高調波成分を、すべて、基本周波数の高調
波成分を、すべて、基本周波数の高調波に一致さ
せることができ、したがつてにごりのない音をつ
くることができる。
【図面の簡単な説明】
第1図は本発明の一実施例のブロツク図、第2
図はそのタイミング図、第3図はその動作の概念
を示すタイミング図、第4図は本発明の第2の実
施例のブロツク図、第5図はその動作タイミング
図、第6図は本発明に用いるバツフアメモリ部の
一実施例のブロツク図、第7図は本発明に用いる
波形計算器と書き込み装置およびバツフアメモリ
部の実施例のブロツク図、第8図、第9図は差分
サンプル値演算器の実施例のブロツク図、第10
図は第8図、第9図のタイミング図、第11図、
第12図は、バツフアメモリの実施例のブロツク
図とその動作タイミング図、第13図は動作を説
明するための波形図である。 1……ノートクロツクジエネレータ、2……タ
イミングジエネレータ、3……ノートクロツクセ
レクタ、4……計算要求フラグレジスタ、5……
読み出し装置、6……計算要求検出制御器、7…
…波形計算器、8……ゲートまたはラツチ、9…
…DA変換器、10……バツフアメモリ。

Claims (1)

  1. 【特許請求の範囲】 1 複数の波形を発生する波形発生器と、相異な
    る少なくとも2つの読み出し周波数を発生する複
    数の読み出し周波数発生部と、波形要求を制御す
    る装置と、書き込み装置と、キヤパシタを有する
    複数のバツフアメモリと、複数の読み出し装置と
    を備え、上記読み出し周波数にしたがつて周期的
    に発生する読み出し周波数に対応した波形要求の
    生起を上記波形発生器に知らせて新たな波形サン
    プル値を発生させ、上記書き込み装置を介して上
    記バツフアメモリに書き込み、上記読み出し周波
    数にしたがつて、上記新しい波形サンプル値が書
    き込まれたバツフアメモリから、上記読み出し装
    置が上記新しい波形サンプル値を読み出すように
    して、上記相異なる少なくとも2つの読み出し周
    波数のそれぞれに同期した波形を同時に出力可能
    とし、さらに上記書き込み装置は、デイジタルア
    ナログ変換器により波形サンプル値をアナログ信
    号に変換し、上記バツフアメモリはアナログ信号
    を記憶するものであり、上記デイジタルアナログ
    変換器は、上記少なくとも2つの読み出し周波数
    に対応した多重の時分割動作を行なうようにした
    ことを特徴とする波形読み出し装置。 2 波形発生器が時分割多重化で動作し、あらか
    じめチヤンネルごとに設けられた計算タイムスロ
    ツトにおいて順次指定されたチヤンネルの波形を
    発生するようにした特許請求の範囲第1項記載の
    波形読み出し装置。 3 書き込み装置の出力するアナログ信号が楽音
    サンプル値の差分であつて、上記差分をバツフア
    メモリに書き込み、上記バツフアメモリより読み
    出された差分をホールド回路により累積するよう
    にしたことを特徴とする特許請求の範囲第1項記
    載の波形読み出し装置。 4 波形発生器は、音源波形発生器とエンベロー
    プ発生器とを備え、書き込み装置はDA変換器と
    掛算DA変換器とを備え、上記波形発生器の出力
    する音源波形とエンベロープデータの一方を上記
    DA変換器に、他方を上記掛算DA変換器に加え、
    上記DA変換器の出力を上記掛算DA変換器に加
    えて乗算し、その出力をバツフアメモリに書き込
    むようにしたことを特徴とする特許請求の範囲第
    1項記載の波形読み出し装置。 5 掛算DA変換器の出力を差分演算してバツフ
    アメモリに書き込むようにしたことを特徴とする
    特許請求の範囲第4項記載の波形読み出し装置。
JP57126413A 1982-07-19 1982-07-19 波形読み出し装置 Granted JPS5915989A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP57126413A JPS5915989A (ja) 1982-07-19 1982-07-19 波形読み出し装置
EP83304130A EP0102169B1 (en) 1982-07-19 1983-07-15 Wave reading apparatus
DE8383304130T DE3373737D1 (en) 1982-07-19 1983-07-15 Wave reading apparatus
CA000432688A CA1211163A (en) 1982-07-19 1983-07-19 Wave reading apparatus
US06/515,255 US4528884A (en) 1982-07-19 1983-07-19 Wave reading apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57126413A JPS5915989A (ja) 1982-07-19 1982-07-19 波形読み出し装置

Publications (2)

Publication Number Publication Date
JPS5915989A JPS5915989A (ja) 1984-01-27
JPH03639B2 true JPH03639B2 (ja) 1991-01-08

Family

ID=14934545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57126413A Granted JPS5915989A (ja) 1982-07-19 1982-07-19 波形読み出し装置

Country Status (1)

Country Link
JP (1) JPS5915989A (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS523421A (en) * 1975-06-26 1977-01-11 Kawai Musical Instr Mfg Co Ltd Sound source appliance of electronic musical instrument
JPS55144296A (en) * 1979-04-27 1980-11-11 Nippon Musical Instruments Mfg Electronic musical instrument

Also Published As

Publication number Publication date
JPS5915989A (ja) 1984-01-27

Similar Documents

Publication Publication Date Title
CA1172475A (en) Electronic musical instrument
US4133241A (en) Electronic musical instrument utilizing recursive algorithm
JPS5833297A (ja) 電子楽器
GB2047999A (en) Digital waveform generating apparatus
US4114497A (en) Electronic musical instrument having a coupler effect
CA1076400A (en) Digital generator for musical notes
US4528884A (en) Wave reading apparatus
US4562763A (en) Waveform information generating system
JPH03639B2 (ja)
JPH0423277B2 (ja)
US4338844A (en) Tone source circuit for electronic musical instruments
JPS646480B2 (ja)
JPS60495A (ja) 波形読み出し装置
JP3561939B2 (ja) 波形メモリ音源
US4936179A (en) Electronic musical instrument
JPS6153696A (ja) 電子楽器
JPS583238B2 (ja) 電子楽器
JPS6352399B2 (ja)
JPS5846036B2 (ja) 電子楽器
JPS61209496A (ja) 電子楽器
JPH0567957B2 (ja)
JPS63261397A (ja) 電子楽器
JPS61283098A (ja) 波形情報読み出し装置
JPH04125694A (ja) 楽音発生装置
JPS6240494A (ja) D/a変換器の振り分け装置