JP2661065B2 - 発音制御装置 - Google Patents
発音制御装置Info
- Publication number
- JP2661065B2 JP2661065B2 JP62258668A JP25866887A JP2661065B2 JP 2661065 B2 JP2661065 B2 JP 2661065B2 JP 62258668 A JP62258668 A JP 62258668A JP 25866887 A JP25866887 A JP 25866887A JP 2661065 B2 JP2661065 B2 JP 2661065B2
- Authority
- JP
- Japan
- Prior art keywords
- pitch
- peak value
- time
- value
- previous
- 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
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】
[産業上の利用分野]
この発明は、電子ギターなどの電子弦楽器を含む各種
電子楽器の発音制御装置に係り、特にその入力波形信号
から誤りなくピッチ抽出を行なって、ミストラッキング
を減らすことができる電子楽器の入力制御装置に関す
る。 [従来の技術] 従来より、自然楽器の演奏操作によって発生する波形
信号からピッチ(基本周波数)を抽出し、電子回路で構
成された音源装置を制御して、人工的に楽音等の音響を
得るようにした電子楽器が種々開発されている。 この種の電子楽器の一例として、トレモロアーム付の
電子ギターがあり、これは発音中の弦の音高を極端に変
化させることが可能である。 [発明が解決しょうとする問題点] ところが、前記電子ギターは、必要とする音域が広い
ために、ピッチの許容範囲を、各フレットで指定される
音高の上限、下限の範囲を越えて広げねばならない。し
かるに、このようなピッチ抽出音域制限範囲を広くすれ
ばするほど、誤って抽出した周期で、楽音を発生してし
まうという可能性が高くなる。 ところで、このようなトレモロアーム付の電子ギター
などでも、ピッキング操作のときは、本来のフレットに
対応する音高で発音を開始し、しかる後、トレモロアー
ムを操作することがほとんどである。これは、演奏上、
トレモロアームの操作をしながら弦のピッキングをする
ことは困難であるからであり、そのためいきなり発音可
能な範囲の極限で、発音開始が指示されることはあり得
ないと考えられる。 [発明の目的] この発明は、上述の理由によって発音開始時と、それ
以降のピッチ抽出の制限範囲を変更し得ることに着目し
てなされたもので、ピッキング時におけるミストラッキ
ングを減らすことができる発音制御装置を提供すること
を目的とする。 [発明の要点] この発明は、前記目的を達成するため、入力波形信号
のピッチを抽出するピッチ抽出手段と、前記ピッチ抽出
手段の抽出するピッチに対応する音高の楽音を発生指示
する指示手段と、前記ピッチ抽出手段に対して、前記指
示手段が楽音の発生を指示していない時は第1の所定周
波数範囲内に入るピッチを抽出するよう指示し、前記指
示手段が楽音の発生を指示している時は、前記第1の所
定周波数範囲より広い第2の所定周波数範囲内に入るピ
ッチを抽出するよう指示し、当該指示に基づいて抽出し
たピッチを前記指示手段に供給するよう制御する制御手
段とを具備していることを特徴とするものである。 具体的には、後述する実施例の如く、発音開始時のピ
ッチ抽出音域制限範囲(第1の所定周波数範囲)を、上
限THLIM、下限TTLIMとし、発音開始後のピッチ抽出音域
制限範囲(第2の所定周波数範囲で第1の所定周波数範
囲より広い範囲)を上限THLIM(発音開始時の上限と同
一)、下限TLLIMとしており、前記TTLIMとTLLIMとで指
定される周波数が異なるようになっている。つまり、発
音開始後の下限TLLIMが、発音開始時の下限(トリガー
時の周波数下限)TTLIMに比べて低い周波数を指定す
る。このようにして、許容範囲を周波数の下限のみにつ
いては、チョーキング操作をしている状態で、ピッキン
グすることが可能性として存在するという理由により、
発音開始時と発音開始後とで同一している。なお、発音
開始時にはトレモロアームの操作以外で周波数が下がる
ことはあり得ない。 勿論、そのようなチョーキング操作を発音開始時に行
なわないと考えれば、周波数の上限についても、発音開
始時については制限を厳しくしてもよい。 [実施例] 以下、この発明の実施例について図面を参照して説明
するが、ここではこの発明を電子ギターに適用した場合
を例にあげて説明するが、これに限らず他のタイプの電
子楽器であっても同様に適用できる。 第1図は、全体の回路を示すブロック図であり、ピッ
チ抽出アナログ回路PAは、図示しない例えば電子ギター
ボディ上に張設された6つの弦に夫々設けられ、弦の振
動を電気信号に変換するヘキサピックアップと、このピ
ックアップからの出力からゼロクロス信号Zi(i=1〜
6)と波形信号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の内部に
は、過去のピーク値を減算しながらホールドする回路を
備えている。 そして、このピーク検出回路PEDTのピークホールド回
路の減衰率を変更するのが、時定数変換制御回路TCCで
あり、波形の例えば1周期の時間経過してもピークが検
出できないときは、急速に減衰するようにする。具体的
には、初期状態では速やかに波形の振動を検知すべく最
高音周期時間経過にて、急速減衰し、弦振動が検知され
ると倍音を拾わないために、当該弦の開放弦周期時間経
過にて同様に急速減衰するようにし、そして弦の振動周
期が抽出された後は、その周期にて急速減衰を行なうよ
うになる。 この時定数変換制御回路TCCに対するかかる周期情報
の設定は、マイコンMCPが行なう。そして、この時定数
変換制御回路TCC内部の各弦独立のカウンタと、この設
定された周期情報との一致比較を行ない、周期時間経過
で時定数チェンジ信号をピーク検出回路PEDTへ送出す
る。 また、第2図における波高値取込み回路PVSは、上述
のとおり時分割的に送出されてくる波形信号(デジタル
出力)D1を、各弦毎の波高値にデマルチプレクス処理
し、ピーク検出回路PEDTからのピーク信号MAX,MINに従
って、ピーク値をホールドする。そして、マイコンMCP
がアドレスデコーダDCDを介してアクセスしいきた弦に
ついての最大ピーク値もしくは最小ピーク値をマイコン
バスへ出力する。また、この波高値取込み回路PVSから
は、各弦毎の振動の瞬時値も出力可能になっている。 ゼロクロス時刻取込回路ZTSは、各弦共通のタイムベ
ースカウンタ出力を、各弦のゼロクロス時点(厳密には
最大ピーク点及び最小ピーク点通過直後のゼロクロス時
点)でラッチするようになる。そして、マイコンMCPか
らの要求により、そのラッチした時刻情報をマイコンバ
スへ送出する。 また、図のタイミングジェネレータTGからは、第1図
及び第2図に示す各回路の処理動作のためのタイミング
信号を出力する。 マイコンMCPには、メモリ例えばROMおよびRAMを有す
るとともに、タイマーTを有し、楽音発生装置SOBに与
える為の信号を制御するものである。楽音発生装置SOB
は音源SSとデジタル−アナログ変換器D/Aと、アンプAMP
と、スピーカSPとからなり、マイコンMCPからのノート
オン(発音)、ノートオフ(消音)、周波数を変える音
高指示信号に応じた音高の楽音を放音するものである。
なお、音源SSの入力側とマイコンMCPのデータバスBUSと
の間に、インターフェース(Musical Instrument Di
gital Interface)MIDIが設けられている。勿論、ギタ
ー本体に音源SSを設けるときは、別のインターフェース
を介してもよい。アドレスデコーダーDCDは、マイコンM
CPからのアドレス読み出し信号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)のチェックのための前回の振幅値で
ある。ここで、前記リラティブオフとは波高値が急激に
減衰してきたことに基づき消音することで、フレット操
作をやめて開放弦へ移ったときの消音処理に相当する。 AMRL2…振幅レジスタで記憶されている前記リラティブ
オフのための前々回の振幅値で、これにはAMRL1の値が
入力される。 CHTIM…最高音フレット(22フレット)に対応する周期 CHTIO…開放弦フレットに対応する周期 CHTRR…時定数変換レジスタで、上述の時定数変換制御
回路TCC(第2図)の内部に設けられている。 DUB…波形が続けて同一方向に来たことを示すフラグ FOFR…リラティブオフカウンタ 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、負ピークの次の
ゼロ点のときo) 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内のバッファのレジスタT0、
C、Bにセットする。このバッファには、割込み処理が
なされる都度、このような時刻情報、ピーク値情報、ピ
ークの種類を示す情報がワンセットとして書込まれてい
き、メインルーチンで、各弦毎にかかる情報に対する処
理がなされる。 第4図は、メインルーチンを示すフローチャートであ
る。パワーオンすることによりM1において、各種レジス
タやフラグがイニシャライズされ、レジスタSTEPが0と
される。M2で上述したバッファが空かどうかが判断さ
れ、ノー(以下、Nと称す)の場合にはM3に進み、バッ
ファよりレジスタB、C,TOの内容が読まれる。これによ
り、M4において、レジスタSTEPはいくつか判断され、M5
ではSTEP0,M6ではSTEP1,M7ではSTEP2,M8ではSTEP3,M9で
はSTEP4の処理が順次おこなわれる。 M2でバッファが空の場合すなわちイエス(以下、Yと
称する)の場合、M10〜M16へと順次に進み、ここで通常
のノートオフのアルゴリズムの処理が行なわれる。この
ノートオフのアルゴリズムは、オフ(OFF)レベル以下
の状態が所定のオフタイム時間続いたら、ノートオフす
るアルゴリズムである。M10でSTEP=0どうかが判断さ
れ、ノー(以下、Nと称する)の場合には、M11に進
む。M11では、その時点の入力波高値ADが直接読まれ
る。これは、波高値取込み回路PVSヘピーク値読込み信
号RDA13〜RDA18のいずれかを与えることで達成できる。
そして、この値ADが、入力波高値ADオフレベルかどう
かが判断され、Yの場合にはM12に進む。M12では前回の
入力波高値ADオフレベルかどうかが判断され、Yの場
合にはM13に進み、ここでタイマーTの値オフタイムO
FTIM(例えば当該弦の開放弦周期の定数)かどうかが判
断される。Yの場合には、M14に進み、レジスタSTEPに
0が書きこまれ、M15ではノートオンかどうかが版断さ
れ、Yの場合には、M16でノートオフ処理され、M2の入
側のMに戻る。M12でNの場合にはM17に進み、マイコン
MCP内部タイマーTをスタートし、M2の入側Mに戻る。M
10でその場合、及びM11、M13、M15はNの場合には、い
ずれもM12の入側のMに戻る。 このような、波形入力のレベルが減衰してきた場合、
オフレベル以下の入力波高値ADがオフタイムOFTIMに相
当する時間続くと、ノートオフの指示を音源SSに対しマ
イコンMCPは送出する。なお、ステップM15において、通
常の状態ではYの判断がなされるが、後述するような処
理によって、楽音の発声を指示していない場合でもレジ
スタSTEPは0以外の値をとっていることがあり、(例え
ばノイズの入力による。)そのようなときは、M14、M15
の処理後M2へ戻ることで、初期設定がなされることにな
る。 なお、第4図では、一つの弦についての処理しか示し
ていないが、この図に示した如く処理を弦の数に相当す
る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)]かどうか、すなわち今回波
高値と前回波高値の下が所定値以上か否かが判断され
る。 一つの弦をピッキングすることによって他の弦が共振
を起こす場合、当該他の弦については、振動のレベルが
徐々に大きくなり、その結果前回と今回とのピーク値の
変化は微小なものとなって、その差は共振除去しきい値
TRLRSを越えることはない。ところが、通常のピッキン
グでは、波形が急激に立上る(あるいは立ち下がる)こ
とになり、前記ピークの差は共振除去しきい値TRLRSを
越える。 いま、このS02で、Yの場合つまり共振の場合でない
とみなした場合には、S03において次の処理が行なわれ
る。すなわち、今回正負フラグbがフラグMTに書込ま
れ、レジスタSTEPに1が書込まれ、さらに今回のゼロク
ロス時刻tが前回のゼロクロス時刻データTFN(b)と
して設定される。そして、S04では、その他フラグ類が
イニシャライズされ、S05に進む。S05では、今回波高値
cが前回の波高値AMP(b)としてセットされ、しかる
後第4図のメインフローヘリターンする。 第5図において、Aはリラティブオン(再発音開始)
のエントリであり、後述するSTEP4のフローからこのS06
へジャンプしてくる。そして、S06では今まで出力して
いる楽音を一度消去し、再発音開始のためにS03へ進行
する。この再発音開始のための処理は、通常の発音開始
のときと同様であり、以下に詳述するとおりとなる。 そして、またS01でNの場合と、S02でNの場合(今回
波高値c−前回波高値AMP(b)が所定値以上ない場
合)には、S05に進む。従って、発音開始のための処理
は進まないとことになる。 以上述べたSTEP0(第11図のSTEP0→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の場合及
び、Z15の処理の終了時にはメインフロー(第4図)へ
リターンする。 以上述べたSTEP1(第11図のSTEP1→2の間)では、今
回正負フラグ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で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の場合つまりダブッていればS28に進
む。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に前回のゼロクロス時刻データTF
N(1)が書き替えられ、今回波高値c、前回波高値AMP
(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)×A
MP(b)がNと判断され、これがYとならない間は、ST
EP2は繰返し実行されるからである。また、(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)が書替
えられる。 そしてS33において、STEP2で得られたVELより今回波
高値cが大であれば、ベロシティVELは今回波高値cが
入力される。もし逆ならば、このベロシティVELは変化
しない。次に今回正負フラグbにフラグMTが書替えら
れ、これによりピッチ抽出側が逆にされる。これは、後
述するSTEP4からフラグMTの意味が変り、ピッチ変更側
を意味している。そして、S34で[t−TFN(b)→TP
(b)]なる周期計算が行なわれる。また、今回のセロ
クロス時刻tとして前回のゼロクロス時刻データTFN
(b)が書替えられる。 次に、S35において、X=Oかどうかを判断し、Yの
場合にはS36に進み、周波数上限THLIM<前回の周期デー
タTP(b)かどうか、つまりピッチ抽出上限チェックを
行ない、その結果、最高音の周期より大きな周期をもて
ば、許容範囲にあるということでYとなり、S37に進
む。S37では、トリガー時の周波数下限TTLIM>前回の周
期データTP(b)かどうか、つまりピッチ抽出下限チェ
ックを行ない、最低音の周期より小の周期をもてば許容
範囲にあり、Yの判断をしてS38に進む。S37のピッチ抽
出下限は、後述するSTEP4のピッチ抽出下限とは定数が
異なる。 具体的には、周波数上限THLIMは、最高音フレットの
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に対し発音開始の指示
をする。 S30において、Nの場合(同一方向のゼロクロス点検
出の場合)は、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となる。 すなわち、第17図の最初の3つの波形のピーク(a0,b
0,a1)は、ノイズによるもので、これらのノイズの周期
を検出して発音開始を指示すると、全くおかしな音が発
生してしまう。そこで、S31では、波高値が大きく変わ
ったことを検知して、X=1とし、S35でNの判断をす
るようにする。そして、S31にて波形が正常な変化をす
ることが検知されてから、発音開始を指示するようにす
る。 第17図の場合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)についての処理がなされる。そして、適切な波形
入力に応答してこのSTEP3において、抽出されたピッチ
に従った音高の楽音が発生開始されることになる。第11
図から判明するように、周期検出を開始してから、1.5
周期程度の時間経過で発音指示が音源SSに対しなされる
ことになる。勿論、諸条件を満足しなければ、更におく
れることは上述したとおりである。 第10図は、第4図のM9として示すSTEP4のフローチャ
ートであり、この場合ピッチ抽出のみを行なうルート
、実際にピッチ変更を行なうルートがある。先ず、
S40,S41,S42,S63〜S68に示すルートについて説明す
る。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へ進む。 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され、カ
ウントアップされる。 従って、波形ナンバーカウンタHNCは、上限が9とな
る。そして3S65もしくはS66の処理の後S67へ進行する。
S67では、レジスタRIVを1とし、今回のゼロクロス時刻
から時刻記憶レジスタTFRの内容を引算して、周期レジ
スタTTRへ入力する。この周期レジスタTTRは、第11図に
示すような周期情報を示すようになる。そして、今回の
ゼロクロス時刻tは、時刻記憶レジスタTFRへセーブさ
れ、この後、メインルーチンにリターン(RET)する。 S63でYの場合は、S68に進み今回波高値c>前回の波
高値AMP(b)かどうかが判断され、Yの場合はS69に進
む。S69では、今回波高値cに前回の波高値APM(b)が
書替えられ、S70に進む。S70では今回波高値c>前回の
振幅値AMPL1かどうかが判断され、Yの場合にはS71に進
み、ここで今回波高値cが前回の振幅値AMRL1に入力さ
れる。 もし、S68でNの判断がなされるとすぐにメインルー
チンへリターンする。従って、新しい入力波形のピーク
が大である場合についてのみ、新しい波形の振幅値が登
録される。(その場合は、倍音のピークをひろっていな
いと考えられるので。) また、S70でNのときと、S71の処理の終了のときに
は、同様にメインルーチンへリターンする。 以上述べたようにルートは、第11図の例によれば以
下のような処理がなされる、MT=0≠b、RIV=0、AMP
(1)←c、AMRL2←AMRL1、MRL1←max[AMP(0),c
(のいずれか大きい方)]、HNC←(HNC+1)=1,RI
V、TTR←(t−TFR)、TFR−tが処理される。従って、
周期レジスタTTRに前回の同極性のゼロクロス点(STEP2
→3のところ)から今回のゼロクロス点までの時刻情報
の差つまり、周期情報が求まったことになる。そして、
メインルーチンへ戻り、次のゼロクロスインターラプト
を待つ。 次に、S40〜S62に示すルートへ進んだ場合の説明を
行なう。いま、波形ナンバーカウンタHNC=1なので(S
66参照)、S40からS42へ進む。S42では、第11図のよう
な場合、MT=0、b=0なのでYとなり、S43へ進む。S
43では、レジスタRIV=1かどうかが判断される。既に
ルートにおいて、レジスタRIVは1とされている(S67
参照)ので、S43の判断はいまの場合Yとなり、S44へ進
む。 S44では、レジスタSTEP=4かどうかが判断され、Y
の場合にはS45に進む。S45では、今回波高値c<60H
(Hは16進法表現を示す)かどうかが判断され、波高値
cが小であればYとなり、S46に進む。S46では、前々回
の振幅値AMRL2−前回の振幅値AMRL1≦(1/32)×前々回
の振幅値AMRL2かどうかが判断され、Yの場合にはS47に
進み、リラティブオフカウンタFOFRが0にセットされ
る。このリラティブオフの処理については後述する。そ
して、S48では周期計算がおこなわれる。、具体的には
(今回のゼロクロス時刻t−前回のゼロクロス時刻デー
タTF)が今回の周期情報ttとしてレジスタTOTOにットさ
れる。そして、S49に進み、S49では、今回の周波数情報
tt>周波数上限THLIM(発音開始後の上限)かどうかが
判断され、Yの場合にはS50に進む。 S49の周波数上限THLIMは、STEP3のS36で使用したトリ
ガー時(発音開始時)周波数の許容範囲の上限(従って
周期として最小で、最高音フレットの2〜3半音上の音
高周期に相当する)と同一のものである。 次に、S50では次の処理が行なわれる。すなわち、レ
ジスタRIVを0にし、今回のゼロクロス時刻tが前回の
ゼロクロス時刻データTFとして入力され、また前回の波
高値AMP(b)が前々回波高値eに入力され、さらに前
回波高値cが前回の波高値AMP(b)に入力される。 そして、S50の処理の後S51に進み、S51では、周波数
下限TLLIM>今回の周期情報ttかどうかが判断され、Y
の場合すなわち今回の周期がノートオン中のピッチ抽出
音域下限以下になった場合にはS52に進む。 この場合、周波数下限TLLIMは、例えば、開放弦音階
の1オクターブ下にセットされる。つまり、STEP3の周
波数下限TTLIM(S37参照)に比較して、許容範囲を広く
している。このようにすることで、トレモロアームの操
作などによる周波数変更に対応し得るようになる。 従って、周波数の上限、下限について許容範囲に入る
場合についてのみS52まで進み、そうでない場合はS49、
S51よりメインルーチンへリターンする。 次に、S52では周期データTTPが前々回抽出された周期
データhに入力され、また、今回の周期情報ttが前回抽
出された周期データTTPに入力される。そして、S53で今
回波高値cがベロシティVELに書込まれ、S54に進む。S5
4では、ノーチェンジレベルNCHLV>(前々回波高値e−
今回波高値c)かどうかの判断が行なわれ、Yの場合に
はS55に進む。 すなわち、前回の同極性の波高値(e=AMP(b))
と今回の波高値cとが大きく変化している場合は、その
差がNCLVを越えることになり、そのようなときに、抽出
された周期情報に基づきピッチ変更を行なうと、不自然
な高音変化を呈することになる可能性が高い。そこで、
S54でNの判断されると、S55以降の処理をすることな
く、メインルーチンへリターンする。 次に、S54でYの場合、リラティブオフカウンタFOFR
=0か否かが判断されるる。後述するリラティブオフ処
理を行なっているときは、リラティブオフカウンタFOFR
は0でなくなっており、そのような場合もピッチ変更
(S61を参照)の処理を行なうことなく、S55でNの判断
をしてメインルーチンへリターンする。そして、S55に
て、Yの判断をしたときは、S56、S57へと順次進む。 ここで2波3値一致条件が判断される。S56では今回
の周期情報tt×2-7<|今回の周期情報tt−前々回周期
データh|が判断され、Yの場合にはS57に進み、またS57
では今回の周期情報tt×2-7<|今回の周期情報tt−周
期レジスタTTRの内容|が判断され、Yの場合にはS58に
進む。 すなわち、S56では、第11図の今回の周期情報tt(S43
参照)が、前回の周期データh(S52参照)の値と略一
致するか否かを判断し、S57では、今回の周期情報ttの
値が、それに重なる周期TTRとほぼ一致するか否かを判
断する。なお、その上限範囲は、2-7xttとして、周期情
報に依存してその値が変わるようになっている。勿論、
これは固定の値としてもよいが、本実施例採用技術の方
が良好な結果を得ることができる。 次のS58では、前回の周期情報tt>定数TTUかどうかが
判断され、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オクターブ低音の周期情報)がセットされる。従っ
て、急激にオクターブアップする(これは、フレットを
離してミュート操作したときなどに生ずる)ことやオク
ターブダウンすること(これは波形のピークをとり逃し
たときなどに起る)があったときは、ピッチ変更をする
と、不自然となるので、ピッチ変更をしないようにブラ
ンチする。 もし、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に書替えられる。 つまり、後述するように、リラティブオフの処理がな
されたときに限り、STEP=5となるが、そのときは、ピ
ッチ変更を行なうことなく時定数チェンジを行なう。こ
の時定数チェンジの処理とは、第2図の時定数変換制御
回路TCC内部のレジスタに今回の周期情報ttの値に基づ
くデータをマイコンMCPがセットすることをいう。これ
は、既に説明したとおりである。 そして、S62の処理の終了でメインルーチンへリター
ンする。従って、以上述べたようにルートは、第11図
に示す通り次の処理がなされる。すなわち、HNC=1、M
T=0=b、RIV=1、FOFR←0、tt←(t−TF)、RIV
←0、TF←t、e←AMP(0)、AMP(0)←c、h←TT
P、TTP←tt、VEL←cであり、さらに、 TTP≒TTR≒tt、 TTU<tt<TTW、 AMP(0)−c<NCHLV の3条件の満足で、ttに従ったピッチ変更を行なう。し
かる後、TTU←(17/32)×tt、TTW←(31/16)×ttがな
される。 従って、ルートにて、実際の音源SSに対するピッチ
変更が行なわれ、続くゼロクロスインタラプトでルート
の処理、同様に、続くゼロクロスインタラプトで.ル
ートの処理が行われる。このようにして、ルートで
は、単に周期を抽出(S67を参照)し、ルートでは実
際のピッチ変更(S61参照)、時定数チェンジ処理(S62
参照)が行なわれることになる。 なお、STEP4におけるS40において、ルートのS66で
波形ナンバーカウンタHNCが3を越えるように、カウン
トアップされた後は、Yの判断がなされ、次にS41へ行
き、リラティブオンの条件を検出する。これは、c−AM
P(b)>TRLRLであり、前回の振幅値AMRL1に比べて今
回の振幅値がしきい値TRLRLを越えて増大したとき、つ
まり、これは弦操作後に同じ弦を再度ピッキングしたと
き(トレモロ奏法などによる)にこのようなことがお
き、この場合はS41でリラティブオンの処理をすべくS41
からS78へ進み、時定数変換制御回路TCCの時定数チェン
ジレジスタCHTRRへ最高音フレット(例えば22フレッ
ト)の周期CHTIMをセットする。しかる後、第5図のS06
へ進み、当該発音中の楽音をノートオフした後、再発音
開始する。 通常の演奏操作によれば、S40、S41、S42へ進み、上
述したルートもしくはルートへ進む。 次に第12図、第13図を参照して、リラティブオフ処理
を説明する。つまり、フレット操作している状態から、
開放弦状態へ移行すると、波形の振幅レベルは急激に落
ちてきて、前々回の波高値AMRL2と前回の波高値AMRL1と
の差が(1/32)AMRL2を越えるようになると、S46からS7
4へ進む。そして、リラティブオフカウンタFOFRが定数R
OFCTを越えるまでカウントアップするようにS74からS75
へ進む。このとき、S75からS48へ行きS49〜S55の処理を
行なうが、FOFR=0でないので、リラティブオフ処理に
入る直前ではピッチ変更をおこなうことなくメインルー
チンへ戻る。 そして、S74でYと判断すると、つまり第13図の例で
は、FOFRの値が3となったとき(ROFCTは2である)、S
74からS75へいく。 ただし、S46のジャッジでYの判断が一度でもある
と、S46からS47へ進み、FOFRをリセットするようにな
る。従って、ROFCTで指定される回数だけ続けてS46の条
件を満足しなければ、リラティブオフの処理はなされな
い。なお、ROFCTの値は、音高が高い弦について大きな
値としておけば、略一定の時間経過で、いずれの弦につ
いてもリラティブオフ処理ができる。 そして、S74からS76へ行くと、リラティブオフカウン
タFOFRをリセットし、レジスタSTEPを5とし、S77へ進
んで音源SSに対しノートオフを指示する。このSTEPが5
の状態では、ピッチ抽出処理をSTEP4の時と同様に実行
するが、S60からS61を介することなくS62へ進むので、
音源SSに対しては、ピッチ変更はされない。ただし、S6
2において抽出した周期に従って時定数がチェンジ処理
を行なう。 そして、STEPが5の状態では、リラティブオンの処理
を受付けるが(S41、S78)、それ以外の場合では、第4
図のメインフローの中で、振動レベルが減少してきたこ
とが検知されることによりM14でSTEPが0となり、初期
状態にもどる。 なお、S46で使用するAMRL1、AMRL2はS64で作られてお
り、1周期の中でレベルが大な方のピーク(最大ピーク
と最小ピークとの一方)が、この値とされ、第13図の例
では、最大ピークaKが最小ピークbK−1より必ず大であ
る場合であって、a n+1とa n−2、a n+2とa n+3
とa n+4の差がいずれも所定値を越えるようになって
いる。 また、このときルートの処理においては、最小ピー
クb n+1、b n+2、b n+3が極端に減少してきてい
るので、S54でNの判断が成されて、メインルーチンへ
リターンし、ピッチ変更処理はなされない。 次に、ピッチ抽出しているなかで、オクターブ関係に
ある倍音、つまりオクターブ高い音やオクターブ低い音
が続けて検出されたときの処理について説明する。 既に説明したように、S58ではttがTTUを越えなかった
とき、つまり、前回抽出した周期の17/32倍した値TTUよ
り小になったとき、S76へ進む。つまり、オクターブ高
い音が抽出されたときは、指定していたフレットから指
を離してミュート操作をした場合とみなし、オクターブ
高い音を出力することなく、S58からS76へ行き、リラテ
ィブオフ時同様S76、S77の処理によって当該音の発音を
停止する。 また、S59では、ttがTTWを越えたとき、つまり前回抽
出した周期の31/16倍した値TTWより大となったとき、S6
0へ進むことなく、メインルーチンへリターンする。 この状態は第14図に示されている。通常ノートオフ近
辺の非常に波形が小さい場合、他のピッキングによって
ヘキサピックアップのクロストオークやボディの共振に
よって波形が乗ってくる。すると、例えば、第14図のよ
うな入力波形となり、1オクターブ下の入力波形が続け
て検出されてしまうことがある。 このような場合、何等処理を施さないと、急にオクタ
ーブ下を音の出力してしまい、極めて不自然となる。そ
のために、S57、S56でT an+2≒T an+3≒T bn+2が
検出されても、T an+3>T an+1×(31/16)となる
ので、ピッチ変更することなく、S59からメインルーチ
ンへリターンする。 次に、ダブリの波形が抽出される場合つまり、同じ極
性のゼロクロス点が続けて到来する場合について説明す
る。第15図は、MT=1の場合の例を示しており、基本波
周期と倍音成分の周期が非整数倍の関係にあるので、倍
音を位相がずれて行き、同じ極性のゼロクロスを検出を
してしまうことになり、そのために誤ったピッチ変更を
しないようにしないといけない。 そこで、図のダブリと書いてあるゼロクロス時のSTEP
4の処理では、S42からS43へ行き、S43ではYの判断をし
てS72へ行く。ここで、(a n+3)と(a n+2)の大
きさが比較され、もし(a n+3)が(a n+2)より大
であれば、S72でYの判断をし、AMP(1)に、(a n+
3)の値をセットし、もし逆の場合は何等変更処理をし
ない。 ところで、このダブリの場合抽出している時刻データ
は何等使用しないので、周期情報T an+3は何等変わら
ない。また、当然周期データに基づくピッチ変更は行な
われない。 同様に、第16図は波形のダブリの場合の例で、MT=0
の状態を示している。このときも、図中にダブリと示し
ているところで、ダブリの状態が生じている。このとき
は、S42からS63へ行き、Yの判断をしてS68へ行く。S68
では、いまの場合(a n+2)と(a n+3)との比較を
して、(a n+3)が(a n+2)より大なときに限りS6
9へ行き、AMP(1)を書替える。この場合は、更に前回
の振幅値AMRL1と今回の振幅情報(波高値c)の比較をS
70で行なって、もしYならばS71へ進み、今回の振幅情
報cを前回の振幅値AMRL1へセットする。 このようにして、倍音の影響で、波形がタブったとき
にも、S56、S57を満足しない限りピッチ変更処理はなさ
れないことになる。 以上述べた実施例によれば、トレモロ付の電子ギター
であっても、発音開始時は音域制限手段のピッチ抽出音
域制限範囲が狭く制御されることから、ピッキング時に
おけるミストラッキングを減らすことができる。 なお、前記実施例おいては、最大ピーク点、最小ピー
ク点の次のゼロクロス点毎の間隔から周期抽出を行なう
ようにしたが、その他の方式、例えば最大ピーク点間や
最小ピーク点間の時間間隔から周期抽出をおこなっても
よい。また、それに合せて回路構成は種々変更し得る。 また、前記実施例においては、この発明を電子ギター
(ギターシンセサイザ)に適用したものであったが、そ
れに限らない。ピッチ抽出を行なって、オリジナルの信
号とは別の音響信号を発生するタイプの楽器または装置
であれば、種々適用可能である。 [発明の効果] 以上述べた本発明によれば、入力波形信号のピッチを
抽出するピッチ抽出手段と、前記ピッチ抽出手段の抽出
するピッチに対応する音高の楽音を発生指示する指示手
段と、前記ピッチ抽出手段に対して、前記指示手段が楽
音の発生を指示していない時は第1の所定周波数範囲内
に入るピッチを抽出するよう指示し、前記指示手段が楽
音の発生を指示している時は、前記第1の所定周波数範
囲より広い第2の所定周波数範囲内に入るピッチを抽出
するよう指示し、当該指示に基づいて抽出したピッチを
前記指示手段に供給するよう制御する制御手段を備えて
いるので、ピッキング時におけるミストラッキングを減
らすことができる発音制御装置を提供できる。
電子楽器の発音制御装置に係り、特にその入力波形信号
から誤りなくピッチ抽出を行なって、ミストラッキング
を減らすことができる電子楽器の入力制御装置に関す
る。 [従来の技術] 従来より、自然楽器の演奏操作によって発生する波形
信号からピッチ(基本周波数)を抽出し、電子回路で構
成された音源装置を制御して、人工的に楽音等の音響を
得るようにした電子楽器が種々開発されている。 この種の電子楽器の一例として、トレモロアーム付の
電子ギターがあり、これは発音中の弦の音高を極端に変
化させることが可能である。 [発明が解決しょうとする問題点] ところが、前記電子ギターは、必要とする音域が広い
ために、ピッチの許容範囲を、各フレットで指定される
音高の上限、下限の範囲を越えて広げねばならない。し
かるに、このようなピッチ抽出音域制限範囲を広くすれ
ばするほど、誤って抽出した周期で、楽音を発生してし
まうという可能性が高くなる。 ところで、このようなトレモロアーム付の電子ギター
などでも、ピッキング操作のときは、本来のフレットに
対応する音高で発音を開始し、しかる後、トレモロアー
ムを操作することがほとんどである。これは、演奏上、
トレモロアームの操作をしながら弦のピッキングをする
ことは困難であるからであり、そのためいきなり発音可
能な範囲の極限で、発音開始が指示されることはあり得
ないと考えられる。 [発明の目的] この発明は、上述の理由によって発音開始時と、それ
以降のピッチ抽出の制限範囲を変更し得ることに着目し
てなされたもので、ピッキング時におけるミストラッキ
ングを減らすことができる発音制御装置を提供すること
を目的とする。 [発明の要点] この発明は、前記目的を達成するため、入力波形信号
のピッチを抽出するピッチ抽出手段と、前記ピッチ抽出
手段の抽出するピッチに対応する音高の楽音を発生指示
する指示手段と、前記ピッチ抽出手段に対して、前記指
示手段が楽音の発生を指示していない時は第1の所定周
波数範囲内に入るピッチを抽出するよう指示し、前記指
示手段が楽音の発生を指示している時は、前記第1の所
定周波数範囲より広い第2の所定周波数範囲内に入るピ
ッチを抽出するよう指示し、当該指示に基づいて抽出し
たピッチを前記指示手段に供給するよう制御する制御手
段とを具備していることを特徴とするものである。 具体的には、後述する実施例の如く、発音開始時のピ
ッチ抽出音域制限範囲(第1の所定周波数範囲)を、上
限THLIM、下限TTLIMとし、発音開始後のピッチ抽出音域
制限範囲(第2の所定周波数範囲で第1の所定周波数範
囲より広い範囲)を上限THLIM(発音開始時の上限と同
一)、下限TLLIMとしており、前記TTLIMとTLLIMとで指
定される周波数が異なるようになっている。つまり、発
音開始後の下限TLLIMが、発音開始時の下限(トリガー
時の周波数下限)TTLIMに比べて低い周波数を指定す
る。このようにして、許容範囲を周波数の下限のみにつ
いては、チョーキング操作をしている状態で、ピッキン
グすることが可能性として存在するという理由により、
発音開始時と発音開始後とで同一している。なお、発音
開始時にはトレモロアームの操作以外で周波数が下がる
ことはあり得ない。 勿論、そのようなチョーキング操作を発音開始時に行
なわないと考えれば、周波数の上限についても、発音開
始時については制限を厳しくしてもよい。 [実施例] 以下、この発明の実施例について図面を参照して説明
するが、ここではこの発明を電子ギターに適用した場合
を例にあげて説明するが、これに限らず他のタイプの電
子楽器であっても同様に適用できる。 第1図は、全体の回路を示すブロック図であり、ピッ
チ抽出アナログ回路PAは、図示しない例えば電子ギター
ボディ上に張設された6つの弦に夫々設けられ、弦の振
動を電気信号に変換するヘキサピックアップと、このピ
ックアップからの出力からゼロクロス信号Zi(i=1〜
6)と波形信号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の内部に
は、過去のピーク値を減算しながらホールドする回路を
備えている。 そして、このピーク検出回路PEDTのピークホールド回
路の減衰率を変更するのが、時定数変換制御回路TCCで
あり、波形の例えば1周期の時間経過してもピークが検
出できないときは、急速に減衰するようにする。具体的
には、初期状態では速やかに波形の振動を検知すべく最
高音周期時間経過にて、急速減衰し、弦振動が検知され
ると倍音を拾わないために、当該弦の開放弦周期時間経
過にて同様に急速減衰するようにし、そして弦の振動周
期が抽出された後は、その周期にて急速減衰を行なうよ
うになる。 この時定数変換制御回路TCCに対するかかる周期情報
の設定は、マイコンMCPが行なう。そして、この時定数
変換制御回路TCC内部の各弦独立のカウンタと、この設
定された周期情報との一致比較を行ない、周期時間経過
で時定数チェンジ信号をピーク検出回路PEDTへ送出す
る。 また、第2図における波高値取込み回路PVSは、上述
のとおり時分割的に送出されてくる波形信号(デジタル
出力)D1を、各弦毎の波高値にデマルチプレクス処理
し、ピーク検出回路PEDTからのピーク信号MAX,MINに従
って、ピーク値をホールドする。そして、マイコンMCP
がアドレスデコーダDCDを介してアクセスしいきた弦に
ついての最大ピーク値もしくは最小ピーク値をマイコン
バスへ出力する。また、この波高値取込み回路PVSから
は、各弦毎の振動の瞬時値も出力可能になっている。 ゼロクロス時刻取込回路ZTSは、各弦共通のタイムベ
ースカウンタ出力を、各弦のゼロクロス時点(厳密には
最大ピーク点及び最小ピーク点通過直後のゼロクロス時
点)でラッチするようになる。そして、マイコンMCPか
らの要求により、そのラッチした時刻情報をマイコンバ
スへ送出する。 また、図のタイミングジェネレータTGからは、第1図
及び第2図に示す各回路の処理動作のためのタイミング
信号を出力する。 マイコンMCPには、メモリ例えばROMおよびRAMを有す
るとともに、タイマーTを有し、楽音発生装置SOBに与
える為の信号を制御するものである。楽音発生装置SOB
は音源SSとデジタル−アナログ変換器D/Aと、アンプAMP
と、スピーカSPとからなり、マイコンMCPからのノート
オン(発音)、ノートオフ(消音)、周波数を変える音
高指示信号に応じた音高の楽音を放音するものである。
なお、音源SSの入力側とマイコンMCPのデータバスBUSと
の間に、インターフェース(Musical Instrument Di
gital Interface)MIDIが設けられている。勿論、ギタ
ー本体に音源SSを設けるときは、別のインターフェース
を介してもよい。アドレスデコーダーDCDは、マイコンM
CPからのアドレス読み出し信号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)のチェックのための前回の振幅値で
ある。ここで、前記リラティブオフとは波高値が急激に
減衰してきたことに基づき消音することで、フレット操
作をやめて開放弦へ移ったときの消音処理に相当する。 AMRL2…振幅レジスタで記憶されている前記リラティブ
オフのための前々回の振幅値で、これにはAMRL1の値が
入力される。 CHTIM…最高音フレット(22フレット)に対応する周期 CHTIO…開放弦フレットに対応する周期 CHTRR…時定数変換レジスタで、上述の時定数変換制御
回路TCC(第2図)の内部に設けられている。 DUB…波形が続けて同一方向に来たことを示すフラグ FOFR…リラティブオフカウンタ 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、負ピークの次の
ゼロ点のときo) 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内のバッファのレジスタT0、
C、Bにセットする。このバッファには、割込み処理が
なされる都度、このような時刻情報、ピーク値情報、ピ
ークの種類を示す情報がワンセットとして書込まれてい
き、メインルーチンで、各弦毎にかかる情報に対する処
理がなされる。 第4図は、メインルーチンを示すフローチャートであ
る。パワーオンすることによりM1において、各種レジス
タやフラグがイニシャライズされ、レジスタSTEPが0と
される。M2で上述したバッファが空かどうかが判断さ
れ、ノー(以下、Nと称す)の場合にはM3に進み、バッ
ファよりレジスタB、C,TOの内容が読まれる。これによ
り、M4において、レジスタSTEPはいくつか判断され、M5
ではSTEP0,M6ではSTEP1,M7ではSTEP2,M8ではSTEP3,M9で
はSTEP4の処理が順次おこなわれる。 M2でバッファが空の場合すなわちイエス(以下、Yと
称する)の場合、M10〜M16へと順次に進み、ここで通常
のノートオフのアルゴリズムの処理が行なわれる。この
ノートオフのアルゴリズムは、オフ(OFF)レベル以下
の状態が所定のオフタイム時間続いたら、ノートオフす
るアルゴリズムである。M10でSTEP=0どうかが判断さ
れ、ノー(以下、Nと称する)の場合には、M11に進
む。M11では、その時点の入力波高値ADが直接読まれ
る。これは、波高値取込み回路PVSヘピーク値読込み信
号RDA13〜RDA18のいずれかを与えることで達成できる。
そして、この値ADが、入力波高値ADオフレベルかどう
かが判断され、Yの場合にはM12に進む。M12では前回の
入力波高値ADオフレベルかどうかが判断され、Yの場
合にはM13に進み、ここでタイマーTの値オフタイムO
FTIM(例えば当該弦の開放弦周期の定数)かどうかが判
断される。Yの場合には、M14に進み、レジスタSTEPに
0が書きこまれ、M15ではノートオンかどうかが版断さ
れ、Yの場合には、M16でノートオフ処理され、M2の入
側のMに戻る。M12でNの場合にはM17に進み、マイコン
MCP内部タイマーTをスタートし、M2の入側Mに戻る。M
10でその場合、及びM11、M13、M15はNの場合には、い
ずれもM12の入側のMに戻る。 このような、波形入力のレベルが減衰してきた場合、
オフレベル以下の入力波高値ADがオフタイムOFTIMに相
当する時間続くと、ノートオフの指示を音源SSに対しマ
イコンMCPは送出する。なお、ステップM15において、通
常の状態ではYの判断がなされるが、後述するような処
理によって、楽音の発声を指示していない場合でもレジ
スタSTEPは0以外の値をとっていることがあり、(例え
ばノイズの入力による。)そのようなときは、M14、M15
の処理後M2へ戻ることで、初期設定がなされることにな
る。 なお、第4図では、一つの弦についての処理しか示し
ていないが、この図に示した如く処理を弦の数に相当す
る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)]かどうか、すなわち今回波
高値と前回波高値の下が所定値以上か否かが判断され
る。 一つの弦をピッキングすることによって他の弦が共振
を起こす場合、当該他の弦については、振動のレベルが
徐々に大きくなり、その結果前回と今回とのピーク値の
変化は微小なものとなって、その差は共振除去しきい値
TRLRSを越えることはない。ところが、通常のピッキン
グでは、波形が急激に立上る(あるいは立ち下がる)こ
とになり、前記ピークの差は共振除去しきい値TRLRSを
越える。 いま、このS02で、Yの場合つまり共振の場合でない
とみなした場合には、S03において次の処理が行なわれ
る。すなわち、今回正負フラグbがフラグMTに書込ま
れ、レジスタSTEPに1が書込まれ、さらに今回のゼロク
ロス時刻tが前回のゼロクロス時刻データTFN(b)と
して設定される。そして、S04では、その他フラグ類が
イニシャライズされ、S05に進む。S05では、今回波高値
cが前回の波高値AMP(b)としてセットされ、しかる
後第4図のメインフローヘリターンする。 第5図において、Aはリラティブオン(再発音開始)
のエントリであり、後述するSTEP4のフローからこのS06
へジャンプしてくる。そして、S06では今まで出力して
いる楽音を一度消去し、再発音開始のためにS03へ進行
する。この再発音開始のための処理は、通常の発音開始
のときと同様であり、以下に詳述するとおりとなる。 そして、またS01でNの場合と、S02でNの場合(今回
波高値c−前回波高値AMP(b)が所定値以上ない場
合)には、S05に進む。従って、発音開始のための処理
は進まないとことになる。 以上述べたSTEP0(第11図のSTEP0→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の場合及
び、Z15の処理の終了時にはメインフロー(第4図)へ
リターンする。 以上述べたSTEP1(第11図のSTEP1→2の間)では、今
回正負フラグ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で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の場合つまりダブッていればS28に進
む。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に前回のゼロクロス時刻データTF
N(1)が書き替えられ、今回波高値c、前回波高値AMP
(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)×A
MP(b)がNと判断され、これがYとならない間は、ST
EP2は繰返し実行されるからである。また、(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)が書替
えられる。 そしてS33において、STEP2で得られたVELより今回波
高値cが大であれば、ベロシティVELは今回波高値cが
入力される。もし逆ならば、このベロシティVELは変化
しない。次に今回正負フラグbにフラグMTが書替えら
れ、これによりピッチ抽出側が逆にされる。これは、後
述するSTEP4からフラグMTの意味が変り、ピッチ変更側
を意味している。そして、S34で[t−TFN(b)→TP
(b)]なる周期計算が行なわれる。また、今回のセロ
クロス時刻tとして前回のゼロクロス時刻データTFN
(b)が書替えられる。 次に、S35において、X=Oかどうかを判断し、Yの
場合にはS36に進み、周波数上限THLIM<前回の周期デー
タTP(b)かどうか、つまりピッチ抽出上限チェックを
行ない、その結果、最高音の周期より大きな周期をもて
ば、許容範囲にあるということでYとなり、S37に進
む。S37では、トリガー時の周波数下限TTLIM>前回の周
期データTP(b)かどうか、つまりピッチ抽出下限チェ
ックを行ない、最低音の周期より小の周期をもてば許容
範囲にあり、Yの判断をしてS38に進む。S37のピッチ抽
出下限は、後述するSTEP4のピッチ抽出下限とは定数が
異なる。 具体的には、周波数上限THLIMは、最高音フレットの
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に対し発音開始の指示
をする。 S30において、Nの場合(同一方向のゼロクロス点検
出の場合)は、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となる。 すなわち、第17図の最初の3つの波形のピーク(a0,b
0,a1)は、ノイズによるもので、これらのノイズの周期
を検出して発音開始を指示すると、全くおかしな音が発
生してしまう。そこで、S31では、波高値が大きく変わ
ったことを検知して、X=1とし、S35でNの判断をす
るようにする。そして、S31にて波形が正常な変化をす
ることが検知されてから、発音開始を指示するようにす
る。 第17図の場合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)についての処理がなされる。そして、適切な波形
入力に応答してこのSTEP3において、抽出されたピッチ
に従った音高の楽音が発生開始されることになる。第11
図から判明するように、周期検出を開始してから、1.5
周期程度の時間経過で発音指示が音源SSに対しなされる
ことになる。勿論、諸条件を満足しなければ、更におく
れることは上述したとおりである。 第10図は、第4図のM9として示すSTEP4のフローチャ
ートであり、この場合ピッチ抽出のみを行なうルート
、実際にピッチ変更を行なうルートがある。先ず、
S40,S41,S42,S63〜S68に示すルートについて説明す
る。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へ進む。 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され、カ
ウントアップされる。 従って、波形ナンバーカウンタHNCは、上限が9とな
る。そして3S65もしくはS66の処理の後S67へ進行する。
S67では、レジスタRIVを1とし、今回のゼロクロス時刻
から時刻記憶レジスタTFRの内容を引算して、周期レジ
スタTTRへ入力する。この周期レジスタTTRは、第11図に
示すような周期情報を示すようになる。そして、今回の
ゼロクロス時刻tは、時刻記憶レジスタTFRへセーブさ
れ、この後、メインルーチンにリターン(RET)する。 S63でYの場合は、S68に進み今回波高値c>前回の波
高値AMP(b)かどうかが判断され、Yの場合はS69に進
む。S69では、今回波高値cに前回の波高値APM(b)が
書替えられ、S70に進む。S70では今回波高値c>前回の
振幅値AMPL1かどうかが判断され、Yの場合にはS71に進
み、ここで今回波高値cが前回の振幅値AMRL1に入力さ
れる。 もし、S68でNの判断がなされるとすぐにメインルー
チンへリターンする。従って、新しい入力波形のピーク
が大である場合についてのみ、新しい波形の振幅値が登
録される。(その場合は、倍音のピークをひろっていな
いと考えられるので。) また、S70でNのときと、S71の処理の終了のときに
は、同様にメインルーチンへリターンする。 以上述べたようにルートは、第11図の例によれば以
下のような処理がなされる、MT=0≠b、RIV=0、AMP
(1)←c、AMRL2←AMRL1、MRL1←max[AMP(0),c
(のいずれか大きい方)]、HNC←(HNC+1)=1,RI
V、TTR←(t−TFR)、TFR−tが処理される。従って、
周期レジスタTTRに前回の同極性のゼロクロス点(STEP2
→3のところ)から今回のゼロクロス点までの時刻情報
の差つまり、周期情報が求まったことになる。そして、
メインルーチンへ戻り、次のゼロクロスインターラプト
を待つ。 次に、S40〜S62に示すルートへ進んだ場合の説明を
行なう。いま、波形ナンバーカウンタHNC=1なので(S
66参照)、S40からS42へ進む。S42では、第11図のよう
な場合、MT=0、b=0なのでYとなり、S43へ進む。S
43では、レジスタRIV=1かどうかが判断される。既に
ルートにおいて、レジスタRIVは1とされている(S67
参照)ので、S43の判断はいまの場合Yとなり、S44へ進
む。 S44では、レジスタSTEP=4かどうかが判断され、Y
の場合にはS45に進む。S45では、今回波高値c<60H
(Hは16進法表現を示す)かどうかが判断され、波高値
cが小であればYとなり、S46に進む。S46では、前々回
の振幅値AMRL2−前回の振幅値AMRL1≦(1/32)×前々回
の振幅値AMRL2かどうかが判断され、Yの場合にはS47に
進み、リラティブオフカウンタFOFRが0にセットされ
る。このリラティブオフの処理については後述する。そ
して、S48では周期計算がおこなわれる。、具体的には
(今回のゼロクロス時刻t−前回のゼロクロス時刻デー
タTF)が今回の周期情報ttとしてレジスタTOTOにットさ
れる。そして、S49に進み、S49では、今回の周波数情報
tt>周波数上限THLIM(発音開始後の上限)かどうかが
判断され、Yの場合にはS50に進む。 S49の周波数上限THLIMは、STEP3のS36で使用したトリ
ガー時(発音開始時)周波数の許容範囲の上限(従って
周期として最小で、最高音フレットの2〜3半音上の音
高周期に相当する)と同一のものである。 次に、S50では次の処理が行なわれる。すなわち、レ
ジスタRIVを0にし、今回のゼロクロス時刻tが前回の
ゼロクロス時刻データTFとして入力され、また前回の波
高値AMP(b)が前々回波高値eに入力され、さらに前
回波高値cが前回の波高値AMP(b)に入力される。 そして、S50の処理の後S51に進み、S51では、周波数
下限TLLIM>今回の周期情報ttかどうかが判断され、Y
の場合すなわち今回の周期がノートオン中のピッチ抽出
音域下限以下になった場合にはS52に進む。 この場合、周波数下限TLLIMは、例えば、開放弦音階
の1オクターブ下にセットされる。つまり、STEP3の周
波数下限TTLIM(S37参照)に比較して、許容範囲を広く
している。このようにすることで、トレモロアームの操
作などによる周波数変更に対応し得るようになる。 従って、周波数の上限、下限について許容範囲に入る
場合についてのみS52まで進み、そうでない場合はS49、
S51よりメインルーチンへリターンする。 次に、S52では周期データTTPが前々回抽出された周期
データhに入力され、また、今回の周期情報ttが前回抽
出された周期データTTPに入力される。そして、S53で今
回波高値cがベロシティVELに書込まれ、S54に進む。S5
4では、ノーチェンジレベルNCHLV>(前々回波高値e−
今回波高値c)かどうかの判断が行なわれ、Yの場合に
はS55に進む。 すなわち、前回の同極性の波高値(e=AMP(b))
と今回の波高値cとが大きく変化している場合は、その
差がNCLVを越えることになり、そのようなときに、抽出
された周期情報に基づきピッチ変更を行なうと、不自然
な高音変化を呈することになる可能性が高い。そこで、
S54でNの判断されると、S55以降の処理をすることな
く、メインルーチンへリターンする。 次に、S54でYの場合、リラティブオフカウンタFOFR
=0か否かが判断されるる。後述するリラティブオフ処
理を行なっているときは、リラティブオフカウンタFOFR
は0でなくなっており、そのような場合もピッチ変更
(S61を参照)の処理を行なうことなく、S55でNの判断
をしてメインルーチンへリターンする。そして、S55に
て、Yの判断をしたときは、S56、S57へと順次進む。 ここで2波3値一致条件が判断される。S56では今回
の周期情報tt×2-7<|今回の周期情報tt−前々回周期
データh|が判断され、Yの場合にはS57に進み、またS57
では今回の周期情報tt×2-7<|今回の周期情報tt−周
期レジスタTTRの内容|が判断され、Yの場合にはS58に
進む。 すなわち、S56では、第11図の今回の周期情報tt(S43
参照)が、前回の周期データh(S52参照)の値と略一
致するか否かを判断し、S57では、今回の周期情報ttの
値が、それに重なる周期TTRとほぼ一致するか否かを判
断する。なお、その上限範囲は、2-7xttとして、周期情
報に依存してその値が変わるようになっている。勿論、
これは固定の値としてもよいが、本実施例採用技術の方
が良好な結果を得ることができる。 次のS58では、前回の周期情報tt>定数TTUかどうかが
判断され、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オクターブ低音の周期情報)がセットされる。従っ
て、急激にオクターブアップする(これは、フレットを
離してミュート操作したときなどに生ずる)ことやオク
ターブダウンすること(これは波形のピークをとり逃し
たときなどに起る)があったときは、ピッチ変更をする
と、不自然となるので、ピッチ変更をしないようにブラ
ンチする。 もし、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に書替えられる。 つまり、後述するように、リラティブオフの処理がな
されたときに限り、STEP=5となるが、そのときは、ピ
ッチ変更を行なうことなく時定数チェンジを行なう。こ
の時定数チェンジの処理とは、第2図の時定数変換制御
回路TCC内部のレジスタに今回の周期情報ttの値に基づ
くデータをマイコンMCPがセットすることをいう。これ
は、既に説明したとおりである。 そして、S62の処理の終了でメインルーチンへリター
ンする。従って、以上述べたようにルートは、第11図
に示す通り次の処理がなされる。すなわち、HNC=1、M
T=0=b、RIV=1、FOFR←0、tt←(t−TF)、RIV
←0、TF←t、e←AMP(0)、AMP(0)←c、h←TT
P、TTP←tt、VEL←cであり、さらに、 TTP≒TTR≒tt、 TTU<tt<TTW、 AMP(0)−c<NCHLV の3条件の満足で、ttに従ったピッチ変更を行なう。し
かる後、TTU←(17/32)×tt、TTW←(31/16)×ttがな
される。 従って、ルートにて、実際の音源SSに対するピッチ
変更が行なわれ、続くゼロクロスインタラプトでルート
の処理、同様に、続くゼロクロスインタラプトで.ル
ートの処理が行われる。このようにして、ルートで
は、単に周期を抽出(S67を参照)し、ルートでは実
際のピッチ変更(S61参照)、時定数チェンジ処理(S62
参照)が行なわれることになる。 なお、STEP4におけるS40において、ルートのS66で
波形ナンバーカウンタHNCが3を越えるように、カウン
トアップされた後は、Yの判断がなされ、次にS41へ行
き、リラティブオンの条件を検出する。これは、c−AM
P(b)>TRLRLであり、前回の振幅値AMRL1に比べて今
回の振幅値がしきい値TRLRLを越えて増大したとき、つ
まり、これは弦操作後に同じ弦を再度ピッキングしたと
き(トレモロ奏法などによる)にこのようなことがお
き、この場合はS41でリラティブオンの処理をすべくS41
からS78へ進み、時定数変換制御回路TCCの時定数チェン
ジレジスタCHTRRへ最高音フレット(例えば22フレッ
ト)の周期CHTIMをセットする。しかる後、第5図のS06
へ進み、当該発音中の楽音をノートオフした後、再発音
開始する。 通常の演奏操作によれば、S40、S41、S42へ進み、上
述したルートもしくはルートへ進む。 次に第12図、第13図を参照して、リラティブオフ処理
を説明する。つまり、フレット操作している状態から、
開放弦状態へ移行すると、波形の振幅レベルは急激に落
ちてきて、前々回の波高値AMRL2と前回の波高値AMRL1と
の差が(1/32)AMRL2を越えるようになると、S46からS7
4へ進む。そして、リラティブオフカウンタFOFRが定数R
OFCTを越えるまでカウントアップするようにS74からS75
へ進む。このとき、S75からS48へ行きS49〜S55の処理を
行なうが、FOFR=0でないので、リラティブオフ処理に
入る直前ではピッチ変更をおこなうことなくメインルー
チンへ戻る。 そして、S74でYと判断すると、つまり第13図の例で
は、FOFRの値が3となったとき(ROFCTは2である)、S
74からS75へいく。 ただし、S46のジャッジでYの判断が一度でもある
と、S46からS47へ進み、FOFRをリセットするようにな
る。従って、ROFCTで指定される回数だけ続けてS46の条
件を満足しなければ、リラティブオフの処理はなされな
い。なお、ROFCTの値は、音高が高い弦について大きな
値としておけば、略一定の時間経過で、いずれの弦につ
いてもリラティブオフ処理ができる。 そして、S74からS76へ行くと、リラティブオフカウン
タFOFRをリセットし、レジスタSTEPを5とし、S77へ進
んで音源SSに対しノートオフを指示する。このSTEPが5
の状態では、ピッチ抽出処理をSTEP4の時と同様に実行
するが、S60からS61を介することなくS62へ進むので、
音源SSに対しては、ピッチ変更はされない。ただし、S6
2において抽出した周期に従って時定数がチェンジ処理
を行なう。 そして、STEPが5の状態では、リラティブオンの処理
を受付けるが(S41、S78)、それ以外の場合では、第4
図のメインフローの中で、振動レベルが減少してきたこ
とが検知されることによりM14でSTEPが0となり、初期
状態にもどる。 なお、S46で使用するAMRL1、AMRL2はS64で作られてお
り、1周期の中でレベルが大な方のピーク(最大ピーク
と最小ピークとの一方)が、この値とされ、第13図の例
では、最大ピークaKが最小ピークbK−1より必ず大であ
る場合であって、a n+1とa n−2、a n+2とa n+3
とa n+4の差がいずれも所定値を越えるようになって
いる。 また、このときルートの処理においては、最小ピー
クb n+1、b n+2、b n+3が極端に減少してきてい
るので、S54でNの判断が成されて、メインルーチンへ
リターンし、ピッチ変更処理はなされない。 次に、ピッチ抽出しているなかで、オクターブ関係に
ある倍音、つまりオクターブ高い音やオクターブ低い音
が続けて検出されたときの処理について説明する。 既に説明したように、S58ではttがTTUを越えなかった
とき、つまり、前回抽出した周期の17/32倍した値TTUよ
り小になったとき、S76へ進む。つまり、オクターブ高
い音が抽出されたときは、指定していたフレットから指
を離してミュート操作をした場合とみなし、オクターブ
高い音を出力することなく、S58からS76へ行き、リラテ
ィブオフ時同様S76、S77の処理によって当該音の発音を
停止する。 また、S59では、ttがTTWを越えたとき、つまり前回抽
出した周期の31/16倍した値TTWより大となったとき、S6
0へ進むことなく、メインルーチンへリターンする。 この状態は第14図に示されている。通常ノートオフ近
辺の非常に波形が小さい場合、他のピッキングによって
ヘキサピックアップのクロストオークやボディの共振に
よって波形が乗ってくる。すると、例えば、第14図のよ
うな入力波形となり、1オクターブ下の入力波形が続け
て検出されてしまうことがある。 このような場合、何等処理を施さないと、急にオクタ
ーブ下を音の出力してしまい、極めて不自然となる。そ
のために、S57、S56でT an+2≒T an+3≒T bn+2が
検出されても、T an+3>T an+1×(31/16)となる
ので、ピッチ変更することなく、S59からメインルーチ
ンへリターンする。 次に、ダブリの波形が抽出される場合つまり、同じ極
性のゼロクロス点が続けて到来する場合について説明す
る。第15図は、MT=1の場合の例を示しており、基本波
周期と倍音成分の周期が非整数倍の関係にあるので、倍
音を位相がずれて行き、同じ極性のゼロクロスを検出を
してしまうことになり、そのために誤ったピッチ変更を
しないようにしないといけない。 そこで、図のダブリと書いてあるゼロクロス時のSTEP
4の処理では、S42からS43へ行き、S43ではYの判断をし
てS72へ行く。ここで、(a n+3)と(a n+2)の大
きさが比較され、もし(a n+3)が(a n+2)より大
であれば、S72でYの判断をし、AMP(1)に、(a n+
3)の値をセットし、もし逆の場合は何等変更処理をし
ない。 ところで、このダブリの場合抽出している時刻データ
は何等使用しないので、周期情報T an+3は何等変わら
ない。また、当然周期データに基づくピッチ変更は行な
われない。 同様に、第16図は波形のダブリの場合の例で、MT=0
の状態を示している。このときも、図中にダブリと示し
ているところで、ダブリの状態が生じている。このとき
は、S42からS63へ行き、Yの判断をしてS68へ行く。S68
では、いまの場合(a n+2)と(a n+3)との比較を
して、(a n+3)が(a n+2)より大なときに限りS6
9へ行き、AMP(1)を書替える。この場合は、更に前回
の振幅値AMRL1と今回の振幅情報(波高値c)の比較をS
70で行なって、もしYならばS71へ進み、今回の振幅情
報cを前回の振幅値AMRL1へセットする。 このようにして、倍音の影響で、波形がタブったとき
にも、S56、S57を満足しない限りピッチ変更処理はなさ
れないことになる。 以上述べた実施例によれば、トレモロ付の電子ギター
であっても、発音開始時は音域制限手段のピッチ抽出音
域制限範囲が狭く制御されることから、ピッキング時に
おけるミストラッキングを減らすことができる。 なお、前記実施例おいては、最大ピーク点、最小ピー
ク点の次のゼロクロス点毎の間隔から周期抽出を行なう
ようにしたが、その他の方式、例えば最大ピーク点間や
最小ピーク点間の時間間隔から周期抽出をおこなっても
よい。また、それに合せて回路構成は種々変更し得る。 また、前記実施例においては、この発明を電子ギター
(ギターシンセサイザ)に適用したものであったが、そ
れに限らない。ピッチ抽出を行なって、オリジナルの信
号とは別の音響信号を発生するタイプの楽器または装置
であれば、種々適用可能である。 [発明の効果] 以上述べた本発明によれば、入力波形信号のピッチを
抽出するピッチ抽出手段と、前記ピッチ抽出手段の抽出
するピッチに対応する音高の楽音を発生指示する指示手
段と、前記ピッチ抽出手段に対して、前記指示手段が楽
音の発生を指示していない時は第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 (1)
- (57)【特許請求の範囲】 1.入力波形信号のピッチを抽出するピッチ抽出手段
と、 前記ピッチ抽出手段の抽出するピッチに対応する音高の
楽音を発生指示する指示手段と、 前記ピッチ抽出手段に対して、前記指示手段が楽音の発
生を指示していない時は第1の所定周波数範囲内に入る
ピッチを抽出するよう指示し、前記指示手段が楽音の発
生を指示している時は、前記第1の所定周波数範囲より
広い第2の所定周波数範囲内に入るピッチを抽出するよ
う指示し、当該指示に基づいて抽出したピッチを前記指
示手段に供給するよう制御する制御手段と、 を具備することを特徴とする発音制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62258668A JP2661065B2 (ja) | 1987-10-14 | 1987-10-14 | 発音制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62258668A JP2661065B2 (ja) | 1987-10-14 | 1987-10-14 | 発音制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01100595A JPH01100595A (ja) | 1989-04-18 |
JP2661065B2 true JP2661065B2 (ja) | 1997-10-08 |
Family
ID=17323439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62258668A Expired - Fee Related JP2661065B2 (ja) | 1987-10-14 | 1987-10-14 | 発音制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2661065B2 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6126089A (ja) * | 1984-07-16 | 1986-02-05 | セイコーインスツルメンツ株式会社 | 音程検出装置 |
-
1987
- 1987-10-14 JP JP62258668A patent/JP2661065B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6126089A (ja) * | 1984-07-16 | 1986-02-05 | セイコーインスツルメンツ株式会社 | 音程検出装置 |
Also Published As
Publication number | Publication date |
---|---|
JPH01100595A (ja) | 1989-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2615825B2 (ja) | 電子弦楽器 | |
JP2734521B2 (ja) | 楽音制御装置 | |
JP2782949B2 (ja) | 鍵盤楽器 | |
US5048391A (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 | |
US5990408A (en) | Electronic stringed instrument using phase difference to control tone generation | |
US5147970A (en) | Electronic musical instrument for generating musical tones on the basis of characteristics of input waveform signal | |
JP2661065B2 (ja) | 発音制御装置 | |
JP2611263B2 (ja) | 発音制御装置 | |
JP2661066B2 (ja) | 発音制御装置 | |
JP2722584B2 (ja) | 楽音制御装置 | |
JP2591001B2 (ja) | 電子弦楽器 | |
JP2775633B2 (ja) | 楽音制御装置 | |
JP2605773B2 (ja) | 電子弦楽器 | |
JP2591000B2 (ja) | 電子弦楽器 | |
JP2661481B2 (ja) | 電子楽器 | |
JP2858313B2 (ja) | 音高情報生成装置 | |
JP2615946B2 (ja) | 楽音制御装置 | |
JP2530928Y2 (ja) | 電子楽器のレベル表示装置 | |
JP6135312B2 (ja) | 電子弦楽器、楽音制御方法及びプログラム | |
JP2958778B2 (ja) | 楽音発生装置 | |
JPH01100596A (ja) | 電子楽器の入力制御装置 | |
JP2014153434A (ja) | 電子弦楽器、楽音生成方法及びプログラム | |
JP6361109B2 (ja) | 電子弦楽器、楽音制御方法及びプログラム | |
JPH01100597A (ja) | 発音制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |