JP2591001B2 - 電子弦楽器 - Google Patents
電子弦楽器Info
- Publication number
- JP2591001B2 JP2591001B2 JP62336412A JP33641287A JP2591001B2 JP 2591001 B2 JP2591001 B2 JP 2591001B2 JP 62336412 A JP62336412 A JP 62336412A JP 33641287 A JP33641287 A JP 33641287A JP 2591001 B2 JP2591001 B2 JP 2591001B2
- Authority
- JP
- Japan
- Prior art keywords
- pitch
- amplitude
- string
- peak value
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、電子ギターなどの電子弦楽器に係り、特
に入力波形信号のレベルが急激に減衰したことを検知し
て当該楽音をオフ(リラテイブオフ)することを可能と
する電子弦楽器に関する。
に入力波形信号のレベルが急激に減衰したことを検知し
て当該楽音をオフ(リラテイブオフ)することを可能と
する電子弦楽器に関する。
従来より、自然楽器の演奏操作によつて発生する波形
信号からピツチ(基本周波数)を抽出し、電子回路で構
成された音源装置を制御して、人工的に楽音等の音響を
得るようにした電子楽器が種々開発されている。
信号からピツチ(基本周波数)を抽出し、電子回路で構
成された音源装置を制御して、人工的に楽音等の音響を
得るようにした電子楽器が種々開発されている。
この種の電子楽器として電子ギターあるいはギターシ
ンセサイザといわれるものがあり、このような楽器にお
いて上述のリラテイブオフの機能を備えたものを、本特
許出願人は既に提案している(特願昭62−76453号、特
願昭62−258673号など。) さて、このリラテイブオフの処理は、フレツト操作し
ていた指を離すことによつて、音源装置に消音指示(ミ
ユート)を行うもので、入力波形信号のレベルが急激に
減衰変化したことを検知して、かかる指示を実行するこ
とになる。
ンセサイザといわれるものがあり、このような楽器にお
いて上述のリラテイブオフの機能を備えたものを、本特
許出願人は既に提案している(特願昭62−76453号、特
願昭62−258673号など。) さて、このリラテイブオフの処理は、フレツト操作し
ていた指を離すことによつて、音源装置に消音指示(ミ
ユート)を行うもので、入力波形信号のレベルが急激に
減衰変化したことを検知して、かかる指示を実行するこ
とになる。
しかるに、先の提案によればピツチ抽出に基づき検出
される音高が如何なるものであつても、同じ条件で上記
リラテイブオフ処理を行つており、特に緩やかレベルの
減衰をもたらす場合、具体的には弦長の中央を指で押え
た状態(つまり開放弦音高の1オクターブ上の音高の指
定状態)から指を離したときは、振動がとまりにくく、
他の位置に比べて、上述の減衰変化の検出が困難となつ
て、演奏者の意図するオフ指示ができなくなるという問
題が生ずる。
される音高が如何なるものであつても、同じ条件で上記
リラテイブオフ処理を行つており、特に緩やかレベルの
減衰をもたらす場合、具体的には弦長の中央を指で押え
た状態(つまり開放弦音高の1オクターブ上の音高の指
定状態)から指を離したときは、振動がとまりにくく、
他の位置に比べて、上述の減衰変化の検出が困難となつ
て、演奏者の意図するオフ指示ができなくなるという問
題が生ずる。
仮に、このような緩やかな減衰をも検知して、発音停
止するようにした場合は、グリツサンドやスラーの演奏
操作を行つたときでも、リラテイブオフとみなされて、
ノートオフしてしまうという問題が生ずることになる。
止するようにした場合は、グリツサンドやスラーの演奏
操作を行つたときでも、リラテイブオフとみなされて、
ノートオフしてしまうという問題が生ずることになる。
この発明は、前記事情に鑑みてなされたもので弦振動
が長く続く開放弦音高の1オクターブ上の音高でミユー
ト操作をしたときでも、確実に消音指示が音源手段に対
して行えるようにした電子弦楽器を提出することを目的
とする。
が長く続く開放弦音高の1オクターブ上の音高でミユー
ト操作をしたときでも、確実に消音指示が音源手段に対
して行えるようにした電子弦楽器を提出することを目的
とする。
すなわち、この発明は上記目的を達成するために、弦
振動の振幅を検出する振幅検出手段と、前記弦振動のピ
ッチを検出するピッチ検出手段と、前記ピッチ検出手段
が検出したピッチに対応する音高の楽音の発生を指示す
る楽音発生指示手段と、前記ピッチ検出手段が検出する
ピッチが、開放弦の1オクターブ上の音高に略一致する
ピッチか否かを判定する判定手段と、前記楽音発生指示
手段の指示による楽音発生中に、前記判定手段が振動中
の弦のピッチが開放弦の1オクターブ上の音高に略一致
するピッチであると判定した場合、前記振幅検出手段が
検出する前記振幅の減衰率が第1の所定値以上になる
と、前記発生中の楽音の消音を指示すると共に、前記判
定手段が振動中の弦のピッチが開放弦の1オクターブ上
の音高に略一致するピッチでないと判定した場合、前記
振幅検出手段が検出する前記振幅の減衰率が第1の所定
値より大きい第2の所定値以上になると、前記発生中の
楽音の消音を指示する消音指示手段とを有するようにし
たことを要点とするものである。
振動の振幅を検出する振幅検出手段と、前記弦振動のピ
ッチを検出するピッチ検出手段と、前記ピッチ検出手段
が検出したピッチに対応する音高の楽音の発生を指示す
る楽音発生指示手段と、前記ピッチ検出手段が検出する
ピッチが、開放弦の1オクターブ上の音高に略一致する
ピッチか否かを判定する判定手段と、前記楽音発生指示
手段の指示による楽音発生中に、前記判定手段が振動中
の弦のピッチが開放弦の1オクターブ上の音高に略一致
するピッチであると判定した場合、前記振幅検出手段が
検出する前記振幅の減衰率が第1の所定値以上になる
と、前記発生中の楽音の消音を指示すると共に、前記判
定手段が振動中の弦のピッチが開放弦の1オクターブ上
の音高に略一致するピッチでないと判定した場合、前記
振幅検出手段が検出する前記振幅の減衰率が第1の所定
値より大きい第2の所定値以上になると、前記発生中の
楽音の消音を指示する消音指示手段とを有するようにし
たことを要点とするものである。
以下、この発明の実施例について図面を参照して説明
するが、ここではこの発明を電子ギターに適用した場合
を例にあげて説明する。なお、これに限らず他のタイプ
の電子楽器であつても同様に適用できる。
するが、ここではこの発明を電子ギターに適用した場合
を例にあげて説明する。なお、これに限らず他のタイプ
の電子楽器であつても同様に適用できる。
第1図は、全体の回路を示すブロツク図であり、ピツ
チ抽出アナログ回路PAは、図示しない例えば電子ギター
ボデイ上に張設された6つの弦に夫々設けられ、弦の振
動を電気信号に変換するヘキサピツクアツプと、このピ
ツクアツプからの出力からゼロクロス信号と波形信号Z
i、Wi(i=1〜6)を得るとともに、これらの信号を
時分割のシリアルゼロクロス信号ZCRおよびデジタル出
力(時分割波形信号)D1とに変換する変換手段例えば後
述するアナログ−デジタル変換器A/Dとを備えている。
チ抽出アナログ回路PAは、図示しない例えば電子ギター
ボデイ上に張設された6つの弦に夫々設けられ、弦の振
動を電気信号に変換するヘキサピツクアツプと、このピ
ツクアツプからの出力からゼロクロス信号と波形信号Z
i、Wi(i=1〜6)を得るとともに、これらの信号を
時分割のシリアルゼロクロス信号ZCRおよびデジタル出
力(時分割波形信号)D1とに変換する変換手段例えば後
述するアナログ−デジタル変換器A/Dとを備えている。
ピツチ抽出デジタル回路PDは、本実施例において振幅
検出手段及びピッチ検出手段を構成するものであって、
第2図のようにピーク検出回路PEDT、時定数変換制御回
路TCC、波高値取込み回路PVS、ゼロクロス時刻取込回路
ZTSからなり、前記ピツチ抽出アナログ回路PAからのシ
リアルゼロクロス信号ZCRとデジタル出力D1とに基づき
最大ピーク点または最小ピーク点を検出し、MAXI、MINI
(I=1〜6)を発生するとともに、ゼロクロス点通
過、厳密には最大ピーク点、最小ピーク点直後のゼロク
ロス点通過でインターラプト(割込み)信号INTをマイ
コンMCPに出力し、またゼロクロス点の時刻情報とピー
ク値情報例えばMAX、MIN及び入力波形信号の瞬時値をそ
れぞれマイコンMCPに出力するものである。なお、ピー
ク検出回路PEDTの内部には、過去のピーク値を減算しな
がらホールドする回路を備えている。
検出手段及びピッチ検出手段を構成するものであって、
第2図のようにピーク検出回路PEDT、時定数変換制御回
路TCC、波高値取込み回路PVS、ゼロクロス時刻取込回路
ZTSからなり、前記ピツチ抽出アナログ回路PAからのシ
リアルゼロクロス信号ZCRとデジタル出力D1とに基づき
最大ピーク点または最小ピーク点を検出し、MAXI、MINI
(I=1〜6)を発生するとともに、ゼロクロス点通
過、厳密には最大ピーク点、最小ピーク点直後のゼロク
ロス点通過でインターラプト(割込み)信号INTをマイ
コンMCPに出力し、またゼロクロス点の時刻情報とピー
ク値情報例えばMAX、MIN及び入力波形信号の瞬時値をそ
れぞれマイコンMCPに出力するものである。なお、ピー
ク検出回路PEDTの内部には、過去のピーク値を減算しな
がらホールドする回路を備えている。
そして、このピーク検出回路PEDTのピークホールド回
路の減衰率を変更するのが、時定数変換制御回路TCCで
あり、波形の例えば1周期の時間経過してもピークが検
知できないときは、急速に減衰するようにする。具体的
には、初期状態では速やかに波形の振動を検知すべく最
高音周期時間経過にて、急速減衰し、弦振動が検知され
ると倍音を拾わないために、当該弦の開放弦周期時間経
過にて同様に急速減衰するようにし、そして弦の振動周
期が抽出された後は、その周期にて急速減衰を行なうよ
うになる。
路の減衰率を変更するのが、時定数変換制御回路TCCで
あり、波形の例えば1周期の時間経過してもピークが検
知できないときは、急速に減衰するようにする。具体的
には、初期状態では速やかに波形の振動を検知すべく最
高音周期時間経過にて、急速減衰し、弦振動が検知され
ると倍音を拾わないために、当該弦の開放弦周期時間経
過にて同様に急速減衰するようにし、そして弦の振動周
期が抽出された後は、その周期にて急速減衰を行なうよ
うになる。
この時定数変換制御回路TCCに対するかかる周期情報
の設定は、マイコンMCPが行なう。そして、この時定数
変換制御回路TCC内部の各弦独立のカウンタと、この設
定された周期情報との一致比較を行ない、周期時間経過
で時定数チエンジ信号をピーク検出回路PEDTへ送出す
る。
の設定は、マイコンMCPが行なう。そして、この時定数
変換制御回路TCC内部の各弦独立のカウンタと、この設
定された周期情報との一致比較を行ない、周期時間経過
で時定数チエンジ信号をピーク検出回路PEDTへ送出す
る。
また、第2図における波高値取込み回路PVSは、上述
のとおり時分割的に送出されてくる波形信号(デジタル
出力)D1を、各弦毎の波高値にデマルチプレクス処理
し、ピーク検出回路PEDTからのピーク信号MAXI、MINI
(I=1〜6)に従つて、ピーク値をホールドする。そ
して、マイコンMCPがアドレスデコーダDCDを介してアク
セスしてきた弦についての最大ピーク値もしくは最小ピ
ーク値をマイコンバスへ出力する。また、この波高値取
込み回路PVSからは、各弦毎の振動の瞬時値も出力可能
になつている。
のとおり時分割的に送出されてくる波形信号(デジタル
出力)D1を、各弦毎の波高値にデマルチプレクス処理
し、ピーク検出回路PEDTからのピーク信号MAXI、MINI
(I=1〜6)に従つて、ピーク値をホールドする。そ
して、マイコンMCPがアドレスデコーダDCDを介してアク
セスしてきた弦についての最大ピーク値もしくは最小ピ
ーク値をマイコンバスへ出力する。また、この波高値取
込み回路PVSからは、各弦毎の振動の瞬時値も出力可能
になつている。
ゼロクロス時刻取込回路ZTSは、各弦共通のタイムベ
ースカウンタ出力を、各弦のゼロクロス時点(厳密には
最大ピーク点及び最小ピーク点通過直後のゼロクロス時
点)でラツチするようになる。そして、マイコンMCPか
らの要求により、そのラツチした時刻情報をマイコンバ
スへ送出する。
ースカウンタ出力を、各弦のゼロクロス時点(厳密には
最大ピーク点及び最小ピーク点通過直後のゼロクロス時
点)でラツチするようになる。そして、マイコンMCPか
らの要求により、そのラツチした時刻情報をマイコンバ
スへ送出する。
また、図のタイミングジエネレータTGからは、第1図
及び第2図に示す各回路の処理動作のためのタイミング
信号を出力する。
及び第2図に示す各回路の処理動作のためのタイミング
信号を出力する。
マイコンMCPには、メモリ例えばROMおよびRAMを有す
るとともに、タイマーTを有し、音源発生装置SOBに与
える為の信号を制御するものである。音源発生装置SOB
は音源SSとデジタル−アナログ変換器D/Aと、アンプAMP
と、スピーカSPとからなり、マイコンMCPからのノート
オン(発音)、ノートオフ(消音)、周波数を変える音
高指示信号に応じた音高の楽音を放音するものである。
なお、音源SSの入力側とマイコンMCPのデータバスBUSと
の間に、インターフエース(Musical Instrument Digit
al Interface)MIDIが設けられている。勿論、ギター本
体に音源SSを設けるときは、別のインターフエースを介
してもよい。アドレスデコーダーDCDは、マイコンMCPか
らのアドレス読み出し信号ARが入力されたとき、弦番号
の読込み信号RDI、時刻読込み信号RDj(j=1〜6)と
MAX、MINのピーク値及びその時点その時点の瞬時値読込
み信号RDAI(I=1〜18)をピツチ抽出デジタル回路PD
に出力する。
るとともに、タイマーTを有し、音源発生装置SOBに与
える為の信号を制御するものである。音源発生装置SOB
は音源SSとデジタル−アナログ変換器D/Aと、アンプAMP
と、スピーカSPとからなり、マイコンMCPからのノート
オン(発音)、ノートオフ(消音)、周波数を変える音
高指示信号に応じた音高の楽音を放音するものである。
なお、音源SSの入力側とマイコンMCPのデータバスBUSと
の間に、インターフエース(Musical Instrument Digit
al Interface)MIDIが設けられている。勿論、ギター本
体に音源SSを設けるときは、別のインターフエースを介
してもよい。アドレスデコーダーDCDは、マイコンMCPか
らのアドレス読み出し信号ARが入力されたとき、弦番号
の読込み信号RDI、時刻読込み信号RDj(j=1〜6)と
MAX、MINのピーク値及びその時点その時点の瞬時値読込
み信号RDAI(I=1〜18)をピツチ抽出デジタル回路PD
に出力する。
以下、マイコンMCPの動作についてフローチヤートや
波形を示す図面を参照して説明するが、はじめに図面の
符号について説明する。
波形を示す図面を参照して説明するが、はじめに図面の
符号について説明する。
AD…第1図の瞬時値読込み信号RDA13〜18によりピツチ
抽出デジタル回路PDの入力波形を直接読んだ入力波高値
(瞬時値) AMP(0、1)…正又は負の前回(old)の波高値 AMRL1…振幅レジスタで記憶されているリラテイブ(rel
ative)オフ(off)のチエツクのための前回の振幅値で
ある。ここで、前記リラテイブオフとは波高値が急激に
減衰してきたことに基づき消音することで、フレツト操
作をやめて開放弦へ移つたときの消音処理に相当する。
抽出デジタル回路PDの入力波形を直接読んだ入力波高値
(瞬時値) AMP(0、1)…正又は負の前回(old)の波高値 AMRL1…振幅レジスタで記憶されているリラテイブ(rel
ative)オフ(off)のチエツクのための前回の振幅値で
ある。ここで、前記リラテイブオフとは波高値が急激に
減衰してきたことに基づき消音することで、フレツト操
作をやめて開放弦へ移つたときの消音処理に相当する。
AMRL2…振幅レジスタで記憶されている前記リラテイブ
オフのための前々回の振幅値で、これにはAMRLIの値が
入力される。
オフのための前々回の振幅値で、これにはAMRLIの値が
入力される。
ANE…リラテイブオフのジヤツジのための定数1/40又は1
/20を記憶する。
/20を記憶する。
CHTIM…最高音フレツト(22フレツト)に対応する周期 CHTIO…開放弦フレツトに対応する周期 CHTRR…時定数変換レジスタで、上述の時定数変換制御
回路TCC(第2図)の内部に設けられている。
回路TCC(第2図)の内部に設けられている。
DUB…波形が続けて同一方向に来たことを示すフラグ FOFR…リラテイブオフカウンタ HFOP……開放弦の1オクターブ上の音階に相当する周期
を示す定数 HNC…波形ナンバーカウンタ MT…これからピツチ抽出を行なう側のフラグ(正=1、
負=0) NCHLV…ノーチエンジレベル(定数) OFTIM…オフタイム(例えば当該弦の開放弦周期に相
当) OFPT…通常オフチエツク開始フラグ ONF…ノートオンフラグ RIV…後述のステツプ(STEP)4での処理ルートの切替
を行なうためのフラグ ROFCT…リラテイブオフのチエツク回数を定める定数 STEP…マイコンMCPのフロー動作を指定するレジスタ
(1〜5) TF…有効となつた前回のゼロクロス時刻データ TFN(0、1)…正または負のピーク値直後の前回のゼ
ロクロス時刻データ TFR…時刻記憶レジスタ THLIM…周波数上限(定数) TLLIM…周波数下限(定数) TP(0、1)…正または負の前回の周期データ TRLAB(0、1)…正または負の絶対トリガーレベル
(ノートオンしきい値) TRLRL…リラテイブオン(再発音開始)のしきい値 TRLRS…共振除去しきい値 TTLIM…トリガー時の周波数下限 TTP…前回抽出された周期データ TTR…周期レジスタ TTU…定数(17/32と今回の周期情報ttの積) TTW…定数(31/16と今回の周期情報ttの積) VEL…速度(ベロシテイー)を定める情報で、発音開始
時の波形の最大ピーク値にて定まる。
を示す定数 HNC…波形ナンバーカウンタ MT…これからピツチ抽出を行なう側のフラグ(正=1、
負=0) NCHLV…ノーチエンジレベル(定数) OFTIM…オフタイム(例えば当該弦の開放弦周期に相
当) OFPT…通常オフチエツク開始フラグ ONF…ノートオンフラグ RIV…後述のステツプ(STEP)4での処理ルートの切替
を行なうためのフラグ ROFCT…リラテイブオフのチエツク回数を定める定数 STEP…マイコンMCPのフロー動作を指定するレジスタ
(1〜5) TF…有効となつた前回のゼロクロス時刻データ TFN(0、1)…正または負のピーク値直後の前回のゼ
ロクロス時刻データ TFR…時刻記憶レジスタ THLIM…周波数上限(定数) TLLIM…周波数下限(定数) TP(0、1)…正または負の前回の周期データ TRLAB(0、1)…正または負の絶対トリガーレベル
(ノートオンしきい値) TRLRL…リラテイブオン(再発音開始)のしきい値 TRLRS…共振除去しきい値 TTLIM…トリガー時の周波数下限 TTP…前回抽出された周期データ TTR…周期レジスタ TTU…定数(17/32と今回の周期情報ttの積) TTW…定数(31/16と今回の周期情報ttの積) VEL…速度(ベロシテイー)を定める情報で、発音開始
時の波形の最大ピーク値にて定まる。
X…異常または正常状態を示すフラグ b…ワーキングレジスタBに記憶されている今回正負フ
ラグ(正ピークの次のゼロ点のとき1、負ピークの次の
ゼロ点のとき0) c…ワーキングレジスタレジスタCに記憶されている今
回波高値(ピーク値) e…ワーキングレジスタEに記憶されている前々回波高
値(ピーク値) h…ワーキングレジスタHに記憶されている前々回抽出
された周期データ t…ワーキングレジスタT0に記憶されている今回のゼロ
クロス時刻 tt…ワーキングレジスタTOTOに記載されている今回の周
期情報 第3図は、マイコンMCPへインタラプトがかけられた
ときの処理を示すインタラプトルーチンであり、I1にお
いて、マイコンMCPはアドレスデコーダDCDを介し、ゼロ
クロス時刻取込回路ZTSに対し、弦番号読み込み信号RDI
を与えてインタラプトを与えた弦を指定する弦番号を読
み込む。そして、その弦番号に対応する時刻情報つまり
ゼロクロス時刻情報をゼロクロス時刻取込回路ZTSへ時
刻読込み信号RD1〜RD6のいずれか対応するものを与えて
読込む。これをtとする。しかる後、I2において、同様
に波高値取込み回路PVSへピーク値読込み信号RDAI(I
=1〜12のうちのいずれか)を与えて、ピーク値を読取
る。これをcとする。
ラグ(正ピークの次のゼロ点のとき1、負ピークの次の
ゼロ点のとき0) c…ワーキングレジスタレジスタCに記憶されている今
回波高値(ピーク値) e…ワーキングレジスタEに記憶されている前々回波高
値(ピーク値) h…ワーキングレジスタHに記憶されている前々回抽出
された周期データ t…ワーキングレジスタT0に記憶されている今回のゼロ
クロス時刻 tt…ワーキングレジスタTOTOに記載されている今回の周
期情報 第3図は、マイコンMCPへインタラプトがかけられた
ときの処理を示すインタラプトルーチンであり、I1にお
いて、マイコンMCPはアドレスデコーダDCDを介し、ゼロ
クロス時刻取込回路ZTSに対し、弦番号読み込み信号RDI
を与えてインタラプトを与えた弦を指定する弦番号を読
み込む。そして、その弦番号に対応する時刻情報つまり
ゼロクロス時刻情報をゼロクロス時刻取込回路ZTSへ時
刻読込み信号RD1〜RD6のいずれか対応するものを与えて
読込む。これをtとする。しかる後、I2において、同様
に波高値取込み回路PVSへピーク値読込み信号RDAI(I
=1〜12のうちのいずれか)を与えて、ピーク値を読取
る。これをcとする。
続くI3において、当該ピーク値は正、負のいずれかの
ピークであるのかを示す情報bを、ゼロクロス時刻取込
回路ZTSより得る。そして、I4にて、このようにして得
たt、c、bの値をマイコンMCP内のバツフアのレジス
タTO、C、Bにセツトする。このバツフアは、割込み処
理がなされる都度、このような時刻情報、ピーク値情
報、ピークの種類を示す情報がワンセツトとして書込ま
れていき、メインルーチンで、各弦毎にかかる情報に対
する処理がなされる。
ピークであるのかを示す情報bを、ゼロクロス時刻取込
回路ZTSより得る。そして、I4にて、このようにして得
たt、c、bの値をマイコンMCP内のバツフアのレジス
タTO、C、Bにセツトする。このバツフアは、割込み処
理がなされる都度、このような時刻情報、ピーク値情
報、ピークの種類を示す情報がワンセツトとして書込ま
れていき、メインルーチンで、各弦毎にかかる情報に対
する処理がなされる。
第4図は、メインルーチンを示すフローチヤートであ
る。パワーオンすることによりM1において、各種レジス
タやフラグがイニシヤライズされ、レジスタSTEPが0と
される。M2で上述したバツフアが空かどうかが判断さ
れ、ノー(以下、Nと称す)の場合にはM3に進み、バツ
フアよりレジスタB、C、TOの内容が読まれる。これに
より、M4において、レジスタSTEPはいくつか判断され、
M5ではSTEP0、M6ではSTEP1、M7ではSTEP2、M8ではSTEP
3、M9ではSTEP4の処理が順次おこなわれる。
る。パワーオンすることによりM1において、各種レジス
タやフラグがイニシヤライズされ、レジスタSTEPが0と
される。M2で上述したバツフアが空かどうかが判断さ
れ、ノー(以下、Nと称す)の場合にはM3に進み、バツ
フアよりレジスタB、C、TOの内容が読まれる。これに
より、M4において、レジスタSTEPはいくつか判断され、
M5ではSTEP0、M6ではSTEP1、M7ではSTEP2、M8ではSTEP
3、M9ではSTEP4の処理が順次おこなわれる。
M2でバツフアが空の場合すなわちイエス(以下、Yと
称する)の場合、M10〜M16へと順次に進み、ここで通常
のノートオフのアルゴリズムの処理が行なわれる。この
ノーオフのアルゴリズムは、オフ(OFF)レベル以下の
状態が所定のオフタイム時間続いたら、ノートオフする
アルゴリズムである。M10でSTEP=0かどうかが判断さ
れ、Nの場合には、M11に進む。M11Dでは、その時点の
入力波高値ADが直接読まれる。これは、波高値取込み回
路PVSへピーク値読込み信号RDA13〜RDA18のいずれかを
与えることで達成できる。そして、この値ADが、入力波
高値ADオフレベルかどうかが判断され、Yの場合には
M12に進む。M12では前回の入力波高値ADオフレベルか
どうかが判断され、Yの場合にはM13に進み、ここでタ
イマーTの値オフタイムOFTIM(例えば当然弦の開放
弦周期の定数)かどうかが判断される。Yの場合には、
M14に進み、レジスタSTEPに0が書きこまれ、M15ではノ
ートオンかどうかが判断され、Yの場合には、M16でノ
ートオフ処理され、M2の入側のMに戻る。M12でNの場
合にはM17に進み、マイコンMCP内部タイマーTをスター
トし、M2の入側Mに戻る。M10でYの場合、及びM11、M1
3、M15でNの場合には、いずれもM12の入側のMに戻
る。
称する)の場合、M10〜M16へと順次に進み、ここで通常
のノートオフのアルゴリズムの処理が行なわれる。この
ノーオフのアルゴリズムは、オフ(OFF)レベル以下の
状態が所定のオフタイム時間続いたら、ノートオフする
アルゴリズムである。M10でSTEP=0かどうかが判断さ
れ、Nの場合には、M11に進む。M11Dでは、その時点の
入力波高値ADが直接読まれる。これは、波高値取込み回
路PVSへピーク値読込み信号RDA13〜RDA18のいずれかを
与えることで達成できる。そして、この値ADが、入力波
高値ADオフレベルかどうかが判断され、Yの場合には
M12に進む。M12では前回の入力波高値ADオフレベルか
どうかが判断され、Yの場合にはM13に進み、ここでタ
イマーTの値オフタイムOFTIM(例えば当然弦の開放
弦周期の定数)かどうかが判断される。Yの場合には、
M14に進み、レジスタSTEPに0が書きこまれ、M15ではノ
ートオンかどうかが判断され、Yの場合には、M16でノ
ートオフ処理され、M2の入側のMに戻る。M12でNの場
合にはM17に進み、マイコンMCP内部タイマーTをスター
トし、M2の入側Mに戻る。M10でYの場合、及びM11、M1
3、M15でNの場合には、いずれもM12の入側のMに戻
る。
このように、波形入力のレベルが減衰してきた場合、
オフレベル以下の入力波高値ADがオフタイムOFTIMに相
当する時間続くと、ノートオフの指示を音源SSに対しマ
イコンMCPは送出する。なお、ステツプM15において、通
常の状態ではYの判断がなされるが、後述するような処
理によつて、楽音の発生を指示していない場合でもレジ
スタSTEPは0以外の値をとつていることがあり、(例え
ばノイズの入力による。)そのようなときは、M14、M15
の処理後M2へ戻ることで、初期設定がなされることにな
る。
オフレベル以下の入力波高値ADがオフタイムOFTIMに相
当する時間続くと、ノートオフの指示を音源SSに対しマ
イコンMCPは送出する。なお、ステツプM15において、通
常の状態ではYの判断がなされるが、後述するような処
理によつて、楽音の発生を指示していない場合でもレジ
スタSTEPは0以外の値をとつていることがあり、(例え
ばノイズの入力による。)そのようなときは、M14、M15
の処理後M2へ戻ることで、初期設定がなされることにな
る。
なお、第4図では、一つの弦についての処理しか示し
ていないが、この図に示した如き処理を弦の数に相当す
る6回分、多重化してマイコンMCPは実行することにな
る。勿論、プロセツサを複数個設けて、別個独立して同
等の処理を実行してもよい。
ていないが、この図に示した如き処理を弦の数に相当す
る6回分、多重化してマイコンMCPは実行することにな
る。勿論、プロセツサを複数個設けて、別個独立して同
等の処理を実行してもよい。
次に、M4にて分岐して対応する処理を行なう各ルーチ
ンの詳細について説明する。
ンの詳細について説明する。
第5図は、第4図のM5として示すステツプ0(STEP
0)のときのフローチヤートであり、S01で絶対トリガレ
ベル(ノートオンしきい値)TRLAB(b)<今回波高値
cがどかが判断され、Yの場合にはS02に進み共振除去
がチエツクされる。なお、このトリガーレベルは、正と
負との極性のピーク夫々についてのチエツクを行なうよ
うになつている。このTRLAB(0)とTRLAB(1)とは、
実験などによつて適切な値とすることになる。理想的な
システムではTRLAB(0)とTRLAB(1)とは同じでよ
い。S02では、共振除去しきい値TRLRS<〔今回波高値c
−前回波高値AMP(b)〕かどうか、すなわち今回波高
値と前回波高値の差が所定値以上か否かが判断される。
0)のときのフローチヤートであり、S01で絶対トリガレ
ベル(ノートオンしきい値)TRLAB(b)<今回波高値
cがどかが判断され、Yの場合にはS02に進み共振除去
がチエツクされる。なお、このトリガーレベルは、正と
負との極性のピーク夫々についてのチエツクを行なうよ
うになつている。このTRLAB(0)とTRLAB(1)とは、
実験などによつて適切な値とすることになる。理想的な
システムではTRLAB(0)とTRLAB(1)とは同じでよ
い。S02では、共振除去しきい値TRLRS<〔今回波高値c
−前回波高値AMP(b)〕かどうか、すなわち今回波高
値と前回波高値の差が所定値以上か否かが判断される。
一つの弦をピツキングすることによつて他の弦が共振
を起こす場合、当該他の弦については、振動のレベルが
徐々に大きくなり、その結果前回と今回とのピーク値の
変化は微小なものとなつて、その差は共振除去しきい値
TRLRSを越えることはない。ところが、通常のピツキン
グでは、波形が急激に立上る(あるいは立ち下がる)こ
とになり、前記ピークの差は共振除去しきい値TRLRSを
越える。
を起こす場合、当該他の弦については、振動のレベルが
徐々に大きくなり、その結果前回と今回とのピーク値の
変化は微小なものとなつて、その差は共振除去しきい値
TRLRSを越えることはない。ところが、通常のピツキン
グでは、波形が急激に立上る(あるいは立ち下がる)こ
とになり、前記ピークの差は共振除去しきい値TRLRSを
越える。
いま、このS02で、Yの場合つまり共振の場合でない
とみなした場合には、S03において次の処理が行なわれ
る。すなわち、今回正負フラグbがフラグMTに書込ま
れ、レジスタSTEPに1が書込まれ、さらに今回のゼロク
ロス時刻tが前回のゼロクロス時刻データTFN(b)と
して設定される。そして、S04では、その他フラグ類が
イニシヤライズされ、S05に進む。S05では、今回波高値
cが前回の波高値AMP(b)としてセツトされ、しかる
後第4図のメインフローへリターンする。
とみなした場合には、S03において次の処理が行なわれ
る。すなわち、今回正負フラグbがフラグMTに書込ま
れ、レジスタSTEPに1が書込まれ、さらに今回のゼロク
ロス時刻tが前回のゼロクロス時刻データTFN(b)と
して設定される。そして、S04では、その他フラグ類が
イニシヤライズされ、S05に進む。S05では、今回波高値
cが前回の波高値AMP(b)としてセツトされ、しかる
後第4図のメインフローへリターンする。
第5図において、Aはリラテイブオン(再発音開始)
のエントリであり、後述するSTEP4のフローからこのS06
へジヤンプしてくる。そして、S06では今まで出力して
いる楽音を一度消去し、再発音開始のためにS03へ進行
する。この再発音開始のための処理は、通常の発音開始
のときと同様であり、以下に詳述するとおりとなる。
のエントリであり、後述するSTEP4のフローからこのS06
へジヤンプしてくる。そして、S06では今まで出力して
いる楽音を一度消去し、再発音開始のためにS03へ進行
する。この再発音開始のための処理は、通常の発音開始
のときと同様であり、以下に詳述するとおりとなる。
そして、またS01でNの場合と、S02でNの場合(今回
波高値c−前回波高値AMP(b)が所定値以上ない場
合)には、S05に進む。従つて、発音開始のための処理
は進まないことになる。
波高値c−前回波高値AMP(b)が所定値以上ない場
合)には、S05に進む。従つて、発音開始のための処理
は進まないことになる。
以上述べたSTEP0(第11図のSTEP0→1の間)では、フ
ラグMTにBレジスタの内容(b=1)が書込まれ、レジ
スタTOの内容(t)が前回ゼロクロス時刻データTFN
(1)に書込まれ、レジスタCの波高値(c)が前回の
波高値AMP(1)に書込まれる。
ラグMTにBレジスタの内容(b=1)が書込まれ、レジ
スタTOの内容(t)が前回ゼロクロス時刻データTFN
(1)に書込まれ、レジスタCの波高値(c)が前回の
波高値AMP(1)に書込まれる。
第6図は第4図にM6として示すSTEP1のフローチヤー
トの詳細を示すものであり、S11では、レジスタBの内
容(b)と、フラグMTが不一致かどうかが判断され、Y
の場合にはS12に進む。S12では、絶対トリガレベル(ノ
ートオンしきい値)TRLAB(b)<今回波高値cかどう
かが判断され、Yの場合にはS13に進む。S12でYの場合
にはレジスタSTEPに2がセツトされ、S14でレジスタTO
の内容(t)を前回のゼロクロス時刻データTFN(b)
としてセツトし、さらにS15で今回波高値cを、前回の
波高値AMP(b)へセツトする。S11において、Nの場合
すなわち入力波形信号が同一方向にきた場合S16に進
み、今回波高値c>前回波高値AMP(b)かどうかが判
断され、Yの場合すなわち今回の波高値cが前回の波高
値AMP(b)より大の場合には、S14に進む。一方、S12
においてNの場合には、S15に進み、これにより波高値
のみが更新される。また、S16において、Nの場合及
び、S15の処理の終了時にはメインフロー(第4図)へ
リターンする。
トの詳細を示すものであり、S11では、レジスタBの内
容(b)と、フラグMTが不一致かどうかが判断され、Y
の場合にはS12に進む。S12では、絶対トリガレベル(ノ
ートオンしきい値)TRLAB(b)<今回波高値cかどう
かが判断され、Yの場合にはS13に進む。S12でYの場合
にはレジスタSTEPに2がセツトされ、S14でレジスタTO
の内容(t)を前回のゼロクロス時刻データTFN(b)
としてセツトし、さらにS15で今回波高値cを、前回の
波高値AMP(b)へセツトする。S11において、Nの場合
すなわち入力波形信号が同一方向にきた場合S16に進
み、今回波高値c>前回波高値AMP(b)かどうかが判
断され、Yの場合すなわち今回の波高値cが前回の波高
値AMP(b)より大の場合には、S14に進む。一方、S12
においてNの場合には、S15に進み、これにより波高値
のみが更新される。また、S16において、Nの場合及
び、S15の処理の終了時にはメインフロー(第4図)へ
リターンする。
以上述べたSTEP1(第11図のSTEP1→2の間)では、今
回正負フラグb(=0)とフラグMT=1が不一致という
ことで、今回のゼロクロス時刻tを前回のゼロクロス時
刻データTFN(0)としてセツトし、さらに今回波高値
cを前回の波高値AMP(0)として書込む。
回正負フラグb(=0)とフラグMT=1が不一致という
ことで、今回のゼロクロス時刻tを前回のゼロクロス時
刻データTFN(0)としてセツトし、さらに今回波高値
cを前回の波高値AMP(0)として書込む。
第7図は、第4図にM7として示すSTEP2のフローチヤ
ートの詳細を示すもので、S20において、今回正負フラ
グb=フラグMTかどうかすなわちSTEP0の方向と同一の
ゼロクロス点の到来かどうかを判断し、Yの場合にはS2
1に進む。S21では、第2図の時定数変換制御回路TCC内
のレジスタCHTRRへ開放弦周期CHTIOをセツトし、S22に
進む。S22では、今回波高値c>(7/8)×前回の波高値
AMP(b)かどうか、つまり波高値が前回と今回とで略
同一かどうかをチエツクし、Yの場合つまり美しい自然
減衰の場合には、S23に進み、フラグDUBを0にセツト
し、S24に進む。S24では、周期計算を行ない、今回のゼ
ロクロス時刻t−前回のゼロクロス時刻データTFN
(b)を前回周期データTP(b)に入力し、今回のゼロ
クロス時刻tを前回ゼロクロス時刻データTFN(b)と
して入力する。S24におけるTP(b)は、STEP3でノート
オン(1.5波)の条件として使用される。また、S24で
は、レジスタSTEPが3とセツトされる。更に、今回波高
値cと、前回の波高値AMP(0)と、前回の波高値AMP
(1)の内、最も大きい値をベロシテイVELとして登録
する。また、今回波高値cを前回の波高値AMP(b)へ
書込む。
ートの詳細を示すもので、S20において、今回正負フラ
グb=フラグMTかどうかすなわちSTEP0の方向と同一の
ゼロクロス点の到来かどうかを判断し、Yの場合にはS2
1に進む。S21では、第2図の時定数変換制御回路TCC内
のレジスタCHTRRへ開放弦周期CHTIOをセツトし、S22に
進む。S22では、今回波高値c>(7/8)×前回の波高値
AMP(b)かどうか、つまり波高値が前回と今回とで略
同一かどうかをチエツクし、Yの場合つまり美しい自然
減衰の場合には、S23に進み、フラグDUBを0にセツト
し、S24に進む。S24では、周期計算を行ない、今回のゼ
ロクロス時刻t−前回のゼロクロス時刻データTFN
(b)を前回周期データTP(b)に入力し、今回のゼロ
クロス時刻tを前回ゼロクロス時刻データTFN(b)と
して入力する。S24におけるTP(b)は、STEP3でノート
オン(1.5波)の条件として使用される。また、S24で
は、レジスタSTEPが3とセツトされる。更に、今回波高
値cと、前回の波高値AMP(0)と、前回の波高値AMP
(1)の内、最も大きい値をベロシテイVELとして登録
する。また、今回波高値cを前回の波高値AMP(b)へ
書込む。
S20でNの場合に、S25に進み、フラグDUBすなわち同
一方向の入力波形がきたということを意味するフラグを
1にし、S26に進む。S26では、今回波高値c>前回の波
高値AMP(b)かどうかが判断され、Yの場合にはS29に
進む。S29では今回波高値cに前回の波高値AMP(b)が
書替えられ、レジスタTの内容tに前回のゼロクロス時
刻データTFN(b)が書替えられる。また、S22におい
て、Nの場合には、S27に進み、フラグDUB=1かどう
か、つまり前回STEP2を実行したとき、タブツたか否か
のチエツクを行ない、Yの場合つまりタブツていればS2
8に進む。S28では、フラグDUBを0にする。この場合に
はS29に進みメインルーチンにリターンする。S24の処理
の後、またS26のNのときも、同様にメインルーチンへ
リターン(RET)する。
一方向の入力波形がきたということを意味するフラグを
1にし、S26に進む。S26では、今回波高値c>前回の波
高値AMP(b)かどうかが判断され、Yの場合にはS29に
進む。S29では今回波高値cに前回の波高値AMP(b)が
書替えられ、レジスタTの内容tに前回のゼロクロス時
刻データTFN(b)が書替えられる。また、S22におい
て、Nの場合には、S27に進み、フラグDUB=1かどう
か、つまり前回STEP2を実行したとき、タブツたか否か
のチエツクを行ない、Yの場合つまりタブツていればS2
8に進む。S28では、フラグDUBを0にする。この場合に
はS29に進みメインルーチンにリターンする。S24の処理
の後、またS26のNのときも、同様にメインルーチンへ
リターン(RET)する。
以上述べたSTEP2(第11図のSTEP2→3の間)では、今
回正負フラグbとしてフラグMT=1が書替えられ、レジ
スタCHTRRに0フレツト周期すなわち開放弦周期CHTIOが
書替えられ、またフラグDUBが0にセツトされ、さらに
t−TFN(1)→TP(1)なる周期計算が行なわれ、ま
た今回ゼロクロス時刻tに前回のゼロクロス時刻データ
TFN(1)が書き替えられ、今回波高値c、前回波高値A
MP(0)、前回波高値AMP(1)の内最も大きい値がベ
ロシテイVELとしてセツトされ、更に今回波高値cとし
て前回波高値AMP(1)がセツトされる。
回正負フラグbとしてフラグMT=1が書替えられ、レジ
スタCHTRRに0フレツト周期すなわち開放弦周期CHTIOが
書替えられ、またフラグDUBが0にセツトされ、さらに
t−TFN(1)→TP(1)なる周期計算が行なわれ、ま
た今回ゼロクロス時刻tに前回のゼロクロス時刻データ
TFN(1)が書き替えられ、今回波高値c、前回波高値A
MP(0)、前回波高値AMP(1)の内最も大きい値がベ
ロシテイVELとしてセツトされ、更に今回波高値cとし
て前回波高値AMP(1)がセツトされる。
第11図は、理想的な波形入力があつた場合の例である
が、DUB=1となる場合について次に説明する。第8図
は、そのような場合のSTEP2の動作を説明するための図
であり、(A)は一波をとばしてピーク検出した場合で
あり、入力波形が実線のときは後述するSTEP3の処理に
てノートオンし、入力波形が点線の時はノートオンしな
い。これはS26にてYとなるかNとなるかの違いからで
ある。また、STEP2からなかなかSTEP3に移行しないの
は、S20でb=MTが成立しても、S22でc>(7/8)×AMP
(b)がNと判断され、これがYとならない間は、STEP
2は繰返し実行されるからである。また、(B)は、オ
クターブ下の倍音を検知した場合であり、この場合に
は、C>(7/8)×AMP(b)のチエツク時、YとなりS2
3を経てS24に進み、STEP3に移る。
が、DUB=1となる場合について次に説明する。第8図
は、そのような場合のSTEP2の動作を説明するための図
であり、(A)は一波をとばしてピーク検出した場合で
あり、入力波形が実線のときは後述するSTEP3の処理に
てノートオンし、入力波形が点線の時はノートオンしな
い。これはS26にてYとなるかNとなるかの違いからで
ある。また、STEP2からなかなかSTEP3に移行しないの
は、S20でb=MTが成立しても、S22でc>(7/8)×AMP
(b)がNと判断され、これがYとならない間は、STEP
2は繰返し実行されるからである。また、(B)は、オ
クターブ下の倍音を検知した場合であり、この場合に
は、C>(7/8)×AMP(b)のチエツク時、YとなりS2
3を経てS24に進み、STEP3に移る。
第9図は、第4図にM8として示すSTEP3のフローチヤ
ートであり、S30でフラグMT≠今回正負フラグbかどう
かが判断され、正常の場合すなわちYのときは、S31に
進む。S31では、(1/8)c<AMP(b)ならXが0、ま
た逆の場合にはX=1にセツトされ、S32に進む。S32で
は、今回波高値cとして前回の波高値AMP(b)が書替
えられる。
ートであり、S30でフラグMT≠今回正負フラグbかどう
かが判断され、正常の場合すなわちYのときは、S31に
進む。S31では、(1/8)c<AMP(b)ならXが0、ま
た逆の場合にはX=1にセツトされ、S32に進む。S32で
は、今回波高値cとして前回の波高値AMP(b)が書替
えられる。
そしてS33において、STEP2で得られたVELより今回波
高値cが大であれば、ベロシテイVELは今回波高値cが
入力される。もし逆ならば、このベロシテイVELは変化
しない。次に今回正負フラグbにフラグMTが書替えら
れ、これによりピツチ変更側が逆にされる。これは、後
述するSTEP4からフラグMTの意味が変り、ピツチ変更側
を意味している。そして、S34で〔t−TFN(b)→TP
(b)〕なる周期計算が行なわれる。また、今回のゼロ
クロス時刻tとして前回のゼロクロス時刻データTFN
(b)が書替えられる。
高値cが大であれば、ベロシテイVELは今回波高値cが
入力される。もし逆ならば、このベロシテイVELは変化
しない。次に今回正負フラグbにフラグMTが書替えら
れ、これによりピツチ変更側が逆にされる。これは、後
述するSTEP4からフラグMTの意味が変り、ピツチ変更側
を意味している。そして、S34で〔t−TFN(b)→TP
(b)〕なる周期計算が行なわれる。また、今回のゼロ
クロス時刻tとして前回のゼロクロス時刻データTFN
(b)が書替えられる。
次に、S35において、X=0かどうかを判断し、Yの
場合にはS36に進み、周波数上限THLIM<前回の周期デー
タTP(b)かどうか、つまりピツチ抽出上限チエツクを
行ない、その結果、最高音の周期より大きな周期をもて
ば、許容範囲にあるということでYとなり、S37に進
む。S37では、トリガー時の周波数下限TTLIM>前回の周
期データTP(b)かどうか、つまりピツチ抽出下限チエ
ツクを行ない、最低音の周期より小の周期をもてば許容
範囲にあり、Yの判断をしてS38に進む。S37のピツチ抽
出下限は、後述するSTEP4のピツチ抽出下限とは定数が
異なる。
場合にはS36に進み、周波数上限THLIM<前回の周期デー
タTP(b)かどうか、つまりピツチ抽出上限チエツクを
行ない、その結果、最高音の周期より大きな周期をもて
ば、許容範囲にあるということでYとなり、S37に進
む。S37では、トリガー時の周波数下限TTLIM>前回の周
期データTP(b)かどうか、つまりピツチ抽出下限チエ
ツクを行ない、最低音の周期より小の周期をもてば許容
範囲にあり、Yの判断をしてS38に進む。S37のピツチ抽
出下限は、後述するSTEP4のピツチ抽出下限とは定数が
異なる。
具体的には、周波数上限THLIMは、最高音フレツトの
2〜3半音上の音高周期に相当し、トリガー時の周波数
下限TTLIMは、開放弦の開放弦フレツトの5半音下の音
高周期に相当するものとする。
2〜3半音上の音高周期に相当し、トリガー時の周波数
下限TTLIMは、開放弦の開放弦フレツトの5半音下の音
高周期に相当するものとする。
S38では、前回の周期データTP(b)を前回抽出され
た周期データTTPとしてセツトすなわち、ピツチ抽出側
で抽出されたピツチをセーブ(これは後述するSTEP4で
使用される)し、S39に進む。S39では、前回の周期デー
タTP(b)≒TP()かどうか、すなわち極性の違うゼ
ロクロス点間の周期の略一致のチエツクである1.5波ピ
ツチ抽出チエツクを行ない、Yの場合にはS301で次のよ
うな処理が行なわれる。すなわち、前回のゼロクロス時
刻データTFN()として時刻記憶レジスタTFRが書替え
られ、また今回のゼロクロス時刻tが前回のゼロクロス
時刻データをTFとしてセツトされ、波形ナンバーカウン
タHNCをクリアする。このカウンタHNCは後述するSTEP4
にて使用される。レジスタSTEPは4にセツトされ、ノー
トオンフラグONFは2(発音状態)にセツトされ、定数T
TUは0すなわち(MIN)にセツトされ、定数TTWは最高MA
Xにセツトされる。これらはいずれも後述するSTEP4にて
使用するものである。また、リラテイブオフの為の前回
波高値レジスタAMRL1がクリアされる。そして、最後のS
302で前回周期データTP(b)に対応した音高とベロシ
テイVELに対応した音量でノートオン処理が行なわれ
る。即ち、マイコンMCPは本実施例において楽音発生指
示手段として機能し、音源SSに対し発音開始の指示をす
る。
た周期データTTPとしてセツトすなわち、ピツチ抽出側
で抽出されたピツチをセーブ(これは後述するSTEP4で
使用される)し、S39に進む。S39では、前回の周期デー
タTP(b)≒TP()かどうか、すなわち極性の違うゼ
ロクロス点間の周期の略一致のチエツクである1.5波ピ
ツチ抽出チエツクを行ない、Yの場合にはS301で次のよ
うな処理が行なわれる。すなわち、前回のゼロクロス時
刻データTFN()として時刻記憶レジスタTFRが書替え
られ、また今回のゼロクロス時刻tが前回のゼロクロス
時刻データをTFとしてセツトされ、波形ナンバーカウン
タHNCをクリアする。このカウンタHNCは後述するSTEP4
にて使用される。レジスタSTEPは4にセツトされ、ノー
トオンフラグONFは2(発音状態)にセツトされ、定数T
TUは0すなわち(MIN)にセツトされ、定数TTWは最高MA
Xにセツトされる。これらはいずれも後述するSTEP4にて
使用するものである。また、リラテイブオフの為の前回
波高値レジスタAMRL1がクリアされる。そして、最後のS
302で前回周期データTP(b)に対応した音高とベロシ
テイVELに対応した音量でノートオン処理が行なわれ
る。即ち、マイコンMCPは本実施例において楽音発生指
示手段として機能し、音源SSに対し発音開始の指示をす
る。
次に、S310においてマイコンMCPは本実施例における
判定手段として機能し、抽出周期TP(b)が、当該弦の
開放弦音高の1オクターブ上の音高に相当する周期HFOP
と略一致するか否か判断する。つまり、定数HFOPと求ま
つた周期TP(b)との差がHFOPの5%以内ならば、開放
弦音高の1オクターブ上の音高であるとみなし、レジス
タANEへ第1の所定値としての1/40をS311において入力
し、それ以外の音高であれば、第1の所定値(1/40)よ
り大きい第2の所定値である1/20をレジスタANEへS312
において入力する。なお、ANEにストアする値は1/40
(第1の所定値)又は1/20(第2の所定値)としている
が、これらは実験などによって最適な値とするればよ
い。
判定手段として機能し、抽出周期TP(b)が、当該弦の
開放弦音高の1オクターブ上の音高に相当する周期HFOP
と略一致するか否か判断する。つまり、定数HFOPと求ま
つた周期TP(b)との差がHFOPの5%以内ならば、開放
弦音高の1オクターブ上の音高であるとみなし、レジス
タANEへ第1の所定値としての1/40をS311において入力
し、それ以外の音高であれば、第1の所定値(1/40)よ
り大きい第2の所定値である1/20をレジスタANEへS312
において入力する。なお、ANEにストアする値は1/40
(第1の所定値)又は1/20(第2の所定値)としている
が、これらは実験などによって最適な値とするればよ
い。
S30において、Nの場合(同一方向のゼロクロス点検
出の場合)は、S303に進み、前回の波高値AMP(b)<
今回波高値cかどうかが判断され、Yの場合はS304に進
む。S304では、今回波高値cが前回の波高値AMP(b)
としてセツトされ、ベロシテイVELまたはレジスタCの
値cの内のいずれか大きい値がベロシテイVELにセツト
される。S303、S35、S36、S37、S39のいずれの場合もN
の場合には、メインルーチンへリターン(RET.)する。
出の場合)は、S303に進み、前回の波高値AMP(b)<
今回波高値cかどうかが判断され、Yの場合はS304に進
む。S304では、今回波高値cが前回の波高値AMP(b)
としてセツトされ、ベロシテイVELまたはレジスタCの
値cの内のいずれか大きい値がベロシテイVELにセツト
される。S303、S35、S36、S37、S39のいずれの場合もN
の場合には、メインルーチンへリターン(RET.)する。
第17図はS31において、X=1すなわち異常となる場
合の具体例を示す図であり、1/8b1<b0のときと、1/8a2
<a1のときのジヤツジではいずれもその条件を満足せ
ず、X=1となる。
合の具体例を示す図であり、1/8b1<b0のときと、1/8a2
<a1のときのジヤツジではいずれもその条件を満足せ
ず、X=1となる。
すなわち、第17図の最初の3つの波形のピーク(a0、
b0、a1)は、ノイズによるもので、これらのノイズの周
期を検出して発音開始を指示すると、全くおかしな音が
発生してしまう。そこで、S31では、波高値が大きく変
わつたことを検知して、X=1とし、S35でNの判断を
するようにする。そして、S31にて波形が正常な変化を
することが検知されてから、発音開始を指示するように
する。
b0、a1)は、ノイズによるもので、これらのノイズの周
期を検出して発音開始を指示すると、全くおかしな音が
発生してしまう。そこで、S31では、波高値が大きく変
わつたことを検知して、X=1とし、S35でNの判断を
するようにする。そして、S31にて波形が正常な変化を
することが検知されてから、発音開始を指示するように
する。
第17図の場合TP(b)≒TP()の検出がなされたと
きにノートオンとなる。
きにノートオンとなる。
以上述べたSTEP3(第11図のSTEP3→4の間)では、MT
=1≠b、AMP(0)←c、max〔VEL、c(のいずれか
の大きい方)〕→VEL、MT←b=0、TP(0)←〔t−T
FN(0)〕、TFN(0)←t、TTP←TP(0)、TFR←TFN
(1)、TF←t、HNC←0、ONF←2、TTU←0(MIN)、
TTW←MAX、AMRL1←0、ノートオン条件TP(o)≒TP
(1)についての処理及びANE←1/20又は1/40がなされ
る。そして、適切な波形入力に応答してこのSTEP3にお
いて、抽出されたピツチに従つた音高の楽音が発生開始
されることになる。第11図から判明するように、周期検
出を開始してから、1.5周期程度の時間経過で発音指示
が音源SSに対しなされることになる。勿論、諸条件を満
足しなければ、更におくれることは上述したとおりであ
る。
=1≠b、AMP(0)←c、max〔VEL、c(のいずれか
の大きい方)〕→VEL、MT←b=0、TP(0)←〔t−T
FN(0)〕、TFN(0)←t、TTP←TP(0)、TFR←TFN
(1)、TF←t、HNC←0、ONF←2、TTU←0(MIN)、
TTW←MAX、AMRL1←0、ノートオン条件TP(o)≒TP
(1)についての処理及びANE←1/20又は1/40がなされ
る。そして、適切な波形入力に応答してこのSTEP3にお
いて、抽出されたピツチに従つた音高の楽音が発生開始
されることになる。第11図から判明するように、周期検
出を開始してから、1.5周期程度の時間経過で発音指示
が音源SSに対しなされることになる。勿論、諸条件を満
足しなければ、更におくれることは上述したとおりであ
る。
第10図は、第4図のM9として示すSTEP4のフローチヤ
ートであり、この場合ピツチ抽出のみを行なうルート
、実際にピツチ変更を行なうルートがある。先ず、
S40、S41、S42、S63〜S67に示すルートについて説明
する。S40において、波形ナンバーカウンタHNC>3が判
断され、Yの場合にはS41に進む。S41では、リラテイブ
オンしきい値TRLRL<〔今回波高値c−前回の波高値AMP
(b)〕かどうかの判断が行なわれ、Nの場合にはS42
に進む。S42では今回正負フラグb=フラグMTつまりピ
ツチ変更側かどうかが判断され、Yの場合にはS43に進
む。
ートであり、この場合ピツチ抽出のみを行なうルート
、実際にピツチ変更を行なうルートがある。先ず、
S40、S41、S42、S63〜S67に示すルートについて説明
する。S40において、波形ナンバーカウンタHNC>3が判
断され、Yの場合にはS41に進む。S41では、リラテイブ
オンしきい値TRLRL<〔今回波高値c−前回の波高値AMP
(b)〕かどうかの判断が行なわれ、Nの場合にはS42
に進む。S42では今回正負フラグb=フラグMTつまりピ
ツチ変更側かどうかが判断され、Yの場合にはS43に進
む。
ところで、初期状態では、前記波形ナンバーカウンタ
HNCは0である(第9図のS301参照)ので、S40ではNの
判断をしてS42へ進む。そして、例えば、第11図のよう
な波形入力の場合は、b=1でMT=0であるから、S42
からS63へ進む。
HNCは0である(第9図のS301参照)ので、S40ではNの
判断をしてS42へ進む。そして、例えば、第11図のよう
な波形入力の場合は、b=1でMT=0であるから、S42
からS63へ進む。
S63においては、同じ極性のピークが続けて入力され
てきているか(ダブリであるか)、否かチエツクするた
めに、レジスタRIV=1かどうかが判断され、Yの場合
にはS68に進み、また、Nの場合(ダブリでない場合)
にはS64に進み、ここで以下の処理が行なわれる。すな
わち、S64では今回波高値cが前回の波高値AMP(b)に
入力され、リラテイブオフ処理のために前回の振幅値AM
RL1が前々回の振幅値AMRL2に入力される。なお、いまの
場合はAMRL1の内容は0である(STEP3のS30参照)。さ
らにS64において、前回の波高値AMP()と今回波高値
cのうちいずれか大きい値が前回振幅値AMRL1に入力さ
れる。つまり、周期の中で2つある正、負のピーク値に
ついて大きい値のピーク値が振幅値AMRL1にセツトされ
る。そして、S65で波形ナンバーカウンタHNC>8かどう
かが判断され、ここで波形ナンバーカウンタ(ピツチ変
更側でないゼロクロスカウンタ)HNCが+1され、カウ
ントアツプされる。
てきているか(ダブリであるか)、否かチエツクするた
めに、レジスタRIV=1かどうかが判断され、Yの場合
にはS68に進み、また、Nの場合(ダブリでない場合)
にはS64に進み、ここで以下の処理が行なわれる。すな
わち、S64では今回波高値cが前回の波高値AMP(b)に
入力され、リラテイブオフ処理のために前回の振幅値AM
RL1が前々回の振幅値AMRL2に入力される。なお、いまの
場合はAMRL1の内容は0である(STEP3のS30参照)。さ
らにS64において、前回の波高値AMP()と今回波高値
cのうちいずれか大きい値が前回振幅値AMRL1に入力さ
れる。つまり、周期の中で2つある正、負のピーク値に
ついて大きい値のピーク値が振幅値AMRL1にセツトされ
る。そして、S65で波形ナンバーカウンタHNC>8かどう
かが判断され、ここで波形ナンバーカウンタ(ピツチ変
更側でないゼロクロスカウンタ)HNCが+1され、カウ
ントアツプされる。
従つて、波形ナンバーカウンタHNCは、上限が9とな
る。そして、S65もしくはS66の処理の後S67へ進行す
る。S67では、レジスタRIVを1とし、今回のゼロクロス
時刻から時刻記憶レジスタTFRの内容を引算して、周期
レジスタTTRへ入力する。この周期レジスタTTRは、第11
図に示すような周期情報を示すようになる。そして、今
回のゼロクロス時刻tは、時刻記憶レジスタTFRへセー
ブされ、この後、メインルーチンにリターン(RET)す
る。
る。そして、S65もしくはS66の処理の後S67へ進行す
る。S67では、レジスタRIVを1とし、今回のゼロクロス
時刻から時刻記憶レジスタTFRの内容を引算して、周期
レジスタTTRへ入力する。この周期レジスタTTRは、第11
図に示すような周期情報を示すようになる。そして、今
回のゼロクロス時刻tは、時刻記憶レジスタTFRへセー
ブされ、この後、メインルーチンにリターン(RET)す
る。
S63でYの場合は、S68に進み今回波高値c>前回の波
高値AMP(b)かどうかが判断され、Yの場合はS69に進
む。S69では、今回波高値cに前回の波高値AMP(b)が
書替えられ、S70に進む。S70では今回波高値C>前回の
振幅値AMRL1かどうかが判断され、Yの場合にはS71に進
み、ここで今回波高値cが前回の振幅値AMRL1に入力さ
れる。
高値AMP(b)かどうかが判断され、Yの場合はS69に進
む。S69では、今回波高値cに前回の波高値AMP(b)が
書替えられ、S70に進む。S70では今回波高値C>前回の
振幅値AMRL1かどうかが判断され、Yの場合にはS71に進
み、ここで今回波高値cが前回の振幅値AMRL1に入力さ
れる。
もし、S68でNの判断がなされるとすぐにメインルー
チンへリターンする。従つて、新しい入力波形のピーク
が大である場合についてのみ、新しい波形の振幅値が登
録される。(その場合は、倍音のピークをひろつていな
い考えられるので。) また、S70でNのときと、S71の処理の終了のときに
は、同様にメインルーチンへリターンする。
チンへリターンする。従つて、新しい入力波形のピーク
が大である場合についてのみ、新しい波形の振幅値が登
録される。(その場合は、倍音のピークをひろつていな
い考えられるので。) また、S70でNのときと、S71の処理の終了のときに
は、同様にメインルーチンへリターンする。
以上述べたようにルートは、第11図の例によれば以
下のような処理がなされる。MT=0≠b、RIV=0、AMP
(1)←c、AMRL2←AMRL1、AMRL1←max〔AMP(0)、
c(のいずれか大きい方)〕、HNC←(HNC+1)=1、
RIV←1、TTR←(t−TFR)、TFR←tが処理される。従
つて、周期レジスタTTRに前回の同極性のゼロクロス点
(STEP2→3のところ)から今回のゼロクロス点までの
時刻情報の差つまり、周期情報が求まつたことになる。
そして、メインルーチンへ戻り、次のゼロクロスインタ
ーラプトを待つ。
下のような処理がなされる。MT=0≠b、RIV=0、AMP
(1)←c、AMRL2←AMRL1、AMRL1←max〔AMP(0)、
c(のいずれか大きい方)〕、HNC←(HNC+1)=1、
RIV←1、TTR←(t−TFR)、TFR←tが処理される。従
つて、周期レジスタTTRに前回の同極性のゼロクロス点
(STEP2→3のところ)から今回のゼロクロス点までの
時刻情報の差つまり、周期情報が求まつたことになる。
そして、メインルーチンへ戻り、次のゼロクロスインタ
ーラプトを待つ。
次に、S40〜S623に示すルートへ進んだ場合の説明
を行なう。いま、波形ナンバーカウンタHNC=1なので
(S66参照)、S40からS42へ進む。S42では、第11図のよ
うな場合、MT=0、b=0なのでYとなり、S43へ進
む。S43では、レジスタRIV=1かどうかが判断される。
既にルートにおいて、レジスタRIVは1とされている
(S67参照)ので、S43の判断はいまの場合Yとなり、S4
4へ進む。
を行なう。いま、波形ナンバーカウンタHNC=1なので
(S66参照)、S40からS42へ進む。S42では、第11図のよ
うな場合、MT=0、b=0なのでYとなり、S43へ進
む。S43では、レジスタRIV=1かどうかが判断される。
既にルートにおいて、レジスタRIVは1とされている
(S67参照)ので、S43の判断はいまの場合Yとなり、S4
4へ進む。
S44では、レジスタSTEP=4かどうかが判断され、Y
の場合にはS45に進む。S45では、今回波高値c<60H
(Hは16進法表現を示す)かどうかが判断され、いま波
高値は大なのでYとなり、S46に進む。S46では、前々回
の振幅値AMRL2−前回の振幅値AMRL1≦ANE×前々回の振
幅値AMRL2がどうかが判断され、Yの場合にはS47に進
み、リラテイブオフカウンタFOFRが0にセツトされる。
このリラテイブオフの処理については後述する。そし
て、S48では周期計算がおこなれわれる。具体的には
(今回のゼロクロス時刻t−前回のゼロクロス時刻デー
タTF)が今回の周期情報ttとしてレジスタTOTOにセツト
される。そして、S49に進み、S49では、今回の周期情報
tt>周波数上限THLIM(発音開始後の上限)かどうかが
判断され、Yの場合にはS50に進む。
の場合にはS45に進む。S45では、今回波高値c<60H
(Hは16進法表現を示す)かどうかが判断され、いま波
高値は大なのでYとなり、S46に進む。S46では、前々回
の振幅値AMRL2−前回の振幅値AMRL1≦ANE×前々回の振
幅値AMRL2がどうかが判断され、Yの場合にはS47に進
み、リラテイブオフカウンタFOFRが0にセツトされる。
このリラテイブオフの処理については後述する。そし
て、S48では周期計算がおこなれわれる。具体的には
(今回のゼロクロス時刻t−前回のゼロクロス時刻デー
タTF)が今回の周期情報ttとしてレジスタTOTOにセツト
される。そして、S49に進み、S49では、今回の周期情報
tt>周波数上限THLIM(発音開始後の上限)かどうかが
判断され、Yの場合にはS50に進む。
S49の周波数上限THLIMは、STEP3のS36で使用したトリ
ガー時(発音開始時)周波数の許容範囲の上限(従つて
周期として最小で、最高音フレツトの2〜3半音上の音
高周期に相当する)と同一のものである。
ガー時(発音開始時)周波数の許容範囲の上限(従つて
周期として最小で、最高音フレツトの2〜3半音上の音
高周期に相当する)と同一のものである。
次に、S50では次の処理が行なわれる。すなわち、レ
ジスタRIVを0にし、今回のゼロクロス時刻tが前回の
ゼロクロス時刻データTFとして入力され、また前回の波
高値AMP(b)が前々回波高値eに入力され、さらに今
回波高値cが前回の波高値AMP(b)に入力される。
ジスタRIVを0にし、今回のゼロクロス時刻tが前回の
ゼロクロス時刻データTFとして入力され、また前回の波
高値AMP(b)が前々回波高値eに入力され、さらに今
回波高値cが前回の波高値AMP(b)に入力される。
そして、S50の処理の後S51に進み、S51では、周波数
下限TLLIM>今回の周期情報ttかどうかが判断され、Y
の場合すなわち今回の周期がノートオン中のピツチ抽出
音域下限以下になつた場合にはS52に進む。
下限TLLIM>今回の周期情報ttかどうかが判断され、Y
の場合すなわち今回の周期がノートオン中のピツチ抽出
音域下限以下になつた場合にはS52に進む。
この場合、周波数下限TLLIMは、例えば、開放弦音階
の1オクターブ下にセツトされる。つまり、STEP3の周
波数下限TTLIM(S37参照)に比較して、許容範囲を広く
している。このようにすることで、トレモロアームの操
作などによる周波数変更に対応し得るようになる。
の1オクターブ下にセツトされる。つまり、STEP3の周
波数下限TTLIM(S37参照)に比較して、許容範囲を広く
している。このようにすることで、トレモロアームの操
作などによる周波数変更に対応し得るようになる。
従つて、周波数の上限、下限について許容範囲に入る
場合についてのみS52まで進み、そうでない場合はS49、
S51よりメインルーチンへリターンする。
場合についてのみS52まで進み、そうでない場合はS49、
S51よりメインルーチンへリターンする。
次に、S52では周期データTTPが前々回抽出された周期
データhに入力され、また、今回の周期情報ttが前回抽
出された周期データTTPに入力される。そして、S53で今
回波高値cがペロシテイVELに書込まれ、S54に進む。S5
4では、ノーチエンジレベルNCHLV>(前々回波高値e−
今回波高値c)かどうかの判断が行なわれ、Yの場合に
はS55に進む。
データhに入力され、また、今回の周期情報ttが前回抽
出された周期データTTPに入力される。そして、S53で今
回波高値cがペロシテイVELに書込まれ、S54に進む。S5
4では、ノーチエンジレベルNCHLV>(前々回波高値e−
今回波高値c)かどうかの判断が行なわれ、Yの場合に
はS55に進む。
すなわち、前回の同極性の波高値(e=AMP(b))
と今回の波高値cとが大きく変化している場合は、その
差がNCHLVを越えることになり、そのようなときに、抽
出された周期情報に基づきピツチ変更を行なうと、不自
然な音高変化を呈することになる可能性が高い。そこ
で、S54でNの判断がなされると、S55以降の処理をする
ことなく、メインルーチンへリターンする。
と今回の波高値cとが大きく変化している場合は、その
差がNCHLVを越えることになり、そのようなときに、抽
出された周期情報に基づきピツチ変更を行なうと、不自
然な音高変化を呈することになる可能性が高い。そこ
で、S54でNの判断がなされると、S55以降の処理をする
ことなく、メインルーチンへリターンする。
次に、S54でYの場合、リラテイブオフカウンタFOFR
=0か否かが判断される。後述するリラテイブオフ処理
を行なつているときは、リラソイブオフカウンタFOFRは
0でなくなくつており、そのような場合もピツチ変更
(S61を参照)の処理を行なうことなく、S55でNの判断
をしてメインルーチンへリターンする。そして、S55に
て、Yの判断をしたときは、S56、S57へと順次進む。
=0か否かが判断される。後述するリラテイブオフ処理
を行なつているときは、リラソイブオフカウンタFOFRは
0でなくなくつており、そのような場合もピツチ変更
(S61を参照)の処理を行なうことなく、S55でNの判断
をしてメインルーチンへリターンする。そして、S55に
て、Yの判断をしたときは、S56、S57へと順次進む。
ここで2波3値一致条件が判断される。S56では今回
の周期情報tt×2-7<l今回の周期情報tt−前々回周期
データhlが判断され、Yの場合にはS57に進み、またS57
では今回の周期情報tt×2-7<l今回の周期情報tt−周
期レジスタTTRの内容lが判断され、Yの場合にはS58に
進む。
の周期情報tt×2-7<l今回の周期情報tt−前々回周期
データhlが判断され、Yの場合にはS57に進み、またS57
では今回の周期情報tt×2-7<l今回の周期情報tt−周
期レジスタTTRの内容lが判断され、Yの場合にはS58に
進む。
すなわち、S56では、第11図の今回の周期情報tt(S43
参照)が、前回の周期データh(=TTP)(S52参照)の
値と略一致するか否かを判断し、S57では、今回の周期
情報ttの値が、それに重なる周期TTRとほぼ一致するか
否かを判断する。なお、その限界範囲は、2-7×ttとし
て、周期情報に依存してその値が変わるようになつてい
る。勿論、これは固定の値としてもよいが、本実施例採
用技術の方が良好な結果を得ることができる。
参照)が、前回の周期データh(=TTP)(S52参照)の
値と略一致するか否かを判断し、S57では、今回の周期
情報ttの値が、それに重なる周期TTRとほぼ一致するか
否かを判断する。なお、その限界範囲は、2-7×ttとし
て、周期情報に依存してその値が変わるようになつてい
る。勿論、これは固定の値としてもよいが、本実施例採
用技術の方が良好な結果を得ることができる。
次のS58では、今回の周期情報tt>定数TTUかどうかが
判断され、YならばS59へ進み、ここで今回の周期情報t
t<定数TTWかどうかが判断され、YならばS60へ進む。
なお、S58、S59は急激なピツチ変更を認めないための判
断である。
判断され、YならばS59へ進み、ここで今回の周期情報t
t<定数TTWかどうかが判断され、YならばS60へ進む。
なお、S58、S59は急激なピツチ変更を認めないための判
断である。
つまり、S58の定数TTUは、STEP3のS301でいま0とさ
れ、定数TTWは同様にMAXの値とされており、はじめてこ
のフローを通るときは必ずS58、S59でYの判断がなされ
るが、その後は後述するS62において、定数TTUには、
(17/32)tt(略1オクターブ高音の周期情報)がセツ
トされ、定数TTWには同様にS62にて(31/16)tt(ほぼ
1オクターブ低温の周期情報)がセツトされる。従つ
て、急激にオクターブアツプする(これは、フレツトを
離してミユート操作したときなどに生ずる)ことやオク
ターブダウンすること(これは波形のピークをとり逃し
たときなどに起る)があつたときは、ピツチ変更をする
と、不自然となるので、ピツチ変更をしないようにブラ
ンチする。
れ、定数TTWは同様にMAXの値とされており、はじめてこ
のフローを通るときは必ずS58、S59でYの判断がなされ
るが、その後は後述するS62において、定数TTUには、
(17/32)tt(略1オクターブ高音の周期情報)がセツ
トされ、定数TTWには同様にS62にて(31/16)tt(ほぼ
1オクターブ低温の周期情報)がセツトされる。従つ
て、急激にオクターブアツプする(これは、フレツトを
離してミユート操作したときなどに生ずる)ことやオク
ターブダウンすること(これは波形のピークをとり逃し
たときなどに起る)があつたときは、ピツチ変更をする
と、不自然となるので、ピツチ変更をしないようにブラ
ンチする。
もし、S58、S59でYの判断がなされたときは、次にS6
0へ進む。S60では、レジスタSTEP=4にされたかどうか
の判断が行なわれ、その場合にはS61に進む。S61では、
マイコンMCPから音源SSへピツチ変更(今回の周期情報t
tに基づく)が行なわれ、S62に進み、今回の周期情報tt
に対応して時定数チエンジをし、また定数TTUが(17/3
2)×今回の周期情報ttに書替えられ、さらに定数TTWが
(31/16)×今回の周期情報ttに書替えられる。
0へ進む。S60では、レジスタSTEP=4にされたかどうか
の判断が行なわれ、その場合にはS61に進む。S61では、
マイコンMCPから音源SSへピツチ変更(今回の周期情報t
tに基づく)が行なわれ、S62に進み、今回の周期情報tt
に対応して時定数チエンジをし、また定数TTUが(17/3
2)×今回の周期情報ttに書替えられ、さらに定数TTWが
(31/16)×今回の周期情報ttに書替えられる。
つまり、後述するように、リラテイブオフの処理がな
されたときに限り、STEP=5となるが、そのときは、ピ
ツチ変更を行なうことなく時定数チエンジを行なう。こ
の時定数チエンジの処理とは、第2図の時定数変換制御
回路TTC内部のレジスタに今回の周期情報ttの値に基づ
くデータをマイコンMCPがセツトすることをいう。これ
は、既に説明したとおりである。
されたときに限り、STEP=5となるが、そのときは、ピ
ツチ変更を行なうことなく時定数チエンジを行なう。こ
の時定数チエンジの処理とは、第2図の時定数変換制御
回路TTC内部のレジスタに今回の周期情報ttの値に基づ
くデータをマイコンMCPがセツトすることをいう。これ
は、既に説明したとおりである。
続くS621は、既に第9図のS310にて説明したものと同
じであつて、S621では、今回抽出した周期ttと定数HFOP
との差がHFOPの5%以内か否かジヤツジし、このS621で
Yならば、S622において、レジスタANEへ1/40の値をセ
ツトし、S621でNならば、S623において、レジスタANE
へ1/20の値をセツトする。そして、メインルーチンへリ
ターン(RET.)する。従つて以上述べたようにルーチン
は、第11図に示す通り次の処理がなされる。すなわ
ち、HNC=1、MT=0=b、RIV=1、FOFR←0、tt←
(t−TF)、RIV←0、TF←t、e←AMP(0)、AMP
(0)←c、h←TTP、TTP←tt、VEL←cであり、さら
に、 TTP≒TTR≒tt、 TTU<tt<TTW、 AMP(0)−c<NCHLV の3条件での満足で、ttに従つたピツチ変更を行なう。
しかる後、TTU←(17/32)×tt、TTW←(31/16)×ttが
なされる。そしてANE←1/20又は1/40を行う。
じであつて、S621では、今回抽出した周期ttと定数HFOP
との差がHFOPの5%以内か否かジヤツジし、このS621で
Yならば、S622において、レジスタANEへ1/40の値をセ
ツトし、S621でNならば、S623において、レジスタANE
へ1/20の値をセツトする。そして、メインルーチンへリ
ターン(RET.)する。従つて以上述べたようにルーチン
は、第11図に示す通り次の処理がなされる。すなわ
ち、HNC=1、MT=0=b、RIV=1、FOFR←0、tt←
(t−TF)、RIV←0、TF←t、e←AMP(0)、AMP
(0)←c、h←TTP、TTP←tt、VEL←cであり、さら
に、 TTP≒TTR≒tt、 TTU<tt<TTW、 AMP(0)−c<NCHLV の3条件での満足で、ttに従つたピツチ変更を行なう。
しかる後、TTU←(17/32)×tt、TTW←(31/16)×ttが
なされる。そしてANE←1/20又は1/40を行う。
従つて、ルートにて、実際の音源SSに対するピツチ
変更が行なわれ、続くゼロクロスインタラプトでルート
の処理、同様に、続くゼロクロスインタラプトで、ル
ートの処理が行なわれる。このようにして、ルート
では、単に周期を抽出(S67参照)し、ルートでは実
際のピツチ変更(S61参照)し、時定数チエンジ処理(S
62参照)が行なわれることになる。
変更が行なわれ、続くゼロクロスインタラプトでルート
の処理、同様に、続くゼロクロスインタラプトで、ル
ートの処理が行なわれる。このようにして、ルート
では、単に周期を抽出(S67参照)し、ルートでは実
際のピツチ変更(S61参照)し、時定数チエンジ処理(S
62参照)が行なわれることになる。
なお、STEP4におけるS40において、ルートのS66で
波形ナンバーカウンタHNCが3を越えるように、カウン
トアツプされた後は、Yの判断がなされ、次にS41へ行
き、リラテイブオンの条件を検出する。これ、c−AMP
(b)>TRLRLであり、前回の振幅値AMRL1に比べて今回
の振幅値がしきい値TRLRLを越えて増大したとき、つま
り、これは弦操作後に同じ弦を再度ピツキングしたとき
(トレモロ奏法などによる)にこのようなことがおき、
この場合はS41でリラテイブオンの処理をすべくS41から
S78へ進み、時定数変換制御回路TCCの時定数チエンジレ
ジスタCHTRRへ最高音フレツト(例えば22フレツト)の
周期CHTIMをセツトする。しかる後、第5図のS06へ進
み、当該発音中の楽音をノートオフした後、再発音開始
する。
波形ナンバーカウンタHNCが3を越えるように、カウン
トアツプされた後は、Yの判断がなされ、次にS41へ行
き、リラテイブオンの条件を検出する。これ、c−AMP
(b)>TRLRLであり、前回の振幅値AMRL1に比べて今回
の振幅値がしきい値TRLRLを越えて増大したとき、つま
り、これは弦操作後に同じ弦を再度ピツキングしたとき
(トレモロ奏法などによる)にこのようなことがおき、
この場合はS41でリラテイブオンの処理をすべくS41から
S78へ進み、時定数変換制御回路TCCの時定数チエンジレ
ジスタCHTRRへ最高音フレツト(例えば22フレツト)の
周期CHTIMをセツトする。しかる後、第5図のS06へ進
み、当該発音中の楽音をノートオフした後、再発音開始
する。
通常の演奏操作によれば、S40、S41、S42へ進み、上
述したルートもしくはルートへ進む。
述したルートもしくはルートへ進む。
次に第12図、第13図を参照し、リラテイブオン処理を
説明する。つまり、フレツト操作している状態から、開
放弦状態へ移行すると、波形の振幅レベルは急激に落ち
てきて、前々回の波高値AMRL2と前回の波高値AMRL1との
差がANE・AMRL2を越えるようになると、S46からS74へ進
む。ここでレジスタANEの値は、当該音高が開放弦の1
オクターブ上の音高であれば1/40であり、それ以外の場
合は1/20である。従つて、前者の方が、波形信号のゆる
やかな減衰についても、リラテイブオフの処理を行うこ
とになる。そして、リラテイブオンカウンタFOFRが定数
ROFCTを越えるまでカウントアツプするようにS74からS7
5へ進む。このとき、S75からS48へ行きS49〜S55の処理
を行なうが、FOFR=0でないので、リラテイブオン処理
に入る直前ではピツチ変更をおこなうことなくメインル
ーチンへ戻る。
説明する。つまり、フレツト操作している状態から、開
放弦状態へ移行すると、波形の振幅レベルは急激に落ち
てきて、前々回の波高値AMRL2と前回の波高値AMRL1との
差がANE・AMRL2を越えるようになると、S46からS74へ進
む。ここでレジスタANEの値は、当該音高が開放弦の1
オクターブ上の音高であれば1/40であり、それ以外の場
合は1/20である。従つて、前者の方が、波形信号のゆる
やかな減衰についても、リラテイブオフの処理を行うこ
とになる。そして、リラテイブオンカウンタFOFRが定数
ROFCTを越えるまでカウントアツプするようにS74からS7
5へ進む。このとき、S75からS48へ行きS49〜S55の処理
を行なうが、FOFR=0でないので、リラテイブオン処理
に入る直前ではピツチ変更をおこなうことなくメインル
ーチンへ戻る。
そして、S74でNと判断すると、つまり第13図の例で
は、FOFRの値が3となつたとき(ROFCTは2である)、S
74からS76へいく。
は、FOFRの値が3となつたとき(ROFCTは2である)、S
74からS76へいく。
ただし、S46のジヤツジでYの判断が一度でもある
と、S46からS47へ進み、FOFRをリセツトするようにな
る。従つて、ROFCTで指定される回数だけ続けてS46の条
件を満足しなければ、リラテイブオフの処理はなされな
い。なお、ROFCTの値は、音高が高い弦について大きな
値としておけば、略一定の時間経過で、いずれの弦につ
いてもリラテイブオフ処理ができる。
と、S46からS47へ進み、FOFRをリセツトするようにな
る。従つて、ROFCTで指定される回数だけ続けてS46の条
件を満足しなければ、リラテイブオフの処理はなされな
い。なお、ROFCTの値は、音高が高い弦について大きな
値としておけば、略一定の時間経過で、いずれの弦につ
いてもリラテイブオフ処理ができる。
そして、S74からS76へ行くと、リラテイブオフカウン
タFOFRをリセツトし、レジスタSTEPを5とし、S77へ進
んで音源SSに対しノートオフを指示する。このSTEPが5
の状態では、ピツチ抽出処理をSTEP4の時と同様に実行
するが、S60からS61を介することなくS62へ進むので、
音源SSに対しては、ピツチ変更はされない。ただし、S6
2において抽出した周期に従つて時定数チエンジ処理を
行なう。
タFOFRをリセツトし、レジスタSTEPを5とし、S77へ進
んで音源SSに対しノートオフを指示する。このSTEPが5
の状態では、ピツチ抽出処理をSTEP4の時と同様に実行
するが、S60からS61を介することなくS62へ進むので、
音源SSに対しては、ピツチ変更はされない。ただし、S6
2において抽出した周期に従つて時定数チエンジ処理を
行なう。
そして、STEPが5の状態では、リラテイブオンの処理
を受付けるが(S41、S78)、それ以外の場合では、第4
図のメインフローの中で、振動レベルが減少してきたこ
とが検知されることによりM14でSTEPが0となり、初期
状態にもどる。
を受付けるが(S41、S78)、それ以外の場合では、第4
図のメインフローの中で、振動レベルが減少してきたこ
とが検知されることによりM14でSTEPが0となり、初期
状態にもどる。
なお、S46で使用するAMRL1、AMRL2はS64で作られてお
り、1周期の中でレベルが大な方のピーク(最大ピーク
と最小ピークとの一方)が、この値とされ、第13図の例
では、最大ピークakが最小ピークbk−1より必ず大であ
る場合であつて、an+1とan+2、an+2とan+3、an
+3とan+4の差がいずれも所定値を越えるようになつ
ている。
り、1周期の中でレベルが大な方のピーク(最大ピーク
と最小ピークとの一方)が、この値とされ、第13図の例
では、最大ピークakが最小ピークbk−1より必ず大であ
る場合であつて、an+1とan+2、an+2とan+3、an
+3とan+4の差がいずれも所定値を越えるようになつ
ている。
また、このときルートの処理においては、最小ピー
クbn+1、bn+2、bn+3が極端に減少してきているの
で、S54でNの判断が成されて、メインルーチンへリタ
ーンし、ピツチ変更処理はなされない。
クbn+1、bn+2、bn+3が極端に減少してきているの
で、S54でNの判断が成されて、メインルーチンへリタ
ーンし、ピツチ変更処理はなされない。
次に、ピツチ抽出しているなかで、オクターブ関係に
ある倍温、つまりオクターブ高い音やオクターブ低い音
が続けて検出されたときの処理について説明する。
ある倍温、つまりオクターブ高い音やオクターブ低い音
が続けて検出されたときの処理について説明する。
既に説明したように、S58ではttがTTUを越えなかつた
とき、つまり、前回抽出した周期の17/32倍した値TTUよ
り小になつたとき、S76へ進む。つまり、オクターブ高
い音が抽出されたときは、指定していたフレツトから指
を離してミユート操作をした場合とみなし、オクターブ
高い音を出力することなく、S58からS76へ行き、リラテ
イブオフ時同様S76、S77の処理によつて当該音の発音を
停止する。
とき、つまり、前回抽出した周期の17/32倍した値TTUよ
り小になつたとき、S76へ進む。つまり、オクターブ高
い音が抽出されたときは、指定していたフレツトから指
を離してミユート操作をした場合とみなし、オクターブ
高い音を出力することなく、S58からS76へ行き、リラテ
イブオフ時同様S76、S77の処理によつて当該音の発音を
停止する。
また、S59では、ttがTTWを越えなかつたとき、つまり
前回抽出した周期の31/16倍した値TTWより大となつたと
き、S60へ進むことなく、メインルーチンヘリターンす
る。
前回抽出した周期の31/16倍した値TTWより大となつたと
き、S60へ進むことなく、メインルーチンヘリターンす
る。
この状態は第14図に示されている。通常ノートオフ近
辺の非常に波形が小さい場合、他のピツキングによつて
ヘキサピツクアツプのクロストオークやボデイの共振に
よつて波形が乗つてくる。すると、例えば、第14図のよ
うな入力波形となり、1オクターブ下の入力波形が続け
て検出されてしまうことがある。
辺の非常に波形が小さい場合、他のピツキングによつて
ヘキサピツクアツプのクロストオークやボデイの共振に
よつて波形が乗つてくる。すると、例えば、第14図のよ
うな入力波形となり、1オクターブ下の入力波形が続け
て検出されてしまうことがある。
このような場合、何等処理を施さないと、急にオクタ
ーブ下の音を出力してしまい、極めて不自然となる。そ
のために、S57、S56でTan+2≒Tan+3≒Tbn+2が検
出されても、Tan+3>Tan+1×(31/16)となるの
で、ピツチ変更することなく、S59からメインルーチン
へリターンする。
ーブ下の音を出力してしまい、極めて不自然となる。そ
のために、S57、S56でTan+2≒Tan+3≒Tbn+2が検
出されても、Tan+3>Tan+1×(31/16)となるの
で、ピツチ変更することなく、S59からメインルーチン
へリターンする。
次に、ダブリの波形が抽出される場合つまり、同じ極
性のゼロクロス点が続けて到来する場合について説明す
る。第15図は、MT=1の場合の例を示しており、基本波
周期と倍音成分の周期が非整数倍の関係にあるので、倍
音の位相がずれて行き、同じ極性のゼロクロスを検出を
してしまうことになり、そのために誤つたピツチ変更を
しないようにしないといけない。
性のゼロクロス点が続けて到来する場合について説明す
る。第15図は、MT=1の場合の例を示しており、基本波
周期と倍音成分の周期が非整数倍の関係にあるので、倍
音の位相がずれて行き、同じ極性のゼロクロスを検出を
してしまうことになり、そのために誤つたピツチ変更を
しないようにしないといけない。
そこで、図のダブリと書いてあるゼロクロス時のSTEP
4の処理では、S42からS43へ行き、S43ではYの判断をし
てS72へ行く。ここで、(an+3)と(an+2)の大き
さが比較され、もし(an+3)が(an+2)より大であ
れば、S72でYの判断をし、AMP(1)に、(an+3)の
値をセツトし、もし逆の場合は何等変更処理をしない。
4の処理では、S42からS43へ行き、S43ではYの判断をし
てS72へ行く。ここで、(an+3)と(an+2)の大き
さが比較され、もし(an+3)が(an+2)より大であ
れば、S72でYの判断をし、AMP(1)に、(an+3)の
値をセツトし、もし逆の場合は何等変更処理をしない。
ところで、このダブリの場合抽出している時刻データ
は何等使用しないので、周期情報Tan+3は何等変わら
ない。また、当然周期データに基づくピツチ変更は行な
われない。
は何等使用しないので、周期情報Tan+3は何等変わら
ない。また、当然周期データに基づくピツチ変更は行な
われない。
同様に、第16図は波形のダブリの場合の例で、MT=0
の状態を示している。このときも、図中にダブリと示し
ているところで、ダブリの状態が生じている。このとき
は、S42からS63へ行き、Yの判断をしてS68へ行く。S68
では、いまの場合(an+2)と(an+3)との比較をし
て、(an+3)が(an+2)より大なときに限りS69へ
行き、AMP(1)を書替える。この場合は、更に前回の
振幅値AMRL1と今回の振幅情報(波高値c)の比較をS70
で行なつても、もしYならばS71へ進み、今回の振幅情
報cを前回の振幅値AMRL1へセツトする。
の状態を示している。このときも、図中にダブリと示し
ているところで、ダブリの状態が生じている。このとき
は、S42からS63へ行き、Yの判断をしてS68へ行く。S68
では、いまの場合(an+2)と(an+3)との比較をし
て、(an+3)が(an+2)より大なときに限りS69へ
行き、AMP(1)を書替える。この場合は、更に前回の
振幅値AMRL1と今回の振幅情報(波高値c)の比較をS70
で行なつても、もしYならばS71へ進み、今回の振幅情
報cを前回の振幅値AMRL1へセツトする。
このようにして、倍音の影響で、波形がダブつたとき
にも、S56、S57を満足しない限りピツチ変更処理はなさ
れないことになる。
にも、S56、S57を満足しない限りピツチ変更処理はなさ
れないことになる。
このように、本実施例によれば、抽出されたピツチが
当該弦の開放弦音高の略1オクターブ上の音高(HFOP)
を示すものか否かをジヤツジし(第9図S310及び第10図
S621参照)、その結果フレツトから指を離しても減衰が
おそい前記開放弦音高の略1オクターブ上の音高である
ことがわかると、リラテイブオフをジヤツジする際の減
衰率を決める値を緩やかなもの、即ちANEを1/40とし
(同S311、同定S622)、その他の場合はANEを1/20とし
(同S312、同S623)とする。そして、リラテイブオフの
条件を、第10図のS46に示すとおり、AMRL2−AMRL1ANE
・AMRL2としている。
当該弦の開放弦音高の略1オクターブ上の音高(HFOP)
を示すものか否かをジヤツジし(第9図S310及び第10図
S621参照)、その結果フレツトから指を離しても減衰が
おそい前記開放弦音高の略1オクターブ上の音高である
ことがわかると、リラテイブオフをジヤツジする際の減
衰率を決める値を緩やかなもの、即ちANEを1/40とし
(同S311、同定S622)、その他の場合はANEを1/20とし
(同S312、同S623)とする。そして、リラテイブオフの
条件を、第10図のS46に示すとおり、AMRL2−AMRL1ANE
・AMRL2としている。
このようにすることで、開放弦音高の略1オクターブ
上の音高のフレツト操作をして弦をピツキングした状態
から、指をフレツトから離してミユートした状態に変化
したとしても、そのミユート操作は確実に検知でき、他
の音高のフレツト操作からミユート操作した場合同様の
結果を得ることが可能となる。
上の音高のフレツト操作をして弦をピツキングした状態
から、指をフレツトから離してミユートした状態に変化
したとしても、そのミユート操作は確実に検知でき、他
の音高のフレツト操作からミユート操作した場合同様の
結果を得ることが可能となる。
また、上記実施例によれば、入力波形信号の最大ピー
ク値の絶対値と最小ピーク値の絶対値の大きい方の波形
信号レベルの減衰率が所定割合量以上であれば、消音動
作を行なうようにしたので、片側の減衰した入力波形信
号(これはローパスフイルタを通つた波形は、一般に上
下対称でなくなることによる)や、波高値の小さな領域
の入力波形信号であつても、リラテイブオフの検出が可
能であり、演奏者がミユート指示した楽音が発音され続
けることがなくなる。
ク値の絶対値と最小ピーク値の絶対値の大きい方の波形
信号レベルの減衰率が所定割合量以上であれば、消音動
作を行なうようにしたので、片側の減衰した入力波形信
号(これはローパスフイルタを通つた波形は、一般に上
下対称でなくなることによる)や、波高値の小さな領域
の入力波形信号であつても、リラテイブオフの検出が可
能であり、演奏者がミユート指示した楽音が発音され続
けることがなくなる。
すなわち、第10図のS64で示すように、前回の振幅値A
MRL1として一周期の内で一番大きな波高値が入力される
ようになつていて、一周期前のその値は、前々回の振幅
値AMRL2にしまわれるようになつていて、しかもS46に示
すように振幅値AMRL1とAMRL2の減衰割合からリラテイブ
オフを判断しており、この条件を所定回数連続して満足
すれば、消音操作がなされたものとして、S74、S76、S7
7へと進み、ノートオフする。この場合、減少の回数を
カウントするのが、リラテイブオフカウンタFOFRでは、
所定回数を定めているのが、定数ROFCTである。また、S
47で示すとおり一度でもANE・AMRL2以上の減少がなけれ
ば、カウンタFOFRはクリアされる(第13図参照)。
MRL1として一周期の内で一番大きな波高値が入力される
ようになつていて、一周期前のその値は、前々回の振幅
値AMRL2にしまわれるようになつていて、しかもS46に示
すように振幅値AMRL1とAMRL2の減衰割合からリラテイブ
オフを判断しており、この条件を所定回数連続して満足
すれば、消音操作がなされたものとして、S74、S76、S7
7へと進み、ノートオフする。この場合、減少の回数を
カウントするのが、リラテイブオフカウンタFOFRでは、
所定回数を定めているのが、定数ROFCTである。また、S
47で示すとおり一度でもANE・AMRL2以上の減少がなけれ
ば、カウンタFOFRはクリアされる(第13図参照)。
このようなことから、この実施例によれば、片側の減
衰した入力波形信号や、波高値の小さな領域の入力波形
信号であつても、リラテイブオフの検出が可能である。
衰した入力波形信号や、波高値の小さな領域の入力波形
信号であつても、リラテイブオフの検出が可能である。
なお、波形信号のピーク値の減衰を検知するのは、上
記実施例に限らず他のやり方であつても良い。例えば、
弦操作にともない発生する波形信号の最大ピーク値(正
側のピーク値)と最小ピーク値(負側のピーク値)との
双方が、ともに所定レベル以上減衰したことを検知して
リラテイブオフ処理を行うようにする。
記実施例に限らず他のやり方であつても良い。例えば、
弦操作にともない発生する波形信号の最大ピーク値(正
側のピーク値)と最小ピーク値(負側のピーク値)との
双方が、ともに所定レベル以上減衰したことを検知して
リラテイブオフ処理を行うようにする。
この場合も、抽出したピツチが開放弦音高の略1オク
ターブ上の音高を示すときは、ピーク値の減衰割合の条
件を緩やかにして、他の音高に比して、少ない減衰割合
の検知にて消音指示を行うようにする。
ターブ上の音高を示すときは、ピーク値の減衰割合の条
件を緩やかにして、他の音高に比して、少ない減衰割合
の検知にて消音指示を行うようにする。
また、前記実施例においては、最大ピーク点、最小ピ
ーク点の次のゼロクロス点毎の間隔から周期抽出を行な
うようにしたが、その他の方式、例えば最大ピーク点間
や最小ピーク点間の時間間隔から周期抽出をおこなつて
もよい。また、それに合せて回路構成は種々変更し得
る。
ーク点の次のゼロクロス点毎の間隔から周期抽出を行な
うようにしたが、その他の方式、例えば最大ピーク点間
や最小ピーク点間の時間間隔から周期抽出をおこなつて
もよい。また、それに合せて回路構成は種々変更し得
る。
更に、前回実施例においては、この発明を電子ギター
(ギターシンセサイザ)に適用したものであつたが、そ
れに限らない。ピツチ抽出を行なつて、オリジナルの信
号とは別の音響信号を発生するタイプの楽器または装置
であれば、種々適用可能である。
(ギターシンセサイザ)に適用したものであつたが、そ
れに限らない。ピツチ抽出を行なつて、オリジナルの信
号とは別の音響信号を発生するタイプの楽器または装置
であれば、種々適用可能である。
以上述べたとおり、本発明によれば、前記ピッチ検出
手段が検出する弦振動ピッチが、開放弦の1オクターブ
上の音高に略一致するピッチであるか否かを判定し、楽
音発生指示手段の指示による楽音発生中に、前記判定手
段が振動中の弦のピッチが開放弦の1オクターブ上の音
高に略一致するピッチであると判定した場合、振幅検出
手段が検出する弦振動の振幅が第1の所定値以上になる
と、前記発生中の楽音の消音を指示すると共に、前記判
定手段が振動中の弦のピッチが開放弦の1オクターブ上
の音高に略一致するピッチでないと判定した場合、前記
振幅検出手段が検出する前記振幅の減衰率が前記第1の
所定値より大きい第2の所定値以上にななると、前記発
生中の楽音の消音を消音指示 手段が指示するようにしたので、如何なる音高について
のミユート操作も確実に検知でき、演奏者の意図した消
音が行える。
手段が検出する弦振動ピッチが、開放弦の1オクターブ
上の音高に略一致するピッチであるか否かを判定し、楽
音発生指示手段の指示による楽音発生中に、前記判定手
段が振動中の弦のピッチが開放弦の1オクターブ上の音
高に略一致するピッチであると判定した場合、振幅検出
手段が検出する弦振動の振幅が第1の所定値以上になる
と、前記発生中の楽音の消音を指示すると共に、前記判
定手段が振動中の弦のピッチが開放弦の1オクターブ上
の音高に略一致するピッチでないと判定した場合、前記
振幅検出手段が検出する前記振幅の減衰率が前記第1の
所定値より大きい第2の所定値以上にななると、前記発
生中の楽音の消音を消音指示 手段が指示するようにしたので、如何なる音高について
のミユート操作も確実に検知でき、演奏者の意図した消
音が行える。
【図面の簡単な説明】 第1図は本発明による電子楽器の入力制御装置の全体の
構成を示すブロツク図、第2図は第1図のピツチ抽出デ
ジタル回路の一例を示すブロツク図、第3図は第2図の
マイコンの割込み処理ルーチンを示すフローチヤート、
第4図は第2図のマイコンのメイン処理ルーチンを示す
フローチヤート、第5図〜第7図および第9図、第10図
はいずれも第2図のマイコンの各ステツプの動作を説明
するためのフローチヤート、第8図、第11図〜第17図は
いずれも各ステツプの動作を説明するためのタイミング
チヤートである。 PA……ピツチ抽出アナログ回路、PD……ピツチ抽出デジ
タル回路、MCP……マイコン、SS……音源、PEDT……ピ
ーク検出回路、ZTS……ゼロクロス時刻取込回路、TCC…
…時定数変換制御回路、PVS……波高値取込み回路。
構成を示すブロツク図、第2図は第1図のピツチ抽出デ
ジタル回路の一例を示すブロツク図、第3図は第2図の
マイコンの割込み処理ルーチンを示すフローチヤート、
第4図は第2図のマイコンのメイン処理ルーチンを示す
フローチヤート、第5図〜第7図および第9図、第10図
はいずれも第2図のマイコンの各ステツプの動作を説明
するためのフローチヤート、第8図、第11図〜第17図は
いずれも各ステツプの動作を説明するためのタイミング
チヤートである。 PA……ピツチ抽出アナログ回路、PD……ピツチ抽出デジ
タル回路、MCP……マイコン、SS……音源、PEDT……ピ
ーク検出回路、ZTS……ゼロクロス時刻取込回路、TCC…
…時定数変換制御回路、PVS……波高値取込み回路。
Claims (3)
- 【請求項1】弦振動の振幅を検出する振幅検出手段と、 前記弦振動のピッチを検出するピッチ検出手段と、 前記ピッチ検出手段が検出したピッチに対応する音高の
楽音の発生を指示する楽音発生指示手段と、 前記ピッチ検出手段が検出するピッチが、開放弦の1オ
クターブ上の音高に略一致するピッチか否かを判定する
判定手段と、 前記楽音発生指示手段の指示による楽音発生中に、前記
判定手段が振動中の弦のピッチが開放弦の1オクターブ
上の音高に略一致するピッチであると判定した場合、前
記振幅検出手段が検出する前記振幅の減衰率が第1の所
定値以上になると、前記発生中の楽音の消音を指示する
と共に、前記判定手段が振動中の弦のピッチが開放弦の
1オクターブ上の音高に略一致するピッチでないと判定
した場合、前記振幅検出手段が検出する前記振幅の減衰
率が第1の所定値より大きい第2の所定値以上になる
と、前記発生中の楽音の消音を指示する消音指示手段と を有することを特徴とする電子弦楽器。 - 【請求項2】前記振幅検出手段は、前記弦振動に対応す
る電気信号の振幅を前記弦振動の振幅として検出し、 前記消音指示手段は、前記振幅検出手段が検出する前記
振幅の正負の減衰率の少なくとも一方に基づいて前記消
音指示を行う ことを特徴とする請求項1記載の電子弦楽器。 - 【請求項3】前記振幅検出手段は、前記弦振動に対応す
る電気信号の振幅を前記弦振動の振幅として検出し、 前記消音指示手段は、前記振幅検出手段が検出する前記
振幅の正負の減衰率の双方に基づいて前記消音指示を行
う ことを特徴とする請求項1記載の電子弦楽器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62336412A JP2591001B2 (ja) | 1987-12-28 | 1987-12-28 | 電子弦楽器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62336412A JP2591001B2 (ja) | 1987-12-28 | 1987-12-28 | 電子弦楽器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01177084A JPH01177084A (ja) | 1989-07-13 |
JP2591001B2 true JP2591001B2 (ja) | 1997-03-19 |
Family
ID=18298863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62336412A Expired - Lifetime JP2591001B2 (ja) | 1987-12-28 | 1987-12-28 | 電子弦楽器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2591001B2 (ja) |
-
1987
- 1987-12-28 JP JP62336412A patent/JP2591001B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH01177084A (ja) | 1989-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2615825B2 (ja) | 電子弦楽器 | |
JP2805598B2 (ja) | 演奏位置検出方法およびピッチ検出方法 | |
JP2734521B2 (ja) | 楽音制御装置 | |
EP0722160B1 (en) | Method for recognition of the start and end of a note in the case of percussion or plucked musical instrument | |
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 | |
US4924746A (en) | Input apparatus of electronic device for extracting pitch from input waveform signal | |
JP2591001B2 (ja) | 電子弦楽器 | |
JP2661066B2 (ja) | 発音制御装置 | |
JP2722584B2 (ja) | 楽音制御装置 | |
JP2611263B2 (ja) | 発音制御装置 | |
JP2775633B2 (ja) | 楽音制御装置 | |
JP2591000B2 (ja) | 電子弦楽器 | |
JP2661065B2 (ja) | 発音制御装置 | |
JP2605773B2 (ja) | 電子弦楽器 | |
JP2661481B2 (ja) | 電子楽器 | |
JP2530928Y2 (ja) | 電子楽器のレベル表示装置 | |
JP6135312B2 (ja) | 電子弦楽器、楽音制御方法及びプログラム | |
JP2858313B2 (ja) | 音高情報生成装置 | |
JP2958778B2 (ja) | 楽音発生装置 | |
JP2615946B2 (ja) | 楽音制御装置 | |
JP2005189600A (ja) | 電子弦楽器 | |
JP2014153434A (ja) | 電子弦楽器、楽音生成方法及びプログラム | |
JPH01100597A (ja) | 発音制御装置 | |
JP6361109B2 (ja) | 電子弦楽器、楽音制御方法及びプログラム |