発音指示装置、発音指示方法、及びプログラム
【課題】スキル(コードの知識)が無くても直感的に演奏でき、かつ、押弦されるフレット位置の高低により、音高を変化させることを可能とし、表現力と演奏感覚とを高める。
【解決手段】CPUは、更新したギターのコードに対応する現在のコード(ルート及びコード種)を取得する。そして、CPUは、取得した該当コード(ルート及びコード種)に基づいて特定した各弦に対応したコードのフレット位置の情報が格納された音階テーブルを取得する。取得した音階テーブルに基づいて、フレット位置及び弦の番号により変換音を取得する。
【解決手段】CPUは、更新したギターのコードに対応する現在のコード(ルート及びコード種)を取得する。そして、CPUは、取得した該当コード(ルート及びコード種)に基づいて特定した各弦に対応したコードのフレット位置の情報が格納された音階テーブルを取得する。取得した音階テーブルに基づいて、フレット位置及び弦の番号により変換音を取得する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、発音指示装置、発音指示方法、及びプログラムに関する。
【背景技術】
【0002】
従来から、ギタータイプの電子楽器において、曲の進行に応じて自動的にコードを割り当てて、右手だけで演奏できる機能が知られている。この機能によれば、スキル(コードの知識)が無くても、右手でかき鳴らすだけで演奏することができ、ストロークやアルペジオ等の演奏表現を加えることもできる(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平8−115085号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1を含む従来の技術では、ユーザの意思が全く反映されないため、左手側の操作感が無く、演奏している感覚が薄くなるという問題がある。また、音程の変化が乏しく、演奏が単調になってしまうという問題があった。
【0005】
本発明は、このような状況に鑑みてなされたものであり、スキル(コードの知識)が無くても直感的に演奏でき、かつ、押弦されるフレット位置の高低により、音高を変化させることを可能とし、表現力と演奏感覚とを高めることを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の一態様の発音指示装置は、
押弦された各弦のフレット位置を取得するフレット位置取得手段と、
外部よりコードを順次取得するコード取得手段と、
前記コード取得手段により取得されたコードに対応する音階テーブルを取得する音階テーブル取得手段と、
前記音階テーブル取得手段により取得された前記音階テーブルを参照して、前記フレット位置取得手段により取得された前記各弦のフレット位置に基づく変換音を取得する変換音取得手段と、
前記変換音取得手段により取得された変換音の発音を指示する発音指示手段と、
を備えたことを特徴とする。
【発明の効果】
【0007】
本発明によれば、スキル(コードの知識)が無くても直感的に演奏でき、かつ、押弦されるフレット位置の高低により、音高を変化させることを可能とし、表現力と演奏感覚とを高めることができる。
【図面の簡単な説明】
【0008】
【図1】本発明の第1実施形態に係る発音指示装置の外観構成を示す平面図である。
【図2】発音指示装置のハードウェアの構成を示すブロック図である。
【図3】メイン処理の流れを説明するフローチャートである。
【図4】タイマ割込処理の流れを説明するフローチャートである。
【図5】ソング処理の流れを説明するフローチャートである。
【図6】ソング開始処理の流れを説明するフローチャートである。
【図7】ROMに格納されているソングデータの構造例である。
【図8】ソング再生処理の流れを説明するフローチャートである。
【図9】イベント処理の流れを説明するフローチャートである。
【図10】フレット処理の流れを説明するフローチャートである。
【図11】トリガ処理の流れを説明するフローチャートである。
【図12】各弦毎に振動レベルを取得するトリガ検出回路ピックアップを示す図である。
【図13】フレット音階変換処理の流れを説明するフローチャートである。
【図14】ROMに格納されている音階テーブルの構造例である。
【図15】ROMに格納されているCのコードに対応する音階テーブルの構造例である。
【図16】第2実施形態に係るフレット音階変換処理の流れを説明するフローチャートである。
【図17】第2実施形態に係るROMに格納されるデータのうち、コード及びフレットを格納するための音階テーブルの構造例である。
【図18】第2実施形態に係るROMに格納されているCのコードに対応する音階テーブルの構造例である。
【発明を実施するための形態】
【0009】
[第1実施形態]
以下、本発明の第1実施形態について、図面を用いて説明する。
【0010】
図1は、本発明の第1実施形態に係る発音指示装置の外観構成を示す平面図である。
【0011】
発音指示装置1は、例えばエレクトリック・ギター(Electric Guitar)により構成され、弦振動をピックアップで検出して、その電気信号を増幅して出力することにより、弦自体の振動に基づく楽音を発生することができる。
この場合、ユーザは、曲の進行に応じてかき鳴らすだけで、押弦されるフレット位置の高低により、音高を変化させながら音を出力することができる。
【0012】
発音指示装置1は、本体部2と、フレット部3と、トリガ部4と、を備えている。
本体部2は、発音指示装置1の筐体を構成する。
フレット部3は、フレットと弦に対応したマトリクス状のスイッチ群で構成される。
トリガ部4は、各弦毎にピックアップを持ち個別に弦振動を検出する。
【0013】
図2は、後述の図13を参照して説明するフレット音階変換処理を実行可能な発音指示装置1のハードウェアの構成を示すブロック図である。
【0014】
発音指示装置1は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、バス14と、入出力インターフェース15と、スイッチ検出回路16と、フレット検出回路17と、ADコンバータ18と、音源システム19と、機能スイッチ群21と、フレットスイッチ群22と、トリガ検出回路ピックアップ23と、を備えている。
【0015】
CPU11は、ROM12に記録されているプログラム、又は、記憶部(図示せず)からRAM13にロードされたプログラムに従って各種の処理を実行する。
【0016】
RAM13には、CPU11が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【0017】
CPU11、ROM12、及びRAM13は、バス14を介して相互に接続されている。このバス14にはまた、入出力インターフェース15も接続されている。入出力インターフェース15には、スイッチ検出回路16、フレット検出回路17、ADコンバータ18、音源システム19が接続されている。
【0018】
ROM12は、CPU11に実行させる種々の処理、例えば、機能スイッチ群21のオン・オフ、スイッチの操作、弦の振動レベルに応じた楽音の発音、MIDIデータに基づく処理等のプログラムを格納する。また、ROM12は、ピアノ、ギター、バスドラム、スネアドラム、シンバル等の楽音を生成するための波形データを格納した波形データエリア、及び、自動伴奏パターン等を構成する楽音のソングデータを格納したソングデータエリアを有する。RAM13は、ROM12から読み出されたプログラムや、処理の過程で生成されたデータを記憶する。従って、CPU11は、ROM12に記憶されているソングデータに基づいて、ギター以外のパートの自動演奏を行う。また、CPU11は、ソングデータ中のコードデータにより、フレットの音階を割り当てて演奏することができる。
【0019】
スイッチ検出回路16は、音色等を選択する機能スイッチ群21の各スイッチの状態を検出してCPU11に入力する。機能スイッチ群21は、演奏モードや演奏の開始を指示する。
【0020】
フレット検出回路17は、フレット部3(図1参照)を含むフレットスイッチ群22の各スイッチの状態を検出してCPU11に入力する。フレットスイッチ群22は、本体部2(図1参照)のネック部に設けられ、6弦×12フレットの72個の接点で構成される。フレット検出回路17は、フレット部3の状態を検出する。
【0021】
ADコンバータ18は、ピックアップ、センサーアンプ、波形処理の回路で構成されるトリガ検出回路ピックアップ23により取得されるアナログ値をCPU11からの指示により、弦毎に6Chサンプリングし、CPU11で処理可能なデジタル値に変換する。
【0022】
音源システム19は、例えばMIDI(Musical Instrument Digital Interface)データで発音が指示された楽音の波形データを生成し、その波形データをD/A変換して得られるオーディオ信号を外部音源30に出力して、発音及び消音の指示を出す。
【0023】
外部音源30は、音源システム19から出力されたオーディオ信号を増幅して出力するアンプ回路41と、アンプ回路41から入力したオーディオ信号により楽音を放音するスピーカ42と、を備える。音源システム19により発生した波形により、アンプ回路41、スピーカ42を介して発音を行う。
【0024】
次に、図3を参照して、このような図2のハードウェアの構成の発音指示装置1が実行する、メイン処理について説明する。
図3は、メイン処理の流れを説明するフローチャートである。
【0025】
メイン処理は、本実施形態では、ユーザが電源を投入する操作を機能スイッチ群21に対して行った場合、その操作を契機として開始される。即ち、次のような処理が実行される。
【0026】
ステップS11において、CPU11は、イニシャル処理を行う。この処理では、CPU11は、各種レジスタやカウント値等の起動時の初期化を実行する。
ステップS12において、CPU11は、機能スイッチ処理を行う。この処理では、CPU11は、機能スイッチ群21を構成するそれぞれの操作を検出し、検出された操作に従った処理を実行する。例えば、機能スイッチ処理においては、音色指定スイッチや、自動伴奏パターンの種別の指定スイッチ、自動伴奏パターンのオン・オフの指定スイッチ等、種々のスイッチの操作が検出される。自動伴奏パターンがオンとなったときには、CPU11は、演奏モードを伴奏モードに切り換える。演奏モードを示すデータは、RAM13の所定の領域に指定される。音色や自動伴奏パターンの種別を示すデータも、同様に、RAM13の所定の領域に格納される。
【0027】
ステップS13において、CPU11は、後述の図5を参照して説明するソング処理を行う。この処理では、CPU11は、ギター以外のパートを自動演奏すると共に、コードの情報を取り込む。ステップS13のソング処理が終了すると、処理は、ステップS14に進む。
【0028】
ステップS14において、CPU11は、後述の図10を参照して説明するフレット処理を行う。この処理では、CPU11は、フレットの走査を行い、フレットの状態を取り込む処理を行う。ステップS14のフレット処理が終了すると、処理は、ステップS15に進む。
【0029】
ステップS15において、CPU11は、後述の図11を参照して説明するトリガ処理を行う。この処理では、CPU11は、弦のトリガ検出の処理を行う。これによって発音、消音の指示を行う。ステップS15のトリガ処理が終了すると、処理は、ステップS16に進む。
【0030】
ステップS16において、CPU11は、音源発音処理を行う。この処理では、CPU11は、ステップS11〜ステップS15の処理で行われた発音又は消音の指示に従い、音源の発音の処理を行う。CPU11は、決定された実行された処理に基づいて、音楽やフレットの状態から音色や音高を示すデータを音源システム19に供給する。音源システム19は、供給された音色及び音高を示すデータに従って、ROM12の波形データを読み出して、所定の音高の楽音データを生成する。これにより、アンプ回路41を通じてスピーカ42から所定の楽音が発生する。この処理が終了すると、処理はステップS12に戻る。即ち、メイン処理では、ユーザが電源をオフにする等、処理を終了する操作が機能スイッチ群21に対して行われるまでの間、ステップS12乃至S16の処理が繰り返し行われる。
【0031】
以上、図3を参照して、メイン処理の流れについて説明した。
次に、図4を参照して、タイマ割込処理の詳細な流れについて説明する。
【0032】
次に、図4を参照して、このような図2のハードウェアの構成の発音指示装置1が実行する、タイマ割込処理について説明する。
タイマ割込処理は、図3のメイン処理とは独立して実行される処理(並行して実行される場合あり)であり、ユーザが電源を投入する操作を機能スイッチ群21に対して行った場合、その操作を契機として開始され、次のような処理が繰り返し実行される。タイマ処理は、主として時間の計測に使用される。
図4は、タイマ割込処理の流れを説明するフローチャートである。
【0033】
ステップS31において、CPU11は、経過時間をカウントする。
この処理では、CPU11は、内部で発生する所定周期のクロックに同期したタイミングに基づき、経過時間をカウントする。具体的には、ソングでのイベント間のΔt時間の計測を行う。このΔt時間は、時間経過毎にクリアされる。この処理が終了すると、処理はステップS31に戻る。即ち、タイマ割込処理では、ユーザが電源をオフにする等、処理を終了する操作が機能スイッチ群21に対して行われるまでの間、ステップS31の処理が繰り返し行われる。
【0034】
以上、図4を参照して、タイマ割込処理の流れについて説明した。
次に、図5を参照して、図3のメイン処理のうち、ステップS13のソング処理の詳細な流れについて説明する。
【0035】
図5は、ソング処理の流れを説明するフローチャートである。
上述したように、CPU11により、図3のステップS12の処理で機能スイッチ処理が行われると、処理はステップS13に進み、ソング処理として次のような処理が実行される。
【0036】
即ち、図5のステップS51において、CPU11は、ソング再生中か否かを判定する。ソングが再生されていない場合には、ステップS51においてNOであると判定されて、処理はステップS52に進む。
【0037】
ステップS52において、CPU11は、ソング再生開始の操作がスイッチ群21に対して行われたか否かを判定する。ソング再生開始の操作がスイッチ群21に対して行われない場合には、ステップS52においてNOであると判定されてソング処理が終了し、即ち図3のステップS13の処理が終了し、処理はステップS14に進む。これに対して、ソング再生開始の操作がスイッチ群21に対して行われた場合には、ステップS52においてYESであると判定されて、処理はステップS53に進む。
【0038】
ステップS53において、CPU11は、後述の図6を参照して説明するソング開始処理を行う。この処理では、CPU11は、ソングを開始するためのデータを準備をする処理を行う。ステップS53のソング開始処理が終了すると、ソング処理が終了し、即ち図3のステップS13の処理が終了し、処理はステップS14に進む。
【0039】
これに対して、ソングが再生されている場合には、ステップS51においてYESであると判定されて、処理はステップS54に進む。
【0040】
ステップS54において、CPU11は、後述の図8を参照して説明するソング再生処理を行う。この処理では、CPU11は、図6のソング開始処理において設定されたイベント及びΔt時間に基づいてイベントの処理を行う。ステップS54のソング再生処理が終了すると、ソング処理が終了し、即ち図3のステップS13の処理が終了し、処理はステップS14に進む。
【0041】
以上、図5を参照して、ソング処理の流れについて説明した。
次に、図6を参照して、図5のソング処理のうち、ステップS53のソング開始処理の詳細な流れについて説明する。
【0042】
図6は、ソング開始処理の流れを説明するフローチャートである。
上述したように、CPU11により、図5のステップS52の処理でソング再生開始の操作がスイッチ群21に対して行われたと判定されると、処理はステップS53に進み、ソング開始処理として次のような処理が実行される。
【0043】
即ち、図6のステップS71において、CPU11は、ROM12に格納されたソングデータを参照してイベントに開始イベントをセットする。なお、初期状態においては、CPU11は、休符扱いで、イベントが開始イベントにセットされるまで時間経過を待つ処理を行う。
【0044】
ここで、図7を参照してROM12に格納されているソングデータの構造について説明する。
図7は、ROM12に格納されているソングデータの構造例である。
ソングデータは、イベントデータ及び次のイベントまでのΔt時間によって構成される。
ソングデータは、対応するパートのフレーズ区間を構成する各音を表す。1つのソングデータは、イベント及びΔt時間が対となって曲進行に対応した時系列のアドレス順に記憶される、いわゆる絶対時間方式と呼ばれるデータ形式で表現される。Δt時間は、曲開始時点からの経過時間で現イベントのタイミングを表す。イベントは、発音を表すノートONイベント(又は消音を表すノートOFFイベント)及び発音音高(又は消音音高)を表すノートナンバを含む。それによりソングデータは、イベント(楽音)単位で用意されたソングデータをその処理順に並べた形の構成となっている。ソングを構成する演奏パートにはそれぞれ異なるChが割り当てられる。イベントデータは、Ch(楽器のパート)によって内容が異なり、ギター以外のChは、メロディ、リズム、ベースのノートON/OFFのデータを持ち、ギター以外のパートを自動演奏できるようになっている。また、それ以外のイベントデータとしては、演奏の開始及び終了指示のイベントデータも格納される。これに対し、ギターのChには、対応するコード名が格納されている。
【0045】
図6のステップS72において、CPU11は、ステップS71においてセットした次のイベント実行までのΔt時間をセットする。
【0046】
ステップS73において、CPU11は、図4のタイマ割込処理のステップS31においてカウントしている時間を参照して、ステップS72においてセットしたイベントの経過時間のカウントを開始する。これによりステップS72においてセットしたΔt時間が消化される。
【0047】
ステップS74において、CPU11は、ソングステータスを再生中にセットする。この処理が終了すると、ソング開始処理が終了し、即ち図5のステップS53の処理が終了し、処理は図3のステップS14に進む。
【0048】
以上、図6を参照して、ソング開始処理の流れについて説明した。
次に、図8を参照して、図5のソング処理のうち、ステップS54のソング再生処理の詳細な流れについて説明する。
【0049】
図8は、ソング再生処理の流れを説明するフローチャートである。
上述したように、CPU11により、図5のステップS51の処理でソングが再生中であると判定されると、処理はステップS54に進み、ソング再生処理として次のような処理が実行される。
【0050】
即ち、図8のステップS91において、CPU11は、図6のステップS73においてカウントを開始してからの経過時間を取得する。
【0051】
ステップS92において、CPU11は、経過時間が図6のステップS72においてセットしたイベントのΔt時間を経過したか否かを判定する。この処理では、次のイベントまでの時間がどれだけ消化されたか否かが判定される。イベントのΔt時間を経過していないと判定した場合には、ソング再生処理が終了し、即ち図5のステップS54の処理が終了し、処理は図3のステップS14に進む。この場合は、引き続き継続して時間計測が行われる。これに対し、イベントのΔt時間を経過したと判定した場合には、処理はステップS93に進む。
【0052】
ステップS93において、CPU11は、後述の図9を参照して説明するイベント処理を行う。この処理では、CPU11は、新しいイベントを読み出して処理を行う。ステップS93のイベント処理が終了すると、ソング再生処理が終了し、即ち図3のステップS13の処理が終了し、処理はステップS14に進む。
【0053】
以上、図8を参照して、ソング再生処理の流れについて説明した。
次に、図9を参照して、図7のソング再生処理のうち、ステップS93のイベント処理の詳細な流れについて説明する。
【0054】
図9は、イベント処理の流れを説明するフローチャートである。
上述したように、CPU11により、図7のステップS92の処理でΔt時間が経過したと判定されると、処理はステップS93に進み、イベント処理として次のような処理が実行される。
【0055】
即ち、図9のステップS101において、CPU11は、ROM12に格納されたソングデータを参照して、図6のステップS71においてセットしたイベントのChはギターであるか否かを判定する。セットしたイベントのChはギター以外である場合には、ステップS101においてNOであると判定されて、処理はステップS102に進む。
【0056】
ステップS102において、CPU11は、ROM12に格納されたソングデータを参照して、図6のステップS71においてセットしたイベント種毎に通常再生を行う。この処理では、ギター以外のChについては、自動演奏の対象とするために、メロディ、リズム、ベースのノートON/OFF指示を行い、ギター以外のChのイベントに基づいて発音を指示する処理を行う。
【0057】
ステップS103において、CPU11は、図6のステップS72においてセットしたΔt時間のセットをクリアする。ステップS103の処理が終了すると、イベント処理が終了し、即ち図3のステップS13の処理が終了し、処理はステップS14に進む。
【0058】
これに対し、図6のステップS71においてセットしたイベントのChはギターである場合には、ステップS101においてYESであると判定されて、処理はステップS104に進む。
【0059】
ステップS104において、CPU11は、ROM12に格納されたソングデータを参照して、ギターChの現在のコードを更新する。即ちこの処理では、CPU11は、ROM12に格納されたソングデータを参照して、図6のステップS71においてセットしたイベントのギターChのコードネームがある場合には、当該コードネームを取り出す。そして、CPU11は、ソングの再生中に取り出したコードネームを記憶しておく。これにより、ある小節の頭に来たらCメジャーやC#等のコードネームを設定することができる。そして、このコードネームが設定されている間は、ユーザが適当に演奏した場合であっても、当該コードネームに基づいて演奏することができる。
【0060】
ステップS103において、CPU11は、経過時間をクリアし、新たなΔt時間をセットする。ステップS103の処理が終了すると、イベント処理が終了し、即ち図3のステップS13の処理が終了し、処理はステップS14に進む。
【0061】
以上、図9を参照して、イベント処理の流れについて説明した。
次に、図10を参照して、図3のメイン処理のうち、ステップS14のフレット処理の詳細な流れについて説明する。
【0062】
図10は、フレット処理の流れを説明するフローチャートである。
上述したように、CPU11により、図3のステップS13の処理でソング処理が終了すると、処理はステップS14に進み、フレット処理として次のような処理が実行される。フレット処理では、CPU11は、ユーザがどの様に弦を押弦しているかを検出する。
【0063】
即ち、図10のステップS121において、CPU11は、6本ある弦のうち、1弦目をセットする。
【0064】
ステップS122において、CPU11は、セットした弦を走査し、押弦されている箇所があれば高音側から優先してその箇所のフレット位置を取得する。これにより、CPU11は、何れのフレット位置で押弦されているかを検出し、検出したフレット位置をROM12に記憶する。
【0065】
ステップS123において、CPU11は、該当する弦のフレット位置を更新する。
【0066】
ステップS124において、CPU11は、弦の番号を判定し、6弦目までフレット位置を取得したか否かを判定する。6弦目までフレット位置を取得していない場合、即ち全ての弦のフレット位置を取得していない場合には、NOであると判定されて、処理はステップ125に進む。
【0067】
ステップS125において、CPU11は、弦の番号をインクリメントし、次の番号の弦をセットする。この処理が終了すると、処理はステップS122に戻る。即ち、全ての弦のフレット位置を検出するまでの間、ステップS122乃至S124の処理が繰り返し行われる。
【0068】
これに対し、6弦目までフレット位置を取得した場合、即ち全ての弦のフレット位置を取得した場合には、YESであると判定されて、フレット処理が終了し、即ち図3のステップS14の処理が終了し、処理はステップS15に進む。
【0069】
以上、図10を参照して、フレット処理の流れについて説明した。
次に、図11を参照して、図3のメイン処理のうち、ステップS15のトリガ処理の詳細な流れについて説明する。
【0070】
図11は、トリガ処理の流れを説明するフローチャートである。
上述したように、CPU11により、図3のステップS14の処理でフレット処理が終了すると、処理はステップS15に進み、トリガ処理として次のような処理が実行される。
【0071】
即ち、図11のステップS141において、CPU11は、6本ある弦のうち、1弦目をセットする。
【0072】
ステップS142において、CPU11は、弦の振動レベルを取得する。
図12を参照して弦の振動レベルの取得方法について説明する。
図12は、各弦毎に振動レベルを取得するトリガ検出回路ピックアップ23を示す図である。トリガ検出回路ピックアップ23は、ピックアップ(〜センサアンプ)51と、整流回路52と、積分回路53と、を備える。
【0073】
初めに、各弦に設けられたピックアップ51は、複数の弦のうち1つの弦の振動の波形S1を取得する。
次に、整流回路52は、取得した波形S1を全波整流して片側のみの整流の波形S2を生成する。
次に、積分回路53は、片側のみに整流した波形S2を積分して、滑らかな包絡線の波形S3を生成する。包絡線の波形S3は、弦毎に6本生成され、これを図2のADコンバータ18で取り込み、生成された包絡線のレベルを検出することで、CPU11は、OFF中に所定のレベル(ON閾値)を超えたら現在のステータスをONにし、ON中に所定のレベル(OFF閾値)を下回ると現在のステータスをOFFにする。具体的には、後述のステップS143乃至ステップS153の処理により判断する。
【0074】
図11のステップS143において、CPU11は、現在のステータスはOFF中であるか否かを判定する。現在のステータスがOFF中である場合には、処理はステップS144に進む。
【0075】
ステップS144において、CPU11は、弦の振動レベルはON閾値を超えたか否かを判定する。弦の信号レベルはON閾値を超えていない場合には、処理はステップS152に進む。即ち、現在のステータスがOFF中である場合には、弦の信号レベルがON閾値を超えるまでの間、現在のステータスはOFFのまま設定される。これに対し、弦の信号レベルはON閾値を超えた場合には、処理はステップS145に進む。
【0076】
ステップS145において、CPU11は、後述の図13を参照して説明するフレット音階変換処理を行う。フレット音階変換処理では、CPU11は、現在のコードと、フレット位置、弦の番号とに基づいて変換音を取得する処理を行う。フレット音階変換処理が終了すると、処理はステップS146に進む。
【0077】
ステップS146において、CPU11は、ステップS145において変換された音階で発音指示を行う。
ステップS147において、CPU11は、該当する音階の現在のステータスをON中に変更する。
【0078】
これに対して、ステップS143において、CPU11は、現在のステータスはOFF中ではない、即ち現在のステータスはON中である場合には、処理はステップS148に進む。
【0079】
ステップS148において、CPU11は、弦の振動レベルはOFF閾値を超えたか、即ち、OFF閾値を下回ったか否かを判定する。弦の信号レベルはOFF閾値を超えた(下回った)場合には、処理はステップS152に進む。即ち、現在のステータスがON中である場合には、弦の信号レベルがOFF閾値を超える(下回る)までの間、現在のステータスはONのまま設定される。これに対し、弦の信号レベルはOFF閾値を超えた(下回った)場合には、処理はステップS149に進む。
【0080】
ステップS149において、CPU11は、OFF閾値を超えた弦に該当する音階を取得する。
ステップS150において、CPU11は、ステップS149において取得した音階の消音指示を行う。
【0081】
ステップS151において、CPU11は、該当する音階の現在のステータスをOFF中に変更する。この処理が終了すると、処理はステップS152に進む。
【0082】
ステップS152において、CPU11は、6弦目がセットされているか否かを判定する。この処理では、CPU11は、全ての弦について処理が行われたか否かを判定する。6弦目がセットされていない場合、即ち、全ての弦について処理が行われていない場合には、処理はステップS153に進む。
【0083】
ステップS153において、CPU11は、弦の番号を1インクリメントしてセットし、処理はステップS142に戻る。即ち、全ての弦について処理が行われるまでの間、ステップS142乃至S153の処理が繰り返し行われる。
これに対して、6弦目がセットされている場合には、ステップS152においてYESであると判定されてトリガ処理が終了し、即ち図3のステップS15の処理が終了し、処理はステップS16に進む。
【0084】
以上、図11を参照して、トリガ処理の流れについて説明した。
次に、図13を参照して、図11のトリガ処理のうち、ステップS145のフレット音階変換処理の詳細な流れについて説明する。
【0085】
図13は、フレット音階変換処理の流れを説明するフローチャートである。
上述したように、CPU11により、図11のステップS144の処理でON閾値を超えたと判定されると、処理はステップS145に進み、フレット音階変換処理として次のような処理が実行される。この処理では、ユーザにより実際にはコードに合致しないコードに対応するフレット位置が押弦されている場合であっても、コードを構成するフレット位置に近似する各弦のフレット位置に基づく変換音を取得する処理を行う。
【0086】
即ち、図13のステップS161において、CPU11は、現在のコードを取得する。具体的には、CPU11は、図9のステップS104の処理において更新したギターのコードに対応する現在のコード(ルート及びコード種)を取得する。
ここで、図14を参照してROM12に格納されている音階テーブルの構造について説明する。
【0087】
図14は、ROM12に格納されている音階テーブルの構造例である。
コード毎の音階テーブルは、0フレット(開放)〜12フレットまでの13個(byte)の音階を1〜6弦分持っている。即ち、コードに対応して各弦のフレット位置に近似するフレット位置の情報が格納されている。これを12種類のルートと、4種類のコード種分持っている。なお、本実施形態においては、コード種は4種類としているがこれに限られるものではない。
ここで、図15を参照して、ROM12に格納されている図14の音階テーブルのうち、Cのコードに対応する音階テーブルの構造について説明する。
なお、本実施形態においては、Cのコードに対応する音階テーブルについてのみ説明するが、その他のコードに対応する音階テーブルについてもそれぞれROM12に格納されている。
【0088】
図15は、ROM12に格納されているCのコードに対応する音階テーブルの構造例である。
図15は、現在のコードが「C」である場合に取得される音階テーブルである。
音階テーブルとは、各弦と各フレットとに対応付けられた音階を示すテーブルである。従って、音階テーブルの構造は、このような関係を示すものであれば足り、特に限定されないが、本実施形態では図15に示すような行列構造となっている。
【0089】
図15に示す音階テーブルは行列構造を有しているため、以下、図15中横方向の項目の集合体を「行」と呼び、同図中縦方向の項目の集合体を「列」と呼ぶ。
図15に示す音階テーブルでは、1〜6弦までの各弦に対応した各行には、0フレット(開放)〜12フレットまでの13個の各フレット毎に対応付けられた音階が各列に対応付けられて配置されている。
音階テーブルには、現在のコードを構成するコード構成音に必要な押弦されるべき各弦のフレット位置の音階と同じ音階が、当該フレット位置に近似するフレット位置、即ち当該フレット位置と距離的に近い位置に配置されている。言い換えると、音階テーブルには、現在のコードを構成するコード構成音のみが配置されており、音階テーブルに配置されている各音階は、押弦されたフレット位置に最も距離の近い、コード構成音の音階に収束させるように配置されている。
従って、ユーザにより誤って現在のコードを構成するコード構成音に必要な押弦されるべき各弦のフレット位置とは異なるフレット位置が押弦された場合であっても、CPU11は、現在のコードを構成する音階を取得することができる。
【0090】
具体的には、ユーザがLOWポジションで「C」のコードを演奏する場合には、第1弦(E4)及び第3弦(G3)を開放し、第2弦の第1フレット(C4)、第4弦の第2フレット(E3)及び、第5弦の第3フレット(C3)を押弦する必要がある。従って、現在のコード「C」を構成する音階のうち「E3」を発音するのに必要な押弦されるべき第4弦のフレット位置は、第2フレットである。音階テーブルには、第4弦の第2フレットと距離的に近い位置である第4弦の第1フレット及び第3フレットにも、第4弦の第2フレットの音階(E3)と同じ音階(E3)が配置されている。
このことから、例えば、現在のコードが「C」である場合にユーザが押弦されるべき第4弦のフレット位置は、第2フレットであるにも関わらず、ユーザが誤って第4弦の第2フレットと距離的に近い位置である第4弦の第1フレット又は第3フレットを押弦してしまった場合であっても、第4弦の第2フレットの音階(E3)と同じ音階(E3)が変換音として取得される。
同様に、現在のコード「C」を構成する音階のうち「C4」を発音するのに必要な押弦されるべき第2弦のフレット位置は、第1フレットである。音階テーブルには、第2弦の第1フレットと距離的に近い位置である第2弦の第2フレット、第3フレット及び開放弦にも、第2弦の第1フレットの音階(C4)と同じ音階(C4)が変換音として配置されている。
同様に、現在のコード「C」を構成する音階のうち「C3」を発音するのに必要な押弦されるべき第5弦のフレット位置は、第3フレットである。音階テーブルには、第5弦の第3フレットと距離的に近い位置である第5弦の第1フレット、第2フレット、第4フレット及び第5フレットにも、第5弦の第3フレットの音階(C3)と同じ音階(C3)が変換音として配置されている。
同様に、現在のコード「C」を構成する音階のうち「E4」を発音するのに必要な押弦されるべき第1弦のフレット位置は、第0フレット(開放弦)である。音階テーブルには、第1弦の第0フレットと距離的に近い位置である第1弦の第1フレットにも、第1弦の第0フレット(開放弦)の音階(E4)と同じ音階(E4)が変換音として配置されている。
同様に、現在のコード「C」を構成する音階のうち「G3」を発音するのに必要な押弦されるべき第3弦のフレット位置は、第0フレット(開放弦)である。音階テーブルには、第3弦の第0フレットと距離的に近い位置である第3弦の第1フレット及び第2フレットにも、第1弦の第0フレット(開放弦)の音階(G3)と同じ音階(G3)が変換音として配置されている。
【0091】
また、ユーザがMIDポジションで「C」のコードを演奏する場合には、第1弦の第3フレット(G4)、第2弦の第5フレット(E4)、第3弦の第5フレット(C4)、第4弦の第5フレット(G3)、第5弦の第3フレット(C3)、第6弦の第3フレット(G2)を押弦する必要がある。
従って、ユーザがMIDポジションで現在のコード「C」を構成する音階のうち「G4」を発音するのに必要な押弦されるべき第1弦のフレット位置は、第3フレットである。音階テーブルには、第1弦の第3フレットと距離的に近い位置である第1弦の第2フレット、第4フレット及び第5フレットにも、第1弦の第3フレットの音階(G4)と同じ音階(G4)が配置されている。このことから、例えば、現在のコードが「C」である場合にユーザがLOWポジションで押弦されるべきフレット位置から、MIDポジションで押弦されるべきフレット位置にポジションを変更させることにより、現在のコードを構成する音階の組み合わせをユーザの好みに応じて適宜変更することができる。
【0092】
図13のステップS162において、CPU11は、ステップS161において取得した該当コード(ルート及びコード種)に基づいて特定した各弦に対応したコードのフレット位置の情報が格納された音階テーブルを取得する。
【0093】
ステップS163において、CPU11は、ステップS162において取得した音階テーブルに基づいて、フレット位置及び弦の番号により変換音を取得する。これにより、現在のコードに対応した音階を得ることができる。この処理が終了すると、フレット音階変換処理が終了し、即ち図11のステップS145の処理が終了し、処理はステップS146に進む。
【0094】
以上説明したように、本実施形態の発音指示装置1は、
押弦された各弦のフレット位置を取得するフレット位置取得手段と、
外部よりコードを順次取得するコード取得手段と、
前記コード取得手段により取得されたコードに対応する音階テーブルを取得する音階テーブル取得手段と、
前記音階テーブル取得手段により取得された前記音階テーブルを参照して、前記フレット位置取得手段により取得された前記各弦のフレット位置に基づく変換音を取得する変換音取得手段と、
前記変換音取得手段により取得された変換音の発音を指示する発音指示手段と、を備える。
この場合、ユーザは、例えば曲の進行上、コードがCの区間においては、どのフレット位置が押弦された場合であっても、Cの構成音であるC,E,Gの3つの音階の何れかが発音され、フレット位置によっては、オクターブが異なる音階で発音される。従って、フレット位置を操作する左手のポジションによって、音程の表現を加えることが可能となる。これにより、スキル(コードの知識)が無くても直感的に演奏でき、かつ、押弦されたフレット位置の高低により、音高を変化させることを可能とし、表現力と演奏感覚とを高めることができる。
【0095】
更に、本実施形態の発音指示装置1の前記音階テーブルは、前記コードに対応する各弦のフレット位置に近似するフレット位置の情報を格納し、
前記変換音取得手段は、前記音階テーブルを参照して、前記音階テーブルに格納された前記各弦のフレット位置の情報に基づき、前記フレット位置取得手段により取得された前記各弦のフレット位置に近似する前記各弦のフレット位置に基づく変換音を取得してもよい。
この場合、フレット位置を操作する左手のポジションによって、各弦のフレット位置に近似する各弦のフレット位置に基づきコードに対応する変換音が取得されることから、スキル(コードの知識)が無いユーザであっても、適当に左手で弾きならして演奏するだけで、直感的に演奏でき、かつ、押弦されたフレット位置の高低により、音高を変化させることを可能とし、表現力と演奏感覚とを高めることができる。
【0096】
以上、本発明の第1実施形態に係る発音指示装置1について説明した。
次に、本発明の第2実施形態に係る発音指示装置1について説明する。
【0097】
[第2実施形態]
本発明の第2実施形態に係る発音指示装置1は、第1実施形態に係る発音指示装置1と基本的に同様のハードウェア構成及び機能的構成を取ることができる。
従って、図2は、第2実施形態に係る発音指示装置1のハードウェアの構成を示すブロック図でもある。
【0098】
更に、第2実施形態に係る発音指示装置1が実行するメイン処理、タイマ割込処理、ソング処理、ソング開始処理、ソング再生処理、イベント処理、フレット処理、トリガ処理、フレット音階変換処理は、第1実施形態に係る各処理と基本的に同様の流れとなる。従って、図3、図4、図5、図6、図8、図9、図10、図11、図13は、第2実施形態に係るメイン処理、タイマ割込処理、ソング処理、ソング開始処理、ソング再生処理、イベント処理、フレット処理、トリガ処理、フレット音階変換処理の流れを説明するフローチャートでもある。
ただし、第2実施形態では、フレット音階変換処理のうちステップS163の処理については、第1実施形態で採用された図13のフローチャートではなく、図16のフローチャートが採用される。
図16は、図2の発音指示装置1が実行する、第2実施形態に係るフレット音階変換処理の流れを説明するフローチャートである。
【0099】
上述した第1実施形態における図5のフレット音階変換処理では、取得した音階テーブルに基づいて、フレット位置及び弦の番号により変換音を取得しているのに対して、第2実施形態における図16のフレット音階変換処理では、6弦分のフレット位置の平均値によりポジションを決定し、決定したポジション及びフレット位置により変換音を取得している点が差異点である。詳細には、第2実施形態では、第1実施形態に係るステップS163の処理に代えて、ステップS183及び184の処理が実行される点が差異点である。
そこで、以下、このような差異点について主に説明し、一致点の説明は適宜省略する。
【0100】
図17を参照してROM12に格納されている第2実施形態の音階テーブルの構造について説明する。
【0101】
図17は、ROM12に格納されている第2実施形態の音階テーブルの構造例である。
コード毎の音階テーブルは、コード毎にLOWポジション、MIDポジション、HIGHポジションのデータを持つ。1つのポジションは、それぞれ1弦〜6弦までの6弦分の音階を持つ。具体的には、音階テーブルは、LOWポジションとして、E4,G4,G3,E3,C3,E2の6弦分の音階を格納している。また、音階テーブルは、MIDポジションとして、G4,E4,C4,G3,C3,G2の6弦分の音階を格納している。また、音階テーブルは、HIGHポジションとして、C5,G4,E4,C4,G3,C3の6弦分の音階を格納している。なお、本実施形態においては、各ポジションにおいて6弦分の音階を格納しているがこれに限られるものではない。
ここで、図18を参照して、ROM12に格納されている図17の音階テーブルのうち、Cのコードに対応する音階テーブルの構造について説明する。
なお、本実施形態においては、Cのコードに対応する音階テーブルについてのみ説明するが、その他のコードに対応する音階テーブルについてもそれぞれROM12に格納されている。
【0102】
図18は、ROM12に格納されているCのコードに対応する音階テーブルの構造例である。
図18(1)〜(3)は、現在のコードが「C」である場合に取得される音階テーブルである。
図18の第2実施形態の音階テーブルは、図15の第1実施形態の音階テーブルと略同じ構成である。但し、第1実施形態の音階テーブルは、現在のコードを構成するコード構成音を発音するのに必要な押弦されるべき各弦のフレット位置の音階と同じ音階が、当該フレット位置に近似するフレット位置、即ち当該フレット位置と距離的に近い位置に配置されている。これに対し第2実施形態の音階テーブルは、押弦される際のポジションと、コードに対応する各弦の情報が格納されている。
即ち、第2実施形態の音階テーブルは、現在のコードを構成するコード構成音に必要な押弦されるべき各弦のフレット位置の音階が、押弦される際の複数のポジションに対応して配置されている。言い換えると、音階テーブルに配置されている各変換音は、押弦されたフレット位置の平均値に基づいて、その平均値に対応するポジションのコードの音階に収束させるように配置されている。
本実施形態では、押弦されたフレット位置の平均値が「3」未満である場合には、LOWポジションのコードの変換音が取得される。また、押弦されたフレット位置の平均値が「3」以上「6」未満である場合には、MIDポジションの変換音が取得される。また、押弦されたフレット位置の平均値が「6」以上である場合には、HIGHポジションの変換音が取得される。
例えばユーザが、各弦の2フレット付近を中心に押弦して演奏した場合と、各弦の4フレット付近を中心に押弦して演奏した場合と、では異なるポジションのフレット位置が押弦されていると判断される。そして、判断されたポジションに対応する変換音が取得される。
【0103】
具体的には、ユーザが「C」のコードを演奏する場合には、第2弦の第1フレット(C4)、第4弦の第2フレット(E3)及び、第5弦の第3フレット(C3)を押弦する必要がある。従って、現在のコード「C」を構成する音階のうち「E3」を発音するのに必要な押弦されるべき第4弦のフレット位置は、第2フレットである。
ここで、ユーザが例えば、第1弦目を開放し、第2弦目の第1フレットを押弦し、第3弦目を開放し、第4弦目の第1フレットを押弦し、第5弦目の第3フレットを押弦し、第6弦目を開放した場合について説明する。
この場合、現在のコード「C」を構成する音階のうち「E3」を発音するのに必要な押弦されるべき第4弦のフレット位置は第2フレットであるにも関わらず、誤って第1フレットが押弦されている。ここで、CPU11は、各弦が押弦されたフレット位置に基づいて、各フレット位置の平均値を算出して押弦されたポジションを決定する。
この場合、各弦が押弦されたフレット位置の平均値は、開放弦を0フレットとすると、(0フレット(第1弦)+1フレット(第2弦)+0フレット(第3弦)+1フレット(第4弦)+3フレット(第5弦)+0フレット(第6弦))/6=「0.83」フレットである。従って、CPU11は、押弦されたフレット位置の平均値が「3」未満であることから、現在のポジションはLOWポジションであると決定する。
このことから、例えば、現在のコードが「C」である場合に、LOWポジション付近のフレット位置を押弦して演奏した場合には、現在のコード「C」である場合にユーザが押弦されるべき第4弦のフレット位置は、第2フレットであるにも関わらず、ユーザが誤って第4弦の第2フレットと距離的に近い位置である第4弦の第1フレットを押弦してしまった場合であっても、CPU11は、図18(1)の音階テーブルを参照して第4弦の第2フレットの音階(E3)と同じ音階(E3)を変換音として取得する。
同様に、各弦が押弦されたフレット位置の平均値が、「3」以上「6」未満である場合には、CPU11は、現在のポジションはMIDポジションであると決定する。この場合、ユーザが誤って現在のコードの音階を発音するのに必要なフレット位置とは異なるフレット位置を押弦した場合であっても、CPU11は、図18(2)の音階テーブルを参照して、現在のコードの音階を発音するのに必要なフレット位置の音階と同じ音階を変換音として取得する。
同様に、各弦が押弦されたフレット位置の平均値が、「6」以上である場合には、CPU11は、現在のポジションはHIGHポジションであると決定する。この場合、ユーザが誤って現在のコードの音階を発音するのに必要なフレット位置とは異なるフレット位置を押弦した場合であっても、CPU11は、図18(3)の音階テーブルを参照して、現在のコードの音階を発音するのに必要なフレット位置の音階と同じ音階を変換音として取得する。
【0104】
図16のステップS182において、CPU11は、ステップS181において取得した該当コード(ルート及びコード種)に基づいて特定した各弦に対応したコードのフレット位置の情報が格納された音階テーブルを取得する。本実施形態において取得されるコードのフレット位置の情報が格納された音階テーブルは、LOWポジション,MIDポジション,HIGHポジションの3つのポジションに対応する音階データである。
【0105】
図16のステップS183において、CPU11は、6弦分のフレット位置の平均値よりポジションを決定する。具体的には、CPU11は、現在押弦されているフレット位置の平均値を算出する。そして、算出した平均値に基づいて複数のポジション(本実施形態においては3つのポジション)の中から1つのポジションを決定する。
【0106】
ステップS184において、CPU11は、ステップS183で決定したポジション及び弦の番号に基づき、変換音を取得する。この処理が終了すると、フレット音階変換処理が終了し、即ち図11のステップS145の処理が終了し、処理はステップS146に進む。
【0107】
以上説明したように、本実施形態の発音指示装置1は、前記フレット位置取得手段により取得された前記各弦のフレット位置に基づいて、複数のポジションの中から押弦されたポジションを決定するポジション決定手段を更に備え、
前記変換音取得手段は、前記フレット位置取得手段により取得された前記各弦のフレット位置及び前記ポジション決定手段により決定された前記ポジションに基づき前記音階テーブルのコードに対応する変換音を取得してもよい。
この場合、音階テーブルに格納するデータは、ポジションに対応するコードに対応する各弦の情報のみで足りるため、格納するデータ量を削減することができる。更に、ユーザが適当な押さえ方で押弦した場合であっても、フレット位置を操作する左手のポジションによって、音程の表現を加えることが可能となる。これにより、スキル(コードの知識)が無くても直感的に演奏でき、かつ、押弦されたフレット位置の高低により、音高を変化させることを可能とし、表現力と演奏感覚とを高めることができる。
【0108】
更に、本実施形態の発音指示装置1の前記音階テーブルは、押弦される際の前記ポジションと、前記コードに対応する各弦の情報とを格納し、
前記変換音取得手段は、前記音階テーブルを参照して、前記ポジション決定手段により決定された前記ポジション及び前記各弦の情報に基づく変換音を取得してもよい。
この場合、フレット位置を操作する左手のポジション及び弦に基づき変換音が取得されることから、スキル(コードの知識)が無いユーザであっても、適当に左手で弾きならして演奏するだけで、直感的に演奏でき、かつ、押弦されたフレット位置の高低により、音高を変化させることを可能とし、表現力と演奏感覚とを高めることができる。
【0109】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【0110】
上述の実施形態では、本発明が適用される電子機器は、エレクトリック・ギター等の発音指示装置1を例として説明したが、特にこれに限定されない。本発明は、コードを発音できる発音機能を有する電子楽器一般に適用することができる。具体的には、例えば、本発明は、キーボードや、ベース等に適用可能である。
【0111】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。また例えば、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。換言すると、図3乃至図13のフローチャートにおいて説明した機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が発音指示装置1に備えられていれば足り、この機能を実現するためにどのような機能的構成を用いるのかは特に図3乃至図13のフローチャートの例に限定されない。また、1つの機能的構成は、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【0112】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【0113】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布されるリムーバブルメディア(図示せず)により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディアは、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、CD−ROM(Compact Disk−Read Only Memory),DVD(Digital Versatile Disk)等により構成される。光磁気ディスクは、MD(Mini−Disk)等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図2のROM12や、図示せぬハードディスク等で構成される。
【0114】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
【0115】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[付記1]
押弦された各弦のフレット位置を取得するフレット位置取得手段と、
外部よりコードを順次取得するコード取得手段と、
前記コード取得手段により取得されたコードに対応する音階テーブルを取得する音階テーブル取得手段と、
前記音階テーブル取得手段により取得された前記音階テーブルを参照して、前記フレット位置取得手段により取得された前記各弦のフレット位置に基づく変換音を取得する変換音取得手段と、
前記変換音取得手段により取得された変換音の発音を指示する発音指示手段と、
を備えたことを特徴とする発音指示装置。
[付記2]
前記音階テーブルは、前記コードに対応する各弦のフレット位置に近似するフレット位置の情報を格納し、
前記変換音取得手段は、前記音階テーブルを参照して、前記音階テーブルに格納された前記各弦のフレット位置の情報に基づき、前記フレット位置取得手段により取得された前記各弦のフレット位置に近似する前記各弦のフレット位置に基づく変換音を取得することを特徴とする付記1に記載の発音指示装置。
[付記3]
前記フレット位置取得手段により取得された前記各弦のフレット位置に基づいて、複数のポジションの中から押弦されたポジションを決定するポジション決定手段を更に備え、
前記変換音取得手段は、前記フレット位置取得手段により取得された前記各弦のフレット位置及び前記ポジション決定手段により決定された前記ポジションに基づき前記音階テーブルのコードに対応する変換音を取得することを特徴とする付記1に記載の発音指示装置。
[付記4]
前記音階テーブルは、押弦される際の前記ポジションと、前記コードに対応する各弦の情報とを格納し、
前記変換音取得手段は、前記音階テーブルを参照して、前記ポジション決定手段により決定された前記ポジション及び前記各弦の情報に基づく変換音を取得することを特徴とする付記3に記載の発音指示装置。
[付記5]
音を発生する制御を実行する発音指示方法において、
押弦された各弦のフレット位置を取得するフレット位置取得ステップと、
外部よりコードを順次取得するコード取得ステップと、
前記コード取得ステップにより取得されたコードに対応する音階テーブルを取得する音階テーブル取得ステップと、
前記音階テーブル取得ステップにより取得された前記音階テーブルを参照して、前記フレット位置取得ステップにより取得された前記各弦のフレット位置に基づき変換音を取得する変換音取得ステップと、
前記変換音取得ステップにより取得された変換音の発音を指示する発音指示ステップと、
を含むことを特徴とする発音指示方法。
[付記6]
音を発生する制御を実行するコンピュータを、
押弦された各弦のフレット位置を取得するフレット位置取得手段、
外部よりコードを順次取得するコード取得手段、
前記コード取得手段により取得されたコードに対応する音階テーブルを取得する音階テーブル取得手段、
前記音階テーブル取得手段により取得された前記音階テーブルを参照して、前記フレット位置取得手段により取得された前記各弦のフレット位置に基づく変換音を取得する変換音取得手段、
前記変換音取得手段により取得された変換音に基づいて音を発生する音発生手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【0116】
1・・・発音指示装置、11・・・CPU、12・・・ROM、13・・・RAM、14・・・バス、15・・・入出力インターフェース15・・・スイッチ検出回路、17・・・フレット検出回路、18・・・ADコンバータ、19・・・音源システム、21・・・機能スイッチ群、22・・・フレットスイッチ群、23・・・トリガ検出回路ピックアップ、30・・・外部音源、41・・・アンプ回路、42・・・スピーカ
【技術分野】
【0001】
本発明は、発音指示装置、発音指示方法、及びプログラムに関する。
【背景技術】
【0002】
従来から、ギタータイプの電子楽器において、曲の進行に応じて自動的にコードを割り当てて、右手だけで演奏できる機能が知られている。この機能によれば、スキル(コードの知識)が無くても、右手でかき鳴らすだけで演奏することができ、ストロークやアルペジオ等の演奏表現を加えることもできる(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平8−115085号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1を含む従来の技術では、ユーザの意思が全く反映されないため、左手側の操作感が無く、演奏している感覚が薄くなるという問題がある。また、音程の変化が乏しく、演奏が単調になってしまうという問題があった。
【0005】
本発明は、このような状況に鑑みてなされたものであり、スキル(コードの知識)が無くても直感的に演奏でき、かつ、押弦されるフレット位置の高低により、音高を変化させることを可能とし、表現力と演奏感覚とを高めることを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の一態様の発音指示装置は、
押弦された各弦のフレット位置を取得するフレット位置取得手段と、
外部よりコードを順次取得するコード取得手段と、
前記コード取得手段により取得されたコードに対応する音階テーブルを取得する音階テーブル取得手段と、
前記音階テーブル取得手段により取得された前記音階テーブルを参照して、前記フレット位置取得手段により取得された前記各弦のフレット位置に基づく変換音を取得する変換音取得手段と、
前記変換音取得手段により取得された変換音の発音を指示する発音指示手段と、
を備えたことを特徴とする。
【発明の効果】
【0007】
本発明によれば、スキル(コードの知識)が無くても直感的に演奏でき、かつ、押弦されるフレット位置の高低により、音高を変化させることを可能とし、表現力と演奏感覚とを高めることができる。
【図面の簡単な説明】
【0008】
【図1】本発明の第1実施形態に係る発音指示装置の外観構成を示す平面図である。
【図2】発音指示装置のハードウェアの構成を示すブロック図である。
【図3】メイン処理の流れを説明するフローチャートである。
【図4】タイマ割込処理の流れを説明するフローチャートである。
【図5】ソング処理の流れを説明するフローチャートである。
【図6】ソング開始処理の流れを説明するフローチャートである。
【図7】ROMに格納されているソングデータの構造例である。
【図8】ソング再生処理の流れを説明するフローチャートである。
【図9】イベント処理の流れを説明するフローチャートである。
【図10】フレット処理の流れを説明するフローチャートである。
【図11】トリガ処理の流れを説明するフローチャートである。
【図12】各弦毎に振動レベルを取得するトリガ検出回路ピックアップを示す図である。
【図13】フレット音階変換処理の流れを説明するフローチャートである。
【図14】ROMに格納されている音階テーブルの構造例である。
【図15】ROMに格納されているCのコードに対応する音階テーブルの構造例である。
【図16】第2実施形態に係るフレット音階変換処理の流れを説明するフローチャートである。
【図17】第2実施形態に係るROMに格納されるデータのうち、コード及びフレットを格納するための音階テーブルの構造例である。
【図18】第2実施形態に係るROMに格納されているCのコードに対応する音階テーブルの構造例である。
【発明を実施するための形態】
【0009】
[第1実施形態]
以下、本発明の第1実施形態について、図面を用いて説明する。
【0010】
図1は、本発明の第1実施形態に係る発音指示装置の外観構成を示す平面図である。
【0011】
発音指示装置1は、例えばエレクトリック・ギター(Electric Guitar)により構成され、弦振動をピックアップで検出して、その電気信号を増幅して出力することにより、弦自体の振動に基づく楽音を発生することができる。
この場合、ユーザは、曲の進行に応じてかき鳴らすだけで、押弦されるフレット位置の高低により、音高を変化させながら音を出力することができる。
【0012】
発音指示装置1は、本体部2と、フレット部3と、トリガ部4と、を備えている。
本体部2は、発音指示装置1の筐体を構成する。
フレット部3は、フレットと弦に対応したマトリクス状のスイッチ群で構成される。
トリガ部4は、各弦毎にピックアップを持ち個別に弦振動を検出する。
【0013】
図2は、後述の図13を参照して説明するフレット音階変換処理を実行可能な発音指示装置1のハードウェアの構成を示すブロック図である。
【0014】
発音指示装置1は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、バス14と、入出力インターフェース15と、スイッチ検出回路16と、フレット検出回路17と、ADコンバータ18と、音源システム19と、機能スイッチ群21と、フレットスイッチ群22と、トリガ検出回路ピックアップ23と、を備えている。
【0015】
CPU11は、ROM12に記録されているプログラム、又は、記憶部(図示せず)からRAM13にロードされたプログラムに従って各種の処理を実行する。
【0016】
RAM13には、CPU11が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【0017】
CPU11、ROM12、及びRAM13は、バス14を介して相互に接続されている。このバス14にはまた、入出力インターフェース15も接続されている。入出力インターフェース15には、スイッチ検出回路16、フレット検出回路17、ADコンバータ18、音源システム19が接続されている。
【0018】
ROM12は、CPU11に実行させる種々の処理、例えば、機能スイッチ群21のオン・オフ、スイッチの操作、弦の振動レベルに応じた楽音の発音、MIDIデータに基づく処理等のプログラムを格納する。また、ROM12は、ピアノ、ギター、バスドラム、スネアドラム、シンバル等の楽音を生成するための波形データを格納した波形データエリア、及び、自動伴奏パターン等を構成する楽音のソングデータを格納したソングデータエリアを有する。RAM13は、ROM12から読み出されたプログラムや、処理の過程で生成されたデータを記憶する。従って、CPU11は、ROM12に記憶されているソングデータに基づいて、ギター以外のパートの自動演奏を行う。また、CPU11は、ソングデータ中のコードデータにより、フレットの音階を割り当てて演奏することができる。
【0019】
スイッチ検出回路16は、音色等を選択する機能スイッチ群21の各スイッチの状態を検出してCPU11に入力する。機能スイッチ群21は、演奏モードや演奏の開始を指示する。
【0020】
フレット検出回路17は、フレット部3(図1参照)を含むフレットスイッチ群22の各スイッチの状態を検出してCPU11に入力する。フレットスイッチ群22は、本体部2(図1参照)のネック部に設けられ、6弦×12フレットの72個の接点で構成される。フレット検出回路17は、フレット部3の状態を検出する。
【0021】
ADコンバータ18は、ピックアップ、センサーアンプ、波形処理の回路で構成されるトリガ検出回路ピックアップ23により取得されるアナログ値をCPU11からの指示により、弦毎に6Chサンプリングし、CPU11で処理可能なデジタル値に変換する。
【0022】
音源システム19は、例えばMIDI(Musical Instrument Digital Interface)データで発音が指示された楽音の波形データを生成し、その波形データをD/A変換して得られるオーディオ信号を外部音源30に出力して、発音及び消音の指示を出す。
【0023】
外部音源30は、音源システム19から出力されたオーディオ信号を増幅して出力するアンプ回路41と、アンプ回路41から入力したオーディオ信号により楽音を放音するスピーカ42と、を備える。音源システム19により発生した波形により、アンプ回路41、スピーカ42を介して発音を行う。
【0024】
次に、図3を参照して、このような図2のハードウェアの構成の発音指示装置1が実行する、メイン処理について説明する。
図3は、メイン処理の流れを説明するフローチャートである。
【0025】
メイン処理は、本実施形態では、ユーザが電源を投入する操作を機能スイッチ群21に対して行った場合、その操作を契機として開始される。即ち、次のような処理が実行される。
【0026】
ステップS11において、CPU11は、イニシャル処理を行う。この処理では、CPU11は、各種レジスタやカウント値等の起動時の初期化を実行する。
ステップS12において、CPU11は、機能スイッチ処理を行う。この処理では、CPU11は、機能スイッチ群21を構成するそれぞれの操作を検出し、検出された操作に従った処理を実行する。例えば、機能スイッチ処理においては、音色指定スイッチや、自動伴奏パターンの種別の指定スイッチ、自動伴奏パターンのオン・オフの指定スイッチ等、種々のスイッチの操作が検出される。自動伴奏パターンがオンとなったときには、CPU11は、演奏モードを伴奏モードに切り換える。演奏モードを示すデータは、RAM13の所定の領域に指定される。音色や自動伴奏パターンの種別を示すデータも、同様に、RAM13の所定の領域に格納される。
【0027】
ステップS13において、CPU11は、後述の図5を参照して説明するソング処理を行う。この処理では、CPU11は、ギター以外のパートを自動演奏すると共に、コードの情報を取り込む。ステップS13のソング処理が終了すると、処理は、ステップS14に進む。
【0028】
ステップS14において、CPU11は、後述の図10を参照して説明するフレット処理を行う。この処理では、CPU11は、フレットの走査を行い、フレットの状態を取り込む処理を行う。ステップS14のフレット処理が終了すると、処理は、ステップS15に進む。
【0029】
ステップS15において、CPU11は、後述の図11を参照して説明するトリガ処理を行う。この処理では、CPU11は、弦のトリガ検出の処理を行う。これによって発音、消音の指示を行う。ステップS15のトリガ処理が終了すると、処理は、ステップS16に進む。
【0030】
ステップS16において、CPU11は、音源発音処理を行う。この処理では、CPU11は、ステップS11〜ステップS15の処理で行われた発音又は消音の指示に従い、音源の発音の処理を行う。CPU11は、決定された実行された処理に基づいて、音楽やフレットの状態から音色や音高を示すデータを音源システム19に供給する。音源システム19は、供給された音色及び音高を示すデータに従って、ROM12の波形データを読み出して、所定の音高の楽音データを生成する。これにより、アンプ回路41を通じてスピーカ42から所定の楽音が発生する。この処理が終了すると、処理はステップS12に戻る。即ち、メイン処理では、ユーザが電源をオフにする等、処理を終了する操作が機能スイッチ群21に対して行われるまでの間、ステップS12乃至S16の処理が繰り返し行われる。
【0031】
以上、図3を参照して、メイン処理の流れについて説明した。
次に、図4を参照して、タイマ割込処理の詳細な流れについて説明する。
【0032】
次に、図4を参照して、このような図2のハードウェアの構成の発音指示装置1が実行する、タイマ割込処理について説明する。
タイマ割込処理は、図3のメイン処理とは独立して実行される処理(並行して実行される場合あり)であり、ユーザが電源を投入する操作を機能スイッチ群21に対して行った場合、その操作を契機として開始され、次のような処理が繰り返し実行される。タイマ処理は、主として時間の計測に使用される。
図4は、タイマ割込処理の流れを説明するフローチャートである。
【0033】
ステップS31において、CPU11は、経過時間をカウントする。
この処理では、CPU11は、内部で発生する所定周期のクロックに同期したタイミングに基づき、経過時間をカウントする。具体的には、ソングでのイベント間のΔt時間の計測を行う。このΔt時間は、時間経過毎にクリアされる。この処理が終了すると、処理はステップS31に戻る。即ち、タイマ割込処理では、ユーザが電源をオフにする等、処理を終了する操作が機能スイッチ群21に対して行われるまでの間、ステップS31の処理が繰り返し行われる。
【0034】
以上、図4を参照して、タイマ割込処理の流れについて説明した。
次に、図5を参照して、図3のメイン処理のうち、ステップS13のソング処理の詳細な流れについて説明する。
【0035】
図5は、ソング処理の流れを説明するフローチャートである。
上述したように、CPU11により、図3のステップS12の処理で機能スイッチ処理が行われると、処理はステップS13に進み、ソング処理として次のような処理が実行される。
【0036】
即ち、図5のステップS51において、CPU11は、ソング再生中か否かを判定する。ソングが再生されていない場合には、ステップS51においてNOであると判定されて、処理はステップS52に進む。
【0037】
ステップS52において、CPU11は、ソング再生開始の操作がスイッチ群21に対して行われたか否かを判定する。ソング再生開始の操作がスイッチ群21に対して行われない場合には、ステップS52においてNOであると判定されてソング処理が終了し、即ち図3のステップS13の処理が終了し、処理はステップS14に進む。これに対して、ソング再生開始の操作がスイッチ群21に対して行われた場合には、ステップS52においてYESであると判定されて、処理はステップS53に進む。
【0038】
ステップS53において、CPU11は、後述の図6を参照して説明するソング開始処理を行う。この処理では、CPU11は、ソングを開始するためのデータを準備をする処理を行う。ステップS53のソング開始処理が終了すると、ソング処理が終了し、即ち図3のステップS13の処理が終了し、処理はステップS14に進む。
【0039】
これに対して、ソングが再生されている場合には、ステップS51においてYESであると判定されて、処理はステップS54に進む。
【0040】
ステップS54において、CPU11は、後述の図8を参照して説明するソング再生処理を行う。この処理では、CPU11は、図6のソング開始処理において設定されたイベント及びΔt時間に基づいてイベントの処理を行う。ステップS54のソング再生処理が終了すると、ソング処理が終了し、即ち図3のステップS13の処理が終了し、処理はステップS14に進む。
【0041】
以上、図5を参照して、ソング処理の流れについて説明した。
次に、図6を参照して、図5のソング処理のうち、ステップS53のソング開始処理の詳細な流れについて説明する。
【0042】
図6は、ソング開始処理の流れを説明するフローチャートである。
上述したように、CPU11により、図5のステップS52の処理でソング再生開始の操作がスイッチ群21に対して行われたと判定されると、処理はステップS53に進み、ソング開始処理として次のような処理が実行される。
【0043】
即ち、図6のステップS71において、CPU11は、ROM12に格納されたソングデータを参照してイベントに開始イベントをセットする。なお、初期状態においては、CPU11は、休符扱いで、イベントが開始イベントにセットされるまで時間経過を待つ処理を行う。
【0044】
ここで、図7を参照してROM12に格納されているソングデータの構造について説明する。
図7は、ROM12に格納されているソングデータの構造例である。
ソングデータは、イベントデータ及び次のイベントまでのΔt時間によって構成される。
ソングデータは、対応するパートのフレーズ区間を構成する各音を表す。1つのソングデータは、イベント及びΔt時間が対となって曲進行に対応した時系列のアドレス順に記憶される、いわゆる絶対時間方式と呼ばれるデータ形式で表現される。Δt時間は、曲開始時点からの経過時間で現イベントのタイミングを表す。イベントは、発音を表すノートONイベント(又は消音を表すノートOFFイベント)及び発音音高(又は消音音高)を表すノートナンバを含む。それによりソングデータは、イベント(楽音)単位で用意されたソングデータをその処理順に並べた形の構成となっている。ソングを構成する演奏パートにはそれぞれ異なるChが割り当てられる。イベントデータは、Ch(楽器のパート)によって内容が異なり、ギター以外のChは、メロディ、リズム、ベースのノートON/OFFのデータを持ち、ギター以外のパートを自動演奏できるようになっている。また、それ以外のイベントデータとしては、演奏の開始及び終了指示のイベントデータも格納される。これに対し、ギターのChには、対応するコード名が格納されている。
【0045】
図6のステップS72において、CPU11は、ステップS71においてセットした次のイベント実行までのΔt時間をセットする。
【0046】
ステップS73において、CPU11は、図4のタイマ割込処理のステップS31においてカウントしている時間を参照して、ステップS72においてセットしたイベントの経過時間のカウントを開始する。これによりステップS72においてセットしたΔt時間が消化される。
【0047】
ステップS74において、CPU11は、ソングステータスを再生中にセットする。この処理が終了すると、ソング開始処理が終了し、即ち図5のステップS53の処理が終了し、処理は図3のステップS14に進む。
【0048】
以上、図6を参照して、ソング開始処理の流れについて説明した。
次に、図8を参照して、図5のソング処理のうち、ステップS54のソング再生処理の詳細な流れについて説明する。
【0049】
図8は、ソング再生処理の流れを説明するフローチャートである。
上述したように、CPU11により、図5のステップS51の処理でソングが再生中であると判定されると、処理はステップS54に進み、ソング再生処理として次のような処理が実行される。
【0050】
即ち、図8のステップS91において、CPU11は、図6のステップS73においてカウントを開始してからの経過時間を取得する。
【0051】
ステップS92において、CPU11は、経過時間が図6のステップS72においてセットしたイベントのΔt時間を経過したか否かを判定する。この処理では、次のイベントまでの時間がどれだけ消化されたか否かが判定される。イベントのΔt時間を経過していないと判定した場合には、ソング再生処理が終了し、即ち図5のステップS54の処理が終了し、処理は図3のステップS14に進む。この場合は、引き続き継続して時間計測が行われる。これに対し、イベントのΔt時間を経過したと判定した場合には、処理はステップS93に進む。
【0052】
ステップS93において、CPU11は、後述の図9を参照して説明するイベント処理を行う。この処理では、CPU11は、新しいイベントを読み出して処理を行う。ステップS93のイベント処理が終了すると、ソング再生処理が終了し、即ち図3のステップS13の処理が終了し、処理はステップS14に進む。
【0053】
以上、図8を参照して、ソング再生処理の流れについて説明した。
次に、図9を参照して、図7のソング再生処理のうち、ステップS93のイベント処理の詳細な流れについて説明する。
【0054】
図9は、イベント処理の流れを説明するフローチャートである。
上述したように、CPU11により、図7のステップS92の処理でΔt時間が経過したと判定されると、処理はステップS93に進み、イベント処理として次のような処理が実行される。
【0055】
即ち、図9のステップS101において、CPU11は、ROM12に格納されたソングデータを参照して、図6のステップS71においてセットしたイベントのChはギターであるか否かを判定する。セットしたイベントのChはギター以外である場合には、ステップS101においてNOであると判定されて、処理はステップS102に進む。
【0056】
ステップS102において、CPU11は、ROM12に格納されたソングデータを参照して、図6のステップS71においてセットしたイベント種毎に通常再生を行う。この処理では、ギター以外のChについては、自動演奏の対象とするために、メロディ、リズム、ベースのノートON/OFF指示を行い、ギター以外のChのイベントに基づいて発音を指示する処理を行う。
【0057】
ステップS103において、CPU11は、図6のステップS72においてセットしたΔt時間のセットをクリアする。ステップS103の処理が終了すると、イベント処理が終了し、即ち図3のステップS13の処理が終了し、処理はステップS14に進む。
【0058】
これに対し、図6のステップS71においてセットしたイベントのChはギターである場合には、ステップS101においてYESであると判定されて、処理はステップS104に進む。
【0059】
ステップS104において、CPU11は、ROM12に格納されたソングデータを参照して、ギターChの現在のコードを更新する。即ちこの処理では、CPU11は、ROM12に格納されたソングデータを参照して、図6のステップS71においてセットしたイベントのギターChのコードネームがある場合には、当該コードネームを取り出す。そして、CPU11は、ソングの再生中に取り出したコードネームを記憶しておく。これにより、ある小節の頭に来たらCメジャーやC#等のコードネームを設定することができる。そして、このコードネームが設定されている間は、ユーザが適当に演奏した場合であっても、当該コードネームに基づいて演奏することができる。
【0060】
ステップS103において、CPU11は、経過時間をクリアし、新たなΔt時間をセットする。ステップS103の処理が終了すると、イベント処理が終了し、即ち図3のステップS13の処理が終了し、処理はステップS14に進む。
【0061】
以上、図9を参照して、イベント処理の流れについて説明した。
次に、図10を参照して、図3のメイン処理のうち、ステップS14のフレット処理の詳細な流れについて説明する。
【0062】
図10は、フレット処理の流れを説明するフローチャートである。
上述したように、CPU11により、図3のステップS13の処理でソング処理が終了すると、処理はステップS14に進み、フレット処理として次のような処理が実行される。フレット処理では、CPU11は、ユーザがどの様に弦を押弦しているかを検出する。
【0063】
即ち、図10のステップS121において、CPU11は、6本ある弦のうち、1弦目をセットする。
【0064】
ステップS122において、CPU11は、セットした弦を走査し、押弦されている箇所があれば高音側から優先してその箇所のフレット位置を取得する。これにより、CPU11は、何れのフレット位置で押弦されているかを検出し、検出したフレット位置をROM12に記憶する。
【0065】
ステップS123において、CPU11は、該当する弦のフレット位置を更新する。
【0066】
ステップS124において、CPU11は、弦の番号を判定し、6弦目までフレット位置を取得したか否かを判定する。6弦目までフレット位置を取得していない場合、即ち全ての弦のフレット位置を取得していない場合には、NOであると判定されて、処理はステップ125に進む。
【0067】
ステップS125において、CPU11は、弦の番号をインクリメントし、次の番号の弦をセットする。この処理が終了すると、処理はステップS122に戻る。即ち、全ての弦のフレット位置を検出するまでの間、ステップS122乃至S124の処理が繰り返し行われる。
【0068】
これに対し、6弦目までフレット位置を取得した場合、即ち全ての弦のフレット位置を取得した場合には、YESであると判定されて、フレット処理が終了し、即ち図3のステップS14の処理が終了し、処理はステップS15に進む。
【0069】
以上、図10を参照して、フレット処理の流れについて説明した。
次に、図11を参照して、図3のメイン処理のうち、ステップS15のトリガ処理の詳細な流れについて説明する。
【0070】
図11は、トリガ処理の流れを説明するフローチャートである。
上述したように、CPU11により、図3のステップS14の処理でフレット処理が終了すると、処理はステップS15に進み、トリガ処理として次のような処理が実行される。
【0071】
即ち、図11のステップS141において、CPU11は、6本ある弦のうち、1弦目をセットする。
【0072】
ステップS142において、CPU11は、弦の振動レベルを取得する。
図12を参照して弦の振動レベルの取得方法について説明する。
図12は、各弦毎に振動レベルを取得するトリガ検出回路ピックアップ23を示す図である。トリガ検出回路ピックアップ23は、ピックアップ(〜センサアンプ)51と、整流回路52と、積分回路53と、を備える。
【0073】
初めに、各弦に設けられたピックアップ51は、複数の弦のうち1つの弦の振動の波形S1を取得する。
次に、整流回路52は、取得した波形S1を全波整流して片側のみの整流の波形S2を生成する。
次に、積分回路53は、片側のみに整流した波形S2を積分して、滑らかな包絡線の波形S3を生成する。包絡線の波形S3は、弦毎に6本生成され、これを図2のADコンバータ18で取り込み、生成された包絡線のレベルを検出することで、CPU11は、OFF中に所定のレベル(ON閾値)を超えたら現在のステータスをONにし、ON中に所定のレベル(OFF閾値)を下回ると現在のステータスをOFFにする。具体的には、後述のステップS143乃至ステップS153の処理により判断する。
【0074】
図11のステップS143において、CPU11は、現在のステータスはOFF中であるか否かを判定する。現在のステータスがOFF中である場合には、処理はステップS144に進む。
【0075】
ステップS144において、CPU11は、弦の振動レベルはON閾値を超えたか否かを判定する。弦の信号レベルはON閾値を超えていない場合には、処理はステップS152に進む。即ち、現在のステータスがOFF中である場合には、弦の信号レベルがON閾値を超えるまでの間、現在のステータスはOFFのまま設定される。これに対し、弦の信号レベルはON閾値を超えた場合には、処理はステップS145に進む。
【0076】
ステップS145において、CPU11は、後述の図13を参照して説明するフレット音階変換処理を行う。フレット音階変換処理では、CPU11は、現在のコードと、フレット位置、弦の番号とに基づいて変換音を取得する処理を行う。フレット音階変換処理が終了すると、処理はステップS146に進む。
【0077】
ステップS146において、CPU11は、ステップS145において変換された音階で発音指示を行う。
ステップS147において、CPU11は、該当する音階の現在のステータスをON中に変更する。
【0078】
これに対して、ステップS143において、CPU11は、現在のステータスはOFF中ではない、即ち現在のステータスはON中である場合には、処理はステップS148に進む。
【0079】
ステップS148において、CPU11は、弦の振動レベルはOFF閾値を超えたか、即ち、OFF閾値を下回ったか否かを判定する。弦の信号レベルはOFF閾値を超えた(下回った)場合には、処理はステップS152に進む。即ち、現在のステータスがON中である場合には、弦の信号レベルがOFF閾値を超える(下回る)までの間、現在のステータスはONのまま設定される。これに対し、弦の信号レベルはOFF閾値を超えた(下回った)場合には、処理はステップS149に進む。
【0080】
ステップS149において、CPU11は、OFF閾値を超えた弦に該当する音階を取得する。
ステップS150において、CPU11は、ステップS149において取得した音階の消音指示を行う。
【0081】
ステップS151において、CPU11は、該当する音階の現在のステータスをOFF中に変更する。この処理が終了すると、処理はステップS152に進む。
【0082】
ステップS152において、CPU11は、6弦目がセットされているか否かを判定する。この処理では、CPU11は、全ての弦について処理が行われたか否かを判定する。6弦目がセットされていない場合、即ち、全ての弦について処理が行われていない場合には、処理はステップS153に進む。
【0083】
ステップS153において、CPU11は、弦の番号を1インクリメントしてセットし、処理はステップS142に戻る。即ち、全ての弦について処理が行われるまでの間、ステップS142乃至S153の処理が繰り返し行われる。
これに対して、6弦目がセットされている場合には、ステップS152においてYESであると判定されてトリガ処理が終了し、即ち図3のステップS15の処理が終了し、処理はステップS16に進む。
【0084】
以上、図11を参照して、トリガ処理の流れについて説明した。
次に、図13を参照して、図11のトリガ処理のうち、ステップS145のフレット音階変換処理の詳細な流れについて説明する。
【0085】
図13は、フレット音階変換処理の流れを説明するフローチャートである。
上述したように、CPU11により、図11のステップS144の処理でON閾値を超えたと判定されると、処理はステップS145に進み、フレット音階変換処理として次のような処理が実行される。この処理では、ユーザにより実際にはコードに合致しないコードに対応するフレット位置が押弦されている場合であっても、コードを構成するフレット位置に近似する各弦のフレット位置に基づく変換音を取得する処理を行う。
【0086】
即ち、図13のステップS161において、CPU11は、現在のコードを取得する。具体的には、CPU11は、図9のステップS104の処理において更新したギターのコードに対応する現在のコード(ルート及びコード種)を取得する。
ここで、図14を参照してROM12に格納されている音階テーブルの構造について説明する。
【0087】
図14は、ROM12に格納されている音階テーブルの構造例である。
コード毎の音階テーブルは、0フレット(開放)〜12フレットまでの13個(byte)の音階を1〜6弦分持っている。即ち、コードに対応して各弦のフレット位置に近似するフレット位置の情報が格納されている。これを12種類のルートと、4種類のコード種分持っている。なお、本実施形態においては、コード種は4種類としているがこれに限られるものではない。
ここで、図15を参照して、ROM12に格納されている図14の音階テーブルのうち、Cのコードに対応する音階テーブルの構造について説明する。
なお、本実施形態においては、Cのコードに対応する音階テーブルについてのみ説明するが、その他のコードに対応する音階テーブルについてもそれぞれROM12に格納されている。
【0088】
図15は、ROM12に格納されているCのコードに対応する音階テーブルの構造例である。
図15は、現在のコードが「C」である場合に取得される音階テーブルである。
音階テーブルとは、各弦と各フレットとに対応付けられた音階を示すテーブルである。従って、音階テーブルの構造は、このような関係を示すものであれば足り、特に限定されないが、本実施形態では図15に示すような行列構造となっている。
【0089】
図15に示す音階テーブルは行列構造を有しているため、以下、図15中横方向の項目の集合体を「行」と呼び、同図中縦方向の項目の集合体を「列」と呼ぶ。
図15に示す音階テーブルでは、1〜6弦までの各弦に対応した各行には、0フレット(開放)〜12フレットまでの13個の各フレット毎に対応付けられた音階が各列に対応付けられて配置されている。
音階テーブルには、現在のコードを構成するコード構成音に必要な押弦されるべき各弦のフレット位置の音階と同じ音階が、当該フレット位置に近似するフレット位置、即ち当該フレット位置と距離的に近い位置に配置されている。言い換えると、音階テーブルには、現在のコードを構成するコード構成音のみが配置されており、音階テーブルに配置されている各音階は、押弦されたフレット位置に最も距離の近い、コード構成音の音階に収束させるように配置されている。
従って、ユーザにより誤って現在のコードを構成するコード構成音に必要な押弦されるべき各弦のフレット位置とは異なるフレット位置が押弦された場合であっても、CPU11は、現在のコードを構成する音階を取得することができる。
【0090】
具体的には、ユーザがLOWポジションで「C」のコードを演奏する場合には、第1弦(E4)及び第3弦(G3)を開放し、第2弦の第1フレット(C4)、第4弦の第2フレット(E3)及び、第5弦の第3フレット(C3)を押弦する必要がある。従って、現在のコード「C」を構成する音階のうち「E3」を発音するのに必要な押弦されるべき第4弦のフレット位置は、第2フレットである。音階テーブルには、第4弦の第2フレットと距離的に近い位置である第4弦の第1フレット及び第3フレットにも、第4弦の第2フレットの音階(E3)と同じ音階(E3)が配置されている。
このことから、例えば、現在のコードが「C」である場合にユーザが押弦されるべき第4弦のフレット位置は、第2フレットであるにも関わらず、ユーザが誤って第4弦の第2フレットと距離的に近い位置である第4弦の第1フレット又は第3フレットを押弦してしまった場合であっても、第4弦の第2フレットの音階(E3)と同じ音階(E3)が変換音として取得される。
同様に、現在のコード「C」を構成する音階のうち「C4」を発音するのに必要な押弦されるべき第2弦のフレット位置は、第1フレットである。音階テーブルには、第2弦の第1フレットと距離的に近い位置である第2弦の第2フレット、第3フレット及び開放弦にも、第2弦の第1フレットの音階(C4)と同じ音階(C4)が変換音として配置されている。
同様に、現在のコード「C」を構成する音階のうち「C3」を発音するのに必要な押弦されるべき第5弦のフレット位置は、第3フレットである。音階テーブルには、第5弦の第3フレットと距離的に近い位置である第5弦の第1フレット、第2フレット、第4フレット及び第5フレットにも、第5弦の第3フレットの音階(C3)と同じ音階(C3)が変換音として配置されている。
同様に、現在のコード「C」を構成する音階のうち「E4」を発音するのに必要な押弦されるべき第1弦のフレット位置は、第0フレット(開放弦)である。音階テーブルには、第1弦の第0フレットと距離的に近い位置である第1弦の第1フレットにも、第1弦の第0フレット(開放弦)の音階(E4)と同じ音階(E4)が変換音として配置されている。
同様に、現在のコード「C」を構成する音階のうち「G3」を発音するのに必要な押弦されるべき第3弦のフレット位置は、第0フレット(開放弦)である。音階テーブルには、第3弦の第0フレットと距離的に近い位置である第3弦の第1フレット及び第2フレットにも、第1弦の第0フレット(開放弦)の音階(G3)と同じ音階(G3)が変換音として配置されている。
【0091】
また、ユーザがMIDポジションで「C」のコードを演奏する場合には、第1弦の第3フレット(G4)、第2弦の第5フレット(E4)、第3弦の第5フレット(C4)、第4弦の第5フレット(G3)、第5弦の第3フレット(C3)、第6弦の第3フレット(G2)を押弦する必要がある。
従って、ユーザがMIDポジションで現在のコード「C」を構成する音階のうち「G4」を発音するのに必要な押弦されるべき第1弦のフレット位置は、第3フレットである。音階テーブルには、第1弦の第3フレットと距離的に近い位置である第1弦の第2フレット、第4フレット及び第5フレットにも、第1弦の第3フレットの音階(G4)と同じ音階(G4)が配置されている。このことから、例えば、現在のコードが「C」である場合にユーザがLOWポジションで押弦されるべきフレット位置から、MIDポジションで押弦されるべきフレット位置にポジションを変更させることにより、現在のコードを構成する音階の組み合わせをユーザの好みに応じて適宜変更することができる。
【0092】
図13のステップS162において、CPU11は、ステップS161において取得した該当コード(ルート及びコード種)に基づいて特定した各弦に対応したコードのフレット位置の情報が格納された音階テーブルを取得する。
【0093】
ステップS163において、CPU11は、ステップS162において取得した音階テーブルに基づいて、フレット位置及び弦の番号により変換音を取得する。これにより、現在のコードに対応した音階を得ることができる。この処理が終了すると、フレット音階変換処理が終了し、即ち図11のステップS145の処理が終了し、処理はステップS146に進む。
【0094】
以上説明したように、本実施形態の発音指示装置1は、
押弦された各弦のフレット位置を取得するフレット位置取得手段と、
外部よりコードを順次取得するコード取得手段と、
前記コード取得手段により取得されたコードに対応する音階テーブルを取得する音階テーブル取得手段と、
前記音階テーブル取得手段により取得された前記音階テーブルを参照して、前記フレット位置取得手段により取得された前記各弦のフレット位置に基づく変換音を取得する変換音取得手段と、
前記変換音取得手段により取得された変換音の発音を指示する発音指示手段と、を備える。
この場合、ユーザは、例えば曲の進行上、コードがCの区間においては、どのフレット位置が押弦された場合であっても、Cの構成音であるC,E,Gの3つの音階の何れかが発音され、フレット位置によっては、オクターブが異なる音階で発音される。従って、フレット位置を操作する左手のポジションによって、音程の表現を加えることが可能となる。これにより、スキル(コードの知識)が無くても直感的に演奏でき、かつ、押弦されたフレット位置の高低により、音高を変化させることを可能とし、表現力と演奏感覚とを高めることができる。
【0095】
更に、本実施形態の発音指示装置1の前記音階テーブルは、前記コードに対応する各弦のフレット位置に近似するフレット位置の情報を格納し、
前記変換音取得手段は、前記音階テーブルを参照して、前記音階テーブルに格納された前記各弦のフレット位置の情報に基づき、前記フレット位置取得手段により取得された前記各弦のフレット位置に近似する前記各弦のフレット位置に基づく変換音を取得してもよい。
この場合、フレット位置を操作する左手のポジションによって、各弦のフレット位置に近似する各弦のフレット位置に基づきコードに対応する変換音が取得されることから、スキル(コードの知識)が無いユーザであっても、適当に左手で弾きならして演奏するだけで、直感的に演奏でき、かつ、押弦されたフレット位置の高低により、音高を変化させることを可能とし、表現力と演奏感覚とを高めることができる。
【0096】
以上、本発明の第1実施形態に係る発音指示装置1について説明した。
次に、本発明の第2実施形態に係る発音指示装置1について説明する。
【0097】
[第2実施形態]
本発明の第2実施形態に係る発音指示装置1は、第1実施形態に係る発音指示装置1と基本的に同様のハードウェア構成及び機能的構成を取ることができる。
従って、図2は、第2実施形態に係る発音指示装置1のハードウェアの構成を示すブロック図でもある。
【0098】
更に、第2実施形態に係る発音指示装置1が実行するメイン処理、タイマ割込処理、ソング処理、ソング開始処理、ソング再生処理、イベント処理、フレット処理、トリガ処理、フレット音階変換処理は、第1実施形態に係る各処理と基本的に同様の流れとなる。従って、図3、図4、図5、図6、図8、図9、図10、図11、図13は、第2実施形態に係るメイン処理、タイマ割込処理、ソング処理、ソング開始処理、ソング再生処理、イベント処理、フレット処理、トリガ処理、フレット音階変換処理の流れを説明するフローチャートでもある。
ただし、第2実施形態では、フレット音階変換処理のうちステップS163の処理については、第1実施形態で採用された図13のフローチャートではなく、図16のフローチャートが採用される。
図16は、図2の発音指示装置1が実行する、第2実施形態に係るフレット音階変換処理の流れを説明するフローチャートである。
【0099】
上述した第1実施形態における図5のフレット音階変換処理では、取得した音階テーブルに基づいて、フレット位置及び弦の番号により変換音を取得しているのに対して、第2実施形態における図16のフレット音階変換処理では、6弦分のフレット位置の平均値によりポジションを決定し、決定したポジション及びフレット位置により変換音を取得している点が差異点である。詳細には、第2実施形態では、第1実施形態に係るステップS163の処理に代えて、ステップS183及び184の処理が実行される点が差異点である。
そこで、以下、このような差異点について主に説明し、一致点の説明は適宜省略する。
【0100】
図17を参照してROM12に格納されている第2実施形態の音階テーブルの構造について説明する。
【0101】
図17は、ROM12に格納されている第2実施形態の音階テーブルの構造例である。
コード毎の音階テーブルは、コード毎にLOWポジション、MIDポジション、HIGHポジションのデータを持つ。1つのポジションは、それぞれ1弦〜6弦までの6弦分の音階を持つ。具体的には、音階テーブルは、LOWポジションとして、E4,G4,G3,E3,C3,E2の6弦分の音階を格納している。また、音階テーブルは、MIDポジションとして、G4,E4,C4,G3,C3,G2の6弦分の音階を格納している。また、音階テーブルは、HIGHポジションとして、C5,G4,E4,C4,G3,C3の6弦分の音階を格納している。なお、本実施形態においては、各ポジションにおいて6弦分の音階を格納しているがこれに限られるものではない。
ここで、図18を参照して、ROM12に格納されている図17の音階テーブルのうち、Cのコードに対応する音階テーブルの構造について説明する。
なお、本実施形態においては、Cのコードに対応する音階テーブルについてのみ説明するが、その他のコードに対応する音階テーブルについてもそれぞれROM12に格納されている。
【0102】
図18は、ROM12に格納されているCのコードに対応する音階テーブルの構造例である。
図18(1)〜(3)は、現在のコードが「C」である場合に取得される音階テーブルである。
図18の第2実施形態の音階テーブルは、図15の第1実施形態の音階テーブルと略同じ構成である。但し、第1実施形態の音階テーブルは、現在のコードを構成するコード構成音を発音するのに必要な押弦されるべき各弦のフレット位置の音階と同じ音階が、当該フレット位置に近似するフレット位置、即ち当該フレット位置と距離的に近い位置に配置されている。これに対し第2実施形態の音階テーブルは、押弦される際のポジションと、コードに対応する各弦の情報が格納されている。
即ち、第2実施形態の音階テーブルは、現在のコードを構成するコード構成音に必要な押弦されるべき各弦のフレット位置の音階が、押弦される際の複数のポジションに対応して配置されている。言い換えると、音階テーブルに配置されている各変換音は、押弦されたフレット位置の平均値に基づいて、その平均値に対応するポジションのコードの音階に収束させるように配置されている。
本実施形態では、押弦されたフレット位置の平均値が「3」未満である場合には、LOWポジションのコードの変換音が取得される。また、押弦されたフレット位置の平均値が「3」以上「6」未満である場合には、MIDポジションの変換音が取得される。また、押弦されたフレット位置の平均値が「6」以上である場合には、HIGHポジションの変換音が取得される。
例えばユーザが、各弦の2フレット付近を中心に押弦して演奏した場合と、各弦の4フレット付近を中心に押弦して演奏した場合と、では異なるポジションのフレット位置が押弦されていると判断される。そして、判断されたポジションに対応する変換音が取得される。
【0103】
具体的には、ユーザが「C」のコードを演奏する場合には、第2弦の第1フレット(C4)、第4弦の第2フレット(E3)及び、第5弦の第3フレット(C3)を押弦する必要がある。従って、現在のコード「C」を構成する音階のうち「E3」を発音するのに必要な押弦されるべき第4弦のフレット位置は、第2フレットである。
ここで、ユーザが例えば、第1弦目を開放し、第2弦目の第1フレットを押弦し、第3弦目を開放し、第4弦目の第1フレットを押弦し、第5弦目の第3フレットを押弦し、第6弦目を開放した場合について説明する。
この場合、現在のコード「C」を構成する音階のうち「E3」を発音するのに必要な押弦されるべき第4弦のフレット位置は第2フレットであるにも関わらず、誤って第1フレットが押弦されている。ここで、CPU11は、各弦が押弦されたフレット位置に基づいて、各フレット位置の平均値を算出して押弦されたポジションを決定する。
この場合、各弦が押弦されたフレット位置の平均値は、開放弦を0フレットとすると、(0フレット(第1弦)+1フレット(第2弦)+0フレット(第3弦)+1フレット(第4弦)+3フレット(第5弦)+0フレット(第6弦))/6=「0.83」フレットである。従って、CPU11は、押弦されたフレット位置の平均値が「3」未満であることから、現在のポジションはLOWポジションであると決定する。
このことから、例えば、現在のコードが「C」である場合に、LOWポジション付近のフレット位置を押弦して演奏した場合には、現在のコード「C」である場合にユーザが押弦されるべき第4弦のフレット位置は、第2フレットであるにも関わらず、ユーザが誤って第4弦の第2フレットと距離的に近い位置である第4弦の第1フレットを押弦してしまった場合であっても、CPU11は、図18(1)の音階テーブルを参照して第4弦の第2フレットの音階(E3)と同じ音階(E3)を変換音として取得する。
同様に、各弦が押弦されたフレット位置の平均値が、「3」以上「6」未満である場合には、CPU11は、現在のポジションはMIDポジションであると決定する。この場合、ユーザが誤って現在のコードの音階を発音するのに必要なフレット位置とは異なるフレット位置を押弦した場合であっても、CPU11は、図18(2)の音階テーブルを参照して、現在のコードの音階を発音するのに必要なフレット位置の音階と同じ音階を変換音として取得する。
同様に、各弦が押弦されたフレット位置の平均値が、「6」以上である場合には、CPU11は、現在のポジションはHIGHポジションであると決定する。この場合、ユーザが誤って現在のコードの音階を発音するのに必要なフレット位置とは異なるフレット位置を押弦した場合であっても、CPU11は、図18(3)の音階テーブルを参照して、現在のコードの音階を発音するのに必要なフレット位置の音階と同じ音階を変換音として取得する。
【0104】
図16のステップS182において、CPU11は、ステップS181において取得した該当コード(ルート及びコード種)に基づいて特定した各弦に対応したコードのフレット位置の情報が格納された音階テーブルを取得する。本実施形態において取得されるコードのフレット位置の情報が格納された音階テーブルは、LOWポジション,MIDポジション,HIGHポジションの3つのポジションに対応する音階データである。
【0105】
図16のステップS183において、CPU11は、6弦分のフレット位置の平均値よりポジションを決定する。具体的には、CPU11は、現在押弦されているフレット位置の平均値を算出する。そして、算出した平均値に基づいて複数のポジション(本実施形態においては3つのポジション)の中から1つのポジションを決定する。
【0106】
ステップS184において、CPU11は、ステップS183で決定したポジション及び弦の番号に基づき、変換音を取得する。この処理が終了すると、フレット音階変換処理が終了し、即ち図11のステップS145の処理が終了し、処理はステップS146に進む。
【0107】
以上説明したように、本実施形態の発音指示装置1は、前記フレット位置取得手段により取得された前記各弦のフレット位置に基づいて、複数のポジションの中から押弦されたポジションを決定するポジション決定手段を更に備え、
前記変換音取得手段は、前記フレット位置取得手段により取得された前記各弦のフレット位置及び前記ポジション決定手段により決定された前記ポジションに基づき前記音階テーブルのコードに対応する変換音を取得してもよい。
この場合、音階テーブルに格納するデータは、ポジションに対応するコードに対応する各弦の情報のみで足りるため、格納するデータ量を削減することができる。更に、ユーザが適当な押さえ方で押弦した場合であっても、フレット位置を操作する左手のポジションによって、音程の表現を加えることが可能となる。これにより、スキル(コードの知識)が無くても直感的に演奏でき、かつ、押弦されたフレット位置の高低により、音高を変化させることを可能とし、表現力と演奏感覚とを高めることができる。
【0108】
更に、本実施形態の発音指示装置1の前記音階テーブルは、押弦される際の前記ポジションと、前記コードに対応する各弦の情報とを格納し、
前記変換音取得手段は、前記音階テーブルを参照して、前記ポジション決定手段により決定された前記ポジション及び前記各弦の情報に基づく変換音を取得してもよい。
この場合、フレット位置を操作する左手のポジション及び弦に基づき変換音が取得されることから、スキル(コードの知識)が無いユーザであっても、適当に左手で弾きならして演奏するだけで、直感的に演奏でき、かつ、押弦されたフレット位置の高低により、音高を変化させることを可能とし、表現力と演奏感覚とを高めることができる。
【0109】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【0110】
上述の実施形態では、本発明が適用される電子機器は、エレクトリック・ギター等の発音指示装置1を例として説明したが、特にこれに限定されない。本発明は、コードを発音できる発音機能を有する電子楽器一般に適用することができる。具体的には、例えば、本発明は、キーボードや、ベース等に適用可能である。
【0111】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。また例えば、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。換言すると、図3乃至図13のフローチャートにおいて説明した機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が発音指示装置1に備えられていれば足り、この機能を実現するためにどのような機能的構成を用いるのかは特に図3乃至図13のフローチャートの例に限定されない。また、1つの機能的構成は、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【0112】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【0113】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布されるリムーバブルメディア(図示せず)により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディアは、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、CD−ROM(Compact Disk−Read Only Memory),DVD(Digital Versatile Disk)等により構成される。光磁気ディスクは、MD(Mini−Disk)等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図2のROM12や、図示せぬハードディスク等で構成される。
【0114】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
【0115】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[付記1]
押弦された各弦のフレット位置を取得するフレット位置取得手段と、
外部よりコードを順次取得するコード取得手段と、
前記コード取得手段により取得されたコードに対応する音階テーブルを取得する音階テーブル取得手段と、
前記音階テーブル取得手段により取得された前記音階テーブルを参照して、前記フレット位置取得手段により取得された前記各弦のフレット位置に基づく変換音を取得する変換音取得手段と、
前記変換音取得手段により取得された変換音の発音を指示する発音指示手段と、
を備えたことを特徴とする発音指示装置。
[付記2]
前記音階テーブルは、前記コードに対応する各弦のフレット位置に近似するフレット位置の情報を格納し、
前記変換音取得手段は、前記音階テーブルを参照して、前記音階テーブルに格納された前記各弦のフレット位置の情報に基づき、前記フレット位置取得手段により取得された前記各弦のフレット位置に近似する前記各弦のフレット位置に基づく変換音を取得することを特徴とする付記1に記載の発音指示装置。
[付記3]
前記フレット位置取得手段により取得された前記各弦のフレット位置に基づいて、複数のポジションの中から押弦されたポジションを決定するポジション決定手段を更に備え、
前記変換音取得手段は、前記フレット位置取得手段により取得された前記各弦のフレット位置及び前記ポジション決定手段により決定された前記ポジションに基づき前記音階テーブルのコードに対応する変換音を取得することを特徴とする付記1に記載の発音指示装置。
[付記4]
前記音階テーブルは、押弦される際の前記ポジションと、前記コードに対応する各弦の情報とを格納し、
前記変換音取得手段は、前記音階テーブルを参照して、前記ポジション決定手段により決定された前記ポジション及び前記各弦の情報に基づく変換音を取得することを特徴とする付記3に記載の発音指示装置。
[付記5]
音を発生する制御を実行する発音指示方法において、
押弦された各弦のフレット位置を取得するフレット位置取得ステップと、
外部よりコードを順次取得するコード取得ステップと、
前記コード取得ステップにより取得されたコードに対応する音階テーブルを取得する音階テーブル取得ステップと、
前記音階テーブル取得ステップにより取得された前記音階テーブルを参照して、前記フレット位置取得ステップにより取得された前記各弦のフレット位置に基づき変換音を取得する変換音取得ステップと、
前記変換音取得ステップにより取得された変換音の発音を指示する発音指示ステップと、
を含むことを特徴とする発音指示方法。
[付記6]
音を発生する制御を実行するコンピュータを、
押弦された各弦のフレット位置を取得するフレット位置取得手段、
外部よりコードを順次取得するコード取得手段、
前記コード取得手段により取得されたコードに対応する音階テーブルを取得する音階テーブル取得手段、
前記音階テーブル取得手段により取得された前記音階テーブルを参照して、前記フレット位置取得手段により取得された前記各弦のフレット位置に基づく変換音を取得する変換音取得手段、
前記変換音取得手段により取得された変換音に基づいて音を発生する音発生手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【0116】
1・・・発音指示装置、11・・・CPU、12・・・ROM、13・・・RAM、14・・・バス、15・・・入出力インターフェース15・・・スイッチ検出回路、17・・・フレット検出回路、18・・・ADコンバータ、19・・・音源システム、21・・・機能スイッチ群、22・・・フレットスイッチ群、23・・・トリガ検出回路ピックアップ、30・・・外部音源、41・・・アンプ回路、42・・・スピーカ
【特許請求の範囲】
【請求項1】
押弦された各弦のフレット位置を取得するフレット位置取得手段と、
外部よりコードを順次取得するコード取得手段と、
前記コード取得手段により取得されたコードに対応する音階テーブルを取得する音階テーブル取得手段と、
前記音階テーブル取得手段により取得された前記音階テーブルを参照して、前記フレット位置取得手段により取得された前記各弦のフレット位置に基づく変換音を取得する変換音取得手段と、
前記変換音取得手段により取得された変換音の発音を指示する発音指示手段と、
を備えたことを特徴とする発音指示装置。
【請求項2】
前記音階テーブルは、前記コードに対応する各弦のフレット位置に近似するフレット位置の情報を格納し、
前記変換音取得手段は、前記音階テーブルを参照して、前記音階テーブルに格納された前記各弦のフレット位置の情報に基づき、前記フレット位置取得手段により取得された前記各弦のフレット位置に近似する前記各弦のフレット位置に基づく変換音を取得することを特徴とする請求項1に記載の発音指示装置。
【請求項3】
前記フレット位置取得手段により取得された前記各弦のフレット位置に基づいて、複数のポジションの中から押弦されたポジションを決定するポジション決定手段を更に備え、
前記変換音取得手段は、前記フレット位置取得手段により取得された前記各弦のフレット位置及び前記ポジション決定手段により決定された前記ポジションに基づき前記音階テーブルのコードに対応する変換音を取得することを特徴とする請求項1に記載の発音指示装置。
【請求項4】
前記音階テーブルは、押弦される際の前記ポジションと、前記コードに対応する各弦の情報とを格納し、
前記変換音取得手段は、前記音階テーブルを参照して、前記ポジション決定手段により決定された前記ポジション及び前記各弦の情報に基づく変換音を取得することを特徴とする請求項3に記載の発音指示装置。
【請求項5】
音を発生する制御を実行する発音指示方法において、
押弦された各弦のフレット位置を取得するフレット位置取得ステップと、
外部よりコードを順次取得するコード取得ステップと、
前記コード取得ステップにより取得されたコードに対応する音階テーブルを取得する音階テーブル取得ステップと、
前記音階テーブル取得ステップにより取得された前記音階テーブルを参照して、前記フレット位置取得ステップにより取得された前記各弦のフレット位置に基づき変換音を取得する変換音取得ステップと、
前記変換音取得ステップにより取得された変換音の発音を指示する発音指示ステップと、
を含むことを特徴とする発音指示方法。
【請求項6】
音を発生する制御を実行するコンピュータを、
押弦された各弦のフレット位置を取得するフレット位置取得手段、
外部よりコードを順次取得するコード取得手段、
前記コード取得手段により取得されたコードに対応する音階テーブルを取得する音階テーブル取得手段、
前記音階テーブル取得手段により取得された前記音階テーブルを参照して、前記フレット位置取得手段により取得された前記各弦のフレット位置に基づく変換音を取得する変換音取得手段、
前記変換音取得手段により取得された変換音に基づいて音を発生する音発生手段、
として機能させることを特徴とするプログラム。
【請求項1】
押弦された各弦のフレット位置を取得するフレット位置取得手段と、
外部よりコードを順次取得するコード取得手段と、
前記コード取得手段により取得されたコードに対応する音階テーブルを取得する音階テーブル取得手段と、
前記音階テーブル取得手段により取得された前記音階テーブルを参照して、前記フレット位置取得手段により取得された前記各弦のフレット位置に基づく変換音を取得する変換音取得手段と、
前記変換音取得手段により取得された変換音の発音を指示する発音指示手段と、
を備えたことを特徴とする発音指示装置。
【請求項2】
前記音階テーブルは、前記コードに対応する各弦のフレット位置に近似するフレット位置の情報を格納し、
前記変換音取得手段は、前記音階テーブルを参照して、前記音階テーブルに格納された前記各弦のフレット位置の情報に基づき、前記フレット位置取得手段により取得された前記各弦のフレット位置に近似する前記各弦のフレット位置に基づく変換音を取得することを特徴とする請求項1に記載の発音指示装置。
【請求項3】
前記フレット位置取得手段により取得された前記各弦のフレット位置に基づいて、複数のポジションの中から押弦されたポジションを決定するポジション決定手段を更に備え、
前記変換音取得手段は、前記フレット位置取得手段により取得された前記各弦のフレット位置及び前記ポジション決定手段により決定された前記ポジションに基づき前記音階テーブルのコードに対応する変換音を取得することを特徴とする請求項1に記載の発音指示装置。
【請求項4】
前記音階テーブルは、押弦される際の前記ポジションと、前記コードに対応する各弦の情報とを格納し、
前記変換音取得手段は、前記音階テーブルを参照して、前記ポジション決定手段により決定された前記ポジション及び前記各弦の情報に基づく変換音を取得することを特徴とする請求項3に記載の発音指示装置。
【請求項5】
音を発生する制御を実行する発音指示方法において、
押弦された各弦のフレット位置を取得するフレット位置取得ステップと、
外部よりコードを順次取得するコード取得ステップと、
前記コード取得ステップにより取得されたコードに対応する音階テーブルを取得する音階テーブル取得ステップと、
前記音階テーブル取得ステップにより取得された前記音階テーブルを参照して、前記フレット位置取得ステップにより取得された前記各弦のフレット位置に基づき変換音を取得する変換音取得ステップと、
前記変換音取得ステップにより取得された変換音の発音を指示する発音指示ステップと、
を含むことを特徴とする発音指示方法。
【請求項6】
音を発生する制御を実行するコンピュータを、
押弦された各弦のフレット位置を取得するフレット位置取得手段、
外部よりコードを順次取得するコード取得手段、
前記コード取得手段により取得されたコードに対応する音階テーブルを取得する音階テーブル取得手段、
前記音階テーブル取得手段により取得された前記音階テーブルを参照して、前記フレット位置取得手段により取得された前記各弦のフレット位置に基づく変換音を取得する変換音取得手段、
前記変換音取得手段により取得された変換音に基づいて音を発生する音発生手段、
として機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2013−64874(P2013−64874A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2011−203578(P2011−203578)
【出願日】平成23年9月16日(2011.9.16)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願日】平成23年9月16日(2011.9.16)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]