JPH043555B2 - - Google Patents
Info
- Publication number
- JPH043555B2 JPH043555B2 JP58136888A JP13688883A JPH043555B2 JP H043555 B2 JPH043555 B2 JP H043555B2 JP 58136888 A JP58136888 A JP 58136888A JP 13688883 A JP13688883 A JP 13688883A JP H043555 B2 JPH043555 B2 JP H043555B2
- Authority
- JP
- Japan
- Prior art keywords
- waveform
- interpolation
- address
- data
- 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
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/008—Means for controlling the transition from one tone waveform to another
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】
技術分野
この発明は電子楽器等で用いられる楽音形成装
置に関し、特にメモリに記憶した複数周期波形を
繰返し読み出して楽音形成を行なうものにおい
て、繰返し部分の波形のつながりを滑らかにした
ことに関する。
置に関し、特にメモリに記憶した複数周期波形を
繰返し読み出して楽音形成を行なうものにおい
て、繰返し部分の波形のつながりを滑らかにした
ことに関する。
従来技術
発音の立上りから発音終了に至るまでの楽音信
号の全波形を予めメモリに記憶し、これを読み出
すことにより高品質の楽音を得ようとする試みは
従来からなされている。しかし、このように全波
形を記憶する方式では、メモリ容量が膨大とな
り、コスト高になるという不都合があるほか、持
続音の発生は実質的に不可能であつた。この点に
鑑みて、全発音期間のうちの一部の複数周期波形
を波形メモリに記憶しておき、これを繰返し読み
出すことにより楽音信号を得るようにすることが
考えられているが、繰返し読み出した複数周期波
形部分を単に連続させただけでは繰返し部分相互
のつながりが不自然になり、クリツク音が発生す
るという問題があつた。そこで、繰返し部分の波
形のつながりを滑らかにするために、繰返し部分
の最初の振幅値と終りの振幅値がほぼ同一値とな
るような箇所で原波形から繰返し用の波形を切り
出すことが試みられているが、接続点を同一振幅
値とすることができてもその前後の振幅値変化に
連続性がないため繰返し波形のつなぎの部分で波
形が屈曲してしまい、不自然さが残る。また、繰
返し用波形を適切な箇所で切り出すための作業が
面倒であつた。
号の全波形を予めメモリに記憶し、これを読み出
すことにより高品質の楽音を得ようとする試みは
従来からなされている。しかし、このように全波
形を記憶する方式では、メモリ容量が膨大とな
り、コスト高になるという不都合があるほか、持
続音の発生は実質的に不可能であつた。この点に
鑑みて、全発音期間のうちの一部の複数周期波形
を波形メモリに記憶しておき、これを繰返し読み
出すことにより楽音信号を得るようにすることが
考えられているが、繰返し読み出した複数周期波
形部分を単に連続させただけでは繰返し部分相互
のつながりが不自然になり、クリツク音が発生す
るという問題があつた。そこで、繰返し部分の波
形のつながりを滑らかにするために、繰返し部分
の最初の振幅値と終りの振幅値がほぼ同一値とな
るような箇所で原波形から繰返し用の波形を切り
出すことが試みられているが、接続点を同一振幅
値とすることができてもその前後の振幅値変化に
連続性がないため繰返し波形のつなぎの部分で波
形が屈曲してしまい、不自然さが残る。また、繰
返し用波形を適切な箇所で切り出すための作業が
面倒であつた。
また、波形メモリは特定の記憶容量を持つ既製
の集積回路メモリを記憶素子として用いて作成す
るのが普通であるが、その場合、メモリの記憶領
域を無駄なく使用するために、記憶領域全域に波
形を記憶するのが好ましい。その場合、或る特定
の複数周期波形の繰返し読み出しは、読み出しア
ドレスが当該波形の記憶領域の最終アドレスに達
したときその読み出しアドレスを所定の繰返しア
ドレスに戻すことにより行なわれる。この場合
も、繰返し波形のつながりを滑らかにするため
に、最終アドレスの振幅値及び位相にほぼ等しい
アドレスを探し出し、これを繰返しアドレスとし
て選定するようにしているが、上述と同様に、つ
なぎの部分で波形が屈曲して不自然さが残るとい
う問題があると共に、適切な繰返しアドレスを探
し出すのに手間がかかるのでコスト高になつてい
た。特に、メモリサイズによつて最終アドレスの
振幅値及び位相がランダムに決定されてしまうの
で、それに対応する繰返しアドレスを探し出すの
は極めて面倒であり、かつ、波形は楽音の音高ま
たはリズム音源の種類毎にすべて別波形であるた
め、これら別波形毎に面倒な繰返しアドレス選定
を個別に行なわねばならず、極めて面倒で根気の
要る作業が要求されていた。
の集積回路メモリを記憶素子として用いて作成す
るのが普通であるが、その場合、メモリの記憶領
域を無駄なく使用するために、記憶領域全域に波
形を記憶するのが好ましい。その場合、或る特定
の複数周期波形の繰返し読み出しは、読み出しア
ドレスが当該波形の記憶領域の最終アドレスに達
したときその読み出しアドレスを所定の繰返しア
ドレスに戻すことにより行なわれる。この場合
も、繰返し波形のつながりを滑らかにするため
に、最終アドレスの振幅値及び位相にほぼ等しい
アドレスを探し出し、これを繰返しアドレスとし
て選定するようにしているが、上述と同様に、つ
なぎの部分で波形が屈曲して不自然さが残るとい
う問題があると共に、適切な繰返しアドレスを探
し出すのに手間がかかるのでコスト高になつてい
た。特に、メモリサイズによつて最終アドレスの
振幅値及び位相がランダムに決定されてしまうの
で、それに対応する繰返しアドレスを探し出すの
は極めて面倒であり、かつ、波形は楽音の音高ま
たはリズム音源の種類毎にすべて別波形であるた
め、これら別波形毎に面倒な繰返しアドレス選定
を個別に行なわねばならず、極めて面倒で根気の
要る作業が要求されていた。
また、一般に、音の立上り部分の楽音波形は複
雑に変化し、持続部分の比較的安定した波形とは
大きな差異を示している。従つて、良質な楽音発
生を行なうには、繰返し読み出しを行なうべき複
数周期波形とは別途に立上り部分の複数周期波形
を準備しておき、この立上り部分を1回読み出し
た後、繰返し部分を繰返し読み出すようにするの
がよい。その場合も、立上り部分と繰返し部分の
つながりが不自然にならないようにする必要があ
る。
雑に変化し、持続部分の比較的安定した波形とは
大きな差異を示している。従つて、良質な楽音発
生を行なうには、繰返し読み出しを行なうべき複
数周期波形とは別途に立上り部分の複数周期波形
を準備しておき、この立上り部分を1回読み出し
た後、繰返し部分を繰返し読み出すようにするの
がよい。その場合も、立上り部分と繰返し部分の
つながりが不自然にならないようにする必要があ
る。
発明の目的
そこで、この発明の目的は、立上り部分の複数
周期波形を1回読み出した後、繰返し部分の複数
周期波形を繰返し読み出すようにした楽音形成装
置において、立上り部分と繰返し部分のつながり
をスムーズにすると共に繰返し部分相互のつなが
りをスムーズにするようにすることにある。ま
た、繰返し部分として用いる複数周期波形の選定
作業が極めて容易に行なえるようにすることを目
的とする。
周期波形を1回読み出した後、繰返し部分の複数
周期波形を繰返し読み出すようにした楽音形成装
置において、立上り部分と繰返し部分のつながり
をスムーズにすると共に繰返し部分相互のつなが
りをスムーズにするようにすることにある。ま
た、繰返し部分として用いる複数周期波形の選定
作業が極めて容易に行なえるようにすることを目
的とする。
発明の概要
この発明に係る楽音形成装置は、楽音の立上り
部分の複数周期波形から成る第1の波形を1通り
発生した後、この第1の波形に連続する複数周期
波形から成る第2の波形を繰返し発生する波形発
生手段と、この波形発生手段から発生された波形
データを用いて振幅変化を滑らかにする所定の補
間演算を実行する補間手段と、第2の波形の各繰
返サイクルにおける末尾の特定区間からその次の
繰返しサイクルの始まりの特定区間に至る補間区
間を指定する手段とを具備し、この補間区間では
前記補間手段で求めた波形データにもとづき楽音
を形成し、他の区間では前記波形発生手段の出力
にもとづき楽音を形成するようにしたことを特徴
とするものであり、更に、前記補間手段が、補間
次数を設定する第1の手段と、前記波形発生手段
から出力された波形サンプル振幅データを前記補
間次数に応じたサンプル数分だけ順番に加算する
第2の手段と、この第2の手段で求めた加算値を
前記第1の手段で設定された前記補間次数で割算
して平均値を求める第3の手段とを含み、この平
均値を波形データとして出力するものであること
を特徴とする。
部分の複数周期波形から成る第1の波形を1通り
発生した後、この第1の波形に連続する複数周期
波形から成る第2の波形を繰返し発生する波形発
生手段と、この波形発生手段から発生された波形
データを用いて振幅変化を滑らかにする所定の補
間演算を実行する補間手段と、第2の波形の各繰
返サイクルにおける末尾の特定区間からその次の
繰返しサイクルの始まりの特定区間に至る補間区
間を指定する手段とを具備し、この補間区間では
前記補間手段で求めた波形データにもとづき楽音
を形成し、他の区間では前記波形発生手段の出力
にもとづき楽音を形成するようにしたことを特徴
とするものであり、更に、前記補間手段が、補間
次数を設定する第1の手段と、前記波形発生手段
から出力された波形サンプル振幅データを前記補
間次数に応じたサンプル数分だけ順番に加算する
第2の手段と、この第2の手段で求めた加算値を
前記第1の手段で設定された前記補間次数で割算
して平均値を求める第3の手段とを含み、この平
均値を波形データとして出力するものであること
を特徴とする。
これを図で例示すると、波形発生手段では第1
図aのように第1の波形を発生した後第2の波形
を繰返し発生する。第2の波形の最初の振幅値及
び位相と最後の振幅値及び位相は任意に決まるの
で、繰返し発生される第2の波形相互のつながり
は不連続である。第1図bは最終的に得られる楽
音波形信号を示したもので、第2の波形の各繰返
しサイクルにおける終わりの特定区間Aとその次
の繰返しサイクルの始まりの特定区間Bでは補間
演算によつて求めた近似値による楽音波形信号が
用いられ、その他の区間では波形発生手段の出力
にもとづく楽音波形信号(第1図aの波形)が用
いられる。補間区間A,Bにおける点線は補間前
の第2の波形を示し、実線は補間によつて決定さ
れた波形を示す。特定区間A、Bは、繰返し発生
される第2の波形のつなぎ目の前後の区間であ
り、この区間で補間演算による近似値に基く波形
が用いられることにより、不連続であつたつなぎ
目を含むその前後の波形区間が滑らかに補間さ
れ、繰返し部分相互のつながりをスムーズにする
ことができる。このように補間演算によつて繰返
し部分のつながりのスムーズ化を図つたので、繰
返し部分として用いる第2の波形は、その開始点
と最終点の振幅値及び位相を厳密に合致させる必
要がなく、任意に選定することができる。従つ
て、第2の波形の選定作業が極めて容易となる。
また、第1の波形と第2の波形は元々が連続波形
であるから、立上り部分と繰返し部分のつながり
もスムーズにすることができる。
図aのように第1の波形を発生した後第2の波形
を繰返し発生する。第2の波形の最初の振幅値及
び位相と最後の振幅値及び位相は任意に決まるの
で、繰返し発生される第2の波形相互のつながり
は不連続である。第1図bは最終的に得られる楽
音波形信号を示したもので、第2の波形の各繰返
しサイクルにおける終わりの特定区間Aとその次
の繰返しサイクルの始まりの特定区間Bでは補間
演算によつて求めた近似値による楽音波形信号が
用いられ、その他の区間では波形発生手段の出力
にもとづく楽音波形信号(第1図aの波形)が用
いられる。補間区間A,Bにおける点線は補間前
の第2の波形を示し、実線は補間によつて決定さ
れた波形を示す。特定区間A、Bは、繰返し発生
される第2の波形のつなぎ目の前後の区間であ
り、この区間で補間演算による近似値に基く波形
が用いられることにより、不連続であつたつなぎ
目を含むその前後の波形区間が滑らかに補間さ
れ、繰返し部分相互のつながりをスムーズにする
ことができる。このように補間演算によつて繰返
し部分のつながりのスムーズ化を図つたので、繰
返し部分として用いる第2の波形は、その開始点
と最終点の振幅値及び位相を厳密に合致させる必
要がなく、任意に選定することができる。従つ
て、第2の波形の選定作業が極めて容易となる。
また、第1の波形と第2の波形は元々が連続波形
であるから、立上り部分と繰返し部分のつながり
もスムーズにすることができる。
以下で説明する実施例では、波形発生手段とし
て、所望の原楽音波形から立上り部分の適宜の複
数周期波形を第1の波形として切り出し、それに
続く適宜の複数周期波形を第2の波形として切り
出し、これらの第1及び第2の波形のサンプル振
幅データを連続するアドレスに予め記憶した波形
メモリが用いられる。その場合、第1の波形の最
初の振幅データを記憶したアドレスをスタートア
ドレスといい、第2の波形の最初の振幅データを
記憶したアドレスをリピートアドレス、最後の振
幅データを記憶したアドレスをエンドアドレス、
区間Aの始まりに対応するアドレスを補間開始ア
ドレス、ということにする。しかし、これに限ら
ず、データメモリと演算回路等の組合せにより、
上述の第1の波形と第2の波形と同等の波形信号
を発生するもの、あるいはその他の波形発生形式
のもの、を波形発生手段として用いてもよい。
て、所望の原楽音波形から立上り部分の適宜の複
数周期波形を第1の波形として切り出し、それに
続く適宜の複数周期波形を第2の波形として切り
出し、これらの第1及び第2の波形のサンプル振
幅データを連続するアドレスに予め記憶した波形
メモリが用いられる。その場合、第1の波形の最
初の振幅データを記憶したアドレスをスタートア
ドレスといい、第2の波形の最初の振幅データを
記憶したアドレスをリピートアドレス、最後の振
幅データを記憶したアドレスをエンドアドレス、
区間Aの始まりに対応するアドレスを補間開始ア
ドレス、ということにする。しかし、これに限ら
ず、データメモリと演算回路等の組合せにより、
上述の第1の波形と第2の波形と同等の波形信号
を発生するもの、あるいはその他の波形発生形式
のもの、を波形発生手段として用いてもよい。
更に、この発明の別の観点によれば、上述のよ
うな補間演算を事前に行ない、その結果得た波形
振幅データを波形メモリに予め記憶しておくこと
により、上述と同様の効果を得ることができる。
すなわち、所望の原楽音波形から複数周期波形
(例えば第1図aの第2の波形)を切り出し、切
り出した波形の末尾の特定区間(例えば第1図の
A)から始まりの特定区間(例えば第1図のB)
にかけて該区間の波形サンプル振幅データを用い
て所定の補間演算を行ない、初めに切り出した波
形から前記特定区間部分A、Bを取り除いて得ら
れる波形の最初又は最後に前記補間演算で求めた
波形サンプル振幅データから成る波形部分を接続
したものを波形メモリに予め記憶し、この波形を
繰返し読み出すようにする。この場合、立上り部
分の波形と繰返し部分の波形のつながりを滑らか
にするには、第2の波形から区間A、Bを取り除
いて得られる波形の最後に補間演算で求めた波形
部分を接続し、これを波形メモリに記憶させるの
がよい。そのようにして波形メモリに記憶すべき
繰返し波形の一例を示すと第1図bの区間Cの波
形のようであり、その場合、同図の区間Dの波形
を立上り部分の波形として波形メモリに別途記憶
させればよい。
うな補間演算を事前に行ない、その結果得た波形
振幅データを波形メモリに予め記憶しておくこと
により、上述と同様の効果を得ることができる。
すなわち、所望の原楽音波形から複数周期波形
(例えば第1図aの第2の波形)を切り出し、切
り出した波形の末尾の特定区間(例えば第1図の
A)から始まりの特定区間(例えば第1図のB)
にかけて該区間の波形サンプル振幅データを用い
て所定の補間演算を行ない、初めに切り出した波
形から前記特定区間部分A、Bを取り除いて得ら
れる波形の最初又は最後に前記補間演算で求めた
波形サンプル振幅データから成る波形部分を接続
したものを波形メモリに予め記憶し、この波形を
繰返し読み出すようにする。この場合、立上り部
分の波形と繰返し部分の波形のつながりを滑らか
にするには、第2の波形から区間A、Bを取り除
いて得られる波形の最後に補間演算で求めた波形
部分を接続し、これを波形メモリに記憶させるの
がよい。そのようにして波形メモリに記憶すべき
繰返し波形の一例を示すと第1図bの区間Cの波
形のようであり、その場合、同図の区間Dの波形
を立上り部分の波形として波形メモリに別途記憶
させればよい。
尚、本明細書における複数周期という用語に
は、周期数が丁度整数であることに限定する意味
合いは全く無く、半端な周期を含んでいてもよ
い。また、各周期の時間間隔が変動していても一
向にさしつかえない。また、第2の波形の末尾及
び始まりの特定区間とは、その区間長が一定の絶
対値で定義されていることを意味するのではな
く、その長さに関わりなく、要するに、繰返し部
分の末尾と始まりで補間演算か行なわれる区間も
しくは補間演算結果が楽音形成に利用される区間
のことをいう。
は、周期数が丁度整数であることに限定する意味
合いは全く無く、半端な周期を含んでいてもよ
い。また、各周期の時間間隔が変動していても一
向にさしつかえない。また、第2の波形の末尾及
び始まりの特定区間とは、その区間長が一定の絶
対値で定義されていることを意味するのではな
く、その長さに関わりなく、要するに、繰返し部
分の末尾と始まりで補間演算か行なわれる区間も
しくは補間演算結果が楽音形成に利用される区間
のことをいう。
実施例
第2図の実施例は、自動リズム演奏装置におけ
るリズム音(打楽器音)の形成にこの発明を適用
したものであり、補間演算として平均値演算を用
い、その場合の補間次数を補間開始時から終了ま
での間で逐次増加するようにしたものである。ま
ず、この実施例で用いる補間演算の原理を第3図
を参照して説明する。
るリズム音(打楽器音)の形成にこの発明を適用
したものであり、補間演算として平均値演算を用
い、その場合の補間次数を補間開始時から終了ま
での間で逐次増加するようにしたものである。ま
ず、この実施例で用いる補間演算の原理を第3図
を参照して説明する。
第3図において、横軸tは時間、たて軸Yは波
形振幅レベルを示す。大文字Yにサフイツクス数
字を付したものは波形メモリから読み出された各
サンプル点の波形振幅値を示し、小文字yにサフ
イツクス数字を付したものは補間演算によつて求
められた各サンプル点の波形振幅値を示す。第3
図には、或る繰返しサイクルの末尾(これに対応
するものはサフイツクス数−6乃至0が付されて
いる)とその次の繰返しサイクルの始まり(これ
に対応するものはサフイツクス数字1、2、3…
が付されている)の部分が示されている。一例と
して、補間開始アドレス(サフイツクス数字−
5)はエンドアドレス(サフイツクス数字0)の
5アドレス前である。
形振幅レベルを示す。大文字Yにサフイツクス数
字を付したものは波形メモリから読み出された各
サンプル点の波形振幅値を示し、小文字yにサフ
イツクス数字を付したものは補間演算によつて求
められた各サンプル点の波形振幅値を示す。第3
図には、或る繰返しサイクルの末尾(これに対応
するものはサフイツクス数−6乃至0が付されて
いる)とその次の繰返しサイクルの始まり(これ
に対応するものはサフイツクス数字1、2、3…
が付されている)の部分が示されている。一例と
して、補間開始アドレス(サフイツクス数字−
5)はエンドアドレス(サフイツクス数字0)の
5アドレス前である。
各サンプル点の補間値y-5、y-4、y-3…を求め
るための補間演算は、次に示すように、補間開始
アドレスから求めようとするサンプル点までの波
形振幅値Y-5、Y-4…を合計し、これを合計した
サンプル点(アドレス)の数(これを補間次数と
いう)で割算して平均値を求めるようにしたもの
である。従つて補間が進むにつれて補間次数が増
加する。
るための補間演算は、次に示すように、補間開始
アドレスから求めようとするサンプル点までの波
形振幅値Y-5、Y-4…を合計し、これを合計した
サンプル点(アドレス)の数(これを補間次数と
いう)で割算して平均値を求めるようにしたもの
である。従つて補間が進むにつれて補間次数が増
加する。
y-5=Y-5(補間開始)
y-4=Y-5+Y-4/2
y-3=Y-5+Y-4+Y-3/3
〓
y0=Y-5+Y-4+Y-3+Y-2+Y-1+Y0/6
y1=Y-5+Y-4+Y-3+Y-2+Y-1+Y0+Y1/7
y2=Y-5+Y-4+Y-3+Y-2+Y-1+Y0+Y1+Y2/8
〓
図からも明らかなように、平均化により、補間
値y-5、y-4…のカーブは波形メモリの読み出し値
Y-5、Y-4…のカーブより緩やかとなり、繰返し
波形の不連続なつなぎ目を滑らかにつなぐことが
できる。波形カーブの傾き極性は必らず切換わる
ので、やがて、補間値yxが本来の波形振幅値Yx
に近接もしくは一致する。所定の許容誤差kの範
囲内で補間値yxが本来の波形振幅値Yxに近接し
たとき、つまり|Yx−yx|≦kが成立したとき
補間を終了する。すなわち、補間を行なう区間
A、Bは補間開始アドレス(Y-5に対応するアド
レス)からエンドアドレス(Y0に対応するアド
レス)まで及びリピートアドレス(Y1に対応す
るアドレス)からYxに対応するアドレスまでで
ある。この実施例では補間開始アドレスは確定し
ているが、補間終了アドレス(Yxのアドレス)
は波形により変動する。
値y-5、y-4…のカーブは波形メモリの読み出し値
Y-5、Y-4…のカーブより緩やかとなり、繰返し
波形の不連続なつなぎ目を滑らかにつなぐことが
できる。波形カーブの傾き極性は必らず切換わる
ので、やがて、補間値yxが本来の波形振幅値Yx
に近接もしくは一致する。所定の許容誤差kの範
囲内で補間値yxが本来の波形振幅値Yxに近接し
たとき、つまり|Yx−yx|≦kが成立したとき
補間を終了する。すなわち、補間を行なう区間
A、Bは補間開始アドレス(Y-5に対応するアド
レス)からエンドアドレス(Y0に対応するアド
レス)まで及びリピートアドレス(Y1に対応す
るアドレス)からYxに対応するアドレスまでで
ある。この実施例では補間開始アドレスは確定し
ているが、補間終了アドレス(Yxのアドレス)
は波形により変動する。
第2図において、波形メモリ10には複数種類
(例えば16種類)の打楽器音の波形が記憶されて
いる。前述の通り、各種類毎の波形は立上り部分
の複数周期波形から成る第1の波形とそれに連続
する複数周期波形から成る第2の波形とから成
り、この波形を構成するサンプル点振幅データが
連続するアドレスに記憶されている。この第1及
び第2の波形は、前述の通り、所望の原打楽器音
波形の立上り時から所定区間分を切り出すことに
より、容易に得ることができる。この場合、各波
形に割当てられたメモリエリアを一杯に使用して
波形を記憶させることができる。前述の通り、各
波形毎にスタートアドレス、リピートアドレス、
補間開始アドレス、エンドアドレスが定められて
おり、これにより、一回しか読み出さない第1の
波形の記憶領域、繰返し読み出すべき第2の波形
の記憶領域、及び補間演算を開始すべきアドレ
ス、が特定される。
(例えば16種類)の打楽器音の波形が記憶されて
いる。前述の通り、各種類毎の波形は立上り部分
の複数周期波形から成る第1の波形とそれに連続
する複数周期波形から成る第2の波形とから成
り、この波形を構成するサンプル点振幅データが
連続するアドレスに記憶されている。この第1及
び第2の波形は、前述の通り、所望の原打楽器音
波形の立上り時から所定区間分を切り出すことに
より、容易に得ることができる。この場合、各波
形に割当てられたメモリエリアを一杯に使用して
波形を記憶させることができる。前述の通り、各
波形毎にスタートアドレス、リピートアドレス、
補間開始アドレス、エンドアドレスが定められて
おり、これにより、一回しか読み出さない第1の
波形の記憶領域、繰返し読み出すべき第2の波形
の記憶領域、及び補間演算を開始すべきアドレ
ス、が特定される。
波形メモリ10のメモリマツプは第4図のよう
であり、16のメモリエリアに16種類の打楽器音
(シンバル、バスドラム、スネアドラム、その他)
の波形が夫々記憶される。各波形のメモリエリア
の最初のアドレスは、絶対アドレスであるスター
トアドレスによつて夫々特定される。また各波形
のリピートアドレス、補間開始アドレス、エンド
アドレスは、その波形のメモリエリア内での相対
アドレス(スタートアドレスを0とするアドレ
ス)によつて表現されている。
であり、16のメモリエリアに16種類の打楽器音
(シンバル、バスドラム、スネアドラム、その他)
の波形が夫々記憶される。各波形のメモリエリア
の最初のアドレスは、絶対アドレスであるスター
トアドレスによつて夫々特定される。また各波形
のリピートアドレス、補間開始アドレス、エンド
アドレスは、その波形のメモリエリア内での相対
アドレス(スタートアドレスを0とするアドレ
ス)によつて表現されている。
16種類の各波形に対応する楽音信号は16の時分
割タイムスロツトに夫々割当てられて時分割で形
成される。時分割タイミングはクロツクパルスφ
によつて設定される。16進のチヤンネルカウンタ
11はクロツクパルスφをカウントし、16種類の
各波形の時分割処理チヤンネル(タイムスロツ
ト)を示すチヤンネルタイミング信号CHを出力
する。アドレスROM(リードオンリーメモリの
略)12には、16種類の各波形に対応してそのス
タートアドレス、リピートアドレス、補間開始ア
ドレス、エンドアドレスを示すデータが記憶され
ている。これらのアドレスは各波形毎に夫々個有
の値を持つ。尚、前述の通り、補間開始アドレス
はエンドアドレスよりも所定アドレス数だけ前の
アドレスである。アドレスROM12は各波形の
上記各アドレスをチヤンネルタイミング信号CH
に従つて時分割で読み出す。従つて、或る特定の
波形を処理する1つのチヤンネルタイミング(タ
イムスロツト)ではその波形に対応する上記各ア
ドレスのデータが並列的にROM12から読み出
される。
割タイムスロツトに夫々割当てられて時分割で形
成される。時分割タイミングはクロツクパルスφ
によつて設定される。16進のチヤンネルカウンタ
11はクロツクパルスφをカウントし、16種類の
各波形の時分割処理チヤンネル(タイムスロツ
ト)を示すチヤンネルタイミング信号CHを出力
する。アドレスROM(リードオンリーメモリの
略)12には、16種類の各波形に対応してそのス
タートアドレス、リピートアドレス、補間開始ア
ドレス、エンドアドレスを示すデータが記憶され
ている。これらのアドレスは各波形毎に夫々個有
の値を持つ。尚、前述の通り、補間開始アドレス
はエンドアドレスよりも所定アドレス数だけ前の
アドレスである。アドレスROM12は各波形の
上記各アドレスをチヤンネルタイミング信号CH
に従つて時分割で読み出す。従つて、或る特定の
波形を処理する1つのチヤンネルタイミング(タ
イムスロツト)ではその波形に対応する上記各ア
ドレスのデータが並列的にROM12から読み出
される。
発音トリガ回路13は、個々のチヤンネル毎
に、そのチヤンネルに割当てられた打楽器音の発
音開始を指示するためのものであり、リズムセレ
クタ14とリズムパターン発生器15を含んでい
る。周知のように、リズムセレクタ14でリズム
を選択すると、そのリズムに応じた発音パターン
で各打楽器音(そのリズムで使用する打楽器音)
の発音タイミングパルスがリズムパターン発生器
15から出力される。但し、チヤンネルタイミン
グ信号CHがリズムパターン発生器15に供給さ
れており、各打楽器音の発音タイミングパルスは
夫々が割当てられたチヤンネルのタイムスロツト
に同期して時分割で出力される。尚、発生器15
から出力される発音タイミングパルスは、発音開
始時にクロツクパルスφの1周期分の時間幅(1
タイムスロツト)でだけ“1”となる信号である
とする。リズムパターン発生器15の出力はオア
回路16を介してスタートパルスSPとして出力
される。オア回路16の他の入力には電源投入時
に16タイムスロツトの間だけ“1”となるイニシ
ヤルクリア信号が与えられる。このイニシヤルク
リア信号は、第2図の各シフトレジスタの全ステ
ージを初期リセツトするために利用される。尚、
リズムパターン発生器15はスタート/ストツプ
スイツチS/Sがオンされたとき可能化され、自
動リズム演奏がスタートする。
に、そのチヤンネルに割当てられた打楽器音の発
音開始を指示するためのものであり、リズムセレ
クタ14とリズムパターン発生器15を含んでい
る。周知のように、リズムセレクタ14でリズム
を選択すると、そのリズムに応じた発音パターン
で各打楽器音(そのリズムで使用する打楽器音)
の発音タイミングパルスがリズムパターン発生器
15から出力される。但し、チヤンネルタイミン
グ信号CHがリズムパターン発生器15に供給さ
れており、各打楽器音の発音タイミングパルスは
夫々が割当てられたチヤンネルのタイムスロツト
に同期して時分割で出力される。尚、発生器15
から出力される発音タイミングパルスは、発音開
始時にクロツクパルスφの1周期分の時間幅(1
タイムスロツト)でだけ“1”となる信号である
とする。リズムパターン発生器15の出力はオア
回路16を介してスタートパルスSPとして出力
される。オア回路16の他の入力には電源投入時
に16タイムスロツトの間だけ“1”となるイニシ
ヤルクリア信号が与えられる。このイニシヤルク
リア信号は、第2図の各シフトレジスタの全ステ
ージを初期リセツトするために利用される。尚、
リズムパターン発生器15はスタート/ストツプ
スイツチS/Sがオンされたとき可能化され、自
動リズム演奏がスタートする。
クロツクパルスφによつてシフト制御される16
ステージのシフトレジスタ17と、加算器18、
セレクタ19、ゲート20によつてアドレスカウ
ンタが構成されている。このアドレスカウンタは
波形メモリ10の読み出しアドレスを相対アドレ
スで指定するためのものである。アドレスROM
12から読み出されたスタートアドレスは加算器
21に加わり、リピートアドレスはセレクタ19
のA入力に加わり、補間開始アドレス(これをZ
で示す)は比較器22のB入力に加わり、エンド
アドレスは比較器23のB入力に加わる。アドレ
スカウンタ(シフトレジスタ17)から出力され
た相対アドレス形式の読み出しアドレス指定デー
タは加算器21に加わり、スタートアドレスが加
算されて絶対アドレス形式に変換される。この加
算器21の出力が絶対アドレス形式の読み出しア
ドレス指定データとして波形メモリ10に入力さ
れる。
ステージのシフトレジスタ17と、加算器18、
セレクタ19、ゲート20によつてアドレスカウ
ンタが構成されている。このアドレスカウンタは
波形メモリ10の読み出しアドレスを相対アドレ
スで指定するためのものである。アドレスROM
12から読み出されたスタートアドレスは加算器
21に加わり、リピートアドレスはセレクタ19
のA入力に加わり、補間開始アドレス(これをZ
で示す)は比較器22のB入力に加わり、エンド
アドレスは比較器23のB入力に加わる。アドレ
スカウンタ(シフトレジスタ17)から出力され
た相対アドレス形式の読み出しアドレス指定デー
タは加算器21に加わり、スタートアドレスが加
算されて絶対アドレス形式に変換される。この加
算器21の出力が絶対アドレス形式の読み出しア
ドレス指定データとして波形メモリ10に入力さ
れる。
シフトレジスタ17は各チヤンネルの読み出し
アドレス指定データを時分割状態で一時記憶する
ためのものであり、その最終ステージ出力信号が
現処理チヤンネルにおける読み出しアドレスの相
対アドレスデータを示している。加算器18はシ
フトレジスタ17から出力された現読み出しアド
レスデータの最下位ビツトLSBに対して“1”
を加算し、読み出しアドレスを1アドレス進め
る。セレクタ19は通常はB入力を介して加算器
18の出力を選択し、ゲート20を介してシフト
レジスタ17に入力する。ゲート20は発音トリ
ガ回路13からのスタートパルスSPをインバー
タ24で反転した信号によつて制御される。
アドレス指定データを時分割状態で一時記憶する
ためのものであり、その最終ステージ出力信号が
現処理チヤンネルにおける読み出しアドレスの相
対アドレスデータを示している。加算器18はシ
フトレジスタ17から出力された現読み出しアド
レスデータの最下位ビツトLSBに対して“1”
を加算し、読み出しアドレスを1アドレス進め
る。セレクタ19は通常はB入力を介して加算器
18の出力を選択し、ゲート20を介してシフト
レジスタ17に入力する。ゲート20は発音トリ
ガ回路13からのスタートパルスSPをインバー
タ24で反転した信号によつて制御される。
比較器23のA入力にはシフトレジスタ17の
出力が加わり、その一致出力EQがセレクタ19
のAセレクト制御入力SAに与えられる。読み出
しアドレスがエンドアドレスに一致していないと
き、一致出力EQは“0”であり、前述のように
セレクタ19はB入力を選択する。一致したと
き、EQが“1”となり、A入力を介してリピー
トアドレスデータを選択する。
出力が加わり、その一致出力EQがセレクタ19
のAセレクト制御入力SAに与えられる。読み出
しアドレスがエンドアドレスに一致していないと
き、一致出力EQは“0”であり、前述のように
セレクタ19はB入力を選択する。一致したと
き、EQが“1”となり、A入力を介してリピー
トアドレスデータを選択する。
従つて、アドレスカウンタにおけるアドレズ変
化は次のようになる。まず、イニシヤルクリア信
号が発生したときは、16タイムスロツトの間ゲー
ト20が閉じ、シフトレジスタ17の全ステージ
がクリアされる。或る打楽器音の発音開路タイミ
ングでは、それに対応するチヤンネルタイミング
でスタートパルスSPが“1”となることにより
ゲート20が閉じ、そのチヤンネルに対応するシ
フトレジスタ17の内容だけがクリアされる。そ
のチヤンネルだけについて見ると、初めはシフト
レジスタ17の出力(相対アドレス)は「0」で
あり、スタートアドレスと同じデータが波形メモ
リ10に与えられる。相対アドレスデータは16タ
イムスロツト毎に1づつ増加していき、これに伴
ない、波形メモリ10の読み出しアドレス(絶対
アドレス)もスタートアドレスから順次1づつ増
加していく。こうして、波形メモリ10から第1
の波形のサンプル振幅データが順次読み出され、
それに引き続き第2の波形のサンプル振幅データ
が順次読み出される。第1の波形と第2の波形が
一通り読み出されて、読み出しアドレスがエンド
アドレスに到達したとき、比較器23の出力EQ
が“1”となり、リピートアドレスデータがその
チヤンネルに対応してシフトレジスタ17にセツ
トされる。従つて、読み出しアドレスはエンドア
ドレスからリピートアドレスに戻り、第2の波形
の読み出しを行なう。この制御が繰返され、第2
の波形が繰返し読み出される。
化は次のようになる。まず、イニシヤルクリア信
号が発生したときは、16タイムスロツトの間ゲー
ト20が閉じ、シフトレジスタ17の全ステージ
がクリアされる。或る打楽器音の発音開路タイミ
ングでは、それに対応するチヤンネルタイミング
でスタートパルスSPが“1”となることにより
ゲート20が閉じ、そのチヤンネルに対応するシ
フトレジスタ17の内容だけがクリアされる。そ
のチヤンネルだけについて見ると、初めはシフト
レジスタ17の出力(相対アドレス)は「0」で
あり、スタートアドレスと同じデータが波形メモ
リ10に与えられる。相対アドレスデータは16タ
イムスロツト毎に1づつ増加していき、これに伴
ない、波形メモリ10の読み出しアドレス(絶対
アドレス)もスタートアドレスから順次1づつ増
加していく。こうして、波形メモリ10から第1
の波形のサンプル振幅データが順次読み出され、
それに引き続き第2の波形のサンプル振幅データ
が順次読み出される。第1の波形と第2の波形が
一通り読み出されて、読み出しアドレスがエンド
アドレスに到達したとき、比較器23の出力EQ
が“1”となり、リピートアドレスデータがその
チヤンネルに対応してシフトレジスタ17にセツ
トされる。従つて、読み出しアドレスはエンドア
ドレスからリピートアドレスに戻り、第2の波形
の読み出しを行なう。この制御が繰返され、第2
の波形が繰返し読み出される。
比較器22のA入力にはシフトレジスタ17の
出力が与えられる。現読み出しアドレスが所定の
補間開始アドレスZに到達すると、比較器22の
一致出力EQが“1”となり、これにもとづき補
間が開始される。補間区間メモリ25は補間演算
結果にもとづき楽音を形成すべき期間で信号
“1”を記憶するものであり、各チヤンネル毎に
補間区間信号を記憶するために16ステージ/1ビ
ツトのシフトレジスタ26を具えている。シフト
レジスタ26の出力はアンド回路27、オア回路
28を介してホールドされるようになつている
が、スタートパルスSPの発生時にその信号“1”
をノア回路29で反転してアンド回路27に加
え、記憶をクリアする。従つて、或るチヤンネル
で打楽器音の発音を開始するとき、そのチヤンネ
ルに対応するシフトレジスタ26の内容が“0”
にクリアされる。シフトレジスタ26の出力はセ
レクタ30のBセレクタ制御入力SBに加わり、
その信号が“0”のときはA入力を介して波形メ
モリ10の読み出し波形をそのまま選択する。
“1”のときはB入力を介して割算器31から与
えられる補間演算結果を選択する。比較器22の
出力信号がオア回路28を介してシフトレジスタ
26に入力されるようになつており、補間開始時
にシフトレジスタ26の内容が“1”にセツトさ
れる。この“1”はアンド回路27、オア回路2
8を介してホールドされる。後述するように比較
器32で補間終了が検出されたとき、、該比較器
32の出力信号“1”がノア回路29で反転さ
れ、アンド回路27を不能化して補間区間を示す
信号“1”をリセツトする。
出力が与えられる。現読み出しアドレスが所定の
補間開始アドレスZに到達すると、比較器22の
一致出力EQが“1”となり、これにもとづき補
間が開始される。補間区間メモリ25は補間演算
結果にもとづき楽音を形成すべき期間で信号
“1”を記憶するものであり、各チヤンネル毎に
補間区間信号を記憶するために16ステージ/1ビ
ツトのシフトレジスタ26を具えている。シフト
レジスタ26の出力はアンド回路27、オア回路
28を介してホールドされるようになつている
が、スタートパルスSPの発生時にその信号“1”
をノア回路29で反転してアンド回路27に加
え、記憶をクリアする。従つて、或るチヤンネル
で打楽器音の発音を開始するとき、そのチヤンネ
ルに対応するシフトレジスタ26の内容が“0”
にクリアされる。シフトレジスタ26の出力はセ
レクタ30のBセレクタ制御入力SBに加わり、
その信号が“0”のときはA入力を介して波形メ
モリ10の読み出し波形をそのまま選択する。
“1”のときはB入力を介して割算器31から与
えられる補間演算結果を選択する。比較器22の
出力信号がオア回路28を介してシフトレジスタ
26に入力されるようになつており、補間開始時
にシフトレジスタ26の内容が“1”にセツトさ
れる。この“1”はアンド回路27、オア回路2
8を介してホールドされる。後述するように比較
器32で補間終了が検出されたとき、、該比較器
32の出力信号“1”がノア回路29で反転さ
れ、アンド回路27を不能化して補間区間を示す
信号“1”をリセツトする。
振幅値アキユムレータ33は、補間開始アドレ
スからの各波形サンプル振幅データを順次加算す
るものであり、16ステージ/複数ビツトのシフ
トレジスタ34と、ゲート35と、該ゲート35
を経由したシフトレジスタ34の出力と波形メモ
リ10の読み出し出力とを加算する加算器36を
含んでおり、加算器36の出力がシフトレジスタ
34に記憶されると共に割算器31の被除数入力
Sに与えられる。
スからの各波形サンプル振幅データを順次加算す
るものであり、16ステージ/複数ビツトのシフ
トレジスタ34と、ゲート35と、該ゲート35
を経由したシフトレジスタ34の出力と波形メモ
リ10の読み出し出力とを加算する加算器36を
含んでおり、加算器36の出力がシフトレジスタ
34に記憶されると共に割算器31の被除数入力
Sに与えられる。
補間次数カウンタ37は、補間開始アドレス以
降のアドレス数をカウントすることにより補間次
数を求めるものであり、16ステージ/複数ビツト
のシフトレジスタ38と、ゲート39と、該ゲー
ト39を経由したシフトレジスタ38の出力デー
タの最下位ビツトに“1”を加算する加算器40
とを含んでおり、加算器40の出力がシフトレジ
スタ38に記憶されると共に割算器31の除数入
力nに与えられる。
降のアドレス数をカウントすることにより補間次
数を求めるものであり、16ステージ/複数ビツト
のシフトレジスタ38と、ゲート39と、該ゲー
ト39を経由したシフトレジスタ38の出力デー
タの最下位ビツトに“1”を加算する加算器40
とを含んでおり、加算器40の出力がシフトレジ
スタ38に記憶されると共に割算器31の除数入
力nに与えられる。
比較器22の一致出力EQの信号をインバータ
41で反転したものがゲート35,39の制御入
力に与えられている。従つて、読み出しアドレス
が補間開始アドレスZに到達したときゲート3
5,39が閉じられ、該当にチヤンネルに対応す
るシフトレジスタ34,38の記憶データがクリ
アされる。以後はゲート35,39が開き、累算
が行なわれる。従つて、振幅値アキユムレータ3
3では補間開始アドレスZ以後の波形サンプル振
幅データが次々に累算され、補間次数カウンタ3
7では累算された振幅データのアドレス数(サン
プル数)がカウントされる。
41で反転したものがゲート35,39の制御入
力に与えられている。従つて、読み出しアドレス
が補間開始アドレスZに到達したときゲート3
5,39が閉じられ、該当にチヤンネルに対応す
るシフトレジスタ34,38の記憶データがクリ
アされる。以後はゲート35,39が開き、累算
が行なわれる。従つて、振幅値アキユムレータ3
3では補間開始アドレスZ以後の波形サンプル振
幅データが次々に累算され、補間次数カウンタ3
7では累算された振幅データのアドレス数(サン
プル数)がカウントされる。
割算器31ではS/nなる割算を各タイムスロ
ツト毎に実行する。従つて、補間開始アドレス以
後の波形読み出しアドレスの進度に伴つて、前述
したような、補間次数が漸次増加する平均値演算
形式の補間演算が行なわれる。前述の通り、この
補間演算中はセレクタ30のB入力が選択され、
割算器31から出力された補間演算結果yiがセレ
クタ30を介して出力される。比較器32は補間
終了を検出するためのものであり、A入力には波
形メモリ10の読み出し出力Yiが与えられ、B入
力には割算器31の出力yiが与えられる。所定の
許容誤差kを示す微小データが設定されており、
A入力とB入力の差の絶対値がkと同じかそれよ
りも小さいとき、つまり|A−B|≦k(すなわ
ち|Yi−yi|≦k)のとき、信号“1”を出力す
る。この信号“1”は、前述の通りノア回路29
で反転され、シフトレジスタ26の記憶をリセツ
トする。従つて、補間が終了するとセレクタ30
はA入力選択状態に切換わり、波形メモリ10の
出力Yiを選択出力する。
ツト毎に実行する。従つて、補間開始アドレス以
後の波形読み出しアドレスの進度に伴つて、前述
したような、補間次数が漸次増加する平均値演算
形式の補間演算が行なわれる。前述の通り、この
補間演算中はセレクタ30のB入力が選択され、
割算器31から出力された補間演算結果yiがセレ
クタ30を介して出力される。比較器32は補間
終了を検出するためのものであり、A入力には波
形メモリ10の読み出し出力Yiが与えられ、B入
力には割算器31の出力yiが与えられる。所定の
許容誤差kを示す微小データが設定されており、
A入力とB入力の差の絶対値がkと同じかそれよ
りも小さいとき、つまり|A−B|≦k(すなわ
ち|Yi−yi|≦k)のとき、信号“1”を出力す
る。この信号“1”は、前述の通りノア回路29
で反転され、シフトレジスタ26の記憶をリセツ
トする。従つて、補間が終了するとセレクタ30
はA入力選択状態に切換わり、波形メモリ10の
出力Yiを選択出力する。
セレクタ30の出力は乗算器42に与えられ、
オア回路群43を経由してエンベロープ発生器4
4から与えられるエンベロープ信号と乗算され
る。エンベロープ発生器44はシフトレジスタ4
5の出力によつて制御されて、第2の波形(繰返
し波形)を発生している間で動作可能にされる。
スタートパルスSPが発生されたときインバータ
46の出力が“0”となり、シフトレジスタ45
のホールド用のアンド回路47が不能化され、対
応するチヤンネルのシフトレジスタ45の記憶信
号が“0”にリセツトされる。一方、前述の通
り、スタートパルスSPにもとづき波形メモリ1
0では第1の波形(立上り部分の波形)の読み出
しを開始する。比較器48では、アドレスカウン
タ(シフトレジスタ17)の出力とリピートアド
レスとを比較し、一致したとき信号“1”を出力
し、オア回路49を介してシフトレジスタ45に
入力する。従つて、第1の波形が一通り読み出さ
れ、読み出しアドレスが第2の波形の最初のアド
レスつまりリピートアドレスに成ると、シフトレ
ジスタ45の対応するチヤンネル“1”がセツト
され、これがアンド回路47を介してホールドさ
れる。
オア回路群43を経由してエンベロープ発生器4
4から与えられるエンベロープ信号と乗算され
る。エンベロープ発生器44はシフトレジスタ4
5の出力によつて制御されて、第2の波形(繰返
し波形)を発生している間で動作可能にされる。
スタートパルスSPが発生されたときインバータ
46の出力が“0”となり、シフトレジスタ45
のホールド用のアンド回路47が不能化され、対
応するチヤンネルのシフトレジスタ45の記憶信
号が“0”にリセツトされる。一方、前述の通
り、スタートパルスSPにもとづき波形メモリ1
0では第1の波形(立上り部分の波形)の読み出
しを開始する。比較器48では、アドレスカウン
タ(シフトレジスタ17)の出力とリピートアド
レスとを比較し、一致したとき信号“1”を出力
し、オア回路49を介してシフトレジスタ45に
入力する。従つて、第1の波形が一通り読み出さ
れ、読み出しアドレスが第2の波形の最初のアド
レスつまりリピートアドレスに成ると、シフトレ
ジスタ45の対応するチヤンネル“1”がセツト
され、これがアンド回路47を介してホールドさ
れる。
シフトレジスタ45の出力はインバータ50で
反転され、オア回路群43に加わる。オア回路群
43はエンベロープ発生器44の出力ビツト数に
対応する複数のオア回路から成り、この各オア回
路にエンベロープ発生器44の出力の各ビツトが
個別に入力されると共にインバータ50の出力が
全オア回路に共通に入力される。従つて、第1の
波形の読み出し中は、シフトレジスタ45の出力
が“0”であるため、インバータ50の出力が
“1”となり、オア回路群43の出力は全ビツト
“1”のデータとなる。これにより、第1の波形
に関しては、乗算器42で振幅制御されず、波形
メモリ10から読み出された信号がそのまま乗算
器42から出力される。これは、波形メモリ10
に記憶された第1の波形には立上り部分のエンベ
ロープが予め付与されているため、乗算器42で
エンベロープ付与制御を行なう必要がないからで
ある。
反転され、オア回路群43に加わる。オア回路群
43はエンベロープ発生器44の出力ビツト数に
対応する複数のオア回路から成り、この各オア回
路にエンベロープ発生器44の出力の各ビツトが
個別に入力されると共にインバータ50の出力が
全オア回路に共通に入力される。従つて、第1の
波形の読み出し中は、シフトレジスタ45の出力
が“0”であるため、インバータ50の出力が
“1”となり、オア回路群43の出力は全ビツト
“1”のデータとなる。これにより、第1の波形
に関しては、乗算器42で振幅制御されず、波形
メモリ10から読み出された信号がそのまま乗算
器42から出力される。これは、波形メモリ10
に記憶された第1の波形には立上り部分のエンベ
ロープが予め付与されているため、乗算器42で
エンベロープ付与制御を行なう必要がないからで
ある。
第2の波形を繰返し読み出している最中は、シ
フトレジスタ45の出力が“1”であり、エンベ
ロープ発生器44が可能化され、減衰エンベロー
プ波形が発生される。エンベロープ発生器44に
はチヤンネルタイミング信号CHが与えられてお
り、エンベロープ波形発生が各チヤンネル毎に時
分割で行なわれる。この間、インバータ50の出
力は“0”であるので、エンベロープ発生器44
で発生された減衰エンベロープ波形データはオア
回路群43を通過し、乗算器42に与えられる。
こうして、繰返し読み出された第2の波形に対し
て減衰エンベロープが付与される。
フトレジスタ45の出力が“1”であり、エンベ
ロープ発生器44が可能化され、減衰エンベロー
プ波形が発生される。エンベロープ発生器44に
はチヤンネルタイミング信号CHが与えられてお
り、エンベロープ波形発生が各チヤンネル毎に時
分割で行なわれる。この間、インバータ50の出
力は“0”であるので、エンベロープ発生器44
で発生された減衰エンベロープ波形データはオア
回路群43を通過し、乗算器42に与えられる。
こうして、繰返し読み出された第2の波形に対し
て減衰エンベロープが付与される。
第2図と同様の構成を音階音の発生に適用する
こともできる。その場合は発音トリガ回路13を
例えば第5図のように変更する。鍵走査及び多重
化回路52は鍵盤の各鍵のキースイツチ51を順
次走査して押圧鍵を検出し、鍵が押圧されたとき
瞬時的にキーオンパルスNONPを発生する。各
鍵に所定のタイムスロツトが割当てられており、
各鍵のキーオンパルスKONPは夫々のタイムス
ロツトで時分割多重化されて出力される。このキ
ーオンパルスKONPをスタートパルスSPの代わ
りに第2図の各回路に入力すればよい。例えば、
鍵数が61鍵であるとすると、キーオンパルス
KONPは61タイムスロツトを1サイクルとする
時分割多重化信号である。そのため第2図の各シ
フトレジスタ17,26,34,38,45のス
テージ数を61に変更し、チヤンネルカウンタ11
を61進に変更するものとする。また、波形メモリ
10に61鍵分の波形を夫々記憶し、アドレス
ROM12に61種類分の各アドレスデータを記憶
するよう変更するものとする。
こともできる。その場合は発音トリガ回路13を
例えば第5図のように変更する。鍵走査及び多重
化回路52は鍵盤の各鍵のキースイツチ51を順
次走査して押圧鍵を検出し、鍵が押圧されたとき
瞬時的にキーオンパルスNONPを発生する。各
鍵に所定のタイムスロツトが割当てられており、
各鍵のキーオンパルスKONPは夫々のタイムス
ロツトで時分割多重化されて出力される。このキ
ーオンパルスKONPをスタートパルスSPの代わ
りに第2図の各回路に入力すればよい。例えば、
鍵数が61鍵であるとすると、キーオンパルス
KONPは61タイムスロツトを1サイクルとする
時分割多重化信号である。そのため第2図の各シ
フトレジスタ17,26,34,38,45のス
テージ数を61に変更し、チヤンネルカウンタ11
を61進に変更するものとする。また、波形メモリ
10に61鍵分の波形を夫々記憶し、アドレス
ROM12に61種類分の各アドレスデータを記憶
するよう変更するものとする。
第6図は、第2図とは異なる補間演算を行なう
実施例を示したものであり、説明の簡単化のた
め、波形メモリ53には1種類の波形の第1の波
形と第2の波形のみ記憶し、スタートスイツチ5
4がオンされたときこのメモリ53の読み出しを
開始するようにしたものである。この実施例にお
ける補間演算は、前述と同様の平均値演算である
が、補間開始時から所定区間の間補間次数を逐次
増加し、その後補間次数を逐次減少するようにし
ている。Yにサフイツクス数字を付したものを波
形メモリ53から読み出した各サンプル点の波形
振幅値データとし、yにサフイツクス数字を付し
たものを補間演算によつて求めた各サンプル点の
波形振幅値データとし、サフイツクス数字0がエ
ンドアドレスに対応し、サフイツクス数字1がリ
ピートアドレスに対応し、サフイツクス数字−3
が補間開始アドレスに対応し、サンプル順位(ア
ドレス)が進むにつれてサフイツクス数字が増
し、最大補間次数が「6」であるとするときの第
6図実施例による補間演算の実例を次に示す。
実施例を示したものであり、説明の簡単化のた
め、波形メモリ53には1種類の波形の第1の波
形と第2の波形のみ記憶し、スタートスイツチ5
4がオンされたときこのメモリ53の読み出しを
開始するようにしたものである。この実施例にお
ける補間演算は、前述と同様の平均値演算である
が、補間開始時から所定区間の間補間次数を逐次
増加し、その後補間次数を逐次減少するようにし
ている。Yにサフイツクス数字を付したものを波
形メモリ53から読み出した各サンプル点の波形
振幅値データとし、yにサフイツクス数字を付し
たものを補間演算によつて求めた各サンプル点の
波形振幅値データとし、サフイツクス数字0がエ
ンドアドレスに対応し、サフイツクス数字1がリ
ピートアドレスに対応し、サフイツクス数字−3
が補間開始アドレスに対応し、サンプル順位(ア
ドレス)が進むにつれてサフイツクス数字が増
し、最大補間次数が「6」であるとするときの第
6図実施例による補間演算の実例を次に示す。
y-3=Y-3(補間開始)
y-2=Y-3+Y-2/2
y-1=Y-3+Y-2+Y-1/3
y0=Y-3+Y-2+Y-1+Y0/4
y1=Y-3+Y-2+Y-1+Y0+Y1/5
y2=Y-3+Y-2+Y-1+Y0+Y1+Y2/6
y3=Y-1+Y0+Y1+Y2+Y3/5
y4=Y1+Y2+Y3+Y4/4
y5=Y3+Y4+Y5/3
y6=Y5+Y6/2
y7=Y7(補間終了)
上記式から明らかなように、平均値は現サンプ
ル点とその直前の数サンプル点の振幅値を加算
し、これをサンプル点数で割算することにより求
められる。そのため、補間次数が増加する場合は
単純に前サンプル点の補間演算における振幅加算
値(例えばY-3+Y-2)に現サンプル点の振幅値
(例えばY-1)を加算したものが現サンプル点の
補間演算における振幅加算値(例えばY-3+Y-2
+Y-1)となるが、補間次数が減少する場合は、
前サンプル点の補間演算における振幅加算値(例
えばY3+Y4+Y5)から最も古い2つのサンプル
点の振幅値(例えばY3、Y4)を減らし、これに
現サンプル点の振幅値(例えばY6)を加算した
ものが現サンプル点の補間演算における振幅加算
値(例えばY5+Y6)となる。
ル点とその直前の数サンプル点の振幅値を加算
し、これをサンプル点数で割算することにより求
められる。そのため、補間次数が増加する場合は
単純に前サンプル点の補間演算における振幅加算
値(例えばY-3+Y-2)に現サンプル点の振幅値
(例えばY-1)を加算したものが現サンプル点の
補間演算における振幅加算値(例えばY-3+Y-2
+Y-1)となるが、補間次数が減少する場合は、
前サンプル点の補間演算における振幅加算値(例
えばY3+Y4+Y5)から最も古い2つのサンプル
点の振幅値(例えばY3、Y4)を減らし、これに
現サンプル点の振幅値(例えばY6)を加算した
ものが現サンプル点の補間演算における振幅加算
値(例えばY5+Y6)となる。
この補間法では、補間区間のサンプル数(アド
レス数)が一定であり、第2図の例に比べて早く
補間が終了する(補間値yiが早く本来の振幅値Yi
に到達する)。また、補間値yiが必らず本来の振
幅値Yiに到達して補間が終了するので、補間演算
により求めた波形データからメモリから読み出し
た波形データに切換わる箇所で波形のつながりが
よくなる。
レス数)が一定であり、第2図の例に比べて早く
補間が終了する(補間値yiが早く本来の振幅値Yi
に到達する)。また、補間値yiが必らず本来の振
幅値Yiに到達して補間が終了するので、補間演算
により求めた波形データからメモリから読み出し
た波形データに切換わる箇所で波形のつながりが
よくなる。
第6図において、スタートスイツチ54がオン
されると、微分回路55から1発のパルスが出力
され、アドレスカウンタ56がリセツトされる。
その後、カウンタ56はクロツクパルスφのカウ
ントを開始し、カウント値が「0」から次第に増
加する。カウンタ56のカウント出力はエンドア
ドレス検出回路57に与えられており、カウント
値が所定のエンドアドレスに到達したとき該検出
回路57からカウンタ56のプリセツト制御入力
PSに信号“1”が与えられる。リピートアドレ
スデータ発生回路58は所定のリピートアドレス
データをカウンタ56のプリセツトデータ入力
PDに供給しており、入力PSに信号“1”が与え
られたとき該入力PDを介してリピートアドレス
データがカウンタ56にプリセツトされる。こう
して、アドレスカウンタ56のカウント値は、ス
タートアドレス(カウント値「0」)からエンド
アドレスまでの漸増を1回行なつた後、リピート
アドレスからエンドアドレスまでの漸増を繰返
す。カウンタ56のカウント出力は波形メモリ5
3のアドレス入力に加わり、第1の波形(立上り
部分の波形)を一通り読み出した後第2の波形を
繰返し読み出す。
されると、微分回路55から1発のパルスが出力
され、アドレスカウンタ56がリセツトされる。
その後、カウンタ56はクロツクパルスφのカウ
ントを開始し、カウント値が「0」から次第に増
加する。カウンタ56のカウント出力はエンドア
ドレス検出回路57に与えられており、カウント
値が所定のエンドアドレスに到達したとき該検出
回路57からカウンタ56のプリセツト制御入力
PSに信号“1”が与えられる。リピートアドレ
スデータ発生回路58は所定のリピートアドレス
データをカウンタ56のプリセツトデータ入力
PDに供給しており、入力PSに信号“1”が与え
られたとき該入力PDを介してリピートアドレス
データがカウンタ56にプリセツトされる。こう
して、アドレスカウンタ56のカウント値は、ス
タートアドレス(カウント値「0」)からエンド
アドレスまでの漸増を1回行なつた後、リピート
アドレスからエンドアドレスまでの漸増を繰返
す。カウンタ56のカウント出力は波形メモリ5
3のアドレス入力に加わり、第1の波形(立上り
部分の波形)を一通り読み出した後第2の波形を
繰返し読み出す。
波形メモリ53から読み出された波形データは
補間回路59に与えられ、補間開始アドレスから
所定の補間演算期間の間で、前述のような補間演
算(補間次数が漸増した後漸減する補間演算)が
施される。補間回路59において、加算器60
と、その出力をクロツクパルスφに従つて一時記
憶するレジスタ61と、このレジスタ61の出力
を加算器60に与えるためのゲート62は、波形
メモリ53から読み出された波形サンプル振幅値
Yiを複数サンプル点分だけ加算するためのアキユ
ムレータを構成している。また、波形メモリ53
の読み出し出力Yiを適宜遅延する遅延回路63
と、この遅延回路63の2つの出力DY1,DY
2を加算する加算器64と、この加算器64の出
力または数値「0」を選択するセレクタ65と、
引算器66は、補間次数の漸減時に、アキユムレ
ータ(加算器60、レジスタ61、ゲート62)
の記憶値から最も古い2サンプル点の振幅値を減
算するためのものである。セレクタ65の出力は
引算器66のB入力に与えられ、該引算器66の
A入力には波形メモリ53から読み出された波形
サンプル振幅値Yiが与えられる。引算器66では
「A−B」なる引算を行なう。この引算器66の
出力が加算器60に与えられ、ゲート62を介し
て与えられるレジスタ61の出力(前サンプル点
までの振幅加算値)と加算される。
補間回路59に与えられ、補間開始アドレスから
所定の補間演算期間の間で、前述のような補間演
算(補間次数が漸増した後漸減する補間演算)が
施される。補間回路59において、加算器60
と、その出力をクロツクパルスφに従つて一時記
憶するレジスタ61と、このレジスタ61の出力
を加算器60に与えるためのゲート62は、波形
メモリ53から読み出された波形サンプル振幅値
Yiを複数サンプル点分だけ加算するためのアキユ
ムレータを構成している。また、波形メモリ53
の読み出し出力Yiを適宜遅延する遅延回路63
と、この遅延回路63の2つの出力DY1,DY
2を加算する加算器64と、この加算器64の出
力または数値「0」を選択するセレクタ65と、
引算器66は、補間次数の漸減時に、アキユムレ
ータ(加算器60、レジスタ61、ゲート62)
の記憶値から最も古い2サンプル点の振幅値を減
算するためのものである。セレクタ65の出力は
引算器66のB入力に与えられ、該引算器66の
A入力には波形メモリ53から読み出された波形
サンプル振幅値Yiが与えられる。引算器66では
「A−B」なる引算を行なう。この引算器66の
出力が加算器60に与えられ、ゲート62を介し
て与えられるレジスタ61の出力(前サンプル点
までの振幅加算値)と加算される。
制御回路67は、アドレスカウンタ56から与
えられたアドレスデータにもとづき波形メモリ5
3の読み出しアドレスが所定の補間開始アドレス
に到達したことを検出し、この検出にもとづき補
間制御動作を開始し、各回路の動作を制御するた
めの信号DNUM、INCM、DECM、STPM、
DIVを発生する。遅延段数信号DNUMは遅延回
路63に与えられ、何段目の遅延信号(何サンプ
ル前の波形振幅値)を出力DY1,DY2として
選択すべきかを制御する。増加モード信号INCM
と減少モード信号DECMはセレクタ65の2ビ
ツトの選択制御入力に夫々加えられ、INCMは2°
の重み、DECMは2′の重みの選択信号となる。セ
レクタ65は、選択信号が10進値の「2」のとき
つまりINCM=“0”、DECM=“1”のとき、加
算器64の出力を選択して引算器66に与える。
これは補間次数が漸減するモードのときである。
また、セレクタ65は、選択信号が10進値の
「1」または「3」のときつまりINCM=“1”、
DECM=“0”かまたはINCM=“1”、DECM=
“1”のとき、数値「0」を示すデータを選択す
る。これは補間を行なわないとき、または補間次
数が漸増するモードのときである。
えられたアドレスデータにもとづき波形メモリ5
3の読み出しアドレスが所定の補間開始アドレス
に到達したことを検出し、この検出にもとづき補
間制御動作を開始し、各回路の動作を制御するた
めの信号DNUM、INCM、DECM、STPM、
DIVを発生する。遅延段数信号DNUMは遅延回
路63に与えられ、何段目の遅延信号(何サンプ
ル前の波形振幅値)を出力DY1,DY2として
選択すべきかを制御する。増加モード信号INCM
と減少モード信号DECMはセレクタ65の2ビ
ツトの選択制御入力に夫々加えられ、INCMは2°
の重み、DECMは2′の重みの選択信号となる。セ
レクタ65は、選択信号が10進値の「2」のとき
つまりINCM=“0”、DECM=“1”のとき、加
算器64の出力を選択して引算器66に与える。
これは補間次数が漸減するモードのときである。
また、セレクタ65は、選択信号が10進値の
「1」または「3」のときつまりINCM=“1”、
DECM=“0”かまたはINCM=“1”、DECM=
“1”のとき、数値「0」を示すデータを選択す
る。これは補間を行なわないとき、または補間次
数が漸増するモードのときである。
ストツプモード信号STPMは、補間を行なわ
ないとき“1”であり、補間開始時に“0”に立
下り、補間終了時に“1”に復帰する信号であ
る。この信号STPMはインバータ68で反転さ
れ、ゲート62の制御入力に与えられる。従つ
て、補間演算中は信号STPMの“0”により、
ゲート62が開放され、加算器60及びレジスタ
61を用いた振幅値累算が可能にされる。補間次
数信号DIVは現サンプル点の補間演算における次
数(加算器60の出力に含まれている振幅累算値
のサンプル数)を示すデータであり、割算器69
の除数入力に与えられる。この割算器69の被除
数入力には加算器60の出力(つまり、信号DIV
が示すサンプル数分の振幅累算値)が与えられて
おり、前述のような平均値演算を行なう。
ないとき“1”であり、補間開始時に“0”に立
下り、補間終了時に“1”に復帰する信号であ
る。この信号STPMはインバータ68で反転さ
れ、ゲート62の制御入力に与えられる。従つ
て、補間演算中は信号STPMの“0”により、
ゲート62が開放され、加算器60及びレジスタ
61を用いた振幅値累算が可能にされる。補間次
数信号DIVは現サンプル点の補間演算における次
数(加算器60の出力に含まれている振幅累算値
のサンプル数)を示すデータであり、割算器69
の除数入力に与えられる。この割算器69の被除
数入力には加算器60の出力(つまり、信号DIV
が示すサンプル数分の振幅累算値)が与えられて
おり、前述のような平均値演算を行なう。
補間回路59の動作の概略を説明すると、補間
演算を行なわない期間では、セレクタ65で数値
「0」を選択し、引算器66では実質的な引算を
行なわず、波形メモリ53から読み出された振幅
値Yiをそのま通過する。また、ストツプモード信
号STPMの“1”によりゲート62が閉じられ
ており、加算器60では実質的な加算を行なわ
ず、引算器66の出力をそのまま通過する。ま
た、補間次数DIVは除数「1」を示し、割算器6
9では実質的な割算を行なわず、加算器60の出
力をそのまま通過する。こうして波形メモリ53
から読み出された波形サンプル振幅値データYiが
何の変更も加えられずに補間回路59を通過し、
エンベロープ付与用の乗算器70に与えられる。
演算を行なわない期間では、セレクタ65で数値
「0」を選択し、引算器66では実質的な引算を
行なわず、波形メモリ53から読み出された振幅
値Yiをそのま通過する。また、ストツプモード信
号STPMの“1”によりゲート62が閉じられ
ており、加算器60では実質的な加算を行なわ
ず、引算器66の出力をそのまま通過する。ま
た、補間次数DIVは除数「1」を示し、割算器6
9では実質的な割算を行なわず、加算器60の出
力をそのまま通過する。こうして波形メモリ53
から読み出された波形サンプル振幅値データYiが
何の変更も加えられずに補間回路59を通過し、
エンベロープ付与用の乗算器70に与えられる。
補間演算が開始されると、ストツプモード信号
STPMが“0”となることによりゲート62が
開かれ、加算器60及びレジスタ61から成るア
キユムレータにおいて波形振幅値Yiが累算される
ようになる。補間次数が漸増する期間では、増加
モード信号INCMの“1”によりセレクタ65で
数値「0」が選択され、引算器66では実質的な
引算を行なわず、波形メモリ53の読み出し出力
Yiをそのまま通過する。従つてこの次数漸増期間
では波形メモリ53から順次読み出された波形サ
ンプル振幅値Yiが次々に加算される。これに伴な
い補間次数信号DIVの値も順次増加し、平均値が
割算器69で求められ、これが乗算器70に与え
られる。補間次数が漸減する期間では、減少モー
ド信号DECMの“1”によりセレクタ65で加
算器64の出力が選択される。これにより、引算
器66では「A−B」つまり遅延回路63の出力
DY1,DY2の加算値を波形メモリ53の読み
出し出力Yiから引算する「Yi−DY1−DY2」
なる演算を行なう。この引算器66の出力が加算
器60で前サンプルまでの振幅累算値に加算され
る。こうして、実質的に、前サンプル点までの振
幅累算値から最も古い2サンプル点の振幅値を減
算し、それに現サンプル点の振幅値を加算する演
算が行なわれる。このような演算により、現サン
プル点とその直前の数サンプル点の振幅値の合計
値を、合計サンプル点数を順次減らしながら、各
サンプル点毎に求めることができる。これに伴な
い補間次数信号DIVの値も順次減少し、平均値が
割算器69で求められる。
STPMが“0”となることによりゲート62が
開かれ、加算器60及びレジスタ61から成るア
キユムレータにおいて波形振幅値Yiが累算される
ようになる。補間次数が漸増する期間では、増加
モード信号INCMの“1”によりセレクタ65で
数値「0」が選択され、引算器66では実質的な
引算を行なわず、波形メモリ53の読み出し出力
Yiをそのまま通過する。従つてこの次数漸増期間
では波形メモリ53から順次読み出された波形サ
ンプル振幅値Yiが次々に加算される。これに伴な
い補間次数信号DIVの値も順次増加し、平均値が
割算器69で求められ、これが乗算器70に与え
られる。補間次数が漸減する期間では、減少モー
ド信号DECMの“1”によりセレクタ65で加
算器64の出力が選択される。これにより、引算
器66では「A−B」つまり遅延回路63の出力
DY1,DY2の加算値を波形メモリ53の読み
出し出力Yiから引算する「Yi−DY1−DY2」
なる演算を行なう。この引算器66の出力が加算
器60で前サンプルまでの振幅累算値に加算され
る。こうして、実質的に、前サンプル点までの振
幅累算値から最も古い2サンプル点の振幅値を減
算し、それに現サンプル点の振幅値を加算する演
算が行なわれる。このような演算により、現サン
プル点とその直前の数サンプル点の振幅値の合計
値を、合計サンプル点数を順次減らしながら、各
サンプル点毎に求めることができる。これに伴な
い補間次数信号DIVの値も順次減少し、平均値が
割算器69で求められる。
制御回路67は例えば第7図のように構成され
る。アドレスカウンタ56から発生されたアドレ
スデータが補間開始アドレス検出回路71に与え
られ、該アドレスデータが所定の補間開始アドレ
スに一致したとき、第8図に示すように負の補間
開始パルスが該回路71から発生される。
フリツプフロツプ72はこの負のパルスが
“1”から“0”に立下つたときリセツトされ、
その出力Qが第8図のaに示すように“0”に立
下る。また、補間開始パルスはアンド回路
73に加わり、該アンド回路73を不能化する。
このアンド回路73の他の入力にはオールゼロ検
出回路74の出力が加えられるが、当初はこの回
路74がレジスタ75の出力が全ビツト“0”で
あることを検出して信号“1”をアンド回路73
に与えている。従つて、アンド回路73の出力は
第8図のbに示すように補間開始パルスに
応じて“0”に立下る。
る。アドレスカウンタ56から発生されたアドレ
スデータが補間開始アドレス検出回路71に与え
られ、該アドレスデータが所定の補間開始アドレ
スに一致したとき、第8図に示すように負の補間
開始パルスが該回路71から発生される。
フリツプフロツプ72はこの負のパルスが
“1”から“0”に立下つたときリセツトされ、
その出力Qが第8図のaに示すように“0”に立
下る。また、補間開始パルスはアンド回路
73に加わり、該アンド回路73を不能化する。
このアンド回路73の他の入力にはオールゼロ検
出回路74の出力が加えられるが、当初はこの回
路74がレジスタ75の出力が全ビツト“0”で
あることを検出して信号“1”をアンド回路73
に与えている。従つて、アンド回路73の出力は
第8図のbに示すように補間開始パルスに
応じて“0”に立下る。
フリツプフロツプ72及びアンド回路73の出
力はレジスタ76に入力され、クロツクパルスφ
に従つて1ビツトタイム遅延されて該レジスタ7
6から出力される。従つてレジスタ76の出力は
第8図のc,dのようになる。フリツプフロツプ
72の出力に対応するレジスタ76の出力(第8
図c)が減少モード信号DECMとして制御回路
67から出力され、アンド回路73の出力に対応
するレジスタ76の出力(第8図d)がストツプ
モード信号STPMとして出力される。この減少
モード信号DECMをインバータ77で反転した
ものとストツプモード信号STPMとをオア回路
78に入力し、このオア回路78の出力を増加モ
ード信号INCMとして制御回路67から出力す
る。従つて、増加モード信号INCMは第8図に示
すようになる。
力はレジスタ76に入力され、クロツクパルスφ
に従つて1ビツトタイム遅延されて該レジスタ7
6から出力される。従つてレジスタ76の出力は
第8図のc,dのようになる。フリツプフロツプ
72の出力に対応するレジスタ76の出力(第8
図c)が減少モード信号DECMとして制御回路
67から出力され、アンド回路73の出力に対応
するレジスタ76の出力(第8図d)がストツプ
モード信号STPMとして出力される。この減少
モード信号DECMをインバータ77で反転した
ものとストツプモード信号STPMとをオア回路
78に入力し、このオア回路78の出力を増加モ
ード信号INCMとして制御回路67から出力す
る。従つて、増加モード信号INCMは第8図に示
すようになる。
セレクタ79の2ビツトの選択制御入力のうち
2°の重みのビツトにはアンド回路73の出力が加
わり、21の重みのビツトにはフリツプフロツプ7
2の出力が加わる。セレクタ79は選択制御入力
の2ビツトコードの値が「0」のとき数値「1」
を示すデータを選択し、「2」のとき数値「−1」
を示すデータを選択し、「3」のとき数値「0」
を示すデータを選択する。セレクタ79の出力は
加算器80に加わり、レジスタ75から与えられ
たデータと加算される。加算器80の出力はレジ
スタ75に与えられ、クロツクパルスφに従つて
1ビツトタイム遅延されて該レジスタ75から出
力される。
2°の重みのビツトにはアンド回路73の出力が加
わり、21の重みのビツトにはフリツプフロツプ7
2の出力が加わる。セレクタ79は選択制御入力
の2ビツトコードの値が「0」のとき数値「1」
を示すデータを選択し、「2」のとき数値「−1」
を示すデータを選択し、「3」のとき数値「0」
を示すデータを選択する。セレクタ79の出力は
加算器80に加わり、レジスタ75から与えられ
たデータと加算される。加算器80の出力はレジ
スタ75に与えられ、クロツクパルスφに従つて
1ビツトタイム遅延されて該レジスタ75から出
力される。
セレクタ79、加算器80、レジスタ75の出
力の状態を示すと第8図のe,f,gのようであ
る。補間開始前はセレクタ79で数値「0」を選
択し、加算器80、レジスタ75の出力も「0」
である。補間開始パルスの発生により、フ
リツプフロツプ72、アンド回路73の出力が共
に“0”となると、セレクタ79で数値「1」を
選択し、加算器80の出力も「1」となり、それ
より1タイムスロツト遅れてレジスタ75の出力
が「1」となる。これによりオールゼロ検出回路
74の出力が“0”に立下り(第8図のh参照)、
パルスが“1”に立上つた後も依然として
アンド回路73は“0”を出力する。従つて、セ
レクタ79で数値「1」が選択され続け、加算器
80の出力は「1」、「2」、「3」、「4」と順次増
加する。
力の状態を示すと第8図のe,f,gのようであ
る。補間開始前はセレクタ79で数値「0」を選
択し、加算器80、レジスタ75の出力も「0」
である。補間開始パルスの発生により、フ
リツプフロツプ72、アンド回路73の出力が共
に“0”となると、セレクタ79で数値「1」を
選択し、加算器80の出力も「1」となり、それ
より1タイムスロツト遅れてレジスタ75の出力
が「1」となる。これによりオールゼロ検出回路
74の出力が“0”に立下り(第8図のh参照)、
パルスが“1”に立上つた後も依然として
アンド回路73は“0”を出力する。従つて、セ
レクタ79で数値「1」が選択され続け、加算器
80の出力は「1」、「2」、「3」、「4」と順次増
加する。
レジスタ75の出力は比較器81に与えられ
る。比較器81の他の入力には所定の最大補間次
数Mよりも1小さい数「M−1」を示すデータが
入力されており、両入力が一致したときフリツプ
フロツプ72のセツト入力Sに信号“1”を与え
る。レジスタ75の出力が所定の最大補間次数M
(例えば5)より小さい数「M−1」(例えば4)
になつたとき、比較器81の一致出力信号が第8
図のiに示すように発生される。これによりフリ
ツプフロツプ72がセツトされ、その出力が第8
図のaに示すように“1”に立上る。そしてセレ
クタ79は数値「−1」を選択する状態に切換わ
り、レジスタ75の出力「M−1=4」から1を
減算した数値が加算器80から出力される。以
後、順次1減算されレジスタ75の出力が「0」
になつたときオールゼロ検出回路74から信号
“1”が出力され、アンド回路73の出力が“1”
となる。これによりセレクタ79は数値「0」を
選択する状態となる。
る。比較器81の他の入力には所定の最大補間次
数Mよりも1小さい数「M−1」を示すデータが
入力されており、両入力が一致したときフリツプ
フロツプ72のセツト入力Sに信号“1”を与え
る。レジスタ75の出力が所定の最大補間次数M
(例えば5)より小さい数「M−1」(例えば4)
になつたとき、比較器81の一致出力信号が第8
図のiに示すように発生される。これによりフリ
ツプフロツプ72がセツトされ、その出力が第8
図のaに示すように“1”に立上る。そしてセレ
クタ79は数値「−1」を選択する状態に切換わ
り、レジスタ75の出力「M−1=4」から1を
減算した数値が加算器80から出力される。以
後、順次1減算されレジスタ75の出力が「0」
になつたときオールゼロ検出回路74から信号
“1”が出力され、アンド回路73の出力が“1”
となる。これによりセレクタ79は数値「0」を
選択する状態となる。
レジスタ75の出力は加算器82に与えられ、
数値「1」が加算される。この加算器82の出力
が補間次数信号DIVまたは遅延段数信号DNUM
として制御回路67から出力される。第8図のg
に示すようにレジスタ75の出力数値は実際の補
間次数よりも1小さい数を示している。そのため
加算器82で1加算し、第8図に示すように実際
の補間次数に対応した数値を示す信号DIV,
DNUMを得るようにしている。同図から明らか
なように、補間開始以後所定の最大次数M(例え
ば5)まで順次増加し、その後順次減少するよう
に補間次数を設定することができる。また、同図
から明らかなように、次数の漸増期間において
“1”、漸減期間において“0”の増加モード信号
INCMが得られると共に、次数の漸増期間におい
て“0”、漸減期間において“1”の減少モード
信号DECMが得られ、また、補間期間中におい
て“0”のストツプモード信号STRMが得られ
る。
数値「1」が加算される。この加算器82の出力
が補間次数信号DIVまたは遅延段数信号DNUM
として制御回路67から出力される。第8図のg
に示すようにレジスタ75の出力数値は実際の補
間次数よりも1小さい数を示している。そのため
加算器82で1加算し、第8図に示すように実際
の補間次数に対応した数値を示す信号DIV,
DNUMを得るようにしている。同図から明らか
なように、補間開始以後所定の最大次数M(例え
ば5)まで順次増加し、その後順次減少するよう
に補間次数を設定することができる。また、同図
から明らかなように、次数の漸増期間において
“1”、漸減期間において“0”の増加モード信号
INCMが得られると共に、次数の漸増期間におい
て“0”、漸減期間において“1”の減少モード
信号DECMが得られ、また、補間期間中におい
て“0”のストツプモード信号STRMが得られ
る。
第6図の補間回路59で用いられる遅延回路6
3の一例が第9図に示されている。波形メモリ5
3から読み出された振幅値データYiが入力された
シフトレジスタ83は該データYiを1乃至複数ビ
ツトタイム遅延するためのものであり、第1のセ
レクタ84の「1」乃至「5」入力にはデータYi
を1乃至5ビツトタイム遅延したデータが夫々与
えられる。第2のセレクタ85の「1」乃至
「5」入力には該データYiを2乃至6ビツトタイ
ム遅延したデータが夫々与えられる。セレクタ8
4,85の選択制御入力には前述の遅延段数信号
DNUMが与えられており、該信号DNUMの値
「1」乃至「5」に対応して「1」乃至「5」入
力を選択する。例えば、信号DNUMが「2」の
ときは第1のセレクタ84の「2」入力を介して
2ビツトタイム前のデータYiが選択されると共に
第2のセレクタ85の「2」入力を介して3ビツ
トタイム前のデータYiが選択される。このよう
に、信号DNUMの値即ち現サンプル点に関する
補間次数に応じて、その次数と同数のサンプル数
だけ前の波形振幅値データYiとその次数より1多
いサンプル数だけ前の波形振幅値データYiがセレ
クタ84,85で夫々選択され、これがデータ
DY1,DY2として出力される。その結果、補
間次数減少期間において、現サンプル点の直前の
サンプル点で加算器60及びレジスタ61におい
て求めた振幅累算値に含まれる最も古い2サンプ
ル点の振幅値をデータDY1,DY2として選択
することができる。例えば、現サンプル点の番号
を9、次数を4とすると、その直前のサンプル点
の番号は8、次数は5であり、そのときの振幅累
算値はサンプル点番号8、7、6、5、4の合計
であり、最も古い2サンプル点は5、4であり、
これは現サンプル点の次数4と同数のサンプル数
4だけ前のサンプル点「9−4=5」とその次数
4より1多いサンプル数5だけ前のサンプル点
「9−5=4」である。
3の一例が第9図に示されている。波形メモリ5
3から読み出された振幅値データYiが入力された
シフトレジスタ83は該データYiを1乃至複数ビ
ツトタイム遅延するためのものであり、第1のセ
レクタ84の「1」乃至「5」入力にはデータYi
を1乃至5ビツトタイム遅延したデータが夫々与
えられる。第2のセレクタ85の「1」乃至
「5」入力には該データYiを2乃至6ビツトタイ
ム遅延したデータが夫々与えられる。セレクタ8
4,85の選択制御入力には前述の遅延段数信号
DNUMが与えられており、該信号DNUMの値
「1」乃至「5」に対応して「1」乃至「5」入
力を選択する。例えば、信号DNUMが「2」の
ときは第1のセレクタ84の「2」入力を介して
2ビツトタイム前のデータYiが選択されると共に
第2のセレクタ85の「2」入力を介して3ビツ
トタイム前のデータYiが選択される。このよう
に、信号DNUMの値即ち現サンプル点に関する
補間次数に応じて、その次数と同数のサンプル数
だけ前の波形振幅値データYiとその次数より1多
いサンプル数だけ前の波形振幅値データYiがセレ
クタ84,85で夫々選択され、これがデータ
DY1,DY2として出力される。その結果、補
間次数減少期間において、現サンプル点の直前の
サンプル点で加算器60及びレジスタ61におい
て求めた振幅累算値に含まれる最も古い2サンプ
ル点の振幅値をデータDY1,DY2として選択
することができる。例えば、現サンプル点の番号
を9、次数を4とすると、その直前のサンプル点
の番号は8、次数は5であり、そのときの振幅累
算値はサンプル点番号8、7、6、5、4の合計
であり、最も古い2サンプル点は5、4であり、
これは現サンプル点の次数4と同数のサンプル数
4だけ前のサンプル点「9−4=5」とその次数
4より1多いサンプル数5だけ前のサンプル点
「9−5=4」である。
第10図は補間回路59の動作例を示したタイ
ミングチヤートであり、最大補間次数を「5」に
設定した例である。制御回路67から発生される
各信号DNUM、DIV、INCM、DECM、STPM
は第8図に示したものと同じであり、他の信号は
サンプル点番号を用いて表わしている。即ち、波
形メモリ53から読み出された現サンプル点の波
形振幅値データYiを示す欄では、サンプル点番号
1、2、3…を用いてその振幅値を区別してお
り、他の信号もこのサンプル点番号を用いてその
内容を表わしている。D1〜D6は第9図のシフ
トレジスタ83の各ステージの出力を示す。DY
1,DY2は前述の通り第9図のセレクタ84,
85の出力を示す。SOはセレクタ65の出力を
示す。ADAはゲート62を介して加算器60に
入力されるレジスタ61の出力を示す。ADBは
引算器66の出力を示す。ACCは加算器60の
出力を示す。プラス記号またはマイナス記号は、
サンプル点番号で示されたサンプル点の波形振幅
値Yiを加算または減算することを示す。第10図
の意味は、これまでの説明から明らかであるの
で、重複説明を避けるためにここでは詳しい説明
は省略する。ACCの欄を参照すると、補間次数
が所定値まで漸増しその後漸減する補間演算が行
なわれることが確認できる。
ミングチヤートであり、最大補間次数を「5」に
設定した例である。制御回路67から発生される
各信号DNUM、DIV、INCM、DECM、STPM
は第8図に示したものと同じであり、他の信号は
サンプル点番号を用いて表わしている。即ち、波
形メモリ53から読み出された現サンプル点の波
形振幅値データYiを示す欄では、サンプル点番号
1、2、3…を用いてその振幅値を区別してお
り、他の信号もこのサンプル点番号を用いてその
内容を表わしている。D1〜D6は第9図のシフ
トレジスタ83の各ステージの出力を示す。DY
1,DY2は前述の通り第9図のセレクタ84,
85の出力を示す。SOはセレクタ65の出力を
示す。ADAはゲート62を介して加算器60に
入力されるレジスタ61の出力を示す。ADBは
引算器66の出力を示す。ACCは加算器60の
出力を示す。プラス記号またはマイナス記号は、
サンプル点番号で示されたサンプル点の波形振幅
値Yiを加算または減算することを示す。第10図
の意味は、これまでの説明から明らかであるの
で、重複説明を避けるためにここでは詳しい説明
は省略する。ACCの欄を参照すると、補間次数
が所定値まで漸増しその後漸減する補間演算が行
なわれることが確認できる。
第6図において、エンベロープ発生器86は、
第2図の場合と同様に、第1の波形の読み出し中
は一定レベル(最大レベル)のエンベロープ信号
を発生し、第2の波形を繰返し読み出す期間では
減衰エンベロープ波形信号を発生する。発音開始
時に微分回路55の出力パルスによりエンベロー
プカウンタ87及びフリツプフロツプ88がリセ
ツトされる。リセツトされたフリツプフロツプ8
8の出力Qは“0”となり、アンド回路89を不
能化し、カウント用クロツクパルスφcを阻止す
る。従つてエンベロープカウンタ87はリセツト
された状態を維持し、このカウンタ86の出力に
応じてエンベロープメモリ90から最大レベルの
エンベロープデータが持続的に読み出される。
第2図の場合と同様に、第1の波形の読み出し中
は一定レベル(最大レベル)のエンベロープ信号
を発生し、第2の波形を繰返し読み出す期間では
減衰エンベロープ波形信号を発生する。発音開始
時に微分回路55の出力パルスによりエンベロー
プカウンタ87及びフリツプフロツプ88がリセ
ツトされる。リセツトされたフリツプフロツプ8
8の出力Qは“0”となり、アンド回路89を不
能化し、カウント用クロツクパルスφcを阻止す
る。従つてエンベロープカウンタ87はリセツト
された状態を維持し、このカウンタ86の出力に
応じてエンベロープメモリ90から最大レベルの
エンベロープデータが持続的に読み出される。
一方、アドレスカウンタ56のカウント値がリ
ピートアドレスに到達したとき比較器91の一致
検出出力EQが“1”となり、フリツプフロツプ
88がセツトされる。これによりアンド回路89
が可能化され、カウント用クロツクパルスφcがエ
ンベロープカウンタ87に与えられるようにな
る。こうしてカウンタ87のカウント値が増加
し、エンベロープメモリ90から減衰エンベロー
プ波形データが読み出される。このエンベロープ
波形データは乗算器70に与えられ、補間回路5
9の割算器69から出力された波形振幅値データ
に乗算される。こうして、波形メモリ53の読み
出しアドレスが最初にリピートアドレスに到達す
るまでは、即ち第1の波形の読み出し中は、エン
ベロープ波形データのレベルが一定であり、それ
以後は、即ち第2の波形を繰返し読み出す期間で
は、エンベロープ波形データのレベルが徐々に減
衰する。エンベロープカウンタ87の内容が所定
の最終アドレスに到達したとき、最終アドレス検
出回路92でこれを検出し、オア回路93を介し
てフリツプフロツプ88をリセツトする。これに
よりクロツクパルスφcの送入が中止され、カウン
タ87は最終アドレスで停止し、メモリ90から
はレベルゼロを示すデータが出力され続ける。乗
算器70の出力はデイジタル/アナログ変換器9
4でアナログ変換され、サウンドシステム95に
与えられる。
ピートアドレスに到達したとき比較器91の一致
検出出力EQが“1”となり、フリツプフロツプ
88がセツトされる。これによりアンド回路89
が可能化され、カウント用クロツクパルスφcがエ
ンベロープカウンタ87に与えられるようにな
る。こうしてカウンタ87のカウント値が増加
し、エンベロープメモリ90から減衰エンベロー
プ波形データが読み出される。このエンベロープ
波形データは乗算器70に与えられ、補間回路5
9の割算器69から出力された波形振幅値データ
に乗算される。こうして、波形メモリ53の読み
出しアドレスが最初にリピートアドレスに到達す
るまでは、即ち第1の波形の読み出し中は、エン
ベロープ波形データのレベルが一定であり、それ
以後は、即ち第2の波形を繰返し読み出す期間で
は、エンベロープ波形データのレベルが徐々に減
衰する。エンベロープカウンタ87の内容が所定
の最終アドレスに到達したとき、最終アドレス検
出回路92でこれを検出し、オア回路93を介し
てフリツプフロツプ88をリセツトする。これに
よりクロツクパルスφcの送入が中止され、カウン
タ87は最終アドレスで停止し、メモリ90から
はレベルゼロを示すデータが出力され続ける。乗
算器70の出力はデイジタル/アナログ変換器9
4でアナログ変換され、サウンドシステム95に
与えられる。
尚、第6図の構成を自動リズム演奏装置に適用
する場合は、スタートスイツチ54の出力の代わ
りにリズムパターンパルスを微分回路55に加え
ればよい。また、第6図の構成を音階音の発生に
適用する場合は、スタートスイツチ54の出力の
代わりに鍵押圧を示すキーオン信号を微分回路5
5に加え、クロツクパルスφの周波数を発生すべ
き音階音の音高に応じて制御するようにすればよ
い。勿論、第2図の実施例と同様に複数種類の波
形を時分割で同時に形成し得るように第6図の実
施例を変更することも可能である。
する場合は、スタートスイツチ54の出力の代わ
りにリズムパターンパルスを微分回路55に加え
ればよい。また、第6図の構成を音階音の発生に
適用する場合は、スタートスイツチ54の出力の
代わりに鍵押圧を示すキーオン信号を微分回路5
5に加え、クロツクパルスφの周波数を発生すべ
き音階音の音高に応じて制御するようにすればよ
い。勿論、第2図の実施例と同様に複数種類の波
形を時分割で同時に形成し得るように第6図の実
施例を変更することも可能である。
第11図は、第2図、第6図とは更に異なる補
間演算を行なう実施例を示したものであり、波形
メモリ96には第2図、第6図の波形メモリ1
0,53と同様に第1の波形及び第2の波形が記
憶されている。この実施例においては、常に一定
の補間次数で補間演算を行なうようにしている。
波形メモリ96の読み出しアドレスデータを発生
する回路は図示していないが、第2図、第6図と
同様に、スタートアドレスからエンドアドレスま
で一通り増加した後はリピートアドレスからエン
ドアドレスまでの増加を繰返すものである。
間演算を行なう実施例を示したものであり、波形
メモリ96には第2図、第6図の波形メモリ1
0,53と同様に第1の波形及び第2の波形が記
憶されている。この実施例においては、常に一定
の補間次数で補間演算を行なうようにしている。
波形メモリ96の読み出しアドレスデータを発生
する回路は図示していないが、第2図、第6図と
同様に、スタートアドレスからエンドアドレスま
で一通り増加した後はリピートアドレスからエン
ドアドレスまでの増加を繰返すものである。
波形メモリ96から読み出された波形サンプル
振幅値データは、一定の補間次数Kよりも1少な
い「K−1」のステージ数をもつシフトレジスタ
97に入力されると共に加算器98に入力され
る。シフトレジスタ97は1乃至K−1ビツトタ
イム遅延した振幅値データを並列に出力し、ゲー
ト99を介して加算器98に与える。ゲート99
は制御信号GATENによつて補間演算期間中のみ
開放される。加算器98の出力は割算器100に
与えられ、補間演算期間中は一定の補間次数Kを
示し、非補間演算期間中は数値「1」を示す除数
データDIVNUMによつて割算される。
振幅値データは、一定の補間次数Kよりも1少な
い「K−1」のステージ数をもつシフトレジスタ
97に入力されると共に加算器98に入力され
る。シフトレジスタ97は1乃至K−1ビツトタ
イム遅延した振幅値データを並列に出力し、ゲー
ト99を介して加算器98に与える。ゲート99
は制御信号GATENによつて補間演算期間中のみ
開放される。加算器98の出力は割算器100に
与えられ、補間演算期間中は一定の補間次数Kを
示し、非補間演算期間中は数値「1」を示す除数
データDIVNUMによつて割算される。
従つて、補間を行なわない区間では、波形メモ
リ96の読み出し出力のみが加算器98に加わ
り、これが割算器100をそのまま通過し(「1」
で割算するので値は変わらない)、出力される。
一方、補間を行なう区間では、波形メモリ96か
ら読み出された現サンプル点の振幅値データとそ
のK−1サンプル点前までの振幅値データ(合計
Kサンプル点分の振幅値データ)が加算器98で
加算され、その加算結果が合計したサンプル点数
Kを示す除数データDIVNUMによつて割算器1
00で割算され、平均値が求められる。割算器1
00の出力信号には第2図又は第6図の実施例と
同様にエンベロープが付与されるが、この点につ
いては図示を省略する。
リ96の読み出し出力のみが加算器98に加わ
り、これが割算器100をそのまま通過し(「1」
で割算するので値は変わらない)、出力される。
一方、補間を行なう区間では、波形メモリ96か
ら読み出された現サンプル点の振幅値データとそ
のK−1サンプル点前までの振幅値データ(合計
Kサンプル点分の振幅値データ)が加算器98で
加算され、その加算結果が合計したサンプル点数
Kを示す除数データDIVNUMによつて割算器1
00で割算され、平均値が求められる。割算器1
00の出力信号には第2図又は第6図の実施例と
同様にエンベロープが付与されるが、この点につ
いては図示を省略する。
信号GATEN、DIVNUMは波形読み出しアド
レスデータにもとづき制御回路101から発生さ
れる。この制御回路101において、補間開始ア
ドレス検出回路102は読み出しアドレスデータ
が所定の補間開始アドレスになつたとき信号
“1”を出力し、フリツプフロツプ103をセツ
トすると共にカウンタ104をリセツトする。カ
ウンタ104は、補間開始時から所定の補間期間
分のカウントを行なうためのもので、リセツト解
除後にクロツクパルスφのカウントを開始する。
補間終了検出回路105はカウンタ104のカウ
ント値が所定の補間終了数に達したことを検出す
るためのもので、その検出時に信号“1”を出力
し、カウンタ104のカウント動作をストツプす
ると共にフリツプフロツプ103をリセツトす
る。フリツプフロツプ103の出力は信号
GATENとしてゲート99に与えられると共にセ
レクタ106の制御入力に与えられる。セレクタ
106は信号GATEN“0”のとき数値「1」を
選択し、“1”のとき数値「K」を選択する。こ
のセレクタ106の出力が除数データDIVNUM
として割算器100に与えられる。
レスデータにもとづき制御回路101から発生さ
れる。この制御回路101において、補間開始ア
ドレス検出回路102は読み出しアドレスデータ
が所定の補間開始アドレスになつたとき信号
“1”を出力し、フリツプフロツプ103をセツ
トすると共にカウンタ104をリセツトする。カ
ウンタ104は、補間開始時から所定の補間期間
分のカウントを行なうためのもので、リセツト解
除後にクロツクパルスφのカウントを開始する。
補間終了検出回路105はカウンタ104のカウ
ント値が所定の補間終了数に達したことを検出す
るためのもので、その検出時に信号“1”を出力
し、カウンタ104のカウント動作をストツプす
ると共にフリツプフロツプ103をリセツトす
る。フリツプフロツプ103の出力は信号
GATENとしてゲート99に与えられると共にセ
レクタ106の制御入力に与えられる。セレクタ
106は信号GATEN“0”のとき数値「1」を
選択し、“1”のとき数値「K」を選択する。こ
のセレクタ106の出力が除数データDIVNUM
として割算器100に与えられる。
読み出しアドレスデータ、補間開始アドレス検
出回路102の出力、信号GATEN、カウンタ1
04の内容、補間終了検出回路105の出力、信
号DIVNUMの内容、の一例が第12図に示され
ている。この例では、補間開始アドレスはZで示
し、カウンタ104のカウント値が「5」になつ
たとき補間を終了するようにしている。
出回路102の出力、信号GATEN、カウンタ1
04の内容、補間終了検出回路105の出力、信
号DIVNUMの内容、の一例が第12図に示され
ている。この例では、補間開始アドレスはZで示
し、カウンタ104のカウント値が「5」になつ
たとき補間を終了するようにしている。
尚、第11図ではカウンタ104が所定値にな
つたとき補間を終了するようにしているが、第2
図の例のように補間値と波形メモリ読み出し値と
を比較し両者がほぼ一致したとき補間を終了する
ようにしてもよい。
つたとき補間を終了するようにしているが、第2
図の例のように補間値と波形メモリ読み出し値と
を比較し両者がほぼ一致したとき補間を終了する
ようにしてもよい。
尚、第6図及び第11図のような補間次数又は
最大補間次数が一定の実施例において、この補間
次数を鍵タツチ検出信号に応じて制御するように
してもよい。
最大補間次数が一定の実施例において、この補間
次数を鍵タツチ検出信号に応じて制御するように
してもよい。
また、上記各実施例においては、所定の補間期
間が到来したときに補間演算を行なうようにして
いるが、補間演算は常時行ない、所定の補間期間
が到来したときにこの補間演算結果を楽音形成に
選択的に利用するようにしてもよい。また、上記
各実施例では、波形メモリ読み出し用のアドレス
カウンタはアツプカウンタであり、エンドアドレ
スより所定アドレス数だけ小さいアドレスを補間
開始アドレスとしている。しかしアドレスカウン
タとしてダウンカウンタを用いた場合は、エンド
アドレスより所定アドレス数だけ大きいアドレス
を補間開始アドレスとしなければならないのは勿
論である。
間が到来したときに補間演算を行なうようにして
いるが、補間演算は常時行ない、所定の補間期間
が到来したときにこの補間演算結果を楽音形成に
選択的に利用するようにしてもよい。また、上記
各実施例では、波形メモリ読み出し用のアドレス
カウンタはアツプカウンタであり、エンドアドレ
スより所定アドレス数だけ小さいアドレスを補間
開始アドレスとしている。しかしアドレスカウン
タとしてダウンカウンタを用いた場合は、エンド
アドレスより所定アドレス数だけ大きいアドレス
を補間開始アドレスとしなければならないのは勿
論である。
尚、この発明によれば、エンドアドレスに記憶
する波形振幅のレベル及び位相に対してリピート
アドレスのそれは任意に選定できるのであるが、
両者が近似するようにリピートアドレスを定める
ようにすれば、より一層スムーズに繰返し波形を
つなげることができるのは言うまでもない。
する波形振幅のレベル及び位相に対してリピート
アドレスのそれは任意に選定できるのであるが、
両者が近似するようにリピートアドレスを定める
ようにすれば、より一層スムーズに繰返し波形を
つなげることができるのは言うまでもない。
ところで、前述のように、この発明に従つて補
間演算済みの波形を波形メモリに予め記憶した場
合は、第2図または第6図または第11図におけ
る補間演算関連回路を除去し、波形メモリに記憶
した補間演算処理済みの第2の波形を繰返し読み
出すように構成すればよい。
間演算済みの波形を波形メモリに予め記憶した場
合は、第2図または第6図または第11図におけ
る補間演算関連回路を除去し、波形メモリに記憶
した補間演算処理済みの第2の波形を繰返し読み
出すように構成すればよい。
発明の効果
以上の通りこの発明によれば、繰返し読み出さ
れる波形相互のつながりを補間演算によつてスム
ーズにしたので、繰返し波形の始まりと終わりの
振幅値及び位相を厳密に合わせる必要がなくな
り、波形選定作業が楽になる。また、立上り部分
の波形と繰返し読み出し用の波形を別に準備し、
繰返し読み出し用波形として立上り部分の波形に
連続する波形を用いたので、楽音の品質向上が図
れると共に立上り部と繰返し部のつながりもスム
ーズにすることができる。更に、この発明によれ
ば、2またはそれ以上の隣合う波形サンプル振幅
データの平均値を個々のサンプル点毎に求める演
算により補間を行なうようにしたため、補間用の
重み付け関数を特別に発生させる必要がなく、ま
た、補間区間において2種類の波形データを重複
して発生させる必要もなくなるため、補間演算の
ための構成を簡単にすることができる、という優
れた効果を奏する。
れる波形相互のつながりを補間演算によつてスム
ーズにしたので、繰返し波形の始まりと終わりの
振幅値及び位相を厳密に合わせる必要がなくな
り、波形選定作業が楽になる。また、立上り部分
の波形と繰返し読み出し用の波形を別に準備し、
繰返し読み出し用波形として立上り部分の波形に
連続する波形を用いたので、楽音の品質向上が図
れると共に立上り部と繰返し部のつながりもスム
ーズにすることができる。更に、この発明によれ
ば、2またはそれ以上の隣合う波形サンプル振幅
データの平均値を個々のサンプル点毎に求める演
算により補間を行なうようにしたため、補間用の
重み付け関数を特別に発生させる必要がなく、ま
た、補間区間において2種類の波形データを重複
して発生させる必要もなくなるため、補間演算の
ための構成を簡単にすることができる、という優
れた効果を奏する。
第1図はこの発明による楽音形成の要旨を説明
するための波形図、第2図はこの発明の一実施例
を示す電気的ブロツク図、第3図は同実施例によ
る補間演算例を示す波形図、第4図は第2図にお
ける波形メモリのメモリマツプを略示した図、第
5図は第2図の発音トリガ回路を音階音形成のた
めに変更した例を示すブロツク図、第6図はこの
発明の別の実施例を示す電気的ブロツク図、第7
図は第6図の制御回路の一例を示すブロツク図、
第8図は同制御回路の動作例を示す各部信号のタ
イミングチヤート、第9図は第6図の遅延回路の
一例を示すブロツク図、第10図は第6図の補間
回路の動作例を示す各部信号のタイミングチヤー
ト、第11図はこの発明の更に別の実施例を示す
電気的ブロツク図、第12図は第11図の動作例
を示す各部信号のタイミングチヤート、である。 10,53,96……波形メモリ、25……補
間区間メモリ、33……振幅値アキユムレータ、
37……補間次数カウンタ、59……補間回路、
31,69,100……割算器、67,101…
…補間次数を設定し、補間区間を指定するための
制御回路。
するための波形図、第2図はこの発明の一実施例
を示す電気的ブロツク図、第3図は同実施例によ
る補間演算例を示す波形図、第4図は第2図にお
ける波形メモリのメモリマツプを略示した図、第
5図は第2図の発音トリガ回路を音階音形成のた
めに変更した例を示すブロツク図、第6図はこの
発明の別の実施例を示す電気的ブロツク図、第7
図は第6図の制御回路の一例を示すブロツク図、
第8図は同制御回路の動作例を示す各部信号のタ
イミングチヤート、第9図は第6図の遅延回路の
一例を示すブロツク図、第10図は第6図の補間
回路の動作例を示す各部信号のタイミングチヤー
ト、第11図はこの発明の更に別の実施例を示す
電気的ブロツク図、第12図は第11図の動作例
を示す各部信号のタイミングチヤート、である。 10,53,96……波形メモリ、25……補
間区間メモリ、33……振幅値アキユムレータ、
37……補間次数カウンタ、59……補間回路、
31,69,100……割算器、67,101…
…補間次数を設定し、補間区間を指定するための
制御回路。
Claims (1)
- 【特許請求の範囲】 1 楽音の立上り部分の複数周期波形から成る第
1の波形に関する波形データを一通り発生した
後、この第1の波形に連続する複数周期波形から
成る第2の波形に関する波形データを繰返し発生
する波形発生手段と; 前記波形発生手段から発生された波形データを
用いて振幅変化を滑らかにする所定の補間演算を
実行するものであり、 補間次数を設定する第1の手段、 前記波形発生手段から出力された波形サンプル
振幅データを前記補間次数に応じたサンプル数分
だけ順番に加算する第2の手段、及び この第2の手段で求めた加算値を前記第1の手
段で設定された前記補間次数で割算して平均値を
求める第3の手段を含み、 この平均値を波形データとして出力する補間手
段と; 前記第2の波形の各繰返しサイクルにおける末
尾の特定区間からその次の繰返しサイクルの始ま
りの特定区間に至る補間区間を指定する補間区間
指定手段とを具え; この補間区間では前記補間手段で求めた波形デ
ータにもとづき楽音を形成し、他の区間では前記
波形発生手段の出力にもとづき楽音を形成するよ
うにしたことを特徴とする楽音形成装置。 2 前記第1の手段は、前記繰返しサイクルにお
ける末尾の特定区間の始まりに相当する所定の補
間開始時から波形サンプルタイミングの変化に応
じて補間次数を順次増加する手段であり、 前記補間区間指定手段は、前記第3の手段で求
めた平均値が前記波形発生手段から出力された波
形サンプル振幅データにほぼ等しくなつたことを
検出する手段を含み、前記所定の補間開始時から
この検出手段による検出時までを補間区間として
指定するものである特許請求の範囲第1項記載の
楽音形成装置。 3 前記第1の手段は、前記繰返しサイクルにお
ける末尾の特定区間の始まりに相当する所定の補
間開始時から波形サンプルタイミングの変化に応
じて補間次数を順次増加し、該次数が所定の最大
値になつた後は該次数を順次減少する手段であ
り、 前記補間区間指定手段は、前記補間次数が増加
する期間及び減少する期間を補間区間として指定
するものである特許請求の範囲第1項記載の楽音
形成装置。 4 前記第1の手段は、常に一定の補間次数を指
定する手段である特許請求の範囲第1項記載の楽
音形成装置。 5 前記波形発生手段は、前記第1の波形及び第
2の波形に関する波形データを記憶した波形メモ
リを含み、この波形メモリから第1の波形に関す
る波形データを一通り読み出した後、第2の波形
に関する波形データを繰返し読み出すものである
特許請求の範囲第1項乃至第4項の何れかに記載
の楽音形成装置。 6 楽音の立上り部分の複数周期波形から成る第
1の波形と、この第1の波形に連続する複数周期
波形から成る第2の波形とを予め記憶した波形メ
モリを具え、この波形メモリから前記第1の波形
を一回読み出した後前記第2の波形を繰返し読み
出すようにした楽音形成装置において、 所望の原楽音波形から立上り部分を含む複数周
期波形から成る第3の波形とこの第3の波形に連
続する複数周期波形から成る第4の波形とを夫々
切り出し、切り出した第4の波形の末尾の特定区
間から始まりの特定区間にかけて該区間の波形サ
ンプル振幅データを用いて、2またはそれ以上の
隣合う波形サンプル振幅データの平均値を個々の
サンプル点毎に求める演算からなる所定の補間演
算を行ない、前記第4の波形から前記末尾及び始
まりの両特定区間を取り除いて得られる波形の最
後に前記補間演算で求めた波形サンプル振幅デー
タから成る波形部分を接続したものを前記第2の
波形として前記波形メモリに記憶させ、 前記第4の波形の始まりの特定区間の波形を前
記第3の波形の最終に接続したものを前記第1の
波形として前記波形メモリに記憶させて成ること
を特徴とする楽音形成装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58136888A JPS6029793A (ja) | 1983-07-28 | 1983-07-28 | 楽音形成装置 |
| US06/634,626 US4635520A (en) | 1983-07-28 | 1984-07-26 | Tone waveshape forming device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58136888A JPS6029793A (ja) | 1983-07-28 | 1983-07-28 | 楽音形成装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6029793A JPS6029793A (ja) | 1985-02-15 |
| JPH043555B2 true JPH043555B2 (ja) | 1992-01-23 |
Family
ID=15185892
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58136888A Granted JPS6029793A (ja) | 1983-07-28 | 1983-07-28 | 楽音形成装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US4635520A (ja) |
| JP (1) | JPS6029793A (ja) |
Families Citing this family (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4779505A (en) * | 1983-09-07 | 1988-10-25 | Nippon Gakki Seizo Kabushiki Kaisha | Electronic musical instrument of full-wave readout system |
| JP2571911B2 (ja) * | 1984-10-22 | 1997-01-16 | ヤマハ株式会社 | 楽音信号発生装置 |
| JPS61188595A (ja) * | 1985-02-18 | 1986-08-22 | 松下電器産業株式会社 | 電子楽器音源装置 |
| US4706537A (en) * | 1985-03-07 | 1987-11-17 | Nippon Gakki Seizo Kabushiki Kaisha | Tone signal generation device |
| US4709611A (en) * | 1985-03-19 | 1987-12-01 | Matsushita Electric Industrial Co., Ltd. | Electronic musical instrument for generating a natural musical tone |
| JPS61258295A (ja) * | 1985-05-13 | 1986-11-15 | 松下電器産業株式会社 | 楽音波形発生装置 |
| JPS6263799U (ja) * | 1985-10-09 | 1987-04-20 | ||
| JPH0631989B2 (ja) * | 1985-11-14 | 1994-04-27 | ロ−ランド株式会社 | 電子楽器の波形発生装置 |
| US5262582A (en) * | 1986-11-10 | 1993-11-16 | Terumo Kabushiki Kaisha | Musical tone generating apparatus for electronic musical instrument |
| US5086685A (en) * | 1986-11-10 | 1992-02-11 | Casio Computer Co., Ltd. | Musical tone generating apparatus for electronic musical instrument |
| JP2532230Y2 (ja) * | 1986-12-09 | 1997-04-09 | カシオ計算機株式会社 | 電子楽器の波形記憶装置 |
| DE3938311C2 (de) * | 1988-11-19 | 2002-03-28 | Sony Computer Entertainment Inc | Vorrichtung zum Erzeugen von Quelltondaten |
| DE3943796C2 (de) * | 1988-11-19 | 2002-09-12 | Sony Computer Entertainment Inc | Vorrichtung zum komprimierenden Kodieren von Quelltondaten |
| DE3943801B4 (de) * | 1988-11-19 | 2004-09-16 | Sony Computer Entertainment Inc. | Vorrichtung zum Erzeugen von Quelltondaten |
| DE3938312C2 (de) * | 1988-11-19 | 2002-03-28 | Sony Computer Entertainment Inc | Verfahren zum Erzeugen von Quelltondaten |
| US4953437A (en) * | 1989-01-17 | 1990-09-04 | Gulbransen Incorporated | Method and apparatus for digitally generating musical notes |
| US5069105A (en) * | 1989-02-03 | 1991-12-03 | Casio Computer Co., Ltd. | Musical tone signal generating apparatus with smooth tone color change in response to pitch change command |
| JP2669073B2 (ja) * | 1989-09-22 | 1997-10-27 | ヤマハ株式会社 | Pcm音源装置 |
| DE4190102T (ja) * | 1990-01-18 | 1992-04-23 | ||
| JPH0413193A (ja) * | 1990-05-02 | 1992-01-17 | Kawai Musical Instr Mfg Co Ltd | 楽音発生装置 |
| JP2999806B2 (ja) * | 1990-07-31 | 2000-01-17 | 株式会社河合楽器製作所 | 楽音発生装置 |
| JPH0540730A (ja) * | 1991-08-06 | 1993-02-19 | Mitsubishi Electric Corp | マイクロコンピユータ |
| GB9600774D0 (en) * | 1996-01-15 | 1996-03-20 | British Telecomm | Waveform synthesis |
| US5977469A (en) * | 1997-01-17 | 1999-11-02 | Seer Systems, Inc. | Real-time waveform substituting sound engine |
| JP3644263B2 (ja) * | 1998-07-31 | 2005-04-27 | ヤマハ株式会社 | 波形形成装置及び方法 |
| JP4861301B2 (ja) * | 2007-11-26 | 2012-01-25 | オーエスシステム株式会社 | タグボートにおけるロープ案内装置 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4036096A (en) * | 1974-07-11 | 1977-07-19 | Nippon Gakki Seizo Kabushiki Kaisha | Musical tone waveshape generator |
| JPS52121313A (en) * | 1976-04-06 | 1977-10-12 | Nippon Gakki Seizo Kk | Electronic musical instrument |
| DE2926548C2 (de) * | 1979-06-30 | 1982-02-18 | Rainer Josef 8047 Karlsfeld Gallitzendörfer | Wellenformgenerator zur Klangformung in einem elektronischen Musikinstrument |
| JPS5758198A (en) * | 1980-09-25 | 1982-04-07 | Suwa Seikosha Kk | Voice synthesizer |
| JPS594719B2 (ja) * | 1981-08-01 | 1984-01-31 | 郵政省電波研究所長 | 音声合成用基本周期波形生成法 |
| JPS5865493A (ja) * | 1981-10-15 | 1983-04-19 | 松下電器産業株式会社 | 波形発生装置 |
| JPS59188697A (ja) * | 1983-04-11 | 1984-10-26 | ヤマハ株式会社 | 楽音発生装置 |
-
1983
- 1983-07-28 JP JP58136888A patent/JPS6029793A/ja active Granted
-
1984
- 1984-07-26 US US06/634,626 patent/US4635520A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US4635520A (en) | 1987-01-13 |
| JPS6029793A (ja) | 1985-02-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH043555B2 (ja) | ||
| US4461199A (en) | Electronic musical instruments | |
| EP0199192A2 (en) | Tone signal generation device | |
| JPS6325359B2 (ja) | ||
| EP0235768B1 (en) | Parameter supply device in an electronic musical instrument | |
| JPS6120877B2 (ja) | ||
| JPH0230033B2 (ja) | ||
| US5264657A (en) | Waveform signal generator | |
| JPS6286394A (ja) | 楽音信号発生方法 | |
| JPS6211357B2 (ja) | ||
| JPS6330638B2 (ja) | ||
| US5245126A (en) | Waveform generation system with reduced memory requirement, for use in an electronic musical instrument | |
| US5022304A (en) | Musical tone signal generating apparatus | |
| JP2768241B2 (ja) | 信号処理装置 | |
| JPH0370237B2 (ja) | ||
| JPH0369119B2 (ja) | ||
| JP2666764B2 (ja) | 電子楽器 | |
| JP2666762B2 (ja) | 電子楽器 | |
| JPH0727384B2 (ja) | 楽音信号発生装置 | |
| JP3337450B2 (ja) | 電子楽器 | |
| JP3217745B2 (ja) | 電子楽器 | |
| JP2950893B2 (ja) | 楽音信号発生装置 | |
| JPH0120759B2 (ja) | ||
| JP2666763B2 (ja) | 電子楽器 | |
| KR830000427B1 (ko) | 전자 악기의 순간 선곡 기억장치 |