JP2555553B2 - 入力波形信号制御装置 - Google Patents

入力波形信号制御装置

Info

Publication number
JP2555553B2
JP2555553B2 JP62081265A JP8126587A JP2555553B2 JP 2555553 B2 JP2555553 B2 JP 2555553B2 JP 62081265 A JP62081265 A JP 62081265A JP 8126587 A JP8126587 A JP 8126587A JP 2555553 B2 JP2555553 B2 JP 2555553B2
Authority
JP
Japan
Prior art keywords
peak
register
point
waveform
level
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 - Fee Related
Application number
JP62081265A
Other languages
English (en)
Other versions
JPS63247796A (ja
Inventor
繁 内山
克彦 小畑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP62081265A priority Critical patent/JP2555553B2/ja
Publication of JPS63247796A publication Critical patent/JPS63247796A/ja
Application granted granted Critical
Publication of JP2555553B2 publication Critical patent/JP2555553B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 [発明の技術分野] この発明は例えば電子ギター等において利用される入
力波形信号制御装置に関し、特に所定時間ピーク点を検
出できないときにピークレベルを減衰させながら保持
(ホールド)する減衰率を大きくすることにより、入力
波形のレベルが急に落ちこんでも、波形のピーク点を確
実につかまえて、入力波形の基本周波数(ピッチ)抽出
を良好に行うことのできるものに関する。
[従来技術] 従来より、自然楽器の演奏操作によって発生する波形
信号からピッチ(基本周波数)を抽出し、電子回路で構
成された音源装置を制御して、人工的に楽音等の音響を
得るようにしたものが種々開発されている。
この種の電子楽器では、入力波形信号のピッチを抽出
するにあたって、入力波形の最大ピーク点間若しくは最
小ピーク点間又はこれらピーク点のすぐ後のゼロクロス
点間若しくはピーク点の直前のゼロクロス点間といった
ピーク点に関連する点間の時間間隔を計測すること等が
考えられている。このうち、ピーク点間を計測するもの
としては、特公昭57−58672号、特開昭55−55398号があ
る。
第15図及び第16図は、上記最大ピーク点及び最小ピー
ク点を検出するための最大ピーク検出回路4及び最小ピ
ーク検出回路5の一例を示すものである。入力波形信号
はオペアンプ4−1の+端子に入力され、オペアンプ4
−1の出力端子は、ダイオードD1のアノード側に接続さ
れ、ダイオードD1のカソード側は並列に接続されたコン
デンサC及び抵抗R1を介して接地されるとともに、オペ
アンプ4−1の−端子に接続され、オペアンプ4−1の
出力は抵抗R2を介し、インバータ4−2を介して最大ピ
ーク検出信号として出力される。
オペアンプ4−1の+端子に、第17図のような波形
が与えられたとすると、コンデンサCは波形レベルが上
昇する時に充電され、波形レベルが下降する時には時定
数CR1に応じた速さで放電され、第17図のような波形
がオペアンプ4−1の−端子に入力され、波形レベルの
上昇時のみ+端子と−端子の差分値が出力され、これが
第17図に示す信号として出力される。このに示すパ
ルス状信号はインバータ4−2で反転されてに示す信
号のかたちで出力される。
また、最小ピーク検出回路5は、上記最大ピーク検出
回路4とほぼ同じであるが、ダイオードD2の向きが逆と
なっており、インバータ4−2のかわりにバッファ4−
4が設けられており、コンデンサCは、第17図に示す
ような逆向の充放電を繰り返し、第17図に示すような
最小ピーク検出信号が出力される。
このようなピーク検出回路4、5のコンデンサCと抵
抗R1との時定数は非常に大きなものとしてあり、信号
の減衰率をゆるやかなものとしている。これは、倍音
を多く含み一周期内にピーク点がいくつもある場合に、
最大又は最小のピーク点のみを検出するためである。
[従来技術の問題点] しかしながら、このような最大ピーク検出回路4や最
小ピーク検出回路5に対し、第18図に示すように、入力
波形の第一波目だけのレベルが大きい場合には、第2波
目から数波分、最大ピーク点をつかまえることができ
ず、ピッチをなかなか抽出できなくなって、入力波形の
周波数に応じた楽音の放音を良好に行うことができない
という問題点があった。
また、第19図に示すように、トレモロ奏法等により、
前の音が鳴っているうちに次の音を連続して鳴らす場合
に、次の音を鳴らすために弦にピックが接触する瞬間
は、弦の振動が押さえられて、前の音の波形レベルが急
激に小さくなるので、やはり、ピーク点をつかまえるこ
とができず、ピッチをなかなか抽出できなくなって、入
力波形の周波数に応じた楽音の放音を良好に行うことが
できないとともに、次の音の波形レベルはピックの当た
る前の波形レベルとあまり差がないので、誤って連続し
た1つの音と判別されてしまい、再発音処理(リラティ
ブオン)がなされなくなってしまうという問題点もあっ
た。
[発明の目的] この発明は上記事情に鑑みてなされたもので、入力波
形のレベルが急に落ちこんでも、波形のピーク点に確実
につかまえて、入力波形の基本周波数(ピッチ)抽出を
良好に行うことのできるようにした入力波形信号制御装
置を提供することを目的とする。
[発明の要点] この発明は上述した目的を達成するために、第12図及
び第13図に示すように、所定時間ピーク点を検出できな
いときにピークレベルを保持(ホールド)する減衰率を
大きくするようにしたことを要点とするものである。
上記所定時間としては、所定の音高、例えば応答性を
よくするのであれば最高音の一周期、ピッチ抽出の精度
の向上を考えるならば、最低音である開放弦における一
周期(ピッチ)の時間を発音開始前はとり、それ以後は
直前に測定した一周期(ピッチ)の時間が割り当てられ
る。勿論それ以外の適当な時間をとることもさしつかえ
ない。
[実施例] 以下、本発明を電子ギターに適応した一実施例につい
て図面を参照して詳述する。
下記の実施例では、以下に説明するとおり、抵抗R、
コンデンサCが保持手段に、オペアンプ4−1、ダイオ
ードD1、D2が検出手段に、ピッチ抽出回路P1〜P6及びス
テップS19、S26を実行するCPU100が測定手段に、ステッ
プS21、S28を実行するCPU100が測定手段に、ステップS
34、S35、U1、U3を実行するCPU100が判別手段に、ステ
ップU2、U4を実行するCPU100、フリップフロップFF、ト
ランジスタTr、抵抗R/10が減衰率制御手段に夫々対応す
る。
全体回路構成 第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に与えられる。
即ち、最大ピーク点が検出されてフリップフロップ14
がHighレベルになっているときに、波形が正から負へ横
切ったとき割り込み指令信号INTa1〜INTa6がCPU100に与
えられ、逆に最小ピーク点が検出されてフリップフロッ
プ15がHighレベルになっているときに、波形が負から正
に変化したとき割り込み指令信号INTb1〜INTb6がCPU100
に入力する。
そして、CPU100は、これらの割り込み指令信号を受付
けた直後に、対応するフリップフロップ14……、15……
に対しクリア信号CLa1〜CLa6、CLb1〜CLb6を発生してリ
セットする。従って、次に最大ピーク点あるいは最小ピ
ーク点を検出するまで何度ゼロクロス点を通過しても対
応するフリップフロップ14……、15……はリセット状態
であるので、CPU100には割り込みがかからないことにな
る。
そして、CPU100では、当該弦の振動出力により割り込
み指令信号INTa1〜INTa6もしくはINTb1〜INTb6が与えら
れて、夫々の時間間隔の少なくとも一方の時間間隔に従
った音階音を発生する。尚、発音開始時においては開放
弦の音階音を発生開始してピッチ抽出の後で正しい周波
数に修正してもよい。この発音開始時の動作については
後述する。
そして、上記時間間隔は、後述するようにカウンタ7
と、ワークメモリ101とを用いて求める。即ち、このワ
ークメモリ101には、最大ピーク点あるいは最小ピーク
点直後のゼロクロス点時のカウンタ7のカウント値など
各種データが記憶される。
そして、発音開始御は、順次求まる時間間隔データに
従って、発生中の楽音の周波数を可変制御してゆく。即
ちCPU100より音階を指定するデータを周波数ROM8へ送出
し、その結果対応する周波数を示す周波数データが読み
出され、音源回路9に送られて楽音信号が生成され、サ
ウンドシステム10より放音出力される。
もし、発音開始時に開放弦の音の波形の一周期分の時
間たっても、入力波形の最大ピーク点又は最小ピーク点
の検出信号が与えられないとき、また発音中に直前に測
定抽出した入力波形の一周期分の時間たっても、入力波
形の最大ピーク点又は最小ピーク点の検出信号が与えら
れないときは、上記最大ピーク検出回路4、最小ピーク
検出回路5に対してピークレベルを保持(ホールド)す
る減衰率を大きくするためのセット信号SETA1〜SETA6、
SETB1〜SETB6が出力される。
また、上記ローパスフィルタ3……からの楽音信号
は、A/Dコンバータ11……に与えられ、その波形レベル
に応じたデジタルデータに変換される。
そして、このA/Dコンバータ11……の出力はラッチ12
……にラッチされる。このラッチ12……に対するラッチ
信号は、上記フリップフロップ14……、15……の出力が
オアゲート13……を介することで生成され、最大ピーク
点もしくは最小ピーク点を通過する都度ラッチ12……に
はそのときの波形のレベルを示す信号が記憶される。ま
た、このオアゲート13……からのラッチ信号L1〜L6はCP
U100にも与えられる。そして、ラッチ12……出力はCPU1
00へ与えられ、発音開始、停止、更には出力音の放音レ
ベル(音量)等の制御がこのデータに従ってなされる。
なお、このラッチ12……に記憶されるピーク値である波
高値は、ワークメモリ101に順次書込まれる。
即ち、CPU100では、A/Dコンバータ11……より与えら
れる波形レベルを示すデータの絶対値が、予め決められ
た一定値以上になった時には、楽音の発音を開始させる
とともにピッチ(基本周波数)抽出も開始させ、このデ
ータが一定値OFFLEV以下になった時には、消音指示をし
て放音を終了させる。その動作の詳細は後述するとおり
である。
なお、第1図には、A/Dコンバータ11が、ピッチ抽出
回路P1〜P6に夫々独立に設けてあるが、一個のA/Dコン
バータを時分割的に使用することも勿論可能である。
そして、音源回路9は時分割処理により少なくとも6
チャンネルの楽音生成系が形成されている。
最大ピーク検出回路4、最小ピーク検出回路5、ゼロク
ロス点検出回路6の構成 第2図は、最大ピーク検出回路4の具体的構成を示す
もので、ローパスフィルタ3からの楽音信号はオペアン
プ4−1の+端子に入力され、オペアンプ4−1の出力
端子は、ダイオードD1のアノード側に接続され、ダイオ
ードD1のカソード側は並列に接続されたコンデンサC及
び抵抗Rを介して接地されるとともに、オペアンプ4−
1の−端子に接続され、オペアンプ4−1の出力は抵抗
R2を介し、インバータ4−2を介して、上記フリップフ
ロップ14へのクロック信号として出力される。
オペアンプ4−1の+端子に、第17図のようなロー
パスフィルタ3からの波形が与えられたとすると、コン
デンサCは波形レベルが上昇する時に充電され、波形レ
ベルが下降する時には時定数CRに応じた速さで放電さ
れ、第17図のような波形がオペアンプ4−1の−端子
に入力され、波形レベルの上昇時のみ、+端子と−端子
の差分値が出力され、これが第17図に示す信号として
出力される。このに示すパルス状信号はインバータ4
−2で反転されての如き出力となりその立上り時に後
段のフリップフロップ14がセットされ、また上記ラッチ
12へラッチ信号が与えられる。
上記ダイオードD1のカソード側には、抵抗R/10の一端
が接続され、抵抗R/10の他端がNPN型のトランジスタTr
のコレクタに接続され、このトランジスタTrのエミッタ
は接地されている。トランジスタTrのベースは抵抗R1を
介してDT型のフリップフロップFFのQ出力端子に接続さ
れている。
このフリップフロップFFのD入力端子にはVDD端子よ
り常時Highレベル信号が与えられ、CK(T)入力端子に
は、上述のピークレベルを保持(ホールド)する減衰率
を大きくするためのセット信号SETAが与えられいる。こ
のため、セット信号SETA印加により、上記Q出力がHigh
レベルになると、トランジスタTrが導通して、抵抗R/10
にも電流が流れるようになり、合成抵抗が小さくなっ
て、時定数も小さくなり、ピークレベルを減衰しながら
保持(ホールド)する場合の減衰率が大きくなる。
そして、この減衰率が大きくなることによって、ピー
ク点が再び検出されて、第17図に示す最大ピーク検出
信号が出力されると、この信号は上記フリップフロップ
FFのクリア端子▲▼に入力されて、Q出力がlowレ
ベルとされ、トランジスタTrが非導通状態とされる。
また、最大ピーク検出回路4としては、第4図のよう
にすることもできる。なお、第2図のそれと同一箇所に
は同一符号を付す。即ち、第2図のダイオードD1とは逆
の向きに接続されたダイオードD2があり、また、オペア
ンプ4−1の+端子には、オペアンプ4−3が接続さ
れ、入力信号inはオペアンプ4−3の−端子に抵抗R4を
介して与えられ、また、この−端子には、その出力が抵
抗R3を介して帰還している。また、上記インバータ4−
2のかわりにバッファ4−4が設けられている。この第
4図の最大ピーク検出回路4′の動作は、次に述べる最
小ピーク検出回路5の動作とほぼ同じで入力側に信号反
転のためのオペアンプ4−3が接続されているだけであ
るので省略する。
第3図は、最小ピーク検出回路5の具体的構成を示
し、この最小ピーク検出回路5は最大ピーク検出回路4
とほぼ同じであるが、ダイオードD2の向きが逆となって
おり、インバータ4−2のかわりにバッファ4−4が設
けられておりコンデンサCは、第17図に示すような逆
向の充放電を繰り返し、第17図に示すような信号の立
上り時に後段のフリップフロップ15がセットされ、また
ラッチ12へラッチ信号が与えられることになる。そし
て、セット信号SETBの印加により、トランジスタTrが導
通し、時定数が小さくなって、ピークレベルを保持(ホ
ールド)する減衰率が大きくなることは、上記最大ピー
ク検出回路4の場合と同じである。
また第5図は、ゼロクロス点検出回路6の具体的構成
を示し、オペアンプ6−1の、+端子にはローパスフィ
ルタ3からの波形信号が与えられ、−端子にはグランド
レベルが接続され、このオペアンプ6−1の出力は抵抗
R5、アンプ6−2を介して出力する。従って、正レベル
の入力信号があるときは、アンプ6−2でHigh出力とな
り、負レベルの入力信号があるときは、アンプ6−2で
Low出力となる。つまりゼロクロス点を通過する都度そ
の出力レベルが反転する。
動 作 次に本実施例の動作について説明する。第6図はCPU1
00の割り込みルーチンのフローであり、第7図はメイン
フローであり、第8図及び第9図はサブルーチンフロー
である。なお、この第6図〜第9図はひとつの弦につい
ての処理しか示してないが、全ての弦の処理は全く同じ
なので、CPU100が夫々の弦についての処理を時分割的に
実行すると考えれば良い。
ワークメモリ101内のレジスタ さて、CPU100の具体的な動作の説明の前に、ワークメ
モリ101の中の主なレジスタについて説明する。
STEPレジスタは、0、1、2、3の4段階をとり、弦
振動がなされる(第10図(a)もしくは第11図(a)参
照)につれて、第10図(b)あるいは第11図(b)に示
すようにその内容は変化する。このSTEPレジスタが0の
ときは、ノートオフ(消音)状態を表わしている。
SIGNレジスタは、周期計測のためのゼロクロス点が最
大ピーク(MAX)点の次のゼロクロス点なのか、最小ピ
ーク(MIN)点の次のゼロクロス点なのかを示すもの
で、1のとき前者、2のとき後者である。
REVERSEレジスタは、上記SIGNレジスタで表わされた
ゼロクロス点と反対側のピーク点経過後のゼロクロス点
の到来による割り込み処理がなされたか否かをチェック
するデータを記憶するレジスタであり、一周期ごとのピ
ッチ(基本周波数)抽出制御のチェックに用いられる。
Tレジスタは、入力波形の周期を計測するための特定
点のカウンタ7の値を記憶する。なお、カウンタ7は所
定のクロックでカウントするフリーランニング動作をし
ている。
AMP(i)レジスタは、A/Dコンバータ11からラッチ12
にラッチされた最大もしくは最小ピーク値(実際には絶
対値)を記憶するレジスタで、AMP(1)が最大ピーク
用、AMP(2)が最小ピーク用のレジスタである。
PERIODレジスタは、計測した周期をあらわすデータが
入力され、このレジスタの内容を基に、CPU100は、周波
数ROM8、音源回路9に対し周波数制御を行うものであ
る。
CH(i)レジスタは、直前に測定抽出された周期のピ
ッチデータがセットされるレジスタで、CH(1)には最
大ピーク点の次のゼロクロス点で計測したものがセット
され、CH(2)には最小ピーク点の次のゼロクロス点で
計測したものがセットされる。なお、発音開始時で上記
STEPレジスタが1又は2のときは、所定音高の周期、例
えば最低音である開放弦の音の波形の周期に応じたピッ
チデータT0がセットされる。
t(i)レジスタは、上記割り込み指令信号INTa1〜I
NTa6又はINTb1〜INTb6が与えられたときのカウンタ7の
値を記憶し、t(1)には最大ピーク点の後の割り込み
指令信号INTa1〜INTa6が与えられたときの値がセットさ
れ、t(2)には最小ピーク点の後の割り込み指令信号
INTb1〜INTb6が与えられたときの値がセットされる。
更に、後述するように本実施例は各種判断のために、
3つの定数(スレッシュホールドレベル)がCPU100内に
設定されている。
先ず最初のものはONLEV Iであり、第10図(a)、第1
1図(a)に示すように、いまノートオフの状態であ
り、このONLEV Iの値よりも大きなピーク値が検出され
たとき、弦がピッキング等されたとして、周期測定のた
めの動作をCPU100は実行開始する。
ONLEV IIは、ノートオン(発音中)状態であって、前
回の検出レベルと今回の検出レベルとの差がこの値以上
であれば、トレモロ奏法等による操作があったとして、
再度発音開始(リラティブオン、relative on)処理を
行うためのものである。
OFFLEVは、第14図(a)に示してあるように、ノート
オン(発音中)状態であって、この値以下のピーク値が
検知されると、ノートオフ(消音)処理をする。
以上の説明から、以下に述べる割り込みルーチン、メ
インルーチンの動作の理解は容易となろう。
ゼロクロス点での割り込み処理 さて、アンドゲート24もしくはアンドゲート25の出力
である割り込み指令信号INTa、INTbのCPU100への到来に
よって、第6図の割り込み処理を行う。
即ち、割り込み指令信号INTaの入力時には、先ずステ
ップP1の処理をし、CPU100内のaレジスタを1にし、割
り込み指令信号INTbの入力時には、先ずステップP2の処
理によって上記aレジスタに2をセットする。
そして次にステップP3において、CPU100内のtレジス
タに、カウンタ7の値をプリセットする。続いて実行す
るステップP4ではA/Dコンバータ11のピークレベルデー
タをラッチ12から読込みCPU100内のbレジスタに設定す
る。
そして、ステップP5において、フリップフロップ14も
しくはフリップフロップ15をクリアする。
続くステップP6にて、上記a、b、tレジスタの内容
をワークメモリ101に転送記憶し割り込み処理を終了す
る。
このようにして、ゼロクロス点通過のたびに、このゼ
ロクロス点が最大ピーク点経過後のものか、最小ピーク
点経過後のものかを示すデータ(aレジスタ)、この最
大ピーク点又は最小ピーク点のピークレベルデータ(b
レジスタ)、入力波形の周期(ピッチ)計測のためのこ
のゼロクロス点におけるカウンタ7のカウントデータ
(tレジスタ)のセットが行われていく。
メイン処理 メインルーチン(第7図)では、ステップS1にて、上
述したような割り込み処理によってワークメモリ101に
a′、b′、t′の内容(上記a、b、tと同じで前回
記録されたということでa′、b′、t′と示す。)が
書込まれているか否かジャッジし、何ら割り込み処理は
なされていないときはNOの判断をして、後述するステッ
プS34、S35の処理を行なった後このステップS1を実行す
る動作を繰返す。
そして、上記ステップS1でYESの判断をすれば、次の
ステップS2に進んでその内容a′、b′、t′を読出
す。次にステップS3において、上記AMP(a′)レジス
タに記憶してある同じ種類(つまり最大か最小)のピー
ク点のピーク値をCPU100内のcレジスタに読出し、今回
抽出したピーク値b′を上記AMP(a′)レジスタに設
定し、t′レジスタに記憶してあるゼロクロス点におけ
るカウント値を同じ種類(最大か最小)のピーク点に関
する方のt(a′)レジスタにセットする。
さて、次にステップS4〜S6において、STEPレジスタの
内容が夫々3、2、1であるか否かジャッジする。い
ま、最初の状態であるとしたら、STEPレジスタは0なの
で、ステップS4、S5、S6ともNOの判断がされる。そし
て、次にステップS7で、今回検知したピーク値b′がON
LEV Iより大か否かジャッジする。
もし、上記ピーク値b′がONLEV Iより小であれば、
まだ発音開始の処理をしないのでステップS1へもどる。
仮に、第10図(a)、第11図(a)のようにONLEV Iよ
り大きな入力が得られたとすると、ステップS7の判断は
YESとなり、ステップS8へ進む。
そしてステップS8でSTEPレジスタに1をセットし、次
にステップS9でREVERSEレジスタに0をセットし、続け
てステップS10で、a′(つまり最大ピーク点直後のゼ
ロクロス点のとき1、最小ピーク点直後のゼロクロス点
のとき2)の値をSIGNレジスタに入力する。
そして、ステップS11にて、t′の値をTレジスタに
セットし、ステップS32で開放弦の音の波形の周期のピ
ッチデータT0をCH(a′)レジスタにセットする。その
結果、a′の内容はSIGNレジスタに(第10図(a)、第
11図(a)の場合にはSIGNは1となる)、b′の内容は
AMPレジスタに、t′の内容はTレジスタにセットされ
たことになる。そして再びステップS1にもどる。
さて、以上の説明で第10図(a)、第11図(a)のゼ
ロクロス点Zero1の直後のメインルーチンの処理を完了
することになる。
さて、次に、ゼロクロス点Zero2の直後のメインルー
チンでの処理を説明する。そのときは上記ステップS1
S2→S3→S4→S5→S6のデータセット処理と発音段階判別
処理とを実行し、このステップS6にてYESの判断がさ
れ、次にステップS12にゆく。
いま、第10図(a)、第11図(a)のように波形が入
力時に正方向に変化したときは、SIGNレジスタは1であ
り、今回負方向のピークを経過してきているからa′レ
ジスタは2なので、NOの判断をする。尚、もし同じ極性
のピーク値直後のゼロクロス点到来時には、このステッ
プS12でYESの判断をして何ら続けて動作せずにステップ
S1へもどる。
さて、いまこのステップS12ではNOのジャッジがされ
てステップS13へゆき、STEPレジスタを2とする。(第1
0図(b)、第11図(b)参照)。
そしてステップS13に続けてステップS14を実行し、前
回のピーク値(AMP(SIGN))と今回のピーク値
(b′)を比較する。いま、第10図(a)のように前回
の値x0が今回の値より小(x1>x0)ならば、YESとな
り、今回の時刻t′を周期の計測開始点とすべく(第10
図(c)参照)ステップS14、S10、S11、S32を実行し、
SIGNレジスタを2とすると共にt′レジスタの内容をT
レジスタへ転送し、上記開放弦周期のピッチデータT0
CH(a′)レジスタにセットする。
逆に、前回のピーク値が今回のピーク値よりも大きけ
れば、つまり第11図(a)のようにx1<x0ならば、ステ
ップS14でNOのジャッジをしステップS15にてREVERSEレ
ジスタを1とし、ステップS32で開放弦の音の波形の周
期のピッチデータT0をCH(a′)レジスタにセットす
る。なお、SIGNレジスタはいま前の値1を保つことにな
る。従って、この場合は前のゼロクロス点(Zero1)が
周期計測の開始点となっている(第11図(c)参照)。
いま、ゼロクロス点Zero2通過後、第12図に示すよう
に、最大ピークレベルが前回の最大ピークレベルより急
激に落ち込むと、最大ピーク検出回路4のコンデンサC
と抵抗Rの時定数CRに応じた減衰率が小さいため、最大
ピーク検出信号が出力されず、この結果フリップフロッ
プ14がセットされなくなって、割り込み指令信号INTa1
が与えられなくなる。そして、前回のゼロクロス点Zero
1から開放弦周期T0分の時間が経過すると、CPU100はス
テップS1の後、a′、b′、t′に新たなデータがない
ときに行うステップS34、S35でCHG1、CHG2のサブルーチ
ンを実行する。
CHG1のサブルーチンは、ステップU1で現在のカウンタ
7のカウント値から上記レジスタt(1)のゼロクロス
点Zero1におけるカウント値を引いた、ゼロクロス点Zer
o1から現在までの時間がCH(1)レジスタ内の開放弦周
期T0より長くなっているか否か判別する。いまの場合、
すでに、T0分の時間が経過しているので、CPU100はステ
ップU2で最大ピーク検出回路4のフリップフロップFFに
対するセット信号SETAを0から1にして、ワンパルスを
与えてリターンする。
これにより、最大ピーク検出回路4のフリップフロッ
プFFがセットされて、トランジスタTr導通し、最大ピー
ク検出回路4の時定数がCRから(1/11)CRに小さくな
り、ピークレベル保持の減衰率が大きくなって、第12図
上段の点線で示すように、再び最大ピークレベルをとら
えることができるようになる。
続けて、ステップS35の処理つまりサブルーチンCHG2
を行うが、ステップU3ではNOの判断がなされて、何も処
理することなく再びステップS1へもどり、以下ステップ
S1、S34、S35をくり返し次の割り込みを待つ。
こうして、次のゼロクロス点では、再び割り込み指令
信号INTaが出力され、入力波形のレベルが急に落ちこん
でも、波形のピーク点を確実につかまえて、入力波形の
基本周波数(ピッチ)抽出を良好に行うことができる。
また、CHG2のサブルーチンでも、同様にして、ステッ
プU3で現在のカウンタ7のカウント値から上記t(2)
レジスタのゼロクロス点Zero2におけるカウント値を引
いた、ゼロクロス点Zero2から現在までの時間がCH
(2)レジスタ内の開放弦周期T0より長くなっているか
否かが判別され、仮に長くなっていれば、ステップU4
最小ピーク検出回路5のフリップフロップFFに対するセ
ット信号SETBが0から1にされ、ワンパルスが与えられ
る。なお、第12図の例では、ステップU3でNOの判断を
し、ステップS1へもどる。
これにより、同様にして最小ピーク検出回路5のフリ
ップフロップFFがセットされて、トランジスタT1が導通
し、最小ピーク検出回路5の時定数がCRから(1/11)CR
に小さくなり、ピークレベル保持の減衰率が大きくなっ
て、再び最小ピークレベルをとらえることができるよう
になる。
こうして、次のゼロクロス点では、再び割り込み指令
信号INTbが出力され、最小ピーク点側においても入力波
形のレベルが急に落ちこんでも、波形のピーク点を確実
につかまえて、入力波形の基本周波数(ピッチ)抽出を
良好に行うことができる。
そして、再び最大ピーク検出信号又は最小ピーク検出
信号が出力されると、最大ピーク検出回路4又は最小ピ
ーク検出回路5のフリップフロップFFは第2図乃至第4
図に示すとおりクリア端子に信号が与えられクリアされ
るので、時定数が元のCRに戻り、再び減衰率はゆるやか
なものに戻ることになる。
こうして、急激な減衰のあった波形部分だけについ
て、減衰率を変えていくことができる。
また、上述のステップU1、U3で、前回のゼロクロス点
より開放弦周期T0分の時間が経過していなければ、その
ままリターンすることになる。
さて、次のゼロクロス点(Zero3)の通過後、はじめ
てメインフローを実行するときは、ステップS5でYESの
ジャッジがされてステップS16へ進む。今回a′は1で
あり、第10図の場合は、SIGNが2、第11図の場合はSIGN
が1なので、第10図の場合にあっては、ステップS16でN
Oのジャッジがされて、ステップS15へゆきステップS1
もどる。つまり、周期計測を開始し始めてからひとつ目
のピーク(振幅x2)を通過したことをCPU100は認識す
る。
また第11図の場合にあっては、ステップS16ではYESの
判断がされて、ステップS17へゆきREVERSEレジスタが1
か否かジッャジする。もし1でなければNOの判断をしス
テップS1へもどるが、上述したようにステップS15の実
行によってこのレジスタは1となっており、ステップS
17からステップS18へゆきSTEPレジスタを3とし(第11
図(b)参照)、続けてステップS19にて、t′レジス
タにある今回の割り込みで受け付けたカウンタ7の値か
らTレジスタにある値つまりゼロクロス点Zero1の時刻
を減算し、PERIODレジスタにストアする。
つまり第11図(c)に示す大きさが一周期の長さとな
り、続くステップS20でt′の内容をTレジスタに転送
して新たな周期計測の開始をする。
そしてステップS21において、上述のPERIODレジスタ
の内容をもってCPU100は周波数ROM8、音源回路9に発音
指令を出す。従ってこの時点から楽音の発生がなされ
る。続いて、CPU100は、ステップS33で上記ステップS19
で求めた入力波形の一周期分のピッチデータt1をCH
(1)レジスタにセットする。
さて、上述した第10図の場合にあっては、再び次のゼ
ロクロス点(Zero4)後のメインフローの処理で、ステ
ップS5からステップS16へジャンプする。いま、SIGNレ
ジスタは2なので、ステップS16ではYESの判断をし、続
けて上記同様にステップS17→S18→S19→S20→S21の発
音開始処理を実行し、今回は第10図(c)に示すゼロク
ロス点Zero2からZero4までを一周期としてCPU100は認識
し、この長さに基づく周波数の楽音を発音開始し、入力
波形の一周期分のピッチデータt2をCH(2)レジスタに
セットする(第10図(d)参照)。
このようにして、値の大きいピーク点の次のゼロクロ
ス点から周期計測の処理を開始し、そのピーク点と同じ
側のピーク点の次のゼロクロス点でその計測を終了する
ようにして、ローパスフィルタ3出力の波形の一周期を
抽出している。
そして、この発音開始処理の後、メインルーチンにお
いては、ステップからステップS22へ進行し、今回取
り込んだピーク値であるb′の値が、第12図に示すよう
にOFFLEVを越えているか否かジャッジする。
いま、このレベルを越えておればステップS23へ進
み、リラティブオン(relative on)の処理をするのか
否かジャッジするようにする。即ち具体的には今回のピ
ーク値(b′)が前のピーク値(c)よりONLEV IIだけ
大きいか、つまり発音中に急激に抽出ピーク値が大きく
なったか否かジャッジする。
通常弦を振動すれば、自然減衰を行うので、このステ
ップS23はNOの判断となるが、もしトレモロ奏法などに
よって、前の弦振動が減衰し終わらないうちに、再び弦
が操作されて、このステップS23の判断がYESとなること
がある。
その場合は、ステップS23はYESのジャッジをしステッ
プS8へジャンプし、ステップS9〜ステップS11の発音開
始の準備処理を実行する。その結果、STEPレジスタは1
となり、上述した発音開始時の動作と全く同じ動作をそ
れ以降実行する。つまり、再びレジスタS16〜S21の発音
開始処理をその後実行して再発音開始の処理をすること
になる。
さて、通常状態では上述した如くステップS23に続け
てステップS24を行って、a′の内容とSIGNレジスタの
内容の一致比較をし、一致しなければS15へ進み次のゼ
ロクロス点の割り込み処理にそなえ、一致すれば、既に
逆の特性をもったピーク(正/負のピーク)を夫々通過
してきたので、ステップS25へ進み、REVERSEレジスタが
1か否かジャッジし、もしNOならば何ら処理をすること
なくステップS1へもどるが、もしこのステップS25でYES
の判断がなされたならば、ステップS25からステップS26
へ進み新たな周期(ピッチ)を求めるべくt′レジスタ
の内容からTレジスタの内容を引いて、PERIODレジスタ
にセットする。
そして、ステップS27においてt′レジスタの内容を
Tレジスタへ転送し、続くステップS28にて求まったPER
IODレジスタの値を基に周波数(ピッチ)制御をCPU100
は周波数ROM8、音源回路9に対して行う。
つまり、本実施例にあっては、弦の振動周波数の変化
を時々刻々とらえて、それに応じた周波数制御をリアル
タイムで行うようになる。
そして、ステップS28からステップS29へ進んでREVERS
Eレジスタの内容を0とし、ステップS33で上記ステップ
S26で求めた入力波形の一周期分のピッチデータをCH
(a′)レジスタにセットして次の周期計測を行う。
ここで、第13図に示すように、上述したトレモロ奏法
などにより、ピックが弦に接触して、波形レベルが急激
に小さくなり、直前の波形周期t1、t2より長い時間経過
しても、最大又は最小のピーク検出信号が得られず、そ
の結果割り込み指令信号INTが与えられなくなり、上記
ステップS1でワークメモリ101に新たなデータがセット
されないと、上述したステップS34、S35(ステップU1
U2又はU3、U4)の減衰率増加処理が実行され、ピーク点
がとらえられて、周期(ピッチ)計測が再開され、同様
に入力波形のレベルが急に落ちこんでも、波形のピーク
点を確実につかまえて、入力波形の基本周波数(ピッ
チ)抽出を良好に行うことができる。また、この第13図
の場合は、波形のピークが急激に大きくなるので、上述
したリラティブオン処理が確実に行える。
そして、上述したように、弦振動が減衰してきて、ピ
ーク値がOFFLEVを下まわるようになると、ステップS22
からステップS30へゆきSTEPレジスタを0とし、続くス
テップS31にてノートオフ処理(消音処理)を行い、こ
れまで発音していた楽音を消音すべくCPU100は音源回路
9へ指示するようになる。
尚、減衰率を大きくする場合、抵抗R/10を並列に接続
することで大きくしたが、抵抗R/10の代わりにコンデン
サを用いてもよく、この場合は、フリップフロップFFの
Q出力にインバータをとりつけて、減衰率を大きくする
ときに、上記抵抗R/10の代わりにコンデンサを切り離し
てコンデンサの合成容量を小さくすればよい。
また上記実施例にあっては、各ピーク点直後のゼロク
ロス点でCPU100が割り込み処理をして、発音開始、周期
計算、リラティブオン、消音開始等の処理を行うように
したが、各ピーク点検出時に直接これらの処理を行って
もよい。その場合も全く同じ結果を得ることができる。
その他、例えばピーク点の直前のゼロクロス点の検出に
よって、上記同様の処理を行ってもよい。その他、基準
となる点のとり方は種々変更できる。
また、上記実施例では、発音開始時にCH(a′)レジ
スタの値を開放弦音階の周期として、周波数抽出の精度
をあげるようにしたが、応答性を良くするには当該弦の
最高音階の周期としてもよい。その他、発音開始から終
了まで、一定の時間をCH(a′)レジスタにセットする
ようにしてもよい。
また、上記実施例では、メインフローのなかで各処理
を実行するようにしたが、割り込み処理のなかで同様の
処理を実行するようにしてもよい。
更に、上記実施例においては、本発明を電子ギターに
適用したものであったが、必ずしもそれに限られるもの
でなく、マイクロフォン等から入力される音声信号ある
いは電気的振動信号からピッチ抽出を行って、原音声信
号とは別の音響信号を、対応するピッチもしくは音階周
波数にて発生するシステムであれば、どのような形態の
ものであってもよい。具体的には、鍵盤を有するもの例
えば電子ピアノ、管楽器を電子化したもの、弦楽器、例
えばバイオリンや琴などを電子化したものにも同様に適
用できる。
[発明の効果] この発明は、以上詳述したように、所定時間ピーク点
を検出できないときにピークレベルを保持(ホールド)
する減衰率を大きくするようにしたから入力波形のレベ
ルが急に落ちこんでも、波形のピーク点を確実につかま
えて、入力波形の周波数(ピッチ)抽出を良好に行うこ
とができるほか、トレモロ奏法で弦に指やピックがふれ
ている期間、波形レベルが急激に小さくなっても波形の
ピーク点をつかまえることができ、連続する次の発音で
ピークレベルが急激に大きくなることが正確に判別でき
て、確実にリラティブオンがなされるという利点があ
る。
【図面の簡単な説明】
第1図は、本発明の一実施例を示す電子楽器の入力制御
装置の全体回路構成を示す図、第2図は、最大ピーク検
出回路の構成図、第3図は最小ピーク検出回路の構成
図、第4図は最大ピーク検出回路の他の例を示す回路構
成図、第5図はゼロクロス点検出回路の構成図、第6図
はCPUの割り込みルーチンのフローチャートを示す図、
第7図はCPUのメインルーチンのフローチャートを示す
図、第8図及び第9図はCPUのサブルーチンのフローチ
ャートを示す図、第10図、第11図は発音開始時の各部の
動作を示すタイムチャート図、第12図及び第13図は入力
波形の急激な減衰があったときのタイムチャート図、第
14図は、消音開始時の動作を示すタイムチャート図であ
り、第15図〜第19図は従来例を示す図である。 1……入力端子、4……最大ピーク検出回路、5……最
小ピーク検出回路、6……ゼロクロス点検出回路、7…
…カウンタ、9……音源回路、12……ラッチ、14、15…
…フリップフロップ、100……CPU、101……ワークメモ
リ、P1〜P6……ピッチ抽出回路。

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】入力波形信号のピークレベルを所定減衰率
    で減衰させながら保持する保持手段と、 この保持手段の保持レベルを越える新たなピーク点を検
    出する検出手段と、 この検出手段で検出されるピーク点又はこのピーク点に
    関連する点の夫々の時間間隔を測定する測定手段と、 この測定手段で測定された時間間隔に基づき、対応する
    周波数の楽音を発生するように指示する指示手段と、 上記検出手段より新たなピーク点が所定時間検出されな
    いことを判別する判別手段と、 この判別手段の判別結果に応じて、上記保持手段の減衰
    率を大きくする減衰率制御手段と を有することを特徴とする入力波形信号制御装置。
  2. 【請求項2】上記判別手段が判別を行なう所定時間は、
    所定の音高に対応する周期の時間間隔、又は上記測定手
    段で測定した最新の時間間隔に応じたものであることを
    特徴とする特許請求の範囲第1項に記載の入力波形信号
    制御装置。
  3. 【請求項3】上記減衰率制御手段は、上記減衰率を大き
    くした後新たなピーク点が発見されれば、当該減衰率を
    元の大きさに戻すことを特徴とする特許請求の範囲第1
    項に記載の入力波形信号制御装置。
JP62081265A 1987-04-03 1987-04-03 入力波形信号制御装置 Expired - Fee Related JP2555553B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62081265A JP2555553B2 (ja) 1987-04-03 1987-04-03 入力波形信号制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62081265A JP2555553B2 (ja) 1987-04-03 1987-04-03 入力波形信号制御装置

Publications (2)

Publication Number Publication Date
JPS63247796A JPS63247796A (ja) 1988-10-14
JP2555553B2 true JP2555553B2 (ja) 1996-11-20

Family

ID=13741529

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62081265A Expired - Fee Related JP2555553B2 (ja) 1987-04-03 1987-04-03 入力波形信号制御装置

Country Status (1)

Country Link
JP (1) JP2555553B2 (ja)

Also Published As

Publication number Publication date
JPS63247796A (ja) 1988-10-14

Similar Documents

Publication Publication Date Title
JP2799364B2 (ja) 音高認識方法及び装置
JPS6223243B2 (ja)
EP0722160B1 (en) Method for recognition of the start and end of a note in the case of percussion or plucked musical instrument
JP2555553B2 (ja) 入力波形信号制御装置
JP2532424B2 (ja) 波形信号入力制御装置
JP2508044B2 (ja) 電子楽器の入力制御装置
JPH0727512Y2 (ja) 電子楽器の入力制御装置
JPH0648556Y2 (ja) 電子楽器の入力制御装置
EP0264955B1 (en) Apparatus for determining the pitch of a substantially periodic input signal
JP4198046B2 (ja) 電子弦楽器
JP2605668B2 (ja) 電子弦楽器
JP2792022B2 (ja) 電子楽器の入力制御装置
JP2581068B2 (ja) 波形信号制御装置
JP2508692B2 (ja) 入力波形信号制御装置
JPH0782320B2 (ja) 楽音制御装置
JPH0431599B2 (ja)
JP3028041B2 (ja) 楽音要素抽出装置
JP2765578B2 (ja) 波形信号制御装置
JP2605667B2 (ja) 電子楽器の入力制御装置
JPH083711B2 (ja) 入力波形信号制御装置
JPH0431598B2 (ja)
JPH07104666B2 (ja) ピッチ抽出装置
JP2661066B2 (ja) 発音制御装置
JP2591001B2 (ja) 電子弦楽器
JP2560327B2 (ja) 電子弦楽器

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees