JPH0727512Y2 - 電子楽器の入力制御装置 - Google Patents
電子楽器の入力制御装置Info
- Publication number
- JPH0727512Y2 JPH0727512Y2 JP1987062700U JP6270087U JPH0727512Y2 JP H0727512 Y2 JPH0727512 Y2 JP H0727512Y2 JP 1987062700 U JP1987062700 U JP 1987062700U JP 6270087 U JP6270087 U JP 6270087U JP H0727512 Y2 JPH0727512 Y2 JP H0727512Y2
- Authority
- JP
- Japan
- Prior art keywords
- point
- peak
- register
- value
- maximum peak
- 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
Description
【考案の詳細な説明】 [考案の技術分野] この考案は電子ギターなどの電子楽器の入力制御装置に
関し、特に誤ったピッチ抽出を防止するものに関するも
のである。
関し、特に誤ったピッチ抽出を防止するものに関するも
のである。
[考案の背景] 従来より、自然楽器の演奏操作によって発生する波形信
号からピッチ(基本周波数)を抽出し、電子回路で構成
された音源装置を制御して、人工的に楽音等の音響を得
るようにしたものが種々開発されている。
号からピッチ(基本周波数)を抽出し、電子回路で構成
された音源装置を制御して、人工的に楽音等の音響を得
るようにしたものが種々開発されている。
この種の電子楽器では、入力波形信号のピークをピーク
検出回路で検出し、この検出ピーク点に基づいて入力波
形信号のピッチを抽出してから音源装置に対し当該ピッ
チに対応する音階音を発生するよう指示するのが一般的
である。
検出回路で検出し、この検出ピーク点に基づいて入力波
形信号のピッチを抽出してから音源装置に対し当該ピッ
チに対応する音階音を発生するよう指示するのが一般的
である。
ところで、上記のような装置にあっては、発音開始時に
過大な入力波形信号が与えられた場合、例えば電子ギタ
ーにあっては弦に対して設けられたピックアップのそば
で弦を弾いたような場合や、弦がのびるほど強く弾いた
場合には、第7図に示すように、第1波目に対して第2
波目以降が大きく減衰することになる。このような場
合、ピーク検出回路内でピークホールドレベルと入力波
形信号のピーク値との比較を行なうとき、入力波形信号
のピーク値がピークホールドレベル以下となってしま
い、正確なピーク検出が出来なくなる。つまり、第7図
(a)の点線で示す第1波目のピークホールドレベルを
第2波目のピーク部分が越えることができなくなって、
この第2波を越えて第1波目から次の第3波目までのT
1を一周期として誤ったピッチ抽出を行ってしまうとい
う問題点があった。
過大な入力波形信号が与えられた場合、例えば電子ギタ
ーにあっては弦に対して設けられたピックアップのそば
で弦を弾いたような場合や、弦がのびるほど強く弾いた
場合には、第7図に示すように、第1波目に対して第2
波目以降が大きく減衰することになる。このような場
合、ピーク検出回路内でピークホールドレベルと入力波
形信号のピーク値との比較を行なうとき、入力波形信号
のピーク値がピークホールドレベル以下となってしま
い、正確なピーク検出が出来なくなる。つまり、第7図
(a)の点線で示す第1波目のピークホールドレベルを
第2波目のピーク部分が越えることができなくなって、
この第2波を越えて第1波目から次の第3波目までのT
1を一周期として誤ったピッチ抽出を行ってしまうとい
う問題点があった。
また、同じく電子ギターの場合に、振動中の弦に対して
不用意に手等が触れてしまうと、この触れた点を節とし
て弦振動が行われるようになるため、弦の振動部分の長
さがそれだけ短くなり、この結果第8図のTn+2、Tn+3
に示すように入力波形信号の一周期が短くなってしま
い、本来のピッチと異なるピッチが抽出されてしまうと
いう問題点もあった。
不用意に手等が触れてしまうと、この触れた点を節とし
て弦振動が行われるようになるため、弦の振動部分の長
さがそれだけ短くなり、この結果第8図のTn+2、Tn+3
に示すように入力波形信号の一周期が短くなってしま
い、本来のピッチと異なるピッチが抽出されてしまうと
いう問題点もあった。
[考案の目的] この考案は上記事情に鑑みてなされたもので、発音開始
時に過大な入力波形信号が与えられたときや、振動中の
弦に不用意に手等が触れてしまった場合等に、誤ったピ
ッチ抽出が行われるのを防止して、正しい音高で楽音を
放音させることのできる電子楽器の入力装置を提供する
ことを目的とする。
時に過大な入力波形信号が与えられたときや、振動中の
弦に不用意に手等が触れてしまった場合等に、誤ったピ
ッチ抽出が行われるのを防止して、正しい音高で楽音を
放音させることのできる電子楽器の入力装置を提供する
ことを目的とする。
[考案の要点] この目的を達成するため、第7図(a)及び第8図
(a)に示すように、発音開始時に過大な入力波形信号
が与えられたときや、振動中の弦に不用意に手等が触れ
てしまった場合等に、波形の波高値に大きな変動がある
ことに着目し、検出される波形の波高値に大きな変動が
あったときには、抽出したピッチに応じた楽音の発生を
しないようにしたことを要点とするものである。この場
合の楽音の発生とは、新たに楽音を発音開始させる場合
と、発生中の楽音の周波数を変更して新たな抽出ピッチ
に応じた周波数の楽音を発生させる場合との2つをいう
ものとする。
(a)に示すように、発音開始時に過大な入力波形信号
が与えられたときや、振動中の弦に不用意に手等が触れ
てしまった場合等に、波形の波高値に大きな変動がある
ことに着目し、検出される波形の波高値に大きな変動が
あったときには、抽出したピッチに応じた楽音の発生を
しないようにしたことを要点とするものである。この場
合の楽音の発生とは、新たに楽音を発音開始させる場合
と、発生中の楽音の周波数を変更して新たな抽出ピッチ
に応じた周波数の楽音を発生させる場合との2つをいう
ものとする。
[実施例] 以下、本考案を電子ギターに適応した一実施例について
図面を参照して詳述する。
図面を参照して詳述する。
全体回路構成 第1図は、同実施例の全体回路構成を示しており、6つ
の入力端子1の信号は、電子ギターボディ上に張設され
た6つの弦の夫々に設けられた、弦の振動を電気信号に
変換するピックアップからの信号である。
の入力端子1の信号は、電子ギターボディ上に張設され
た6つの弦の夫々に設けられた、弦の振動を電気信号に
変換するピックアップからの信号である。
入力端子1……からの楽音信号は、ピッチ抽出回路P1〜
P6(図では第1弦のP1についてのみその内部構成を示し
ている。)内部の夫々のアンプ2……で増幅され、ロー
パスフィルタ(LPF)3……で高周波成分がカットされ
て基本波形が抽出され、最大ピーク検出回路(MAX)4
……、最小ピーク検出回路(MIN)5……及びゼロクロ
ス点検出回路(Zero)6……に与えられる。ローパスフ
ィルタ3……は、各弦の開放弦の振動音周波数fの4倍
の4fにカットオフ周波数が設定されている。これは、各
弦の出力音の周波数が2オクターブ以内であることに基
づくものである。最大ピーク検出回路4……では、楽音
信号の最大ピーク点が検出され、その検出パルス信号の
立上りで後段に接続されているフリップフロップ14……
のQ出力がHighレベルとなり、このフリップフロップ14
……の出力とゼロクロス点検出回路6……のインバータ
30……の反転出力とのアンド出力がアンドゲート24……
を介して割り込み指令信号INTa1〜INTa6としてCPU100に
与えられ、同様に最小ピーク検出回路5……でも、楽音
信号の最小ピーク点が検出され、その検出パルス信号の
立上りで後段に接続されているフリップフロップ15……
のQ出力がHighレベルとなり、このフリップフロップ15
……の出力とゼロクロス点検出回路6……の出力とのア
ンド出力がアンドゲート25……を介して割り込み指令信
号INTb1〜INTb6としてCPU100に与えられる。
P6(図では第1弦のP1についてのみその内部構成を示し
ている。)内部の夫々のアンプ2……で増幅され、ロー
パスフィルタ(LPF)3……で高周波成分がカットされ
て基本波形が抽出され、最大ピーク検出回路(MAX)4
……、最小ピーク検出回路(MIN)5……及びゼロクロ
ス点検出回路(Zero)6……に与えられる。ローパスフ
ィルタ3……は、各弦の開放弦の振動音周波数fの4倍
の4fにカットオフ周波数が設定されている。これは、各
弦の出力音の周波数が2オクターブ以内であることに基
づくものである。最大ピーク検出回路4……では、楽音
信号の最大ピーク点が検出され、その検出パルス信号の
立上りで後段に接続されているフリップフロップ14……
のQ出力がHighレベルとなり、このフリップフロップ14
……の出力とゼロクロス点検出回路6……のインバータ
30……の反転出力とのアンド出力がアンドゲート24……
を介して割り込み指令信号INTa1〜INTa6としてCPU100に
与えられ、同様に最小ピーク検出回路5……でも、楽音
信号の最小ピーク点が検出され、その検出パルス信号の
立上りで後段に接続されているフリップフロップ15……
のQ出力がHighレベルとなり、このフリップフロップ15
……の出力とゼロクロス点検出回路6……の出力とのア
ンド出力がアンドゲート25……を介して割り込み指令信
号INTb1〜INTb6としてCPU100に与えられる。
即ち、最大ピーク点が検出されてフリップフロップ14が
Highレベルになっているときに、波形が正から負へ横切
ったとき割り込み指令信号INTa1〜INTa6がCPU100に与え
られ、逆に最小ピーク点が検出されてフリップフロップ
15がHighレベルになっているときに、波形が負から正に
変化したとき割り込み指令信号INTb1〜INTb6がCPU100に
入力する。
Highレベルになっているときに、波形が正から負へ横切
ったとき割り込み指令信号INTa1〜INTa6がCPU100に与え
られ、逆に最小ピーク点が検出されてフリップフロップ
15がHighレベルになっているときに、波形が負から正に
変化したとき割り込み指令信号INTb1〜INTb6がCPU100に
入力する。
そして、CPU100は、これらの割り込み指令信号を受付け
た直後に、対応するフリップフロップ14……、15……に
対しクリア信号CLa1〜CLa6、CLb1〜CLb6を発生してリセ
ットする。
た直後に、対応するフリップフロップ14……、15……に
対しクリア信号CLa1〜CLa6、CLb1〜CLb6を発生してリセ
ットする。
そして、CPU100では、当該弦の振動出力により割り込み
指令信号INTa1〜INTa6もしくはINTb1〜INTb6が与えられ
て、夫々の時間間隔の少なくとも一方の時間間隔に従っ
た音階音を発生する。尚、発音開始時においては開放弦
の音階音を発生開始してピッチ抽出の後で正しい周波数
に修正してもよい。この発音開始時の動作については後
述する。
指令信号INTa1〜INTa6もしくはINTb1〜INTb6が与えられ
て、夫々の時間間隔の少なくとも一方の時間間隔に従っ
た音階音を発生する。尚、発音開始時においては開放弦
の音階音を発生開始してピッチ抽出の後で正しい周波数
に修正してもよい。この発音開始時の動作については後
述する。
そして、上記時間間隔は、後述するようにカウンタ7
と、ワークメモリ101とを用いて求める。即ち、このワ
ークメモリ101には、最大ピーク点の直後あるいは最小
ピーク点の直後のゼロクロス点時のカウンタ7のカウン
ト値など各種データが記憶される。
と、ワークメモリ101とを用いて求める。即ち、このワ
ークメモリ101には、最大ピーク点の直後あるいは最小
ピーク点の直後のゼロクロス点時のカウンタ7のカウン
ト値など各種データが記憶される。
そして、発音開始後は、順次求まる時間間隔データに従
って、発生中の楽音の周波数を可変制御してゆく。即ち
CPU100より音階を指定するデータを周波数ROM8へ送出
し、その結果対応する周波数を示す周波数データが読み
出され、音源回路9に送られて楽音信号が生成され、サ
ウンドシステム10より放音出力される。
って、発生中の楽音の周波数を可変制御してゆく。即ち
CPU100より音階を指定するデータを周波数ROM8へ送出
し、その結果対応する周波数を示す周波数データが読み
出され、音源回路9に送られて楽音信号が生成され、サ
ウンドシステム10より放音出力される。
また、上記ローパスフィルタ3……からの楽音信号は、
A/Dコンバータ11……に与えられ、その波形レベルに応
じたデジタルデータに変換される。
A/Dコンバータ11……に与えられ、その波形レベルに応
じたデジタルデータに変換される。
そして、このA/Dコンバータ11……の出力はラッチ12…
…にラッチされる。このラッチ12……に対するラッチ信
号は、上記フリップフロップ14……、15……の出力がオ
アゲート13……を介することで生成され、最大ピーク点
もくしは最小ピーク点を通過する都度ラッチ12……には
そのときの波形のレベルを示す信号が記憶される。ま
た、このオアゲート13……からのラッチ信号L1〜L6は
CPU100にも与えられる。そして、ラッチ12……出力はCP
U100へ与えられ、発音開始、停止、更には出力音の放音
レベル(音量)等の制御がこのデータに従ってなされ
る。なお、このラッチ12……に記憶されるピーク値であ
る波高値は、ワークメモリ101に順次書込まれる。
…にラッチされる。このラッチ12……に対するラッチ信
号は、上記フリップフロップ14……、15……の出力がオ
アゲート13……を介することで生成され、最大ピーク点
もくしは最小ピーク点を通過する都度ラッチ12……には
そのときの波形のレベルを示す信号が記憶される。ま
た、このオアゲート13……からのラッチ信号L1〜L6は
CPU100にも与えられる。そして、ラッチ12……出力はCP
U100へ与えられ、発音開始、停止、更には出力音の放音
レベル(音量)等の制御がこのデータに従ってなされ
る。なお、このラッチ12……に記憶されるピーク値であ
る波高値は、ワークメモリ101に順次書込まれる。
即ち、CPU100では、A/Dコンバータ11……より与えられ
る波形レベルを示すデータの絶対値が、予め決められた
一定値以上になった時には、楽音の発音を開始させると
ともにピッチ(基本周波数)抽出も開始させ、このデー
タが一定値以下になった時には、消音指示をして放音を
終了させる。その動作の詳細は後述するとおりである。
る波形レベルを示すデータの絶対値が、予め決められた
一定値以上になった時には、楽音の発音を開始させると
ともにピッチ(基本周波数)抽出も開始させ、このデー
タが一定値以下になった時には、消音指示をして放音を
終了させる。その動作の詳細は後述するとおりである。
なお、第1図には、A/Dコンバータ11が、ピッチ抽出回
路P1〜P6に夫々独立に設けてあるが、一個のA/Dコンバ
ータを時分割的に使用することも勿論可能である。
路P1〜P6に夫々独立に設けてあるが、一個のA/Dコンバ
ータを時分割的に使用することも勿論可能である。
そして、周波数ROM8、音源回路9は時分割処理により少
なくとも6チャンネルの楽音生成系が形成されている。
なくとも6チャンネルの楽音生成系が形成されている。
なお、第2図は、ピッチ抽出回路P1内の各部の信号波形
のタイムチャートを表わしており、図のは、ローパス
フィルタ3の出力、は最大ピーク検出回路4の出力、
は最小ピーク検出回路5の出力、はゼロクロス点検
出回路6の出力、は割り込み指令信号INTa1〜INTa6、
は割り込み指令信号INTb1〜INTb6である。
のタイムチャートを表わしており、図のは、ローパス
フィルタ3の出力、は最大ピーク検出回路4の出力、
は最小ピーク検出回路5の出力、はゼロクロス点検
出回路6の出力、は割り込み指令信号INTa1〜INTa6、
は割り込み指令信号INTb1〜INTb6である。
動作 次に本実施例の動作について説明する。第3図はCPU100
の割り込みルーチンのフローであり、第4図はメインフ
ローである。なお、この第3図及び第4図はひとつの弦
についての処理しか示してないが、全ての弦の処理は全
く同じなので、CPU100が夫々の弦についての処理を時分
割的に実行すると考えれば良い。
の割り込みルーチンのフローであり、第4図はメインフ
ローである。なお、この第3図及び第4図はひとつの弦
についての処理しか示してないが、全ての弦の処理は全
く同じなので、CPU100が夫々の弦についての処理を時分
割的に実行すると考えれば良い。
ワークメモリ101内のレジスタ さて、CPU100の具体的な動作の説明の前に、ワークメモ
リ101の中の主なレジスタについて説明する。
リ101の中の主なレジスタについて説明する。
STEPレジスタは、0、1、2、3の4段階をとり、弦振
動がなされる(第5図(a)もしくは第6図(a)参
照)につれて、第5図(b)あるいは第6図(b)に示
すようにその内容は変化する。このSTEPレジスタが0の
ときは、ノートオフ(消音)状態を表わしている。
動がなされる(第5図(a)もしくは第6図(a)参
照)につれて、第5図(b)あるいは第6図(b)に示
すようにその内容は変化する。このSTEPレジスタが0の
ときは、ノートオフ(消音)状態を表わしている。
SIGNレジスタは、周期計測のためのゼロクロス点が最大
ピーク(MAX)点の次のゼロクロス点なのか、最小ピー
ク(MIN)点の次のゼロクロス点なのかを示すもので、
1のとき前者、2のとき後者である。
ピーク(MAX)点の次のゼロクロス点なのか、最小ピー
ク(MIN)点の次のゼロクロス点なのかを示すもので、
1のとき前者、2のとき後者である。
REVERSEレジスタは、今回の割り込み処理時点のゼロク
ロス点が、SIGNレジスタの内容で示されるゼロクロス点
(最大ピーク点の次のゼロクロス点あるいは最大ピーク
点の次のゼロクロス点)と反対側のピーク点(最小ピー
ク点あるいは最大ピーク点)の次のゼロクロス点なのか
否か、をチェックするデータを記憶する。つまり、REVE
RSEレジスタは、SIGNレジスタが1のとき、このSIGNレ
ジスタ内容は、最大ピーク点の次のゼロクロス点を示す
わけであるから、この反対側のピーク点、すなわち最小
ピーク点の次のゼロクロス点の到来により今回の割り込
み処理が行なわれているか否かをチェックするデータを
記憶するもので、一周期ごとのピッチ(基本周波数)抽
出制御のチェックに用いられる。
ロス点が、SIGNレジスタの内容で示されるゼロクロス点
(最大ピーク点の次のゼロクロス点あるいは最大ピーク
点の次のゼロクロス点)と反対側のピーク点(最小ピー
ク点あるいは最大ピーク点)の次のゼロクロス点なのか
否か、をチェックするデータを記憶する。つまり、REVE
RSEレジスタは、SIGNレジスタが1のとき、このSIGNレ
ジスタ内容は、最大ピーク点の次のゼロクロス点を示す
わけであるから、この反対側のピーク点、すなわち最小
ピーク点の次のゼロクロス点の到来により今回の割り込
み処理が行なわれているか否かをチェックするデータを
記憶するもので、一周期ごとのピッチ(基本周波数)抽
出制御のチェックに用いられる。
Tレジスタは、入力波形の周期を計測するための特定点
のカウンタ7の値を記憶する。なお、カウンタ7は所定
のクロックでカウントするフリーランニング動作をして
いる。
のカウンタ7の値を記憶する。なお、カウンタ7は所定
のクロックでカウントするフリーランニング動作をして
いる。
AMP(i)レジスタは、A/Dコンバータ11からラッチ12に
ラッチされた最大もしくは最小ピーク値(実際には絶対
値)を記憶するレジスタで、AMP(1)が最大ピーク
用、AMP(2)が最小ピーク用のレジスタである。
ラッチされた最大もしくは最小ピーク値(実際には絶対
値)を記憶するレジスタで、AMP(1)が最大ピーク
用、AMP(2)が最小ピーク用のレジスタである。
PERIODレジスタは、計測した周期をあらわすピッチデー
タが入力され、このレジスタの内容を基に、CPU100は、
周波数ROM8、音源回路9に対し周波数制御を行うもので
ある。
タが入力され、このレジスタの内容を基に、CPU100は、
周波数ROM8、音源回路9に対し周波数制御を行うもので
ある。
更に、後述するように本実施例は各種判断のために、4
つの定数(スレッシュホールドレベル)がCPU100内に設
定されている。
つの定数(スレッシュホールドレベル)がCPU100内に設
定されている。
先ず最初のものはONLEV Iであり、第5図(a)、第6
図(a)に示すように、いまノートオフの状態であり、
このONLEV Iの値よりも大きなピーク値が検出されたと
き、弦がピッキング等されたとして、周期測定のための
動作をCPU100は実行開始する。
図(a)に示すように、いまノートオフの状態であり、
このONLEV Iの値よりも大きなピーク値が検出されたと
き、弦がピッキング等されたとして、周期測定のための
動作をCPU100は実行開始する。
ONLEV IIは、ノートオン(発音中)状態であって、前回
の検出レベルと今回の検出レベルとの差がこの値以上あ
れば、トレモロ奏法等による操作があったとして、再度
発音開始(リラティブオン、relative on)処理を行う
ためのものである。
の検出レベルと今回の検出レベルとの差がこの値以上あ
れば、トレモロ奏法等による操作があったとして、再度
発音開始(リラティブオン、relative on)処理を行う
ためのものである。
OFFLEVは、第9図(a)に示してあるように、ノートオ
ン(発音中)状態であって、この値以下のピーク値が検
知されると、ノートオフ(消音)処理をする。
ン(発音中)状態であって、この値以下のピーク値が検
知されると、ノートオフ(消音)処理をする。
Aは、入力波形信号の前回の検出レベルと今回の検出レ
ベルとの差がこの値以上であれば、発音開始時に過大な
入力波形信号が与えられたり、振動中の弦に不用意に手
等がふれてしまったりしたとして、発音開始を行わない
ようにしたり、すでに発音中の楽音の周波数を変更し
て、新たな抽出ピッチに応じた周波数の楽音を発生させ
るのを行わないようにしたりされる。このAの値は上記
リラティブオンのためのONLEV IIの値より小さい値に設
定されている。
ベルとの差がこの値以上であれば、発音開始時に過大な
入力波形信号が与えられたり、振動中の弦に不用意に手
等がふれてしまったりしたとして、発音開始を行わない
ようにしたり、すでに発音中の楽音の周波数を変更し
て、新たな抽出ピッチに応じた周波数の楽音を発生させ
るのを行わないようにしたりされる。このAの値は上記
リラティブオンのためのONLEV IIの値より小さい値に設
定されている。
以上の説明から、以下に述べる割り込みルーチン、メイ
ンルーチンの動作の理解は容易となろう。
ンルーチンの動作の理解は容易となろう。
ゼロクロス点での割り込み処理 さて、アンドゲート24もしくはアンドゲート25の出力で
ある割り込み指令信号INTa、INTbのCPU100への到来によ
って、第3図の割り込み処理を行う。
ある割り込み指令信号INTa、INTbのCPU100への到来によ
って、第3図の割り込み処理を行う。
即ち、割り込み指令信号INTaの入力時には、先ずステッ
プP1の処理をし、CPU100内のaレジスタを1にし、割
り込み指令信号INTbの入力時には、先ずステップP2の
処理によって上記aレジスタに2をセットする。
プP1の処理をし、CPU100内のaレジスタを1にし、割
り込み指令信号INTbの入力時には、先ずステップP2の
処理によって上記aレジスタに2をセットする。
そして次にステップP3において、CPU100内のtレジス
タに、カウンタ7の値をプリセットする。続いて実行す
るステップP4ではA/Dコンバータ11のピークレベルデー
タをラッチ12から読込み、CPU100内のbレジスタに設定
する。
タに、カウンタ7の値をプリセットする。続いて実行す
るステップP4ではA/Dコンバータ11のピークレベルデー
タをラッチ12から読込み、CPU100内のbレジスタに設定
する。
そして、ステップP5において、フリップフロップ14も
しくはフリップフロップ15をクリアする。
しくはフリップフロップ15をクリアする。
続くステップP6にて、上記a、b、tレジスタの内容
をワークメモリ101に転送記憶し割り込み処理を終了す
る。
をワークメモリ101に転送記憶し割り込み処理を終了す
る。
メイン処理 メインルーチン(第4図)では、ステップS1で割り込
み処理がなされたか否かを判断する。ここで第3図に示
した割り込み処理が実行されてワークメモリ1010に
a′、b′、t′の内容(上記a、b、tと同じで前回
記録されたということでa′、b′、t′と示す。)が
書込まれている場合にはステップS2に進み、何ら割り
込み処理はなされていないときはNOの判断をして、この
ステップS1を繰返し実行する。
み処理がなされたか否かを判断する。ここで第3図に示
した割り込み処理が実行されてワークメモリ1010に
a′、b′、t′の内容(上記a、b、tと同じで前回
記録されたということでa′、b′、t′と示す。)が
書込まれている場合にはステップS2に進み、何ら割り
込み処理はなされていないときはNOの判断をして、この
ステップS1を繰返し実行する。
そして、上記ステップS1でYESの判断をすれば、次のス
テップS2に進んでその内容a′、b′、t′を読出
す。次にステップS3において、上記AMP(a′)レジス
タに記憶してある同じ種類(つまり最大か最小)のピー
ク点のピーク値をCPU100内のcレジスタに読出し、今回
抽出したピーク値b′を上記AMP(a′)レジスタに設
定する。
テップS2に進んでその内容a′、b′、t′を読出
す。次にステップS3において、上記AMP(a′)レジス
タに記憶してある同じ種類(つまり最大か最小)のピー
ク点のピーク値をCPU100内のcレジスタに読出し、今回
抽出したピーク値b′を上記AMP(a′)レジスタに設
定する。
さて、次にステップS4〜S6において、STEPレジスタの
内容が夫々3、2、1であるか否かジャッジする。い
ま、最初の状態であるとしたら、STEPレジスタは0なの
で、ステップS4、S5、S6ともNOの判断がされる。そ
して、次にステップS7で、今回検知したピーク値b′
がONLEV Iより大か否かジャッジする。
内容が夫々3、2、1であるか否かジャッジする。い
ま、最初の状態であるとしたら、STEPレジスタは0なの
で、ステップS4、S5、S6ともNOの判断がされる。そ
して、次にステップS7で、今回検知したピーク値b′
がONLEV Iより大か否かジャッジする。
もし、上記ピーク値b′がONLEV Iより小であれば、ま
だ発音開始の処理をしないのでステップS1へもどる。
仮に、第5図(a)、第6図(a)のようにONLEV Iよ
り大きな入力が得られたとすると、ステップS7の判断
はYESとなり、ステップS8へ進む。
だ発音開始の処理をしないのでステップS1へもどる。
仮に、第5図(a)、第6図(a)のようにONLEV Iよ
り大きな入力が得られたとすると、ステップS7の判断
はYESとなり、ステップS8へ進む。
そしてステップS8でSTEPレジスタに1をセットし、次
にステップS9でREVERSEレジスタに0をセットし、続け
てステップS10で、a′(つまり最大ピーク点直後のゼ
ロクロス点のとき1、最小ピーク点直後のゼロクロス点
のとき2)の値をSIGNレジスタに入力する。
にステップS9でREVERSEレジスタに0をセットし、続け
てステップS10で、a′(つまり最大ピーク点直後のゼ
ロクロス点のとき1、最小ピーク点直後のゼロクロス点
のとき2)の値をSIGNレジスタに入力する。
そして、ステップS11にて、t′の値をTレジスタにセ
ットする。その結果、a′の内容はSIGNレジスタに(第
5図(a)、第6図(a)の場合はSIGNは1となる)、
b′の内容はAMPレジスタに、t′の内容はTレジスタ
にセットされたことになる。そして再びステップS1に
もどる。
ットする。その結果、a′の内容はSIGNレジスタに(第
5図(a)、第6図(a)の場合はSIGNは1となる)、
b′の内容はAMPレジスタに、t′の内容はTレジスタ
にセットされたことになる。そして再びステップS1に
もどる。
さて、以上の説明で第5図(a)、第6図(a)のゼロ
クロス点Zero1の直後のメインルーチンの処理を完了す
ることになる。
クロス点Zero1の直後のメインルーチンの処理を完了す
ることになる。
さて、次に、ゼロクロス点Zero2の直後のメインルーチ
ンでの処理を説明する。そのときは上記ステップS1→
S2→S3→S4→S5のデータセット処理と発音段階制御
処理とを実行し、次のステップS6にてYESの判断がさ
れ、次にステップS12にゆく。
ンでの処理を説明する。そのときは上記ステップS1→
S2→S3→S4→S5のデータセット処理と発音段階制御
処理とを実行し、次のステップS6にてYESの判断がさ
れ、次にステップS12にゆく。
いま、第5図(a)、第6図(a)のように波形が入力
時に正方向に変化したときは、SIGNレジスタは1であ
り、今回負方向のピークを経過してきているからa′レ
ジスタは2なので、NOの判断をする。尚、もし同じ極性
のピーク値直後のゼロクロス点到来時には、このステッ
プS12でYESの判断をして何ら続けて動作せずにステッ
プS1へもどる。
時に正方向に変化したときは、SIGNレジスタは1であ
り、今回負方向のピークを経過してきているからa′レ
ジスタは2なので、NOの判断をする。尚、もし同じ極性
のピーク値直後のゼロクロス点到来時には、このステッ
プS12でYESの判断をして何ら続けて動作せずにステッ
プS1へもどる。
さて、いまこのステップS12ではNOのジャッジがされて
ステップS13へゆき、STEPレジスタを2とする。(第5
図(b)、第6図(b)参照)。
ステップS13へゆき、STEPレジスタを2とする。(第5
図(b)、第6図(b)参照)。
そしてステップS13に続けてステップS14を実行し、前
回のピーク値(AMP(SIGN))と今回のピーク値
(b′)を比較する。いま、第5図(a)のように前回
の値x0が今回の値より小(x1>x0)ならば、YESとな
り、今回の時刻t′を周期の計測開始点とすべく(第5
図(c)参照)ステップS14からステップS10、S11を
実行し、SIGNレジスタを2とすると共にt′レジスタの
内容をTレジスタへ転送する。
回のピーク値(AMP(SIGN))と今回のピーク値
(b′)を比較する。いま、第5図(a)のように前回
の値x0が今回の値より小(x1>x0)ならば、YESとな
り、今回の時刻t′を周期の計測開始点とすべく(第5
図(c)参照)ステップS14からステップS10、S11を
実行し、SIGNレジスタを2とすると共にt′レジスタの
内容をTレジスタへ転送する。
逆に、前回のピーク値が今回のピーク値よりも大きけれ
ば、つまり第6図(a)のようにx1<x0ならば、ステ
ップS14でNOのジャッジをしステップS15にてREVERSE
レジスタを1とする。なお、SIGNレジスタはいま前の値
1を保つことになる。従って、この場合は前のゼロクロ
ス点(Zero1)が周期計測の開始点となっている(第6
図(c)参照)。
ば、つまり第6図(a)のようにx1<x0ならば、ステ
ップS14でNOのジャッジをしステップS15にてREVERSE
レジスタを1とする。なお、SIGNレジスタはいま前の値
1を保つことになる。従って、この場合は前のゼロクロ
ス点(Zero1)が周期計測の開始点となっている(第6
図(c)参照)。
そして、次のゼロクロス点(Zero3)の通過後、はじめ
てメインフローを実行するときは、ステップS5でYESの
ジャッジがされてステップS16へ進む。今回a′は1で
あり、第5図の場合は、SIGNが2、第6図の場合はSIGN
が1なので、第5図の場合にあっては、ステップS16で
NOのジャッジがされて、ステップS15へゆきステップS
1へもどる。つまり、周期計測を開始し始めてからひと
つ目のピーク(振幅x2)を通過したことをCPU100は認
識する。
てメインフローを実行するときは、ステップS5でYESの
ジャッジがされてステップS16へ進む。今回a′は1で
あり、第5図の場合は、SIGNが2、第6図の場合はSIGN
が1なので、第5図の場合にあっては、ステップS16で
NOのジャッジがされて、ステップS15へゆきステップS
1へもどる。つまり、周期計測を開始し始めてからひと
つ目のピーク(振幅x2)を通過したことをCPU100は認
識する。
また第6図の場合にあっては、ステップS16ではYESの
判断がされて、ステップS17へゆきREVERSEレジスタが
1か否かジッャジする。もし1でなければNOの判断をし
ステップS1へもどるが、上述したようにステップS15
の実行によってこのレジスタは1となっており、ステッ
プS17からステップS18へゆきt′レジスタにある今回
の割り込みで受け付けたカウンタ7の値からTレジスタ
にある値つまりゼロクロス点Zero1の時刻を減算し、PER
IODレジスタにストアする。
判断がされて、ステップS17へゆきREVERSEレジスタが
1か否かジッャジする。もし1でなければNOの判断をし
ステップS1へもどるが、上述したようにステップS15
の実行によってこのレジスタは1となっており、ステッ
プS17からステップS18へゆきt′レジスタにある今回
の割り込みで受け付けたカウンタ7の値からTレジスタ
にある値つまりゼロクロス点Zero1の時刻を減算し、PER
IODレジスタにストアする。
つまり第6図(c)に示す大きさが一周期の長さとな
り、続くステップS19でt′の内容をTレジスタに転送
して新たな周期計測の開始をする。
り、続くステップS19でt′の内容をTレジスタに転送
して新たな周期計測の開始をする。
そしてステップS20において、今回取り込んだピーク値
であるb′レジスタの値が、前回取り込んだピーク値で
あるcレジスタ値よりAだけ大きいか否か判断する。A
より大きくなっていなければ、ステップS21へゆきSTEP
レジスタを3とし(第6図(b)参照)、続けてステッ
プS32にて、上述のPERIODレジスタの内容をもってCPU1
00は周波数ROM8、音源回路9に発音指令を出す。従って
この時点から楽音の発生がなされる。
であるb′レジスタの値が、前回取り込んだピーク値で
あるcレジスタ値よりAだけ大きいか否か判断する。A
より大きくなっていなければ、ステップS21へゆきSTEP
レジスタを3とし(第6図(b)参照)、続けてステッ
プS32にて、上述のPERIODレジスタの内容をもってCPU1
00は周波数ROM8、音源回路9に発音指令を出す。従って
この時点から楽音の発生がなされる。
さて、上述した第5図の場合にあっては、再び次のゼロ
クロス点(Zero4)後のメインフローの処理で、ステッ
プS5からステップS16へジャンプする。いま、SIGNレ
ジスタは2なので、ステップS16ではYESの判断をし、
続けて上記同様にステップS17→S18→S19→S20→S
21→S32の発音開始処理を実行し、今回は第5図(c)
に示すゼロクロス点Zero2からZero4までを一周期として
CPU100は認識し、この長さに基づく周波数の楽音を発音
開始する(第5図(d)参照)。
クロス点(Zero4)後のメインフローの処理で、ステッ
プS5からステップS16へジャンプする。いま、SIGNレ
ジスタは2なので、ステップS16ではYESの判断をし、
続けて上記同様にステップS17→S18→S19→S20→S
21→S32の発音開始処理を実行し、今回は第5図(c)
に示すゼロクロス点Zero2からZero4までを一周期として
CPU100は認識し、この長さに基づく周波数の楽音を発音
開始する(第5図(d)参照)。
このようにして、最大もしくは最小ピーク点の次のゼロ
クロス点から周期計測の処理を開始し、そのピーク点と
同じ側のピーク点の次のゼロクロス点でその計測を終了
するようにして、ローパスフィルタ3出力の波形の一周
期を抽出している。
クロス点から周期計測の処理を開始し、そのピーク点と
同じ側のピーク点の次のゼロクロス点でその計測を終了
するようにして、ローパスフィルタ3出力の波形の一周
期を抽出している。
いまここで、第7図(a)に示すように、発音開始にあ
たって、弦に設けられたピックアップのそばで弦を弾い
たり、弦がのびるほど強く弾いたりして、入力波形信号
の第1波目に対して第2波目以降が上記A以上大きく減
衰して、点線で示す第1波目のピークホールドレベルを
第2波目のピーク部分が越えることができなくなったも
のとする。最大ピーク検出回路4内では、ピークホール
ドレベルと入力波形信号のピーク値との比較を行なって
いるが、この第7図(a)のような場合には、入力波形
信号の第2波のピーク値がピークホールドレベル以下と
なるために、最大ピーク検出回路4から検出信号が出力
されず、CPU100に割り込み指令信号INTaが供給されなく
なってしまう。従って、第7図(a)に示す第2波の直
後のゼロクロス点では、第3図の割り込み処理が行われ
ず、次の第3波目の直後のゼロクロス点で割り込み処理
が行われるため、ステップS18、S19で抽出されるピッ
チデータは、第7図(d)に示すように二周期の長さに
相当するT1となる。
たって、弦に設けられたピックアップのそばで弦を弾い
たり、弦がのびるほど強く弾いたりして、入力波形信号
の第1波目に対して第2波目以降が上記A以上大きく減
衰して、点線で示す第1波目のピークホールドレベルを
第2波目のピーク部分が越えることができなくなったも
のとする。最大ピーク検出回路4内では、ピークホール
ドレベルと入力波形信号のピーク値との比較を行なって
いるが、この第7図(a)のような場合には、入力波形
信号の第2波のピーク値がピークホールドレベル以下と
なるために、最大ピーク検出回路4から検出信号が出力
されず、CPU100に割り込み指令信号INTaが供給されなく
なってしまう。従って、第7図(a)に示す第2波の直
後のゼロクロス点では、第3図の割り込み処理が行われ
ず、次の第3波目の直後のゼロクロス点で割り込み処理
が行われるため、ステップS18、S19で抽出されるピッ
チデータは、第7図(d)に示すように二周期の長さに
相当するT1となる。
しかし、cレジスタ内の第1波目のピーク値a0に対す
るb′レジスタ内の第3波目のピーク値a1の差はA以
上となるため、CPU100はステップS20でYESの判断をし
て、ステップS8〜S11の発音開始の準備処理にはい
り、ステップS21及びS32の発音開始処理を行わなくな
る。
るb′レジスタ内の第3波目のピーク値a1の差はA以
上となるため、CPU100はステップS20でYESの判断をし
て、ステップS8〜S11の発音開始の準備処理にはい
り、ステップS21及びS32の発音開始処理を行わなくな
る。
こうして、発音開始時に過大な入力波形信号が与えられ
たとき、誤ったピッチ抽出が行われるのを防止して、正
しい音高で楽音を放音させることができる。
たとき、誤ったピッチ抽出が行われるのを防止して、正
しい音高で楽音を放音させることができる。
この後、第4波目(第7図(a)のa2)直後のゼロク
ロス点では、大きな減衰もなくなっているので、本来の
一周期に等しいピッチデータT2に基づいて、発音開始
が行われる。
ロス点では、大きな減衰もなくなっているので、本来の
一周期に等しいピッチデータT2に基づいて、発音開始
が行われる。
そして、上記発音開始処理の後、メインルーチンにおい
ては、ステップS4からステップS22へ進行し、今回取
り込んだピーク値であるb′の値が、第9図に示すよう
にOFFLEVを越えているか否かジャッジする。
ては、ステップS4からステップS22へ進行し、今回取
り込んだピーク値であるb′の値が、第9図に示すよう
にOFFLEVを越えているか否かジャッジする。
いま、このレベルを越えておればステップS23へ進み、
リラティブオン(relative on)の処理をするのか否か
ジャッジするようにする。即ち具体的には、今回のピー
ク値(b′)が前のピーク値(c)よりONLEV IIだけ大
きいか、つまり発音中に急激に抽出ピーク値が大きくな
ったか否かジャッジする。
リラティブオン(relative on)の処理をするのか否か
ジャッジするようにする。即ち具体的には、今回のピー
ク値(b′)が前のピーク値(c)よりONLEV IIだけ大
きいか、つまり発音中に急激に抽出ピーク値が大きくな
ったか否かジャッジする。
通常弦を振動すれば、自然減衰を行うので、このステッ
プS23はNOの判断となるが、もしトレモロ奏法などによ
って、前の弦振動が減衰し終わらないうちに、再び弦が
操作されて、このステップS23の判断がYESとなること
がある。
プS23はNOの判断となるが、もしトレモロ奏法などによ
って、前の弦振動が減衰し終わらないうちに、再び弦が
操作されて、このステップS23の判断がYESとなること
がある。
その場合は、ステップS23はYESのジャッジをしステッ
プS8へジャンプし、ステップS9〜ステップS11の発音
開始の準備処理を実行する。その結果、STEPレジスタは
1となり、上述した発音開始時の動作と全く同じ動作を
それ以降実行する。つまり、再びステップS16〜S21、
S32の発音開始処理をその後実行して再発音開始の処理
をすることになる。
プS8へジャンプし、ステップS9〜ステップS11の発音
開始の準備処理を実行する。その結果、STEPレジスタは
1となり、上述した発音開始時の動作と全く同じ動作を
それ以降実行する。つまり、再びステップS16〜S21、
S32の発音開始処理をその後実行して再発音開始の処理
をすることになる。
さて、通常状態では上述した如くステップS23に続けて
ステップS24を行って、a′の内容とSIGNレジスタの内
容の一致比較をし、一致しなければS15へ進み次のゼロ
クロス点の割り込み処理にそなえ、一致すれば、既に逆
の特性をもったピーク(正/負のピーク)を夫々通過し
てきたので、ステップS25へ進み、REVERSEレジスタが
1か否かジャッジし、もしNOならば何ら処理をすること
なくステップS1へもどるが、もしこのステップS25でY
ESの判断がなされたならば、ステップS25からステップ
S26へ進み新たな周期(ピッチ)を求めるべくt′レジ
スタの内容からTレジスタの内容を引いて、PERIODレジ
スタにセットする。
ステップS24を行って、a′の内容とSIGNレジスタの内
容の一致比較をし、一致しなければS15へ進み次のゼロ
クロス点の割り込み処理にそなえ、一致すれば、既に逆
の特性をもったピーク(正/負のピーク)を夫々通過し
てきたので、ステップS25へ進み、REVERSEレジスタが
1か否かジャッジし、もしNOならば何ら処理をすること
なくステップS1へもどるが、もしこのステップS25でY
ESの判断がなされたならば、ステップS25からステップ
S26へ進み新たな周期(ピッチ)を求めるべくt′レジ
スタの内容からTレジスタの内容を引いて、PERIODレジ
スタにセットする。
そして、ステップS27においてt′レジスタの内容をT
レジスタへ転送し、ステップS28にてREVERSEレジスタ
の内容を0とする。
レジスタへ転送し、ステップS28にてREVERSEレジスタ
の内容を0とする。
そして、上述のステップS20と同じく、ステップS
29で、今回取り込んだピーク値であるb′レジスタの値
が、前回取り込んだピーク値であるcレジスタの値より
Aだけ大きいか否か判断する。Aより大きくなっていな
ければ、ステップS33へゆき、PERIODレジスタの値を基
に周波数(ピッチ)制御をCPU100は周波数ROM8、音源回
路9に対して行う。
29で、今回取り込んだピーク値であるb′レジスタの値
が、前回取り込んだピーク値であるcレジスタの値より
Aだけ大きいか否か判断する。Aより大きくなっていな
ければ、ステップS33へゆき、PERIODレジスタの値を基
に周波数(ピッチ)制御をCPU100は周波数ROM8、音源回
路9に対して行う。
つまり、本実施例にあっては、弦の振動周波数の変化を
時々刻々とらえて、それに応じた周波数制御をリアルタ
イムで行うようになる。
時々刻々とらえて、それに応じた周波数制御をリアルタ
イムで行うようになる。
いまここで、第8図(a)に示すように、振動中の弦に
不用意に手等が一瞬触れてしまいan+2の波とan+3の波
で大きな減衰がおこり、手が弦より離れて、an+4の波
でピーク値が大きく増えたものとする。すると、手が弦
に触れることにより、弦の振動部分の長さが短くなっ
て、抽出ピッチデータTn+2、Tn+3が本来のものより小
さくなる。
不用意に手等が一瞬触れてしまいan+2の波とan+3の波
で大きな減衰がおこり、手が弦より離れて、an+4の波
でピーク値が大きく増えたものとする。すると、手が弦
に触れることにより、弦の振動部分の長さが短くなっ
て、抽出ピッチデータTn+2、Tn+3が本来のものより小
さくなる。
しかし、cレジスタ内の弦への接触前のan+1の波のピ
ーク値に対するb′レジスタ内の次のan+2の波のピー
ク値の差はA以上となるため、CPU100はステップS29で
YESの判断をして、ステップS1に戻り、ステップS33の
ピッチ制御処理を行わなくなる。このことは、次のa
n+3の波や、弦への接触直後のピーク値が大きくなるa
n+4の波においても同じである。
ーク値に対するb′レジスタ内の次のan+2の波のピー
ク値の差はA以上となるため、CPU100はステップS29で
YESの判断をして、ステップS1に戻り、ステップS33の
ピッチ制御処理を行わなくなる。このことは、次のa
n+3の波や、弦への接触直後のピーク値が大きくなるa
n+4の波においても同じである。
こうして、弦の振動中に手等が不用意に触れてしまった
とき、誤ったピッチ抽出が行われるのを防止して、正し
い音高で楽音を放音させることができる。
とき、誤ったピッチ抽出が行われるのを防止して、正し
い音高で楽音を放音させることができる。
この後、an+5の波の直後のゼロクロス点では、波形の
ピーク値の大きな変動もなくなっているので、本来の一
周期に等しいピッチデータTn+5に基づいて、ピッチ抽
出制御が行われる。
ピーク値の大きな変動もなくなっているので、本来の一
周期に等しいピッチデータTn+5に基づいて、ピッチ抽
出制御が行われる。
そして、上述したように、弦振動が減衰してきて、ピー
ク値がOFFLEVを下まわるようになると、ステップS22か
らステップS30へゆきSTEPレジスタを0とし、続くステ
ップS31にてノートオフ処理(消音処理)を行い、これ
まで発音していた楽音を消音すべくCPU100は音源回路9
へ指示するようになる。
ク値がOFFLEVを下まわるようになると、ステップS22か
らステップS30へゆきSTEPレジスタを0とし、続くステ
ップS31にてノートオフ処理(消音処理)を行い、これ
まで発音していた楽音を消音すべくCPU100は音源回路9
へ指示するようになる。
尚、上記実施例にあっては、各ピーク点直後のゼロクロ
ス点でCPU100が割り込み処理をして、発音開始、周期計
算、リラティブオン、消音開始等の処理を行うようにし
たが、各ピーク点検出時に直接これらの処理を行っても
よい。その場合も全く同じ結果を得ることができる。そ
の他、例えばピーク点の直前のゼロクロス点の検出によ
って、上記同様の処理を行ってもよい。その他、基準と
なる点のとり方は種々変更できる。
ス点でCPU100が割り込み処理をして、発音開始、周期計
算、リラティブオン、消音開始等の処理を行うようにし
たが、各ピーク点検出時に直接これらの処理を行っても
よい。その場合も全く同じ結果を得ることができる。そ
の他、例えばピーク点の直前のゼロクロス点の検出によ
って、上記同様の処理を行ってもよい。その他、基準と
なる点のとり方は種々変更できる。
また、上記実施例では、メインフローのなかで各処理を
実行するようにしたが、割り込み処理のなかで同様の処
理を実行するようになしてもよい。
実行するようにしたが、割り込み処理のなかで同様の処
理を実行するようになしてもよい。
更に、上記実施例においては、本考案を電子ギターに適
用したものであったが、必ずしもそれに限られるもので
なく、マイクロフォン等から入力される音声信号あるい
は電気的振動信号からピッチ抽出を行って、原音声信号
とは別の音響信号を、対応するピッチもしくは音階周波
数にて発生するシステムであれば、どのような形態のも
のであってもよい。具体的には、鍵盤を有するもの例え
ば電子ピアノ、管楽器を電子化したもの、弦楽器、例え
ばバイオリンや琴などを電子化したものにも同様に適用
できる。
用したものであったが、必ずしもそれに限られるもので
なく、マイクロフォン等から入力される音声信号あるい
は電気的振動信号からピッチ抽出を行って、原音声信号
とは別の音響信号を、対応するピッチもしくは音階周波
数にて発生するシステムであれば、どのような形態のも
のであってもよい。具体的には、鍵盤を有するもの例え
ば電子ピアノ、管楽器を電子化したもの、弦楽器、例え
ばバイオリンや琴などを電子化したものにも同様に適用
できる。
[考案の効果] この考案は、以上詳述したように、発音開始時に過大な
入力波形信号が与えられたときや、振動中の弦に不用意
に手等が触れてしまった場合等においてピッチ抽出を誤
って行わないようにするものであって、かかる場合に
は、波形の波高値に大きな変動があることに着目し、検
出される波形の波高値に大きな変動があったときには、
抽出したピッチに応じた楽音の発生をしないようにした
から、発音開始時に過大な入力波形信号が与えられたと
きや、振動中の弦に不用意に手等が触れてしまった場合
等に、誤ったピッチ抽出が行われるのを防止して、正し
い音高で楽音を放音させることができる等の効果を奏す
る。
入力波形信号が与えられたときや、振動中の弦に不用意
に手等が触れてしまった場合等においてピッチ抽出を誤
って行わないようにするものであって、かかる場合に
は、波形の波高値に大きな変動があることに着目し、検
出される波形の波高値に大きな変動があったときには、
抽出したピッチに応じた楽音の発生をしないようにした
から、発音開始時に過大な入力波形信号が与えられたと
きや、振動中の弦に不用意に手等が触れてしまった場合
等に、誤ったピッチ抽出が行われるのを防止して、正し
い音高で楽音を放音させることができる等の効果を奏す
る。
第1図は、本考案を適応した一実施例である電子楽器の
入力制御装置の全体回路構成を示す図、第2図は、第1
図中の各部に表われる波形等を示すタイムチャート図、
第3図はCPUの割り込みルーチンのフローチャートを示
す図、第4図はCPUのメインルーチンのフローチャート
を示す図、第5図及び第6図は発音開始時の各部の動作
を示すタイムチャート図、第7図及び第8図は強いピッ
キングのとき及び振動中の弦に手等が一瞬触れたときの
例を示すタイムチャート図、第9図は消音時の動作を示
すタイムチャート図である。 1……入力端子、4……最大ピーク検出回路、5……最
小ピーク検出回路、6……ゼロクロス点検出回路、7…
…カウンタ、9……音源回路、12……ラッチ、14、15…
…フリップフロップ、100……CPU、101……ワークメモ
リ、P1〜P6……ピッチ抽出回路。
入力制御装置の全体回路構成を示す図、第2図は、第1
図中の各部に表われる波形等を示すタイムチャート図、
第3図はCPUの割り込みルーチンのフローチャートを示
す図、第4図はCPUのメインルーチンのフローチャート
を示す図、第5図及び第6図は発音開始時の各部の動作
を示すタイムチャート図、第7図及び第8図は強いピッ
キングのとき及び振動中の弦に手等が一瞬触れたときの
例を示すタイムチャート図、第9図は消音時の動作を示
すタイムチャート図である。 1……入力端子、4……最大ピーク検出回路、5……最
小ピーク検出回路、6……ゼロクロス点検出回路、7…
…カウンタ、9……音源回路、12……ラッチ、14、15…
…フリップフロップ、100……CPU、101……ワークメモ
リ、P1〜P6……ピッチ抽出回路。
Claims (1)
- 【請求項1】入力波形信号の最大ピーク点を検出する最
大ピーク点検出手段と、 上記入力波形信号の最大ピーク点の波高値を検出する検
出手段と、 上記最大ピーク点検出手段で検出された最大ピーク点に
関連する点を開始点に設定する開始点設定手段と、 この設定された開始点の関連元である最大ピーク点の波
高値と今回検出された最大ピーク点の波高値とを比較
し、両波高値の差が所定値以上であった際には今回検出
された最大ピーク点に関連する点を開始点として前記開
始点設定手段に再設定させると共に、両波高値の差が所
定値以下であった際には今回検出された最大ピーク点に
関連する点を終了点として設定する終了点設定手段と、 前記終了点設定手段で両波高値の差が所定値以下と判定
され今回検出された最大ピーク点に関連する点を終了点
として設定された際に、前記開始点設定手段で設定され
た開始点と、前記終了点設定手段で設定されたれ終了点
の間の時間を計測し発生すべき楽音信号の周波数を決定
する周波数決定手段と を具備したことを特徴とする電子楽器の入力制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1987062700U JPH0727512Y2 (ja) | 1987-04-27 | 1987-04-27 | 電子楽器の入力制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1987062700U JPH0727512Y2 (ja) | 1987-04-27 | 1987-04-27 | 電子楽器の入力制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63170896U JPS63170896U (ja) | 1988-11-07 |
JPH0727512Y2 true JPH0727512Y2 (ja) | 1995-06-21 |
Family
ID=30897220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1987062700U Expired - Lifetime JPH0727512Y2 (ja) | 1987-04-27 | 1987-04-27 | 電子楽器の入力制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0727512Y2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59218498A (ja) * | 1983-05-26 | 1984-12-08 | セイコーインスツルメンツ株式会社 | 音声周波数検出回路 |
JPS6126091A (ja) * | 1984-07-16 | 1986-02-05 | セイコーインスツルメンツ株式会社 | 音程検出装置 |
-
1987
- 1987-04-27 JP JP1987062700U patent/JPH0727512Y2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS63170896U (ja) | 1988-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2734521B2 (ja) | 楽音制御装置 | |
EP0722160B1 (en) | Method for recognition of the start and end of a note in the case of percussion or plucked musical instrument | |
JP3653854B2 (ja) | 弦楽器型電子楽器 | |
JPH0727512Y2 (ja) | 電子楽器の入力制御装置 | |
JP2532424B2 (ja) | 波形信号入力制御装置 | |
JP2508044B2 (ja) | 電子楽器の入力制御装置 | |
JP2508692B2 (ja) | 入力波形信号制御装置 | |
JPH0648556Y2 (ja) | 電子楽器の入力制御装置 | |
JP2555553B2 (ja) | 入力波形信号制御装置 | |
JP2581068B2 (ja) | 波形信号制御装置 | |
JP2605667B2 (ja) | 電子楽器の入力制御装置 | |
JP2792022B2 (ja) | 電子楽器の入力制御装置 | |
JP2605668B2 (ja) | 電子弦楽器 | |
EP0264955B1 (en) | Apparatus for determining the pitch of a substantially periodic input signal | |
JPH0782320B2 (ja) | 楽音制御装置 | |
JP2765578B2 (ja) | 波形信号制御装置 | |
JPH07104666B2 (ja) | ピッチ抽出装置 | |
JPH0431599B2 (ja) | ||
JPH0431598B2 (ja) | ||
JPH041358B2 (ja) | ||
JP2555551B2 (ja) | 入力波形信号制御装置 | |
JPH083711B2 (ja) | 入力波形信号制御装置 | |
JP2679042B2 (ja) | 入力波形信号制御装置 | |
JPS63298397A (ja) | 電子弦楽器の入力制御装置 | |
JPS63141099A (ja) | 電子楽器の入力制御装置 |