(57)【要約】【課題】電子弦楽器における音高の補正をより効率的に行うこと。【解決手段】電子弦楽器１は、ヘキサピックアップ１２と、ＣＰＵ４１と、を備える。ヘキサピックアップ１２は、指板２１上に張設された複数の弦２２のいずれかが弾弦されたか否かを検出する。ＣＰＵ４１は、ヘキサピックアップ１２によって弾弦が検出された弦２２の振動ピッチを検出する。また、ＣＰＵ４１は、検出した振動ピッチに応じて、発音中の楽音の音高を補正するためのピッチ変更コマンドを、前記複数の弦夫々に対応して設定された時間間隔で連続的に音源４５に出力する。【選択図】図１１
2015184380.tif 000002
【特許請求の範囲】
【請求項１】
指板部上に張設された複数の弦のいずれかが弾弦されたか否かを検出する弾弦検出手段と、
前記弾弦検出手段によって弾弦が検出された弦の振動ピッチを検出する弦振動検出手段と、
前記弦振動検出手段によって検出された振動ピッチに応じて、発音中の楽音の音高を補正するためのコマンドを、前記複数の弦夫々に対応して設定された時間間隔で連続的に音源に出力するコマンド出力手段と、
を有する電子弦楽器。
【請求項２】
指板部上の複数のフレットそれぞれに設けられ、当該指板部上に張設された複数の弦と当該複数のフレットとの接触状態を検出する複数のセンサをさらに有し、
前記コマンド出力手段は、各弦について前記フレットの位置に対応して設定された前記コマンドの出力の時間間隔に基づいて、前記センサによって検出された前記フレットとの接触状態に応じた前記コマンドの出力を行う請求項１に記載の電子弦楽器。
【請求項３】
前記弦振動検出手段によって検出された弦の振動ピッチの変化が所定以下の状態であるか否かを判定する振動状態判定手段をさらに有し、
前記コマンド出力手段は、前記振動状態判定手段によって前記弦の振動ピッチの変化が所定以下の状態であると判定された場合は、前記弦の振動ピッチの変化が所定以下の状態でないと判定された場合と比べて、前記コマンドの出力の時間間隔を長くする請求項１または２に記載の電子弦楽器。
【請求項４】
発音開始からの経過時間をカウントする波形タイマをさらに備え、
前記コマンド出力手段は、前記コマンドの出力の時間間隔を前記波形タイマのカウント値によって制御する請求項１から３のいずれか１項に記載の電子弦楽器。
【請求項５】
指板部上に張設された複数の弦のいずれかが弾弦されたか否かを検出する弾弦検出手段を備える電子弦楽器に用いられる楽音発生方法であって、
前記電子弦楽器が、
前記弾弦検出手段によって弾弦が検出された弦の振動ピッチを検出し、
検出された振動ピッチに応じて、発音中の楽音の音高を補正するためのコマンドを、前記複数の弦夫々に対応して設定された時間間隔で連続的に音源に出力する、楽音発生方法。
【請求項６】
指板部上に張設された複数の弦のいずれかが弾弦されたか否かを検出する弾弦検出手段を備える電子弦楽器として用いられるコンピュータに、
前記弾弦検出手段によって弾弦が検出された弦の振動ピッチを検出する弦振動検出ステップと、
前記弦振動検出ステップにおいて検出された振動ピッチに応じて、発音中の楽音の音高を補正するためのコマンドを、前記複数の弦夫々に対応して設定された時間間隔で連続的に音源に出力するコマンド出力ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子弦楽器、楽音発生方法及びプログラムに関する。
【背景技術】
【０００２】
従来、フレットに対する押弦操作を検出し、フレットに張設された弦が弾弦された場合に、押弦操作の検出結果に応じた楽音を発生させる電子弦楽器が知られている。
このような方式は、指板上のスイッチやセンサで、押弦された位置を認識することが必要なため、弦楽器としての外観を損ねること、さらには発音後の音高の変化に対応できない問題がある。
また、弾弦された弦の振動をマイクで拾い、電気信号として周波数や振幅を認識する方式も従来から提案されている（特許文献１）。この方式では、指板上にスイッチやセンサを設ける必要がないため、弦楽器としての外観を損ねることもなく、発音後の音高の変化にも忠実に対応できるが、弦の振動からその周波数や振幅を抽出するまで時間がかかるため、弾弦してから実際に発音するまで若干の遅延が生じる問題がある。
そこで近年では、金属フレットと金属弦とを用い、この両者の電気的な接触を検出することにより押弦位置を検出し、金属弦の弾弦と同時にこの押弦位置により決定された音高の楽音を発音させ、その後弾弦から抽出した周波数で発音中の楽音の音高を補正する、という方式が提案されている。
このような方式によれば、弦楽器としての外観を損ねることもなく、かつ発音の遅延も生じない。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭６３−１３６０８８公報公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
楽音の発音後にその音高を補正するために、楽音を生成する音源に対して、検出された弦の振動周波数に基づいて音高を補正すべき旨の指示を行うコマンドを送付する方式が取られる。そして、弦の振動に忠実な楽音を発生させようとすれば、楽音が発音されている間中に弦の振動周波数検出、音高補正のためのコマンド送付、という処理を所定間隔毎にかつ連続的に行わねばならない。
特に、弦楽器の楽音の音高の変化は比較的少ないものの、発音当初は音高の変化が早く安定していないこと、かつできる限り早く正確な音高に補正しなければならないことから、この音高補正のためのコマンド送付も比較的短い間隔で頻繁に行わねばならない。
しかしながら、あまりに短い間隔でコマンド送付を行うことは、音源との通信データ量及び制御系統の処理負担が増大することとなり、特に複数の弦が同時に弾弦された場合などは、その処理に対応できなくなる恐れがある。
一方、複数張設される弦の太さは夫々異なり、太さが太くなるほどその振動周波数が小さくなることは知られている。したがって、細い弦は振動周波数が高く周期が短いうえに振動周波数の変化も生じやすいが、逆に太い弦は振動周波数が低いので周期が長く、かつ振動周波数の変化も生じにくい。この点を考慮すると、太さが異なる弦を同一の時間間隔で弦の振動周波数検出及び音高補正のためのコマンド送付の処理を行うのは不合理である。つまり、細い弦に合わせた時間間隔で処理を行えば、太い弦で無駄な処理を行うことになり、太い弦に合わせれば細い弦で発生する楽音の音高の変化が忠実に再現できなくなる。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、電子弦楽器における音高の補正をより効率的に行うことを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一態様の電子弦楽器は、
指板部上に張設された複数の弦のいずれかが弾弦されたか否かを検出する弾弦検出手段と、
前記弾弦検出手段によって弾弦が検出された弦の振動ピッチを検出する弦振動検出手段と、
前記弦振動検出手段によって検出された振動ピッチに応じて、発音中の楽音の音高を補正するためのコマンドを、前記複数の弦夫々に対応して設定された時間間隔で連続的に音源に出力するコマンド出力手段と、
を有する。
【発明の効果】
【０００７】
本発明によれば、電子弦楽器における音高の補正をより効率的に行うことが可能となる。
【図面の簡単な説明】
【０００８】
【図１】電子弦楽器の外観を示す正面図である。
【図２】電子部のハードウェア構成を示すブロック図である。
【図３】押弦センサの信号制御部を示す模式図である。
【図４】電子弦楽器において実行されるメインフローを示すフローチャートである。
【図５】割り込み処理を示すフローチャートである。
【図６】メインフローのステップＳ３においてサブフローとして実行される弦状態認識処理を示すフローチャートである。
【図７】メインフローのステップＳ９においてサブフローとして実行されるピッチ抽出処理を示すフローチャートである。
【図８】弦の振動波形を示す模式図である。
【図９】メインフローのステップＳ１４においてサブフローとして実行されるコマンド出力判定処理を示すフローチャートである。
【図１０】不安定時間テーブルの一例を示す模式図である。
【図１１】安定時インターバルテーブルの一例を示す模式図である。
【図１２】電子弦楽器の動作の概念を示す模式図である。
【図１３】Ｂ５の音高における弦の振動波形の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を用いて説明する。
【００１０】
［電子弦楽器１の概要］
初めに、図１を参照して、本発明の一実施形態としての電子弦楽器１の概要について説明する。
【００１１】
図１は、電子弦楽器１の外観を示す正面図である。図１に示す如く、電子弦楽器１は、電子ギターとして構成され、本体１０と、ネック２０と、ヘッド３０とに大別される。
【００１２】
ヘッド３０には、スチール製の弦２２の一端が巻かれる糸巻き３１が取り付けられており、ネック２０は、指板２１に複数のフレット２３が埋め込まれている。なお、本実施形態において、弦２２は６本、フレット２３は２２個、設けられている。６本の弦２２は、各々弦番号と対応付けられている。一番細い弦２２が、弦番号「１番」であり、弦２２の太さが太くなる順番で弦番号が大きくなる。２２個のフレット２３は、各々フレット番号と対応付けられている。最もヘッド３０寄りのフレット２３は、フレット番号「１番」であり、ヘッド３０側から遠ざかるに連れて、配置されたフレット２３のフレット番号が大きくなる。
【００１３】
本体１０には、弦２２の他端が取り付けられるブリッジ１６と、弦２２の振動を検出するノーマルピックアップ１１と、各々の弦２２の振動を独立して検出するヘキサピックアップ１２と、放音されるサウンドにトレモロ効果を付加するためのトレモロアーム１７と、本体１０の内部に内蔵されている電子部１３と、各々の弦２２と電子部１３とを接続するケーブル１４と、音色の種類等を表示するための表示部１５と、が設けられている。
【００１４】
図２は、電子部１３のハードウェア構成を示すブロック図である。電子部１３は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４３と、押弦センサ４４と、音源４５と、ノーマルピックアップ１１と、ヘキサピックアップ１２と、アナログフィルタ１２ａと、Ａ／Ｄ（アナログデジタルコンバータ）１２ｂと、スイッチ４８と、表示部１５と、Ｉ／Ｆ（インターフェース）４９と、がバス５０を介して接続されている。
さらに、電子部１３は、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）４６と、Ｄ／Ａ（デジタルアナログコンバータ）４７と、を備える。
【００１５】
ＣＰＵ４１は、ＲＯＭ４２に記録されているプログラム、または、記憶部（図示せず）からＲＡＭ４３にロードされたプログラムに従って各種の処理を実行する。
【００１６】
ＲＡＭ４３には、ＣＰＵ４１が各種の処理を実行する上において必要なデータ等も適宜記憶される。例えば、ＲＡＭ４３には、コードとフレット２３の押弦位置との関係が対応付けられたコード定義テーブルが記憶されている。コード定義テーブルを参照することで、演奏される曲で使用されるコードが判明すれば、ＣＰＵ４１において、演奏者によって押弦されるフレット２３の位置を特定することが可能となる。
【００１７】
押弦センサ４４は、押弦が何番の弦の何番のフレットに対して行われたかを検出する。この押弦センサ４４は、弦２２とフレット２３との電気的接触を検出することにより、押弦位置を検出する。
【００１８】
音源４５は、例えばＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）データで発音が指示された楽音の波形データを生成し、その波形データをＤ／Ａ変換して得られるオーディオ信号を、ＤＳＰ４６及びＤ／Ａ４７を介して外部音源５３に出力して、発音及び消音の指示を出す。なお、外部音源５３は、Ｄ／Ａ４７から出力されたオーディオ信号を増幅して出力するアンプ回路（図示せず）と、アンプ回路から入力されたオーディオ信号により楽音を放音するスピーカ（図示せず）と、を備える。
【００１９】
ノーマルピックアップ１１は、検出された弦２２の振動を電気信号に変換してＣＰＵ４１に出力する。
ヘキサピックアップ１２は、検出された各々の弦２２の独立した振動を電気信号に変換してアナログフィルタ１２ａに出力する。
アナログフィルタ１２ａは、ヘキサピックアップ１２によって検出された弦の振動波形において、設定された周波数領域の成分を通過させる。
Ａ／Ｄ１２ｂは、アナログフィルタ１２ａを通過した振動波形をアナログ信号からデジタル信号に変換し、ＣＰＵ４１に出力する。
【００２０】
スイッチ４８は、本体１０に設けられた各種スイッチ（図示せず）からの入力信号をＣＰＵ４１に出力する。
表示部１５は、発音対象となる音色の種類等を表示する。
【００２１】
図３は、押弦センサ４４の信号制御部を示す模式図である。
図３に示すように、押弦センサ４４においては、フレット２３の数に対応する２２の選択線ＫＩ０〜ＫＩ２１と、弦２２の数に対応する６の信号線ＫＣ０〜ＫＣ５とがマトリクス状に配列された構成を有している。
【００２２】
各弦２２に対応する各信号線ＫＣ０〜ＫＣ５は、所定時間（例えば０．１ｍｓ）毎に順次アクティブな状態（ここではローレベル）にスイッチングされる。また、選択線ＫＩ０〜ＫＩ２１は、ハイレベル（例えば５ｖ）にプルアップされている。アクティブな状態とされた信号線ＫＣ０〜ＫＣ５が、押弦によりフレット２３に接触すると、その弦が接触しているフレット２３に対応する選択線ＫＩ０〜ＫＩ２１からは、信号線ＫＣ０〜ＫＣ５の状態に対応する信号（ここではローレベルの信号）が読み出される。
即ち、押弦センサ４４は、所定時間毎に信号線ＫＣ０〜ＫＣ５を１つずつアクティブな状態に切り替え、選択線ＫＩ０〜ＫＩ２１の状態（ハイレベルまたはローレベル）を読み出して、すべてのフレット２３について、いずれの位置が押弦されているかを検出する。
【００２３】
［メインフロー］
図４は、本実施形態に係る電子弦楽器１において実行されるメインフローを示すフローチャートである。
図４に示すメインフローは、電子弦楽器１の動作中、ＣＰＵ４１によって繰り返し実行される。
メインフローが開始されると、ステップＳ１において、ＣＰＵ４１は、処理対象の弦番号Ｎに１をセットし（Ｎ＝１）、振動波形をサンプリングするためのタイマＴｓの動作を開始する。
【００２４】
ステップＳ２において、ＣＰＵ４１は、発音中であるか否かの判定を行う。
ステップＳ２において、発音中でない（ＮＯ）と判定された場合、処理はステップＳ３に移行する。
一方、ステップＳ２において、発音中であると判定された場合、処理はステップＳ９に移行する。
ステップＳ３において、ＣＰＵ４１は、弦２２の振動状態を認識するためのサブフローである弦状態認識処理（図６参照）を実行する。
【００２５】
ステップＳ４において、ＣＰＵ４１は、弦２２の振動状態が正ゼロクロス（負から正へのゼロクロス）中であるか否かの判定を行う。具体的には、ステップＳ４において、ＣＰＵ４１は、正ゼロクロス中を示すフラグがオンであるか否かの判定を行う。
ステップＳ４において、弦２２の振動状態が正ゼロクロス中でない（ＮＯ）、即ち、正ゼロクロス中を示すフラグがオフであると判定された場合、処理はステップＳ１６に移行する。
一方、ステップＳ４において、弦２２の振動状態が正ゼロクロス中である（ＹＥＳ）、即ち、正ゼロクロス中を示すフラグがオンであると判定された場合、処理はステップＳ５に移行する。
【００２６】
ステップＳ５において、ＣＰＵ４１は、弦２２の振幅が発音を行うための閾値Ｔｈ１を超えているか否かの判定を行う。具体的には、ＣＰＵ４１は、弦２２の正の振幅値の絶対値または負の振幅値の絶対値が閾値Ｔｈ１を超えているか否かの判定を行う。
ステップＳ５において、弦２２の振幅が発音を行うための閾値Ｔｈ１を超えていない（ＮＯ）と判定された場合、処理はステップＳ６に移行する。
一方、ステップＳ５において、弦２２の振幅が発音を行うための閾値Ｔｈ１を超えている（ＹＥＳ）と判定された場合、処理はステップＳ７に移行する。
ステップＳ６において、ＣＰＵ４１は、発音開始からの時間をカウントするための波形タイマＴｃの値（波形タイマ値）をクリアし、ゼロに設定する。なお、波形タイマ値は、メインフローと並行して実行される割り込み処理（図５参照）によって、所定時間（例えば、１ｍｓ）毎に更新される。波形タイマＴｃは、振動波形をサンプリングするためのタイマＴｓよりも低い周波数である。そのため、波形タイマＴｃを用いることにより、より低い処理負荷で振動波形と同期するタイマを実現することができる。
【００２７】
ステップＳ７において、ＣＰＵ４１は、音源４５に対して発音を開始させるコマンド（発音コマンド）を出力する。このとき、ＣＰＵ４１は、各弦の発音すべき音高をフレット２３の押弦位置に対応する音高とし、発音すべきベロシティを弦２２の正の振幅値の絶対値または負の振幅値の絶対値のうち、閾値Ｔｈ１を超えているものに対応するベロシティとして、発音コマンドを出力する。なお、発音すべきベロシティを弦２２の正の振幅値の絶対値または負の振幅値の絶対値の平均値としてもよい。
ステップＳ８において、ＣＰＵ４１は、波形タイマ値を１に設定する。
【００２８】
ステップＳ９において、ＣＰＵ４１は、弦２２の振動波形におけるピッチを抽出するためのサブフローであるピッチ抽出処理（図７参照）を実行する。
ステップＳ１０において、ＣＰＵ４１は、弦２２の振動状態が正ゼロクロス中であるか否か（即ち、正ゼロクロス中を示すフラグがオンであるか否か）の判定を行う。
ステップＳ１０において、弦２２の振動状態が正ゼロクロス中である（ＹＥＳ）、即ち、正ゼロクロス中を示すフラグがオンであると判定された場合、処理はステップＳ１１に移行する。
一方、ステップＳ１０において、弦２２の振動状態が正ゼロクロス中でない（ＮＯ）、即ち、正ゼロクロス中を示すフラグがオンでないと判定された場合、処理はステップＳ１６に移行する。
ステップＳ１１において、ＣＰＵ４１は、弦２２の振幅がピッチ抽出を行うための閾値Ｔｈ２を超えているか否かの判定を行う。具体的には、ＣＰＵ４１は、弦２２の正の振幅値の絶対値または負の振幅値の絶対値が閾値Ｔｈ２を超えているか否かの判定を行う。
なお、本実施形態において、ピッチ抽出を行うための弦２２の振幅の閾値Ｔｈ２は、発音を行うための弦２２の振幅の閾値Ｔｈ１と同一であるものとする。ただし、ピッチ抽出を行うための弦２２の振幅の閾値Ｔｈ２は、発音を行うための弦２２の振幅の閾値Ｔｈ１と異なるものとしてもよい。
【００２９】
ステップＳ１１において、弦２２の振幅がピッチ抽出を行うための閾値Ｔｈ２を超えている（ＹＥＳ）と判定された場合、処理はステップＳ１２に移行する。
一方、ステップＳ１１において、弦２２の振幅がピッチ抽出を行うための閾値Ｔｈ２を超えていない（ＮＯ）と判定された場合、処理はステップＳ６に移行する。
ステップＳ１２において、ＣＰＵ４１は、今回の正ゼロクロスにおけるタイマＴｓの値（ゼロクロスタイマ値）から前回の正ゼロクロスにおけるゼロクロスタイマ値を減算し、弦２２の振動のピッチを算出する。
ステップＳ１３において、ＣＰＵ４１は、今回の正ゼロクロスにおけるゼロクロスタイマ値を前回の正ゼロクロスにおけるゼロクロスタイマ値に設定する。
【００３０】
ステップＳ１４において、ＣＰＵ４１は、コマンドの出力を許可するか否かを判定するためのサブフローであるコマンド出力判定処理（図９参照）を実行することにより、音高を補正するコマンドを出力するか否かの判定を行う。コマンド出力判定処理が実行される結果、コマンドの送信が許可され、コマンドを出力すると判定される場合と、コマンドの送信が許可されず、コマンドを出力しないと判定される場合とに分岐する。
ステップＳ１４において、コマンドを出力しない（ＮＯ）と判定された場合、処理はステップＳ１６に移行する。
一方、ステップＳ１４において、コマンドを出力する（ＹＥＳ）と判定された場合、処理はステップＳ１５に移行する。
【００３１】
ステップＳ１５において、ＣＰＵ４１は、ステップＳ１２において算出されたピッチに応じて、音源４５に対して音高を補正するためのコマンド（ピッチ変更コマンド）を出力する。このとき、ＣＰＵ４１は、各弦の変更すべき音高を算出されたピッチに対応する音高とし、補正すべきベロシティを弦２２の正の振幅値の絶対値または負の振幅値の絶対値のうち、閾値Ｔｈ２を超えているものに対応するベロシティとして、ピッチ変更コマンドを出力する。なお、変更すべきベロシティを弦２２の正の振幅値の絶対値または負の振幅値の絶対値の平均値としてもよい。
ステップＳ１６において、ＣＰＵ４１は、弦番号Ｎを１インクリメントする（Ｎ＝Ｎ＋１）。
【００３２】
ステップＳ１７において、ＣＰＵ４１は、弦番号Ｎが６より大きいか否かの判定を行う。
ステップＳ１７において、弦番号Ｎが６より大きい（ＹＥＳ）と判定された場合、処理はステップＳ１８に移行する。
一方、ステップＳ１７において、弦番号Ｎが６以下である（ＮＯ）と判定された場合、処理はステップＳ２に移行する。
ステップＳ１８において、ＣＰＵ４１は、処理対象の弦番号Ｎに１をセットする（Ｎ＝１）。
ステップＳ１８の後、処理はステップＳ２に移行する。
【００３３】
［割り込み処理］
次に、割り込み処理について説明する。
図５は、割り込み処理を示すフローチャートである。
割り込み処理は、ＣＰＵ４１によって、メインフローと並行して所定時間（例えば、１ｍｓ）毎に実行される。
割り込み処理が開始されると、ステップＳ１０１において、ＣＰＵ４１は、波形タイマ値がゼロであるか否かの判定を行う。
【００３４】
ステップＳ１０１において、波形タイマ値がゼロである（ＹＥＳ）と判定された場合、割り込み処理は終了となる。
一方、ステップＳ１０１において、波形タイマ値がゼロでない（ＮＯ）、即ち、１以上であると判定された場合、処理はステップＳ１０２に移行する。
ステップＳ１０２において、ＣＰＵ４１は、波形タイマ値を１インクリメントする。
ステップＳ１０２の後、割り込み処理は終了となる。
【００３５】
［弦状態認識処理］
次に、弦状態認識処理について説明する。
図６は、メインフローのステップＳ３においてサブフローとして実行される弦状態認識処理を示すフローチャートである。
弦状態認識処理が開始されると、ステップＳ２０１において、ＣＰＵ４１は、弦番号Ｎの弦２２をアクティブとするためのスキャンパルスを印加する。
ステップＳ２０２において、ＣＰＵ４１は、弦番号Ｎの弦２２がいずれのフレット２３に接触しているかを表すフレット情報を取得する。このとき、フレット情報は、押弦センサ４４の出力信号から取得される。
【００３６】
ステップＳ２０３において、ＣＰＵ４１は、弦番号Ｎの弦２２の振幅を取得する。このとき、弦２２の振幅は、Ａ／Ｄ１２ｂの出力信号から取得される。
ステップＳ２０４において、ＣＰＵ４１は、正ゼロクロス中であることを示すフラグをオフにする。
ステップＳ２０５において、ＣＰＵ４１は、今回取得した振幅値がゼロまたは正であるか否かの判定を行う。
ステップＳ２０５において、今回取得した振幅値がゼロまたは正でない（ＮＯ）と判定された場合、処理はステップＳ２０６に移行する。
一方、ステップＳ２０５において、今回取得した振幅値がゼロまたは正である（ＹＥＳ）と判定された場合、処理はステップＳ２０９に移行する。
【００３７】
ステップＳ２０６において、ＣＰＵ４１は、前回取得した振幅値がゼロまたは正であるか否かの判定を行う。
ステップＳ２０６において、前回取得した振幅値がゼロまたは正でない（ＮＯ）と判定された場合、処理はステップＳ２０７に移行する。
一方、ステップＳ２０６において、前回取得した振幅値がゼロまたは正である（ＹＥＳ）と判定された場合、処理はメインフローに戻る。
【００３８】
ステップＳ２０７において、ＣＰＵ４１は、今回の振幅値の方が前回までに取得された負の振幅値の最大値よりも絶対値が大きいか否かの判定を行う。
ステップＳ２０７において、今回の振幅値の方が前回までに取得された負の振幅値の最大値よりも絶対値が大きい（ＹＥＳ）と判定された場合、処理はステップＳ２０８に移行する。
一方、ステップＳ２０７において、今回の振幅値の方が前回までに取得された負の振幅値の最大値よりも絶対値が大きくない（ＮＯ）と判定された場合、処理はメインフローに戻る。
ステップＳ２０８において、ＣＰＵ４１は、今回の振幅値を負の振幅値の最大値とする。
ステップＳ２０８の後、処理はメインフローに戻る。
【００３９】
ステップＳ２０９において、ＣＰＵ４１は、前回の振幅値がゼロまたは正であるか否かの判定を行う。
ステップＳ２０９において、前回の振幅値がゼロまたは正でない（ＮＯ）と判定された場合、処理はステップＳ２１０に移行する。
一方、ステップＳ２０９において、前回の振幅値がゼロまたは正である（ＹＥＳ）と判定された場合、処理はステップＳ２１１に移行する。
ステップＳ２１０において、ＣＰＵ４１は、正ゼロクロス中であることを示すフラグをオンにする。
ステップＳ２１０の後、処理はメインフローに戻る。
【００４０】
ステップＳ２１１において、ＣＰＵ４１は、今回の振幅値の方が前回までに取得された正の振幅値の最大値よりも絶対値が大きいか否かの判定を行う。
ステップＳ２１１において、今回の振幅値の方が前回までに取得された正の振幅値の最大値よりも絶対値が大きい（ＹＥＳ）と判定された場合、処理はステップＳ２１２に移行する。
一方、ステップＳ２１１において、今回の振幅値の方が前回までに取得された正の振幅値の最大値よりも絶対値が大きくない（ＮＯ）と判定された場合、処理はメインフローに戻る。
【００４１】
［ピッチ抽出処理］
次に、ピッチ抽出処理について説明する。
図７は、メインフローのステップＳ９においてサブフローとして実行されるピッチ抽出処理を示すフローチャートである。
また、図８は、弦２２の振動波形を示す模式図である。
ピッチ抽出処理が開始されると、ステップＳ３０１において、ＣＰＵ４１は、Ａ／Ｄ１２ｂから出力される弦番号Ｎの弦における波形の振幅を取得する。
ステップＳ３０２において、ＣＰＵ４１は、正ゼロクロス中であることを示すフラグをオフにする。
【００４２】
ステップＳ３０３において、ＣＰＵ４１は、今回取得した振幅値がゼロまたは正であるか否かの判定を行う。
ステップＳ３０３において、今回取得した振幅値がゼロまたは正でない（ＮＯ）と判定された場合、処理はステップＳ３０４に移行する。
一方、ステップＳ３０３において、今回取得した振幅値がゼロまたは正である（ＹＥＳ）と判定された場合、処理はステップＳ３０７に移行する。
【００４３】
ステップＳ３０４において、ＣＰＵ４１は、前回取得した振幅値がゼロまたは正であるか否かの判定を行う。
ステップＳ３０４において、前回取得した振幅値がゼロまたは正でない（ＮＯ）と判定された場合、処理はステップＳ３０５に移行する。
一方、ステップＳ３０４において、前回取得した振幅値がゼロまたは正である（ＹＥＳ）と判定された場合、処理はメインフローに戻る。
ステップＳ３０５において、ＣＰＵ４１は、今回の振幅値の方が前回までに取得された負の振幅値の最大値よりも絶対値が大きいか否かの判定を行う。
ステップＳ３０５において、今回の振幅値の方が前回までに取得された負の振幅値の最大値よりも絶対値が大きい（ＹＥＳ）と判定された場合、処理はステップＳ３０６に移行する。
一方、ステップＳ３０５において、今回の振幅値の方が前回までに取得された負の振幅値の最大値よりも絶対値が大きくない（ＮＯ）と判定された場合、処理はメインフローに戻る。
【００４４】
ステップＳ３０６において、ＣＰＵ４１は、今回の振幅値を負の振幅値のピーク値とする。
ステップＳ３０６の後、処理はメインフローに戻る。
ステップＳ３０７において、ＣＰＵ４１は、前回の振幅値がゼロまたは正であるか否かの判定を行う。
ステップＳ３０７において、前回の振幅値がゼロまたは正でない（ＮＯ）と判定された場合、処理はステップＳ３０８に移行する。
一方、ステップＳ３０７において、前回の振幅値がゼロまたは正である（ＹＥＳ）と判定された場合、処理はステップＳ３１０に移行する。
ステップＳ３０８において、ＣＰＵ４１は、現在のタイマＴｓの値をゼロクロスタイマ値とする。
ステップＳ３０９において、ＣＰＵ４１は、正ゼロクロス中であることを示すフラグをオンにする。
ステップＳ３０９の後、処理はメインフローに戻る。
【００４５】
ステップＳ３１０において、ＣＰＵ４１は、今回の振幅値の方が前回までに取得された正の振幅値の最大値よりも絶対値が大きいか否かの判定を行う。
ステップＳ３１０において、今回の振幅値の方が前回までに取得された正の振幅値の最大値よりも絶対値が大きい（ＹＥＳ）と判定された場合、処理はステップＳ３１１に移行する。
一方、ステップＳ３１０において、今回の振幅値の方が前回までに取得された正の振幅値の最大値よりも絶対値が大きくない（ＮＯ）と判定された場合、処理はメインフローに戻る。
このような処理により、図８に示す振動波形において、負のピーク値と正のピーク値とが検出され、これらに挟まれた正ゼロクロス点のゼロクロスタイマ値Ｔｂが検出される。そして、ゼロクロスタイマ値Ｔｂと、次に検出された正ゼロクロス点のゼロクロスタイマ値Ｔとの差分（Ｔ−Ｔｂ）からピッチが算出される。
【００４６】
［コマンド出力判定処理］
次に、コマンド出力判定処理について説明する。
図９は、メインフローのステップＳ１４においてサブフローとして実行されるコマンド出力判定処理を示すフローチャートである。
なお、コマンド出力判定処理では、弦振動が不安定であると判定する経過時間（不安定時間Ｉｔ）を各弦及び各フレットについて示すテーブル（以下、「不安定時間テーブル」と呼ぶ。）が用いられる。また、コマンド出力判定処理では、弦振動が安定した後に、ピッチ変更コマンドを出力する時間間隔（安定時インターバル時間Ｓｔ）を各弦及び各フレットについて示すテーブル（以下、「安定時インターバルテーブル」と呼ぶ。）が用いられる。
【００４７】
図１０は、不安定時間テーブルの一例を示す模式図である。
図１０に示すように、不安定時間テーブルには、弦番号１〜６の弦２２それぞれについて、押弦されたフレットに対応する弦振動が不安定であると判定する不安定時間Ｉｔが設定されている。不安定時間Ｉｔは、電子弦楽器１における弦の振動を実測して得られる実験値や理論値を基に設定される。
例えば、弦番号４の弦２２では、フレット番号１〜５で押弦された場合、波形タイマ値＝７までが不安定時間Ｉｔであり、フレット番号６〜１１で押弦された場合、波形タイマ値＝６までが不安定時間Ｉｔである。同様に、フレット番号１２〜１７で押弦された場合、波形タイマ値＝５までが不安定時間Ｉｔであり、フレット番号１８〜２２で押弦された場合、波形タイマ値＝４までが不安定時間Ｉｔである。
【００４８】
図１０に示す不安定時間テーブルでは、弦が細いほど、また、低音側のフレットで押弦されるほど、不安定時間Ｉｔが長くなっている。これは、弦が細いほど、また、低音側のフレットで押弦されるほど、弦の振動が安定するまでにより長い時間を要するためである。
なお、図１０に示すフレットのグループは一例であり、より少ないグループ数に分割したり、それぞれのフレット毎に設定する場合を含め、より多いグループ数に分割したりすることが可能である。
【００４９】
図１１は、安定時インターバルテーブルの一例を示す模式図である。
図１１に示すように、安定時インターバルテーブルには、弦番号１〜６の弦２２それぞれについて、押弦されたフレットに対応する弦振動が安定した後に、ピッチ変更コマンドを出力する安定時インターバル時間Ｓｔが設定されている。
例えば、弦番号４の弦２２では、フレット番号１〜５で押弦された場合、波形タイマ値＝４０の時間間隔が安定時インターバル時間Ｓｔであり、フレット番号６〜１１及びフレット番号１２〜１７で押弦された場合、波形タイマ値＝３０の時間間隔が安定時インターバル時間Ｓｔである。同様に、フレット番号１８〜２２で押弦された場合、波形タイマ値＝４０の時間間隔が安定時インターバル時間Ｓｔである。
【００５０】
図１１に示す安定時インターバルテーブルでは、弦が細いほど、また、高音側のフレットで押弦されるほど、安定時インターバル時間Ｓｔが短くなっている。これは、弦が細いほど、また、高音側のフレットで押弦されるほど、発音される音が高く、より高い頻度でピッチ変更コマンドを出力することが求められるためである。
なお、図１１に示すフレットのグループは一例であり、より少ないグループ数に分割したり、それぞれのフレット毎に設定する場合を含め、より多いグループ数に分割したりすることが可能である。
【００５１】
図９において、コマンド出力判定処理が開始されると、ステップＳ４０１において、ＣＰＵ４１は、波形タイマ値が、対象となる弦２２について設定されている不安定時間Ｉｔを経過しているか否かの判定を行う。具体的には、ステップＳ４０１において、ＣＰＵ４１は、弾弦された弦２２の波形タイマ値が、図１０において、その弦２２について設定されている不安定時間Ｉｔを経過しているか否かの判定を行う。
ステップＳ４０１において、波形タイマ値が、対象となる弦２２について設定されている不安定時間Ｉｔを経過している（ＹＥＳ）と判定された場合、処理はステップＳ４０２に移行する。
一方、ステップＳ４０１において、波形タイマ値が、対象となる弦２２について設定されている不安定時間Ｉｔを経過していない（ＮＯ）と判定された場合、処理はステップＳ４０４に移行する。
【００５２】
ステップＳ４０２において、ＣＰＵ４１は、今回の波形タイマ値から前回のコマンド出力時間を減算し、前回のコマンド出力からの経過時間を算出する。
ステップＳ４０３において、ＣＰＵ４１は、前回のコマンド出力からの経過時間が、対象となる弦２２について設定されている安定時インターバル時間Ｓｔ以下であるか否かの判定を行う。
ステップＳ４０３において、前回のコマンド出力からの経過時間が、対象となる弦２２について設定されている安定時インターバル時間Ｓｔ以下である（ＹＥＳ）と判定された場合、処理はメインフローに戻る。
一方、ステップＳ４０３において、前回のコマンド出力からの経過時間が、対象となる弦２２について設定されている安定時インターバル時間Ｓｔ以下でない（ＮＯ）と判定された場合、処理はステップＳ４０４に移行する。
【００５３】
ステップＳ４０４において、ＣＰＵ４１は、コマンド送信を許可する状態に設定する。
ステップＳ４０５において、ＣＰＵ４１は、今回の波形タイマ値を前回のコマンド出力時間に設定する。
ステップＳ４０５の後、処理はメインフローに戻る。
【００５４】
図１２は、電子弦楽器１の動作の概念を示す模式図である。
図１２においては、フィルタ処理によって整形された弦の振動波形と、ピッチ変更コマンドが送信されるタイミングとが、波形タイマ値と対応付けて示されている。
図１２に示すように、上述のような処理が実行される結果、電子弦楽器１においては、弾弦が行われて発音コマンドが出力された場合、各弦について設定された不安定時間Ｉｔが経過するまでは、正ゼロクロス点が検出される毎（即ち、１周期毎）にピッチ変更コマンドが出力される。
【００５５】
そして、弾弦された弦について設定された不安定時間Ｉｔが経過した後には、その弦について設定された安定時インターバル時間Ｓｔが経過した後に正ゼロクロス点が検出される毎に、ピッチ変更コマンドが出力される。
そのため、音高の変化に対して速やかに音高を補正するピッチ変更コマンドが出力されると共に、音高の変化が小さい場合には、ピッチ変更コマンドが出力される頻度が低下される。
また、ピッチ変更コマンドは、各弦及び押弦位置に応じた頻度で出力される。
したがって、電子弦楽器１における音高の補正をより効率的に行うことが可能となる。
【００５６】
図１３は、Ｂ５の音高における弦の振動波形の一例を示す図である。
図１３に示す振動波形の場合、波形の周期は１．０１ｍｓ程度である。
ここで、例えば、ＭＩＤＩにおけるコマンドは、１つのコマンドの送信に１ｍｓ程度を要することから、ピッチ変更コマンドを１周期毎に出力すると、コマンドの送信によって通信データ量が飽和する可能性が高い。特に、複数の弦を弾弦した場合には、コマンドの送信によって通信データ量が飽和する可能性がさらに高いものとなる。
これに対し、本実施形態における電子弦楽器１の場合、弦の振動が安定した後には、ピッチ変更コマンドを出力する頻度が低下することから、通信データ量が飽和することを抑制できる。
【００５７】
［変形例１］
上述の実施形態において、波形タイマＴｃのカウント値が不安定時間Ｉｔを経過しているか否かによって不安定期間と安定期間とを識別し、ピッチ変更コマンドを出力する頻度を変更することとしたが、ピッチ抽出の結果によって弦振動の安定性を判定し、ピッチ変更コマンドの頻度を変えることとしてもよい。即ち、ピッチ抽出によって取得されたピッチの変化がピッチの安定性を判定するための閾値Ｐｔｈ１（第１の閾値）以下となった場合に、弦の振動が安定したものと判定してもよい。
これにより、弦の振動波形の直接的な状態に対応して、より速やかに、かつ、より正確に弦振動の安定性を判定することが可能となる。
【００５８】
［変形例２］
上述の実施形態において、ピッチ抽出の結果から、チョーキング奏法等により発音後のピッチが変化されたか否かを判定し、ピッチ変更コマンドを出力する頻度を変化させてもよい。即ち、不安定時間Ｉｔを経過した後に、ピッチ抽出によってピッチが閾値Ｐｔｈ２（第２の閾値）以上変化したと判定された場合に、ＣＰＵ４１は、ピッチ変更コマンドを出力する頻度をより高める（時間間隔をより小さくする）制御を行うことができる。また、このとき、ピッチが閾値Ｐｔｈ２以上変化したと判定された場合、直ちにピッチ変更コマンドを出力することとしてもよい。
これにより、演奏者の奏法に応じて、より適切に音高を補正することが可能となる。
【００５９】
［変形例３］
上述の実施形態において、図１０に示す不安定時間テーブルに設定された不安定時間Ｉｔは、弾弦の強さに応じて変化させることとしてもよい。即ち、検出された弦の振動波形の振幅が大きい場合に、不安定時間Ｉｔをより大きくし、検出された弦の指導波形の振幅が小さい場合に、不安定時間Ｉｔをより小さくするよう変化させてもよい。この場合、図１に示す不安定時間テーブルに設定された不安定時間Ｉｔに対して、弦の振動波形の振幅の大きさに応じた係数を乗算して変化させることができる。あるいは、弦の振動波形の振幅の大きさに応じた複数の不安定時間テーブルを用意しておき、検出された弦の振動波形の振幅の大きさに応じて、いずれかの不安定時間テーブルを選択して用いることとしてもよい。
これにより、強く弾弦が行われた場合には、弦の振動が安定し難いという現象を加味して、より適切な不安定時間Ｉｔを設定することが可能となる。
【００６０】
以上のように構成される電子弦楽器１は、ヘキサピックアップ１２と、ＣＰＵ４１と、を備える。
ヘキサピックアップ１２は、指板２１上に張設された複数の弦２２のいずれかが弾弦されたか否かを検出する。
ＣＰＵ４１は、ヘキサピックアップ１２によって弾弦が検出された弦２２の振動ピッチを検出する。
また、ＣＰＵ４１は、検出した振動ピッチに応じて、発音中の楽音の音高を補正するためのピッチ変更コマンドを、前記複数の弦夫々に対応して設定された時間間隔で連続的に音源４５に出力する。
これにより、ピッチ変更コマンドが、各弦に応じた頻度で出力される。
したがって、電子弦楽器１における音高の補正をより効率的に行うことが可能となる。
【００６１】
また、電子弦楽器１は、押弦センサ４４を備える。
押弦センサ４４は、指板２１上の複数のフレット２３それぞれに設けられ、当該指板２１上に張設された複数の弦２２と当該複数のフレット２３との接触状態を検出する。
ＣＰＵ４１は、各弦２２についてフレット２３の位置に対応して設定されたピッチ変更コマンドの出力の時間間隔に基づいて、押弦センサ４４によって検出されたフレット２３との接触状態に応じたピッチ変更コマンドの出力を行う。
これにより、ピッチ変更コマンドが、各弦の押弦位置に応じた頻度で出力される。
したがって、電子弦楽器１における音高の補正をより効率的に行うことが可能となる。
【００６２】
ＣＰＵ４１は、検出した弦２２の振動ピッチの変化が所定以下の状態であるか否かを判定する。
また、ＣＰＵ４１は、弦２２の振動ピッチの変化が所定以下の状態であると判定された場合は、弦２２の振動ピッチの変化が所定以下の状態でないと判定された場合と比べて、ピッチ変更コマンドの出力の時間間隔を長くする。
これにより、音高の変化に対して速やかに音高を補正するピッチ変更コマンドが出力されると共に、音高の変化が小さい場合には、ピッチ変更コマンドが出力される頻度が低下される。
したがって、電子弦楽器１における音高の補正をより効率的に行うことが可能となる。
【００６３】
ＣＰＵ４１は、発音開始からの時間をカウントする波形タイマＴｃを有する。
また、ＣＰＵ４１は、ピッチ変更コマンドの出力の時間間隔を波形タイマＴｃのカウント値によって制御する。
これにより、カウントされた波形タイマＴｃの値を用いて、簡単にピッチ変更コマンドの出力間隔を制御することができる。
【００６４】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【００６５】
例えば、上述の実施形態において、図１０における不安定時間テーブルに設定された不安定時間は一例であり、これに限られない。即ち、弦が細いほど、また、低音側のフレットで押弦されるほど、不安定時間Ｉｔが長くなれば、電子弦楽器１の仕様等に合わせて、不安定時間テーブルに設定される不安定時間Ｉｔは、種々変更することができる。
【００６６】
同様に、上述の実施形態において、図１１における安定時インターバルテーブルに設定された安定時インターバル時間Ｓｔは一例であり、これに限られない。即ち、弦が細いほど、また、高音側のフレットで押弦されるほど、安定時インターバル時間Ｓｔが短くなれば、電子弦楽器１の仕様等に合わせて、安定時インターバルテーブルに設定される安定時インターバル時間Ｓｔは、種々変更することができる。
【００６７】
また、上述の実施形態では、本発明が適用される電子弦楽器として、電子ギターを例として説明したが、特にこれに限定されず、押弦操作されるものであれば、電子ギター以外の電子弦楽器としても構成することができる。
【００６８】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
【００６９】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【００７０】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される、装置本体に予め組み込まれた状態でユーザに提供される記録媒体で構成される。当該記録媒体は、例えば、磁気ディスク（フロッピディスクを含む）、光ディスク、または光磁気ディスク等により構成される。光ディスクは、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ），Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ（ブルーレイディスク）等により構成される。光磁気ディスクは、ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図２のＲＯＭ４２等で構成される。
【００７１】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００７２】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００７３】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
指板部上に張設された複数の弦のいずれかが弾弦されたか否かを検出する弾弦検出手段と、
前記弾弦検出手段によって弾弦が検出された弦の振動ピッチを検出する弦振動検出手段と、
前記弦振動検出手段によって検出された振動ピッチに応じて、発音中の楽音の音高を補正するためのコマンドを、前記複数の弦夫々に対応して設定された時間間隔で連続的に音源に出力するコマンド出力手段と、
を有する電子弦楽器。
［付記２］
指板部上の複数のフレットそれぞれに設けられ、当該指板部上に張設された複数の弦と当該複数のフレットとの接触状態を検出する複数のセンサをさらに有し、
前記コマンド出力手段は、各弦について前記フレットの位置に対応して設定された前記コマンドの出力の時間間隔に基づいて、前記センサによって検出された前記フレットとの接触状態に応じた前記コマンドの出力を行う付記１に記載の電子弦楽器。
［付記３］
前記弦振動検出手段によって検出された弦の振動ピッチの変化が所定以下の状態であるか否かを判定する振動状態判定手段をさらに有し、
前記コマンド出力手段は、前記振動状態判定手段によって前記弦の振動ピッチの変化が所定以下の状態であると判定された場合は、前記弦の振動ピッチの変化が所定以下の状態でないと判定された場合と比べて、前記コマンドの出力の時間間隔を長くする付記１または２に記載の電子弦楽器。
［付記４］
発音開始からの経過時間をカウントする波形タイマをさらに備え、
前記コマンド出力手段は、前記コマンドの出力の時間間隔を前記波形タイマのカウント値によって制御する付記１から３のいずれか１つに記載の電子弦楽器。
［付記５］
指板部上に張設された複数の弦のいずれかが弾弦されたか否かを検出する弾弦検出手段を備える電子弦楽器に用いられる楽音発生方法であって、
前記電子弦楽器が、
前記弾弦検出手段によって弾弦が検出された弦の振動ピッチを検出し、
検出された振動ピッチに応じて、発音中の楽音の音高を補正するためのコマンドを、前記複数の弦夫々に対応して設定された時間間隔で連続的に音源に出力する、楽音発生方法。
［付記６］
指板部上に張設された複数の弦のいずれかが弾弦されたか否かを検出する弾弦検出手段を備える電子弦楽器として用いられるコンピュータに、
前記弾弦検出手段によって弾弦が検出された弦の振動ピッチを検出する弦振動検出ステップと、
前記弦振動検出ステップにおいて検出された振動ピッチに応じて、発音中の楽音の音高を補正するためのコマンドを、前記複数の弦夫々に対応して設定された時間間隔で連続的に音源に出力するコマンド出力ステップと、
を実行させるプログラム。
【符号の説明】
【００７４】
１・・・電子弦楽器、１０・・・本体、１１・・・ノーマルピックアップ、１２・・・ヘキサピックアップ、１２ａ・・・アナログフィルタ、１２ｂ・・・Ａ／Ｄ、１３・・・電子部、１４・・・ケーブル、１５・・・表示部、１６・・・ブリッジ、１７・・・トレモロアーム、２０・・・ネック、２１・・・指板、２２・・・弦、２３・・・フレット、３０・・・ヘッド、３１・・・糸巻き、４１・・・ＣＰＵ、４２・・・ＲＯＭ、４３・・・ＲＡＭ、４４・・・押弦センサ、４５・・・音源、４６・・・ＤＳＰ、４７・・・Ｄ／Ａ、４８・・・スイッチ、４９・・・Ｉ／Ｆ、５０・・・バス、５３・・・外部音源、ＫＩ０〜ＫＩ２１・・・選択線、ＫＣ０〜ＫＣ５・・・信号線
【図１】
2015184380.tif 000003
【図２】
2015184380.tif 000004
【図３】
2015184380.tif 000005
【図４】
2015184380.tif 000006
【図５】
2015184380.tif 000007
【図６】
2015184380.tif 000008
【図７】
2015184380.tif 000009
【図８】
2015184380.tif 000010
【図９】
2015184380.tif 000011
【図１０】
2015184380.tif 000012
【図１１】
2015184380.tif 000013
【図１２】
2015184380.tif 000014
【図１３】
2015184380.tif 000015