JP4296433B2 - 入力制御装置および入力制御プログラム - Google Patents

入力制御装置および入力制御プログラム Download PDF

Info

Publication number
JP4296433B2
JP4296433B2 JP2005179094A JP2005179094A JP4296433B2 JP 4296433 B2 JP4296433 B2 JP 4296433B2 JP 2005179094 A JP2005179094 A JP 2005179094A JP 2005179094 A JP2005179094 A JP 2005179094A JP 4296433 B2 JP4296433 B2 JP 4296433B2
Authority
JP
Japan
Prior art keywords
period
sound
string
picking
touch
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
JP2005179094A
Other languages
English (en)
Other versions
JP2006350191A (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 JP2005179094A priority Critical patent/JP4296433B2/ja
Publication of JP2006350191A publication Critical patent/JP2006350191A/ja
Application granted granted Critical
Publication of JP4296433B2 publication Critical patent/JP4296433B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、電子ギターに用いて好適な入力制御装置および入力制御プログラムに関する。
入力される波形信号のピッチを抽出し、抽出したピッチに対応する楽音の発音を指示する入力制御装置が知られている。この種の装置として、例えば特許文献1には、入力波形信号の最大値検出直後の波形ゼロクロス周期と最小値検出直後の波形ゼロクロス周期とを検出し、両周期が略一致した場合にその検出した周期に対応するピッチの楽音の発音を指示したり、あるいは入力波形信号の最大値検出周期と最小値検出周期とを検出し、両周期が略一致した場合にその検出した周期に対応するピッチの楽音の発音を指示する技術が開示されている。
特開昭63−136088号公報
ところで、上記特許文献1に開示の入力制御装置を適用した電子ギターでは、各弦毎に配設されるピックアップコイルにより弾弦(ピッキング)後の弦振動を入力波形信号として検出する。ピッキング後の入力波形信号からピッチ抽出する為には、最低1.5波長分の時間が必要とされる。例えば5弦開放のギター演奏では、110Hzのピッキング音となるが、このピッキング音のピッチ抽出に要する時間(1.5波長分)は13.63msecとなり、これにノイズによるエラー訂正等の処理時間を加えると、都合20msec程度のピッチ抽出遅延に成り得る。ピッチ抽出遅延は、発音遅れとして認識され、とりわけピッキング音が低音になるほど顕著になり、ギター演奏に不自然さや違和感を与えてしまうという問題がある。
そこで本発明は、このような事情に鑑みてなされたもので、発音遅れを解消することができる入力制御装置および入力制御プログラムを提供することを目的としている。
上記目的を達成するため、請求項1に記載の発明では、弾弦に先行して行われるフレット操作に応じて発生するタッチ音の周期を検出するタッチ周期検出手段と、弾弦に応じて発生するピッキング音の周期を検出するピッキング周期検出手段と、前記タッチ周期検出手段により検出された周期と前記ピッキング周期検出手段により検出された周期とが略一致した場合に、その略一致した周期に対応した音高の楽音の発音を指示する発音指示手段とを具備することを特徴とする。
請求項2に記載の発明では、弾弦に先行して行われるフレット操作に応じて発生するタッチ音の周期を検出するタッチ周期検出手段と、弾弦に応じて発生するピッキング音の半周期を検出するピッキング周期検出手段と、前記ピッキング周期検出手段により検出されたピッキング音の半周期を2倍した推定周期が、前記タッチ周期検出手段により検出されたタッチ音の周期に略一致した場合に、その推定周期に対応した音高の楽音の発音を指示する発音指示手段とを具備することを特徴とする。
上記請求項1又は2のいずれかに従属する請求項3に記載の発明では、前記タッチ周期検出手段は、振幅が所定レベル未満の入力波形を、弾弦に先行して行われるフレット操作に応じて発生するタッチ音として周期検出することを特徴とする。
上記請求項1又は2のいずれかに従属する請求項4に記載の発明では、前記ピッキング周期検出手段は、振幅が所定レベル以上の入力波形を、弾弦に応じて発生するピッキング音として周期検出することを特徴とする。
上記請求項1又は2のいずれかに従属する請求項5に記載の発明では、前記タッチ周期検出手段は、フレット操作を検出するフレット操作検出手段を備え、このフレット操作検出手段がフレット操作を検出した状態で入力される波形を、弾弦に先行して生じるタッチ音として周期検出することを特徴とする請求項1又は2のいずれかに記載の入力制御装置。
請求項6に記載の発明では、弾弦に先行して行われるフレット操作に応じて発生するタッチ音の周期を検出するタッチ周期検出処理と、弾弦に応じて発生するピッキング音の周期を検出するピッキング周期検出処理と、前記タッチ周期検出処理にて検出された周期と前記ピッキング周期検出処理により検出された周期とが略一致した場合に、その略一致した周期に対応した音高の楽音の発音を指示する発音指示処理とをコンピュータで実行させることを特徴とする。
請求項1、6に記載の発明によれば、弾弦に先行して行われるフレット操作に応じて発生するタッチ音から検出した周期と、弾弦に応じて発生するピッキング音から検出した周期とが略一致した場合に、その略一致した周期に対応した音高の楽音の発音を指示するので、従来のように、弾弦で生じるピッキング音からのピッチ抽出よりも早期に発音ピッチを確定でき、これにより発音遅れを解消することができる。
請求項2に記載の発明によれば、弾弦に先行して行われるフレット操作に応じて発生するタッチ音から検出した周期と、弾弦に応じて発生するピッキング音の半周期を検出して2倍した推定周期とが略一致した場合に、その推定周期に対応した音高の楽音の発音を指示するので、従来のように、弾弦で生じるピッキング音からのピッチ抽出よりも早期に発音ピッチを確定でき、これにより発音遅れを解消することができる。
以下、図面を参照して本発明の実施の形態について説明する。
A.第1実施形態
(1)構成
図1は本発明の第1実施形態による入力制御装置を備えた電子ギターの要部構成を示すブロック図である。この図において、ピッチ抽出部P1〜P6は、各弦に対応して設けられ、入力波形POの周期計測に必要な各種信号を発生してCPU100に供給する。入力波形POとは、電子ギター本体(不図示)の各弦毎に配設されるピックアップコイルから出力される波形信号を指す。ピッチ抽出部P1〜P6は、それぞれ構成要素2〜14から構成される。
ピッチ抽出部P1〜P6において、アンプ2は、ピックアップコイルから供給される入力波形POをレベル増幅して出力する。ローパスフィルタ(LPF)3は、レベル増幅された入力波形POの高周波成分を除去する。最大ピーク検出回路(MAX)4は、入力波形POの最大ピークを検出して最大ピーク検出信号を発生する。最小ピーク検出回路(MIN)5は、入力波形POの最小ピークを検出して最小ピーク検出信号を発生する。ゼロクロス検出回路(Zero)6は、入力波形POのゼロクロスを検出してゼロクロス検出信号を発生する。
A/D変換器7は、入力波形POをA/D変換して入力波形データを出力する。フリップフロップ(FF)8は、最大ピーク検出回路(MAX)4から供給される最大ピーク検出信号の立ち下がりに同期してHighレベルの出力を発生し、CPU100から供給されるクリア信号CLaに同期してその出力をLowレベルに設定する。フリップフロップ(FF)10は、最小ピーク検出回路(MIN)5から供給される最小ピーク検出信号の立ち下がりに同期してHighレベルの出力を発生し、CPU100から供給されるクリア信号CLaに同期してその出力をLowレベルに設定する。
インバータ10は、ゼロクロス検出回路(Zero)6から出力されるゼロクロス検出信号を反転出力する。アンドゲート11は、フリップフロップ(FF)8の出力とインバータ10の出力とのAND出力を割込み信号INTaとしてCPU100に供給する。つまり、アンドゲート11は、最大ピーク検出後の波形ゼロクロス時点に割込み信号INTaをCPU100に供給する。なお、CPU100は割込み信号INTaの入力に応じて、クリア信号CLaを発生してフリップフロップ(FF)8に供給する。
アンドゲート12は、フリップフロップ(FF)9の出力とゼロクロス検出信号とのアンド出力を割込み信号INTbとしてCPU100に供給する。つまり、アンドゲート12は、最小ピーク検出後の波形ゼロクロス時点に割込み信号INTbをCPU100に供給する。なお、CPU100は割込み信号INTbの入力に応じて、クリア信号CLbを発生してフリップフロップ(FF)9に供給する。オアゲート13は、フリップフロップ(FF)8、9のOR出力をラッチ信号Lとしてラッチ回路14およびCPU100に供給する。ラッチ回路14は、ラッチ信号Lが供給される毎、すなわち最大ピーク検出時点もしくは最小ピーク検出時点の入力波形データをラッチしてCPU100に供給する。
このように、ピッチ抽出部P1〜P6では、例えば図2(a)に図示する入力波形POが供給されると、同図(b)〜(d)に図示するタイミングで生成される最大ピーク検出信号、ゼロクロス検出信号およびフリップフロップ(FF)8の出力に基づき、同図(e)に図示するように、最大ピーク検出後の波形ゼロクロスに同期した割込み信号INTaをCPU100に供給する。また、図示していないが、最小ピーク検出信号、ゼロクロス検出信号およびフリップフロップ(FF)9の出力に基づき、最小ピーク検出後の波形ゼロクロスに同期した割込み信号INTbをCPU100に供給する。さらに、ラッチ回路14が最大ピーク検出時点もしくは最小ピーク検出時点の入力波形データをCPU100に供給するようになっている。
再び図1を参照して第1実施形態の構成を説明する。CPU100は、ピッチ抽出部P1〜P6からそれぞれ供給される各信号(割込み信号INTa、INTbおよび入力波形データDATA)に基づき各弦毎の発音又は消音を音源104に指示する。具体的には、入力波形データDATAが所定レベルを超えた時に、割込み信号INTa、INTbの発生周期で定まる音高の楽音の発音を音源104に指示する一方、入力波形データDATAが所定レベル以下になった時に、音源104に消音を指示する。
このようなCPU100の処理において、本発明の特徴は、弾弦(ピッキング)以前に行われるフレット操作(弦を指で抑えて音高指定する操作)の時に、弦がフレットに接触して発生する所謂「タッチ音」の入力波形POをピッチ抽出に用いることにある。このようにすることによって、弾弦で生じるピッキング音からのピッチ抽出よりも早期に発音ピッチを確定できる結果、発音遅れを解消するようになっている。こうしたCPU100の処理動作の詳細については追って述べる。
ROM102は、CPU100が実行する各種制御プログラムの他、ピッチ変換テーブルを記憶する。ROM102に記憶される各種制御プログラムとは、後述するメインルーチン、n弦処理、INTa割込み処理およびINTb割込み処理を含む。また、ROM102に記憶されるピッチ変換テーブルとは、割込み信号INTa、INTbの発生周期を読み出しアドレスとして、対応するピッチ(音高)を読み出すデータテーブルである。
RAM103は、バッファエリアおよびワークエリアを備える。RAM103のバッファエリアには、ピッチ抽出部P1〜P6から取り込む入力波形データDATAが格納される。RAM103のワークエリアには、割込み信号INTa、INTbの発生周期を計時するカウンタとして機能するタイマレジスタ等の各種レジスタやフラグが一時記憶される。音源104は周知の波形メモリ読み出し方式で構成され、CPU100から供給される演奏情報に応じた楽音データを発生する。サウンドシステム105は、音源7から出力される楽音データをアナログ変換した後、信号増幅したり、不要ノイズ等を除去するフィルタリングを施してスピーカから放音させる。
(2)動作
次に、図3〜図8を参照して第1実施形態の動作を説明する。以下では、最初にメインルーチンの動作について説明した後、INTa割込み処理、INTb割込み処理およびn弦処理の各動作について説明する。
<メインルーチンの動作>
上記構成による電子ギターに電源が投入されると、CPU100は図3に図示するメインルーチンを実行してステップSA1に処理を進め、RAM103に設けられる各種レジスタ・フラグ類をゼロリセットしたり、あるいは初期値セットするイニシャライズを行った後、ステップSA2に処理を進める。ステップSA2では、処理対象となる弦を指定するポインタnに「1」をセットする。次いで、ステップSA3では、ポインタnの値で指定される弦の状態に応じた演奏情報を発生して音源104に与えるn弦処理を実行する。n弦処理の詳細については後述する。
そして、n弦処理が完了すると、ステップSA4に進み、ポインタnをインクリメントして歩進させ、続くステップSA5では、歩進されたポインタnの値が「6」を超えたか、つまり、第1弦から第6弦までの全ての弦について処理し終えたか否かを判断する。全ての弦について処理し終えていなければ、判断結果が「NO」となり、ステップSA3に処理を戻す。以後、全ての弦について処理し終えるまでステップSA3〜SA5を繰り返す。そして、全ての弦について処理し終えると、上記ステップSA5の判断結果が「YES」となり、上述のステップSA2に処理を戻して再び第1弦からn弦処理を行う。以後、電源スイッチがオフ操作されるまで、第1弦〜第6弦について順次n弦処理を繰り返す。
<INTa割込み処理の動作>
次に、図4を参照してINTa割込み処理の動作を説明する。上述のメインルーチン実行中にピッチ抽出部側から割込み信号INTaが供給されると、CPU100は図4に図示するINTa割込み処理を実行してステップSB1に処理を進める。ステップSB1では、クリア信号CLaを発生してピッチ抽出部のフリップフロップ(FF)8をリセットすると共に、割込み信号INTaの発生タイミングを計時するカウンタの値を読み込む。
続いて、ステップSB2では、カウンタ値読み込みが1回目でないか否かを判断する。カウンタ値の読み込みが初回であると、判断結果は「NO」になり、ステップSB7に進み、フラグFFに「1」をセットする一方、カウンタをクリアして本処理を終える。これにより、初回の割込み信号INTaが供給された場合、CPU100は、最大ピーク検出後の波形ゼロクロス時点のカウンタ値を保持する。なお、上記フラグFFは、「1」の場合にINTa割込み処理完了を表し、「0」の場合に後述のINTb割込み処理完了を表す。
さて一方、カウンタ値の読み込みが初回以降であると、上記ステップSB2の判断結果が「YES」となり、ステップSB3に進む。ステップSB3では、フラグFFが「0」であるか否かを判断する。フラグFFは、INTa割込み処理による周期計測が行われた時に「1」となり、INTb割込み処理による周期計測が行われた時に「0」となるフラグである。また、図2(e)に図示するように、周期t1を計測するINTa割込み処理と、周期t2を計測するINTb割込み処理とは、理想的には交互に行われる。したがって、INTa割込み処理とINTb割込み処理とが順当に実行されると、フラグFFはその都度反転するが、例えば入力波形POにノイズが重畳する等して最大ピークあるいは最小ピークの検出が行えない状況であれば、INTa割込み処理とINTb割込み処理とが交互に実行されない事態も起こり得る。そこで、ステップSB3では、フラグFFが「0」であるか否かで順当にINTb割込み処理が実行されたかどうかを判断している。
順当にINTb割込み処理が実行されていなければ、フラグFFは「1」のままだから、上記ステップSB3の判断結果は「NO」になり、この場合、周期計測不可と見做して何も行わずに本処理を完了させる。これに対し、順当にINTb割込み処理が実行されていると、後述するように、フラグFFは「0」にセットされるので、上記ステップSB3の判断結果が「YES」になり、ステップSB4に進む。
ステップSB4では、前回取り込んだカウンタ値と今回取り込んだカウンタ値とに応じて割込み信号INTaの発生周期を算出し、続くステップSB5では、算出した周期をレジスタTIME1にストアする。そして、ステップSB6では、割込み信号INTaの周期計測が適正に行われた旨を表す為にフラグTIME1Fに「1」をセットする。この後、ステップSB7に進み、INTa割込み処理完了を表す為にフラグFFに「1」をセットすると共に、カウンタをクリアして本処理を終える。
<INTb割込み処理の動作>
次に、図5〜図6を参照してINTb割込み処理の動作を説明する。前述のメインルーチン実行中にピッチ抽出部側から割込み信号INTbが供給されると、CPU100は図5に図示するINTa割込み処理を実行してステップSC1に処理を進める。ステップSC1では、クリア信号CLbを発生してピッチ抽出部のフリップフロップ(FF)9をリセットすると共に、割込み信号INTbの発生タイミングを計時するカウンタの値を読み込む。続いて、ステップSC2では、カウンタ値読み込みが1回目でないか否かを判断する。カウンタ値の読み込みが初回であると、その判断結果は「NO」になり、後述するステップSC7に進む。
一方、カウンタ値の読み込みが初回以降であると、上記ステップSC2の判断結果が「YES」となり、ステップSC3に進む。ステップSC3では、上述したINTa割込み処理と同様、フラグFFが「1」であるか否かで順当にINTa割込み処理が実行されたかどうかを判断する。順当にINTa割込み処理が実行されていなければ、フラグFFは「0」のままだから、上記ステップSC3の判断結果は「NO」になり、この場合、周期計測不可と見做して何も行わずに本処理を完了させる。
これに対し、順当にINTa割込み処理が実行されていると、前述したステップSB7(図4参照)によりフラグFFは「1」にセットされる為、上記ステップSC3の判断結果が「YES」になり、ステップSC4に進む。ステップSC4では、前回取り込んだカウンタ値と今回取り込んだカウンタ値とに応じて割込み信号INTbの発生周期を算出し、続くステップSC5では、算出した周期をレジスタTIME2にストアする。そして、ステップSC6では、割込み信号INTbの周期計測が適正に行われた旨を表す為にフラグTIME2Fに「1」をセットする。この後、ステップSC7に進み、INTb割込み処理完了を表す為にフラグFFをゼロリセットすると共に、カウンタをクリアする。
次いで、図6に図示するステップSC8に進み、フラグDANGENFが「0」であるか否かを判断する。フラグDANGENFとは、後述するように、入力波形データDATAが所定レベルV1以上の場合に「1」となるフラグである。換言すれば、弾弦(ピッキング)操作によるピッキング音が生じた状態では「1」、弾弦に先行して行われるフレット操作で弦がフレットに接触してタッチ音が生じた状態では「0」になるフラグである。したがって、このステップSC8では、ピッキング音が生じている状態あるいはタッチ音が生じている状態のいずれであるかを判断する。
そして、ピッキング音が生じている状態であれば、上記ステップSC8の判断結果は「NO」になり、本処理を完了させる。これに対し、タッチ音が生じている状態であると、上記ステップSC8の判断結果は「YES」になり、ステップSC9に進む。ステップSC9では、フラグTIME1FおよびフラグTIME2Fが共に「1」、つまり割込み信号INTa、INTbの各周期が計測済みであるか否かを判断する。両周期が計測済みでなければ、判断結果は「NO」になり、本処理を完了させるが、両周期が計測済みであると、判断結果が「YES」となり、ステップSC10に進む。ステップSC10では、レジスタTIME1に格納される割込み信号INTaの周期と、レジスタTIME2に格納される割込み信号INTbの周期とが略一致するかどうかを判断する。
両周期が略一致しない場合には、判断結果が「NO」となり、後述のステップSC13に進む。これに対し、両周期が略一致した場合には、判断結果が「YES」になり、ステップSC11に進み、レジスタTIME1に格納される割込み信号INTaの周期を、レジスタTIMEにストアする。次いで、ステップSC12では、フラグTOUCHFに「1」をセットする。これにより、弾弦に先行するフレット操作で生じたタッチ音に基づきピッチ抽出(周期計測)が完了した旨を表す。この後、ステップSC13,SC14にてフラグTIME1FおよびフラグTIME2Fをそれぞれゼロリセットして本処理を終える。
<n弦処理の動作>
次に、図7〜図8を参照してn弦処理の動作を説明する。上述したメインルーチンのステップSA3(図3参照)を介して本処理が実行されると、CPU100は図7に図示するステップSD1に進み、ポインタnの値に対応したピッチ抽出部Pn(n=1〜6)のラッチ回路14から入力波形データDATAを取り込み、RAM103のバッファエリアに格納する。続いて、ステップSD2では、フラグDANGENFが「0」であるか否か、すなわち前述したように、ピッキング音が生じている状態(DANGENF=1)あるいはタッチ音が生じている状態(DANGENF=0)のいずれであるかを判断する。
タッチ音が生じている状態であると、判断結果は「YES」になり、ステップSD3に進む。ステップSD3では、入力波形データDATAの波形レベルが所定値V1以上であるか否かを判断する。弾弦操作されず、入力波形データDATAの波形レベルが所定値V1以上に達していなければ、ここでの判断結果は「NO」になり、一旦本処理を完了させる。
一方、タッチ音が生じている状態から弾弦操作によりピッキング音が生じる状態に変化し、これにより入力波形データDATAの波形レベルが所定値V1以上に達した場合には、上記ステップSD3の判断結果が「YES」になり、ステップSD4に進み、フラグDANGENFに「1」をセットする。そして、ステップSD5では、フラグTIME1FおよびフラグTIME2Fをそれぞれゼロリセットして本処理を一旦完了させる。
さて、こうして弾弦操作に応じて、フラグDANGENFが「1」にセットされた状態で本処理が実行されると、上述したステップSD2の判断結果が「NO」となり、ステップSD6に処理を進める。ステップSD6では、フラグONFが「1」、すなわち音源104が発音中であるかどうかを判断する。以下、音源104が発音中でない場合と、発音中の場合とに分けて動作を説明する。
a.音源104が発音中でない場合
この場合、ステップSD6の判断結果が「NO」になり、図8に図示するステップSD11に進む。ステップSD11では、フラグTOUCHFが「1」であるか否か、すなわち弾弦(ピッキング)に先行したフレット操作で生じるタッチ音からピッチ抽出済みの場合(フラグTOUCHF=1)、あるいは弾弦で生じたピッキング音からピッチ抽出する場合(フラグTOUCHF=0)のいずれであるかを判断する。以下、タッチ音からピッチ抽出済みの場合と、弾弦で生じたピッキング音からピッチ抽出する場合とに分けて動作を説明する。
a−1.タッチ音からピッチ抽出済みの場合
タッチ音からピッチ抽出し終えていると、上記ステップSD11の判断結果が「YES」になり、ステップSD12に進む。ステップSD12では、フラグTIME1Fが「1」であるか否か、すなわち弾弦によりフラグDANGENFが「1」となった状態下で、前述のINTa割込み処理(図4参照)が適正に周期計測を行ったかどうかを判断する。INTa割込み処理が適正に周期計測できず、フラグTIME1Fが「0」であると、ここでの判断結果は「NO」になり、後述のステップSD17に処理を進める。
一方、INTa割込み処理(図4参照)が適正に周期計測を行っていれば、上記ステップSD12の判断結果は「YES」になり、ステップSD13に進む。ステップSD13では、タッチ音から抽出した周期(レジスタTIMEの値)と、INTa割込み処理が弾弦で生じたピッキング音から抽出した周期(レジスタTIME1の値)とが略一致するか否かを判断する。タッチ音から抽出した周期とピッキング音から抽出した周期とが略一致しなければ、判断結果は「NO」になり、後述のステップSD17に処理を進める。
これに対し、タッチ音から抽出した周期とピッキング音から抽出した周期とが略一致すると、上記ステップSD13の判断結果が「YES」になり、ステップSD14に進む。ステップSD14では、レジスタTIMEに格納される周期に対応した音高をROM102に記憶されるピッチ変換テーブルから読み出し、読み出した音高の楽音の発音開始を音源104に指示する。これにより、音源104は、タッチ音から抽出した周期に対応するピッチの楽音を発音する。したがって、従来のように、弾弦で生じたピッキング音からのピッチ抽出よりも早期に発音ピッチを確定できる為、発音遅れを解消し得るようになる。
こうして、発音開始を指示し終えると、CPU100はステップSD15に進み、フラグONFに「1」をセットして発音中である旨を表す。そして、ステップSD16〜SD17では、発音ピッチが確定したことを表す為、フラグDANGENF、フラグTOUCHF、フラグTIME1FおよびフラグTIME2Fをそれぞれゼロリセットして本処理を終える。
a−2.弾弦で生じたピッキング音からピッチ抽出する場合
弾弦で生じたピッキング音からピッチ抽出する場合には、上記ステップSD11の判断結果が「NO」になり、ステップSD18に進む。ステップSD18では、フラグTIME1Fが「1」であるか否か、すなわち弾弦によりフラグDANGENFが「1」となった状態下で、前述のINTa割込み処理(図4参照)が適正に周期計測を行ったかどうかを判断する。INTa割込み処理が適正に周期計測できず、フラグTIME1Fが「0」であると、判断結果は「NO」になり、前述のステップSD17を介して本処理を完了させる。
INTa割込み処理が適正に周期計測を行っていれば、上記ステップSD18の判断結果が「YES」になり、ステップSD19に進む。ステップSD19では、フラグTIME2Fが「1」であるか否か、すなわち弾弦によりフラグDANGENFが「1」となった状態下で、前述のINTb割込み処理(図5〜図6参照)が適正に周期計測を行ったかどうかを判断する。INTb割込み処理が適正に周期計測できず、フラグTIME2Fが「0」であると、判断結果は「NO」になり、前述のステップSD17を介して本処理を完了させる。
INTb割込み処理が適正に周期計測を行っていれば、上記ステップSD19の判断結果は「YES」になり、ステップSD20に進む。ステップSD20では、INTa割込み処理にて計測された周期(レジスタTIME1の値)と、INTb割込み処理にて計測された周期(レジスタTIME2の値)とが略一致するか否かを判断する。両周期が略一致しなければ、判断結果は「NO」になり、前述のステップSD17を介して本処理を完了させる。
一方、INTa割込み処理にて計測された周期とINTb割込み処理にて計測された周期とが略一致すると、上記ステップSD20の判断結果が「YES」になり、ステップSD21に進み、レジスタTIME1に格納される周期に対応した音高をROM102に記憶されるピッチ変換テーブルから読み出し、読み出した音高の楽音の発音開始を音源104に指示する。これにより、音源104は、ピッキング音から抽出した周期に対応するピッチの楽音を発音する。この後、前述したステップSD15〜SD17を実行し、フラグONFに「1」をセットして発音中である旨を表すと共に、フラグDANGENF、フラグTOUCHF、フラグTIME1FおよびフラグTIME2Fをそれぞれゼロリセットして発音ピッチの確定を表してから本処理を終える。
b.音源104が発音中の場合
さて、以上のようにして音源104が発音を開始した後に本処理が実行されると、前述したステップSD6(図7参照)の判断結果が「YES」になり、ステップSD7に処理を進め、入力波形データDATAの波形レベルが所定値V2以下であるか否かを判断する。入力波形データDATAの波形レベルが所定値V2以下であると、判断結果は「YES」になり、ステップSD8に進み、音源104に消音を指示する。そして、ステップSD9では、消音に応じてフラグONFをゼロリセットして本処理を終える。これに対し、入力波形データDATAの波形レベルが所定値V2を超えていると、上記ステップSD7の判断結果は「NO」となり、ステップSD10に進み、波形読み出し周波数を一定にして持続音発音させる周波数制御を音源104に指示して本処理を完了させる。
このように、第1実施形態では、弾弦に先行して行われるフレット操作で発生するタッチ音から抽出した周期と、弾弦に応じて発生するピッキング音から抽出した周期とが略一致した時に、その周期に対応した音高の楽音を発音させるので、従来のように、弾弦で生じるピッキング音からのピッチ抽出よりも早期に発音ピッチを確定できる結果、発音遅れを解消することが可能になる。
B.第2実施形態
次に、図9〜図13を参照して第2実施形態について説明する。第2実施形態の構成は、前述した第1実施形態の構成(図1参照)において、波形ゼロクロス毎に計時して入力波形POの半周期を計測するカウンタcを新たに設けたものである。
上述した第1実施形態では、弾弦に先行して行われるフレット操作で発生するタッチ音から抽出した周期と、弾弦に応じて発生するピッキング音から抽出した周期とが略一致した時に、その周期に対応した音高の楽音を発音させる。これに対し、第2実施形態では、上記カウンタcを用いてピッキング音の半周期を計測し、それを2倍して得るピッキング音の推定周期がタッチ音から抽出した周期に略一致した時に、推定周期に対応した音高の楽音を発音させる。
以下では、こうした動作を具現する第2実施形態によるINTa割込み処理、INTb割込み処理およびn弦処理について説明する。なお、第2実施形態のメインルーチンは、前述した第1実施形態と共通するので、その説明については省略する。
<INTa割込み処理の動作>
図9を参照して第2実施形態によるINTa割込み処理の動作を説明する。前述した第1実施形態と同様、メインルーチン実行中にピッチ抽出部側から割込み信号INTaが供給されると、CPU100は図9に図示するINTa割込み処理を実行してステップSE1に処理を進める。ステップSE1では、クリア信号CLaを発生してピッチ抽出部のフリップフロップ(FF)8をリセットすると共に、割込み信号INTaの発生タイミングを計時するカウンタaの値を読み込む。続いて、ステップSE2では、カウンタ値読み込みが1回目でないか否かを判断する。ここで、カウンタ値の読み込みが初回であると、判断結果は「NO」になり、後述するステップSE7に進む。
一方、カウンタ値の読み込みが初回以降であると、上記ステップSE2の判断結果が「YES」となり、ステップSE3に進む。ステップSE3では、フラグFFが「0」であるか否かを判断する。フラグFFは、INTa割込み処理による周期計測が行われた時に「1」となり、INTb割込み処理による周期計測が行われた時に「0」となるフラグである。また、図2(e)に図示するように、周期t1を計測するINTa割込み処理と、周期t2を計測するINTb割込み処理とは、理想的には交互に行われる。したがって、INTa割込み処理とINTb割込み処理とが順当に実行されると、フラグFFはその都度反転するが、例えば入力波形POにノイズが重畳する等して最大ピークあるいは最小ピークの検出が行えない状況であれば、INTa割込み処理とINTb割込み処理とが交互に実行されない事態も起こり得る。そこで、ステップSE3では、フラグFFが「0」であるか否かで順当にINTb割込み処理が実行されたかどうかを判断している。
順当にINTb割込み処理が実行されていなければ、フラグFFは「1」のままだから、上記ステップSB3の判断結果は「NO」になり、この場合、周期計測不可と見做して何も行わずに本処理を完了させる。これに対し、順当にINTb割込み処理が実行されていると、後述するように、フラグFFは「0」にセットされるので、上記ステップSE3の判断結果は「YES」になり、ステップSE4に進む。
ステップSE4では、前回取り込んだカウンタaの値と今回取り込んだカウンタaの値とに応じて割込み信号INTaの発生周期を算出し、続くステップSE5では、算出した周期をレジスタTIME1にストアする。そして、ステップSE6では、割込み信号INTaの周期計測が適正に行われた旨を表す為にフラグTIME1Fに「1」をセットする。次いで、ステップSF7では、INTa割込み処理完了を表す為にフラグFFに「1」をセットすると共に、カウンタaをクリアする。
そして、ステップSE8に進むと、フラグDANGENFが「0」であるか否か、すなわちピッキング音が生じている状態あるいはタッチ音が生じている状態のいずれであるかを判断する。タッチ音が生じている状態(DANGENF=0)であると、判断結果は「NO」になり、本処理を終えるが、ピッキング音が生じている状態(DANGENF=1)であれば、上記ステップSE8の判断結果は「YES」になり、ステップSE9に進む。
ステップSE9では、フラグONFが「0」、つまり発音中であるか否かを判断する。発音中であると、判断結果は「NO」になり、本処理を終える。一方、発音中でなければ、判断結果が「YES」になり、ステップSE10に進み、前回の波形ゼロクロス時点で計測したカウンタcの値から今回の波形ゼロクロス時点で計測したカウンタcの値を減算してピッキング音の半周期を算出する。そして、ステップSE11では、計測したピッキング音の半周期をレジスタTIMEにストアし、続くステップSE12では、カウンタcをクリアして本処理を終える。
このように、INTa割込み処理は、最大ピーク検出後の波形ゼロクロス毎に発生する割込み信号INTaの発生周期からタッチ音の周期TIME1を検出すると共に、弾弦操作によるピッキング音が生じた状態下では、ピッキング音の波形ゼロクロス間隔を計時してピッキング音の半周期TIMEを検出するようになっている。
<INTb割込み処理の動作>
次に、図10〜図11を参照して第2実施形態によるINTb割込み処理の動作を説明する。第1実施形態と同様、メインルーチン実行中にピッチ抽出部側から割込み信号INTbが供給されると、CPU100は図10に図示するINTb割込み処理を実行してステップSF1に処理を進める。ステップSF1では、クリア信号CLbを発生してピッチ抽出部のフリップフロップ(FF)9をリセットすると共に、割込み信号INTbの発生タイミングを計時するカウンタbの値を読み込む。続いて、ステップSF2では、カウンタ値読み込みが1回目でないか否かを判断する。カウンタ値の読み込みが初回であると、判断結果は「NO」になり、後述するステップSF7に進む。
一方、カウンタ値の読み込みが初回以降であれば、上記ステップSF2の判断結果は「YES」となり、ステップSF3に進む。ステップSF3では、上述したINTa割込み処理と同様、フラグFFが「1」であるか否かで順当にINTb割込み処理が実行されたかどうかを判断する。順当にINTa割込み処理が実行されていなければ、フラグFFは「0」のままだから、上記ステップSF3の判断結果は「NO」になり、この場合、周期計測不可と見做して何も行わずに本処理を完了させる。
順当にINTa割込み処理が実行された場合には、前述したステップSE7(図9参照)によりフラグFFは「1」にセットされるので、上記ステップSF3の判断結果は「YES」になり、ステップSF4に進む。ステップSF4では、前回取り込んだカウンタbの値と今回取り込んだカウンタbの値とに応じて割込み信号INTbの発生周期を算出し、続くステップSF5では、算出した周期をレジスタTIME2にストアする。そして、ステップSF6では、割込み信号INTbの周期計測が適正に行われた旨を表す為にフラグTIME2Fに「1」をセットする。次いで、ステップSF7では、INTb割込み処理完了を表す為にフラグFFをゼロリセットすると共に、カウンタbをクリアする。
続いて、ステップSF8では、フラグDANGENFが「0」であるか否か、すなわちピッキング音が生じている状態あるいはタッチ音が生じている状態のいずれであるかを判断する。ピッキング音が生じている状態(DANGENF=1)であると、判断結果は「NO」になり、ステップSF10に進む。ステップSF10では、前回の波形ゼロクロス時点で計測したカウンタcの値から今回の波形波形ゼロクロス時点で計測したカウンタcの値を減算してピッキング音の半周期を算出する。そして、ステップSF11では、計測したピッキング音の半周期をレジスタTIMEにストアする。次いで、ステップSF12では、カウンタcをクリアして本処理を終える。
これに対し、タッチ音が生じている状態(DANGENF=0)であれば、上記ステップSF8の判断結果は「YES」になり、ステップSF9に進む。ステップSF9では、フラグONFが「0」、つまり発音中であるか否かを判断する。発音中であれば、判断結果が「NO」になり、本処理を終えるが、発音中でないと、判断結果は「YES」になり、図11に図示するステップSF13に進む。ステップSF13では、フラグTIME1FおよびフラグTIME2Fが共に「1」、つまり割込み信号INTa、INTbの各周期が計測済みであるか否かを判断する。両周期が計測済みでなければ、判断結果は「NO」になり、本処理を完了させる。
一方、割込み信号INTa、INTbの各周期が計測済みであると、上記ステップSF13の判断結果が「YES」となり、ステップSF14に進む。ステップSF14では、レジスタTIME1に格納される割込み信号INTaの周期と、レジスタTIME2に格納される割込み信号INTbの周期とが略一致するかどうかを判断する。両周期が略一致しない場合には、判断結果が「NO」となり、本処理を完了させる。
これに対し、両周期が略一致すると、上記ステップSF14の判断結果が「YES」になり、ステップSF15に進み、フラグTOUCHFに「1」をセットする。これにより、弾弦(ピッキング)に先行するフレット操作で生じたタッチ音に基づきピッチ抽出(周期計測)が完了した旨を表す。この後、ステップSF16,SF17にてフラグTIME1FおよびフラグTIME2Fをそれぞれゼロリセットして本処理を終える。
このように、INTb割込み処理は、最小ピーク検出後の波形ゼロクロス毎に発生する割込み信号INTbの発生周期からタッチ音の周期TIME2を検出し、この周期TIME2がINTa割込み処理にて検出されたタッチ音の周期TIME1と略一致すると、フラグTOUCHFに「1」をセットしてタッチ音に基づきピッチ抽出完了を表す。また、弾弦操作によるピッキング音が生じた状態下では、ピッキング音の波形ゼロクロス間隔を計時してピッキング音の半周期TIMEを検出するようになっている。
<n弦処理の動作>
次に、図12〜図13を参照して第2実施形態によるn弦処理の動作を説明する。第1実施形態と同様、メインルーチンのステップSA3(図3参照)を介して本処理が実行されると、CPU100は図12に図示するステップSG1に進み、ポインタnの値に対応したピッチ抽出部Pn(n=1〜6)のラッチ回路14から入力波形データDATAを取り込み、RAM103のバッファエリアに格納する。続いて、ステップSG2では、フラグDANGENFが「0」であるか否か、すなわちピッキング音が生じている状態(DANGENF=1)あるいはタッチ音が生じている状態(DANGENF=0)のいずれであるかを判断する。
タッチ音が生じている状態であると、判断結果は「YES」になり、ステップSG3に進む。ステップSG3では、入力波形データDATAの波形レベルが所定値V1以上であるか否かを判断する。弾弦操作されず、入力波形データDATAの波形レベルが所定値V1以上に達していない場合には、判断結果が「NO」になり、一旦本処理を完了させる。
一方、タッチ音が生じている状態から弾弦操作によりピッキング音が生じる状態に変化し、これにより入力波形データDATAの波形レベルが所定値V1以上に達した場合には、上記ステップSG3の判断結果が「YES」になり、ステップSG4に進み、フラグDANGENFに「1」をセットする。そして、ステップSG5では、フラグTIME1FおよびフラグTIME2Fをそれぞれゼロリセットして本処理を一旦完了させる。
さて、こうして弾弦操作に応じて、フラグDANGENFが「1」にセットされた状態で本処理が実行されると、上述したステップSG2の判断結果が「NO」となり、ステップSG6に処理を進める。ステップSG6では、フラグONFが「1」、すなわち音源104が発音中であるかどうかを判断する。以下、音源104が発音中でない場合と、発音中の場合とに分けて動作を説明する。
a.音源104が発音中でない場合
この場合、ステップSG6の判断結果が「NO」になり、図13に図示するステップSG11に進む。ステップSG11では、フラグTOUCHFが「1」であるか否か、すなわち弾弦操作に先行したフレット操作で生じるタッチ音からピッチ抽出済みの場合(フラグTOUCHF=1)、あるいは弾弦で生じたピッキング音からピッチ抽出する場合(フラグTOUCHF=0)のいずれであるかを判断する。以下、タッチ音からピッチ抽出済みの場合と、弾弦で生じたピッキング音からピッチ抽出する場合とに分けて動作を説明する。
a−1.タッチ音からピッチ抽出済みの場合
タッチ音からピッチ抽出し終えていると、上記ステップSG11の判断結果が「YES」になり、ステップSG12に進む。ステップSG12では、フラグTIME1Fが「1」、つまりINTa割込み処理(図9参照)が適正に実行されたかどうかを判断する。INTa割込み処理が適正に実行されていると、判断結果は「YES」になり、ステップSG13に進むが、INTa割込み処理が適正に実行されていなければ、判断結果は「NO」になり、ステップSG14に進む。
ステップSG13では、INTa割込み処理にて検出されたピッキング音の半周期TIMEを2倍した推定周期が、当該INTa割込み処理にて検出されたタッチ音の周期TIME1に略一致するかどうかを判断する。略一致すれば、判断結果は「YES」となり、後述のステップSG16に進むが、略一致しなければ、判断結果は「NO」になり、後述のステップSG19に進む。
ステップSG14では、フラグTIME2Fが「1」、つまりINTb割込み処理(図10〜図11参照)が適正に実行されたかどうかを判断する。INTb割込み処理が適正に実行されていると、判断結果は「YES」になり、ステップSG15に進むが、INTb割込み処理が適正に実行されていなければ、判断結果は「NO」になり、ステップSG15に進む。
ステップSG15では、INTb割込み処理にて検出されたピッキング音の半周期TIMEを2倍した推定周期が、当該INTb割込み処理にて検出されたタッチ音の周期TIME2に略一致するかどうかを判断する。略一致すれば、判断結果は「YES」となり、後述のステップSG16に進むが、略一致しなければ、判断結果は「NO」になり、後述のステップSG19に進む。
INTa割込み処理の適正実行により検出されたピッキング音の半周期TIMEを2倍した推定周期がタッチ音の周期TIME1に略一致した場合、あるいはINTb割込み処理の適正実行により検出されたピッキング音の半周期TIMEを2倍した推定周期がタッチ音の周期TIME1に略一致した場合には、ステップSG16に進み、レジスタTIMEに格納されるピッキング音の半周期を2倍した推定周期に対応した音高の楽音の発音開始を音源104に指示する。
このように、タッチ音から抽出した周期が、ピッキング音の半周期から推定した推定周期に略一致する場合、CPU100は、ピッキング音の半周期を2倍した周期に対応するピッチの楽音を発音するよう音源104に指示する。したがって、従来のように、弾弦で生じるピッキング音からのピッチ抽出よりも早期に発音ピッチを確定できる為、発音遅れを解消し得るようになる。
さて、以上のようにして、発音開始を指示し終えると、CPU100はステップSG17〜SG18を実行し、フラグONFに「1」をセットして発音中である旨を表すと共に、発音ピッチが確定に伴い、フラグDANGENFおよびフラグTOUCHFをゼロリセットした後、ステップSG19に進み、フラグTIME1FおよびフラグTIME2Fをそれぞれゼロリセットして本処理を完了させる。
a−2.弾弦で生じたピッキング音からピッチ抽出する場合
弾弦で生じたピッキング音からピッチ抽出する場合には、上記ステップSG11の判断結果が「NO」になり、ステップSG20に進む。ステップSG20では、フラグTIME1Fが「1」であるか否か、すなわち弾弦によりフラグDANGENFが「1」となった状態下で、前述のINTa割込み処理(図9参照)が適正に周期計測を行ったかどうかを判断する。INTa割込み処理が適正に周期計測できず、フラグTIME1Fが「0」であると、判断結果は「NO」になり、前述のステップSG19を介して本処理を完了させる。
INTa割込み処理が適正に周期計測を行っていれば、上記ステップSG20の判断結果が「YES」になり、ステップSG21に進む。ステップSG21では、フラグTIME2Fが「1」であるか否か、すなわち弾弦によりフラグDANGENFが「1」となった状態下で、前述のINTb割込み処理(図10〜図11参照)が適正に周期計測を行ったかどうかを判断する。INTb割込み処理が適正に周期計測できず、フラグTIME2Fが「0」であると、判断結果は「NO」になり、前述のステップSG19を介して本処理を完了させる。
INTb割込み処理が適正に周期計測を行っていれば、上記ステップSG21の判断結果は「YES」になり、ステップSG22に進む。ステップSG22では、INTa割込み処理にて計測された周期TIME1と、INTb割込み処理にて計測された周期TIME2とが略一致するか否かを判断する。両周期が略一致しなければ、判断結果は「NO」になり、前述のステップSG19を介して本処理を完了させる。
一方、INTa割込み処理にて計測された周期TIME1とINTb割込み処理にて計測された周期TIME2とが略一致すると、上記ステップSG22の判断結果が「YES」になり、ステップSG23に進み、レジスタTIME1に格納される周期に対応した音高の楽音の発音開始を音源104に指示する。これにより、音源104は、ピッキング音から抽出した周期に対応するピッチの楽音を発音する。この後、前述したステップSG17〜SG19を実行し、フラグONFに「1」をセットして発音中である旨を表すと共に、フラグDANGENF、フラグTOUCHF、フラグTIME1FおよびフラグTIME2Fをそれぞれゼロリセットして発音ピッチの確定を表してから本処理を終える。
b.音源104が発音中の場合
音源104が発音を開始した後に本処理が実行されると、前述したステップSG6(図12参照)の判断結果が「YES」になり、ステップSG7に処理を進め、入力波形データDATAの波形レベルが所定値V2以下であるか否かを判断する。入力波形データDATAの波形レベルが所定値V2以下であると、判断結果は「YES」になり、ステップSG8に進み、音源104に消音を指示する。そして、ステップSG9では、消音に応じてフラグONFをゼロリセットして本処理を終える。これに対し、入力波形データDATAの波形レベルが所定値V2を超えていると、上記ステップSG7の判断結果は「NO」となり、ステップSG10に進み、波形読み出し周波数を一定にして持続音発音させる周波数制御を音源104に指示して本処理を完了させる。
このように、第2実施形態では、弾弦に先行して行われるフレット操作で発生するタッチ音から抽出した周期と、弾弦に応じて発生するピッキング音から抽出した半周期を2倍して得た推定周期とが略一致した時に、その推定周期に対応した音高の楽音を発音させるので、従来のように、弾弦で生じるピッキング音からのピッチ抽出よりも早期に発音ピッチを確定できる結果、発音遅れを解消することができ、しかも上述の第1実施形態よりもピッキング音の半周期分早く発音ピッチ確定し得るようになる。
C.第3実施形態
次に、図14〜図15を参照して第3実施形態について説明する。第3実施形態の構成は、図14に図示するように、前述した第1実施形態の構成(図1参照)にフレットスイッチ200を追加したものである。フレットスイッチ200は、各フレット位置に各弦毎に設けられるオンオフスイッチであり、フレット操作された場合にオン信号を発生してCPU100に供給する。CPU100では、フレットスイッチ200から供給されるオン信号に応じて、弦を指で抑えて音高指定するフレット操作を検出する。
こうした構成による第3実施形態の動作は、図15に図示するように、INTb割込み処理の一部だけが第1実施形態と相違する。すなわち、前述した第1実施形態によるINTb割込み処理(図6参照)のステップSC8では、入力波形データDATAが所定レベルV1以上の場合に「1」となるフラグDANGENFに基づき、フレット操作によるタッチ音が生じている状態(DANGENF=0)であるか否かを判断している。
これに対し、第3実施形態によるINTb割込み処理では、第1実施形態のステップSC8に替えて、図15に図示するステップSC100を設け、上記フレットスイッチ200がオン操作されたか否か、つまりフレット操作によるタッチ音が生じている状態であるかどうかを判断するようになっている。
したがって、第3実施形態では、前述の第1実施形態と同様、弾弦以前に行われるフレット操作で発生するタッチ音から抽出した周期と、弾弦に応じて発生するピッキング音から抽出した周期とが略一致した時に、その周期に対応した音高の楽音を発音させる為、早期に発音ピッチを確定して発音遅れを解消する。また、フレットスイッチ200によりフレット操作を検出する為、誤動作することなく確実にタッチ音からピッチ抽出し得るようになる効果も得られる。
本発明の第1実施形態の構成を示すブロック図である。 ピッチ抽出部P1〜P6における入出力信号を説明する波形図である。 第1実施形態のメインルーチンの動作を示すフローチャートである。 第1実施形態のINTa割込み処理の動作を示すフローチャートである。 第1実施形態のINTb割込み処理の動作を示すフローチャートである。 第1実施形態のINTb割込み処理の動作を示すフローチャートである。 第1実施形態のn弦処理の動作を示すフローチャートである。 第1実施形態のn弦処理の動作を示すフローチャートである。 第2実施形態のINTa割込み処理の動作を示すフローチャートである。 第2実施形態のINTb割込み処理の動作を示すフローチャートである。 第2実施形態のINTb割込み処理の動作を示すフローチャートである。 第2実施形態のn弦処理の動作を示すフローチャートである。 第2実施形態のn弦処理の動作を示すフローチャートである。 第3実施形態の構成を示すブロック図である。 第3実施形態のINTb割込み処理の動作を示すフローチャートである。
符号の説明
P1〜P6 ピッチ抽出部
100 CPU
102 ROM
103 RAM
104 音源
105 サウンドシステム

Claims (6)

  1. 弾弦に先行して行われるフレット操作に応じて発生するタッチ音の周期を検出するタッチ周期検出手段と、
    弾弦に応じて発生するピッキング音の周期を検出するピッキング周期検出手段と、
    前記タッチ周期検出手段により検出された周期と前記ピッキング周期検出手段により検出された周期とが略一致した場合に、その略一致した周期に対応した音高の楽音の発音を指示する発音指示手段と
    を具備することを特徴とする入力制御装置。
  2. 弾弦に先行して行われるフレット操作に応じて発生するタッチ音の周期を検出するタッチ周期検出手段と、
    弾弦に応じて発生するピッキング音の半周期を検出するピッキング周期検出手段と、
    前記ピッキング周期検出手段により検出されたピッキング音の半周期を2倍した推定周期が、前記タッチ周期検出手段により検出されたタッチ音の周期に略一致した場合に、その推定周期に対応した音高の楽音の発音を指示する発音指示手段と
    を具備することを特徴とする入力制御装置。
  3. 前記タッチ周期検出手段は、振幅が所定レベル未満の入力波形を、弾弦に先行して行われるフレット操作に応じて発生するタッチ音として周期検出することを特徴とする請求項1又は2のいずれかに記載の入力制御装置。
  4. 前記ピッキング周期検出手段は、振幅が所定レベル以上の入力波形を、弾弦に応じて発生するピッキング音として周期検出することを特徴とする請求項1又は2のいずれかに記載の入力制御装置。
  5. 前記タッチ周期検出手段は、フレット操作を検出するフレット操作検出手段を備え、このフレット操作検出手段がフレット操作を検出した状態で入力される波形を、弾弦に先行して生じるタッチ音として周期検出することを特徴とする請求項1又は2のいずれかに記載の入力制御装置。
  6. 弾弦に先行して行われるフレット操作に応じて発生するタッチ音の周期を検出するタッチ周期検出処理と、
    弾弦に応じて発生するピッキング音の周期を検出するピッキング周期検出処理と、
    前記タッチ周期検出処理にて検出された周期と前記ピッキング周期検出処理により検出された周期とが略一致した場合に、その略一致した周期に対応した音高の楽音の発音を指示する発音指示処理と
    をコンピュータで実行させることを特徴とする入力制御プログラム。
JP2005179094A 2005-06-20 2005-06-20 入力制御装置および入力制御プログラム Expired - Fee Related JP4296433B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005179094A JP4296433B2 (ja) 2005-06-20 2005-06-20 入力制御装置および入力制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005179094A JP4296433B2 (ja) 2005-06-20 2005-06-20 入力制御装置および入力制御プログラム

Publications (2)

Publication Number Publication Date
JP2006350191A JP2006350191A (ja) 2006-12-28
JP4296433B2 true JP4296433B2 (ja) 2009-07-15

Family

ID=37646084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005179094A Expired - Fee Related JP4296433B2 (ja) 2005-06-20 2005-06-20 入力制御装置および入力制御プログラム

Country Status (1)

Country Link
JP (1) JP4296433B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2752842A1 (en) 2013-01-08 2014-07-09 Casio Computer Co., Ltd. Electronic stringed instrument and musical sound generation method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63138397A (ja) * 1986-12-01 1988-06-10 カシオ計算機株式会社 波形信号入力制御装置
JPH083711B2 (ja) * 1987-03-13 1996-01-17 カシオ計算機株式会社 入力波形信号制御装置
JPS63267998A (ja) * 1987-04-27 1988-11-04 カシオ計算機株式会社 電子弦楽器
JP2805598B2 (ja) * 1995-06-16 1998-09-30 ヤマハ株式会社 演奏位置検出方法およびピッチ検出方法
JP3346699B2 (ja) * 1996-03-21 2002-11-18 ローランド株式会社 電子楽器
JPH09319365A (ja) * 1996-05-27 1997-12-12 Yamaha Corp 弦楽器用ピッチ検出装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2752842A1 (en) 2013-01-08 2014-07-09 Casio Computer Co., Ltd. Electronic stringed instrument and musical sound generation method
US9093059B2 (en) 2013-01-08 2015-07-28 Casio Computer Co., Ltd. Electronic stringed instrument, musical sound generation method, and storage medium

Also Published As

Publication number Publication date
JP2006350191A (ja) 2006-12-28

Similar Documents

Publication Publication Date Title
JP4296433B2 (ja) 入力制御装置および入力制御プログラム
JP4561531B2 (ja) 楽音制御装置および楽音制御処理のプログラム
JP4484071B2 (ja) 入力制御装置および入力制御プログラム
JP2007114239A (ja) 楽音制御装置および楽音制御方法
JP3684774B2 (ja) 演奏指示装置及びプログラムを記録した媒体
JP6565225B2 (ja) 電子楽器、音量制御方法およびプログラム
JP6650128B2 (ja) 電子楽器、電子弦楽器、楽音発生指示方法およびプログラム
JPH06186966A (ja) エフェクタ
JP5030016B2 (ja) 楽音発生装置および楽音発生処理プログラム
JP3567587B2 (ja) 楽音発生装置
JP2002215139A (ja) 演奏操作記録装置および演奏操作記録方法
JP4452671B2 (ja) アシスト評価機能を有するカラオケ装置
JP2005242230A (ja) カラオケ装置
JP6569255B2 (ja) 電子楽器、電子楽器の発音制御方法、およびプログラム
JP4035715B2 (ja) 伴奏生成装置および伴奏生成プログラム
JP6573100B2 (ja) 楽音制御装置、楽音制御方法、プログラム、および電子楽器
JP6758593B2 (ja) 電子管楽器、楽音発生方法およびプログラム
JP2000259154A (ja) コード判定装置
JP3168654B2 (ja) 楽音発生装置
JP4135529B2 (ja) 演奏採点装置および演奏採点処理のプログラム
JP4973753B2 (ja) カラオケ装置およびカラオケ情報処理のプログラム
JPH05150776A (ja) 楽音制御装置
JP2007264060A (ja) カラオケ装置およびカラオケ情報処理のプログラム
JP4576565B2 (ja) 演奏装置および演奏処理のプログラム
JP4032208B2 (ja) 鍵情報処理装置および鍵情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090305

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090318

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090331

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120424

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120424

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130424

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130424

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140424

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees