JPH0369000A - 電子楽器の補間回路 - Google Patents
電子楽器の補間回路Info
- Publication number
- JPH0369000A JPH0369000A JP1206453A JP20645389A JPH0369000A JP H0369000 A JPH0369000 A JP H0369000A JP 1206453 A JP1206453 A JP 1206453A JP 20645389 A JP20645389 A JP 20645389A JP H0369000 A JPH0369000 A JP H0369000A
- Authority
- JP
- Japan
- Prior art keywords
- stored
- register
- waveform
- interpolation
- rom
- 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.)
- Granted
Links
- 230000004044 response Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000005070 sampling Methods 0.000 description 5
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、波形メモリに記憶された波形データを読出し
て、楽音を発生させる装置に関し、特に波形メモリに記
憶されていない波形データを補間演算によって求めて発
生させるものに関する。
て、楽音を発生させる装置に関し、特に波形メモリに記
憶されていない波形データを補間演算によって求めて発
生させるものに関する。
[従来の技術]
従来、上記のような補間回路としては、例えば特開昭6
2−115194号公報に開示されているようなものが
ある。この補間回路の原理は、例えば第6図に示すよう
に、波形メモリには整数番地に対応する波形の振幅値を
それぞれ記憶し、振幅値が記憶されていない小数番地に
対応する振幅値P4を補間によって求める場合、各波形
の振幅値W。乃至W7及び第7図に示すようなFIR係
数係数角至f32を用い、 P 4 = W 6−f、+ W 1f5+ W 、−
r、+ W 3・f+++W4・f、、 +w、・f、
、 十W6・f2. +w、・f29の演算を行なうも
ので、このような演算を発音させる楽音のピッチに応じ
て定めた各補間点ごとに行なう。そのため、各波形振幅
値及びFIR係数をメモリに記憶させ、これらを演算す
る際に読出すことが行なわれている。
2−115194号公報に開示されているようなものが
ある。この補間回路の原理は、例えば第6図に示すよう
に、波形メモリには整数番地に対応する波形の振幅値を
それぞれ記憶し、振幅値が記憶されていない小数番地に
対応する振幅値P4を補間によって求める場合、各波形
の振幅値W。乃至W7及び第7図に示すようなFIR係
数係数角至f32を用い、 P 4 = W 6−f、+ W 1f5+ W 、−
r、+ W 3・f+++W4・f、、 +w、・f、
、 十W6・f2. +w、・f29の演算を行なうも
ので、このような演算を発音させる楽音のピッチに応じ
て定めた各補間点ごとに行なう。そのため、各波形振幅
値及びFIR係数をメモリに記憶させ、これらを演算す
る際に読出すことが行なわれている。
[発明が解決しようとする課題]
このようにして補間な行なう場合、補間に必要な波形デ
ータの数が多いので、比較的大きな容量のメモリを使用
しなければならない。ところが、このようなメモリはア
クセスに時間がかかり、ボイス数(電子楽器が同時に発
生することができる楽音の数)を増やしたり、より高精
度に補間するために1つの波形振幅値を補間により発生
させる際に使用する波形振幅値の数を増加させたりする
ことができないという問題点があった。
ータの数が多いので、比較的大きな容量のメモリを使用
しなければならない。ところが、このようなメモリはア
クセスに時間がかかり、ボイス数(電子楽器が同時に発
生することができる楽音の数)を増やしたり、より高精
度に補間するために1つの波形振幅値を補間により発生
させる際に使用する波形振幅値の数を増加させたりする
ことができないという問題点があった。
例えば、上記の例のように、1つの波形振幅値を補間に
より求めるのに8つの波形振幅値を用いる場合、メモリ
のアクセスタイムが例えば200n秒であれば、1回の
補間演算を行なうには、200n秒X 8 = 160
0n秒=1.6μ秒の時間が必要である。
より求めるのに8つの波形振幅値を用いる場合、メモリ
のアクセスタイムが例えば200n秒であれば、1回の
補間演算を行なうには、200n秒X 8 = 160
0n秒=1.6μ秒の時間が必要である。
各波形振幅値のサンプリング周波数を32KH,とする
と、サンプリング周期は約30ト秒となる。従って、l
サンプリング周期の間に補間によって発生させることが
できる楽音の数(チャンネル数)は、30÷1.6=1
8〜19となる。近年の電子楽器では、豊かな響きの楽
音を形成するために、1ボイス当りのチャンネル数を増
加させる傾向にある。
と、サンプリング周期は約30ト秒となる。従って、l
サンプリング周期の間に補間によって発生させることが
できる楽音の数(チャンネル数)は、30÷1.6=1
8〜19となる。近年の電子楽器では、豊かな響きの楽
音を形成するために、1ボイス当りのチャンネル数を増
加させる傾向にある。
また、人間が演奏を行なうのと同時に自動演奏を行なう
機能も搭載されるようになり、益々多くのチャンネルが
要求される。従って、上記のようなlサンプリング周期
間に発生させることができるチャンネル数では不足ぎみ
である。
機能も搭載されるようになり、益々多くのチャンネルが
要求される。従って、上記のようなlサンプリング周期
間に発生させることができるチャンネル数では不足ぎみ
である。
[課題を解決するための手段]
本発明は、上記の問題点を解決するためになされたもの
で、電子楽器として、波形を読出す速度は元の音高のせ
いぜい倍かそれ以下であるので、毎回補間演算を行なう
際に必要とする波形データは、その一部を更新するだけ
でよく、残りの波形データは前回読み込んだ値を使用で
きることに着目したものである0例えば、第5図におい
て。
で、電子楽器として、波形を読出す速度は元の音高のせ
いぜい倍かそれ以下であるので、毎回補間演算を行なう
際に必要とする波形データは、その一部を更新するだけ
でよく、残りの波形データは前回読み込んだ値を使用で
きることに着目したものである0例えば、第5図におい
て。
P4は上述したように、
P、 =W、−f、+W、−fIj+W2−f、+W3
−f、3+W4・f、、+W、・f2□+W6・f25
+W7・f29によって求められる0歩道アドレスを0
.25とすれば、次に補間演算する波形振幅値はPsで
あり、Ps=Wo−fo+W、−f、+W2−fI、+
W3−f、2+W4・Ls +W1f2o +Wa−
ft4 +w、−y2゜で求められ、その次に補間演算
される波形振幅値P6は、 P t、 = W *’f3+ w2−f?+ W*”
f1m+ W4”f+sW5・fl、 +W6・f23
+W7・fay +Wa”fzxの演算で求められる。
−f、3+W4・f、、+W、・f2□+W6・f25
+W7・f29によって求められる0歩道アドレスを0
.25とすれば、次に補間演算する波形振幅値はPsで
あり、Ps=Wo−fo+W、−f、+W2−fI、+
W3−f、2+W4・Ls +W1f2o +Wa−
ft4 +w、−y2゜で求められ、その次に補間演算
される波形振幅値P6は、 P t、 = W *’f3+ w2−f?+ W*”
f1m+ W4”f+sW5・fl、 +W6・f23
+W7・fay +Wa”fzxの演算で求められる。
ここで、P4、P5を比較すると、使用されている波形
振幅値は全て共通であり、Ps、Psを比較すると、波
形振幅値W□乃至W?は共通であり、P5ではWoを用
いているのに対し、P6ではW8を用いている。そこで
、この発明では、ROM等の波形データメモリから共通
に使用できる波形データを高速でアクセスすることがで
きるメモリに記憶させ、更新する必要がある場合に限り
、波形データメモリから読出すようにして、補間演算を
高速に行なえるようにしたものである。
振幅値は全て共通であり、Ps、Psを比較すると、波
形振幅値W□乃至W?は共通であり、P5ではWoを用
いているのに対し、P6ではW8を用いている。そこで
、この発明では、ROM等の波形データメモリから共通
に使用できる波形データを高速でアクセスすることがで
きるメモリに記憶させ、更新する必要がある場合に限り
、波形データメモリから読出すようにして、補間演算を
高速に行なえるようにしたものである。
即ち、本発明は、音高情報入力手段と、波形データを記
憶した第1のメモリと、この第1のメモリよりも高速で
アクセスすることができる読み書き可能な第2のメモリ
と、上記音高情報入力手段によって入力された音高情報
に対応した歩道アドレスを発生する手段と、上記歩道ア
ドレスを累算する手段と、上記累算されたアドレスの変
化に応じて第1の波形メモリから第2の波形メモリに波
形データを転送する手段と、第2のメモリに記憶された
上記各波形データと補間用係数とを演算することに−よ
って補間された波形データを求める演算手段とを、具備
するものである。
憶した第1のメモリと、この第1のメモリよりも高速で
アクセスすることができる読み書き可能な第2のメモリ
と、上記音高情報入力手段によって入力された音高情報
に対応した歩道アドレスを発生する手段と、上記歩道ア
ドレスを累算する手段と、上記累算されたアドレスの変
化に応じて第1の波形メモリから第2の波形メモリに波
形データを転送する手段と、第2のメモリに記憶された
上記各波形データと補間用係数とを演算することに−よ
って補間された波形データを求める演算手段とを、具備
するものである。
[作用]
本発明によれば、第2のメモリの各波形データと、補間
用係数とを演算することによって順次補間された波形デ
ータが求められ、この補間された波形データが求められ
ていくにつれて1歩道アドレスが累算され、その累算値
が第2の波形メモリの波形データを更新する時期を表わ
したとき、転送手段によって第1のメモリから第2のメ
モリへ波形データが転送される。
用係数とを演算することによって順次補間された波形デ
ータが求められ、この補間された波形データが求められ
ていくにつれて1歩道アドレスが累算され、その累算値
が第2の波形メモリの波形データを更新する時期を表わ
したとき、転送手段によって第1のメモリから第2のメ
モリへ波形データが転送される。
[実施例]
この実施例の電子回路は、第3図に示すようにキーボー
ド2、アサイナ4及びチャンネル6.6・・・・を備え
ている。キーボード2は、演奏者が鍵盤の鍵またはギタ
ーシンセサイザの弦を操作したことに応動して演奏情報
を発生し、アサイナ4に供給するものである。アサイナ
4は、各チャンネル6のうち空いているものに、キーボ
ード2から供給された演奏情報を割り当てるものである
。なお、キーボード2に代えて、演奏者の演奏に応じて
演奏情報を記録し、後にその演奏情報をアサイナ4に供
給するシーケンサを使用することもできる。
ド2、アサイナ4及びチャンネル6.6・・・・を備え
ている。キーボード2は、演奏者が鍵盤の鍵またはギタ
ーシンセサイザの弦を操作したことに応動して演奏情報
を発生し、アサイナ4に供給するものである。アサイナ
4は、各チャンネル6のうち空いているものに、キーボ
ード2から供給された演奏情報を割り当てるものである
。なお、キーボード2に代えて、演奏者の演奏に応じて
演奏情報を記録し、後にその演奏情報をアサイナ4に供
給するシーケンサを使用することもできる。
第1図は1つのチャンネル6の詳細なブロック図で、こ
のチャンネル6は波形ROM8を有している。この波形
ROMBは、第6図に示す楽音波形のサンプリング値(
波形データ)Wo、Wl、W2、W z 、W 4 、
W s、W6、W、、・・・・・・・・をアドレス0.
1.2.3.4%5,6.7・・・・・・・に順に記憶
しているものである。
のチャンネル6は波形ROM8を有している。この波形
ROMBは、第6図に示す楽音波形のサンプリング値(
波形データ)Wo、Wl、W2、W z 、W 4 、
W s、W6、W、、・・・・・・・・をアドレス0.
1.2.3.4%5,6.7・・・・・・・に順に記憶
しているものである。
さらに、チャンネル6は、RAMl0を有している。こ
のRA M 10はアドレスOから7までの8つの領域
を有し、補間演算に用いられる波形振幅値が記憶されて
いる。なお、波形ROM8は、そのアクセスタイムが例
えば2000秒のものであり、RAMl0は例えば40
n秒のもので、RA M 10の方が高速にアクセスす
ることができるものである。
のRA M 10はアドレスOから7までの8つの領域
を有し、補間演算に用いられる波形振幅値が記憶されて
いる。なお、波形ROM8は、そのアクセスタイムが例
えば2000秒のものであり、RAMl0は例えば40
n秒のもので、RA M 10の方が高速にアクセスす
ることができるものである。
また、チャンネル6は、FIRROM12を有している
。このFIRROM12は、第7図に示したような補間
用のFIR係数f□乃至f31を各アドレスに記憶して
いるものであるが、後述する補間演算の際に、これら係
数を読出すための構成を簡略化するために、アドレスの
小さなものから順にf8乃至f31を記憶させるのでは
なく、第4図に示すようにアドレス0にf。を、アドレ
ス0.25にf3を。
。このFIRROM12は、第7図に示したような補間
用のFIR係数f□乃至f31を各アドレスに記憶して
いるものであるが、後述する補間演算の際に、これら係
数を読出すための構成を簡略化するために、アドレスの
小さなものから順にf8乃至f31を記憶させるのでは
なく、第4図に示すようにアドレス0にf。を、アドレ
ス0.25にf3を。
アドレス0.5にf2を、アドレス0.75にflを、
アドレス1.00にf4というように、小数値がOでな
いアドレスにおいては前後をひっくり返して記憶させて
いる。
アドレス1.00にf4というように、小数値がOでな
いアドレスにおいては前後をひっくり返して記憶させて
いる。
補間な行なうためには、波形ROMB、FIRROM
12、RA M 10や、後述する各種機器を制御する
必要があるが、その制御はタイミングジェネレータ18
が発生する各種制御信号によって行なわれる。タイミン
グジェネレータ18は、これら各種信号を、クロックジ
ェネレータ(図示せず)からのckクロックや、鍵盤の
鍵等が操作されたときに、アサイナ4が発生するボイス
オン信号や、後述する第1加算器20が発生するキャリ
イ信号に基づいて発生する。
12、RA M 10や、後述する各種機器を制御する
必要があるが、その制御はタイミングジェネレータ18
が発生する各種制御信号によって行なわれる。タイミン
グジェネレータ18は、これら各種信号を、クロックジ
ェネレータ(図示せず)からのckクロックや、鍵盤の
鍵等が操作されたときに、アサイナ4が発生するボイス
オン信号や、後述する第1加算器20が発生するキャリ
イ信号に基づいて発生する。
ボイスオン信号が立上ると、SWI信号がrlJとなり
、これに応じてスイッチ22の接触子22aがrlJ側
の接点22bに切り換わり、スタートアドレス部14の
整数部14aに記憶されているスタートアドレスがレジ
スタ24に供給され、記憶される。
、これに応じてスイッチ22の接触子22aがrlJ側
の接点22bに切り換わり、スタートアドレス部14の
整数部14aに記憶されているスタートアドレスがレジ
スタ24に供給され、記憶される。
一方、SWI信号と同期してrlJとなったSW3信号
によってスイッチ38の接触子38aがrlJ側接点3
8bに切り換わり、スタートアドレス部14の小数部1
4bの記憶値がレジスタ40に供給され記憶される。
によってスイッチ38の接触子38aがrlJ側接点3
8bに切り換わり、スタートアドレス部14の小数部1
4bの記憶値がレジスタ40に供給され記憶される。
これらSWI信号、SW3信号は、ボイスオン信号が立
ち上ったときのみrlJとなり1次にボイスオン信号が
立ち上るまでスイッチ22の接触子22a、スイッチ3
8の接触子38aは、それぞれ「0」側接点22c、3
3cに切り換わった状態を雑持する。
ち上ったときのみrlJとなり1次にボイスオン信号が
立ち上るまでスイッチ22の接触子22a、スイッチ3
8の接触子38aは、それぞれ「0」側接点22c、3
3cに切り換わった状態を雑持する。
なお、スタートアドレス部14には、読み出される波形
が記憶された領域の先頭アドレスが記憶される。複数の
音色に対応するそれぞれの波形は、1つのメモリの特定
の領域に記憶され2例えば、演奏者が音色を選択するこ
とにより、その音色の波形を記憶した領域の先頭アドレ
スが決まる。複数周期の波形を記憶し、そのうちの特定
の周期を繰返し読み出す場合には、波形のゼロクロス点
がスタートアドレスとして指定されることがあり、この
場合にはスタートアドレスは小数値をもっことがある。
が記憶された領域の先頭アドレスが記憶される。複数の
音色に対応するそれぞれの波形は、1つのメモリの特定
の領域に記憶され2例えば、演奏者が音色を選択するこ
とにより、その音色の波形を記憶した領域の先頭アドレ
スが決まる。複数周期の波形を記憶し、そのうちの特定
の周期を繰返し読み出す場合には、波形のゼロクロス点
がスタートアドレスとして指定されることがあり、この
場合にはスタートアドレスは小数値をもっことがある。
以下、このチャンネル6の動作を第2図に示すタイミン
グ図を参照しながら説明する。チャンネル6では、波形
振幅値とFIR係数とを用いて、上述した式に基づいて
8点福間を行なうものであるが、説明の都合上、第6図
に示すアドレス3.75のP4を補間によって求め1次
にアドレス4.00のP5を、その次にアドレス4.2
5のP6を補間するものとする。従って、補間によって
求められる波形データのアドレスは、3.75から0.
25ずつ増加していくことになる。すなわち、演奏情報
により指定された音高に対応するフェーズインクリメン
トが0.25であり、ある時刻にP4を補間により求め
るものとする。
グ図を参照しながら説明する。チャンネル6では、波形
振幅値とFIR係数とを用いて、上述した式に基づいて
8点福間を行なうものであるが、説明の都合上、第6図
に示すアドレス3.75のP4を補間によって求め1次
にアドレス4.00のP5を、その次にアドレス4.2
5のP6を補間するものとする。従って、補間によって
求められる波形データのアドレスは、3.75から0.
25ずつ増加していくことになる。すなわち、演奏情報
により指定された音高に対応するフェーズインクリメン
トが0.25であり、ある時刻にP4を補間により求め
るものとする。
また、第2図(h)に示すように0番目のckクロック
が立ち上がるごとにSW2信号がrlJとなり、スイッ
チ28の接触子28aがrOJ側接点28cから「1」
側接点28bに切り換わり、モジュロ8のポインタカウ
ンタ30のカウント値がレジスタ32に供給される。そ
して、1番目のckクロックが立ち上がることによって
、レジスタ32にそのポインタカウンタ32のカウント
値が記憶される。
が立ち上がるごとにSW2信号がrlJとなり、スイッ
チ28の接触子28aがrOJ側接点28cから「1」
側接点28bに切り換わり、モジュロ8のポインタカウ
ンタ30のカウント値がレジスタ32に供給される。そ
して、1番目のckクロックが立ち上がることによって
、レジスタ32にそのポインタカウンタ32のカウント
値が記憶される。
今、P、を補間演算する場合を考える。このときRA
M 10にはW。乃至W6か、レジスタ24には第2図
(C)に示すようにrOJが、レジスタ40には同図(
0)に示すようにr O,75Jがそれぞれ記憶されて
いるとする。レジスタ24の記憶値「0」は+7加算器
26によって+7されて、第2図(d)に示すように波
形ROM8にアドレスとして供給される。その結果、同
図(e)に示すように所定のアクセスタイムの後に、波
形ROM8の出力にアドレス7に記憶されているW7が
発生し、RA M 10の入力とスイッチ34bのrl
J側接点34bに供給される。
M 10にはW。乃至W6か、レジスタ24には第2図
(C)に示すようにrOJが、レジスタ40には同図(
0)に示すようにr O,75Jがそれぞれ記憶されて
いるとする。レジスタ24の記憶値「0」は+7加算器
26によって+7されて、第2図(d)に示すように波
形ROM8にアドレスとして供給される。その結果、同
図(e)に示すように所定のアクセスタイムの後に、波
形ROM8の出力にアドレス7に記憶されているW7が
発生し、RA M 10の入力とスイッチ34bのrl
J側接点34bに供給される。
また、レジスタ40の記憶値r O,75JはFIRR
OM12に、そのアドレスの小数部として供給される。
OM12に、そのアドレスの小数部として供給される。
そして、第1番目のckクロックが立ち上ったとき、上
述したようにレジスタ32の記憶値はrOJとなり、こ
れがRA M 10にアドレスとして供給される。その
結果、第2図(k)に示すように短いアクセスタイムで
RA M 10からW。が読み出される。このとき第2
図(幻に示すようにSW4信号がrOJであることによ
って接触子34aがrOJ側接点34cに切り換わって
いるスイッチ34を介してレジスタ36にW。が供給さ
れる。このレジスタ36は第2図(m)に示すように第
2番目のckクロックに応動してW。を記憶する。
述したようにレジスタ32の記憶値はrOJとなり、こ
れがRA M 10にアドレスとして供給される。その
結果、第2図(k)に示すように短いアクセスタイムで
RA M 10からW。が読み出される。このとき第2
図(幻に示すようにSW4信号がrOJであることによ
って接触子34aがrOJ側接点34cに切り換わって
いるスイッチ34を介してレジスタ36にW。が供給さ
れる。このレジスタ36は第2図(m)に示すように第
2番目のckクロックに応動してW。を記憶する。
また、第1番目のckクロックが立ち上ったとき、8モ
ジユロのFカウンタ42のカウント値が第2図(p)に
示すように「0」とされ、このカウント値がFIRRO
M12にアドレスの整数部として供給される。F I
RROM12には、小数部としてr O,75Jが供給
されているので、結局アドレス0.75からFIR係数
f1が読み出され、第2図(1)に示すように第2番目
のckクロックの立ち上がりに応動して、レジスタ44
に記憶される。
ジユロのFカウンタ42のカウント値が第2図(p)に
示すように「0」とされ、このカウント値がFIRRO
M12にアドレスの整数部として供給される。F I
RROM12には、小数部としてr O,75Jが供給
されているので、結局アドレス0.75からFIR係数
f1が読み出され、第2図(1)に示すように第2番目
のckクロックの立ち上がりに応動して、レジスタ44
に記憶される。
このレジスタ44の記憶値flとレジスタ36の記憶値
Woとは乗算器46によって乗算され、その乗算値IP
、0は第2図(u)に示すように第3番目のckクロッ
クの立ち上がりに応動してレジスタ48に記憶され、第
2加算器50を介してレジスタ52に供給され、第2図
(W)に示すように第4番目のckクロックに応動して
レジスタ52に記憶される。
Woとは乗算器46によって乗算され、その乗算値IP
、0は第2図(u)に示すように第3番目のckクロッ
クの立ち上がりに応動してレジスタ48に記憶され、第
2加算器50を介してレジスタ52に供給され、第2図
(W)に示すように第4番目のckクロックに応動して
レジスタ52に記憶される。
そして、第2番目のckクロックが立上ったとき、SW
2信号が「0」であるのでスイッチ28の接触子28a
は「0」側接点28cに切り換わっており、レジスタ3
2の記憶値「O」が+1加算器54で+1されたものr
lJかレジスタ32の入力側に供給されており、これが
レジスタ32に記憶され、上述したのと同様にして、R
A M 10のアドレスlからWlが読出され、レジス
タ36に記憶される。−方、第2番目のckクロックの
立上りに応動してFカウンタ42のカウント値はrlJ
となり、これがFIRROM12のアドレスの整数値と
して与えられる。このとき、レジスタ40の値は0.7
5のままであるので、FIRROM12のアドレス1.
75からFIR係数f5が読出され、レジスタ44に記
憶される。そして、上述したのと同様にW、とf5との
乗算が乗算器46において行なわれ、その乗算値IPO
Iはレジスタ48に記憶され、第2加算器50において
アンドゲート56を介して供給されたレジスタ52の記
憶値lPo0と加算されて、第2図(W)に示すように
レジスタ52に記憶される。
2信号が「0」であるのでスイッチ28の接触子28a
は「0」側接点28cに切り換わっており、レジスタ3
2の記憶値「O」が+1加算器54で+1されたものr
lJかレジスタ32の入力側に供給されており、これが
レジスタ32に記憶され、上述したのと同様にして、R
A M 10のアドレスlからWlが読出され、レジス
タ36に記憶される。−方、第2番目のckクロックの
立上りに応動してFカウンタ42のカウント値はrlJ
となり、これがFIRROM12のアドレスの整数値と
して与えられる。このとき、レジスタ40の値は0.7
5のままであるので、FIRROM12のアドレス1.
75からFIR係数f5が読出され、レジスタ44に記
憶される。そして、上述したのと同様にW、とf5との
乗算が乗算器46において行なわれ、その乗算値IPO
Iはレジスタ48に記憶され、第2加算器50において
アンドゲート56を介して供給されたレジスタ52の記
憶値lPo0と加算されて、第2図(W)に示すように
レジスタ52に記憶される。
以下、同様にしてckクロックが立上るごとに、レジス
タ32の記憶値及びFカウンタ42のカウント値が1ず
つ大きくなり、RA M 10のアドレス2、3.4.
5.6からW2、W3、W4、W5、W6が読出される
と共に、F I RROM12のアドレス2.75.3
.75.4.75.5.75.6.75からFIR係数
f9、f13、fl?、f、、、f□が順次読出され、
それぞれW2とfg、W3とf□3、W4とfxy 、
Wsとf21.W6とf□が乗算され、これらの累算
値がレジスタ52に記憶される。
タ32の記憶値及びFカウンタ42のカウント値が1ず
つ大きくなり、RA M 10のアドレス2、3.4.
5.6からW2、W3、W4、W5、W6が読出される
と共に、F I RROM12のアドレス2.75.3
.75.4.75.5.75.6.75からFIR係数
f9、f13、fl?、f、、、f□が順次読出され、
それぞれW2とfg、W3とf□3、W4とfxy 、
Wsとf21.W6とf□が乗算され、これらの累算
値がレジスタ52に記憶される。
そして、2度目に第0番目のckクロックが立上ったと
き、レジスタ32の記憶値は7となり、このときSW4
信号が「1」となり、スイッチ34の接触子34aが「
1」側接点34b側に切り換わり、波形ROMBからW
7がレジスタ36に供給され、2度目に第1番目のck
クロックが立上ったとき、レジスタ36にW7が記憶さ
れる。そして、2度目に第0番目のckクロックが立上
ったとき、Fカウンタ42の値は7であるので、FIR
ROM12のアドレス7.25からFIR係数f29が
読出され、2度目に第1番目のckクロックが立上った
とき、レジスタ44にf119が記憶され、乗算器46
によってW7とf29との乗算がなされ、その乗算値I
P、7はレジスタ48に記憶され、レジスタ52に累算
される。この累算値が点P4の補間値であり、これは第
2図(X)に示すck3クロックに応動して第2図(y
)に示すように出力レジスタ58に記憶される。
き、レジスタ32の記憶値は7となり、このときSW4
信号が「1」となり、スイッチ34の接触子34aが「
1」側接点34b側に切り換わり、波形ROMBからW
7がレジスタ36に供給され、2度目に第1番目のck
クロックが立上ったとき、レジスタ36にW7が記憶さ
れる。そして、2度目に第0番目のckクロックが立上
ったとき、Fカウンタ42の値は7であるので、FIR
ROM12のアドレス7.25からFIR係数f29が
読出され、2度目に第1番目のckクロックが立上った
とき、レジスタ44にf119が記憶され、乗算器46
によってW7とf29との乗算がなされ、その乗算値I
P、7はレジスタ48に記憶され、レジスタ52に累算
される。この累算値が点P4の補間値であり、これは第
2図(X)に示すck3クロックに応動して第2図(y
)に示すように出力レジスタ58に記憶される。
2度目に第1番目のckクロックが立上ったとき、第2
図(n)に示すようにck2クロックが立上り、これに
よってレジスタ40の記憶値0.75とフェーズインク
リメント部16の値0.25とが第1加算器20によっ
て加算され、その加算値の小数部0.00はレジスタ4
0に記憶され、FIRROM12にアドレスの小数部と
して供給される。このとき第1加算器20は、キャリイ
を第2図(「)に示すように発生し、タイミングジェネ
レータ18に供給する。また、このときFカウンタ42
は8モジユロのカウンタであるので記憶値はOで、これ
がF I RROM12にアドレスの整数部として供給
される。従って、以下上述したのと同様にして、ckク
ロックが立上るごとに、波形ROM8のアドレス信号1
.2.3.4.5.6からWo、W、、W2、W3、W
4、W、、W、が読出され、FIRROM12のアドレ
ス0.00.18口0.2.00.3.00.4.00
.5.00.6.00からFIR係数f、、 f4、f
6、Lx、f16、r20. b4が読出され、乗算か
行なわれる。そして、3度目に第0番目のckクロック
が立上ったとき、上述したのと同様にスイッチ34が切
り換わり、W、がレジスタ36に供給され、またFIR
ROM12からf28が読出され、W7とf。とが乗算
される。このようにして得られた各乗算値は、累算され
、出力レジスタに記憶される。この出力レジスタに記憶
値がP5の補間値である。
図(n)に示すようにck2クロックが立上り、これに
よってレジスタ40の記憶値0.75とフェーズインク
リメント部16の値0.25とが第1加算器20によっ
て加算され、その加算値の小数部0.00はレジスタ4
0に記憶され、FIRROM12にアドレスの小数部と
して供給される。このとき第1加算器20は、キャリイ
を第2図(「)に示すように発生し、タイミングジェネ
レータ18に供給する。また、このときFカウンタ42
は8モジユロのカウンタであるので記憶値はOで、これ
がF I RROM12にアドレスの整数部として供給
される。従って、以下上述したのと同様にして、ckク
ロックが立上るごとに、波形ROM8のアドレス信号1
.2.3.4.5.6からWo、W、、W2、W3、W
4、W、、W、が読出され、FIRROM12のアドレ
ス0.00.18口0.2.00.3.00.4.00
.5.00.6.00からFIR係数f、、 f4、f
6、Lx、f16、r20. b4が読出され、乗算か
行なわれる。そして、3度目に第0番目のckクロック
が立上ったとき、上述したのと同様にスイッチ34が切
り換わり、W、がレジスタ36に供給され、またFIR
ROM12からf28が読出され、W7とf。とが乗算
される。このようにして得られた各乗算値は、累算され
、出力レジスタに記憶される。この出力レジスタに記憶
値がP5の補間値である。
ところで、3度目に第0番目のckクロックが立上った
とき、先にキャリイ信号が発生していることによりRA
M 10に第2図(j)に示すように書込み信号が供
給される。このときRA M 10にはレジスタ32か
らアドレス信号として7が供給され、かつ入力信号とし
てW7が供給されているので、RA M 10のアドレ
ス7にW?が記憶される。そして、3度目の第1番目の
ckクロックが立上ったとき、先にキャリイ信号が発生
していることによりcklクロックが立上り、これによ
ってポインタカウンタ30の値は、1歩進して1となる
。このときSW2信号も「1」となるのでスイッチ28
を介してこの「1」がレジスタ32に供給され、第3度
目の第1番目のckクロックの立上りに応動してレジス
タ32に記憶される。従って、以下ckクロックが発生
するごとに、レジスタ32はrlJ、「2」、「3」と
言う順に変化し、RA M 10からはW□、W 2
、W 3が読出される。
とき、先にキャリイ信号が発生していることによりRA
M 10に第2図(j)に示すように書込み信号が供
給される。このときRA M 10にはレジスタ32か
らアドレス信号として7が供給され、かつ入力信号とし
てW7が供給されているので、RA M 10のアドレ
ス7にW?が記憶される。そして、3度目の第1番目の
ckクロックが立上ったとき、先にキャリイ信号が発生
していることによりcklクロックが立上り、これによ
ってポインタカウンタ30の値は、1歩進して1となる
。このときSW2信号も「1」となるのでスイッチ28
を介してこの「1」がレジスタ32に供給され、第3度
目の第1番目のckクロックの立上りに応動してレジス
タ32に記憶される。従って、以下ckクロックが発生
するごとに、レジスタ32はrlJ、「2」、「3」と
言う順に変化し、RA M 10からはW□、W 2
、W 3が読出される。
また、3度目に第0番目のckクロックが立上ったとき
、先にキャリイ信号が立上っていることにより、ckO
クロック信号が立上り、レジスタ24の記憶値は、+1
加算器25によって1歩進してrlJとなり、これが+
7加算器26で7加算され、「8」となって波形ROM
8に供給される。
、先にキャリイ信号が立上っていることにより、ckO
クロック信号が立上り、レジスタ24の記憶値は、+1
加算器25によって1歩進してrlJとなり、これが+
7加算器26で7加算され、「8」となって波形ROM
8に供給される。
その結果、波形ROM8からはW8が読出される。
また、3度目の第1番目のckクロックが立上ったとき
、レジスタ40の記憶値0.00とフェーズインクリメ
ント部の値0.25とが第1の加算器20で加算され、
その加算値0.25かレジスタ40に記憶される。なお
、このときには桁上げは発生しないので、キャリイは消
失する。従って、以後ckクロックが発生するごとに、
F I RROM12のアドレス0.25.1.25.
2−25.3.25.4.25.5.25.6.25か
らf3、f7、fll、fl5、h9、ft1.ft1
3が読出される。以下、上述したのと同様にしてW 、
、W 、、W、、W4、Ws、W6、W7とf3、ft
、f□、ft8、ft9、f□、f25とがそれぞれ乗
算され、また波形ROM8からのW8とFIRROM
12からのft9とが乗算される。これら乗算値が累算
されて、P6の補間値が求められる。
、レジスタ40の記憶値0.00とフェーズインクリメ
ント部の値0.25とが第1の加算器20で加算され、
その加算値0.25かレジスタ40に記憶される。なお
、このときには桁上げは発生しないので、キャリイは消
失する。従って、以後ckクロックが発生するごとに、
F I RROM12のアドレス0.25.1.25.
2−25.3.25.4.25.5.25.6.25か
らf3、f7、fll、fl5、h9、ft1.ft1
3が読出される。以下、上述したのと同様にしてW 、
、W 、、W、、W4、Ws、W6、W7とf3、ft
、f□、ft8、ft9、f□、f25とがそれぞれ乗
算され、また波形ROM8からのW8とFIRROM
12からのft9とが乗算される。これら乗算値が累算
されて、P6の補間値が求められる。
上記の実施例では、レジスタ40の記憶値をそのままF
IRROM12の小数アドレスとして使用するために、
F I RROM12に第4図に示すように各係数を記
憶させたが、FIRROM12に各係数を第6図に示す
ようにflから順に記憶させる場合には、レジスタ40
の出力を反転器によって反転させてFIRROM12に
供給すればよい、ただし、この場合、単なる反転では1
の補数よりも小さいので、各FIR係数はアドレスをず
らせて記憶させる。上記の実施例では、波形ROM8に
波形振幅値を波形データとしてそのまま記憶させたが、
例えば上述した特開昭62−115194号公報に開示
されているように各波形振幅値間の差分値(第6図に示
すdOldi、d2・・・・)を波形データとして記憶
させてもよい。その場合、FIRROM12には各FI
R係数の積分値を記憶させる必要がある。
IRROM12の小数アドレスとして使用するために、
F I RROM12に第4図に示すように各係数を記
憶させたが、FIRROM12に各係数を第6図に示す
ようにflから順に記憶させる場合には、レジスタ40
の出力を反転器によって反転させてFIRROM12に
供給すればよい、ただし、この場合、単なる反転では1
の補数よりも小さいので、各FIR係数はアドレスをず
らせて記憶させる。上記の実施例では、波形ROM8に
波形振幅値を波形データとしてそのまま記憶させたが、
例えば上述した特開昭62−115194号公報に開示
されているように各波形振幅値間の差分値(第6図に示
すdOldi、d2・・・・)を波形データとして記憶
させてもよい。その場合、FIRROM12には各FI
R係数の積分値を記憶させる必要がある。
また上記の実施例では、フェーズインクリメントを0.
25と1より小さくしたので、RA M 10には波形
振幅値を1つだけ更新する場合と、更新しない場合とが
あったが、フェーズインクリメントを1以上2以下とし
た場合、RA M 10に1だけ更新すればよい場合と
2つ更新する場合とがある。
25と1より小さくしたので、RA M 10には波形
振幅値を1つだけ更新する場合と、更新しない場合とが
あったが、フェーズインクリメントを1以上2以下とし
た場合、RA M 10に1だけ更新すればよい場合と
2つ更新する場合とがある。
例えば、第5図にP4をスタートアドレスとして、1.
25づつフェーズインクリメントするとすれば、補間す
る波形データはアドレスが3.75.5.00.6.2
5のp、、p、、pyとなり、p、、pつ、Pyはそれ
ぞれ P 4 = W □−fl + W 1−f、+ W
、−r、+ W 3”fs++W4・f、、+W、・f
2□+W6・f、、+W、・ft9p、=w、・fo+
Wt◆f、+W、・f、+W4・fl2” W 1ft
s + W(、・f2゜+W7・ft4 +Waf*
aP y = W 1fs+ W 4・fy+W、−
f、、 +w、・f4+VIt・fI@ +W1f
2i + Ws・ft7 +Wtofsiの演算に
よって求められる poを演算した後、Pyを演算する
ためには、W9、W□。が新たに必要である。そこで、
第5図に示すように波形ROM8とRA M 10との
間にレジスタ60を新たに設け、このレジスタ60の出
力をRAMl0の入力側に供給すると共に、新たに設け
たスイッチ62の「0」側接点62cに供給し、波形R
OM8の出力をスイッチ62の「1」側接点62bに供
給し、スイッチ62の接触子62aをスイッチ34の「
1」側接点34bに接続しである。そして、例えばP4
の演算を行なう際、RA M 10にW。乃至W6が記
憶されているとすると、波形ROM8からW7を読出し
て、これをレジスタ60に記憶させる。そして、W7と
ft9とを乗算する際に、スイッチ34の接触子34a
をrlJ側接点34bに切り換え、レジスタ36に記憶
させると共に、RA M 10にW7を記憶させる。
25づつフェーズインクリメントするとすれば、補間す
る波形データはアドレスが3.75.5.00.6.2
5のp、、p、、pyとなり、p、、pつ、Pyはそれ
ぞれ P 4 = W □−fl + W 1−f、+ W
、−r、+ W 3”fs++W4・f、、+W、・f
2□+W6・f、、+W、・ft9p、=w、・fo+
Wt◆f、+W、・f、+W4・fl2” W 1ft
s + W(、・f2゜+W7・ft4 +Waf*
aP y = W 1fs+ W 4・fy+W、−
f、、 +w、・f4+VIt・fI@ +W1f
2i + Ws・ft7 +Wtofsiの演算に
よって求められる poを演算した後、Pyを演算する
ためには、W9、W□。が新たに必要である。そこで、
第5図に示すように波形ROM8とRA M 10との
間にレジスタ60を新たに設け、このレジスタ60の出
力をRAMl0の入力側に供給すると共に、新たに設け
たスイッチ62の「0」側接点62cに供給し、波形R
OM8の出力をスイッチ62の「1」側接点62bに供
給し、スイッチ62の接触子62aをスイッチ34の「
1」側接点34bに接続しである。そして、例えばP4
の演算を行なう際、RA M 10にW。乃至W6が記
憶されているとすると、波形ROM8からW7を読出し
て、これをレジスタ60に記憶させる。そして、W7と
ft9とを乗算する際に、スイッチ34の接触子34a
をrlJ側接点34bに切り換え、レジスタ36に記憶
させると共に、RA M 10にW7を記憶させる。
P8を演算する際には、同様にW、1がレジスタ60に
記憶され、W6とrtaと乗算するときに上述したのと
同様にレジスタ36に記憶され、RA M 10にW、
が記憶される。そして、Pyを演算する際には、W9が
レジスタ60に記憶され、このとき波形ROMBからW
、。が読出されスイッチ62の「1」側接点に供給され
ている。そして、W9とft7とを乗算する際には、上
述したのと同様にレジスタ36にW9が記憶され、W、
。とf31とを乗算する際には、スイッチ62の接触子
62aがrlJ側接点62bに切り換わり、スイッチ3
4を介してレジスタ36に記憶される。また、このとき
レジスタ60にWl。が記憶される。このような制御は
、フェーズインクリメント部16に記憶されたフェーズ
インクリメントの小数部とスタートアドレスの小数部と
を加算している第1加算器20が、例えばキャリイを発
生したことに基づいて(このキャリイはP8を補間演算
する際に発生する。)行なわれる。
記憶され、W6とrtaと乗算するときに上述したのと
同様にレジスタ36に記憶され、RA M 10にW、
が記憶される。そして、Pyを演算する際には、W9が
レジスタ60に記憶され、このとき波形ROMBからW
、。が読出されスイッチ62の「1」側接点に供給され
ている。そして、W9とft7とを乗算する際には、上
述したのと同様にレジスタ36にW9が記憶され、W、
。とf31とを乗算する際には、スイッチ62の接触子
62aがrlJ側接点62bに切り換わり、スイッチ3
4を介してレジスタ36に記憶される。また、このとき
レジスタ60にWl。が記憶される。このような制御は
、フェーズインクリメント部16に記憶されたフェーズ
インクリメントの小数部とスタートアドレスの小数部と
を加算している第1加算器20が、例えばキャリイを発
生したことに基づいて(このキャリイはP8を補間演算
する際に発生する。)行なわれる。
[発明の効果]
以上のように、本発明によれば、毎回補間演算をする際
に必要となる波形データは、その一部を更新するだけで
よく、残りの波形データは前回に読み込んだ波形データ
を使用できるのを利用して、これらの波形データを高速
でアクセスすることができる第2のメモリ(実施例でい
えばRAM)に記憶させ、更新が必要なときに限り、第
1のメモリ(実施例でいえば波形ROM)から読出すよ
うにしているので、高速で補間演算を行なうことができ
る。
に必要となる波形データは、その一部を更新するだけで
よく、残りの波形データは前回に読み込んだ波形データ
を使用できるのを利用して、これらの波形データを高速
でアクセスすることができる第2のメモリ(実施例でい
えばRAM)に記憶させ、更新が必要なときに限り、第
1のメモリ(実施例でいえば波形ROM)から読出すよ
うにしているので、高速で補間演算を行なうことができ
る。
第1図は本発明による補間回路の1実施例のブロック図
、第2図は同実施例のタイくング図、第3図は同実施例
を使用した電子楽器の概略ブロック図、第4図は同実施
例のF I RROMでのFIR係数の記憶状態を示す
図、第5図は同実施例の変形例の要部のブロック図、第
6図は同実施例によって補間される波形を示す図、第7
図は従来の補間演算によって使用されるFIR係数を示
す図である。 8・・・・波形ROM(第1のメモリ)、lO・・・・
RAM(第2のメモリ)、16・・・・フェーズインク
リメント部(歩進アドレス発生手段)
、第2図は同実施例のタイくング図、第3図は同実施例
を使用した電子楽器の概略ブロック図、第4図は同実施
例のF I RROMでのFIR係数の記憶状態を示す
図、第5図は同実施例の変形例の要部のブロック図、第
6図は同実施例によって補間される波形を示す図、第7
図は従来の補間演算によって使用されるFIR係数を示
す図である。 8・・・・波形ROM(第1のメモリ)、lO・・・・
RAM(第2のメモリ)、16・・・・フェーズインク
リメント部(歩進アドレス発生手段)
Claims (1)
- (1)音高情報入力手段と、波形データを記憶した第1
のメモリと、この第1のメモリよりも高速でアクセスす
ることができる読み書き可能な第2のメモリと、上記音
高情報入力手段によって入力された音高情報に対応した
歩進アドレスを発生する手段と、上記歩進アドレスを累
算する手段と、上記累算されたアドレスの変化に応じて
第1の波形メモリから第2の波形メモリに波形データを
転送する手段と、第2のメモリに記憶された上記各波形
データと補間用係数とを演算することによって補間され
た波形データを求める演算手段とを、具備する電子楽器
の補間回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1206453A JP2736550B2 (ja) | 1989-08-08 | 1989-08-08 | 電子楽器の補間回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1206453A JP2736550B2 (ja) | 1989-08-08 | 1989-08-08 | 電子楽器の補間回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0369000A true JPH0369000A (ja) | 1991-03-25 |
JP2736550B2 JP2736550B2 (ja) | 1998-04-02 |
Family
ID=16523629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1206453A Expired - Lifetime JP2736550B2 (ja) | 1989-08-08 | 1989-08-08 | 電子楽器の補間回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2736550B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0512324A (ja) * | 1991-07-04 | 1993-01-22 | Yamaha Corp | デジタル信号処理プロセツサ |
JPH09146549A (ja) * | 1996-08-27 | 1997-06-06 | Roland Corp | 遅延装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6426797U (ja) * | 1987-08-07 | 1989-02-15 |
-
1989
- 1989-08-08 JP JP1206453A patent/JP2736550B2/ja not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6426797U (ja) * | 1987-08-07 | 1989-02-15 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0512324A (ja) * | 1991-07-04 | 1993-01-22 | Yamaha Corp | デジタル信号処理プロセツサ |
US5745743A (en) * | 1991-07-04 | 1998-04-28 | Yamaha Corporation | Digital signal processor integrally incorporating a coefficient interpolator structured on a hardware basis |
JPH09146549A (ja) * | 1996-08-27 | 1997-06-06 | Roland Corp | 遅延装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2736550B2 (ja) | 1998-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0035658B1 (en) | Electronic musical instrument | |
US5340938A (en) | Tone generation apparatus with selective assignment of one of tone generation processing modes to tone generation channels | |
JP2576647B2 (ja) | 波形発生装置 | |
US4785706A (en) | Apparatus for generating a musical tone signal with tone color variations independent of tone pitch | |
US5038661A (en) | Waveform generator for electronic musical instrument | |
JPH05119777A (ja) | 電子楽器 | |
JPH0369000A (ja) | 電子楽器の補間回路 | |
JPS6362758B2 (ja) | ||
JPH02240697A (ja) | 波形データ読み出し速度変更装置 | |
JP2950461B2 (ja) | 楽音発生装置 | |
US4658691A (en) | Electronic musical instrument | |
US4354414A (en) | Constant speed polyphonic portamento system | |
USRE34481E (en) | Electronic musical instrument | |
JPH0310959B2 (ja) | ||
JP3021743B2 (ja) | 楽音合成装置 | |
US4337681A (en) | Polyphonic sliding portamento with independent ADSR modulation | |
JPS6113294A (ja) | 電子楽器 | |
JP3116447B2 (ja) | デジタル信号処理プロセッサ | |
JP2935053B2 (ja) | 電子楽器 | |
US4446769A (en) | Combination tone generator for a musical instrument | |
JP3223560B2 (ja) | 波形データ読出し装置 | |
JP2728243B2 (ja) | 電子楽器 | |
JPH0748160B2 (ja) | 電子楽器 | |
EP0255151B1 (en) | Electronic musical instrument | |
JPS583238B2 (ja) | 電子楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100116 Year of fee payment: 12 |