JPH0372399A - 楽音発生装置 - Google Patents
楽音発生装置Info
- Publication number
- JPH0372399A JPH0372399A JP1208643A JP20864389A JPH0372399A JP H0372399 A JPH0372399 A JP H0372399A JP 1208643 A JP1208643 A JP 1208643A JP 20864389 A JP20864389 A JP 20864389A JP H0372399 A JPH0372399 A JP H0372399A
- Authority
- JP
- Japan
- Prior art keywords
- envelope
- signal
- peak value
- value
- musical tone
- 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
- 238000001514 detection method Methods 0.000 claims description 43
- 238000000605 extraction Methods 0.000 claims description 38
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000000630 rising effect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 16
- 230000005236 sound signal Effects 0.000 abstract description 5
- 238000004519 manufacturing process Methods 0.000 abstract description 3
- 230000001419 dependent effect Effects 0.000 abstract 1
- 238000000034 method Methods 0.000 description 193
- 230000008569 process Effects 0.000 description 184
- 239000011295 pitch Substances 0.000 description 111
- 230000008859 change Effects 0.000 description 33
- 102100032366 C-C motif chemokine 7 Human genes 0.000 description 32
- 101000797758 Homo sapiens C-C motif chemokine 7 Proteins 0.000 description 32
- 238000010586 diagram Methods 0.000 description 20
- 238000006243 chemical reaction Methods 0.000 description 17
- 230000007704 transition Effects 0.000 description 9
- 230000002238 attenuated effect Effects 0.000 description 8
- 230000000737 periodic effect Effects 0.000 description 6
- 230000012447 hatching Effects 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000002459 sustained effect Effects 0.000 description 3
- WBMKMLWMIQUJDP-STHHAXOLSA-N (4R,4aS,7aR,12bS)-4a,9-dihydroxy-3-prop-2-ynyl-2,4,5,6,7a,13-hexahydro-1H-4,12-methanobenzofuro[3,2-e]isoquinolin-7-one hydrochloride Chemical compound Cl.Oc1ccc2C[C@H]3N(CC#C)CC[C@@]45[C@@H](Oc1c24)C(=O)CC[C@@]35O WBMKMLWMIQUJDP-STHHAXOLSA-N 0.000 description 2
- MZZINWWGSYUHGU-UHFFFAOYSA-J ToTo-1 Chemical compound [I-].[I-].[I-].[I-].C12=CC=CC=C2C(C=C2N(C3=CC=CC=C3S2)C)=CC=[N+]1CCC[N+](C)(C)CCC[N+](C)(C)CCC[N+](C1=CC=CC=C11)=CC=C1C=C1N(C)C2=CC=CC=C2S1 MZZINWWGSYUHGU-UHFFFAOYSA-J 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 101100460146 Arabidopsis thaliana NEET gene Proteins 0.000 description 1
- 241000239290 Araneae Species 0.000 description 1
- 244000026610 Cynodon dactylon var. affinis Species 0.000 description 1
- 101000684919 Homo sapiens Sodium- and chloride-dependent creatine transporter 1 Proteins 0.000 description 1
- 101100060081 Monascus ruber citB gene Proteins 0.000 description 1
- 101100326215 Pseudomonas aeruginosa bla gene Proteins 0.000 description 1
- 102100023153 Sodium- and chloride-dependent creatine transporter 1 Human genes 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
C産業上の利用分野〕
本発明は、電子ギター等の電子弦楽器をはしめとするシ
ンセサイザータイプの電子楽器に係り、特に発音される
楽音のエンベロープ制御技術に関する。
ンセサイザータイプの電子楽器に係り、特に発音される
楽音のエンベロープ制御技術に関する。
ギター等を演奏操作することにより弦の振動等を電気信
号として検出し、その入力波形信号に従ってデジタル回
路等で構成された楽音発生回路を制御して、楽音を合威
し放音させるようにした電子楽器が開発されている。
号として検出し、その入力波形信号に従ってデジタル回
路等で構成された楽音発生回路を制御して、楽音を合威
し放音させるようにした電子楽器が開発されている。
上記のような電子楽器においては、入力波形信号から例
えばピッチ周期を抽出し、楽音発生回路がそのピッチ周
期に対応した音高の楽音を発生すさせている。
えばピッチ周期を抽出し、楽音発生回路がそのピッチ周
期に対応した音高の楽音を発生すさせている。
一方、楽音に付加する音量等のエンベロープ制御につい
ては、第1の従来例として、入力波形信号の立ち上がり
時、すなわち、例えばギターにおいては弦をピッキング
した時点における信号強度を検出し、楽音発生回路がそ
の(i号強度に対応して音量及び音色等を変化させた楽
音を発生ずるものがある。すなわち、発音される楽音の
例えば音量エンベロープは楽音発生回路において楽音の
種類(音色)毎に予め設定されており、入力波形信号の
立ち」二かり時の振幅の大小によりエンベロープ全体の
レベルが変化する以外は、入力波形信号のエンベロープ
とは無関係である。
ては、第1の従来例として、入力波形信号の立ち上がり
時、すなわち、例えばギターにおいては弦をピッキング
した時点における信号強度を検出し、楽音発生回路がそ
の(i号強度に対応して音量及び音色等を変化させた楽
音を発生ずるものがある。すなわち、発音される楽音の
例えば音量エンベロープは楽音発生回路において楽音の
種類(音色)毎に予め設定されており、入力波形信号の
立ち」二かり時の振幅の大小によりエンベロープ全体の
レベルが変化する以外は、入力波形信号のエンベロープ
とは無関係である。
エンベロープ制御の第2の従来例として、エンベロープ
抽出手段によって抽出される入力波形信号のエンベロー
プに基づいて、楽音発生手段から出力される楽音のエン
ベロープを制御することにより、予め定まっている楽音
独自のエンベロープの効果に、入力波形信号のエンベロ
ープの効果を付加するものがある。
抽出手段によって抽出される入力波形信号のエンベロー
プに基づいて、楽音発生手段から出力される楽音のエン
ベロープを制御することにより、予め定まっている楽音
独自のエンベロープの効果に、入力波形信号のエンベロ
ープの効果を付加するものがある。
この従来例では、例えば電子ギターにおいて、演奏者が
弦のピッキング操作をした後に弦振動を強制的に停止さ
せるミュート奏法を行って、入力波形信号の全体的なエ
ンベロープの変化が第21図のEに示すように減衰の速
い特性になる。そして、楽音発生回路から出力される楽
音のエンベロープの変化は第21図のFに示す特性であ
ったとしても、この特性に同図Eの特性が乗算されるた
め、楽音発生回路から発音される楽音のエンベロープの
変化を第21図のGに示すように急激に減衰する特性に
することができる。従って、ミュート奏法等による演奏
効果を容易に付加することができ、演奏者は楽音のエン
ベa−ブを奏法に応して期待した通りに変化させること
が可能となる。
弦のピッキング操作をした後に弦振動を強制的に停止さ
せるミュート奏法を行って、入力波形信号の全体的なエ
ンベロープの変化が第21図のEに示すように減衰の速
い特性になる。そして、楽音発生回路から出力される楽
音のエンベロープの変化は第21図のFに示す特性であ
ったとしても、この特性に同図Eの特性が乗算されるた
め、楽音発生回路から発音される楽音のエンベロープの
変化を第21図のGに示すように急激に減衰する特性に
することができる。従って、ミュート奏法等による演奏
効果を容易に付加することができ、演奏者は楽音のエン
ベa−ブを奏法に応して期待した通りに変化させること
が可能となる。
しかし、第1の従来例の場合、例えば電子ギター等にお
いて弦振動のエンベロープの急激な変化を伴うようなギ
ター奏法を行っても、それとは無関係に楽音発生回路に
おいて楽音のエンベロープが定まってしまうため、演奏
者の期待した演奏効果が得られないだけではなく、非常
に耳障りに聞こえる場合が生ずるという問題点を有して
いる。
いて弦振動のエンベロープの急激な変化を伴うようなギ
ター奏法を行っても、それとは無関係に楽音発生回路に
おいて楽音のエンベロープが定まってしまうため、演奏
者の期待した演奏効果が得られないだけではなく、非常
に耳障りに聞こえる場合が生ずるという問題点を有して
いる。
例えば、演奏者が通常に弦をピッキングした状態で、弦
振動のエンベロープは例えば第20図(a)のAに示す
ような特性を有し、一方、発音される楽音のエンベロー
プは同図(a)のBに示すような特性を有するとする。
振動のエンベロープは例えば第20図(a)のAに示す
ような特性を有し、一方、発音される楽音のエンベロー
プは同図(a)のBに示すような特性を有するとする。
なお、図中の記号ONは、同図Aの弦振動のレベルが所
定値以上になることにより楽音の発音が開始されるタイ
ミングを示し、同しく記号OFFは、同図Aの弦振動の
レベルが所定値以下になることにより発音の終了指示が
なされるタイミングを示す。すなわち、発音される楽器
のエンベロープはOFFタイミングの後は除々tこ減衰
する9このような場合に、演奏者が弦をピッキングした
後、弦振動が充分に減衰しきらないうちに弦を手のひら
等で抑え、弦振動を強制的に停止させるミュート奏法を
行うと、弦振動のエンベロープは同図(ロ)のCに示す
ように、強いアタックの直後に急激に減衰する特性とな
る。この−方、発音される楽音のエンベロープは同図い
)のDに示すように、OFFタイミングの後も減衰音が
大きな音量で長く残り、聴感上も音のはぎれが悪く、鎚
ニート奏法特有のニュアンスが失われてしまうという問
題点を有している。
定値以上になることにより楽音の発音が開始されるタイ
ミングを示し、同しく記号OFFは、同図Aの弦振動の
レベルが所定値以下になることにより発音の終了指示が
なされるタイミングを示す。すなわち、発音される楽器
のエンベロープはOFFタイミングの後は除々tこ減衰
する9このような場合に、演奏者が弦をピッキングした
後、弦振動が充分に減衰しきらないうちに弦を手のひら
等で抑え、弦振動を強制的に停止させるミュート奏法を
行うと、弦振動のエンベロープは同図(ロ)のCに示す
ように、強いアタックの直後に急激に減衰する特性とな
る。この−方、発音される楽音のエンベロープは同図い
)のDに示すように、OFFタイミングの後も減衰音が
大きな音量で長く残り、聴感上も音のはぎれが悪く、鎚
ニート奏法特有のニュアンスが失われてしまうという問
題点を有している。
これに対して、第2の従来例の場合、第21図のG等と
して示したように、入力波形信号のエンベロープを楽音
のエンベロープに反映させることができる。しかし、第
21図Fのアタック部分にも同図Eの入力波形信号のエ
ンベロープが乗算されてしまう。一般に、楽音のアタッ
ク部分の特性はその楽音の音色等の重要な要素を含んで
いるため、上記乗算の結果得られる同図Gのエンベロー
プ特性においてはアタック部分の特性も変化してしまっ
ており、これにより楽音発生回路から元々得られる電子
楽器特有の楽音の音質自体が変化してしまうという問題
点を有している。
して示したように、入力波形信号のエンベロープを楽音
のエンベロープに反映させることができる。しかし、第
21図Fのアタック部分にも同図Eの入力波形信号のエ
ンベロープが乗算されてしまう。一般に、楽音のアタッ
ク部分の特性はその楽音の音色等の重要な要素を含んで
いるため、上記乗算の結果得られる同図Gのエンベロー
プ特性においてはアタック部分の特性も変化してしまっ
ており、これにより楽音発生回路から元々得られる電子
楽器特有の楽音の音質自体が変化してしまうという問題
点を有している。
本発明の課題は、電子楽器特有の音の特性はあまり壊さ
ずに、発音される楽音のエンベロープを入力波形のエン
ベロープに応じて制御可能とすることにより、演奏者が
期待した通りの演奏効果を得られるようにすることにあ
る。
ずに、発音される楽音のエンベロープを入力波形のエン
ベロープに応じて制御可能とすることにより、演奏者が
期待した通りの演奏効果を得られるようにすることにあ
る。
本発明は、例えば弦振動をピックアップによって入力波
形信号として検出し、これにより楽音を制tするタイプ
の電子ギター等として実現される電子楽器である。
形信号として検出し、これにより楽音を制tするタイプ
の電子ギター等として実現される電子楽器である。
そして、まず、人力波形信号のエンベロープ信号を抽出
するエンベロープ抽出手段を有する。同手段は例えば、
人力波形信号をデジタル化することにより得られるデジ
タル波形信号の立ち上がり後の有効なピーク値を順次検
出する有効ピーク値検出手段と、該手段から順次検出さ
れる有効なピーク値と前回の有効なピーク値との平均値
を順次演算しエンベロープ信号として順次出力するエン
ベロープ信号演算手段とによって実現される。
するエンベロープ抽出手段を有する。同手段は例えば、
人力波形信号をデジタル化することにより得られるデジ
タル波形信号の立ち上がり後の有効なピーク値を順次検
出する有効ピーク値検出手段と、該手段から順次検出さ
れる有効なピーク値と前回の有効なピーク値との平均値
を順次演算しエンベロープ信号として順次出力するエン
ベロープ信号演算手段とによって実現される。
次に、楽音は楽音発生手段から発音される。同手段はデ
ジタル音源手段、アナログ音源手段等各種方式のものが
採用できる。例えば、デジモル回路ムこよる場合、デジ
タル楽音波形を記憶するメモリと、特には図示しない制
御手段からの発音開始の指示及び音高制御に基づいて、
該音高に対応するアドレス間隔で前記メモリからデジタ
ル楽音波形を読み出す波形読み出し手段と、読み出され
たデジタル楽音波形をアナログ波形に変換し増幅した後
放音する手段等によって実現される。このほか、各種演
算により、例えば正弦波合成、周波数変調、位相変調な
どによって波形生成を行ってもよい。
ジタル音源手段、アナログ音源手段等各種方式のものが
採用できる。例えば、デジモル回路ムこよる場合、デジ
タル楽音波形を記憶するメモリと、特には図示しない制
御手段からの発音開始の指示及び音高制御に基づいて、
該音高に対応するアドレス間隔で前記メモリからデジタ
ル楽音波形を読み出す波形読み出し手段と、読み出され
たデジタル楽音波形をアナログ波形に変換し増幅した後
放音する手段等によって実現される。このほか、各種演
算により、例えば正弦波合成、周波数変調、位相変調な
どによって波形生成を行ってもよい。
そして、楽音信号の発音開始後、所定タイ珈ングを経過
した以後に、エンベロープ抽出手段により抽出されたエ
ンベロープ信号に対応するように楽音発生手段から発生
される楽音信号のエンベロープを制御するエンベロープ
抽出手段を有する。
した以後に、エンベロープ抽出手段により抽出されたエ
ンベロープ信号に対応するように楽音発生手段から発生
される楽音信号のエンベロープを制御するエンベロープ
抽出手段を有する。
同手段は、例えば所定タイミングを経過した後に、エン
ベロープ信号演算手段から順次出力されるエンベロープ
信号の値を所定タイミング経過時のエンベロープ信号の
値で除算して得た比の値を、楽音発生手段から発生され
る楽音信号に乗算する乗算手段によって実現される。こ
の場合、所定タイ果ングを経過するまでは、上記乗算手
段では例えば値1.0が乗算され、楽音信号は変更を受
けない。
ベロープ信号演算手段から順次出力されるエンベロープ
信号の値を所定タイミング経過時のエンベロープ信号の
値で除算して得た比の値を、楽音発生手段から発生され
る楽音信号に乗算する乗算手段によって実現される。こ
の場合、所定タイ果ングを経過するまでは、上記乗算手
段では例えば値1.0が乗算され、楽音信号は変更を受
けない。
上記構成において、楽音発生手段に、該手段から発生さ
れる楽音信号に、アタック、サスティーン、デイケイ、
リリース等のエンベロープ特性を付加するエンベロープ
発生手段を設け、前述の所定タイミングは、上記エンベ
ロープ発生手段で付加されるエンベロープ特性が、サス
ティーン特性すなわち持続特性になるタイミングとなる
ように設定することができる。
れる楽音信号に、アタック、サスティーン、デイケイ、
リリース等のエンベロープ特性を付加するエンベロープ
発生手段を設け、前述の所定タイミングは、上記エンベ
ロープ発生手段で付加されるエンベロープ特性が、サス
ティーン特性すなわち持続特性になるタイミングとなる
ように設定することができる。
本発明の作用は次の通りである。
楽音信号が楽音発生手段から発音開始されると、所定タ
イミング(例えばサスティーンポイント)に達するまで
のアタック部分では、楽音発生回路から出力される楽音
がそのまま出力され、その楽音の音色等の特性が良く保
存された楽音が発音される。一般に楽音の発音開始部分
(アタック部分)の特性は、その楽音の音色等の重要な
要素を含んでいるため、その部分のみ楽音発生回路から
の楽音信号をそのまま出力することにより、その特徴を
良く保存させることが可能となる。
イミング(例えばサスティーンポイント)に達するまで
のアタック部分では、楽音発生回路から出力される楽音
がそのまま出力され、その楽音の音色等の特性が良く保
存された楽音が発音される。一般に楽音の発音開始部分
(アタック部分)の特性は、その楽音の音色等の重要な
要素を含んでいるため、その部分のみ楽音発生回路から
の楽音信号をそのまま出力することにより、その特徴を
良く保存させることが可能となる。
そして、上記所定タイミング以後は、エンベロープ制御
手段において、入力波形信号のエンベロ−ブ信号に対応
するように楽音発生手段からの楽音(3号のエンベロー
プが制御される。
手段において、入力波形信号のエンベロ−ブ信号に対応
するように楽音発生手段からの楽音(3号のエンベロー
プが制御される。
従って、例えば電子ギターにおいて、演奏者が弦のピッ
キング操作をした後に弦振動を強制的に停止させるミュ
ート奏法を行うような場合にも、発音開始直後のアタッ
ク部分では楽音発生手段からの楽音信号(シンセ音)の
音色が良く保IIされ、その後、ミュート奏法に基づい
て入力波形信号のエンベロープが急激に減衰するのに伴
って、所定タイくングの通過後、入力波形信号のエンベ
ロープ特性がエンベロープ制御手段において楽音信号に
良く反映され、ミュート奏法等による演奏効果が容易に
付加される。
キング操作をした後に弦振動を強制的に停止させるミュ
ート奏法を行うような場合にも、発音開始直後のアタッ
ク部分では楽音発生手段からの楽音信号(シンセ音)の
音色が良く保IIされ、その後、ミュート奏法に基づい
て入力波形信号のエンベロープが急激に減衰するのに伴
って、所定タイくングの通過後、入力波形信号のエンベ
ロープ特性がエンベロープ制御手段において楽音信号に
良く反映され、ミュート奏法等による演奏効果が容易に
付加される。
以下、本発明の実施例につき詳細に説明を行う。
なお、以下の説明においては、記号()、()()で囲
まれ、アンダーラインを付した見出しの順に、順次項目
分けを行う。
まれ、アンダーラインを付した見出しの順に、順次項目
分けを行う。
(圭発里曵渓4動蜘ツ匪辰)
本実施例は、水デイー上に6本の金属弦が張られ、該金
属弦の下部に設けられたフレット(指板)を指で押えな
がら、所望の弦をピッキングすることにより演奏を行う
電子ギターとして実現されている。なお、その外見は省
略する。
属弦の下部に設けられたフレット(指板)を指で押えな
がら、所望の弦をピッキングすることにより演奏を行う
電子ギターとして実現されている。なお、その外見は省
略する。
第1図は、本実施例の全体の構成国である。
まず、ピッチ抽出アナログ回路lは、特には図示しない
前記6本の弦毎にそれぞれ設けられ、各弦の振動を電気
信号に変換するヘキサピックアップからの各出力を、特
には図示しないローパスフィルタに通して高調波成分を
除去することにより、6種類の各波形信号Wi(i=1
〜6)を得る。
前記6本の弦毎にそれぞれ設けられ、各弦の振動を電気
信号に変換するヘキサピックアップからの各出力を、特
には図示しないローパスフィルタに通して高調波成分を
除去することにより、6種類の各波形信号Wi(i=1
〜6)を得る。
更に、各波形信号Wiの振幅の符号が正又は負に変化す
る毎に、ハイレベル又はローレベルとなるパルス状のゼ
ロクロス信号Zi (i=1〜6)を発生する。そして
、これら6種類の波形信号wi及びゼロクロス信号Zi
を、各々特には図示しないA/D変換器等により、時分
割のシリアルゼロクロス信号ZCR及びデジタル出力(
時分割波形信号)DIに変換し、出力する。
る毎に、ハイレベル又はローレベルとなるパルス状のゼ
ロクロス信号Zi (i=1〜6)を発生する。そして
、これら6種類の波形信号wi及びゼロクロス信号Zi
を、各々特には図示しないA/D変換器等により、時分
割のシリアルゼロクロス信号ZCR及びデジタル出力(
時分割波形信号)DIに変換し、出力する。
ピッチ抽出デジタル回路2は、第2図に示すようにピー
ク検出回路201、時定数変換制御回路202、波高値
取込み回路203、ゼロクロス時刻取込回路204から
なる。これら第2図の各回路は、前記ピッチ抽出アナロ
グ回路1(第1図)からの、6弦分を時分割したシリア
ルゼロクロス信号ZCR及びデジタル出力D1に基づい
て、6弦分を時分割処理する。以下の説明では説明を容
易にするため1弦分の処理について説明し、シリアルゼ
ロクロス信号ZCR及びデジタル出力D1は1弦分の信
号のイメージで説明するが、特に言及しないときは6弦
分について時分割処理が行われているものとする。
ク検出回路201、時定数変換制御回路202、波高値
取込み回路203、ゼロクロス時刻取込回路204から
なる。これら第2図の各回路は、前記ピッチ抽出アナロ
グ回路1(第1図)からの、6弦分を時分割したシリア
ルゼロクロス信号ZCR及びデジタル出力D1に基づい
て、6弦分を時分割処理する。以下の説明では説明を容
易にするため1弦分の処理について説明し、シリアルゼ
ロクロス信号ZCR及びデジタル出力D1は1弦分の信
号のイメージで説明するが、特に言及しないときは6弦
分について時分割処理が行われているものとする。
第2図において、まず、ピーク検出回路201は、前記
シリアルゼロクロス信号ZCR及びデジタル出力D1に
基づいて、デジタル出力D1の最大ピーク点及び最小ピ
ーク点を検出する。そのために、同回路201の内部に
、特には図示しないが、過去のピーク値の絶対値を減算
しく減衰させ)ながらホールドするピークホールド回路
を有している。そして、ピーク検出回路201は前回の
ピ一り値検出後、上記ピークホールド回路から出力され
るピークホールド信号をしきい値として、次のシリアル
ゼロクロス信号ZCRが発生した後にデジタル出力D1
の絶対値がこのしきい値を越えた時点でピーク値のタイ
ミングを検出する。なる、ピーク値のタイごング検出は
、デジタル出力Diが正符号の場合と負符号の場合の各
々について行われる。そして、上記ピーク値の検出タイ
ミングで、正符号の場合は最大ピーク値検出信号MAX
、負符号の場合は最小ピーク値検出信号M I Nを出
力する。なお、これらの各信号も実際には当然6弦分の
時分割信号である。
シリアルゼロクロス信号ZCR及びデジタル出力D1に
基づいて、デジタル出力D1の最大ピーク点及び最小ピ
ーク点を検出する。そのために、同回路201の内部に
、特には図示しないが、過去のピーク値の絶対値を減算
しく減衰させ)ながらホールドするピークホールド回路
を有している。そして、ピーク検出回路201は前回の
ピ一り値検出後、上記ピークホールド回路から出力され
るピークホールド信号をしきい値として、次のシリアル
ゼロクロス信号ZCRが発生した後にデジタル出力D1
の絶対値がこのしきい値を越えた時点でピーク値のタイ
ミングを検出する。なる、ピーク値のタイごング検出は
、デジタル出力Diが正符号の場合と負符号の場合の各
々について行われる。そして、上記ピーク値の検出タイ
ミングで、正符号の場合は最大ピーク値検出信号MAX
、負符号の場合は最小ピーク値検出信号M I Nを出
力する。なお、これらの各信号も実際には当然6弦分の
時分割信号である。
次に、時定数変換制御回路202は、上記ピーク検出回
路201内のピークホールド回路の減衰率を変更する回
路であり、ピーク検出回路201からの最大・最小ピー
ク値検出信号MAX、MIN、及び第1図の中央制御装
置(MCP、以下同じ)3からの制御により動作する。
路201内のピークホールド回路の減衰率を変更する回
路であり、ピーク検出回路201からの最大・最小ピー
ク値検出信号MAX、MIN、及び第1図の中央制御装
置(MCP、以下同じ)3からの制御により動作する。
これについては後述する。
続いて、第2図における波高値取込回路203は、前記
ピーク抽出アナログ回路1より時分割的に送出されてく
るデジタル出力DIを、各弦毎の波高値にデマルチプレ
クス(分解)処理し、前記ピーク検出回路201からの
ピーク値検出信号MAX、MINに従って、ピーク値を
ホールドする。
ピーク抽出アナログ回路1より時分割的に送出されてく
るデジタル出力DIを、各弦毎の波高値にデマルチプレ
クス(分解)処理し、前記ピーク検出回路201からの
ピーク値検出信号MAX、MINに従って、ピーク値を
ホールドする。
そして、MCP3 (第1図)がアドレスデコーダ4(
第1図)を介してアクセスしてきた弦についての最大ピ
ーク値、もしくは最小ピーク値をバスBUSを介してM
CP3へ順次出力する。また、この波高値取込回路20
3からは、上記ピーク値の他、各弦毎の振動の瞬時値も
出力可能になっている。
第1図)を介してアクセスしてきた弦についての最大ピ
ーク値、もしくは最小ピーク値をバスBUSを介してM
CP3へ順次出力する。また、この波高値取込回路20
3からは、上記ピーク値の他、各弦毎の振動の瞬時値も
出力可能になっている。
ゼロクロス時刻取込回路204は、前記ピッチ抽出アナ
ログ回路1(第1図)からのシリアルゼロクロス信号Z
CRに従って、各弦共通のタイムベースカウンタ204
1の出力を、各弦のゼロクロス時点、厳密には、ピーク
検出回路201から出力される最大・最小ピーク値検出
信号MAX、MINで決定される最大ピーク点及び最小
ピーク点の通過タイミング直後のゼロクロス時点でラッ
チする。このラッチ動作が行われると、ゼロクロス時刻
取込回路204は続いて、第1図のMCP3に割り込み
信号INTを出力する。これにより、MCP3からアド
レスデコーダ4(第1図)を介して出力される制御信号
(後述する)に従って、ゼロクロスが発生した弦番号、
ラッチした当該弦に対応するゼロクロス時刻及び正負情
報(後述する)を、バスBUSを介してMCP3へ順次
出力する。
ログ回路1(第1図)からのシリアルゼロクロス信号Z
CRに従って、各弦共通のタイムベースカウンタ204
1の出力を、各弦のゼロクロス時点、厳密には、ピーク
検出回路201から出力される最大・最小ピーク値検出
信号MAX、MINで決定される最大ピーク点及び最小
ピーク点の通過タイミング直後のゼロクロス時点でラッ
チする。このラッチ動作が行われると、ゼロクロス時刻
取込回路204は続いて、第1図のMCP3に割り込み
信号INTを出力する。これにより、MCP3からアド
レスデコーダ4(第1図)を介して出力される制御信号
(後述する)に従って、ゼロクロスが発生した弦番号、
ラッチした当該弦に対応するゼロクロス時刻及び正負情
報(後述する)を、バスBUSを介してMCP3へ順次
出力する。
また、第2図のタイミングジェネレータ205からは、
第1図及び第2図に示す各回路の処理動作のためのタイ
ミング信号が出力される。
第1図及び第2図に示す各回路の処理動作のためのタイ
ミング信号が出力される。
次に、第1図に戻って、MCP3は、メモリ例えばRO
M301及びRAM302を有するとともに、タイマ3
03を有する。ROM3Q1は後述する各種楽音制御用
のプログラムを記憶している不揮発メモリであり、RA
M302は該制御時の各種変数・データ用のワーク領域
として用いられる書き替え可能なメモリである。また、
タイマ303は、後述するノートオフ(消音)処理のた
めに用いられる。
M301及びRAM302を有するとともに、タイマ3
03を有する。ROM3Q1は後述する各種楽音制御用
のプログラムを記憶している不揮発メモリであり、RA
M302は該制御時の各種変数・データ用のワーク領域
として用いられる書き替え可能なメモリである。また、
タイマ303は、後述するノートオフ(消音)処理のた
めに用いられる。
第1図のアドレスデコーダ4は、前記したゼロクロス時
刻取込回路204(第2図)からの割り込み信号INT
の発生の後、MCP3 (第1図)から発生するアドレ
ス読み出し信号ARに従って、ゼロクロス時刻取込回路
204に、弦番号読込み信号RDNUM、続いて、時刻
読込み信号RDTTTT(i=1〜6)を供給する。ま
た、同様に、波高値取込み回路203(第2図)に波形
読込み信号IrT丁(j=1〜18)を出力する。これ
らの動作の詳細については後述する。
刻取込回路204(第2図)からの割り込み信号INT
の発生の後、MCP3 (第1図)から発生するアドレ
ス読み出し信号ARに従って、ゼロクロス時刻取込回路
204に、弦番号読込み信号RDNUM、続いて、時刻
読込み信号RDTTTT(i=1〜6)を供給する。ま
た、同様に、波高値取込み回路203(第2図)に波形
読込み信号IrT丁(j=1〜18)を出力する。これ
らの動作の詳細については後述する。
楽音発生回路5(#1〜#n)は、各入力側にインター
フェース(Musical Instrument D
igitalInterface ) M I D I
が設けられており、楽音制御情報伝送用の専用バスMI
DI−BUSを介してMCP3と接続され、各々1種類
、全体でn種類の楽音を同時に発音可能である。各回路
の内部には発音される楽音の音量又は音色エンベロープ
を制御するエンベロープ発生回路ENVが設けられてお
り、ここで発生されるエンベロープがサスティーンポイ
ントを通過すると、各ENVからMCP3に割り込み信
号I N T ′が出力される。これについては後述す
る。
フェース(Musical Instrument D
igitalInterface ) M I D I
が設けられており、楽音制御情報伝送用の専用バスMI
DI−BUSを介してMCP3と接続され、各々1種類
、全体でn種類の楽音を同時に発音可能である。各回路
の内部には発音される楽音の音量又は音色エンベロープ
を制御するエンベロープ発生回路ENVが設けられてお
り、ここで発生されるエンベロープがサスティーンポイ
ントを通過すると、各ENVからMCP3に割り込み信
号I N T ′が出力される。これについては後述す
る。
乗算器6(#1〜#n)は、上記MIDI−BUSを介
してMCP3から各ラッチ11(41〜#n)にラッチ
された上記n種類の各楽音対応のエンベロープ信号を、
各楽音発生回路5(#1〜#n)から出力される各楽音
信号に乗算する回路である。
してMCP3から各ラッチ11(41〜#n)にラッチ
された上記n種類の各楽音対応のエンベロープ信号を、
各楽音発生回路5(#1〜#n)から出力される各楽音
信号に乗算する回路である。
加算器7は、上記各乗算器6(#1〜#n)から出力さ
れるn種類の楽音信号をデジタル的に加算し、1種類の
デジタル信号に変換する回路である。
れるn種類の楽音信号をデジタル的に加算し、1種類の
デジタル信号に変換する回路である。
そして上記加算器7の出力は、D/A変換器8において
アナログ楽音信号に変換され、アンプ9で増幅された後
、スピーカ10から放音される。
アナログ楽音信号に変換され、アンプ9で増幅された後
、スピーカ10から放音される。
なお、上記n種類の楽音発生回路5(#1〜#n)、乗
算器6(#1〜#n)、及びラッチ11(#1〜#n)
の代わりに、1種類の楽音発生回路及び乗算器をn時分
割処理によって動作させ、n種類の楽音を出力させるよ
うに構成してもよい。
算器6(#1〜#n)、及びラッチ11(#1〜#n)
の代わりに、1種類の楽音発生回路及び乗算器をn時分
割処理によって動作させ、n種類の楽音を出力させるよ
うに構成してもよい。
(注11缶舅□斐鳥拗韮)
以上の構成の実施例の動作につき、以下に説明を行う。
まず、楽音発生までの本実施例の概略動作について説明
を行う。
を行う。
第10図のDlは、第1図のピンチ抽出アナログ回路1
から出力されるデジタル出力D1の1弦分についてアナ
ログ的に示したものである。この波形は、特には図示し
ないギターの6弦のうち1弦をピンキングすることによ
り、対応するピックアップから検出される電気信号をデ
ジタル信号として出力したものであり、当該弦を待には
図示しないフレット(指板)上で押さえる位置に従って
、第10図T0〜丁5等に示すようなピッチ周期を有す
る波形が発生する。
から出力されるデジタル出力D1の1弦分についてアナ
ログ的に示したものである。この波形は、特には図示し
ないギターの6弦のうち1弦をピンキングすることによ
り、対応するピックアップから検出される電気信号をデ
ジタル信号として出力したものであり、当該弦を待には
図示しないフレット(指板)上で押さえる位置に従って
、第10図T0〜丁5等に示すようなピッチ周期を有す
る波形が発生する。
本実施例では、このピンチ周期T0〜T5等をリアルタ
イムで抽出することにより、第1図のMCP3がそれに
対応する音高情報を生成し、第1図の楽音発生回路50
1でその音高の楽音を発音させる。従って、特には図示
しないトレモロアームによって、演奏中に演奏者が弦の
張力を変化させたような場合、それに従ってデジタル出
力D1のピッチ周期が変化するため、音高情報もそれに
従ってリアルタイムで変化し、楽音に豊かな表現を付加
することができる。
イムで抽出することにより、第1図のMCP3がそれに
対応する音高情報を生成し、第1図の楽音発生回路50
1でその音高の楽音を発音させる。従って、特には図示
しないトレモロアームによって、演奏中に演奏者が弦の
張力を変化させたような場合、それに従ってデジタル出
力D1のピッチ周期が変化するため、音高情報もそれに
従ってリアルタイムで変化し、楽音に豊かな表現を付加
することができる。
また、本実施例では、第10図のデジタル出力D1のピ
ーク値a0〜a3又はす。−b3等を検出しており、特
に、第1図のMCP3が立ち上がり時(弦のピッキング
時)の最大ピーク値a。に基づいて音量情報を作成して
楽音発生回路5に転送することにより、弦をピンキング
した強さに応した音量の楽音を発音させることができる
。
ーク値a0〜a3又はす。−b3等を検出しており、特
に、第1図のMCP3が立ち上がり時(弦のピッキング
時)の最大ピーク値a。に基づいて音量情報を作成して
楽音発生回路5に転送することにより、弦をピンキング
した強さに応した音量の楽音を発音させることができる
。
一方、本発明に最も関連するが、発音される楽音のエン
ベロープについてみると、第1図の各楽音発生回路5(
#1〜#n)から発生される各楽音信号には、同回路内
のエンヘローブ発生回路ENVによって、例えば第11
図(a)のようなエンベロープが付加されている(横軸
は時間、縦軸は振幅である)。以下、このエンベロープ
をシンセ・エンベロープと呼ぶ。ここで、SPはエンベ
ロープ特性が持続特性になるサスティーンポイント、O
FFは楽音の発音の停止指示が出されるノートオフのタ
イミングである。
ベロープについてみると、第1図の各楽音発生回路5(
#1〜#n)から発生される各楽音信号には、同回路内
のエンヘローブ発生回路ENVによって、例えば第11
図(a)のようなエンベロープが付加されている(横軸
は時間、縦軸は振幅である)。以下、このエンベロープ
をシンセ・エンベロープと呼ぶ。ここで、SPはエンベ
ロープ特性が持続特性になるサスティーンポイント、O
FFは楽音の発音の停止指示が出されるノートオフのタ
イミングである。
これに対して、第1図のギターへキサピックアップを介
して入力するデジタル出力D1のエンベロープは、第1
1図(b)のような特性を有している。
して入力するデジタル出力D1のエンベロープは、第1
1図(b)のような特性を有している。
[、このエンベロープを弦エンベロープと呼ぶ。
そして今、各楽音の発音開始時において、第1図の対応
するラッチ11には、MCP3からMIDI−BtJS
を介して値1.0がセットされ、対応する乗算器6の入
力も第11図(C)のように値1.0である。従って、
発音開始時のアタック部分では、第1図の対応する乗算
器6から出力される各楽音信号のエンベロープ特性とし
ては、第11図(d)の前半部分で示されるように、同
図(a)のシンセ・エンベロープがそのまま保存される
。
するラッチ11には、MCP3からMIDI−BtJS
を介して値1.0がセットされ、対応する乗算器6の入
力も第11図(C)のように値1.0である。従って、
発音開始時のアタック部分では、第1図の対応する乗算
器6から出力される各楽音信号のエンベロープ特性とし
ては、第11図(d)の前半部分で示されるように、同
図(a)のシンセ・エンベロープがそのまま保存される
。
続いて、第1図の楽音発生回路5から出力される楽音信
号のエンベロープが、第11図(a)の如くサスティー
ンポイントSPで持続状態になると、対応するエンベロ
ープ発生回路ENVからMCP3に割り込み信号INT
′が出力される。なお、この割り込み信号INT’には
、#1〜#nの楽音発生回路5のうちどの楽音発生回路
5内のエンヘローブ発生回路ENVから出力されたかを
示す情報が含まれているとする。
号のエンベロープが、第11図(a)の如くサスティー
ンポイントSPで持続状態になると、対応するエンベロ
ープ発生回路ENVからMCP3に割り込み信号INT
′が出力される。なお、この割り込み信号INT’には
、#1〜#nの楽音発生回路5のうちどの楽音発生回路
5内のエンヘローブ発生回路ENVから出力されたかを
示す情報が含まれているとする。
上記割り込み信号TNT′に基づいて、第1図のMCP
3は対応するラッチ11に対して、サスティーンポイン
トSPの時点での値を1.0として、第1I図山)の弦
エンベロープに対応して変化する値を順次ランチしてゆ
く。従って、サスティーンポイントsP以後、対応する
乗算器6の人力は、第11図(C)のように変化する。
3は対応するラッチ11に対して、サスティーンポイン
トSPの時点での値を1.0として、第1I図山)の弦
エンベロープに対応して変化する値を順次ランチしてゆ
く。従って、サスティーンポイントsP以後、対応する
乗算器6の人力は、第11図(C)のように変化する。
なお、弦エンヘローブは、例えば第1図のピッチ抽出デ
ジタル回路2から検出される、デジタル出力D1の現在
のピーク値と1つ前の同極性のピーク値との平均値とし
て検出される。
ジタル回路2から検出される、デジタル出力D1の現在
のピーク値と1つ前の同極性のピーク値との平均値とし
て検出される。
これにより、第1図の対応する乗算器6から出力される
楽音信号のエンベローブ特性は、第11図(d)の後半
部分で示されるように、同図(b)の弦工ンベロープの
特性が付加されたものとなる。
楽音信号のエンベローブ特性は、第11図(d)の後半
部分で示されるように、同図(b)の弦工ンベロープの
特性が付加されたものとなる。
以上の動作により、乗算器6から発音される楽音につい
て、発音開始時付近のアタック部分では、楽音発生回路
5から出力される楽音のエンベロープ特性が保存されて
いるため、いわゆるシン上音の特徴が良く保存された音
質の楽音が発音される。
て、発音開始時付近のアタック部分では、楽音発生回路
5から出力される楽音のエンベロープ特性が保存されて
いるため、いわゆるシン上音の特徴が良く保存された音
質の楽音が発音される。
すなわち、一般に楽音のアタック部分の特性はその楽音
の音色等の重要な要素を含んでいるため、アタック部分
のみ元のシン七音のエンベロープを用いることにより、
その特徴を良く保存させることが可能となる。そして、
サスティーンポイントSP以後は、逆にデジタル出力D
1の弦エンベロープの特性が付加される。従って、例え
ば演奏者が弦をピッキングした後弦振動が充分に減衰し
きらないうちに弦を手のひら等でおさえ、弦振動を強制
的に停止させるミュート奏法を行ってデジタル出力D1
の振動を急激に減衰させると、そのエンベロープ特性が
対応する乗算器6から発音される楽音信号に良く反映さ
れ、楽音信号にミュート奏法等による演奏効果を容易に
付加できる。
の音色等の重要な要素を含んでいるため、アタック部分
のみ元のシン七音のエンベロープを用いることにより、
その特徴を良く保存させることが可能となる。そして、
サスティーンポイントSP以後は、逆にデジタル出力D
1の弦エンベロープの特性が付加される。従って、例え
ば演奏者が弦をピッキングした後弦振動が充分に減衰し
きらないうちに弦を手のひら等でおさえ、弦振動を強制
的に停止させるミュート奏法を行ってデジタル出力D1
の振動を急激に減衰させると、そのエンベロープ特性が
対応する乗算器6から発音される楽音信号に良く反映さ
れ、楽音信号にミュート奏法等による演奏効果を容易に
付加できる。
更に、MCP3においてデジタル出力D1のノートオフ
のタイミングX1Fが検出されると、第1図の対応する
ラッチ11にはノートオフの直前に書き込まれた値がラ
ッチされたままになり、対応する乗算器6の人力は第1
1図(C)の最後部分の如く一定値となる。
のタイミングX1Fが検出されると、第1図の対応する
ラッチ11にはノートオフの直前に書き込まれた値がラ
ッチされたままになり、対応する乗算器6の人力は第1
1図(C)の最後部分の如く一定値となる。
これにより、対応する乗算器6から出力される楽音信号
のエンベロープ特性は、対応する楽音発生回路5から出
力される楽音信号のエンベロープが縮小されたものとな
る。
のエンベロープ特性は、対応する楽音発生回路5から出
力される楽音信号のエンベロープが縮小されたものとな
る。
なお、上記動作は、ギターの6弦分の時分割デジタル出
力D1について時分割処理され、複数のエンベロープ発
生回路ENV (41〜#n)からの各割り込み信号I
NT”に基づいて、複数のラッチ11(#1〜#n)及
び乗算器6(#1〜#n)を並列に制御するため、第1
図のスピーカIOからは6弦分の楽音を聴覚的に同時に
発音させることができる。そして、これらの楽音は、自
由な音量・音色に設定でき、電子的に各種の効果を付加
できるため、極めて大きな演奏効果が得られる。
力D1について時分割処理され、複数のエンベロープ発
生回路ENV (41〜#n)からの各割り込み信号I
NT”に基づいて、複数のラッチ11(#1〜#n)及
び乗算器6(#1〜#n)を並列に制御するため、第1
図のスピーカIOからは6弦分の楽音を聴覚的に同時に
発音させることができる。そして、これらの楽音は、自
由な音量・音色に設定でき、電子的に各種の効果を付加
できるため、極めて大きな演奏効果が得られる。
(ピッチ デジタル の )
上記動作を実現するための本実施例の動作につき、以下
に詳細に説明を行ってゆく。
に詳細に説明を行ってゆく。
(且幕軌在)
まず、第1図又は第2図のピッチ抽出デジタル回路2の
動作について説明を行う。なお、以下の説明においては
1弦分についてのみ説明し、シリアルゼロクロス信号Z
CR、デジタル出力D1、最大・最小ピーク値検出信号
MAX、MINは1弦分のイメージで説明するが、実際
には6弦分について時分割処理されている。
動作について説明を行う。なお、以下の説明においては
1弦分についてのみ説明し、シリアルゼロクロス信号Z
CR、デジタル出力D1、最大・最小ピーク値検出信号
MAX、MINは1弦分のイメージで説明するが、実際
には6弦分について時分割処理されている。
同回路2では、各弦毎に第10図のデジタル出力D1か
ら、ピーク値a、”’a3又はbe−bz等を抽出し、
同時に各ピーク値の直後のゼロクロス時刻t0〜t7等
を抽出し、更に、各ゼロクロス時刻の直前のピーク値が
正か負かによって1又はOを示す情報を抽出して、第1
図のMCP3に供給する。これに基づいて、MCP3は
前記ゼロクロス時刻の間隔から第10図の各ピッチ周期
T。
ら、ピーク値a、”’a3又はbe−bz等を抽出し、
同時に各ピーク値の直後のゼロクロス時刻t0〜t7等
を抽出し、更に、各ゼロクロス時刻の直前のピーク値が
正か負かによって1又はOを示す情報を抽出して、第1
図のMCP3に供給する。これに基づいて、MCP3は
前記ゼロクロス時刻の間隔から第10図の各ピッチ周期
T。
〜T3等を抽出して、また、その他前記各種楽音情報を
生威し、更に、後述するように必要に応じて、エラー処
理、ノートオフ(消音)処理、リラティブオン・オフの
処理等を行う。
生威し、更に、後述するように必要に応じて、エラー処
理、ノートオフ(消音)処理、リラティブオン・オフの
処理等を行う。
(毘狙軌立)
そのために、第2図のピーク検出回路201では、第1
0図のように入力してくるデジタル出力DIに対して、
まず、その値が負となる部分で、その絶対値がOを越え
たタイミングX1で、第10図に示すような最小ピーク
値検出信号MINがハイレベルになる。
0図のように入力してくるデジタル出力DIに対して、
まず、その値が負となる部分で、その絶対値がOを越え
たタイミングX1で、第10図に示すような最小ピーク
値検出信号MINがハイレベルになる。
これにより、第2図の波高値取込回路203は、上記最
小ピーク値検出信号MINがハイレベルとなった直後の
タイミングX1で、別に入力するデジタル出力D1から
最小ピーク値(負側の波高値)bo (絶対値)を検
出して特には図示しないラッチにホールドし、これと共
に最小ピーク値検出信号MINをローレベルに戻す。
小ピーク値検出信号MINがハイレベルとなった直後の
タイミングX1で、別に入力するデジタル出力D1から
最小ピーク値(負側の波高値)bo (絶対値)を検
出して特には図示しないラッチにホールドし、これと共
に最小ピーク値検出信号MINをローレベルに戻す。
一方、第1図のピッチ抽出アナログ回路1から第2図の
ゼロクロス時刻取込回路204には、第10図に示すよ
うなシリアルゼロクロス信号ZCRが入力している。こ
の信号は、ピッチ抽出アナログ回路1内の特には図示し
ないコンパレータがデジタル出力D1の正負を判定し、
それに従って同コンパレータからハイレベル又はローレ
ベルの2値ディジタル信号として出力される信号である
。
ゼロクロス時刻取込回路204には、第10図に示すよ
うなシリアルゼロクロス信号ZCRが入力している。こ
の信号は、ピッチ抽出アナログ回路1内の特には図示し
ないコンパレータがデジタル出力D1の正負を判定し、
それに従って同コンパレータからハイレベル又はローレ
ベルの2値ディジタル信号として出力される信号である
。
そして、ゼロクロス時刻取込回路204では、前記ピー
ク検出回路201から出力される最小ピーク値検出信号
MINがタイミングX0でノ\イレベルとなった直後に
、シリアルゼロクロス信号ZCRが変化するエツジタイ
ミング、すなわち、デジタル出力D1のゼロクロス時点
で、第2図のタイムベースカウンタ2041で計時され
ている時刻to (第10図)をラッチする。なお、
このラッチデータの最上位ビットに、直前のピーク値が
正であるか負であるかを示す1またはOの正負フラグ(
最小ピーク値boに対してはOとなる)が付加される。
ク検出回路201から出力される最小ピーク値検出信号
MINがタイミングX0でノ\イレベルとなった直後に
、シリアルゼロクロス信号ZCRが変化するエツジタイ
ミング、すなわち、デジタル出力D1のゼロクロス時点
で、第2図のタイムベースカウンタ2041で計時され
ている時刻to (第10図)をラッチする。なお、
このラッチデータの最上位ビットに、直前のピーク値が
正であるか負であるかを示す1またはOの正負フラグ(
最小ピーク値boに対してはOとなる)が付加される。
更に、ゼロクロス時刻取込回路204は上記動作に連続
して、第1図のMCP3に割り込み信号INTを出力す
る。これにより、割り込み信号INTが発生した時点に
おいて、第2図の波高値取込回路203には最小ピーク
値be (絶対値)がホールドされ、ゼロクロス時刻
取込回路204には最小ピーク値boの発生直後の前記
正負フラグを含むゼロクロス時刻がラッチされている。
して、第1図のMCP3に割り込み信号INTを出力す
る。これにより、割り込み信号INTが発生した時点に
おいて、第2図の波高値取込回路203には最小ピーク
値be (絶対値)がホールドされ、ゼロクロス時刻
取込回路204には最小ピーク値boの発生直後の前記
正負フラグを含むゼロクロス時刻がラッチされている。
そして、割り込み信号INTの出力の後、第1図のMC
P3からアドレスデコーダ4を介して行われるアクセス
(後述する)により、上記正負フラグを含むゼロクロス
時刻及び最小ピーク値す。
P3からアドレスデコーダ4を介して行われるアクセス
(後述する)により、上記正負フラグを含むゼロクロス
時刻及び最小ピーク値す。
が、バスBUSを介してMCP3に転送される。
なお、以上の処理は6弦分について時分割処理されてい
るため、後述するように、上記各情報の出力の前に、ど
の弦番号について上記割り込みが発生したのかを示す情
報を、ゼロクロス時刻取込回路204からMCP3に出
力する。
るため、後述するように、上記各情報の出力の前に、ど
の弦番号について上記割り込みが発生したのかを示す情
報を、ゼロクロス時刻取込回路204からMCP3に出
力する。
次に、第2図のピーク検出回路201では、内部の特に
は図示しないピークホールド回路が、第10図の最小ピ
ーク値bo (絶対値)をピークホールドし、第10
図のピークホールド信号qoを出力する。これにより、
ピーク検出回路201は上記ピークホールド信号(絶対
値)をしきい値として、デジタル出力D1の負側につい
てその絶対値が上記しきい値を越えたタイミングX2で
、再び最小ピーク値検出信号MINをハイレベルにする
。
は図示しないピークホールド回路が、第10図の最小ピ
ーク値bo (絶対値)をピークホールドし、第10
図のピークホールド信号qoを出力する。これにより、
ピーク検出回路201は上記ピークホールド信号(絶対
値)をしきい値として、デジタル出力D1の負側につい
てその絶対値が上記しきい値を越えたタイミングX2で
、再び最小ピーク値検出信号MINをハイレベルにする
。
これにより、前記と全く同様にして、第2図の波高値取
込回路203で、最小ピーク値検出信号MINがハイレ
ベルとなった直後のタイミングX3で次の最小ピーク値
り+ (絶対値)がホールドされ、第2図のゼロクロ
ス時刻取込回路204で、上述の最小ピーク値blの発
生直後の正負フラグ(この場合もO)を含むゼロクロス
時刻t2がラッチされ、割り込み信号INTの送出後、
MCP3に転送される。
込回路203で、最小ピーク値検出信号MINがハイレ
ベルとなった直後のタイミングX3で次の最小ピーク値
り+ (絶対値)がホールドされ、第2図のゼロクロ
ス時刻取込回路204で、上述の最小ピーク値blの発
生直後の正負フラグ(この場合もO)を含むゼロクロス
時刻t2がラッチされ、割り込み信号INTの送出後、
MCP3に転送される。
上記に基づく、第10図のデジタル出力D1の負側に対
する最小ピーク値す。〜b3 (絶対値)、ゼロクロ
久時刻j6s Lz、、t−a、tb等の検出、及びピ
ークホールド信号qa−qa等の出力動作と全く同様に
して、デジタル出力D1の正側に対して最大ピーク値a
oxa3等の検出2、ゼロクロス時刻t−1,L3、t
s、tt等の検出、及びピークホールド信号Po”T)
3等の出力動作が並列して行われる。なお、この場合は
、ピーク検出回路201から最大ピーク値検出信号MA
Xが第10図に示すように出力され、第2図の波高値取
込回路203及びゼロクロス時刻取込回路204におい
ては、この信号MAXに基づいて最大ピーク値a0〜a
3等、及び正負フラグ(この場合、正ピークであるから
1)を含むゼロクロス時刻1+、L3、j5、tt等が
ランチされる。
する最小ピーク値す。〜b3 (絶対値)、ゼロクロ
久時刻j6s Lz、、t−a、tb等の検出、及びピ
ークホールド信号qa−qa等の出力動作と全く同様に
して、デジタル出力D1の正側に対して最大ピーク値a
oxa3等の検出2、ゼロクロス時刻t−1,L3、t
s、tt等の検出、及びピークホールド信号Po”T)
3等の出力動作が並列して行われる。なお、この場合は
、ピーク検出回路201から最大ピーク値検出信号MA
Xが第10図に示すように出力され、第2図の波高値取
込回路203及びゼロクロス時刻取込回路204におい
ては、この信号MAXに基づいて最大ピーク値a0〜a
3等、及び正負フラグ(この場合、正ピークであるから
1)を含むゼロクロス時刻1+、L3、j5、tt等が
ランチされる。
以上に示した動作により、第2図のゼロクロス時刻取込
回路204からは、第10図のゼロクロス時刻t0〜t
7の各時刻毎に割り込み信号INTが第1図のMCP3
に出力され、これに基づいた各時刻毎に、最小又は最大
ピーク値(絶対値)とゼロクロス時刻の組として、bo
とto、a。
回路204からは、第10図のゼロクロス時刻t0〜t
7の各時刻毎に割り込み信号INTが第1図のMCP3
に出力され、これに基づいた各時刻毎に、最小又は最大
ピーク値(絶対値)とゼロクロス時刻の組として、bo
とto、a。
とt、、b+ とj2、al とt3、・・・等が順次
MCP3へ出力される。ここでMCP3において、最小
ピーク値(負側のピーク値)であるのか最大ピーク値(
正側のピーク値)であるのかの判定は、ゼロクロス時刻
の最上位ビットに付加されている前記正負フラグにより
可能である。
MCP3へ出力される。ここでMCP3において、最小
ピーク値(負側のピーク値)であるのか最大ピーク値(
正側のピーク値)であるのかの判定は、ゼロクロス時刻
の最上位ビットに付加されている前記正負フラグにより
可能である。
なお、上記動作の他に、第2図の波高値取込回路203
はMCP3からのアクセスによりデジタル出力DIの瞬
時値を任意に出力できる。これについては後述する。
はMCP3からのアクセスによりデジタル出力DIの瞬
時値を任意に出力できる。これについては後述する。
また、第2図のピーク検出回路201内のピークホール
ド回路で発生される第10図のピークホールド信号P
o ””P 2 、qo〜93等の各減衰率(時定数)
は、MCP3の制御下で第2図の時定数変換制御回路2
02によって随時変更される。
ド回路で発生される第10図のピークホールド信号P
o ””P 2 、qo〜93等の各減衰率(時定数)
は、MCP3の制御下で第2図の時定数変換制御回路2
02によって随時変更される。
基本的には、デジタル出力D1の例えば1ピッチ周期時
間が経過した後に、上記ピークホールド信号が急速に減
衰するようにその時定数を変更する。そして、このとき
のピッチ周期情報の設定は、第1図のMCP3が後述す
る動作により、各ピッチ周期の抽出を行った後にバスB
USを介して、時定数変換制御回路202内の時定数変
換レジスタCHTRR(後述する)にピッチ周期情報を
セットして行う。これにより、時定数変換制御回路20
2は、内部に設けられた特には図示しない各弦独立のカ
ウンタと、MCP3から時定数変換レジスタCHTRR
に設定されたピッチ周期情報との一致比較を行い、ピッ
チ周期時間が経過して一致出力が発生した時点で、時定
数チェンジ信号を前記ピーク検出回路201へ送出する
。この動作により、ピークホールド信号は1ピッチ周期
の時間が経過すると、急速に減衰し、これにより次のピ
ッチ周期のピークが適切に検出される。
間が経過した後に、上記ピークホールド信号が急速に減
衰するようにその時定数を変更する。そして、このとき
のピッチ周期情報の設定は、第1図のMCP3が後述す
る動作により、各ピッチ周期の抽出を行った後にバスB
USを介して、時定数変換制御回路202内の時定数変
換レジスタCHTRR(後述する)にピッチ周期情報を
セットして行う。これにより、時定数変換制御回路20
2は、内部に設けられた特には図示しない各弦独立のカ
ウンタと、MCP3から時定数変換レジスタCHTRR
に設定されたピッチ周期情報との一致比較を行い、ピッ
チ周期時間が経過して一致出力が発生した時点で、時定
数チェンジ信号を前記ピーク検出回路201へ送出する
。この動作により、ピークホールド信号は1ピッチ周期
の時間が経過すると、急速に減衰し、これにより次のピ
ッチ周期のピークが適切に検出される。
なお、lピッチ周期が経過する前に、ピーク検出回路2
01において次の最大又は最小ピーク値検出信号MAX
又はMINが検出された場合は、これらの信号の立ち下
がりのタイミングで上記カウンタをリセットし、次のピ
ークホールド信号を生成するようにしている。
01において次の最大又は最小ピーク値検出信号MAX
又はMINが検出された場合は、これらの信号の立ち下
がりのタイミングで上記カウンタをリセットし、次のピ
ークホールド信号を生成するようにしている。
また、各弦の振動周期は、演奏者がフレット上で当該弦
を押さえる位置によって幅広く変化するため、デジタル
出力DIの各弦に対応する波形の立ち上がり時には、そ
の波形の振動を速やかに検知すべく、各弦の最高音周期
時間経過にてピークホールド信号が急速減衰し、その直
後は、各ピッチ周期の倍音を拾わないように、各弦の開
放弦用M(最低音周期)時間経過にて急速減衰するよう
に設定が行われる。そして、ピッチ周期が有効に抽出さ
れた後は、当該ピッチ周期時間経過にて急速減衰するよ
うに設定が行われ、演奏操作によるデジタル出力D1の
各弦のピッチ周期の変化に追従する。
を押さえる位置によって幅広く変化するため、デジタル
出力DIの各弦に対応する波形の立ち上がり時には、そ
の波形の振動を速やかに検知すべく、各弦の最高音周期
時間経過にてピークホールド信号が急速減衰し、その直
後は、各ピッチ周期の倍音を拾わないように、各弦の開
放弦用M(最低音周期)時間経過にて急速減衰するよう
に設定が行われる。そして、ピッチ周期が有効に抽出さ
れた後は、当該ピッチ周期時間経過にて急速減衰するよ
うに設定が行われ、演奏操作によるデジタル出力D1の
各弦のピッチ周期の変化に追従する。
更に、ピッチ検出回路201において、正負どちらのピ
ーク値に対して上記ピークホールドの制御を行うかは、
シリアルゼロクロス信号ZCRがハイレベルであるかロ
ーレベルであるかによって判定するようにしている(第
10図参照)。
ーク値に対して上記ピークホールドの制御を行うかは、
シリアルゼロクロス信号ZCRがハイレベルであるかロ
ーレベルであるかによって判定するようにしている(第
10図参照)。
(MCP の )
以上の動作により、第1図のピッチ抽出回B2から供給
される最大又は最小ピーク値、ゼロクロス時刻、および
ピーク値の正負を示す正負フラグに基づいて、第1図の
MCP3が、ピッチ抽出及び音量・音色に関するパラメ
ータの抽出を行うことにより、楽音発生回路5(#l〜
#n)を制御するための楽音制御情報を発生する。なお
、MCP3はROM301に記憶されたプログラムに従
って、以下に詳細に説明するように第3図〜第9図に示
す動作フローチャートを実行する。
される最大又は最小ピーク値、ゼロクロス時刻、および
ピーク値の正負を示す正負フラグに基づいて、第1図の
MCP3が、ピッチ抽出及び音量・音色に関するパラメ
ータの抽出を行うことにより、楽音発生回路5(#l〜
#n)を制御するための楽音制御情報を発生する。なお
、MCP3はROM301に記憶されたプログラムに従
って、以下に詳細に説明するように第3図〜第9図に示
す動作フローチャートを実行する。
(変歎立説里)
はしめに、後述する第3図〜第9C図の動作フローチャ
ートで示される制御プログラムにおいて用いられる各変
数について、以下に列挙しておく。
ートで示される制御プログラムにおいて用いられる各変
数について、以下に列挙しておく。
AD・・・第1図のピッチ抽出デジタル回路2への入力
波形Dlを直接読んだ 入力波高値(瞬時値) AMP (0,1)・・・正又は負の前回(old )
の波高値(ピーク(り AMRLI・・・振幅レジスタで記憶されているリラテ
ィブ(relative)オフ(off )のチエツク
のための前回 の振幅値(ピーク値)である。こ こで、前記リラティブオフとは波 高値が急激に減衰してきたことに 基づき消音することで、フレット 操作をやめて開放弦へ移ったとき の消音処理に相当する。
波形Dlを直接読んだ 入力波高値(瞬時値) AMP (0,1)・・・正又は負の前回(old )
の波高値(ピーク(り AMRLI・・・振幅レジスタで記憶されているリラテ
ィブ(relative)オフ(off )のチエツク
のための前回 の振幅値(ピーク値)である。こ こで、前記リラティブオフとは波 高値が急激に減衰してきたことに 基づき消音することで、フレット 操作をやめて開放弦へ移ったとき の消音処理に相当する。
AMRL2・・・振幅レジスタで記憶されている前記リ
ラティブオフのための 前々回の振幅値(ピーク値)で、 これにはAMRLIの値が入力さ れる。
ラティブオフのための 前々回の振幅値(ピーク値)で、 これにはAMRLIの値が入力さ れる。
CRTIM・・・最高音フレット(22フレツト目)に
対応する周期 CHTIO・・・開放弦フレットに対応する周期 CHTRR・・・時定数変換レジスタで、上述の時定数
変換制御回路202 (禎2図)の内部に設けられてい る。
対応する周期 CHTIO・・・開放弦フレットに対応する周期 CHTRR・・・時定数変換レジスタで、上述の時定数
変換制御回路202 (禎2図)の内部に設けられてい る。
DUB・・・波形が続けて同一方向にきたことを示すフ
ラグ、 FOFR・・・リラティブオフカウンタ、CENVO・
・・サスティーンポイントでのエンベロープデータ GENV・・・エンベロープデータ HN C・・・波形ナンバーカウンタ MT・・・これからビ・ソチ抽出を行う側のフラグ(正
−1、負−〇) NCHLV・・・ノーチェンジレベル(定数)○FTI
M・・・オフタイム(例えば当該弦の開放弦周期に相当
) OFPT・・・通常オフチエツク開始フラグ○NF・・
・ノートオンフラグ RIV・・・後述のステップ(STEP)4での処理ル
ートの切替を行うため のフラグ ROFCT・・・リラティブオフのチエツク回数を定め
る定数 S・・・サスティーンポイント以前か(S=0)、以後
か(S=1)を示すフ ラグ 5TEP・・・MCP3のフロー動作を指定するレジス
タ(1〜5の値をとる) TF・・・有効となった前回のゼロクロス時刻データ TFN (0,1)・・・正または負のピーク値直後の
前回のゼロクロス時刻デ ータ TFR・・・時刻記憶レジスタ THL IM・・・周波数上限(定数)TLLIM・・
・周波数下限(定数) TP (0,1)・・・正または負の前回の周期データ TRLAB (0、l)・・・正または負の絶対トリガ
レベル(ノートオンしき い(直) TRLRL・・・リラティブオン(再発音開始)のしき
い値 TRLR5・・・共振除去しきい値 TTLIM・・・トリガ時の周波数下限TTP・・・前
回抽出された周期データTTR・・・周期レジスタ、 TTU・・・定数(17/32と今回の周期情報11の
積) TTW・・・定数(31/16と今回の周期情報11の
積) VEL・・・速度(ベロシティ)を定める情報で、発音
開始時の波形の最大ピ ーク値にて定まる。
ラグ、 FOFR・・・リラティブオフカウンタ、CENVO・
・・サスティーンポイントでのエンベロープデータ GENV・・・エンベロープデータ HN C・・・波形ナンバーカウンタ MT・・・これからビ・ソチ抽出を行う側のフラグ(正
−1、負−〇) NCHLV・・・ノーチェンジレベル(定数)○FTI
M・・・オフタイム(例えば当該弦の開放弦周期に相当
) OFPT・・・通常オフチエツク開始フラグ○NF・・
・ノートオンフラグ RIV・・・後述のステップ(STEP)4での処理ル
ートの切替を行うため のフラグ ROFCT・・・リラティブオフのチエツク回数を定め
る定数 S・・・サスティーンポイント以前か(S=0)、以後
か(S=1)を示すフ ラグ 5TEP・・・MCP3のフロー動作を指定するレジス
タ(1〜5の値をとる) TF・・・有効となった前回のゼロクロス時刻データ TFN (0,1)・・・正または負のピーク値直後の
前回のゼロクロス時刻デ ータ TFR・・・時刻記憶レジスタ THL IM・・・周波数上限(定数)TLLIM・・
・周波数下限(定数) TP (0,1)・・・正または負の前回の周期データ TRLAB (0、l)・・・正または負の絶対トリガ
レベル(ノートオンしき い(直) TRLRL・・・リラティブオン(再発音開始)のしき
い値 TRLR5・・・共振除去しきい値 TTLIM・・・トリガ時の周波数下限TTP・・・前
回抽出された周期データTTR・・・周期レジスタ、 TTU・・・定数(17/32と今回の周期情報11の
積) TTW・・・定数(31/16と今回の周期情報11の
積) VEL・・・速度(ベロシティ)を定める情報で、発音
開始時の波形の最大ピ ーク値にて定まる。
X・・・異常または正常状態を示すフラグb・・・ワー
キングレジスタBに記憶されている今回正負フラグ(正
ピークの 次のゼロ点のとき1、負ピークの 次のゼロ点のとき0) C・・・ワーキングレジスタCに記憶されている今回波
高値(ピーク値) e・・・ワーキングレジスタ已に記憶されている前々回
波高値(ピーク値) h・・・ワーキングレジスタHに記憶され=いる前々回
抽出された周期データ 【・・・ワーキングレジスタToに記憶されている今回
のゼロクロス時刻 11・・・ワーキングレジスタTOTOに記憶されてい
る今回の周期情報 (ピッチ ゛み ルーチンの )次に、第3図は
、MCP3へピッチ抽出デジタル回路2内のゼロクロス
時刻取込回路204(第2図)から、割り込み信号TN
Tによりピッチ割り込みがかけられたときの処理を示す
割り込み処理ルーチンの動作フローチャートを示した図
である。
キングレジスタBに記憶されている今回正負フラグ(正
ピークの 次のゼロ点のとき1、負ピークの 次のゼロ点のとき0) C・・・ワーキングレジスタCに記憶されている今回波
高値(ピーク値) e・・・ワーキングレジスタ已に記憶されている前々回
波高値(ピーク値) h・・・ワーキングレジスタHに記憶され=いる前々回
抽出された周期データ 【・・・ワーキングレジスタToに記憶されている今回
のゼロクロス時刻 11・・・ワーキングレジスタTOTOに記憶されてい
る今回の周期情報 (ピッチ ゛み ルーチンの )次に、第3図は
、MCP3へピッチ抽出デジタル回路2内のゼロクロス
時刻取込回路204(第2図)から、割り込み信号TN
Tによりピッチ割り込みがかけられたときの処理を示す
割り込み処理ルーチンの動作フローチャートを示した図
である。
前記したように、ゼロクロス時刻取込回路204から割
り込み信号INTが出力される時点においては、第2図
の波高値取込回路203には最大又は最小ピーク値(絶
対値)がホールドされ、ゼロクロス時刻取込回路204
には当該ピーク値発生直後のゼロクロス時刻、及び直前
のピーク値が最大(正の)ピーク値である場合l、最小
(負の)ピーク値である場合0を示す正負フラグがラッ
チされている。
り込み信号INTが出力される時点においては、第2図
の波高値取込回路203には最大又は最小ピーク値(絶
対値)がホールドされ、ゼロクロス時刻取込回路204
には当該ピーク値発生直後のゼロクロス時刻、及び直前
のピーク値が最大(正の)ピーク値である場合l、最小
(負の)ピーク値である場合0を示す正負フラグがラッ
チされている。
そこで、MCP3は、まず、第3図のI1において、ア
ドレスデコーダ4に所定のアドレス読み出し信号ARを
セットし、第2図のゼロクロス時刻取込回路204に対
して、弦番号読み込み信号−πmを出力させる。これに
より同回路204からは、まずどの弦番号について上記
割り込みが発生したのかを示す弦番号が、バスBUSを
介してMCP3に出力される。続いて、MCP3はアド
レスデコーダ4に別のアドレス読み出し信号ARをセッ
トし、ゼロクロス時刻取込回路204に対して、時刻読
み込み信号−RD 1−〜■TTTTのうち上記
弦番号に対応する信号を出力させる。これにより同回路
204からは、上記時刻読み込み信号 Mi (
i=1〜6のうちいずれか)で指定される弦番号対応の
ラッチにセットされているゼロクロス時刻情報が、バス
BUSを介してMCP3に出力される。これを第3図I
lに示すように今回のゼロクロス時刻tとする。
ドレスデコーダ4に所定のアドレス読み出し信号ARを
セットし、第2図のゼロクロス時刻取込回路204に対
して、弦番号読み込み信号−πmを出力させる。これに
より同回路204からは、まずどの弦番号について上記
割り込みが発生したのかを示す弦番号が、バスBUSを
介してMCP3に出力される。続いて、MCP3はアド
レスデコーダ4に別のアドレス読み出し信号ARをセッ
トし、ゼロクロス時刻取込回路204に対して、時刻読
み込み信号−RD 1−〜■TTTTのうち上記
弦番号に対応する信号を出力させる。これにより同回路
204からは、上記時刻読み込み信号 Mi (
i=1〜6のうちいずれか)で指定される弦番号対応の
ラッチにセットされているゼロクロス時刻情報が、バス
BUSを介してMCP3に出力される。これを第3図I
lに示すように今回のゼロクロス時刻tとする。
続いて、第3図のI2において、前記「ピッチ抽出デジ
タル回路の動作」の項で説明したように、ゼロクロス時
刻情報の最上位ビットに付加されている正負フラグを取
り出しこれを今回正負フラグbとする。
タル回路の動作」の項で説明したように、ゼロクロス時
刻情報の最上位ビットに付加されている正負フラグを取
り出しこれを今回正負フラグbとする。
その後、第3図のI3において、MCP3は前記と同様
にアドレスデコーダ4を介して、第2図の波高値取込回
路203に対して、ピーク値読み込み信号m丁(j=1
〜12のうちいずれか)を出力させる。ここで、同回路
203内には、特には図示しないが、6弦分の最大ピー
ク値及び最小ピーク値をホールドする12個のラッチが
あるため、MCP3は前記弦番号及び正負フラグbに基
づいて、上記ピーク値読み込み信号m丁を選択して出力
させる。これにより同回路203からは、当該ピーク値
読み込み信号■πW丁で指定されるラッチにセットされ
ている最大ピーク値または最小ピーク値(絶対値)が、
バスBUSを介してMCP3に出力される。これを第3
図■3に示すように、今回ビーク4fi cとする。
にアドレスデコーダ4を介して、第2図の波高値取込回
路203に対して、ピーク値読み込み信号m丁(j=1
〜12のうちいずれか)を出力させる。ここで、同回路
203内には、特には図示しないが、6弦分の最大ピー
ク値及び最小ピーク値をホールドする12個のラッチが
あるため、MCP3は前記弦番号及び正負フラグbに基
づいて、上記ピーク値読み込み信号m丁を選択して出力
させる。これにより同回路203からは、当該ピーク値
読み込み信号■πW丁で指定されるラッチにセットされ
ている最大ピーク値または最小ピーク値(絶対値)が、
バスBUSを介してMCP3に出力される。これを第3
図■3に示すように、今回ビーク4fi cとする。
以上の動作の後、第3図のI4において、上記のように
して得たt、cSbの値をMCPa内の特には図示しな
いレジスタTO,C,Bにセットする。このレジスタに
は、上記割込み処理がなされる都度、このようなゼロク
ロス時刻情報、ピーク値情報(絶対値)、ピークの種類
を示す正負フラグの情報がワンセットとして書込まれて
いき、後述するメインルーチンで、各弦毎にかかる情報
に対する処理がなされる。
して得たt、cSbの値をMCPa内の特には図示しな
いレジスタTO,C,Bにセットする。このレジスタに
は、上記割込み処理がなされる都度、このようなゼロク
ロス時刻情報、ピーク値情報(絶対値)、ピークの種類
を示す正負フラグの情報がワンセットとして書込まれて
いき、後述するメインルーチンで、各弦毎にかかる情報
に対する処理がなされる。
なお、上記レジスタTO1C,Bは、6弦に対応して6
個ずつあり、第1図のMCP3は、#1から#nの各楽
音発生回路5及び各乗算器6がどの弦に対応して発音動
作及びエンベロープ制御動作(後述する)を行っている
かという情報を、RAM302に保持しており、以下第
4図〜第9図で説明する楽音制御及びエンベロープ制御
の処理は、6弦分について全て時分割処理で行われ、前
記レジスタのうちどの弦に対応するものに割込みがかか
ったかによって、対応する楽音発生回路5及び乗算器6
に対する処理を行う。以下、特に言及しない限り上記動
作を行っているものとする。
個ずつあり、第1図のMCP3は、#1から#nの各楽
音発生回路5及び各乗算器6がどの弦に対応して発音動
作及びエンベロープ制御動作(後述する)を行っている
かという情報を、RAM302に保持しており、以下第
4図〜第9図で説明する楽音制御及びエンベロープ制御
の処理は、6弦分について全て時分割処理で行われ、前
記レジスタのうちどの弦に対応するものに割込みがかか
ったかによって、対応する楽音発生回路5及び乗算器6
に対する処理を行う。以下、特に言及しない限り上記動
作を行っているものとする。
(メインルーチンの −)
第4図は、メインルーチンの処理を示す動作フローチャ
ートである。ここでは、パワーON後の初期化(イニシ
ャライズ)、楽音のノートオフ(消音)処理、及び5T
EPO−3TEP4 (又は5)の各処理の選択の処理
を行う。本実施例では、楽音制御の処理を後述するよう
にステップという処理概念で行っており、後述するよう
に、5TEPO−3TEP 1−3TEP2−3TEP
3−3TEP4 (−3TEP5)−3TEPOとい
う順で楽音制御を行ってゆく。
ートである。ここでは、パワーON後の初期化(イニシ
ャライズ)、楽音のノートオフ(消音)処理、及び5T
EPO−3TEP4 (又は5)の各処理の選択の処理
を行う。本実施例では、楽音制御の処理を後述するよう
にステップという処理概念で行っており、後述するよう
に、5TEPO−3TEP 1−3TEP2−3TEP
3−3TEP4 (−3TEP5)−3TEPOとい
う順で楽音制御を行ってゆく。
(22旨□三4EヒA鼾11〜イ;1))第4図におい
て、まず、パワーオン(電源投入)することにより、M
lにおいて各種レジスタやフラグがイニシャライズされ
、レジスタ5TEPが0とされる。またこの場合、前記
「ピッチ抽出デジタル回路の動作」の項の時定数変換制
御回路202(第2図)の説明において述べたように、
初期状態において、ピーク検出回路201(第2図)が
デジタル出力D1の波形の立ち上がり時の振動を速やか
に検知できるように、MCP3がバスBUSを介して時
定数変換制御回路202内の時定数変換レジスタCHT
R,Rに最高音フレット周期CHTIMをセットし、
ピーク検出回路201内のピークホールド回路から出力
されるピークホールド信号(第10図p0または(to
等)が、最高音周期時間経過にて急速減衰するように制
御される。
て、まず、パワーオン(電源投入)することにより、M
lにおいて各種レジスタやフラグがイニシャライズされ
、レジスタ5TEPが0とされる。またこの場合、前記
「ピッチ抽出デジタル回路の動作」の項の時定数変換制
御回路202(第2図)の説明において述べたように、
初期状態において、ピーク検出回路201(第2図)が
デジタル出力D1の波形の立ち上がり時の振動を速やか
に検知できるように、MCP3がバスBUSを介して時
定数変換制御回路202内の時定数変換レジスタCHT
R,Rに最高音フレット周期CHTIMをセットし、
ピーク検出回路201内のピークホールド回路から出力
されるピークホールド信号(第10図p0または(to
等)が、最高音周期時間経過にて急速減衰するように制
御される。
続いて、第4図のM2で、前記「ピッチ割り込み処理ル
ーチンの動作」の項で説明したレジスタが空かどうかが
判断され、ノー(以下、Noと称す)の場合にはM3に
進み、各レジスタB、C。
ーチンの動作」の項で説明したレジスタが空かどうかが
判断され、ノー(以下、Noと称す)の場合にはM3に
進み、各レジスタB、C。
TOの内容が読まれる。続いて、M4において、レジス
タ5TEPO値はいくつかが判断され、M5では5TE
PO,M6では5TEP L M7では5TEP2、M
8では5TEP3、M9では5TEP4の処理が順次実
行される。なお、次のステップへの更新は、後述するよ
うに各5TEPO〜5TEP4の処理において行われる
。
タ5TEPO値はいくつかが判断され、M5では5TE
PO,M6では5TEP L M7では5TEP2、M
8では5TEP3、M9では5TEP4の処理が順次実
行される。なお、次のステップへの更新は、後述するよ
うに各5TEPO〜5TEP4の処理において行われる
。
〈L二上土ヱ軌在〉
前記M2でバッファが空の場合、すなわちイエス(以下
、YESと称する)の場合、MIO〜M16への処理に
進み、ここで通常のノートオフのアルゴリズムの処理が
行われる。このノートオフのアルゴリズムは、デジタル
出力DI(第1図)において、その波高値がオフ(OF
F)レベル以下の状態が所定のオフタイム時間続いたら
、ノートオフするアルゴリズムである。
、YESと称する)の場合、MIO〜M16への処理に
進み、ここで通常のノートオフのアルゴリズムの処理が
行われる。このノートオフのアルゴリズムは、デジタル
出力DI(第1図)において、その波高値がオフ(OF
F)レベル以下の状態が所定のオフタイム時間続いたら
、ノートオフするアルゴリズムである。
まず、MIOで5TEP=Oかどうかが判断され、YE
Sの場合には、楽音を発生していない初期状態のため、
ノートオフはする必要がなく、M2に戻る。一方、NO
の場合には、Mllに進む。
Sの場合には、楽音を発生していない初期状態のため、
ノートオフはする必要がなく、M2に戻る。一方、NO
の場合には、Mllに進む。
Mllでは、その時点のデジタル出力D1の入力波高値
(瞬時値)ADが直接読まれる。これは、MCP3がア
ドレスデコーダ4を介して、波高値取込み回路203(
第2図)へピーク値読み込み信号[−〜〜f−のいずれ
かを与える ことにより、同回路203がデジタル出力D1の現在の
瞬時値を、パスBUSを介してMCP3に出力すること
で達成できる。そして、この値ADが、予め設定したオ
フレベル以下かどうかが判断され、Noの場合はノート
オフする必要がないためM2に戻り、YESの場合には
Ml2に進む。
(瞬時値)ADが直接読まれる。これは、MCP3がア
ドレスデコーダ4を介して、波高値取込み回路203(
第2図)へピーク値読み込み信号[−〜〜f−のいずれ
かを与える ことにより、同回路203がデジタル出力D1の現在の
瞬時値を、パスBUSを介してMCP3に出力すること
で達成できる。そして、この値ADが、予め設定したオ
フレベル以下かどうかが判断され、Noの場合はノート
オフする必要がないためM2に戻り、YESの場合には
Ml2に進む。
Ml2では、前回の入力波高値ADがオフレベル以下か
どうかが判断され、NOの場合には、Ml7に進みMC
P3内のタイマ303をスタートし、M2に戻る。そし
て、次に再びこの処理にきたときに、Ml2はYESと
なるため、Ml3に進み、ここでタイマ303の値がオ
フタイムOFTIMかどうかが判断される。オフタイム
OFTIMとしては例えば処理をしている弦の開放弦フ
レット周期CHTTOがセットされており、Ml3でN
oの場合にはM2に戻って処理が繰り返され、YESと
なるとMl4に進み、レジスタ5TEPにOを書き込み
、時定数変換レジスタ5TEPへ最高音フレット周期C
HTIMをセットした後、Ml5を介して(後述する)
、Ml6に進む。すなわち、デジタル出力D1のレベル
が減衰してきた場合、オフレベル以下の入力波高値AD
がオフタイムOFTIMに相当する時間続くと、デジタ
ル出力D1が入力せず弦が弾かれなくなったと判断でき
るため、Ml6に進んでノートオフの処理がされる。
どうかが判断され、NOの場合には、Ml7に進みMC
P3内のタイマ303をスタートし、M2に戻る。そし
て、次に再びこの処理にきたときに、Ml2はYESと
なるため、Ml3に進み、ここでタイマ303の値がオ
フタイムOFTIMかどうかが判断される。オフタイム
OFTIMとしては例えば処理をしている弦の開放弦フ
レット周期CHTTOがセットされており、Ml3でN
oの場合にはM2に戻って処理が繰り返され、YESと
なるとMl4に進み、レジスタ5TEPにOを書き込み
、時定数変換レジスタ5TEPへ最高音フレット周期C
HTIMをセットした後、Ml5を介して(後述する)
、Ml6に進む。すなわち、デジタル出力D1のレベル
が減衰してきた場合、オフレベル以下の入力波高値AD
がオフタイムOFTIMに相当する時間続くと、デジタ
ル出力D1が入力せず弦が弾かれなくなったと判断でき
るため、Ml6に進んでノートオフの処理がされる。
Ml6では、MCP3が楽音発生回路5(#1〜#nの
うちいずれか)(第1図)に対して、ノートオフの指示
を送出し、これにより楽音の発音が停止される。このよ
うにノートオフされた場合には、必ず5TEPOに戻る
。
うちいずれか)(第1図)に対して、ノートオフの指示
を送出し、これにより楽音の発音が停止される。このよ
うにノートオフされた場合には、必ず5TEPOに戻る
。
なお、ステップM15において、通常の状態ではYES
の判断がなされるが、後述するような処理によって、楽
音の発音を指示していない場合でもレジスタ5TEPは
O以外の値をとっていることがあり(例えばノイズの入
力による)、そのようなときには、M14、M2Sの処
理後M2へ戻ることで、5TEPOへ初期設定される。
の判断がなされるが、後述するような処理によって、楽
音の発音を指示していない場合でもレジスタ5TEPは
O以外の値をとっていることがあり(例えばノイズの入
力による)、そのようなときには、M14、M2Sの処
理後M2へ戻ることで、5TEPOへ初期設定される。
(STEPOの八 重 )
次に、第4図のメインルーチンにおいて分岐して対応す
る処理を行う各ルーチンの詳細について説明を行う。
る処理を行う各ルーチンの詳細について説明を行う。
まず、第5図は、第4図のメインルーチンのM5として
示すステップO(STEPO)の処理の動作フローチャ
ートである。この処理においては、ピッチ抽出処理等の
ための初期設定、及び次の5TEP 1への移行処理を
行う。以下第12図の基本動作説明図を用いて説明を行
う。なお、第12図は第10図と同一の波形である。
示すステップO(STEPO)の処理の動作フローチャ
ートである。この処理においては、ピッチ抽出処理等の
ための初期設定、及び次の5TEP 1への移行処理を
行う。以下第12図の基本動作説明図を用いて説明を行
う。なお、第12図は第10図と同一の波形である。
(基主歎立)
今、第4図のメインルーチンは、M2とMIOのループ
の繰り返しにより、前記「ピッチ割り込み処理ルーチン
の動作」の項において説明したように、ピッチ抽出デジ
タル回路2(第1図)から割り込みが掛かって、レジス
タTO2C,Bにデータが人力するのを待っている。
の繰り返しにより、前記「ピッチ割り込み処理ルーチン
の動作」の項において説明したように、ピッチ抽出デジ
タル回路2(第1図)から割り込みが掛かって、レジス
タTO2C,Bにデータが人力するのを待っている。
そして、データが入力し、第4図のM2からM3を経て
上記各レジスタの内容が読み込まれると、M4を介して
M5、即ち第5図の5TEPOに移る。この状態におい
ては、例えば第12図に示すように、今回のゼロクロス
時刻j””Lo、今回正負フラグb=o、今回ピーク値
Cはb=oより最小ピーク値でc=b、(絶対値)であ
る。なお、第12図でbとbo=bz等は異なる記号で
ある。
上記各レジスタの内容が読み込まれると、M4を介して
M5、即ち第5図の5TEPOに移る。この状態におい
ては、例えば第12図に示すように、今回のゼロクロス
時刻j””Lo、今回正負フラグb=o、今回ピーク値
Cはb=oより最小ピーク値でc=b、(絶対値)であ
る。なお、第12図でbとbo=bz等は異なる記号で
ある。
まず、第5図の301において、今回ピーク値Cの値が
、絶対トリガレベル(ノートオンのための正の闇値)T
RLAB (b)より大きいか否かが判定される。なお
、この判定は、今回正負フラグbの値に基づいて正と負
の各極性(最大ピーク値又は最小ピーク値)の各々につ
いて実行され、正側の絶対トリガレベルTRLAB (
1)と負側の絶対トリガレベルTRLAB (0)は、
デジタル出力DI(第1図)にオフセットが重畳された
場合等を考慮して、経験的に別々の値に設定することが
できる。理想的なシステムでは同じ値でよい。第12図
の例では、今回最小ピーク値c=b。
、絶対トリガレベル(ノートオンのための正の闇値)T
RLAB (b)より大きいか否かが判定される。なお
、この判定は、今回正負フラグbの値に基づいて正と負
の各極性(最大ピーク値又は最小ピーク値)の各々につ
いて実行され、正側の絶対トリガレベルTRLAB (
1)と負側の絶対トリガレベルTRLAB (0)は、
デジタル出力DI(第1図)にオフセットが重畳された
場合等を考慮して、経験的に別々の値に設定することが
できる。理想的なシステムでは同じ値でよい。第12図
の例では、今回最小ピーク値c=b。
(絶対値)とTRLAB (b)=TRLAB (0)
とが比較され、c=bo >TRLAB (0) 、即
ち判定はYESとなる。
とが比較され、c=bo >TRLAB (0) 、即
ち判定はYESとなる。
次に、S02を経た後(後述する)、SO3の処理が実
行される。ここでは、まず、今回正負フラグbがフラグ
MTに書き込まれ、レジスタ5TEPに1が書き込まれ
て次のステップへの移行準備がなされ、更に、今回のゼ
ロクロス時刻むが以降の処理のために前回のゼロクロス
時刻データTFN (b)として設定される。第12図
の例では、同図に示すようにMT=b=O,TFN (
b)=TFN (0)=t=t、となる。
行される。ここでは、まず、今回正負フラグbがフラグ
MTに書き込まれ、レジスタ5TEPに1が書き込まれ
て次のステップへの移行準備がなされ、更に、今回のゼ
ロクロス時刻むが以降の処理のために前回のゼロクロス
時刻データTFN (b)として設定される。第12図
の例では、同図に示すようにMT=b=O,TFN (
b)=TFN (0)=t=t、となる。
続いて、SO4において、「変数の説明」の項に示した
上記フラグ以外のその他フラグ類(定数値を除く)が初
期化される。特に、本発明に関連する後述するサスティ
ーンポイント以後であるか否かを示すフラグSはここで
Oに初期化される。
上記フラグ以外のその他フラグ類(定数値を除く)が初
期化される。特に、本発明に関連する後述するサスティ
ーンポイント以後であるか否かを示すフラグSはここで
Oに初期化される。
更に、SO5においては、今回ピーク値Cが以降の処理
のために前回のピーク値AMP (b)(絶対値)とし
てセットされ、第4図のメインルーチンのM2の処理に
戻る。第12図の例では、同図に示すようにAMP (
b)=AMP (0)=c=b6となる。
のために前回のピーク値AMP (b)(絶対値)とし
てセットされ、第4図のメインルーチンのM2の処理に
戻る。第12図の例では、同図に示すようにAMP (
b)=AMP (0)=c=b6となる。
以上の処理により、第12図の例では、同図(STEP
O→1の間)に示すようにフラグMTにレジスタBの今
回正負フラグb=oが書き込まれ、負側の前回のゼロク
ロス時刻のデータTFN(0)にレジスタToの今回の
ゼロクロス時刻データt=toが書き込まれ、負側の前
回のピーク値AMP (0)にレジスタCの今回最小ピ
ーク値c=boが書き込まれる。
O→1の間)に示すようにフラグMTにレジスタBの今
回正負フラグb=oが書き込まれ、負側の前回のゼロク
ロス時刻のデータTFN(0)にレジスタToの今回の
ゼロクロス時刻データt=toが書き込まれ、負側の前
回のピーク値AMP (0)にレジスタCの今回最小ピ
ーク値c=boが書き込まれる。
(共−振餓L1u袈)
なお、第5図のSolにおいて、今回ピーク値Cの値が
絶対トリガレベルTRLAB (b)以下の場合は、発
音(ノートオン)の処理へは移行せず、SO5において
前回のピーク値AMP (b)に今回ピーク値Cの値を
セントするだけで、第4図のメインルーチンへ戻る。と
ころが、1本の弦をピッキングすることにより、他の弦
が共振を起こすような場合、当該他の弦については振動
のレベルが徐々に大きくなり、やがて第5図のSOIの
判定結果がYESとなり、S02の処理に移る。
絶対トリガレベルTRLAB (b)以下の場合は、発
音(ノートオン)の処理へは移行せず、SO5において
前回のピーク値AMP (b)に今回ピーク値Cの値を
セントするだけで、第4図のメインルーチンへ戻る。と
ころが、1本の弦をピッキングすることにより、他の弦
が共振を起こすような場合、当該他の弦については振動
のレベルが徐々に大きくなり、やがて第5図のSOIの
判定結果がYESとなり、S02の処理に移る。
しかし、このような場合、正規のピッキングを行った訳
ではないので、発音(ノートオン)の動作に移行するの
は妥当ではない。そこで、SO2の処理において上記共
振の除去を行う。即ち、上記のような場合、今回ピーク
値Cは前回のピーク値AMP (b)に比べてほとんど
大きくなっていないため、その差c−AMP(b)が共
振除去しきい(JTRLR3より大きくない場合には、
上記共振状態が発生したと判定して、発音処理へは移行
せず、SO5において前回のピーク値AMP(b)に今
回ピーク値Cの値をセットするだけで、第4図のメイン
ルーチンに戻る。一方、第12図のような正常なピッキ
ングを行った場合に、波形が急激に立上ることになり、
前記ピーク値の差C−AMP (b)は共振除去闇値T
RLR3を越え、前記したように302から303の処
理へ移行する。
ではないので、発音(ノートオン)の動作に移行するの
は妥当ではない。そこで、SO2の処理において上記共
振の除去を行う。即ち、上記のような場合、今回ピーク
値Cは前回のピーク値AMP (b)に比べてほとんど
大きくなっていないため、その差c−AMP(b)が共
振除去しきい(JTRLR3より大きくない場合には、
上記共振状態が発生したと判定して、発音処理へは移行
せず、SO5において前回のピーク値AMP(b)に今
回ピーク値Cの値をセットするだけで、第4図のメイン
ルーチンに戻る。一方、第12図のような正常なピッキ
ングを行った場合に、波形が急激に立上ることになり、
前記ピーク値の差C−AMP (b)は共振除去闇値T
RLR3を越え、前記したように302から303の処
理へ移行する。
(リラティブオンのエントリ )
第5図におい°ζ、Aは後述するりラティブオン(再発
音開始)のエントリであり、後述する5TEP4のフロ
ーからこのSOSヘジャンブしてくる。そして、SO6
では今まで出力している楽音を一度消去(ノートオフ)
し、再発音開始のためにS03へ進行する。この再発音
開始のための処理は、通常の発音開始のときと同様であ
り、前記したとおりである。ここでSO6のノートオフ
の処理は、第4図の前記M16での処理と同しである。
音開始)のエントリであり、後述する5TEP4のフロ
ーからこのSOSヘジャンブしてくる。そして、SO6
では今まで出力している楽音を一度消去(ノートオフ)
し、再発音開始のためにS03へ進行する。この再発音
開始のための処理は、通常の発音開始のときと同様であ
り、前記したとおりである。ここでSO6のノートオフ
の処理は、第4図の前記M16での処理と同しである。
(STEヒ上p支レジし佳)
次に、第6図は、第4図のメインルーチンのM6として
示すステップ1 (STEPI)の処理の動作フローチ
ャートである。この処理においては、前記5TEPOに
続くピッチ抽出処理等のための初期設定とそれに続<
5TEP2への移行処理、又はおかしな波形が入力した
ときのダブり処理(エラー処理)等を行う。
示すステップ1 (STEPI)の処理の動作フローチ
ャートである。この処理においては、前記5TEPOに
続くピッチ抽出処理等のための初期設定とそれに続<
5TEP2への移行処理、又はおかしな波形が入力した
ときのダブり処理(エラー処理)等を行う。
(Δ本豊住)
まず、前記5TEPOにより、最初のデータに対する初
期設定が行われた後、第4図のメインルーチンでは、M
2→M I O−M 11−M2のループの繰り返しに
より、前記ピッチ抽出デジタル回路2(第1図)から再
び割り込みがかかって、レジスタTo、C,Bに次のデ
ータが入力するのを待っている。
期設定が行われた後、第4図のメインルーチンでは、M
2→M I O−M 11−M2のループの繰り返しに
より、前記ピッチ抽出デジタル回路2(第1図)から再
び割り込みがかかって、レジスタTo、C,Bに次のデ
ータが入力するのを待っている。
そして、データが入力し、第4図のM2からM3を経て
上記各レジスタの内容が読み込まれると、M4を介して
M6、即ち第6図の5TEPIに移る。この状態におい
ては、例えば第12図に示すように、今回のゼロクロス
時刻1=1+ 、今回正負フラグb = 1、今回ピー
ク値はb=iより最大ピーク値でc =a、である・ まず、第6図のSllを介して(後述する)、S12に
おいて前記rsTEPOの処理動作」の項における第5
図のSOIの説明で述べたのと全く同様に、今回ピーク
値Cの値が1.絶対トリガレベルTRLAB (b)よ
り大きいか否かが判定される。第12図の例では、今回
最大ピーク(ic=aoとTRLAB (b)=TRL
AB (1)とが比較され、c=ao >TRLAB
(1)、即ち判定はYESとなる。
上記各レジスタの内容が読み込まれると、M4を介して
M6、即ち第6図の5TEPIに移る。この状態におい
ては、例えば第12図に示すように、今回のゼロクロス
時刻1=1+ 、今回正負フラグb = 1、今回ピー
ク値はb=iより最大ピーク値でc =a、である・ まず、第6図のSllを介して(後述する)、S12に
おいて前記rsTEPOの処理動作」の項における第5
図のSOIの説明で述べたのと全く同様に、今回ピーク
値Cの値が1.絶対トリガレベルTRLAB (b)よ
り大きいか否かが判定される。第12図の例では、今回
最大ピーク(ic=aoとTRLAB (b)=TRL
AB (1)とが比較され、c=ao >TRLAB
(1)、即ち判定はYESとなる。
次に、313において、レジスタ5TEPに2が書き込
まれて次のステップへの移行準備がなされ、また、31
4において、レジスタToの今回のゼロクロス時刻tが
以降の処理のために前回のゼロクロス時刻データTFN
(b)として設定される。更に、315において、レ
ジスタCの今回ピーク値Cが以降の処理のために前回の
ピーク値AMP (b)としてセットされ、第4図のメ
インルーチンのM2の処理に戻る。第12図の例では、
同図に示すようにTFN (1)=t=t+ 、AMP
(1)=c=aoとなる。なお、MT(7)内容は書き
替えられず0のままである。
まれて次のステップへの移行準備がなされ、また、31
4において、レジスタToの今回のゼロクロス時刻tが
以降の処理のために前回のゼロクロス時刻データTFN
(b)として設定される。更に、315において、レ
ジスタCの今回ピーク値Cが以降の処理のために前回の
ピーク値AMP (b)としてセットされ、第4図のメ
インルーチンのM2の処理に戻る。第12図の例では、
同図に示すようにTFN (1)=t=t+ 、AMP
(1)=c=aoとなる。なお、MT(7)内容は書き
替えられず0のままである。
(111処理生国立)
第12図のような正常なデジタル出力D1が入力してい
る場合には、前記5TEPOにおいて負(正)側の最小
(大)ピーク値(絶対値)が抽出された後は、5TEP
1において反対に正(負)側の最大(小)ピーク値が
抽出される。従って、第6図のSllにおいては、今回
正負フラグb=l (0)は5TEPOでセットされた
フラグMT=0 (1)と異なるため、前記したように
312に進む。
る場合には、前記5TEPOにおいて負(正)側の最小
(大)ピーク値(絶対値)が抽出された後は、5TEP
1において反対に正(負)側の最大(小)ピーク値が
抽出される。従って、第6図のSllにおいては、今回
正負フラグb=l (0)は5TEPOでセットされた
フラグMT=0 (1)と異なるため、前記したように
312に進む。
ところが、場合により、5TEPOO後に5TEPIで
第13図(a)又は(b)に示すような波形が人力する
ことがある。この場合、5TEPOで負側の最小ピーク
値す。が抽出された後、5TEP 1で再び負側の最小
ピーク値す、がダブって抽出される。従って、第6図の
Sllにおいては、今回正負フラグはb=oとなり、5
TEPOでセットされたフラグMT=Oと一致する。こ
の場合は、第6図の316に進み、ダブり処理(エラー
処理)を行う。
第13図(a)又は(b)に示すような波形が人力する
ことがある。この場合、5TEPOで負側の最小ピーク
値す。が抽出された後、5TEP 1で再び負側の最小
ピーク値す、がダブって抽出される。従って、第6図の
Sllにおいては、今回正負フラグはb=oとなり、5
TEPOでセットされたフラグMT=Oと一致する。こ
の場合は、第6図の316に進み、ダブり処理(エラー
処理)を行う。
316では、ピーク値Cの値が同じ符号の前回のピーク
値AMP (b)より大きいか否かが判定される。
値AMP (b)より大きいか否かが判定される。
今、第13図(a)のような場合、c=b、>AMP
(b)=AMP (0)=boは成立しない。このよう
な場合は、今回の最小ピーク値b1はおかしな波形とし
て無視しく斜線部)、5TEPは更新せずに、第4図の
メインルーチンのM2の処理に戻り、次の正常なピーク
が入力されるのを待つ。
(b)=AMP (0)=boは成立しない。このよう
な場合は、今回の最小ピーク値b1はおかしな波形とし
て無視しく斜線部)、5TEPは更新せずに、第4図の
メインルーチンのM2の処理に戻り、次の正常なピーク
が入力されるのを待つ。
一方、第13図(b)のような場合、c=b、>APM
(b)=AMP (0)=boは成立する。このよう
な場合は、前回の5TEPOで抽出した最小ピーク値b
OO方をおかしな波形として無視しく斜線部)、5TE
POにおいてセットされた負側の前回のゼロクロス時刻
データTFN (0)、及び負側の前回のピーク値AM
P (0)の内容を、第6図の314、S15により今
回のゼロクロス時刻を及び今回ピーク値Cと入れ替えて
変更する。
(b)=AMP (0)=boは成立する。このよう
な場合は、前回の5TEPOで抽出した最小ピーク値b
OO方をおかしな波形として無視しく斜線部)、5TE
POにおいてセットされた負側の前回のゼロクロス時刻
データTFN (0)、及び負側の前回のピーク値AM
P (0)の内容を、第6図の314、S15により今
回のゼロクロス時刻を及び今回ピーク値Cと入れ替えて
変更する。
即ち、第13図(b)の例では、TFN (0)=t=
tl 、AMP (0)=C=bl となる。このダブ
り処理の後、5TEPは更新せずに(第6図の313を
通らない)、第4図のメインルーチンのM2の処理に戻
り、次の正常なピークが人力されるのを待つ。
tl 、AMP (0)=C=bl となる。このダブ
り処理の後、5TEPは更新せずに(第6図の313を
通らない)、第4図のメインルーチンのM2の処理に戻
り、次の正常なピークが人力されるのを待つ。
上記動作の後、正常なピーク値が入力すると、第6図の
Sll−312→S13→S 14−315により前記
した処理が行われ、例えば第12図に示すように1=1
.で、次の5TEP2の処理への移行が行われる。
Sll−312→S13→S 14−315により前記
した処理が行われ、例えば第12図に示すように1=1
.で、次の5TEP2の処理への移行が行われる。
(STEP2の几 )
次に、第7図は、第4図のメインルーチンのMTとして
示すステップ2 (STEP2)の処理の動作フローチ
ャートである。この処理においては、ピッチ抽出のため
の第1回目のピッチ周期の検出、ベロシティ−の設定、
及び5TEP3への移行処理、又はおかしな波形が入力
したときのエラー処理(ダブり処理)等を行う。
示すステップ2 (STEP2)の処理の動作フローチ
ャートである。この処理においては、ピッチ抽出のため
の第1回目のピッチ周期の検出、ベロシティ−の設定、
及び5TEP3への移行処理、又はおかしな波形が入力
したときのエラー処理(ダブり処理)等を行う。
(基主髪在)
まず、前記5TEP 1による処理が行われた後、第4
図のメインルーチンでは、M2→MIO→Mll→M2
のループの繰り返しにより、前記ピッチ抽出デジタル回
路2(第1図)から再び割り込みがかかって、レジスタ
TO,C,Bに次のデータが人力するのを待っている。
図のメインルーチンでは、M2→MIO→Mll→M2
のループの繰り返しにより、前記ピッチ抽出デジタル回
路2(第1図)から再び割り込みがかかって、レジスタ
TO,C,Bに次のデータが人力するのを待っている。
そして、データが入力し、第4図のM2からM3を経て
上記各レジスタの内容が読み込まれると、M4を介して
MT、即ち第7図の5TEP2に移る。この状態におい
ては、例えば第12図に示すように、今回のゼロクロス
時刻t=t2 、今回正負フラグb=o、今回ピーク値
はb=oより最小ピーク値でc=b、である。
上記各レジスタの内容が読み込まれると、M4を介して
MT、即ち第7図の5TEP2に移る。この状態におい
ては、例えば第12図に示すように、今回のゼロクロス
時刻t=t2 、今回正負フラグb=o、今回ピーク値
はb=oより最小ピーク値でc=b、である。
まず、第7図の320を経た後(後述する)の321に
おいては、MCP3がバスBUSを介して第2図の時定
数変換制御回路202内の時定数変換レジスタCRTR
Rに現在処理をしている弦の開放弦フレソト周期CRT
IOをセットする。
おいては、MCP3がバスBUSを介して第2図の時定
数変換制御回路202内の時定数変換レジスタCRTR
Rに現在処理をしている弦の開放弦フレソト周期CRT
IOをセットする。
これは、前記「ピッチ抽出デジタル回路の動作」の項の
時定数変換制御回路202の説明において述べたように
、ピーク検出回路201 (第2図)がデジタル出力D
1の波形の立ち上がり時の振動を検知した後は、各ピッ
チ周期の倍音を拾わないように、ピーク検出回路201
内のピークホールド回路から出力されるピークホールド
信号(第10図PI、92等)が各弦の開放弦周期、即
ち最低音周期CHT I Oの時間経過にて急速減衰す
るようにしたものである。
時定数変換制御回路202の説明において述べたように
、ピーク検出回路201 (第2図)がデジタル出力D
1の波形の立ち上がり時の振動を検知した後は、各ピッ
チ周期の倍音を拾わないように、ピーク検出回路201
内のピークホールド回路から出力されるピークホールド
信号(第10図PI、92等)が各弦の開放弦周期、即
ち最低音周期CHT I Oの時間経過にて急速減衰す
るようにしたものである。
次に、322において、今回ピーク値Cの値が同じ符号
の前回のピーク値AMP (b)の7/8倍より大きい
か否かが判定される。この処理については後に詳述する
が、通常は弦をピッキングした波形はなめらかに自然減
衰するためこの判定はYESとなり、次の323を経て
(後述する)S24に進む。
の前回のピーク値AMP (b)の7/8倍より大きい
か否かが判定される。この処理については後に詳述する
が、通常は弦をピッキングした波形はなめらかに自然減
衰するためこの判定はYESとなり、次の323を経て
(後述する)S24に進む。
324では、((今回のゼロクロス時刻1)−(同し符
号の前回のゼロクロス時刻データTFN(b)))を演
算することにより、第1回目のピッチ周期を検出する。
号の前回のゼロクロス時刻データTFN(b)))を演
算することにより、第1回目のピッチ周期を検出する。
そしてこの結果を、後述する5TEP3でのノートオン
(発音開始)の条件として使用するために、前回周期デ
゛−タTP(’b)として設定する。第12図の例では
、同図に示すようにTP (0)=t−TFN (0,
)=t2−t。
(発音開始)の条件として使用するために、前回周期デ
゛−タTP(’b)として設定する。第12図の例では
、同図に示すようにTP (0)=t−TFN (0,
)=t2−t。
となる。
また、S24では、今回のゼロクロス時刻計が以降の処
理のために前回のゼロクロス時刻データTFN (b)
として設定される。第12図の例では、同図に示すよう
にTFN (0)=t=tzとなる。なお、5TEPO
で設定されたTFN (0)=toは、上記前回周期デ
ータTP (b)=TP(0)が演算できたため必要な
くなり消去される。
理のために前回のゼロクロス時刻データTFN (b)
として設定される。第12図の例では、同図に示すよう
にTFN (0)=t=tzとなる。なお、5TEPO
で設定されたTFN (0)=toは、上記前回周期デ
ータTP (b)=TP(0)が演算できたため必要な
くなり消去される。
同じく、324では、レジスタ5TEPに3が書き込ま
れて次のステップへの移行準備がなされる。
れて次のステップへの移行準備がなされる。
更に、324では、以降の処理のために、今回ピーク値
Cと、前回のピーク値AMP (0)、AMP(1)の
うち、最も大きい値をベロシティVELとして設定する
。なお、ベロシティVELは、5TEP3で後述するよ
うに楽音の音量を決定するための値として用いられる。
Cと、前回のピーク値AMP (0)、AMP(1)の
うち、最も大きい値をベロシティVELとして設定する
。なお、ベロシティVELは、5TEP3で後述するよ
うに楽音の音量を決定するための値として用いられる。
同様に、今回ピーク値Cを前回のピーク値AMP (b
)として設定し、第4図のメインルーチンのM2の処理
に戻る。
)として設定し、第4図のメインルーチンのM2の処理
に戻る。
第12図の例では、VEL=ma x (c、AMP(
0)、AMP (1))=max (b+ 、bo、a
o)となり、A M P (0) = c = b +
となる。
0)、AMP (1))=max (b+ 、bo、a
o)となり、A M P (0) = c = b +
となる。
なお、5TEPOで設定されたAMP (0)=beは
、上記ベロシティVELが演算できたため必要なくなり
消去される。
、上記ベロシティVELが演算できたため必要なくなり
消去される。
(t11処迂(2)勤左〉
第12図のような正常なデジタル出力D1が入力してい
る場合には、前記5TEPIにおいて正(負)側の最大
(小)ピーク値が抽出された後は、5TEP2において
反対に負(正)側の最小(大)ピーク値が抽出される。
る場合には、前記5TEPIにおいて正(負)側の最大
(小)ピーク値が抽出された後は、5TEP2において
反対に負(正)側の最小(大)ピーク値が抽出される。
従って、この場合の5TEP2におけるピーク値の符号
は5TEPIのときと逆であり、更に、5TEPOのと
きと同じとなり、第7図の320においては、今回正負
フラグb=o (1)は5TEPOでセットされたフラ
グMT=O(1)と一致し、前記したように321に進
む。
は5TEPIのときと逆であり、更に、5TEPOのと
きと同じとなり、第7図の320においては、今回正負
フラグb=o (1)は5TEPOでセットされたフラ
グMT=O(1)と一致し、前記したように321に進
む。
ところが、前記rSTEP 1の処理動作」の「ダブり
処理の動作」の項の説明において述べたのと同様に、場
合により波形がダブって、5TEP1の後に第14A図
又は第14B図に示すような波形が入力することがある
。この場合、5TEP1で正側の最大ピーク値a。が抽
出された後、5TEP2で再び正側の最大ピーク値a、
がダブって抽出される。従って、第7図の520におい
ては、今回正負フラグはb=iとなり、5TEPOでセ
ットされたフラグMT=Oと一致する。この場合は、第
7図の325に進み、ダブり処理(エラー処理)を行う
。なお、第14A図、第14B図において単純斜線のハ
ツチを施したピークは、第2図のピーク検出回路201
内のピークホールド回路から発生される第14A図又は
第14B図のピークホールド信号Po % p+−、(
io等にひっかからなかったため、ピークとして検出さ
れなかった部分である。
処理の動作」の項の説明において述べたのと同様に、場
合により波形がダブって、5TEP1の後に第14A図
又は第14B図に示すような波形が入力することがある
。この場合、5TEP1で正側の最大ピーク値a。が抽
出された後、5TEP2で再び正側の最大ピーク値a、
がダブって抽出される。従って、第7図の520におい
ては、今回正負フラグはb=iとなり、5TEPOでセ
ットされたフラグMT=Oと一致する。この場合は、第
7図の325に進み、ダブり処理(エラー処理)を行う
。なお、第14A図、第14B図において単純斜線のハ
ツチを施したピークは、第2図のピーク検出回路201
内のピークホールド回路から発生される第14A図又は
第14B図のピークホールド信号Po % p+−、(
io等にひっかからなかったため、ピークとして検出さ
れなかった部分である。
S25では、まず、ダブリフラグDUBを1に設定した
後(後述する)、326に進み、今回ピ−り値Cの値が
同じ符号の前回のピーク値AMP(b)より大きいか否
かが判定される。
後(後述する)、326に進み、今回ピ−り値Cの値が
同じ符号の前回のピーク値AMP(b)より大きいか否
かが判定される。
今、第14A図において、5TEPO(を−ta )、
5TEP 1 (t=t+ )の処理の後、t=t2に
おいて5TEP2が実行された場合、C=ar >AM
P (b)=AMP (1)=aoは成立しない。即ち
、第7図の326の判定結果はNOとなる。このような
場合は、今回の最大ピーク値a、はおかしな波形として
無視しく同図のクロス斜線のハツチを施した部分)、5
TEPは更新せずに、第4図のメインルーチンのM2の
処理に戻り、次の正常なピークが人力されるのを待つ。
5TEP 1 (t=t+ )の処理の後、t=t2に
おいて5TEP2が実行された場合、C=ar >AM
P (b)=AMP (1)=aoは成立しない。即ち
、第7図の326の判定結果はNOとなる。このような
場合は、今回の最大ピーク値a、はおかしな波形として
無視しく同図のクロス斜線のハツチを施した部分)、5
TEPは更新せずに、第4図のメインルーチンのM2の
処理に戻り、次の正常なピークが人力されるのを待つ。
そして、t ”’ t 3において、最小ピーク値c=
b。
b。
が入力することにより、第7図の320がYESとなっ
て、第12図の場合と同様に、前記521−322→3
23−324の処理が行われ、第14A図のt =t
3で次の5TEP3の処理に進む。
て、第12図の場合と同様に、前記521−322→3
23−324の処理が行われ、第14A図のt =t
3で次の5TEP3の処理に進む。
なお、第7図の324において設定される前回周期デー
タTP (0)は、第14A図に示すように、今回のゼ
ロクロス時刻t3と、5TEPOにおいて設定された前
回のゼロクロス時刻toの差になる。また、後述する5
TEP3において演算されるその次の周期データTxの
起点は、同図に示すようにクロス斜線のハツチを施した
ピーク(C=a+)が無視されるため、5TEP 1に
おいて設定された前回のゼロクロス時刻TFN (1)
=tである。
タTP (0)は、第14A図に示すように、今回のゼ
ロクロス時刻t3と、5TEPOにおいて設定された前
回のゼロクロス時刻toの差になる。また、後述する5
TEP3において演算されるその次の周期データTxの
起点は、同図に示すようにクロス斜線のハツチを施した
ピーク(C=a+)が無視されるため、5TEP 1に
おいて設定された前回のゼロクロス時刻TFN (1)
=tである。
一方、第14B図の場合、上記とは逆にc=a>AMP
(b)=AMP (1)=a、は成立する。
(b)=AMP (1)=a、は成立する。
即ち、第7図の326の判定結果はYESとなる。
このような場合は、前回の5TEPIで抽出した最大ピ
ーク値aoの方をおかしな波形として無視しく同図のク
ロス斜線のハツチを施した部分)、5TEP 1におい
てセットされた前回のゼロクロス時刻データTFN(1
)、及び正側の前回のピーク値AMP (1)の内容を
、第7図の329により今回のゼロクロス時刻を及び今
回のピーク値Cと入れ替えて変更する。即ち、第14B
図の例では、同図に示すようにT F N (1) =
t = t 2、A M P (1) −c = a
oとなる。このダブり処理の後、5TEPは更新せず
に第4図のメインルーチンのM2の処理に戻り、次の正
常なピーク値が入力するのを待つ。以下、t=t3にお
いて最小ピーク値c=b、が入力した後の処理は、前記
第14A図の場合と同じである。ただし、5TEP1に
おいて抽出されたピーク(第14B図のクロス斜線のハ
ツチを施したピークc=a6 )が無視され、C=al
のピークに変更されているため、後述する5TEP3に
おいて演算されるTP (0)の次の周期データTyの
起点は、5TEP2の前記ダブり処理において設定され
た前回のゼロクロス時刻TFN (1)=tzとなり、
第14A図の場合と異なる。
ーク値aoの方をおかしな波形として無視しく同図のク
ロス斜線のハツチを施した部分)、5TEP 1におい
てセットされた前回のゼロクロス時刻データTFN(1
)、及び正側の前回のピーク値AMP (1)の内容を
、第7図の329により今回のゼロクロス時刻を及び今
回のピーク値Cと入れ替えて変更する。即ち、第14B
図の例では、同図に示すようにT F N (1) =
t = t 2、A M P (1) −c = a
oとなる。このダブり処理の後、5TEPは更新せず
に第4図のメインルーチンのM2の処理に戻り、次の正
常なピーク値が入力するのを待つ。以下、t=t3にお
いて最小ピーク値c=b、が入力した後の処理は、前記
第14A図の場合と同じである。ただし、5TEP1に
おいて抽出されたピーク(第14B図のクロス斜線のハ
ツチを施したピークc=a6 )が無視され、C=al
のピークに変更されているため、後述する5TEP3に
おいて演算されるTP (0)の次の周期データTyの
起点は、5TEP2の前記ダブり処理において設定され
た前回のゼロクロス時刻TFN (1)=tzとなり、
第14A図の場合と異なる。
以上、第14A図又は第14B図に示すように波形がダ
ブった場合は、ピーク値の小さい方のピークがおかしな
波形として無視され、エラー処理される。
ブった場合は、ピーク値の小さい方のピークがおかしな
波形として無視され、エラー処理される。
次に、ダブり処理の他の場合の処理のための、第7図の
322の分岐について説明を行う。
322の分岐について説明を行う。
今、第7図の5TEP2の処理が実行される場合、弦を
ピンキングした正常な波形はなめらかに自然減衰するた
め、S22において今回ピーク値の値は同じ符号の前回
のピーク値AMP (b)の778倍より大きい値とな
り、S22の判定はYESとなって次の323に進む。
ピンキングした正常な波形はなめらかに自然減衰するた
め、S22において今回ピーク値の値は同じ符号の前回
のピーク値AMP (b)の778倍より大きい値とな
り、S22の判定はYESとなって次の323に進む。
ところが、場合によりc > (7/ 8 ) X A
M P(b)が成立しないことがある。第1の場合と
して、例えば弦をブリッジに近いところでピッキングす
ることにより、立ち上がり時直後のピークとその次のピ
ー゛りの振幅が極端に変わる場合がある。
M P(b)が成立しないことがある。第1の場合と
して、例えば弦をブリッジに近いところでピッキングす
ることにより、立ち上がり時直後のピークとその次のピ
ー゛りの振幅が極端に変わる場合がある。
このような場合には、波形は正常だがなめらかな減衰波
形とならず、S22の判定結果がNOとなることがおこ
りうる。しかし、このような場合においても、前記第7
図の324の処理を正常に行う必要がある。そして、こ
の場合、波形が正常であるため、前記したようなダブり
は発生しておらず、それ以前に第7図の320から32
5へ分岐していないため、ダブリフラグDUBO値はO
のままである。そこで、第7図の327において、DU
B=1が成立しない場合は、S22の判定結果にかかわ
らず、再び324の処理に戻り、前記「基本動作」の項
で述べた処理を行う。なお、ダブリフラグDUBは、前
記第5図の5TEPOの304の処理において、その値
がOに初期化されている。
形とならず、S22の判定結果がNOとなることがおこ
りうる。しかし、このような場合においても、前記第7
図の324の処理を正常に行う必要がある。そして、こ
の場合、波形が正常であるため、前記したようなダブり
は発生しておらず、それ以前に第7図の320から32
5へ分岐していないため、ダブリフラグDUBO値はO
のままである。そこで、第7図の327において、DU
B=1が成立しない場合は、S22の判定結果にかかわ
らず、再び324の処理に戻り、前記「基本動作」の項
で述べた処理を行う。なお、ダブリフラグDUBは、前
記第5図の5TEPOの304の処理において、その値
がOに初期化されている。
一方、第7図の322が成立しない第2の場合として、
波形に前記したようなダブリが発生した場合がある。こ
の場合について、第14C図を用いて以下に説明を行う
。
波形に前記したようなダブリが発生した場合がある。こ
の場合について、第14C図を用いて以下に説明を行う
。
今、第14B図で説明したのと同様に、第14C図に示
すように、5TEPO(t=to )、5TEPI (
t=tl )の処理の後に、t=t2において前記ダブ
り処理が行われ、c=aoのピーク(同図のクロス斜線
のハツチを施したピーク)が除去され、c=a、のピー
ク(同図の縦線のハツチを施したピーク)が残されたと
する。なお、単純な斜線のハツチを施したピーク(C=
al)は、第14A図又は第14B図と同様、元々検出
されないピークである。
すように、5TEPO(t=to )、5TEPI (
t=tl )の処理の後に、t=t2において前記ダブ
り処理が行われ、c=aoのピーク(同図のクロス斜線
のハツチを施したピーク)が除去され、c=a、のピー
ク(同図の縦線のハツチを施したピーク)が残されたと
する。なお、単純な斜線のハツチを施したピーク(C=
al)は、第14A図又は第14B図と同様、元々検出
されないピークである。
上記のようにダブリが発生すると、次のt=t3におい
では第14C図に示すように正負フラグはb=oとなる
ため、5TEPOでセットされたフラグMT=Oと一致
する。従って、第7図の320から321を介してS2
2の処理に進む。ところが、1=1.、において検出さ
れる今回の最小ピーク値c=b、は、波形がダブったた
めに同じ符号の前回の最小ピーク値AMP(0)=bo
からかなり離れており、減衰も大きい。従って、第14
C図に示すように第7図の322の判定結果がNoとな
る場合がある。
では第14C図に示すように正負フラグはb=oとなる
ため、5TEPOでセットされたフラグMT=Oと一致
する。従って、第7図の320から321を介してS2
2の処理に進む。ところが、1=1.、において検出さ
れる今回の最小ピーク値c=b、は、波形がダブったた
めに同じ符号の前回の最小ピーク値AMP(0)=bo
からかなり離れており、減衰も大きい。従って、第14
C図に示すように第7図の322の判定結果がNoとな
る場合がある。
上記のような場合は、それ以前のt=t2においてダブ
り処理を行っているため、ダブリフラグDUBの値は1
である。従って、第7図の327の判定結果はNOとな
り、328を介して(後述する)329に進む。
り処理を行っているため、ダブリフラグDUBの値は1
である。従って、第7図の327の判定結果はNOとな
り、328を介して(後述する)329に進む。
329においては、第14C図のt = t 3以後に
正常な波形を獲得して新たに処理をやり直すために、5
TEPOにおいてセットされた前回のゼロクロス時刻デ
ータTFN (0)、及び負側の前回のピーク値AMP
(0)の内容を、第7図のS29により今回のゼロク
ロス時刻を及び今回のピーク値Cと入れ替えて変更する
。即ち、第14C図の例では、同図に示すようにTFN
(0)=t=t3、AMP (0)=c=b、となり
、結局、同図の横線のハツチを施したピーク(c=bo
>が無視される。なお、以降の処理のために、第7図
の328でダブリフラグDUBはOにリセットされる。
正常な波形を獲得して新たに処理をやり直すために、5
TEPOにおいてセットされた前回のゼロクロス時刻デ
ータTFN (0)、及び負側の前回のピーク値AMP
(0)の内容を、第7図のS29により今回のゼロク
ロス時刻を及び今回のピーク値Cと入れ替えて変更する
。即ち、第14C図の例では、同図に示すようにTFN
(0)=t=t3、AMP (0)=c=b、となり
、結局、同図の横線のハツチを施したピーク(c=bo
>が無視される。なお、以降の処理のために、第7図
の328でダブリフラグDUBはOにリセットされる。
これらの動作の後、5TEPの値は更新せずに第4図の
メインルーチンのM2の処理に戻り、次のピークの人力
を待つ。
メインルーチンのM2の処理に戻り、次のピークの人力
を待つ。
そして、上記の場合、第14C図に示すように1=1.
.1=15において、第7図の5TEP2が繰り返され
た後、5TEP3に移行する。このような5TEP2の
繰り返し動作については様々なパターンがあるため、そ
の詳細な説明は省略するが、全体の流れとしては正常な
波形を獲得できるようになって、次の5TEP3におい
て用いるためのデータTFN (0)、AMP (0)
、及びTFN (IL AMP (1)が有効に決定
されるように動作した後に、5TEP3に移行する。
.1=15において、第7図の5TEP2が繰り返され
た後、5TEP3に移行する。このような5TEP2の
繰り返し動作については様々なパターンがあるため、そ
の詳細な説明は省略するが、全体の流れとしては正常な
波形を獲得できるようになって、次の5TEP3におい
て用いるためのデータTFN (0)、AMP (0)
、及びTFN (IL AMP (1)が有効に決定
されるように動作した後に、5TEP3に移行する。
なお、第14C図のケースでは、TP (0)=t5−
t3、後述する5TEP3において演算されるその次の
周期データ下2の起点は、TFN(1)=t4となる。
t3、後述する5TEP3において演算されるその次の
周期データ下2の起点は、TFN(1)=t4となる。
(STEP3の几 Φ )
次に、第8図は、第4図のメインルーチンのM8として
示すステップ3 (STEP3)の処理の動作フローチ
ャートである。この処理においては、ノートオン(発音
開始)処理、ノートオン時の音高設定のためのピッチ周
期の抽出、ベロシティの演算、5TEP4への移行処理
、及びおかしな波形が入力したときのエラー処理等を行
う。なお、本発明に特に関連する処理として、3301
において、第1図のラッチ11に値1.0をセットする
処理が行われる。
示すステップ3 (STEP3)の処理の動作フローチ
ャートである。この処理においては、ノートオン(発音
開始)処理、ノートオン時の音高設定のためのピッチ周
期の抽出、ベロシティの演算、5TEP4への移行処理
、及びおかしな波形が入力したときのエラー処理等を行
う。なお、本発明に特に関連する処理として、3301
において、第1図のラッチ11に値1.0をセットする
処理が行われる。
(基主軌佐)
まず、前記5TEP3による処理が行われた後、第4図
のメインルーチンでは、M2→MIO→M11−M2の
ループの繰り返しにより、前記ピッチ抽出デジタル回路
2(第1図)から再び割り込みがかかって、レジスタT
o、C,Bに次のデータが入力するのを待っている。
のメインルーチンでは、M2→MIO→M11−M2の
ループの繰り返しにより、前記ピッチ抽出デジタル回路
2(第1図)から再び割り込みがかかって、レジスタT
o、C,Bに次のデータが入力するのを待っている。
そして、データが入力し、第4図のM2からM3を経て
上記各レジスタの内容が読み込まれると、M4を介して
M8、即ち第8図の5TEP3に移る。この状態におい
ては、例えば第I2図に示すように、今回のゼロクロス
時刻t=、t3、今回正負フラグb=i、今回ピーク値
はb=1より最大ピーク値でc=a、である。
上記各レジスタの内容が読み込まれると、M4を介して
M8、即ち第8図の5TEP3に移る。この状態におい
ては、例えば第I2図に示すように、今回のゼロクロス
時刻t=、t3、今回正負フラグb=i、今回ピーク値
はb=1より最大ピーク値でc=a、である。
まず、第8図の330,531.332を経た後(後述
する)、S33において音量パラメータVELを演算す
る。今、前記rSTEP2の処理動作」の「基本動作」
の項で説明したように、第7図の324において、過去
3回のピーク値、第12図の例では、bo % aO%
b+の多値(絶対値)のうち最大のものがベロシティ
VELに格納されている。そこで、第8図の333にお
いて、ベロシティVELと今回ピーク値Cのうち大きい
方を判定し、それを楽音発生回路5(#1〜#nのうち
いずれか)(第1図)で楽音を発生するときの新たな音
量パラメータVELとする。第12図の例では、VEL
=ao 、C=a+ より、VEL=ma x (ao
、al 〕=ao となる。
する)、S33において音量パラメータVELを演算す
る。今、前記rSTEP2の処理動作」の「基本動作」
の項で説明したように、第7図の324において、過去
3回のピーク値、第12図の例では、bo % aO%
b+の多値(絶対値)のうち最大のものがベロシティ
VELに格納されている。そこで、第8図の333にお
いて、ベロシティVELと今回ピーク値Cのうち大きい
方を判定し、それを楽音発生回路5(#1〜#nのうち
いずれか)(第1図)で楽音を発生するときの新たな音
量パラメータVELとする。第12図の例では、VEL
=ao 、C=a+ より、VEL=ma x (ao
、al 〕=ao となる。
上記動作の後、第8図の同じくS33において、MT−
bとした後(後述する)、S34において、((今回の
ゼロクロス時刻t)−(同し符号の前回のゼロクロス時
刻データTFN (b)))を演算することにより、ピ
ッチ周期を検出し、前回周期データTP (b)として
設定する。第12図の例では、同図に示すようにTP(
1)=tt tlとなる。
bとした後(後述する)、S34において、((今回の
ゼロクロス時刻t)−(同し符号の前回のゼロクロス時
刻データTFN (b)))を演算することにより、ピ
ッチ周期を検出し、前回周期データTP (b)として
設定する。第12図の例では、同図に示すようにTP(
1)=tt tlとなる。
続いて、第8図の335〜S38を経た後(後述する)
、S39において、上記S34で求まった前回周期デー
タTP (b)と、前記第7図の324において設定さ
れた、上記TP (b)とは異極性の前回周期データT
P (b)とが、はぼ同一であるか否かを判定する。そ
して、その判定結果がYESである場合には、ピッチ周
期が安定に抽出され始めたとして、5301を経た後(
後述する)、S’302においてノートオンの処理を行
う。
、S39において、上記S34で求まった前回周期デー
タTP (b)と、前記第7図の324において設定さ
れた、上記TP (b)とは異極性の前回周期データT
P (b)とが、はぼ同一であるか否かを判定する。そ
して、その判定結果がYESである場合には、ピッチ周
期が安定に抽出され始めたとして、5301を経た後(
後述する)、S’302においてノートオンの処理を行
う。
第12図の例では、負側の前回周期データTP(1)=
tz −tl と正側の前回周期デークTP(0)=t
z−toが、はぼ同一であると判定され、ノートオンの
処理に移る。なお、判定結果がNoの場合については後
述する。
tz −tl と正側の前回周期デークTP(0)=t
z−toが、はぼ同一であると判定され、ノートオンの
処理に移る。なお、判定結果がNoの場合については後
述する。
5302においては、第8図の333で演算された音量
パラメータVEL及びS34で抽出された前回ピッチ周
期TP (b)とに基づいて、対応する音量情報及び音
高情報が生成され、第1図のMIDI−BUS及びイン
タフェースMIDIを介して楽音発生回路5(#1〜#
nのうち対応するもの)に出力される。そして、同回路
5では上記各情報に応じた音量及び音高の楽音がリアル
タイムで発生される。このように、本実施例では第12
図のt ”” t 3に示すように波形が立ち上がって
から約1.5周期程度でノートオンするため、弦の振動
波形に良く追従した楽音の発音を行わせることができる
。
パラメータVEL及びS34で抽出された前回ピッチ周
期TP (b)とに基づいて、対応する音量情報及び音
高情報が生成され、第1図のMIDI−BUS及びイン
タフェースMIDIを介して楽音発生回路5(#1〜#
nのうち対応するもの)に出力される。そして、同回路
5では上記各情報に応じた音量及び音高の楽音がリアル
タイムで発生される。このように、本実施例では第12
図のt ”” t 3に示すように波形が立ち上がって
から約1.5周期程度でノートオンするため、弦の振動
波形に良く追従した楽音の発音を行わせることができる
。
上記ノートオンの処理と共に、5301においては、本
発明に特に関連する処理として、第1図のラッチ11に
値1.0をセットする処理が行われる。この処理により
、「本実施例の概略動作」の項で第11図を用いて説明
したように、上記ノートオン時のアタック部分では、第
1図の乗算器6から出力される楽音信号のエンベロープ
特性として、楽音発生回路5のエンベロープ発生回路E
N■で付加されたシンセ・エンベロープの特性力そのま
ま保存され、楽音発生回路5からのシン上音の特徴が良
く保存された特性の楽音が発音される。
発明に特に関連する処理として、第1図のラッチ11に
値1.0をセットする処理が行われる。この処理により
、「本実施例の概略動作」の項で第11図を用いて説明
したように、上記ノートオン時のアタック部分では、第
1図の乗算器6から出力される楽音信号のエンベロープ
特性として、楽音発生回路5のエンベロープ発生回路E
N■で付加されたシンセ・エンベロープの特性力そのま
ま保存され、楽音発生回路5からのシン上音の特徴が良
く保存された特性の楽音が発音される。
更に、第8図の338及び5301において、次の5T
EP4において用いられるパラメータの設定を行なった
後、5306を経て第4図のメインルーチンのM2の処
理に戻り、次の5TEP4に移行する。即ち、338に
おいて334で抽出された前回の周期データTP (b
)が前回抽出された周期データTTPとしてセットされ
、3301において第7図の5TEP2の324で設定
された前回のゼロクロス時刻データTFN (マ)が時
刻記憶レジスタTFRにセットされ、今回のゼロクロス
時刻データtが有効となった前回のゼロクロス時刻デー
タTFとしてセットされ、波形ナンバーカウンタHNC
がOにクリアされ、レジスタ5TEPの値が4に更新さ
れ、ノートオンフラグ○NFが2(発音状態)にセット
され、定数TTUがO(最低MIN)にセットされ、定
数TTWが最高MAXにセットされ、リラティブオフチ
エツクのための前回の振幅値AMRLIが0にクリアさ
れる。これらの各パラメータについては、5TEP4で
後述する。
EP4において用いられるパラメータの設定を行なった
後、5306を経て第4図のメインルーチンのM2の処
理に戻り、次の5TEP4に移行する。即ち、338に
おいて334で抽出された前回の周期データTP (b
)が前回抽出された周期データTTPとしてセットされ
、3301において第7図の5TEP2の324で設定
された前回のゼロクロス時刻データTFN (マ)が時
刻記憶レジスタTFRにセットされ、今回のゼロクロス
時刻データtが有効となった前回のゼロクロス時刻デー
タTFとしてセットされ、波形ナンバーカウンタHNC
がOにクリアされ、レジスタ5TEPの値が4に更新さ
れ、ノートオンフラグ○NFが2(発音状態)にセット
され、定数TTUがO(最低MIN)にセットされ、定
数TTWが最高MAXにセットされ、リラティブオフチ
エツクのための前回の振幅値AMRLIが0にクリアさ
れる。これらの各パラメータについては、5TEP4で
後述する。
←J パ の6人〇重 )
前記第8図の334において、前回周期データTP (
b)が検出された場合、このピッチ周期は、対応する弦
を最高フレットで演奏したときの周期より大きい値を有
し、その弦の開放弦周期より小さい値を有するはずであ
る。
b)が検出された場合、このピッチ周期は、対応する弦
を最高フレットで演奏したときの周期より大きい値を有
し、その弦の開放弦周期より小さい値を有するはずであ
る。
そこで、周波数上限THLIMという定数として、現在
処理をしている弦の最高音フレットで定まる音高の2〜
3半音上の音高周期を設定し、周波数下限TTLIMと
いう定数として、同じ弦の開放弦状態で定まる音高の5
半音程度下の音高周期を設定し、第8図の336、S3
7において、334で求まった前回周期データTP (
b)がTHL IMより大きく、かつ、TTLIMより
小さいか否かが判定される。そして、上記判定結果が共
にYESであれば、S39に進んで前記した周期判定処
理を行う。
処理をしている弦の最高音フレットで定まる音高の2〜
3半音上の音高周期を設定し、周波数下限TTLIMと
いう定数として、同じ弦の開放弦状態で定まる音高の5
半音程度下の音高周期を設定し、第8図の336、S3
7において、334で求まった前回周期データTP (
b)がTHL IMより大きく、かつ、TTLIMより
小さいか否かが判定される。そして、上記判定結果が共
にYESであれば、S39に進んで前記した周期判定処
理を行う。
ここで336、S37の判定結果がNoの場合、S34
で抽出された前回周期データTP (b)は適切な値で
ないことになる。従って、このような場合は、S36又
はS37から第4図のメインルーチンのM2の処理に戻
り5TEP3を繰り返す。
で抽出された前回周期データTP (b)は適切な値で
ないことになる。従って、このような場合は、S36又
はS37から第4図のメインルーチンのM2の処理に戻
り5TEP3を繰り返す。
次に、第8図の339において、S34で求まった前回
周期データTP (b)と、これと異極性の前回周期デ
ータTP (b)とが離れた値である場合には、倍音等
を抽出してしまって正確なピッチ周期の抽出を誤った可
能性が高く、ピッチ周期が安定に抽出されていないこと
になる。従って、このような場合は、339の判定結果
がNOとなり、第4図のメインルーチンのM2の処理に
戻り5TEP3を繰り返す。
周期データTP (b)と、これと異極性の前回周期デ
ータTP (b)とが離れた値である場合には、倍音等
を抽出してしまって正確なピッチ周期の抽出を誤った可
能性が高く、ピッチ周期が安定に抽出されていないこと
になる。従って、このような場合は、339の判定結果
がNOとなり、第4図のメインルーチンのM2の処理に
戻り5TEP3を繰り返す。
ここで、上記動作により5TEP3を操り返す場合、通
常の波形においては、第4図のM2、M3を介して新た
に検出されるピークは、その極性が交互に切り替わって
bの値が0と1で交互に反転し、また、第8図の333
においてフラグMTの値が交互に変更され、同じくS3
4においてTP (b)が新たに演算され、TFN (
b)の内容も書き替えられる。従って、S36、S37
の判定は、最も新しく求まったピッチ周期に対して行わ
れ、更に、339における判定は、最も新しく求まった
ピッチ周期と、その1つ前(約半周期前)の異極性側の
ピッチ周期とに対して行われ、ピッチ周期が安定に抽出
できた時点で前記ノートオンの処理へ移行することにな
る。
常の波形においては、第4図のM2、M3を介して新た
に検出されるピークは、その極性が交互に切り替わって
bの値が0と1で交互に反転し、また、第8図の333
においてフラグMTの値が交互に変更され、同じくS3
4においてTP (b)が新たに演算され、TFN (
b)の内容も書き替えられる。従って、S36、S37
の判定は、最も新しく求まったピッチ周期に対して行わ
れ、更に、339における判定は、最も新しく求まった
ピッチ周期と、その1つ前(約半周期前)の異極性側の
ピッチ周期とに対して行われ、ピッチ周期が安定に抽出
できた時点で前記ノートオンの処理へ移行することにな
る。
また、その都度、第8図の333において、ベロシティ
VELが新しく検出されたピークに対応するように更新
される。
VELが新しく検出されたピークに対応するように更新
される。
(ノイズ、 几 の )
第8図の331の処理は、波形の立ち上がり部分にノイ
ズが発生した場合に対処するための処理である。今、例
えば第15図に示すように、5TEPO11,2におい
てノイズによるピークaSSbosa+等が検出されて
しまった場合、これらのノイズの周期を検出して発音開
始を指示すると、全くおかしな楽音を発音してしまう。
ズが発生した場合に対処するための処理である。今、例
えば第15図に示すように、5TEPO11,2におい
てノイズによるピークaSSbosa+等が検出されて
しまった場合、これらのノイズの周期を検出して発音開
始を指示すると、全くおかしな楽音を発音してしまう。
。
そこで、第8図の331においては、連続するピーク値
が大きく変化した場合には、ノイズが発生していると判
断して異常検知フラグXを1にセットし、S35におい
てNoの判定をさせることにより、ノイズ部分に基づい
てノートオンしないようにしている。
が大きく変化した場合には、ノイズが発生していると判
断して異常検知フラグXを1にセットし、S35におい
てNoの判定をさせることにより、ノイズ部分に基づい
てノートオンしないようにしている。
具体的には、今回ピーク値Cを1/8した値が、それと
同符号の前回ピーク値AMP (b)より小さければ正
常であると判断してX=0とし、そうでなければX=1
とする。そして、S35においてX=Oでないと判定さ
れた場合には、第4図のメインルーチンのM2の処理に
戻り5TEP3を繰り返す。この場合、第8図の332
において前回ピーク値AMP (b)が順次更新される
ため、S31における処理は、最も新しく検出されたピ
−ク値とその直前の同符号のピーク値とに対して行われ
、連続するピーク値が大きく変化しなくなった時点で前
記ノートオンの処理へ移行することになる。第15図の
例では、t=t3、t=t4共にS3.lでX=1とな
ってまうためノートオンせず、t=t5において初めて
正常なピークが人力したと判断されるためX=Oとなり
、L = t sでノートオンする。そして、この場合
は、連続するピッチ周期TP (b)とTP (b)は
正常な値となっている。
同符号の前回ピーク値AMP (b)より小さければ正
常であると判断してX=0とし、そうでなければX=1
とする。そして、S35においてX=Oでないと判定さ
れた場合には、第4図のメインルーチンのM2の処理に
戻り5TEP3を繰り返す。この場合、第8図の332
において前回ピーク値AMP (b)が順次更新される
ため、S31における処理は、最も新しく検出されたピ
−ク値とその直前の同符号のピーク値とに対して行われ
、連続するピーク値が大きく変化しなくなった時点で前
記ノートオンの処理へ移行することになる。第15図の
例では、t=t3、t=t4共にS3.lでX=1とな
ってまうためノートオンせず、t=t5において初めて
正常なピークが人力したと判断されるためX=Oとなり
、L = t sでノートオンする。そして、この場合
は、連続するピッチ周期TP (b)とTP (b)は
正常な値となっている。
<yyvnt引牝也〉
第8図の330の判定処理は、ダブり処理のための判定
である。今、第12図のような正常な波形Dlが入力し
ている場合には、t=t3における今回正負フラグb=
iは、フラグMT−0と一致せず、前記したように33
1へ進む。
である。今、第12図のような正常な波形Dlが入力し
ている場合には、t=t3における今回正負フラグb=
iは、フラグMT−0と一致せず、前記したように33
1へ進む。
ところが、前記rSTEP 1の処理動作」又はrsT
EP2の処理動作」の「ダブり処理の動作」の項の説明
において述べたのと同様に、波形がダブった場合、第8
図の530の判定結果はNOとなる。
EP2の処理動作」の「ダブり処理の動作」の項の説明
において述べたのと同様に、波形がダブった場合、第8
図の530の判定結果はNOとなる。
そして、ダブったピークのピーク値Cの方が、それと同
符号の直前のピーク(!AM P (b )より小さい
場合は、第8図の3303の判定結果がNOとなること
によりそのダブったピークを無視し、第4図のM2の処
理に戻った後5TEP3を繰り返す。これは、第14A
図の場合等と同様の考え方による。
符号の直前のピーク(!AM P (b )より小さい
場合は、第8図の3303の判定結果がNOとなること
によりそのダブったピークを無視し、第4図のM2の処
理に戻った後5TEP3を繰り返す。これは、第14A
図の場合等と同様の考え方による。
これに対して、ダブったピークのピーク値Cの方が大き
かった場合は、3303の判定結果はYESとなり、5
304の処理へ進む。そして、3304では直前のピー
クの方を無視して、AMp (b)の内容を今回のピー
ク値Cに設定し直し、ヘロシティVELをその値を使っ
て計算し直した後、第4図のM2に戻って5TEP3を
繰り返す。
かった場合は、3303の判定結果はYESとなり、5
304の処理へ進む。そして、3304では直前のピー
クの方を無視して、AMp (b)の内容を今回のピー
ク値Cに設定し直し、ヘロシティVELをその値を使っ
て計算し直した後、第4図のM2に戻って5TEP3を
繰り返す。
これは、第14B図の場合等と同様の考え方による。
以上の処理の後、正常なピークが入力することにより、
S30の判定結果がYESとなり、更に、S35.33
6、S37及びS39等の各判定結果がYESとなるこ
とにより、前記ノートオンの処理が行われ、楽音の発音
が開始されることになる。
S30の判定結果がYESとなり、更に、S35.33
6、S37及びS39等の各判定結果がYESとなるこ
とにより、前記ノートオンの処理が行われ、楽音の発音
が開始されることになる。
(STEP4の几 )
次に、第9A図は、第4図のメインルーチンのM9とし
て示すステップ4 (STEP4)の処理の動作フロー
チャートである。この処理においては、°ピンチ抽出・
変更処理、本発明に直接関連するエンベロープ制御処理
、リラティブオン・リラティブオフの処理、ピッチ周期
不適時の処理、及びダブり処理等を行う。まず、ピッチ
抽出・変更処理及びエンベロープデータの抽出処理にお
いては、ピッチ抽出のみを行うルートの、実際にピッチ
変更を行うと共にエンベローブデータノ抽出ヲ行うルー
ト■があり、通常は新たなピークが入力する毎に交互に
繰り返す。
て示すステップ4 (STEP4)の処理の動作フロー
チャートである。この処理においては、°ピンチ抽出・
変更処理、本発明に直接関連するエンベロープ制御処理
、リラティブオン・リラティブオフの処理、ピッチ周期
不適時の処理、及びダブり処理等を行う。まず、ピッチ
抽出・変更処理及びエンベロープデータの抽出処理にお
いては、ピッチ抽出のみを行うルートの、実際にピッチ
変更を行うと共にエンベローブデータノ抽出ヲ行うルー
ト■があり、通常は新たなピークが入力する毎に交互に
繰り返す。
(及二上辺坐勤韮)
先ず、340、S41.542、S63〜367に示す
ルートのについて説明する。S40において、波形ナン
バーカウンタHNC>3が判断され、YESの場合には
S41に進む。S41では、リラティブオンしきい値T
RLRL< (今回ピーク値C−同じ符号の前回のピー
ク値AMP(b))かどうかが判断が行われ、Noの場
合にはS42に進む(YESの場合は後述する)。
ルートのについて説明する。S40において、波形ナン
バーカウンタHNC>3が判断され、YESの場合には
S41に進む。S41では、リラティブオンしきい値T
RLRL< (今回ピーク値C−同じ符号の前回のピー
ク値AMP(b))かどうかが判断が行われ、Noの場
合にはS42に進む(YESの場合は後述する)。
S42では今回正負フラグb=フラグMTつまりピッチ
変更側かどうかが判断され、YESの場合には343に
進む。
変更側かどうかが判断され、YESの場合には343に
進む。
ところで、初期状態では、前記波形ナンバーカウンタH
NCは0である(第8図の5301参照)ので、340
ではNOの判断をしてS42へ進む。
NCは0である(第8図の5301参照)ので、340
ではNOの判断をしてS42へ進む。
そして、例えば第12図のような波形入力の場合は、t
=t4においてb=oでMT=1(第8図の5TEP3
の333で書き替えられている)であるから、342か
ら563へ進む。
=t4においてb=oでMT=1(第8図の5TEP3
の333で書き替えられている)であるから、342か
ら563へ進む。
363においては、同じ極性のピークが続けて入力され
てきているか(ダブりであるか)、否かチエツクするた
めに、レジスタRIV=1かどうかが判断され、YES
の場合(ピークがダブった場合)には368に進んでダ
ブり処理を行い(後述する)、また、NOの場合(ダブ
りでない場合)にはS64に進み、ここで以下の処理が
行われる。
てきているか(ダブりであるか)、否かチエツクするた
めに、レジスタRIV=1かどうかが判断され、YES
の場合(ピークがダブった場合)には368に進んでダ
ブり処理を行い(後述する)、また、NOの場合(ダブ
りでない場合)にはS64に進み、ここで以下の処理が
行われる。
即ち、S64では今回ピーク値Cが前回のピーク値AM
P (b)に入力され、リラティブオフ処理(後述する
)のために前回の振幅値AMRLIが前々回の振幅値A
MRL2に人力される。なお、始めはAMRLIの内容
はOである。(第8図の5TEP3の5301参照)。
P (b)に入力され、リラティブオフ処理(後述する
)のために前回の振幅値AMRLIが前々回の振幅値A
MRL2に人力される。なお、始めはAMRLIの内容
はOである。(第8図の5TEP3の5301参照)。
更に、S64において、異符号の前回のピーク値AMP
(T)と今回ピーク値Cのうちいずれか大きい値が前回
振幅値AMRLIに人力される。
(T)と今回ピーク値Cのうちいずれか大きい値が前回
振幅値AMRLIに人力される。
つまり、周期の中で2つある正、負のピーク値について
大きい値のピーク値が振幅値AMRLIにセットされる
。
大きい値のピーク値が振幅値AMRLIにセットされる
。
そして、365で波形ナンバンーカウンタHNC>8か
どうかが判断され、ここで波形ナンバーカウンタ(ピッ
チ変更側でないゼロクロスカウンタ)HNCが+lされ
、カンウドアップされる。
どうかが判断され、ここで波形ナンバーカウンタ(ピッ
チ変更側でないゼロクロスカウンタ)HNCが+lされ
、カンウドアップされる。
従って、波形ナンバーカウンタHNCは、上限が9とな
る。そして、S65もしくはS66の処理の後367へ
進行する。
る。そして、S65もしくはS66の処理の後367へ
進行する。
S67では、レジスタRIVを1とし、今回のゼロクロ
ス時刻計から時刻記憶レジスタTFRの内容を引算して
、周期レジスタTTRへ入力する。
ス時刻計から時刻記憶レジスタTFRの内容を引算して
、周期レジスタTTRへ入力する。
この周期レジスタTTRは、第12図の例では周期情報
T T R= t T F R= t a t
zを示す。
T T R= t T F R= t a t
zを示す。
そして、今回のゼロクロス時刻計は、時刻記憶レジスタ
TFRへセーブされ、この後、第4図のメインルーチン
のM2の処理に戻る。
TFRへセーブされ、この後、第4図のメインルーチン
のM2の処理に戻る。
以上述べたようにルート■は、第12図の例によれば以
下のような処理がなされる。即ち、MT=1≠bSRI
V=O1AM P (0) ←c = b 2、AMR
L2←AMRL 1=O,AMRL 1−ma x (
AMP (1)=a、 、(=bz (のいずれか大
きい方)) 、HNC−(HNC+1) =1、RIV
←1、TTR−(t TFR) = (ta−tz)
、TFR←t=ta となる。従って、周期レジスタT
TRに前回の同極性のゼロクロス点し=tz (ST
EP2−3の変化時点)から今回のゼロクロス点1=1
4までの時刻情報の差つまり、周期情報が求まったこと
になる。そして、第4図のメインルーチンのM2の処理
へ戻り、次のピークが入力するのを待つ。
下のような処理がなされる。即ち、MT=1≠bSRI
V=O1AM P (0) ←c = b 2、AMR
L2←AMRL 1=O,AMRL 1−ma x (
AMP (1)=a、 、(=bz (のいずれか大
きい方)) 、HNC−(HNC+1) =1、RIV
←1、TTR−(t TFR) = (ta−tz)
、TFR←t=ta となる。従って、周期レジスタT
TRに前回の同極性のゼロクロス点し=tz (ST
EP2−3の変化時点)から今回のゼロクロス点1=1
4までの時刻情報の差つまり、周期情報が求まったこと
になる。そして、第4図のメインルーチンのM2の処理
へ戻り、次のピークが入力するのを待つ。
(及二上豊二勉且)
次に、340〜S62に示すルート■へ進んだ場合の説
明を行なう。いま、波形ナンバーカウンタHNC=1な
ので(S66参照L S40からS42へ進む(S40
については後述する)。
明を行なう。いま、波形ナンバーカウンタHNC=1な
ので(S66参照L S40からS42へ進む(S40
については後述する)。
S42では、例えば第12図のような場合、MT=1、
b=1なのでYESとなり、S43へ進む。
b=1なのでYESとなり、S43へ進む。
343では、レジスタRIV=1かどうかが判断される
。既にルートのにおいて、レジスタR1■は1とされて
いる(S67参照)ので、S43の判断はYESとな゛
す、344へ進む。なお、S43の判定結果がNOとな
る場合のダブり処理については後述する。
。既にルートのにおいて、レジスタR1■は1とされて
いる(S67参照)ので、S43の判断はYESとな゛
す、344へ進む。なお、S43の判定結果がNOとな
る場合のダブり処理については後述する。
344では、レジスタ5TEP=4かどうかが判断され
、YESの場合には345に進む(N。
、YESの場合には345に進む(N。
の場合については後述する)。345では、今回ピーク
値c<60H(Hは16進法表現を示す)かどうかが判
断され、値の大きなピーク値が入力した場合は、この判
定結果はNoとなり、S47に進む。これに対して、値
が60Hより小さい場合は、YESとなりS46に進む
。
値c<60H(Hは16進法表現を示す)かどうかが判
断され、値の大きなピーク値が入力した場合は、この判
定結果はNoとなり、S47に進む。これに対して、値
が60Hより小さい場合は、YESとなりS46に進む
。
S46では、前々回の振幅値(ピーク値)AMRL2−
前回の振幅値(ピーク値)AMRLI≦(1/32)x
前々回の振幅値(ピーク値)AMRL2かどうかが判断
され、YESの場合にはS47に進み、リラティブオフ
カウンタFOFRがOにセットされる。Noの場合には
、S74に進みリラティブオフの処理が行われる。この
リラティブオフの処理については後述する。
前回の振幅値(ピーク値)AMRLI≦(1/32)x
前々回の振幅値(ピーク値)AMRL2かどうかが判断
され、YESの場合にはS47に進み、リラティブオフ
カウンタFOFRがOにセットされる。Noの場合には
、S74に進みリラティブオフの処理が行われる。この
リラティブオフの処理については後述する。
348では周期計算が行われる。具体的には、(今回の
ゼロクロス時刻を一前回のゼロクロス時刻データTF)
が今回の周期情報11としてレジスタTOTOにセット
される。そして、349に進む。
ゼロクロス時刻を一前回のゼロクロス時刻データTF)
が今回の周期情報11としてレジスタTOTOにセット
される。そして、349に進む。
S49では、今回の周期情報11>周波数上限THL
IM (発音開始後の上限)かどうかが判断され、YE
Sの場合は350に進む(Noの場合は後述する)。3
49の周波数上限THL rMは、第8図の5TEP3
のS36で使用したトリガ時(発音開始時)の周波数の
許容範囲の上限(従って周期として最小で、最高音フレ
ットの2〜3半音上の音高周期に相当する)と同一のも
のである。
IM (発音開始後の上限)かどうかが判断され、YE
Sの場合は350に進む(Noの場合は後述する)。3
49の周波数上限THL rMは、第8図の5TEP3
のS36で使用したトリガ時(発音開始時)の周波数の
許容範囲の上限(従って周期として最小で、最高音フレ
ットの2〜3半音上の音高周期に相当する)と同一のも
のである。
次に、550では以下の処理が行われる。即ち、レジス
タRIVをOにし、今回のゼロクロス時刻計が前回のゼ
ロクロス時刻データTFとして入力され、また前回のピ
ーク値AMP (b)が前々回ピーク値eに入力され、
さらに今回ピーク値Cが前回のピーク値AMP (b)
に入力される。
タRIVをOにし、今回のゼロクロス時刻計が前回のゼ
ロクロス時刻データTFとして入力され、また前回のピ
ーク値AMP (b)が前々回ピーク値eに入力され、
さらに今回ピーク値Cが前回のピーク値AMP (b)
に入力される。
そして、S50の処理の後S51に進み、S51では、
周波数下限TLLTM>今回の周期情報11かどうかが
判断され、YESの場合即ち今回の周期がノートオン中
のピッチ抽出音域下限以下になった場合にはS52に進
む。この場合、周波数下限TLLIMは、例えば、開放
弦音階の1オクターブ下にセットされる。つまり、第8
図の5TEP3の周波数下限TTLIM(S37参照)
に比較して、許容範囲を広くしている。このようにする
ことで、トレモロアームの操作などによる周波数変更に
対応し得るようになる。
周波数下限TLLTM>今回の周期情報11かどうかが
判断され、YESの場合即ち今回の周期がノートオン中
のピッチ抽出音域下限以下になった場合にはS52に進
む。この場合、周波数下限TLLIMは、例えば、開放
弦音階の1オクターブ下にセットされる。つまり、第8
図の5TEP3の周波数下限TTLIM(S37参照)
に比較して、許容範囲を広くしている。このようにする
ことで、トレモロアームの操作などによる周波数変更に
対応し得るようになる。
上記動作により、周波数の上限、下限について許容範囲
に入る場合についてのみ352まで進み、そうでない場
合は349.551より第4図のメインルーチンのM2
の処理に戻って次のピークの入力を待つ。
に入る場合についてのみ352まで進み、そうでない場
合は349.551より第4図のメインルーチンのM2
の処理に戻って次のピークの入力を待つ。
次に、S52では周期データTT’Pが前々回抽出され
た周期データhに入力され、また、今回の周期情報11
が前回抽出された周期データTTPに入力される。
た周期データhに入力され、また、今回の周期情報11
が前回抽出された周期データTTPに入力される。
S53.354では2波3値−敗条件が判断される。S
53では、今回の周期情報ttX2−7>今回の周期情
報11−前々同周期デークhlが判断され、YESの場
合にはS54に進み、また354では、今回の周期情報
ttX2−7>1今回の周期情報11−周期レジスタT
TRの内容1が判断され、YESの場合にはS55に進
む。即ち、353では、第12図の例の場合、今回の周
期情報tt=t5−t3 (548参照)が、前回の周
期データh = T T P = t 3 t I(
S 52参照)の値とほぼ一致するか否かを判断し、S
54では、今回の周期情報t t=t5−t3が、それ
に重なる周期TTR=ta tz (S67参照
)とほぼ一致するか否かを判断する。なお、その限界範
囲は、2−?・11として、周期情報に依存してその値
が変わるようになっている。勿論、これは固定の値とし
てもよいが、本実施例採用技術の方が良好な結果を得る
ことができる。
53では、今回の周期情報ttX2−7>今回の周期情
報11−前々同周期デークhlが判断され、YESの場
合にはS54に進み、また354では、今回の周期情報
ttX2−7>1今回の周期情報11−周期レジスタT
TRの内容1が判断され、YESの場合にはS55に進
む。即ち、353では、第12図の例の場合、今回の周
期情報tt=t5−t3 (548参照)が、前回の周
期データh = T T P = t 3 t I(
S 52参照)の値とほぼ一致するか否かを判断し、S
54では、今回の周期情報t t=t5−t3が、それ
に重なる周期TTR=ta tz (S67参照
)とほぼ一致するか否かを判断する。なお、その限界範
囲は、2−?・11として、周期情報に依存してその値
が変わるようになっている。勿論、これは固定の値とし
てもよいが、本実施例採用技術の方が良好な結果を得る
ことができる。
S55では、エンベロープ制御処理が行われる。
この部分は、本実施例の最も特徴とする処理である。以
下、この部分の処理について、第9B図及び第9C図を
用いて説明する。
下、この部分の処理について、第9B図及び第9C図を
用いて説明する。
第9C図は、第9A図355のエンベロープ制御処理の
動作フローチャートである。まず、5551でフラグS
が1であるか否かが判定される。
動作フローチャートである。まず、5551でフラグS
が1であるか否かが判定される。
今、フラグSは第5図の5TEPOの304においてO
にリセットされているため、同判定はN。
にリセットされているため、同判定はN。
となり、従って第9A図355では何も処理は行われな
いことになる。そして、第9A図S40〜S62のルー
ト■の処理が繰り返されてS55の処理が繰り返される
毎に、フラグSの値が0である限り上記状態が続く。こ
の意味については後述する。
いことになる。そして、第9A図S40〜S62のルー
ト■の処理が繰り返されてS55の処理が繰り返される
毎に、フラグSの値が0である限り上記状態が続く。こ
の意味については後述する。
ここで、第9A図のルート■及びルート■の処理(S5
5を含む)とは独立して、第1図のMCP3は、各楽音
発生回路5(#1〜#n)の何れかより、割り込み信号
INT’が入力するか否かを監視している。そして、第
1図の楽音発生回路5の何れかより出力される楽音信号
のエンベロープが、前述したように第11(a)の如く
サスティーンポイントSPに達すると、対応するエンベ
ロープ発生回路ENVからMCP3に割り込み信号■N
V’が出力される。
5を含む)とは独立して、第1図のMCP3は、各楽音
発生回路5(#1〜#n)の何れかより、割り込み信号
INT’が入力するか否かを監視している。そして、第
1図の楽音発生回路5の何れかより出力される楽音信号
のエンベロープが、前述したように第11(a)の如く
サスティーンポイントSPに達すると、対応するエンベ
ロープ発生回路ENVからMCP3に割り込み信号■N
V’が出力される。
この信号INV’がMCP3で検出されると、MCP3
は、現在実行中の第9A図のルート■又はルート■の処
理を中断して、第9B図のエンベロープ割り込み処理ル
ーチンを実行する。まず第9B図の11′で、現在のピ
ーク値と前回のピーり値の平均値が演算され、エンベロ
ープデータ初期値GENVOとされる。すなわち、GE
NVO= (AMP (0)+AMP (1)) /2
が演算される。GENVOについては後述する。次に第
9B図の■2′で、フラグSがlにセットされる。
は、現在実行中の第9A図のルート■又はルート■の処
理を中断して、第9B図のエンベロープ割り込み処理ル
ーチンを実行する。まず第9B図の11′で、現在のピ
ーク値と前回のピーり値の平均値が演算され、エンベロ
ープデータ初期値GENVOとされる。すなわち、GE
NVO= (AMP (0)+AMP (1)) /2
が演算される。GENVOについては後述する。次に第
9B図の■2′で、フラグSがlにセットされる。
以上のエンベロープ割り込み処理が終了したら、再び実
行を中断した第9A図のルート■又はルート■の処理を
再開する。
行を中断した第9A図のルート■又はルート■の処理を
再開する。
この結果、第9A図の355の処理になって第9C図の
5551が再び実行されると、この時点でフラグSが1
になっているため、5551の判定はYESとなる。
5551が再び実行されると、この時点でフラグSが1
になっているため、5551の判定はYESとなる。
これにより、5552において、現在のピーク値と前回
のピーク値の平均値が演算され、エンベロープデータC
ENVとされる。すなわち、GENV= (AMP (
0) +AMP (1))/2が演算される。
のピーク値の平均値が演算され、エンベロープデータC
ENVとされる。すなわち、GENV= (AMP (
0) +AMP (1))/2が演算される。
そして、5553において、上記エンベロープデータG
ENVと第9B図の割り込み処理ルーチンで演算された
エンベロープデータ初期値GENVOとの比GENV/
GENVOが演算される。
ENVと第9B図の割り込み処理ルーチンで演算された
エンベロープデータ初期値GENVOとの比GENV/
GENVOが演算される。
そして、第1図のMCP3はこのようにして演算した値
を、前述の割り込み信号INV”が発生した楽音発生回
路5に対応するラッチ11にセットする。
を、前述の割り込み信号INV”が発生した楽音発生回
路5に対応するラッチ11にセットする。
以上の第9C図の処理は、第9A図540−362のル
ート■の処理が繰り返されてS55の処理が繰り返され
る毎に実行され、その結果、新たに演算された上記エン
ベロープデータGENV(7)GENVOに対する比が
演算され、順次ラッチ11にラッチされる。
ート■の処理が繰り返されてS55の処理が繰り返され
る毎に実行され、その結果、新たに演算された上記エン
ベロープデータGENV(7)GENVOに対する比が
演算され、順次ラッチ11にラッチされる。
以上のように、まず、第9A図のルート■及びルート■
の処理が繰り返されることにより、楽音の発音動作が進
行するが、この状態で第1図の楽音発生回路5内のエン
ベロープ発生回路ENVの発生するエンベロープデータ
が、第11図(a)のサスティーンポイントSPに達す
るまでの楽音のアタック部分では、第9A図の355で
は何も処理が行われない。この場合、第1図の対応する
ラッチ11の内容は、第8図の5TEP3の5301で
値160にセントされたままの状態が維持される。
の処理が繰り返されることにより、楽音の発音動作が進
行するが、この状態で第1図の楽音発生回路5内のエン
ベロープ発生回路ENVの発生するエンベロープデータ
が、第11図(a)のサスティーンポイントSPに達す
るまでの楽音のアタック部分では、第9A図の355で
は何も処理が行われない。この場合、第1図の対応する
ラッチ11の内容は、第8図の5TEP3の5301で
値160にセントされたままの状態が維持される。
従って、発音開始時のアタック部分では、第1図の対応
する乗算器6から出力される各楽音信号のエンベロープ
特性としては、第11図(d)の前半部分で示されるよ
うに、同図(a)のシンセ・エンベロープがそのまま保
存される。これにより、第1図の対応する乗算器6から
は、発音開始時付近のアタック部分では、楽音発生回路
5からのシン心音の特徴が良く保存された楽音が発音さ
れる。
する乗算器6から出力される各楽音信号のエンベロープ
特性としては、第11図(d)の前半部分で示されるよ
うに、同図(a)のシンセ・エンベロープがそのまま保
存される。これにより、第1図の対応する乗算器6から
は、発音開始時付近のアタック部分では、楽音発生回路
5からのシン心音の特徴が良く保存された楽音が発音さ
れる。
続いて、第9A図のルート■及びルート■の処理が繰り
返しによる楽音の発音動作中において、第1図の楽音発
生回路5内のエンベロープ発生回路ENVの発生するエ
ンベロープデータが、第11図(a)のサスティーンポ
イントSPに達すると、第9A図の355の処理が実行
される毎に、サスティーンボイン)SPの初期値をGE
NVOとする乗算値GENV/GENVOが演算され、
ラッチ11に順次セットされる。従って、サスティーン
ポイントSP以後、第1図の対応する乗算器6の人力は
第11図(C)のように変化し、そこから出力される楽
音信号のエンベロープ特性は、第11図(山の後半部分
で示されるように、同図へ)の弦エンヘロープの特性(
GENV/GENVO)が付加されたものとなる。
返しによる楽音の発音動作中において、第1図の楽音発
生回路5内のエンベロープ発生回路ENVの発生するエ
ンベロープデータが、第11図(a)のサスティーンポ
イントSPに達すると、第9A図の355の処理が実行
される毎に、サスティーンボイン)SPの初期値をGE
NVOとする乗算値GENV/GENVOが演算され、
ラッチ11に順次セットされる。従って、サスティーン
ポイントSP以後、第1図の対応する乗算器6の人力は
第11図(C)のように変化し、そこから出力される楽
音信号のエンベロープ特性は、第11図(山の後半部分
で示されるように、同図へ)の弦エンヘロープの特性(
GENV/GENVO)が付加されたものとなる。
従って、例えば演奏者が弦のピッキング操作をした後に
弦振動を強制的に停止させるミュート奏法を行うような
場合にも、発音開始直後のアタック部分では第1図の楽
音発生回路5からのシン心音の音色が良く保存され、そ
の後、くニート奏法に基づいてデジタル出力DI(弦振
動)のエンベロープが急激に減衰するのに伴って、サス
ティーンポイントSPの通過後、弦振動のエンベロープ
特性が乗算器6から発音される楽音信号に良く反映され
、くニート奏法等による演奏効果が容易に付加される。
弦振動を強制的に停止させるミュート奏法を行うような
場合にも、発音開始直後のアタック部分では第1図の楽
音発生回路5からのシン心音の音色が良く保存され、そ
の後、くニート奏法に基づいてデジタル出力DI(弦振
動)のエンベロープが急激に減衰するのに伴って、サス
ティーンポイントSPの通過後、弦振動のエンベロープ
特性が乗算器6から発音される楽音信号に良く反映され
、くニート奏法等による演奏効果が容易に付加される。
次に、第9A図に戻りS56では、ノーチェンジレベル
NCHLV> (前々回ピーク値e−今回ピーク値C)
かどうかの判断が行われ、YESの場合には357に進
む。即ち、前回の同極性のピーク値(e=AMP (b
))と今回のピーク値Cとが大きく変化している場合は
、その差がNCHLVを越えることになり、そのような
ときに、抽出された周期情報に基づきピッチ変更を行な
うと、不自然な音高変化を呈することになる可能性が高
い。そこで、S56でNoの判断がなされると、S57
以降の処理をすることなく、第4図のメインルーチンの
M2の処理へ戻り、次のピークの入力を待つ。
NCHLV> (前々回ピーク値e−今回ピーク値C)
かどうかの判断が行われ、YESの場合には357に進
む。即ち、前回の同極性のピーク値(e=AMP (b
))と今回のピーク値Cとが大きく変化している場合は
、その差がNCHLVを越えることになり、そのような
ときに、抽出された周期情報に基づきピッチ変更を行な
うと、不自然な音高変化を呈することになる可能性が高
い。そこで、S56でNoの判断がなされると、S57
以降の処理をすることなく、第4図のメインルーチンの
M2の処理へ戻り、次のピークの入力を待つ。
次に、S56でYESの場合は、リラティブオフカウン
タFOFR=0か否かが判断される。後述するりラティ
ブオフ処理を行っているときは、リラティブオフカウン
タFOFRはOでなくなっており、そのような場合はピ
ッチ変更(S61を参照)の処理を行なうことなく、S
57でNoの判断をして第4図のメインルーチンのM2
の処理ヘリターンする。そして、357にて、YESの
判断をしたときは、358へと進む。
タFOFR=0か否かが判断される。後述するりラティ
ブオフ処理を行っているときは、リラティブオフカウン
タFOFRはOでなくなっており、そのような場合はピ
ッチ変更(S61を参照)の処理を行なうことなく、S
57でNoの判断をして第4図のメインルーチンのM2
の処理ヘリターンする。そして、357にて、YESの
判断をしたときは、358へと進む。
次の358では、今回の周期情報11>定数TTUかど
うかが判断され、YESならばS59へ進み、ここで今
回の周期情報11<定数TTWかどうかが判断され、Y
ESならばS60へ進む。
うかが判断され、YESならばS59へ進み、ここで今
回の周期情報11<定数TTWかどうかが判断され、Y
ESならばS60へ進む。
なお、358、S59でNoと判定される場合について
は後述する。
は後述する。
S60では、レジスタ5TEP=4であるのかどうかの
判断が行われ、YESの場合には361に進む。
判断が行われ、YESの場合には361に進む。
S61では、第1図のMCP3から楽音発生回路5(#
1〜#nのうちいずれか)へピッチ変更(今回の周期情
報11に基づく)が行われ、S62に進む。
1〜#nのうちいずれか)へピッチ変更(今回の周期情
報11に基づく)が行われ、S62に進む。
S62では、今回の周期情報11に対応して時定数チェ
ンジをし、また定数TTUが(17/32)X今回の周
期情報11に書替えられ、さらに定数TTWが(31/
16)X今回の周期情報11に書き替えられる。
ンジをし、また定数TTUが(17/32)X今回の周
期情報11に書替えられ、さらに定数TTWが(31/
16)X今回の周期情報11に書き替えられる。
また、後述するように、リラティブオフの処理がなされ
たときに限り、5TEP=5となるが、そのときはS6
0から362に直接進み、S61でピッチ変更を行なう
ことなく、362で時定数チェンジを行なう。
たときに限り、5TEP=5となるが、そのときはS6
0から362に直接進み、S61でピッチ変更を行なう
ことなく、362で時定数チェンジを行なう。
上記時定数チェンジの処理とは、第2図の時定数変換制
御回路202内部の時定数変換レジスタCRTRRに今
回の周期情報11の値に基づく周期データを第1図のM
CP3がセットすることをいう。これは、前記「ピッチ
抽出デジタル回路の動作」の「詳細動作」の項で既に説
明したとおりである。
御回路202内部の時定数変換レジスタCRTRRに今
回の周期情報11の値に基づく周期データを第1図のM
CP3がセットすることをいう。これは、前記「ピッチ
抽出デジタル回路の動作」の「詳細動作」の項で既に説
明したとおりである。
そして、S62の処理の終了で第4図のメインルーチン
のM2の処理へ戻る。
のM2の処理へ戻る。
以上述べたようにルート■では、第12図の例では、次
の処理がなされる。即ち、HNC=1、MT=1=b、
RIV=1と判定され、FOFR−0S 11←t
TF=ts t3、RIV←0、TF4−t=t6、
e+−AMP(1)=aISAMP (1)−c−ax
、h−TTP=TP (1)=t 3 t ls
T T P−t t =t 5 t 3 となる
。
の処理がなされる。即ち、HNC=1、MT=1=b、
RIV=1と判定され、FOFR−0S 11←t
TF=ts t3、RIV←0、TF4−t=t6、
e+−AMP(1)=aISAMP (1)−c−ax
、h−TTP=TP (1)=t 3 t ls
T T P−t t =t 5 t 3 となる
。
更に、
■TTPξTTRζ11゜
■TTU<t t<TTW。
■AMP (0)−c<NCHLV
の3条件の満足で、11に従ったピッチ変更を行なう。
その後、TTU−(17/32)xt t、TTW−(
31/16)Xt tの設定がなされる。
31/16)Xt tの設定がなされる。
以上の動作によりルート■において、実際の楽音発生回
路5(#1〜#nのうちいずれか)に対するピッチ変更
及びその出力の楽音データに対する乗算器6(#1〜#
nのうちいずれか)でのエンベロープ制御が行われ、続
くゼロクロスインクラブド(次のピークの検出)でルー
ト■の処理、同様に、続くゼロクロスインクラブドで、
ルート■の処理が行われる。このようにして、ルートの
においては、単に周期を抽出(S67を参照)し、ルー
ト■においては実際のピッチ変更(S61参照)、エン
ベロープ制?II(355参照)及び時定数チェンジ処
理(S62参照)が行われることになる。
路5(#1〜#nのうちいずれか)に対するピッチ変更
及びその出力の楽音データに対する乗算器6(#1〜#
nのうちいずれか)でのエンベロープ制御が行われ、続
くゼロクロスインクラブド(次のピークの検出)でルー
ト■の処理、同様に、続くゼロクロスインクラブドで、
ルート■の処理が行われる。このようにして、ルートの
においては、単に周期を抽出(S67を参照)し、ルー
ト■においては実際のピッチ変更(S61参照)、エン
ベロープ制?II(355参照)及び時定数チェンジ処
理(S62参照)が行われることになる。
(リラテ ブオンの几 )
第9A図の5TEP4におけるルート■の366で、波
形ナンバーカウンタHNCが3を越えるようにカウント
アツプされた後は、S40においてYESの判断がなさ
れ、次に341へ行き、リラティブオンの条件を検出す
る。
形ナンバーカウンタHNCが3を越えるようにカウント
アツプされた後は、S40においてYESの判断がなさ
れ、次に341へ行き、リラティブオンの条件を検出す
る。
これは、c−AMP (b)>TRLRLであり、前回
のピーク値AMP (b)に比べて今回のピーク(J
cがしきい値TRLRLを越えて増大したとき、つまり
、これは弦操作後に同じ弦を再度ピンキングしたとき(
トレモロ奏法などによる)にこのようなことがおき、こ
の場合はS41の判定結果がYESとなり、リラティブ
オンの処理をすべくS41から378へ進む。
のピーク値AMP (b)に比べて今回のピーク(J
cがしきい値TRLRLを越えて増大したとき、つまり
、これは弦操作後に同じ弦を再度ピンキングしたとき(
トレモロ奏法などによる)にこのようなことがおき、こ
の場合はS41の判定結果がYESとなり、リラティブ
オンの処理をすべくS41から378へ進む。
378では、時定数変換制御回路202(第2図)の時
定数変換レジスタ5TEPへ最高音フレンド(例えば2
2フレツト)の周期CRTIMをセットする。
定数変換レジスタ5TEPへ最高音フレンド(例えば2
2フレツト)の周期CRTIMをセットする。
上記処理の後、第5図の5TEPOの506へ進み、当
該発音中の楽音をノートオフした後、再発音を開始する
。なお、通常の演奏操作によれば、第9A図の5TEP
4の341ではNoの判断がなされ、342へ進み、上
述したルートのもしくはルート■へ進む。
該発音中の楽音をノートオフした後、再発音を開始する
。なお、通常の演奏操作によれば、第9A図の5TEP
4の341ではNoの判断がなされ、342へ進み、上
述したルートのもしくはルート■へ進む。
(リーティフ′オフの几 重 )
次に、第16図を参照して、リラティブオフ処理を説明
する。リラティブオフとは、フレット操作をしている状
態から、ピッキングをしないで開放弦状態へ移行する操
作にともない消音動作を行うことをいう。
する。リラティブオフとは、フレット操作をしている状
態から、ピッキングをしないで開放弦状態へ移行する操
作にともない消音動作を行うことをいう。
この場合、波形の振幅レベルは急激に落ちてきて、前々
回の波高(Ii!(ピーク値)AMRL2と前回の波高
値(ピーク値)AMRLIとの差が(1/32)・AM
RL2を越えるようになり、第9A図の5TEP4の3
46から374へ進む。
回の波高(Ii!(ピーク値)AMRL2と前回の波高
値(ピーク値)AMRLIとの差が(1/32)・AM
RL2を越えるようになり、第9A図の5TEP4の3
46から374へ進む。
そして、リラティブオフカウンタFOFRが定数ROF
CTを越えるまでカウントアツプするように374から
375へ進む。
CTを越えるまでカウントアツプするように374から
375へ進む。
続けて、S75からS48へ行きS49〜S57の処理
を行なうが、FOFR=Oでないので、S57の判定結
果はNoとなり、リラティブオフ処理に入る直前ではピ
ッチ変更を行なうことなく第4図のメインルーチンのM
2の処理へ戻る。
を行なうが、FOFR=Oでないので、S57の判定結
果はNoとなり、リラティブオフ処理に入る直前ではピ
ッチ変更を行なうことなく第4図のメインルーチンのM
2の処理へ戻る。
なお、上記ルートにおいては、355のエンベロープ制
御処理は行われる。これにより、リラティブオフの途中
においてデジタル出力DIのエンベロープが急激に減衰
している場合においても、サスティーンポイントSP通
過後は(第11図(a)参照)、上記エンベロープに基
づく乗算値GENV/GENVOの値が第1図の対応す
るラッチ11にランチされ、それに基づいて第1図の乗
算器6で前述の楽音のエンベロープ制御が行われること
により、リラティブオフに応じて楽音にエンベロープの
変化を付加することができる。
御処理は行われる。これにより、リラティブオフの途中
においてデジタル出力DIのエンベロープが急激に減衰
している場合においても、サスティーンポイントSP通
過後は(第11図(a)参照)、上記エンベロープに基
づく乗算値GENV/GENVOの値が第1図の対応す
るラッチ11にランチされ、それに基づいて第1図の乗
算器6で前述の楽音のエンベロープ制御が行われること
により、リラティブオフに応じて楽音にエンベロープの
変化を付加することができる。
そして、リラティブオフ時のピークが次々に入力し、S
74でNoと判断すると、つまり第16図の例では、F
OFRの値が3となったとき(ROFCTは2である)
、S74から376へ移行する。
74でNoと判断すると、つまり第16図の例では、F
OFRの値が3となったとき(ROFCTは2である)
、S74から376へ移行する。
ただし、S46の判断でYESの判断が一度でもあると
、S46から547へ進み、FOFRをリセットするよ
うに動作する。従って、ROFCTで指定される回数だ
け続けてS46の条件を満足しなければ、リラティブオ
フの処理はなされない。なお、ROFCTO値は、音高
が高い弦について大きな値としておけば、はぼ一定の時
間経過で、いずれの弦についてもリラティブオフ処理が
できる。
、S46から547へ進み、FOFRをリセットするよ
うに動作する。従って、ROFCTで指定される回数だ
け続けてS46の条件を満足しなければ、リラティブオ
フの処理はなされない。なお、ROFCTO値は、音高
が高い弦について大きな値としておけば、はぼ一定の時
間経過で、いずれの弦についてもリラティブオフ処理が
できる。
次に、374から376へ行くと、リラティブオフカウ
ンタFOFRをリセットし、レジスタ5TEPを5とし
、S77へ進んで楽音発生回路5(#1〜#nのうちい
ずれか)に対しノートオフを指示する。この処理と共に
、378においては、フラグSが0にリセットされる。
ンタFOFRをリセットし、レジスタ5TEPを5とし
、S77へ進んで楽音発生回路5(#1〜#nのうちい
ずれか)に対しノートオフを指示する。この処理と共に
、378においては、フラグSが0にリセットされる。
この5TEPが5の状態では、ピッチ抽出処理を5TE
P4の時と同様に実行するが、S60から361を介す
ることなくS62へ進むので、楽音発生回路5に対して
は、ピッチ変更は指示されない。ただし、S62におい
て抽出した周期に従って時定数チェンジ処理を行なう。
P4の時と同様に実行するが、S60から361を介す
ることなくS62へ進むので、楽音発生回路5に対して
は、ピッチ変更は指示されない。ただし、S62におい
て抽出した周期に従って時定数チェンジ処理を行なう。
また、フラグSはOにされるため、第9A図の355の
エンベロープ制御処理において、第9C図の3551の
判定はNOとなる。これにより、第1図の対応するラッ
チ11にはノートオフの直前に書き込まれた値がラッチ
されたままになり、対応する乗算器6の入力は第11図
(C)の最後部分の如く一定値となる。従って、対応す
る乗算器6から出力される楽音信号のエンベロープ特性
は、対応する楽音発生回路5から出力される楽音信号の
エンベロープが縮小されたものとなる。
エンベロープ制御処理において、第9C図の3551の
判定はNOとなる。これにより、第1図の対応するラッ
チ11にはノートオフの直前に書き込まれた値がラッチ
されたままになり、対応する乗算器6の入力は第11図
(C)の最後部分の如く一定値となる。従って、対応す
る乗算器6から出力される楽音信号のエンベロープ特性
は、対応する楽音発生回路5から出力される楽音信号の
エンベロープが縮小されたものとなる。
また、5TEPが5の状態では、リラティブオンの処理
を受付けるが(S41.378)、それ以外の場合では
、第4図のメインルーチンの中で、振動レベルが減少し
てきたことが検知されることによりM14で5TEPが
Oとなり、初期状態にもどる。
を受付けるが(S41.378)、それ以外の場合では
、第4図のメインルーチンの中で、振動レベルが減少し
てきたことが検知されることによりM14で5TEPが
Oとなり、初期状態にもどる。
なお、S46で使用するAMRL L AMRL2はS
64で作られており、1周期の中でレベルが大きい方の
ピーク(最大ピークと最小ピークとのうちのいずれか一
方)がこの値とされ、第16図の最大ピークakが最大
ビークbk−1より必ず大である場合であって、an+
1とa n+2、an+2とan+3、am+3とa
n+4の差がいずれも所定値を越えるようになっている
。
64で作られており、1周期の中でレベルが大きい方の
ピーク(最大ピークと最小ピークとのうちのいずれか一
方)がこの値とされ、第16図の最大ピークakが最大
ビークbk−1より必ず大である場合であって、an+
1とa n+2、an+2とan+3、am+3とa
n+4の差がいずれも所定値を越えるようになっている
。
また、このときルート■の処理においては、最小ビーク
bn+1、bn+2、bn+3が極端に減少してきてい
るので、S54でNOの判断が威されて、第4図のメイ
ンルーチンのM2の処理へ戻り、ピッチ変更処理はなさ
れない。
bn+1、bn+2、bn+3が極端に減少してきてい
るので、S54でNOの判断が威されて、第4図のメイ
ンルーチンのM2の処理へ戻り、ピッチ変更処理はなさ
れない。
(ピッチ の )
次に、ピッチ周期が不適切な場合、即ち、ピッチ抽出し
ている際に、358又はS59でオクターブ関係にある
倍音、つまりオクターブ高い周期やオクターブ低い周期
が続けて検出されたときの処理について説明を行う。
ている際に、358又はS59でオクターブ関係にある
倍音、つまりオクターブ高い周期やオクターブ低い周期
が続けて検出されたときの処理について説明を行う。
今、第9A図の5TEP4のS58の定数TTUは、第
8図の5TEP3の5301にて最小の値Oとされ、定
数TTWは同様に最大の値MAXとされており、はじめ
てこのフローを通るときは必ず358.359でYES
の判断がなされるが、その後はS62において、定数T
TUには、(17/32)t t (はぼlオクターブ
高音の周期情報)がセットされ、定数TTWには同様に
362にて(31/16)tt (はぼlオクターブ低
音の周期情報)がセットされる。
8図の5TEP3の5301にて最小の値Oとされ、定
数TTWは同様に最大の値MAXとされており、はじめ
てこのフローを通るときは必ず358.359でYES
の判断がなされるが、その後はS62において、定数T
TUには、(17/32)t t (はぼlオクターブ
高音の周期情報)がセットされ、定数TTWには同様に
362にて(31/16)tt (はぼlオクターブ低
音の周期情報)がセットされる。
従って、急激にオクターブアップする場合(これは、振
動弦を指で振動を止めるようにミュート奏法を行ったと
きなどに生ずる)、又はオクターブダウンする場合(こ
れは波形のピークを取り逃した時などに起る)が発生し
たときは、ピッチ変更をすると、不自然となるので、ピ
ッチ変更をしないように分岐する。
動弦を指で振動を止めるようにミュート奏法を行ったと
きなどに生ずる)、又はオクターブダウンする場合(こ
れは波形のピークを取り逃した時などに起る)が発生し
たときは、ピッチ変更をすると、不自然となるので、ピ
ッチ変更をしないように分岐する。
即ち、358では11がTTUを越えなかったとき、つ
まり、前回抽出した周期の17/32倍した値TTUよ
り小になったとき、S76へ進む。
まり、前回抽出した周期の17/32倍した値TTUよ
り小になったとき、S76へ進む。
つまり、オクターブ高い音が抽出されたときは、ミュー
ト操作をした場合とみなし、オクターブ高い音を出力す
ることなく、35Bから376へ行き、前記リラティブ
オフ時同様376.377の処理によって当該音の発音
を停止し、S78でフラグSをOに戻す。
ト操作をした場合とみなし、オクターブ高い音を出力す
ることなく、35Bから376へ行き、前記リラティブ
オフ時同様376.377の処理によって当該音の発音
を停止し、S78でフラグSをOに戻す。
また、359では、11がTTWを越えなかったとき、
つまり前回抽出した周期の31/16倍した値TTWよ
り大となったとき、S60へ進むことなく、第4図のメ
インルーチンのM2の処理へ戻る。
つまり前回抽出した周期の31/16倍した値TTWよ
り大となったとき、S60へ進むことなく、第4図のメ
インルーチンのM2の処理へ戻る。
この状態は第17図に示されている0通常ノートオフ近
辺の非常に波形が小さい場合は、他のピッキングによっ
てヘキサピックアップのクロストークやボディの共振に
よって波形が乗ってくる。
辺の非常に波形が小さい場合は、他のピッキングによっ
てヘキサピックアップのクロストークやボディの共振に
よって波形が乗ってくる。
すると、例えば、第17図のような入力波形となり、1
オクターブ下の入力波形が続けて検出されてしまうこと
がある。
オクターブ下の入力波形が続けて検出されてしまうこと
がある。
このような場合、回答処理を施さないと、急にオクター
ブ下の音を出力してしまい、極めて不自然となる。その
ために、556、S57でTan+2!:1Tan+3
#Tbn+2が検出されても、Tan+3>Tan+2
! (31/16)となるので、ピッチ変更することな
く、S59から第4図のメインルーチンのM2の処理へ
戻る。
ブ下の音を出力してしまい、極めて不自然となる。その
ために、556、S57でTan+2!:1Tan+3
#Tbn+2が検出されても、Tan+3>Tan+2
! (31/16)となるので、ピッチ変更することな
く、S59から第4図のメインルーチンのM2の処理へ
戻る。
(t11処理坐軌立〉
次に、波形がダブって抽出される場合、即ち、同じ極性
のピークが続けて検出される場合の処理について説明を
行う。
のピークが続けて検出される場合の処理について説明を
行う。
まず、第9A図の5TEP4のS42の判定結果がNo
となるルート■において、S63でYESの場合は、3
6Bに進みダブり処理が行われる。
となるルート■において、S63でYESの場合は、3
6Bに進みダブり処理が行われる。
即ち、S63でYESの場合はS68に進み、今回ピー
ク値C〉同じ符号の前回のピーク値AMP (b)かど
うかが判断され、YESの場合はS69に進む。
ク値C〉同じ符号の前回のピーク値AMP (b)かど
うかが判断され、YESの場合はS69に進む。
369では、今回ピーク値Cに前回のピーク値AMP(
b)が書き替えられ、S70に進む。
b)が書き替えられ、S70に進む。
S70では今回ピーク値C〉前回の振幅値(ピーク値)
AMRLIかどうかが判断され、YESの場合には57
1に進み、ここで今回ピーク値Cが前回の振幅値(ピー
ク値)AMRLIとされる。
AMRLIかどうかが判断され、YESの場合には57
1に進み、ここで今回ピーク値Cが前回の振幅値(ピー
ク値)AMRLIとされる。
もし、368でNOの判断がなされるとすぐに、第4図
のメインルーチンのM2の処理に戻る。従って、新しい
入力波形のピークが大である場合についてのみ、倍音の
ピークをひろっていないと考えられるので、新しい波形
のピーク値が登録される。
のメインルーチンのM2の処理に戻る。従って、新しい
入力波形のピークが大である場合についてのみ、倍音の
ピークをひろっていないと考えられるので、新しい波形
のピーク値が登録される。
また、S70でNoのときと、S71の処理の終了のと
きには、同様にメインルーチンへ戻る。
きには、同様にメインルーチンへ戻る。
第18図に、上記ダブり処理の例を示す。なお、この例
の場合はMT=Oの状態を示している。
の場合はMT=Oの状態を示している。
般に、基本波周期と倍音成分の周期が非整数倍の関係に
あるので、倍音の位相がずれて行き、同じ極性のゼロク
ロスを検出をしてしまうことになり、そのために誤った
ピッチ変更をしないようにしないといけない。この図の
例の場合、「ダブリ」と示しているところで、ダブリの
状態が生じている。
あるので、倍音の位相がずれて行き、同じ極性のゼロク
ロスを検出をしてしまうことになり、そのために誤った
ピッチ変更をしないようにしないといけない。この図の
例の場合、「ダブリ」と示しているところで、ダブリの
状態が生じている。
このときは、S42から363へ行き、YESの判断を
して368へ行く。S68では、この場合、(an+2
)と(an+3)との比較をして、(an+3)が(a
n+2)より大なときに限り369へ行き、AMP(1
)を書替える。そして、更に前回の振幅値(ピーク値)
AMRL 1と今回の振幅情報(ピーク値C)の比較を
370で行って、もしYESならば371へ進み、今回
のピーク値Cを前回の振幅値(ピーク値)AMRLIと
する。
して368へ行く。S68では、この場合、(an+2
)と(an+3)との比較をして、(an+3)が(a
n+2)より大なときに限り369へ行き、AMP(1
)を書替える。そして、更に前回の振幅値(ピーク値)
AMRL 1と今回の振幅情報(ピーク値C)の比較を
370で行って、もしYESならば371へ進み、今回
のピーク値Cを前回の振幅値(ピーク値)AMRLIと
する。
次に、第9A図の5TEP4のS42の判定結果がYE
Sとなるルート■において、次の343でNOとなる場
合は、S72に進み上記と同様にダブり処理が行われる
。
Sとなるルート■において、次の343でNOとなる場
合は、S72に進み上記と同様にダブり処理が行われる
。
即ち、S43でNOの場合は372に進み、今回ピーク
値C〉同し符号の前回のピーク値AMP(b)かどうか
が判断され、YESの場合は373に進み、今回ピーク
値Cに前回のピーク値AMP (b)が書き替えられた
後、第4図のメインルーチンのM2の処理へ戻る。
値C〉同し符号の前回のピーク値AMP(b)かどうか
が判断され、YESの場合は373に進み、今回ピーク
値Cに前回のピーク値AMP (b)が書き替えられた
後、第4図のメインルーチンのM2の処理へ戻る。
もし、372でNoの判断がなさるとすぐに、第4図の
メインルーチンのM2の処理に戻る。従って、この場合
も、新しい人力波形のピークが大である場合についての
み、新しい波形のピーク値が登録される。
メインルーチンのM2の処理に戻る。従って、この場合
も、新しい人力波形のピークが大である場合についての
み、新しい波形のピーク値が登録される。
第19図に、その例を示す。この例ではMT=1の状態
を示している。この場合、図のダブリと書いであるゼロ
クロス時の5TEP4の処理では、S42から343へ
行き、343ではYESの判断をしてS72へ進む。こ
こで(an+3)と(an+2)の大きさが比較され、
もしくan+3)が(a n+2)より大であれば、S
72でYESの判断をし、AMP (1)に、(an+
3)の値をセットし、もし逆の場合は回答変更処理をし
ない。
を示している。この場合、図のダブリと書いであるゼロ
クロス時の5TEP4の処理では、S42から343へ
行き、343ではYESの判断をしてS72へ進む。こ
こで(an+3)と(an+2)の大きさが比較され、
もしくan+3)が(a n+2)より大であれば、S
72でYESの判断をし、AMP (1)に、(an+
3)の値をセットし、もし逆の場合は回答変更処理をし
ない。
ところで、上記のダブり処理の場合、抽出している時刻
データは回答使用しないので、周期情報Ta n+3は
何等変わらない。また、当然周期データに基づくピッチ
変更は行われない。
データは回答使用しないので、周期情報Ta n+3は
何等変わらない。また、当然周期データに基づくピッチ
変更は行われない。
(Hの也の 1)
以上に示したように、本実施例では、各タイミング毎の
ピーク値と前回のピーク値との平均値の、サスティーン
ポイントSP(第11図(a)参照)に対する比をエン
ベロープデータとして楽音信号に乗算しており、それに
より、サスティーンポイントSP以後、ピーク値の変動
(ゆらぎ)等で不自然にエンベロープが変化すること、
及び正側のピークと負側のピークとのレベル差を矯正化
するようにしているが、それに限られるものではなく、
各タイミング毎のピーク値をそのまま用いるようにして
もよい。この場合は、第9C図のステップ3552等テ
ハ、GENV−AMP (1) 、又はGENV−AM
P (0)としてもよい。更には、3以上のピーク値の
移動平均やヒステリシスをもつ平均をとってもよい。
ピーク値と前回のピーク値との平均値の、サスティーン
ポイントSP(第11図(a)参照)に対する比をエン
ベロープデータとして楽音信号に乗算しており、それに
より、サスティーンポイントSP以後、ピーク値の変動
(ゆらぎ)等で不自然にエンベロープが変化すること、
及び正側のピークと負側のピークとのレベル差を矯正化
するようにしているが、それに限られるものではなく、
各タイミング毎のピーク値をそのまま用いるようにして
もよい。この場合は、第9C図のステップ3552等テ
ハ、GENV−AMP (1) 、又はGENV−AM
P (0)としてもよい。更には、3以上のピーク値の
移動平均やヒステリシスをもつ平均をとってもよい。
デジタル出力DIのエンベロープを楽音信号に反映させ
る境界としてはサスティーンポイントSPを用いたが、
アタック部分が保存される制御であればこれに限られる
ものではなく、例えば発音開始後一定時間経過した時点
を境界としてもよい。
る境界としてはサスティーンポイントSPを用いたが、
アタック部分が保存される制御であればこれに限られる
ものではなく、例えば発音開始後一定時間経過した時点
を境界としてもよい。
また、楽音発生回路5から出力される楽音信号に対して
乗算器6を用いて乗算を行うことにより、楽音のエンベ
ロープ制御を行っているが、エンベロープデータを楽音
発生回路5の内部に人力し、同回路を直接制御するよう
にしてもよい。また、エンベロープ乗算はデジタル乗算
によるものでも、アナログ乗算によるものでも、採用し
得る。
乗算器6を用いて乗算を行うことにより、楽音のエンベ
ロープ制御を行っているが、エンベロープデータを楽音
発生回路5の内部に人力し、同回路を直接制御するよう
にしてもよい。また、エンベロープ乗算はデジタル乗算
によるものでも、アナログ乗算によるものでも、採用し
得る。
一方、本実施例では、弦の振動波形からピッチ抽出を行
って楽音を制御する電子ギターに適用した例について示
したが、そのようなものに限られるものではなく、入力
波形信号からエンベロープを抽出して楽音を制御するよ
うなタイプの電子楽器であればどのようなものでもよく
、また、入力波形信号からピッチ抽出を行うタイプのも
のに限られるものでもない。
って楽音を制御する電子ギターに適用した例について示
したが、そのようなものに限られるものではなく、入力
波形信号からエンベロープを抽出して楽音を制御するよ
うなタイプの電子楽器であればどのようなものでもよく
、また、入力波形信号からピッチ抽出を行うタイプのも
のに限られるものでもない。
更に、楽音の音量のエンベロープだけではなく、音色変
化のエンベロープ等を制御するようにしてもよい。この
場合は、各スペクトル成分毎のエンベロープを抽出する
ようにして、このエンベロープに従って各成分毎のレベ
ルを上述した実施例と同様に、可変制御してゆけばよい
。
化のエンベロープ等を制御するようにしてもよい。この
場合は、各スペクトル成分毎のエンベロープを抽出する
ようにして、このエンベロープに従って各成分毎のレベ
ルを上述した実施例と同様に、可変制御してゆけばよい
。
本発明によれば、楽音信号が楽音発生手段から発音開始
されると、所定タイミング(例えばサスティーンポイン
ト)に達するまでのアタック部分では、楽音発生回路か
ら出力される楽音がそのまま出力され、その楽音の音色
等の特性が良く保存された楽音が発音され、所定タイミ
ング以後は、入力波形信号のエンベロープ信号に対応す
るように楽音発生手段からの楽音信号のエンベロープを
制御することが可能となる。
されると、所定タイミング(例えばサスティーンポイン
ト)に達するまでのアタック部分では、楽音発生回路か
ら出力される楽音がそのまま出力され、その楽音の音色
等の特性が良く保存された楽音が発音され、所定タイミ
ング以後は、入力波形信号のエンベロープ信号に対応す
るように楽音発生手段からの楽音信号のエンベロープを
制御することが可能となる。
従って、例えば電子ギターにおいて、演奏者が弦のピッ
キング操作をした後に弦振動を強制的に停止させるミュ
ート奏法を行うような場合にも、発音開始直後のアタッ
ク部分では楽音発生手段からの楽音信号(シン全音)の
音色が良く保存され、その後、ミュート奏法に基づいて
人力波形信号のエンベロープが急激に減衰するのに伴っ
て、所定タイミングの通過後、入力波形信号のエンベロ
ープ特性がエンベロープ制御手段において楽音信号に良
く反映され、旦ニート奏法等による演奏効果を容易に付
加することが可能となる。
キング操作をした後に弦振動を強制的に停止させるミュ
ート奏法を行うような場合にも、発音開始直後のアタッ
ク部分では楽音発生手段からの楽音信号(シン全音)の
音色が良く保存され、その後、ミュート奏法に基づいて
人力波形信号のエンベロープが急激に減衰するのに伴っ
て、所定タイミングの通過後、入力波形信号のエンベロ
ープ特性がエンベロープ制御手段において楽音信号に良
く反映され、旦ニート奏法等による演奏効果を容易に付
加することが可能となる。
第1図は、本発明による電子楽器の全体構成図、第2図
は、ピッチ抽出デジタル回路の構成図、第3図は、ピッ
チ割込み処理ルーチンの動作フローチャートを示した図
、 第4図は、メインルーチンの動作フローチャートを示し
た図、 第5図は、5TEPOの動作フローチャートを示した図
、 第6図は、5TEP 1の動作フローチャートを示した
図、 第7図は、5TEP2の動作フローチャートを示した図
、 第8図は、5TEP3の動作フローチャートを示した図
、 第9A図は、5TEP4 (5)の動作フローチャート
を示した図、 第9B図は、エンベロープ割込み処理ルーチンの動作フ
ローチャートを示した図、 第9C図は、エンベロープ制御処理の動作フローチャー
トを示した図、 第1O図は、本実施例の概略動作説明図、第11図は、
本実施例の動作説明図、 第12図は、本実施例の基本動作説明図、第13図(a
)、(ロ)は、5TEP 1におけるダブり処理の動作
説明図、 第14A図、第14B図、第14C図は、それぞれ5T
EP2におけるダブり処理の動作説明図、第15図は、
5TEP3におけるノイズ除去処理の動作説明図、 第16図は、5TEP4におけるリラティブオフ処理の
動作説明図、 第17図は、5TEP4におけるピンチ周期不適切時の
処理動作説明図、 第18図は、ルート■におけるダブり処理の動作説明図
、 第19図は、ルート■におけるダブり処理の動作説明図
、 第20図(a)、(b)は、第1の従来例の説明図、第
21図は、第2の従来例の説明図である。 1・・・ピッチ抽出アナログ回路、 2・・・ピッチ抽出デジタル回路、 3・・・中央制御装置(MCP)、 4・・・アドレスデコーダ、 5・・・楽音発生回路、 6・・・乗算器、 7・・・加算器、 8・・・D/A変換器、 9・・・アンプ、 10 ・ ・ ・ l 1 ・ ・ ・ DI ・ ・ ・ ENVO GENV ・ スピーカ、 ラッチ、 デジタル出力、 ・・・エンベロープデータ初期値、 ・・エンベロープデータ。
は、ピッチ抽出デジタル回路の構成図、第3図は、ピッ
チ割込み処理ルーチンの動作フローチャートを示した図
、 第4図は、メインルーチンの動作フローチャートを示し
た図、 第5図は、5TEPOの動作フローチャートを示した図
、 第6図は、5TEP 1の動作フローチャートを示した
図、 第7図は、5TEP2の動作フローチャートを示した図
、 第8図は、5TEP3の動作フローチャートを示した図
、 第9A図は、5TEP4 (5)の動作フローチャート
を示した図、 第9B図は、エンベロープ割込み処理ルーチンの動作フ
ローチャートを示した図、 第9C図は、エンベロープ制御処理の動作フローチャー
トを示した図、 第1O図は、本実施例の概略動作説明図、第11図は、
本実施例の動作説明図、 第12図は、本実施例の基本動作説明図、第13図(a
)、(ロ)は、5TEP 1におけるダブり処理の動作
説明図、 第14A図、第14B図、第14C図は、それぞれ5T
EP2におけるダブり処理の動作説明図、第15図は、
5TEP3におけるノイズ除去処理の動作説明図、 第16図は、5TEP4におけるリラティブオフ処理の
動作説明図、 第17図は、5TEP4におけるピンチ周期不適切時の
処理動作説明図、 第18図は、ルート■におけるダブり処理の動作説明図
、 第19図は、ルート■におけるダブり処理の動作説明図
、 第20図(a)、(b)は、第1の従来例の説明図、第
21図は、第2の従来例の説明図である。 1・・・ピッチ抽出アナログ回路、 2・・・ピッチ抽出デジタル回路、 3・・・中央制御装置(MCP)、 4・・・アドレスデコーダ、 5・・・楽音発生回路、 6・・・乗算器、 7・・・加算器、 8・・・D/A変換器、 9・・・アンプ、 10 ・ ・ ・ l 1 ・ ・ ・ DI ・ ・ ・ ENVO GENV ・ スピーカ、 ラッチ、 デジタル出力、 ・・・エンベロープデータ初期値、 ・・エンベロープデータ。
Claims (1)
- 【特許請求の範囲】 1)入力波形信号のエンベロープ信号を抽出するエンベ
ロープ抽出手段と、 楽音信号を発生する楽音発生手段と、 該楽音信号の発音開始後、所定タイミングを経過した以
後に、前記エンベロープ抽出手段により抽出されたエン
ベロープ信号に対応するように前記楽音発生手段から発
生される楽音信号のエンベロープを制御するエンベロー
プ制御手段と、を有することを特徴とする電子楽器。 2)前記エンベロープ抽出手段は、 前記入力波形信号をデジタル化することにより得られる
デジタル波形信号の立ち上がり後の有効なピーク値を順
次検出する有効ピーク値検出手段と、 該有効ピーク値検出手段から順次検出される有効なピー
ク値と前回の有効なピーク値との平均値を順次演算し前
記エンベロープ信号として順次出力するエンベロープ信
号演算手段と、 によって構成され、 前記エンベロープ制御手段は、 前記所定タイミングを経過した後に、前記エンベロープ
信号演算手段から順次出力されるエンベロープ信号の値
を前記所定タイミング経過時に前記エンベロープ信号演
算手段から出力されるエンベロープ信号の値で除算して
得た比の値を、前記楽音発生手段から発生される前記楽
音信号に乗算する乗算手段、 によって構成される、 ことを特徴とする請求項1記載の電子楽器。 3)前記楽音発生手段は、該手段から発生される前記楽
音信号にエンベロープ特性を付加するエンベロープ発生
手段を有し、 前記所定タイミングは、前記エンベロープ発生手段にお
いて付加されるエンベロープ特性が持続特性になるタイ
ミングである、 ことを特徴とする請求項1又は2記載の電子楽器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1208643A JP2958778B2 (ja) | 1989-08-11 | 1989-08-11 | 楽音発生装置 |
US07/558,818 US5147970A (en) | 1989-08-11 | 1990-07-27 | Electronic musical instrument for generating musical tones on the basis of characteristics of input waveform signal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1208643A JP2958778B2 (ja) | 1989-08-11 | 1989-08-11 | 楽音発生装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0372399A true JPH0372399A (ja) | 1991-03-27 |
JP2958778B2 JP2958778B2 (ja) | 1999-10-06 |
Family
ID=16559642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1208643A Expired - Lifetime JP2958778B2 (ja) | 1989-08-11 | 1989-08-11 | 楽音発生装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2958778B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005022787A1 (de) * | 2003-08-21 | 2005-03-10 | Daimlerchrysler Ag | Diagnoseeinrichtung und diagnoseverfahren für ein mehrantennensystem |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS51123133A (en) * | 1975-04-18 | 1976-10-27 | Matsushita Electric Ind Co Ltd | Instrument tone conversion device |
JPS54126016A (en) * | 1978-03-24 | 1979-09-29 | Nippon Gakki Seizo Kk | Electric instrument |
-
1989
- 1989-08-11 JP JP1208643A patent/JP2958778B2/ja not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS51123133A (en) * | 1975-04-18 | 1976-10-27 | Matsushita Electric Ind Co Ltd | Instrument tone conversion device |
JPS54126016A (en) * | 1978-03-24 | 1979-09-29 | Nippon Gakki Seizo Kk | Electric instrument |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005022787A1 (de) * | 2003-08-21 | 2005-03-10 | Daimlerchrysler Ag | Diagnoseeinrichtung und diagnoseverfahren für ein mehrantennensystem |
Also Published As
Publication number | Publication date |
---|---|
JP2958778B2 (ja) | 1999-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2615825B2 (ja) | 電子弦楽器 | |
JP2734521B2 (ja) | 楽音制御装置 | |
JP2722795B2 (ja) | 楽音合成装置 | |
US5048391A (en) | Electronic musical instrument for generating musical tones on the basis of characteristics of input waveform signal | |
US5147970A (en) | Electronic musical instrument for generating musical tones on the basis of characteristics of input waveform signal | |
CA2437691C (en) | Rendition style determination apparatus | |
US4924746A (en) | Input apparatus of electronic device for extracting pitch from input waveform signal | |
JPH0372399A (ja) | 楽音発生装置 | |
US5252776A (en) | Musical tone synthesizing apparatus | |
JPH02171798A (ja) | 楽音制御装置 | |
JP2722584B2 (ja) | 楽音制御装置 | |
JPH0372400A (ja) | 電子楽器 | |
JP2661481B2 (ja) | 電子楽器 | |
JP2615946B2 (ja) | 楽音制御装置 | |
JP6135312B2 (ja) | 電子弦楽器、楽音制御方法及びプログラム | |
JPH02154298A (ja) | 音高情報生成装置 | |
JP4095193B2 (ja) | アルペジエータ | |
JPH01100598A (ja) | 発音制御装置 | |
JPH01100599A (ja) | 発音制御装置 | |
JP2591000B2 (ja) | 電子弦楽器 | |
JPH01100597A (ja) | 発音制御装置 | |
JP2940043B2 (ja) | 電子楽器 | |
JPH01100595A (ja) | 発音制御装置 | |
JPH01182887A (ja) | 電子弦楽器 | |
JPH08146966A (ja) | 楽音合成装置 |