(57)【特許請求の範囲】
【請求項１】
複数のカポタスト位置から推奨するカポタスト位置を決定するカポタスト位置決定装置において、
複数種類のコードを含む曲データ内に存在するコードを抽出する抽出手段と、
該手段により抽出した各コードの前記曲データ内に存在する個数を計数する計数手段と、
前記抽出手段により抽出したコード及び前記計数手段により計数した各コードの個数に基づき、各カポタスト位置に対応するコード及び各コードの個数を決定する決定手段と、
コードに応じた弦の押さえ方を記憶したコードファイルを参照し、前記決定手段により決定したコードが所定の条件を満たす場合に、コードにポイントを付与する付与手段と、
該付与手段により付与したコードのポイント及び前記決定手段により決定した各カポタスト位置に対応する各コードの個数に基づき、各カポタスト位置の難易度を決定する難易度決定手段と
を備えることを特徴とするカポタスト位置決定装置。
【請求項２】
前記付与手段は、
前記コードファイルに記憶されたコード別の一の指が押さえるべき弦の数を参照し、前記決定手段により決定したコードの一の指が押さえるべき弦の数が予め記憶した数以上の場合に、該コードにポイントを付与するよう構成してある
ことを特徴とする請求項１に記載のカポタスト位置決定装置。
【請求項３】
前記難易度決定手段は、
前記付与手段により付与したコードのポイントに、前記決定手段により決定した各カポタスト位置に対応する各コードの個数を乗じて合算することにより、各カポタスト位置の難易度を決定するよう構成してあり、
該難易度決定手段により決定した難易度が最小のカポタスト位置を推奨カポタスト位置として決定する推奨カポタスト位置決定手段
を備えることを特徴とする請求項１または２に記載のカポタスト位置決定装置。
【請求項４】
曲データ内のコードの総数を計数する総数計数手段と、
前記難易度決定手段により決定した各カポタスト位置の難易度を前記総数計数手段により計数した総数で除すことにより補助難易度を決定する補助難易度決定手段と
を備えることを特徴とする請求項１または２に記載のカポタスト位置決定装置。
【請求項５】
前記補助難易度決定手段により決定した補助難易度が最小のカポタスト位置を推奨カポタスト位置として決定する手段
を備えることを特徴とする請求項４に記載のカポタスト位置決定装置。
【請求項６】
前記補助難易度決定手段により決定した補助難易度が最小のカポタスト位置の前記補助難易度が、所定値以下の場合に、推奨カポタスト位置として決定する手段
を備えることを特徴とする請求項４に記載のカポタスト位置決定装置。
【請求項７】
前記補助難易度決定手段により決定した各カポタスト位置の補助難易度から、所定のカポタスト位置に係る補助難易度を抽出する補助抽出手段と、
前記補助難易度決定手段により決定した補助難易度が最小のカポタスト位置と前記所定のカポタスト位置とが相違し、かつ、前記最小のカポタスト位置に係る補助難易度と前記所定のカポタスト位置に係る補助難易度との差が、所定値以上の場合に、前記最小のカポタスト位置を推奨カポタスト位置として決定する手段と
を備え、
前記所定のカポタスト位置は、カポを装着しないカポ位置であることを特徴とする請求項４に記載のカポタスト位置決定装置。
【請求項８】
外部から前記曲データの送信要求、または、請求項１乃至７のいずれか一つに記載のカポタスト位置決定装置により決定された推奨カポタスト位置に基づく曲データの送信要求のいずれかを受け付ける受け付け手段と、
該受け付け手段により推奨カポタスト位置に基づく曲データの送信要求を受け付けた場合に、記憶部に記憶した推奨カポタスト位置に基づく曲データを外部へ送信する送信手段と
を備えることを特徴とする曲データ送信装置。
【請求項９】
複数のカポタスト位置から推奨するカポタスト位置を、制御部を有するカポタスト位置決定装置により決定するカポタスト位置決定方法において、
複数種類のコードを含む曲データ内に存在するコードを前記制御部により抽出する抽出ステップと、
該ステップにより抽出した各コードの前記曲データ内に存在する個数を前記制御部により計数する計数ステップと、
前記抽出ステップにより抽出したコード及び前記計数ステップにより計数した各コードの個数に基づき、各カポタスト位置に対応するコード及び各コードの個数を前記制御部により決定する決定ステップと、
コードに応じた弦の押さえ方を記憶したコードファイルを参照し、前記決定ステップにより決定したコードが所定の条件を満たす場合に、前記制御部によりコードにポイントを付与する付与ステップと、
該付与ステップにより付与したコードのポイント及び前記決定ステップにより決定した各カポタスト位置に対応する各コードの個数に基づき、前記制御部により各カポタスト位置の難易度を決定する決定ステップと
を備えることを特徴とするカポタスト位置決定方法。
【請求項１０】
複数のカポタスト位置から推奨するカポタスト位置を、制御部を有するコンピュータにより決定するプログラムにおいて、
コンピュータに、
複数種類のコードを含む曲データ内に存在するコードを前記制御部により抽出する抽出ステップと、
該ステップにより抽出した各コードの前記曲データ内に存在する個数を前記制御部により計数する計数ステップと、
前記抽出ステップにより抽出したコード及び前記計数ステップにより計数した各コードの個数に基づき、各カポタスト位置に対応するコード及び各コードの個数を前記制御部により決定する決定ステップと、
コードに応じた弦の押さえ方を記憶したコードファイルを参照し、前記決定ステップにより決定したコードが所定の条件を満たす場合に、前記制御部によりコードにポイントを付与する付与ステップと、
該付与ステップにより付与したコードのポイント及び前記決定ステップにより決定した各カポタスト位置に対応する各コードの個数に基づき、前記制御部により各カポタスト位置の難易度を決定する決定ステップと
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のカポタスト位置から推奨するカポタスト位置を決定するカポタスト位置決定装置、曲データ送信装置、カポタスト位置決定方法及びコンピュータをカポタスト位置決定装置として機能させるためのプログラムに関する。
【背景技術】
【０００２】
ギター演奏の際には、転調を行うべくカポタスト（以下、カポという）がフレットに取り付けられる。ギターの曲データは複数種類のコード（和音）で構成されており、コードによっては、一本の指で複数の弦を押さえるセーハが必要となる。初心者にとってはこのセーハが負担となることから、所定のフレットにカポを取り付けることが行われている（例えば特許文献１参照）。
【特許文献１】特開２０００−７５８５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、どのフレットにカポを取り付ければ演奏が容易になるかは、長年の演奏経験に基づき各人が決定しており、初心者にとっては適切なカポ位置を容易に判断できないという問題があった。また特許文献１に記載の和音表示装置も調性を考慮して経験則に基づき決定しているに過ぎず、上述した問題を解決するものではない。
【０００４】
本発明は斯かる事情に鑑みてなされたものであり、その目的は、曲データ内に存在するコード及びカポ位置を変更した際のコードに基づき難易度を算出することにより、曲データから適切なカポ位置を客観的に判断することが可能なカポ位置決定装置、曲データ送信装置、カポ位置決定方法及びコンピュータをカポ位置決定装置として機能させるためのプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
本発明に係るカポタスト位置決定装置は、複数のカポタスト位置から推奨するカポタスト位置を決定するカポタスト位置決定装置において、複数種類のコードを含む曲データ内に存在するコードを抽出する抽出手段と、該手段により抽出した各コードの前記曲データ内に存在する個数を計数する計数手段と、前記抽出手段により抽出したコード及び前記計数手段により計数した各コードの個数に基づき、各カポタスト位置に対応するコード及び各コードの個数を決定する決定手段と、コードに応じた弦の押さえ方を記憶したコードファイルを参照し、前記決定手段により決定したコードが所定の条件を満たす場合に、コードにポイントを付与する付与手段と、該付与手段により付与したコードのポイント及び前記決定手段により決定した各カポタスト位置に対応する各コードの個数に基づき、各カポタスト位置の難易度を決定する難易度決定手段とを備えることを特徴とする。
【０００６】
本発明に係るカポタスト位置決定装置は、前記付与手段は、前記コードファイルに記憶されたコード別の一の指が押さえるべき弦の数を参照し、前記決定手段により決定したコードの一の指が押さえるべき弦の数が予め記憶した数以上の場合に、該コードにポイントを付与するよう構成してあることを特徴とする。
【０００７】
本発明に係るカポタスト位置決定装置は、前記難易度決定手段は、前記付与手段により付与したコードのポイントに、前記決定手段により決定した各カポタスト位置に対応する各コードの個数を乗じて合算することにより、各カポタスト位置の難易度を決定するよう構成してあり、該難易度決定手段により決定した難易度が最小のカポタスト位置を推奨カポタスト位置として決定する推奨カポタスト位置決定手段を備えることを特徴とする。
【０００８】
本発明に係るカポタスト位置決定装置は、曲データ内のコードの総数を計数する総数計数手段と、前記難易度決定手段により決定した各カポタスト位置の難易度を前記総数計数手段により計数した総数で除すことにより補助難易度を決定する補助難易度決定手段とを備えることを特徴とする。
【０００９】
本発明に係るカポタスト位置決定装置は、前記補助難易度決定手段により決定した補助難易度が最小のカポタスト位置を推奨カポタスト位置として決定する手段を備えることを特徴とする。
【００１０】
本発明に係るカポタスト位置決定装置は、前記補助難易度決定手段により決定した補助難易度が最小のカポタスト位置の前記補助難易度が、所定値以下の場合に、推奨カポタスト位置として決定する手段を備えることを特徴とする。
【００１１】
本発明に係るカポタスト位置決定装置は、前記補助難易度決定手段により決定した各カポタスト位置の補助難易度から、所定のカポタスト位置に係る補助難易度を抽出する補助抽出手段と、前記補助難易度決定手段により決定した補助難易度が最小のカポタスト位置と前記所定のカポタスト位置とが相違し、かつ、前記最小のカポタスト位置に係る補助難易度と前記所定のカポタスト位置に係る補助難易度との差が、所定値以上の場合に、前記最小のカポタスト位置を推奨カポタスト位置として決定する手段とを備え、前記所定のカポタスト位置は、カポを装着しないカポ位置であることを特徴とする。
【００１２】
本発明に係る曲データ送信装置は、外部から前記曲データの送信要求、または、上述のカポタスト位置決定装置により決定された推奨カポタスト位置に基づく曲データの送信要求のいずれかを受け付ける受け付け手段と、該受け付け手段により推奨カポタスト位置に基づく曲データの送信要求を受け付けた場合に、記憶部に記憶した推奨カポタスト位置に基づく曲データを外部へ送信する送信手段とを備えることを特徴とする。
【００１３】
本発明に係るカポタスト位置決定方法は、複数のカポタスト位置から推奨するカポタスト位置を、制御部を有するカポタスト位置決定装置により決定するカポタスト位置決定方法において、複数種類のコードを含む曲データ内に存在するコードを前記制御部により抽出する抽出ステップと、該ステップにより抽出した各コードの前記曲データ内に存在する個数を前記制御部により計数する計数ステップと、前記抽出ステップにより抽出したコード及び前記計数ステップにより計数した各コードの個数に基づき、各カポタスト位置に対応するコード及び各コードの個数を前記制御部により決定する決定ステップと、コードに応じた弦の押さえ方を記憶したコードファイルを参照し、前記決定ステップにより決定したコードが所定の条件を満たす場合に、前記制御部によりコードにポイントを付与する付与ステップと、該付与ステップにより付与したコードのポイント及び前記決定ステップにより決定した各カポタスト位置に対応する各コードの個数に基づき、前記制御部により各カポタスト位置の難易度を決定する決定ステップとを備えることを特徴とする。
【００１４】
本発明に係るプログラムは、複数のカポタスト位置から推奨するカポタスト位置を、制御部を有するコンピュータにより決定するプログラムにおいて、コンピュータに、複数種類のコードを含む曲データ内に存在するコードを前記制御部により抽出する抽出ステップと、該ステップにより抽出した各コードの前記曲データ内に存在する個数を前記制御部により計数する計数ステップと、前記抽出ステップにより抽出したコード及び前記計数ステップにより計数した各コードの個数に基づき、各カポタスト位置に対応するコード及び各コードの個数を前記制御部により決定する決定ステップと、コードに応じた弦の押さえ方を記憶したコードファイルを参照し、前記決定ステップにより決定したコードが所定の条件を満たす場合に、前記制御部によりコードにポイントを付与する付与ステップと、該付与ステップにより付与したコードのポイント及び前記決定ステップにより決定した各カポタスト位置に対応する各コードの個数に基づき、前記制御部により各カポタスト位置の難易度を決定する決定ステップとを実行させることを特徴とする。
【００１５】
本発明にあっては、抽出手段は、複数種類のコードを含む曲データを記憶した記憶部から読み出した曲データ内に存在するコードを抽出する。決定手段は曲データ内における抽出した各コードの個数を計数する。そして決定手段は、抽出したコード及び各コードの個数に基づき、各カポ位置に対応するコード及び各コードの個数を決定する。付与手段は、コードに応じた弦の押さえ方を記憶したコードファイルを参照し、決定したコードが所定の条件を満たす場合に、コードにポイントを付与する。具体的には、コードファイルに記憶されたコード別の一の指が押さえるべき弦の数を参照し、決定したコードの一の指が押さえるべき弦の数が予め記憶した数以上の場合に、当該コードにポイントを付与する。
【００１６】
難易度決定手段は、付与手段により付与したコードのポイント及び決定手段により決定した各カポ位置に対応する各コードの個数に基づき、各カポ位置の難易度を決定する。具体的には、付与したコードのポイントに、前記決定手段により決定した各カポ位置に対応する各コードの個数を乗じて合算することにより、各カポ位置の難易度を決定する。最後に、推奨カポ位置決定手段は、難易度決定手段により決定した難易度が最小のカポ位置を推奨カポ位置として決定する。
【００１７】
本発明にあっては、受け付け手段は、外部から曲データの送信要求、または、カポ位置決定装置により決定された推奨カポ位置に基づく曲データの送信要求のいずれかを受け付ける。ここで、送信手段は、推奨カポ位置に基づく曲データの送信要求を受け付けた場合、記憶部に記憶した推奨カポ位置に基づく曲データを外部へ送信する。
【発明の効果】
【００１８】
本発明にあっては、付与手段により付与したコードのポイント及び決定手段により決定した各カポ位置に対応する各コードの個数に基づき、各カポ位置の難易度を決定する。そして、難易度決定手段により決定した難易度が最小のカポ位置を推奨カポ位置として決定する。このように、曲データに基づき、客観的な難易度を算出できることから、初心者にとって最適なカポ位置を調性の有無にかかわらず提供することが可能となる。
【００１９】
本発明にあっては、推奨カポ位置に基づく曲データの送信要求を受け付けた場合、記憶部に記憶した推奨カポ位置に基づく曲データを外部へ送信する。このように構成したので、外部からの推奨カポに基づくリクエストに応じた曲データを提供でき、経験の浅いユーザをより効果的に指導する事が可能となる等、本発明は優れた効果を奏する。
【発明を実施するための最良の形態】
【００２０】
実施の形態１
図１はカポ位置決定装置のハードウェア構成を示すブロック図である。カポ位置決定装置１は例えば、パーソナルコンピュータ、ギターのコード及び歌詞データをインターネットまたは携帯電話網を通じて提供するサーバコンピュータ、カラオケ店舗用のカラオケ装置、携帯電話機、ゲーム機またはＰＤＡ(Personal Digital Assistance)等である。以下ではカポ位置決定装置１をパーソナルコンピュータ１であるものとして説明する。
【００２１】
パーソナルコンピュータ１はコード（和音）データを含む曲データに基づいて、複数のカポタスト位置から推奨すべきカポ位置を算出する。以下に詳細を説明する。パーソナルコンピュータ１は、制御部としてのＣＰＵ(Central Processing Unit)１１、ＲＡＭ(Random Access Memory)１２、入力部１３、表示部１４、通信部１６及び記憶部１５等を含む。ＣＰＵ１１は、バス１７を介してサーバコンピュータ３のハードウェア各部と接続されていて、それらを制御すると共に、記憶部１５に格納された制御プログラム１５Ｐに従って、種々のソフトウェア的機能を実行する。制御プログラムは、Ｃ言語等のプログラミング言語で記述されている。
【００２２】
通信部１６はＬＡＮ（Local Area Network）カード等であり、インターネット及び携帯電話網を含む通信網Ｎを介して接続された他の機器との間で、ＨＴＴＰ（HyperText Transfer Protocol）等により必要な情報を送受信する。入力部１３は例えばキーボード及びマウス等であり、表示部１４は例えば液晶ディスプレイ等である。記憶部１５は例えばハードディスクまたは大容量メモリ等で構成され、内部には上述した制御プログラム１５Ｐに加えて、曲データファイル１５１、集計ファイル１５２、コードファイル１５３、推奨カポ位置ファイル１５４等が記憶されている。ＣＰＵ１１は曲データファイル１５１等のフィールドのキーを関連付けたスキーマにおいてＳＱＬ(Structured Query Language)等を用いて対話することにより、必要な情報の記憶、検索等の処理を実行する。
【００２３】
図２は曲データファイル１５１のレコードレイアウトを示す説明図である。曲データは少なくともギターを演奏する際に必要となるコードの情報が含まれている。曲データファイル１５１は曲名フィールド、及び、コードデータフィールド等を含む。なお、本実施の形態においては曲データファイル１５１内に曲名及びコードに関する情報が記憶されている例を説明するが、その他のデータ、例えば歌詞データ、表示位置データ、歌手名データ等の情報をあわせて曲毎に記憶しておいても良いことはもちろんである。曲名フィールドには、曲名が記憶されている。図２の例では曲名「Ｘ」等が記憶されている。コードデータフィールドには曲名に対応づけてコードフィールド、及び、表示時間フィールドが時系列に記憶されている。
【００２４】
コードフィールドには例えば、Ｃ、Ｃ＃、Ｄ、Ｄ＃及びＥ等、曲を演奏する際に必要となるコードが記憶されている。また表示時間フィールドにはコードを案内画面に表示する際のタイミングを示す表示時間が記憶されている。この表示時間は曲の演奏開始を始点とした経過時間を示している。図２の例では曲名「Ｘ」のコード「Ｃ＃」は、演奏開始後の３２秒２０ｍｓから３５秒１０ｍｓまでの間、演奏対象のコードとして画面に表示されることを示す。またコード「Ｃ＃」の表示終了後の３５分２０ｍｓから３６秒１０ｍｓにおいては、コード「Ｃ＃」の次に演奏すべきコード「Ａ」が記憶されている。曲データファイル１５１に記憶された曲データは、通信網Ｎから通信部１６を介してダウンロードされる。ＣＰＵ１１はダウンロードした曲データを曲データファイル１５１に記憶する。その他、ＵＳＢ（Universal Serial Bus）メモリ、またはＣＤ−ＲＯＭ(Compact Disc Read Only Memory)等の可搬型記録媒体（図示せず）を記録媒体読み取り装置（図示せず）装着し、可搬型記録媒体に記憶された曲データをＣＰＵ１１が曲データファイル１５１に記憶するようにしても良い。
【００２５】
図３は集計ファイル１５２のレコードレイアウトを示す説明図である。集計ファイル１５２はカポ位置フィールド、コードフィールド、個数フィールド、ポイントフィールド及び難易度フィールドを含む。集計ファイル１５２は曲毎の推奨カポ位置を算出する際に用いられる各種データ格納用のファイルである。以下では、推奨カポ位置の算出手順に沿って集計ファイル１５２の内容を説明する。カポ位置フィールドにはカポを装着する位置のデータが記憶されている。ここで推奨されるカポ位置は、例えばカポ位置「０」〜カポ位置「１１」であり、カポ位置「０」はカポを装着しない事を示し、カポ位置「１」はカポを１フレットに装着することを示す。なお、カポ位置「１２」はカポを装着しないカポ位置「０」に相当する。本例では推奨すべきカポ位置としてカポの装着無しを含め１フレットから１１フレットまで存在するものとして説明するがこれに限るものではない。例えば、推奨すべきカポ位置としてカポの装着無しを含め１フレットから６フレットまで程度の範囲内において処理しても良いことはもちろんである。
【００２６】
ＣＰＵ１１は制御プログラム１５Ｐを起動し、以下に述べる処理により集計ファイル１５２のコードフィールドに値を記憶していく。ＣＰＵ１１は曲データファイル１５１のコードフィールドを参照し、曲内に含まれるコードを、重複を避けた上で全て抽出する。換言すればＣＰＵ１１は曲データに含まれるコードの種類を全て抽出する。ＣＰＵ１１は抽出したコードを集計ファイル１５２のカポ位置「０」に対応させてコードフィールドに記憶する。図３の例ではカポ位置「０」に対応づけてコード「Ｃ＃」、「Ｆ＃」、「Ｇ＃」・・・と記憶されている。
【００２７】
続いてＣＰＵ１１は記憶部１５に記憶された転調規則、及び、カポ位置「０」に対応するコードに基づき、各カポ位置のコードを集計ファイル１５２のコードフィールドに記憶する。図４は転調規則を示す説明図である。カポ位置「０」、すなわちカポ無しの状態から１フレットにカポを装着しカポ位置「１」とした場合、コードは半音下がり図４においては左方向に１移動することになる。例えばカポ位置「０」においてコードが「Ｃ＃」の場合、カポ位置「１」となることで、コードは「Ｃ」になる。さらにカポ位置を「１」から「２」へ移行させた場合、さらに半音下がり、コードが「Ｃ」から「Ｂ」へ変更される。
【００２８】
ＣＰＵ１１は集計ファイル１５２に記憶したカポ位置「０」に対応するコードの全てを読み出し、記憶部１５に記憶した規則に従い、各カポ位置の変更後のコードを算出し、算出した変更後のコードを各カポ位置に対応づけてコードフィールド内に記憶する。これにより、対象となる曲データ内に存在するコードの種類が、カポ位置毎に把握することが可能となる。
【００２９】
個数フィールドにはカポ位置及びコードに対応づけて、各コードが曲データ内に存在する個数を記憶している。ＣＰＵ１１は、カポ位置「０」におけるコードフィールド内のコードを基に、曲データファイル１５１のコードフィールドを検索し、各コードが曲データ内に存在する個数を計数する。ＣＰＵ１１は計数後の各コードの個数を、カポ位置「０」及びコードに対応づけて個数フィールドに記憶する。図３の例では、曲名Ｘ、及び、カポ位置「０」に関し、コード「Ｃ＃」は２０個、コード「Ｆ＃」は１０個、コード「Ｇ＃」は５個・・・と記憶されている。
【００３０】
ここで、同一曲における各コードの個数は、カポ位置を変更した場合でも同数となることから、ＣＰＵ１１は各カポ位置の各コードの個数を以下の処理により集計ファイル１５２に記憶する。ＣＰＵ１１は、カポ位置「０」の個数フィールドに記憶した各コードの個数データの順序を保持したまま、ＲＡＭ１２に記憶する。そして、ＣＰＵ１１は各カポ位置（カポ位置「１」、カポ位置「２」・・）の集計ファイル１５２の個数フィールドに、ＲＡＭ１２から読み出した順序が保持された個数データを、逐次記憶する。図３に示すとおり、カポ位置「１」の場合も同様にコード「Ｃ」が２０個、コード「Ｆ」が１０個、コード「Ｇ」が５個・・・と規則性が保持された上で記憶されている。集計ファイル１５２のその他の構成については後述する。
【００３１】
図５はコードファイル１５３のレコードレイアウトを示す説明図である。コードファイル１５３はコード別に各指が押さえるべきフレット及び弦番号を記憶している。コードファイル１５３はコードフィールド、並びに、フレット及び弦フィールドを含む。コードフィールドには各コードが記憶されている。フレット及び弦フィールドには、各指が押さえるべきフレット番号、及び、各指が押さえるべき弦番号が記憶されている。図５の例では一例としてコード「Ａ」及び「Ｂｍ」を示している。図６は表示部１４に表示されるダイアグラムを示す説明図である。図６（ａ）は、コード「Ａ」のダイアグラムを示し、図６（ｂ）はコード「Ｂｍ」のダイアグラムを示す。
【００３２】
図６における横線は上側から弦１、弦２、弦３・・・の如く弦番号を示す。一番左側の太縦線はナットを示し、その他の細縦線はフレットを示す。また、白丸印で囲まれる「薬」、「中」、及び「人」等は、親指、人差し指、中指、薬指、及び小指の５指の頭文字「親」、「人」、「中」、「薬」及び「小」を符号化したものである。図５のフレット及び弦フィールドには、各指が対応するフレットが記憶されている。例えばコード「Ａ」では、人差し指、中指、薬指のフレットは２と記憶されている。さらに各指が押さえるべき弦番号が記憶されている。弦フィールドに、１弦と記憶されている場合、該当する指が１弦を押さえることを示す。また例えば１弦〜６弦と記憶されている場合、該当する指が１弦から６弦の全てを押さえることを示す。また弦番号が記憶されていない指は、当該指は弦を押さえる必要が無いことを示す。例えばコード「Ａ」の場合、人差し指は２フレット４弦、中指は２フレット３弦、薬指は２フレット２弦を押さえる。なお、コードファイル１５３のデータの持たせ方はあくまで一例であり設計に応じて適宜変更しても良い。
【００３３】
コードＢｍについても同様に、中指は３フレット２弦、薬指は４フレット４弦、小指は４フレット３弦である。ここでコードＢｍの場合、人差し指にセーハが必要となる。人差し指は１弦から６弦と記憶されている。つまり人差し指は２フレットにおいて、１弦から６弦までの全てを図６（ｂ）の「人」で示す如く同時に押さえる必要がある。
【００３４】
図７はポイント集計後の集計ファイル１５２のレコードレイアウトを示す説明図である。ＣＰＵ１１は集計ファイル１５２及びコードファイルを参照し、セーハの必要のあるコードを抽出し、当該抽出したコードにポイントを付与する。具体的にはＣＰＵ１１は、記憶部１５に予め設定した閾値を超える値がコードファイル１５３のフレット及び弦フィールドに記憶されている場合に、ポイントを記憶する。この閾値は記憶部１５に、例えば人差し指が押さえるべき弦の数が４以上と記憶されている。すなわち、コードファイル１５３の人差し指の押さえるべき弦の番号が４つ以上記憶されている場合に、ポイントが記憶される。
【００３５】
ＣＰＵ１１は、集計ファイル１５２のコードフィールドのコードに基づき、コードファイルを検索し、対応するコードの人差し指の押さえるべき数が閾値以上であるか否かを判断する。ＣＰＵ１１は閾値以上であると判断した場合、当該コードのポイントフィールドにポイント「１」を記憶する。ＣＰＵ１１は以上の処理を集計ファイル１５２内の全てのコードに対して実行する。図７の例では、コードＣ＃及びＦ＃等にはセーハが存在しポイント「１」が記憶されている。一方、コード「Ｃ」及びコード「Ｇ」はセーハが存在せずポイント「０」と記憶される。なお、本例では人差し指の押さえるべき弦の数が４以上の場合にポイントを記憶するようにしたが、あくまで一例であり指及び弦の数はこれに限定するものではない。
【００３６】
ＣＰＵ１１は集計ファイル１５２の個数フィールドに記憶した個数に、ポイントフィールドに記憶したポイントを乗ずることにより難易度を算出する。ＣＰＵ１１はコード別に算出した難易度を集計ファイル１５２の難易度フィールドに記憶する。例えばコード「Ｃ＃」は当該曲において「２０」回存在し、ポイント「１」が付与されていることからその積により難易度２０と算出される。一方、コード「Ｃ」の如くポイント「０」と記憶されているコードは難易度「０」と算出される。
【００３７】
ＣＰＵ１１は集計ファイル１５２のカポ位置別に、各コードの難易度を合算する。そしてその合算した難易度が低い順にソートする。ＣＰＵ１１はその合算値が最も少ないカポ位置を推奨すべきカポ位置とする。図８は推奨カポ位置ファイル１５４のレコードレイアウトを示す説明図である。推奨カポ位置ファイル１５４は曲名フィールド及び推奨カポ位置フィールドを含んで構成される。曲名に対応づけて、ユーザに推奨すべきカポ位置が記憶されている。例えば曲名「Ｘ」では、合算値の最小のカポ位置「１」が推奨カポ位置としてＣＰＵ１１により記憶されている。これによりユーザは１フレットにカポを装着することにより容易な演奏が可能となる。なお、推奨カポ位置「０」はカポを装着する必要が無いことを示す。
【００３８】
以上のハードウェア構成において推奨カポ位置決定処理の手順を、フローチャートを用いて説明する。図９及び図１０はコードの抽出処理及び計数処理の手順を示すフローチャートである。ＣＰＵ１１は例えば新曲等の曲データを通信部１６から受信する。ＣＰＵ１１は受信した曲データを曲データファイル１５１に記憶する（ステップＳ９１）。ＣＰＵ１１は曲データファイル１５１から対象となる曲データを読み出す（ステップＳ９２）。ＣＰＵ１１は以下のソフトウェア処理を実行すべく、制御プログラム１５Ｐを起動する（ステップＳ９３）。
【００３９】
ＣＰＵ１１は読み出した曲データ内のコードを、重複を避けた上で抽出する（ステップＳ９４）。ＣＰＵ１１は集計ファイル１５２のカポを装着しない事を示すカポ位置「０」に対応づけて、抽出したコードをコードフィールドに記憶する（ステップＳ９５）。ＣＰＵ１１は、抽出した各コードが読み出した曲データに存在する個数を計数する（ステップＳ９６）。ＣＰＵ１１はカポ位置「０」に対応づけて各コードの個数を集計ファイル１５２の個数フィールドに記憶する（ステップＳ９７）。
【００４０】
ＣＰＵ１１は記憶部１５に予め記憶した転調規則を読み出す（ステップＳ９８）。ＣＰＵ１１は読み出した転調規則及び集計ファイル１５２内のカポ位置「０」のコードに基づき、他のカポ位置（例えばカポ位置「１」等）のコードを算出する（ステップＳ９９）。なお、カポ位置の変化量に対するコードの変化を記憶したテーブル（図示せず）を参照して、転調後のコードを求めても良い。ＣＰＵ１１は算出した他のカポ位置のコードを集計ファイルに記憶する（ステップＳ１０１）。
【００４１】
ＣＰＵ１１は全ての他のカポ位置に対しコードが、集計ファイル１５２に記憶されたか否かを判断する（ステップＳ１０２）。ＣＰＵ１１は全ての他のカポ位置に対しコードが記憶されていないと判断した場合（ステップＳ１０２でＮＯ）、ステップＳ９９へ移行し、他のカポ位置（例えば、カポ位置「２」）について同様の処理を行う。ＣＰＵ１１は全ての他のカポ位置に対しコードを記憶したと判断した場合（ステップＳ１０２でＹＥＳ）、集計ファイル１５２から、カポ位置「０」のコードに対する個数を、その記憶順序を保持した上で読み出す（ステップＳ１０３）。
【００４２】
ＣＰＵ１１は、カポ位置「０」のコードに対する個数を、順序を保持した上でＲＡＭ１２に記憶する（ステップＳ１０４）。ＣＰＵ１１は、他のカポ位置の個数フィールドにコードに対応づけて、コードに対する記憶順序が保持されたカポ位置「０」のコードに対する個数を記憶する（ステップＳ１０５）。すなわちカポを装着しない際のコードに対する個数データを、各カポ位置のコードに対する個数データと一致させて記憶する。ＣＰＵ１１は、全ての他のカポ位置の個数フィールドに、コードに対する記憶順序が保持されたカポ位置「０」のコードに対する個数が記憶されたか否かを判断する（ステップＳ１０６）。ＣＰＵ１１は全ての他のカポ位置に対しコードに対する個数が記憶されていないと判断した場合（ステップＳ１０６でＮＯ）、ステップＳ１０５へ移行し、同様の記憶処理を行う。一方、ＣＰＵ１１は全ての他のカポ位置に対し、コードに対する個数が記憶されたと判断した場合（ステップＳ１０６でＹＥＳ）、処理を終了する。
【００４３】
図１１及び図１２は推奨カポ位置決定処理の手順を示すフローチャートである。ＣＰＵ１１はカポ位置に初期値０を設定する（ステップＳ１２１）。ＣＰＵ１１はカポ位置のコードを読み出す（ステップＳ１２２）。なお、初期値０の場合、カポ無しのカポ位置「０」のコードが読み出される。ＣＰＵ１１はコードファイル１５３を参照し、読み出したコードが人差し指で４弦以上の操作が必要であるか否かを判断する（ステップＳ１２３）。ＣＰＵ１１は当該操作が必要であると判断した場合（ステップＳ１２３でＹＥＳ）、難易度が高いコードであると判断し、ポイント「１」を当該コードに対応させて集計ファイル１５２に記憶する（ステップＳ１２４）。
【００４４】
一方、ＣＰＵ１１は当該操作が必要でないと判断した場合（ステップＳ１２３でＮＯ）、難易度が高いコードではないと判断し、ポイント「０」を当該コードに対応させて集計ファイル１５２に記憶する（ステップＳ１２５）。ＣＰＵ１１はカポ位置内の全てのコードについてこれらポイント付与に関する処理が終了したか否かを判断する（ステップＳ１２６）。ＣＰＵ１１は全てのコードについて処理が終了していないと判断した場合（ステップＳ１２６でＮＯ）、他のコードについてステップＳ１２３の処理が実行される。一方、ＣＰＵ１１は全てのコードについて処理が終了したと判断した場合（ステップＳ１２６でＹＥＳ）、集計ファイル１５２内の全てのカポ位置についてステップＳ１２３等の処理が終了したか否かを判断する（ステップＳ１２７）。
【００４５】
ＣＰＵ１１は、全てのカポ位置についての処理が終了していないと判断した場合（ステップＳ１２７でＮＯ）、カポ位置をインクリメントする（ステップＳ１２８）。その後処理は再びステップＳ１２２へ戻される。例えばカポ位置が「０」であった場合、続いてカポ位置「１」のコードについてポイント付与処理が実行される。一方ＣＰＵ１１は全てのカポ位置に対しポイント付与処理が終了したと判断した場合（ステップＳ１２７でＹＥＳ）、集計ファイル１５２内の個数にポイントを乗じて、各カポ位置のコードに対する難易度を算出する（ステップＳ１２９）。
【００４６】
ＣＰＵ１１はカポ位置毎に難易度を合算する（ステップＳ１３１）。具体的には各カポ位置におけるコードの難易度を合算する。そしてＣＰＵ１１はカポ位置毎に合算値を集計ファイル１５２に記憶する（ステップＳ１３２）。ＣＰＵ１１は合算値が最小値を有するカポ位置を抽出する（ステップＳ１３３）。ステップＳ１３３により抽出されるカポ位置が推奨カポ位置となる。ＣＰＵ１１は推奨カポ位置、及び、曲データファイル内に記憶された対象となる曲名を対応づけて推奨カポ位置ファイル１５４に記憶する（ステップＳ１３４）。
【００４７】
実施の形態２
実施の形態２は推奨カポ位置に基づく曲データを外部へ送信する形態に関する。図１３は曲データ送信システムの概要を示す説明図である。曲データ送信システムは、曲データ送信装置、通信網Ｎ、及び、携帯端末機２、２、・・・を含む。曲データ送信装置１は例えばサーバコンピュータ、または、実施の形態１で述べた推奨カポ位置決定装置等であり、カポを装着しない際の曲データまたは推奨カポ位置に基づく曲データを携帯端末機２へ送信する。以下では、曲データ送信装置１をサーバコンピュータ３と読み替えて説明する。
【００４８】
携帯端末機２は例えば、携帯電話機、ＰＤＡ、表示部を備える可搬型オーディオプレーヤまたは可搬型ゲーム機等であり、一般のカラオケ店舗に設置されるモニタより小型の表示画面を備える可搬型の携帯端末機である。本実施の形態においては、携帯端末機２を携帯電話機２であるものとして説明する。携帯電話機２は受信した曲データに基づき音楽の再生及び演奏に必要とされるコードを適宜のタイミングで表示する。
【００４９】
図１３に示す携帯電話機２は、ブロック図で示す如く、制御部としてのＣＰＵ２１、ＲＡＭ２２、入力部２３、表示部２４、通信部２６、マイク２８、スピーカ２９、時計部２１０、及び、記憶部２５等を含んで構成される。ＣＰＵ２１は、バス２７を介して携帯電話機２のハードウェア各部と接続されていて、それらを制御すると共に、記憶部２５に格納された制御プログラム２５Ｐに従って、種々のソフトウェア的機能を実行する。
【００５０】
表示部２４は例えば液晶ディスプレイ等であり、コード及び歌詞等の各種情報を表示する。入力部２３はプッシュボタン等により構成される。なお、タッチパネルのように表示部２４と入力部２３とを一体的に構成するようにしても良い。スピーカ２９は音声データ、通話データ、またはマイク２８から入力された音声に係る音声信号を増幅して出力する。マイク２８は外部から入力された音声信号を電気信号へ変換する。変換後の電気信号は図示しないＡ／Ｄ変換器によりデジタルデータへ変換されてＣＰＵ２１へ出力される。通信部２６は高周波送受信部及びアンテナ等を備え、音声データ、文字データ等を含む各種データの送受信を行う。時計部２１０は日時情報をＣＰＵ２１へ出力する。
【００５１】
記憶部２５には制御プログラム２５Ｐ、ブラウザ２５１、及び再生アプリケーション２５２が記憶されている。ブラウザ２５１はＨＴＴＰ（Hyper Text Transfer Protocol）により通信部２６を介して送受信されるＨＴＭＬ（HyperText Markup Language）ファイルを解析して表示部２４に表示する。再生アプリケーション２５２は、受信した曲データを再生するソフトウェアであり、通信部２６を介してダウンロードされる。再生アプリケーション２５２は、ギターの演奏の際に必要とされるコードの表示、音楽の再生、及び歌詞の表示等を行う。
【００５２】
図１４はサーバコンピュータ３のハードウェア構成を示すブロック図である。サーバコンピュータ３は、制御部としてのＣＰＵ３１、ＲＡＭ３２、表示部３４、入力部３３、通信部３６及び記憶部３５等を含む。ＣＰＵ３１は、バス３７を介してサーバコンピュータ３のハードウェア各部と接続されていて、それらを制御すると共に、記憶部３５に格納された制御プログラム３５Ｐに従って、種々のソフトウェア的機能を実行する。制御プログラムは、Ｃ言語等のプログラミング言語で記述されている。実施の形態１で述べたパーソナルコンピュータ１はＬＡＮにより通信部３６を介してサーバコンピュータ３に接続されている。パーソナルコンピュータ１は推奨カポ位置ファイル１５４に記憶した曲名に対する推奨カポ位置の情報をサーバコンピュータ３へ送信する。
【００５３】
通信部３６はファイアウォールとしての機能を果たすゲートウェイ等であり、携帯電話機２及びパーソナルコンピュータ１との間で必要な情報を送受信する。記憶部３５は例えばハードディスクで構成され、内部には上述した制御プログラム３５Ｐ、曲データファイル３５１、認証ファイル３５２、ＨＴＭＬファイル３５３及び推奨カポ位置ファイル３５４等が記憶されている。ＣＰＵ３１は各種ファイルのフィールドのキーを関連付けたスキーマにおいてＳＱＬ等を用いて対話することにより、必要な情報の記憶、検索等の処理を実行する。
【００５４】
推奨カポ位置ファイル３５４はパーソナルコンピュータ１の推奨カポ位置ファイル１５４と同様に曲名に対する推奨カポ位置を記憶している。なお、上述したように、サーバコンピュータ３自身が、実施の形態１で述べた方法により、推奨カポ位置を算出するようにしても良い。また、本実施の形態においてはパーソナルコンピュータ１から通信部３６を介して、曲名に対する推奨カポ位置の情報を受信する例を説明するが、図示しないＵＳＢメモリ等の可搬型記録媒体により曲名に対する推奨カポ位置の情報を推奨カポ位置ファイル３５４に記憶するほか、オペレータが入力部３３から直接曲名に対する推奨カポ位置の情報を入力するようにしても良い。
【００５５】
認証ファイル３５２は曲データ送信システムを利用するユーザのＩＤ及びパスワードを記憶している。なお、ＩＤは携帯電話機２固有に付与されるＭＡＣ（Media Access Control）アドレス、電話番号、メールアドレス等である。ＨＴＭＬファイル３５３は曲データ送信システムにおいて携帯電話機２のブラウザ２５１に表示される各種案内画面に関する情報が記憶されている。
【００５６】
図１５は曲データファイル３５１のレコードレイアウトを示す説明図である。曲データファイルは曲名毎にコードデータ、歌詞データ及び音楽データ等を記憶している。図の例では曲名「Ｘ」、「Ｙ」、「Ｚ」・・の内、曲名「Ｘ」のコードデータ等を例として記載している。曲データファイル３５１はカポ位置フィールド、コードデータフィールド、歌詞データフィールド及び音楽データフィールド等を含む。カポ位置フィールドには、カポ位置「０」つまりカポを装着しない情報、及び、推奨カポ位置の情報が記憶されている。ＣＰＵ１１は推奨カポ位置ファイル３５４を参照し、曲名に対する推奨カポ位置を曲データファイル３５１のカポ位置フィールドに記憶する。本例では推奨カポ位置は「２」と記憶されている。
【００５７】
コードデータフィールドは、さらにコードフィールド、表示時間フィールド、及び表示位置フィールドが記憶されている。コードフィールドにはＣ＃等、曲を演奏する際に必要となるコードが時系列で記憶されている。また表示時間フィールドにはコードを、携帯電話機２の表示部２４に表示する際のタイミングを示す表示時間が記憶されている。この表示時間は曲の演奏開始を始点とした経過時間を示している。表示位置フィールドにはコードの記号を携帯電話機２の表示部２４に表示する際の座標値が記憶されている。これは表示部２４の左上座標を原点座標（ｘ，ｙ）＝（０，０）とした場合、矩形状のコードの記号画像の左上の画素の座標値を（ｘ，ｙ）＝（ｘ１，ｙ１）等と定義している。
【００５８】
歌詞データフィールドはカラオケと同じく、音楽データの演奏にあわせて表示される歌詞等のデータを記憶しており、歌詞フィールド、表示時間フィールド及び表示位置フィールドを含む。歌詞フィールドには曲名「Ｘ」の歌詞がテキストデータ等で記憶されている。表示時間フィールドには、音楽データの演奏開始を始点とする歌詞の表示タイミングを記憶している。また表示位置フィールドには歌詞を携帯電話機２の表示部２４に表示する際の座標位置が記憶されている。これは表示部２４の左上座標を原点座標（ｘ，ｙ）＝（０，０）とした場合、一又は複数の文字で構成される矩形状の歌詞のブロックの左上の画素の座標値を（ｘ，ｙ）＝（ｘ２，ｙ２）等と定義している。
【００５９】
音楽データフィールドにはｍｍｆ、ｍｌｄ、ＭＰ３（MPEG 1 Audio Layer 3）、またはｗａｖ(ＷＡＶＥ)等のフォーマットによる音楽ファイルが記憶されている。ＣＰＵ３１はカポ位置「０」のコードを、推奨カポ位置及び記憶部３５に予め記憶した転調規則を参照し、変更する処理を行う。図１５の例では推奨カポ位置は「２」であることから、カポ位置「０」のコード「Ｃ＃」、「Ｆ＃」、及び「Ｇ＃」は、それぞれコード「Ｂ」、「Ｅ」及び「Ｆ＃」へ変更される。カポ位置「０」と推奨カポ位置との情報の相違はこの変更後のコードであり、他のコードデータの表示時間、歌詞データ等はカポ位置「０」と同様である。ＣＰＵ３１は曲データファイルを参照し、カポ位置「０」の要求を受け付けた場合、カポ位置「０」に基づく曲データを読み出し、推奨カポ位置の要求を受け付けた場合、推奨カポ位置に基づく曲データを読み出す。なお、本例では説明を容易にするためにコードデータ、歌詞データ及び音楽データ等を一体的に記憶する例を説明しているが、データの持ち方はこれに限るものではない。
【００６０】
図１６は曲選択のイメージを示す説明図である。携帯電話機２の表示部２４には図１６に示す曲選択画面が表示される。ＣＰＵ３１はＨＴＭＬファイル３５３から曲選択用の基本となるＨＴＭＬファイルを読み出し、また、選択予定の曲名に対する推奨カポ位置を推奨カポ位置ファイル３５４から読み出す。そしてＣＰＵ３１は読み出した推奨カポ位置を基本となるＨＴＭＬファイルに追記した上で携帯電話機２へ送信する。携帯電話機２の表示部２４には、推奨カポ位置の他、カポ無しで曲名「Ｘ」を演奏するための曲データを受信する際に操作するハイパーリンク２４１、及び、推奨カポ位置にて曲名「Ｘ」を演奏するための曲データを受信する際に操作するハイパーリンク２４２が表示される。
【００６１】
携帯電話機２の入力部２３を介して、ハイパーリンク２４１または２４２の操作入力を受け付けた場合、ＣＰＵ２１はカポ無しの曲データの送信要求、または、推奨カポ位置に基づく曲データの送信要求をサーバコンピュータ３に行う。サーバコンピュータ３のＣＰＵ３１は送信要求を受け付け、カポ無しの曲データの送信要求を受け付けた場合、曲データファイル３５１を参照し、曲名「Ｘ」、カポ位置「０」に対応する曲データを読み出し携帯電話機２へ送信する。一方、推奨カポ位置の曲データの送信要求を受け付けた場合、曲データファイル３５１を参照し、曲名「Ｘ」、カポ位置「２」に対応する曲データを読み出し携帯電話機２へ送信する。
【００６２】
図１７はコードの表示イメージを示す説明図である。携帯電話機２のＣＰＵ２１は曲データの受信に伴い再生アプリケーション２５２を起動し、音楽の再生、コードの表示、歌詞の表示及び各種描画処理を行う。ＣＰＵ２１は音楽データの再生を行う。そして、ＣＰＵ２１は受信したコードデータ、歌詞データ及び時計部２１０から出力される日時情報を元に、演奏開始から適宜のタイミングでコード及び歌詞を表示部２４に表示する。図の例では、現在のコード「Ｃ＃」を示す記号及び次のコード「Ａ」を示す記号、並びに、歌詞がコードと共に表示される。この表示タイミングはコードデータの表示時間、及び、歌詞データの表示時間を参照して行われる。またコードの記号及び歌詞はコードデータの表示位置及び歌詞データの表示位置を参照して行われる。
【００６３】
ダイアグラムはコードに対応させて表示すべき指の種類及び位置（フレット及び弦）が再生アプリケーション２５２に記述されており、ＣＰＵ２１はこの記述に従って指の種類を示す画像データを所定の位置に描画する。図の例では現在のコードである「Ｃ＃」のダイアグラムが表示されている。なお、本実施の形態においては、曲データとしてカポ位置に対するコードデータ（コード、表示時間、表示位置）を少なくとも含み、これに音楽データ及び歌詞データが付加されて送信される。
【００６４】
図１８乃至図２０は曲データの送信処理の手順を示すフローチャートである。サーバコンピュータ３のＣＰＵ３１は、新曲が配布される度に、コード、表示時間及び表示位置を含むコードデータ、歌詞、表示時間及び表示位置を含む歌詞データ、並びに、音楽データを含む曲データを、カポを使用しないことを示すカポ位置「０」及び曲名に対応づけて、図１５の如く曲データファイル３５１に記憶する（ステップＳ１８１）。ＣＰＵ３１は実施の形態１で述べた方法により求めた曲名に対する推奨カポ位置を推奨カポ位置ファイル３５４に記憶する（ステップＳ１８２）。ＣＰＵ３１は曲名に対する推奨カポ位置を推奨カポ位置ファイル３５４から読み出す（ステップＳ１８３）。
【００６５】
ＣＰＵ３１は記憶部３５に記憶した転調規則及び読み出した推奨カポ位置に基づき、ステップＳ１８１で記憶したカポ位置「０」のコードを変更する（ステップＳ１８４）。ＣＰＵ３１は変更後のコードを、ステップＳ１８３で読み出した推奨カポ位置の情報と対応づけて曲データファイル３５１に記憶する（ステップＳ１８５）。ＣＰＵ３１は、曲データファイルのコードデータの表示時間及び表示位置、歌詞データ並びに曲データを、推奨カポ位置及び変更後のコードに対応づけて記憶する。これにより、カポ位置「０」及び推奨カポ位置に基づく曲データが完成する。なお、推奨カポ位置ファイル３５４に記憶された推奨カポ位置が「０」の場合、すなわちカポを装着しない場合が最も演奏が簡単であると判断される場合、ステップＳ１８４及びＳ１８５の処理はスキップされる。以下では、推奨カポ位置が「０」以外の例を説明する。
【００６６】
ユーザが携帯電話機２を用いて曲データ送信システムを利用すべく、サーバコンピュータ３へアクセスした場合、以下の処理が行われる。携帯電話機２のＣＰＵ２１は入力部２３から入力されたＩＤ及びパスワードをサーバコンピュータ３へ送信し（ステップＳ１８６）、ログインを行う。サーバコンピュータ３はＩＤ及びパスワードを受信し、記憶部３５の認証ファイル３５２に予め記憶されたＩＤ及びパスワードに一致するか否かを判断する（ステップＳ１８７）。ＣＰＵ３１はＩＤ及びパスワードが一致しないと判断した場合（ステップＳ１８７でＮＯ）、不正なアクセスであるとして処理を終了する。
【００６７】
一方、ＣＰＵ３１はＩＤ及びパスワードが一致すると判断した場合（ステップＳ１８７でＹＥＳ）、ＨＴＭＬファイル３５３から曲名選択画面を読み出し、携帯電話機２へ送信する（ステップＳ１８８）。携帯電話機２のＣＰＵ２１は、表示部２４に曲名選択画面を表示する（ステップＳ１８９）。ＣＰＵ２１はユーザが入力部２１から入力した曲名を受け付け、受け付けた曲名をサーバコンピュータ３へ送信する（ステップＳ１９１）。
【００６８】
サーバコンピュータ３のＣＰＵ３１は送信された曲名を受信する（ステップＳ１９２）。ＣＰＵ３１は、推奨カポ位置ファイル３５４から、曲名に対応する推奨カポ位置を読み出す（ステップＳ１９３）。ＣＰＵ３１はＨＴＭＬファイルに記憶した基本ＨＴＭＬファイルを読み出す（ステップＳ１９４）。ＣＰＵ３１は基本ＨＴＭＬファイルに、ステップＳ１９３で読み出した推奨カポ位置を記述し、さらに、カポ無しの曲データの送信要求（ハイパーリンク２４１）、または、推奨カポ位置に基づく曲データの送信要求（ハイパーリンク２４２）を行うための画面を生成する（ステップＳ１９５）。
【００６９】
ＣＰＵ３１はこの生成した送信要求画面を携帯電話機２へ送信する（ステップＳ１９６）。携帯電話機２のＣＰＵ２１は送信要求画面を受信し、また表示部２４に図１６の如く送信要求画面を表示する（ステップＳ１９７）。ＣＰＵ２１は、推奨カポ位置の情報に基づく曲データの送信要求を入力部２３から受け付けたか否かを判断する（ステップＳ１９８）。具体的には、図１６に示すハイパーリンク２４２が操作されたか否かを判断する。ＣＰＵ２１は、推奨カポ位置の情報に基づく曲データの送信要求を受け付けたと判断した場合（ステップＳ１９８でＹＥＳ）、推奨カポ位置の情報に基づく曲データの送信要求をサーバコンピュータ３に対し送信する（ステップＳ１９９）。サーバコンピュータ３のＣＰＵ３１は通信部３６を介して、推奨カポ位置の情報に基づく曲データの送信要求を受け付ける。
【００７０】
一方、ＣＰＵ２１は、推奨カポ位置の情報に基づく曲データの送信要求を受け付けていないと判断した場合（ステップＳ１９８でＮＯ）、ハイパーリンク２４１がクリックされたと判断し、カポ無しの曲データの送信要求をサーバコンピュータ３に対し送信する（ステップＳ２０１）。サーバコンピュータ３のＣＰＵ３１は通信部３６を介して、カポ無しの曲データの送信要求を受け付ける。
【００７１】
ＣＰＵ３１は、推奨カポ位置の情報に基づく曲データの送信要求を受け付けたか否かを判断する（ステップＳ２０２）。ＣＰＵ３１は推奨カポ位置の情報に基づく曲データの送信要求を受け付けたと判断した場合（ステップＳ２０２でＹＥＳ）、推奨カポ位置に基づく曲データを曲データファイル３５１から読み出し、携帯電話機２へ送信する（ステップＳ２０３）。一方、ＣＰＵ３１は推奨カポ位置の情報に基づく曲データの送信要求を受け付けていないと判断した場合（ステップＳ２０２でＮＯ）、カポ位置「０」の曲データを曲データファイル３５１から読み出し、携帯電話機２へ送信する（ステップＳ２０４）。
【００７２】
携帯電話機２のＣＰＵ２１は、サーバコンピュータ３から送信された曲データを受信する（ステップＳ２０５）。ＣＰＵ２１は再生アプリケーション２５２を起動する（ステップＳ２０６）。ＣＰＵ２１は音楽データを再生し（ステップＳ２０７）、マイク２８から音楽を出力する。ＣＰＵ２１は音楽データの再生をトリガに時計部２１０から出力される日時情報を用いて、音楽データと、コードデータ及び歌詞データとの表示タイミングの同期を行う。ＣＰＵ２１は、音楽データの再生と同期して、コード及び歌詞の表示時間及び表示位置を参照し、コード及び歌詞を表示部２４へ表示する（ステップＳ２０８）。この場合、ステップＳ２０３に基づく曲データが送信された場合、推奨カポ位置に基づく演奏が可能となり、一方、ステップＳ２０４に基づく曲データが送信された場合、カポ無しの演奏が可能となる。
【００７３】
本実施の形態２は以上の如き構成としてあり、その他の構成及び作用は実施の形態１と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【００７４】
実施の形態３
実施の形態３は実施の形態１で述べたセーハのための一の指とは異なる他の指を用いる際の推奨カポ位置算出処理に関する。セーハに加えて特定の指を用いるコードが苦手な演奏者が存在する。なお、本実施の形態においては他の指を小指であるものとして説明するが、小指に限るものではない。
【００７５】
図２１は実施の形態３に係るカポ位置決定装置のハードウェア構成を示すブロック図である。実施の形態１の構成に加えて記憶部１５に補助推奨カポ位置ファイル１５５が記憶されている。推奨カポ位置ファイル１５４は人差し指によるセーハがより少ないカポ位置を曲別に記憶しているが、補助推奨カポ位置ファイル１５５は、人差し指によるセーハがより少なく、かつ、小指で弦を押さえる機会がより少ないカポ位置を曲別に記憶している。
【００７６】
図２２は実施の形態３に係る集計ファイル１５２のレコードレイアウトを示す説明図である。実施の形態１の構成に加えて補助ポイントフィールドが設けられている。補助ポイントフィールドには、各カポ位置のコードに対応づけて付与される補助ポイントが記憶されている。ＣＰＵ１１はコードファイル１５３のコードに対応する弦フィールド及び指フィールドを参照し、演奏の際に小指が押さえるべき弦が存在するか否かを判断する。具体的にはＣＰＵ１１は、コードファイル１５３の小指に対応する弦フィールドに、１弦〜６弦のいずれかの弦番号が設定されているか否かを判断する。図５の例では、コードＢｍにおいて演奏の際、弦を小指で押さえる必要がある。
【００７７】
ＣＰＵ１１は、小指が押さえるべき弦が存在すると判断した場合、実施の形態１で付与したポイント「１」よりも低い補助ポイント「０．５」を、コードに対応づけて集計ファイル１５２の補助ポイントフィールドに記憶する。なお、本実施の形態においては補助ポイントを０．５としたがこの数値に限るものではない。図２２の例では、コード「Ｃ＃」には、補助ポイント「０．５」が付与され、コード「Ｃ」には補助ポイントが付与されない。
【００７８】
ＣＰＵ１１はポイント及び補助ポイントを加算し、加算値と個数フィールドの個数を乗ずることにより難易度を算出する。ＣＰＵ１１は算出した難易度をコードに対応づけて集計ファイル１５２に記憶する。ＣＰＵ１１は各コードの難易度を合算する。同様にその他のカポ位置の難易度の合算値を算出する。最後にＣＰＵ１１は、合算値を小さい順にソートし最小の合算値を有するカポ位置を補助推奨カポ位置とする。
【００７９】
図２３は補助推奨カポ位置ファイル１５５のレコードレイアウトを示す説明図である。補助推奨カポ位置ファイル１５５は曲名フィールド及び推奨カポ位置フィールドを含んで構成される。曲名に対応づけて、ユーザに補助的に推奨すべきカポ位置が記憶されている。例えば曲名「Ｘ」では、合算値の最小のカポ位置「２」が推奨カポ位置としてＣＰＵ１１により記憶されている。これにより、ユーザは２フレットにカポを装着することにより人差し指によるセーハが少なく、また苦手な小指の使用機会が少ない演奏が可能となる。
【００８０】
以上のハードウェア構成において補助推奨カポ位置決定処理の手順を、フローチャートを用いて説明する。図２４及び図２５は補助推奨カポ位置を決定する際の手順を示すフローチャートである。ＣＰＵ１１は実施の形態１において集計ファイル１５２における個数及びポイントを算出した後以下の処理を行う。ＣＰＵ１１はカポ位置に初期値である「０」を代入する（ステップＳ２４１）。ＣＰＵ１１はコードファイルを参照し対象となるコードの小指が押さえるべき弦が記憶されているか否かを判断する（ステップＳ２４２）。ＣＰＵ１１は小指が押さえるべき弦が記憶されていると判断した場合（ステップＳ２４２でＹＥＳ）、補助ポイント「０．５」を付与すべく集計ファイル１５２の補助ポイントフィールドに０．５を記憶する（ステップＳ２４４）。
【００８１】
一方、ＣＰＵ１１は小指が押さえるべき弦が記憶されていないと判断した場合（ステップＳ２４２でＮＯ）、集計ファイル１５２の補助ポイントフィールドに０を記憶する（ステップＳ２４３）。ステップＳ２４４及びＳ２４３の処理の後、ＣＰＵ１１は実施の形態１で求めたポイントに補助ポイントを加算する（ステップＳ２４５）。ＣＰＵ１１は対象となるコードの個数にステップＳ２４５で算出した加算値を乗算する（ステップＳ２４６）。ＣＰＵ１１は対象となるコードの難易度として乗算値を難易度フィールドに記憶する（ステップＳ２４７）。
【００８２】
ＣＰＵ１１は同一カポ位置内の全てのコードについて難易度を算出したか否かを判断する（ステップＳ２４８）。ＣＰＵ１１は全てのコードについて難易度を算出していないと判断した場合（ステップＳ２４８でＮＯ）、他のコードについても難易度を算出すべく、コードを変更し（ステップＳ２４９）、処理を再びＳ２４２へ戻す。ＣＰＵ１１は全てのコードについて難易度の算出が終了したと判断した場合（ステップＳ２４８でＹＥＳ）、ステップＳ２４７で算出した各コードの難易度に基づき、全てのコードの難易度を合算する（ステップＳ２５１）。
【００８３】
ＣＰＵ１１はカポ位置に対応づけて合算値を記憶部１５に記憶する（ステップＳ２５２）。ＣＰＵ１１は全てのカポ位置について合算値を算出する処理を終了したか否かを判断する（ステップＳ２５３）。ＣＰＵ１１は終了していないと判断した場合（ステップＳ２５３でＮＯ）、カポ位置をインクリメントし（ステップＳ２５４）、処理をステップＳ２４２に戻す。一方、ＣＰＵ１１は全てのカポ位置に対し、合算値を算出する処理を終了したと判断した場合（ステップＳ２５３でＹＥＳ）、ステップＳ２５２で記憶したカポ位置に対する合算値を参照し、合算値の最小値を抽出する（ステップＳ２５５）。ＣＰＵ１１は抽出した最小値のカポ位置を、曲名に対応づけて補助推奨カポ位置として補助推奨カポ位置ファイル１５５に記憶する（ステップＳ２５６）。これにより、実施の形態１で求めた推奨カポ位置に加えて、特定の指の操作をも考慮した補助推奨カポ位置をも求めることが可能となる
【００８４】
図２６は実施の形態３に係るサーバコンピュータ３のハードウェア構成を示すブロック図である。実施の形態１に加えて記憶部３５に補助推奨カポ位置ファイル３５５が記憶される。ＣＰＵ３１は本実施の形態にて求めた補助推奨カポ位置を実施の形態１の推奨カポ位置と同じく、補助推奨カポ位置ファイル３５５に記憶する。ＣＰＵ３１は、推奨カポ位置に加えて、補助推奨カポ位置をもユーザに提供する。
【００８５】
図２７は曲データの送信要求画面例を示す説明図である。携帯電話機２の表示部２４にはさらにハイパーリンク２４３が表示される。このハイパーリンク２４３は補助推奨カポ位置による曲データの送信要求を行う際に、入力部２３を操作する。図２７の例では、小指の操作が苦手な初心者のために、補助推奨カポ位置「１」の情報を提供し、また、補助推奨カポ位置に基づく曲データをも提供する。
【００８６】
図２８乃至図３２は曲データの送信処理の手順を示すフローチャートである。サーバコンピュータ３のＣＰＵ３１は、新曲が配布される度に、コード、表示時間及び表示位置を含むコードデータ、歌詞、表示時間及び表示位置を含む歌詞データ、並びに、音楽データを含む曲データを、カポを使用しないことを示すカポ位置「０」及び曲名に対応づけて、図１５の如く曲データファイル３５１に記憶する（ステップＳ２８１）。ＣＰＵ３１は実施の形態１で述べた方法により求めた曲名に対する推奨カポ位置を推奨カポ位置ファイル３５４に記憶する（ステップＳ２８２）。ＣＰＵ３１は曲名に対する推奨カポ位置を推奨カポ位置ファイル３５４から読み出す（ステップＳ２８３）。
【００８７】
ＣＰＵ３１は記憶部３５に記憶した転調規則及び読み出した推奨カポ位置に基づき、ステップＳ２８１で記憶したカポ位置「０」のコードを変更する（ステップＳ２８４）。ＣＰＵ３１は変更後のコードを、ステップＳ２８３で読み出した推奨カポ位置の情報と対応づけて曲データファイル３５１に記憶する（ステップＳ２８５）。ＣＰＵ３１は、曲データファイル３５１のコードデータの表示時間及び表示位置、歌詞データ並びに曲データを、推奨カポ位置及び変更後のコードに対応づけて記憶する。これにより、カポ位置「０」及び推奨カポ位置に基づく曲データが完成する。続いて、ＣＰＵ３１は本実施の形態で述べた方法により求めた曲名に対する補助推奨カポ位置を補助推奨カポ位置ファイル３５５に記憶する（ステップＳ２８６）。ＣＰＵ３１は曲名に対する補助推奨カポ位置を推奨カポ位置ファイル３５５から読み出す（ステップＳ２８７）。
【００８８】
ＣＰＵ３１は記憶部３５に記憶した転調規則及び読み出した補助推奨カポ位置に基づき、ステップＳ２８１で記憶したカポ位置「０」のコードを変更する（ステップＳ２８８）。ＣＰＵ３１は変更後のコードを、ステップＳ２８７で読み出した補助推奨カポ位置の情報と対応づけて曲データファイル３５１に記憶する（ステップＳ２８９）。ＣＰＵ３１は、曲データファイル３５１のコードデータの表示時間及び表示位置、歌詞データ並びに曲データを、補助推奨カポ位置及び変更後のコードに対応づけて記憶する。これにより、補助推奨カポ位置に基づく曲データが完成する
【００８９】
携帯電話機２のＣＰＵ２１は入力部２３から入力されたＩＤ及びパスワードをサーバコンピュータ３へ送信し（ステップＳ２９１）、ログインを行う。サーバコンピュータ３はＩＤ及びパスワードを受信し、記憶部３５の認証ファイル３５２に予め記憶されたＩＤ及びパスワードに一致するか否かを判断する（ステップＳ２９２）。ＣＰＵ３１はＩＤ及びパスワードが一致しないと判断した場合（ステップＳ２９２でＮＯ）、不正なアクセスであるとして処理を終了する。
【００９０】
一方、ＣＰＵ３１はＩＤ及びパスワードが一致すると判断した場合（ステップＳ２９２でＹＥＳ）、ＨＴＭＬファイル３５３から曲名選択画面を読み出し、携帯電話機２へ送信する（ステップＳ２９３）。携帯電話機２のＣＰＵ２１は、表示部２４に曲名選択画面を表示する（ステップＳ２９４）。ＣＰＵ２１はユーザが入力部２１から入力した曲名を受け付け、受け付けた曲名をサーバコンピュータ３へ送信する（ステップＳ２９５）。
【００９１】
サーバコンピュータ３のＣＰＵ３１は送信された曲名を受信する（ステップＳ２９６）。ＣＰＵ３１は、推奨カポ位置ファイル３５４から、曲名に対応する推奨カポ位置を読み出す（ステップＳ２９７）。同様に、ＣＰＵ３１は、補助推奨カポ位置ファイル３５５から、曲名に対応する補助推奨カポ位置を読み出す（ステップＳ２９８）。ＣＰＵ３１はＨＴＭＬファイルに記憶した基本ＨＴＭＬファイルを読み出す（ステップＳ２９９）。ＣＰＵ３１は基本ＨＴＭＬファイルに、ステップＳ２９３で読み出した推奨カポ位置及びステップＳ２８７で読み出した補助推奨カポ位置を記述し、さらに、カポ無しの曲データの送信要求（ハイパーリンク２４１）、推奨カポ位置に基づく曲データの送信要求（ハイパーリンク２４２）、または補助推奨カポ位置に基づく曲データの送信要求（ハイパーリンク２４３）を行うための画面を生成する（ステップＳ３０１）。
【００９２】
ＣＰＵ３１はこの生成した送信要求画面を携帯電話機２へ送信する（ステップＳ３０２）。携帯電話機２のＣＰＵ２１は送信要求画面を受信し、また表示部２４に図２７の如く送信要求画面を表示する（ステップＳ３０３）。ＣＰＵ２１は、推奨カポ位置の情報に基づく曲データの送信要求を入力部２３から受け付けたか否かを判断する（ステップＳ３０４）。具体的には、図２７に示すハイパーリンク２４２が操作されたか否かを判断する。ＣＰＵ２１は、推奨カポ位置の情報に基づく曲データの送信要求を受け付けたと判断した場合（ステップＳ３０４でＹＥＳ）、推奨カポ位置の情報に基づく曲データの送信要求をサーバコンピュータ３に対し送信する（ステップＳ３０５）。サーバコンピュータ３のＣＰＵ３１は通信部３６を介して、推奨カポ位置の情報に基づく曲データの送信要求を受け付ける。
【００９３】
一方、ＣＰＵ２１は推奨カポ位置に基づく曲データの送信要求を受け付けていないと判断した場合（ステップＳ３０４でＮＯ）、補助推奨カポ位置に基づく曲データの送信要求を入力部２３から受け付けたか否かを判断する（ステップＳ３０６）。具体的には、図２７に示すハイパーリンク２４３が操作されたか否かを判断する。ＣＰＵ２１は、補助推奨カポ位置の情報に基づく曲データの送信要求を受け付けたと判断した場合（ステップＳ３０６でＹＥＳ）、補助推奨カポ位置の情報に基づく曲データの送信要求をサーバコンピュータ３に対し送信する（ステップＳ３０７）。サーバコンピュータ３のＣＰＵ３１は通信部３６を介して、補助推奨カポ位置の情報に基づく曲データの送信要求を受け付ける。
【００９４】
一方、ＣＰＵ２１は、補助推奨カポ位置の情報に基づく曲データの送信要求を受け付けていないと判断した場合（ステップＳ３０６でＮＯ）、ハイパーリンク２４１がクリックされたと判断し、カポ無しの曲データの送信要求をサーバコンピュータ３に対し送信する（ステップＳ３０８）。サーバコンピュータ３のＣＰＵ３１は通信部３６を介して、カポ無しの曲データの送信要求を受け付ける。
【００９５】
ＣＰＵ３１は、推奨カポ位置の情報に基づく曲データの送信要求を受け付けたか否かを判断する（ステップＳ３０９）。ＣＰＵ３１は推奨カポ位置の情報に基づく曲データの送信要求を受け付けたと判断した場合（ステップＳ３０９でＹＥＳ）、推奨カポ位置に基づく曲データを曲データファイル３５１から読み出し、携帯電話機２へ送信する（ステップＳ３１１）。ＣＰＵ３１は推奨カポ位置に基づく曲データの送信要求を受け付けていないと判断した場合（ステップＳ３０９でＮＯ）、補助推奨カポ位置の情報に基づく曲データの送信要求を受け付けたか否かを判断する（ステップＳ３１２）。ＣＰＵ３１は補助推奨カポ位置の情報に基づく曲データの送信要求を受け付けたと判断した場合（ステップＳ３１２でＹＥＳ）、補助推奨カポ位置に基づく曲データを曲データファイル３５１から読み出し、携帯電話機２へ送信する（ステップＳ３１３）。
【００９６】
一方、ＣＰＵ３１は補助推奨カポ位置の情報に基づく曲データの送信要求を受け付けていないと判断した場合（ステップＳ３１２でＮＯ）、カポ位置「０」の曲データを曲データファイル３５１から読み出し、携帯電話機２へ送信する（ステップＳ３１４）。携帯電話機２のＣＰＵ２１は、サーバコンピュータ３から送信された曲データを受信する（ステップＳ３１５）。ＣＰＵ２１は再生アプリケーション２５２を起動する（ステップＳ３１６）。ＣＰＵ２１は音楽データを再生し（ステップＳ３１７）、マイク２８から音楽を出力する。ＣＰＵ２１は音楽データの再生をトリガに時計部２１０から出力される日時情報を用いて、音楽データと、コードデータ及び歌詞データとの表示タイミングの同期を行う。ＣＰＵ２１は、音楽データの再生と同期して、コード及び歌詞の表示時間及び表示位置を参照し、コード及び歌詞を表示部２４へ表示する（ステップＳ３１８）。この場合、ステップＳ３１１に基づく曲データが送信された場合、推奨カポ位置に基づく演奏が可能となる。また、ステップＳ３１３に基づく曲データが送信された場合、補助推奨カポ位置に基づく演奏が可能となり、一方、ステップＳ３１４に基づく曲データが送信された場合、カポ無しの演奏が可能となる。
【００９７】
本実施の形態３は以上の如き構成としてあり、その他の構成及び作用は実施の形態１及び２と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【００９８】
実施の形態４
図３３は実施の形態４に係るパーソナルコンピュータ１の構成を示すブロック図である。実施の形態４に係るパーソナルコンピュータ１を動作させるためのコンピュータプログラムは、本実施の形態４のように、ＣＤ−ＲＯＭ、ＭＯ、またはＤＶＤ−ＲＯＭ等の可搬型記録媒体１Ａで提供することも可能である。さらに、コンピュータプログラムを、通信網Ｎを介して図示しないサーバコンピュータからダウンロードすることも可能である。以下に、その内容を説明する。
【００９９】
図３３に示すパーソナルコンピュータ１の図示しないリーダ／ライタに、コードを抽出させ、個数を計数させる等の処理を行うコンピュータプログラムが記録された可搬型記録媒体１Ａ（ＣＤ−ＲＯＭ、ＭＯ又はＤＶＤ−ＲＯＭ等）を、挿入して記憶部１５の制御プログラム１５Ｐ内にこのプログラムをインストールする。または、かかるプログラムを、通信部１６を介して外部の図示しないサーバコンピュータからダウンロードし、記憶部１５にインストールするようにしても良い。かかるプログラムはＲＡＭ１２にロードして実行される。これにより、上述のようなパーソナルコンピュータ１として機能する。
【０１００】
本実施の形態４は以上の如き構成としてあり、その他の構成及び作用は実施の形態１乃至３と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【０１０１】
実施の形態５
実施の形態５はコード総数を考慮して推奨カポ位置を決定する方法に関する。図３４は実施の形態５に係る集計ファイル１５２のレコードレイアウトを示す説明図である。実施の形態１の構成に加え補助難易度フィールドが用意されている。補助難易度フィールドにはカポ位置毎に推奨カポ位置を判断する際に必要とされる補助難易度が記憶されている。補助難易度の算出手順を以下に説明する。
【０１０２】
まずＣＰＵ１１は曲データ内に存在するコードの総数を計数する。当該処理は集計ファイル１５２内の任意のカポ位置の個数フィールドに記憶された各コードの個数を合計することによっても算出することができる。ＣＰＵ１１は各カポ位置の難易度の合計値を計数した総数で除し、１００を乗ずることで補助難易度を得る。ＣＰＵ１１はこの補助難易度が最小のカポ位置を推奨カポ位置として決定する。図３４の例ではカポ位置「１」の難易度の合計値がコード総数（例えば４００）で除され、１００がさらに乗じられ、補助難易度２５．００が得られている。
【０１０３】
これにより、コードの多少に関わらず、一コードあたりの補助難易度に基づく推奨カポ位置を客観的に得ることが可能となる。図３５は補助難易度に基づく推奨カポ位置決定の手順を示すフローチャートである。ＣＰＵ１１はカポ位置に初期値０を設定する（ステップＳ３５１）。ＣＰＵ１１は、コードが時系列に記憶された曲データファイル１５１を参照し、対象となる曲データ内に存在するコード総数を計数する（ステップＳ３５２）。なお当該処理はコードの重複をも含め記憶されている全てのコード総数を計数する。
【０１０４】
ＣＰＵ１１は集計ファイル１５２を参照し難易度の合計値を算出する（ステップＳ３５３）。ＣＰＵ１１は合計値を総数で除し、これに１００を乗じて補助難易度を算出する（ステップＳ３５４）。ＣＰＵ１１は算出した補助難易度をカポ位置に対応づけて集計ファイル１５２の補助難易度フィールドに記憶する（ステップＳ３５５）。ＣＰＵ１１は全てのカポ位置に対して上述した処理を終了したか否かを判断する（ステップＳ３５６）。ＣＰＵ１１は全てのカポ位置に対し処理を終了していないと判断した場合（ステップＳ３５６でＮＯ）、カポ位置をインクリメントし（ステップＳ３５７）、処理を再びステップＳ３５３に戻し、各カポ位置の補助難易度を算出する。
【０１０５】
ＣＰＵ１１は全てのカポ位置について処理を終了したと判断した場合（ステップＳ３５６でＹＥＳ）、補助難易度が最小のカポ位置を抽出し、当該カポ位置を推奨カポ位置として決定する（ステップＳ３５８）。ＣＰＵ１１は決定した推奨カポ位置を推奨カポ位置ファイル１５４に曲データに対応づけて記憶する（ステップＳ３５９）。
【０１０６】
本実施の形態５は以上の如き構成としてあり、その他の構成及び作用は実施の形態１乃至４と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【０１０７】
実施の形態６
実施の形態６は補助難易度の大きさにより推奨カポ位置を補正する形態に関する。ＣＰＵ１１は最小の補助難易度を有する場合であっても、その補助難易度があまりに高い場合は、敢えて当該補助難易度に対応するカポ位置を推奨する意義は少ない。この場合は、カポを装着しない事を示すカポ位置「０」を推奨カポ位置として決定する。図３６は実施の形態６に係る推奨カポ位置決定処理の手順を示すフローチャートである。
【０１０８】
ＣＰＵ１１は実施の形態５で算出した補助難易度が最小のカポ位置を、集計ファイル１５２を参照して読み出す（ステップＳ３６１）。ＣＰＵ１１は記憶部１５に予め記憶した所定値を読み出す（ステップＳ３６２）。この所定値は入力部１３から適宜変更が可能であり、例えば３５が記憶される。ＣＰＵ１１はステップＳ３６１で読み出した最小の補助難易度が所定値以下であるか否かを判断する（ステップＳ３６３）。
【０１０９】
ＣＰＵ１１は所定値以下であると判断した場合（ステップＳ３６３でＹＥＳ）、実施の形態５で述べたとおり、当該補助難易度が最小のカポ位置を推奨カポ位置として決定する（ステップＳ３６４）。一方、ＣＰＵ１１は所定値以下でないと判断した場合（ステップＳ３６３でＮＯ）、敢えてカポタストを装着してまで演奏する意義は少ないことから、カポ無しを示すカポ位置「０」のカポ位置を推奨カポ位置として決定する（ステップＳ３６５）。ＣＰＵ１１はステップＳ３６４またはＳ３６５で決定した推奨カポ位置を曲データに対応づけて推奨カポ位置ファイル１５４に記憶する（ステップＳ３６６）。これにより補助難易度が最小であっても演奏に高度な技術が必要とされる場合は、カポを装着しない事を提案することで、より初心者に適切なアドバイスを提供することが可能となる。
【０１１０】
本実施の形態６は以上の如き構成としてあり、その他の構成及び作用は実施の形態１乃至５と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【０１１１】
実施の形態７
実施の形態７は基準となる所定のカポタスト位置に係る補助難易度と最小の補助難易度との差が所定値以上の場合に最小の補助難易度を有するカポ位置を推奨カポ位置として決定する形態に関する。つまり、補助難易度が最小であっても、基準となる所定のカポタスト位置に係る補助難易度と比較した場合に、大差ない場合は、敢えてカポを推奨する意義は少ない。以下では基準となる所定のカポタスト位置が、カポを装着しないカポ位置「０」であるものとして説明する。図３７は実施の形態７に係る推奨カポ位置決定処理の手順を示すフローチャートである。
【０１１２】
ＣＰＵ１１は実施の形態５の処理により得られた補助難易度が最小のカポ位置を読み出す（ステップＳ３７１）。ＣＰＵ１１はステップＳ３７１で読み出したカポ位置が、所定のカポ位置であるカポ無しを示すカポ位置「０」と相違するか否かを判断する（ステップＳ３７２）。ＣＰＵ１１は相違しないと判断した場合（ステップＳ３７２でＮＯ）、実施の形態５と同じくカポ位置「０」を推奨カポ位置として決定し、当該推奨カポ位置「０」を推奨カポ位置ファイル１５４に曲データに対応づけて記憶する。この場合は、カポを装着しない場合が最良となり、一連の処理を終了する。
【０１１３】
一方、ＣＰＵ１１は相違すると判断した場合（ステップＳ３７２でＹＥＳ）、予め記憶した所定値（例えば１０）を記憶部１５から読み出す（ステップＳ３７３）。ＣＰＵ１１は、集計ファイル１５２を参照し、ステップＳ３７１で読み出した最小の補助難易度と、カポ位置「０」の補助難易度との差を算出する（ステップＳ３７４）。ＣＰＵ１１は算出した差がステップＳ３７３で読み出した所定値以上であるか否かを判断する（ステップＳ３７５）。
【０１１４】
ＣＰＵ１１は差が所定値以上であると判断した場合（ステップＳ３７５でＹＥＳ）、カポを推奨カポ位置に装着して演奏する意義が十分にあると判断し、補助難易度が最小のカポ位置を推奨カポ位置として決定する（ステップＳ３７６）。一方、ＣＰＵ１１は差が所定値以下でないと判断した場合（ステップＳ３７５でＮＯ）、カポを敢えて装着する意義は低いと判断し、カポ無しを示すカポ位置「０」のカポ位置を推奨カポ位置として決定する（ステップＳ３７７）。ＣＰＵ１１はステップＳ３７６またはＳ３７７で決定した推奨カポ位置を曲データに対応づけて推奨カポ位置ファイル１５４に記憶する（ステップＳ３７８）。これにより、カポを装着しない場合と比較して、より効果的に演奏負担を軽減することが可能なカポ位置をユーザに提供することが可能となる。また、カポを装着しない方が良いこともユーザに客観的に示すことが可能となり、より初心者に適切なアドバイスを提供することが可能となる。
【０１１５】
本実施の形態７は以上の如き構成としてあり、その他の構成及び作用は実施の形態１乃至６と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【０１１６】
以上の実施の形態１乃至７を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
前記コードファイルに記憶されたコード別の前記一の指とは異なる他の指が押さえるべき弦を参照し、前記決定手段により決定したコードの前記他の指が押さえるべき弦が存在する場合に、該コードに前記ポイントよりも低い補助ポイントを付与する補助ポイント付与手段を備え、
前記難易度決定手段は、
前記付与手段により付与したコードのポイントに前記補助ポイント付与手段により付与したコードの補助ポイントを加算した値に、前記決定手段により決定した各カポタスポ位置に対応する各コードの個数を乗じて合算することにより、各カポタスポ位置の難易度を決定するよう構成してある
ことを特徴とするカポタスト位置決定装置。
【図面の簡単な説明】
【０１１７】
【図１】カポ位置決定装置のハードウェア構成を示すブロック図である。
【図２】曲データファイルのレコードレイアウトを示す説明図である。
【図３】集計ファイルのレコードレイアウトを示す説明図である。
【図４】転調規則を示す説明図である。
【図５】コードファイルのレコードレイアウトを示す説明図である。
【図６】表示部に表示されるダイアグラムを示す説明図である。
【図７】ポイント集計後の集計ファイルのレコードレイアウトを示す説明図である。
【図８】推奨カポ位置ファイルのレコードレイアウトを示す説明図である。
【図９】コードの抽出処理及び計数処理の手順を示すフローチャートである。
【図１０】コードの抽出処理及び計数処理の手順を示すフローチャートである。
【図１１】推奨カポ位置決定処理の手順を示すフローチャートである。
【図１２】推奨カポ位置決定処理の手順を示すフローチャートである。
【図１３】曲データ送信システムの概要を示す説明図である。
【図１４】サーバコンピュータのハードウェア構成を示すブロック図である。
【図１５】曲データファイルのレコードレイアウトを示す説明図である。
【図１６】曲選択のイメージを示す説明図である。
【図１７】コードの表示イメージを示す説明図である。
【図１８】曲データの送信処理の手順を示すフローチャートである。
【図１９】曲データの送信処理の手順を示すフローチャートである。
【図２０】曲データの送信処理の手順を示すフローチャートである。
【図２１】実施の形態３に係るカポ位置決定装置のハードウェア構成を示すブロック図である。
【図２２】実施の形態３に係る集計ファイルのレコードレイアウトを示す説明図である。
【図２３】補助推奨カポ位置ファイルのレコードレイアウトを示す説明図である。
【図２４】補助推奨カポ位置を決定する際の手順を示すフローチャートである。
【図２５】補助推奨カポ位置を決定する際の手順を示すフローチャートである。
【図２６】実施の形態３に係るサーバコンピュータのハードウェア構成を示すブロック図である。
【図２７】曲データの送信要求画面例を示す説明図である。
【図２８】曲データの送信処理の手順を示すフローチャートである。
【図２９】曲データの送信処理の手順を示すフローチャートである。
【図３０】曲データの送信処理の手順を示すフローチャートである。
【図３１】曲データの送信処理の手順を示すフローチャートである。
【図３２】曲データの送信処理の手順を示すフローチャートである。
【図３３】実施の形態４に係るパーソナルコンピュータの構成を示すブロック図である。
【図３４】実施の形態５に係る集計ファイルのレコードレイアウトを示す説明図である。
【図３５】補助難易度に基づく推奨カポ位置決定の手順を示すフローチャートである。
【図３６】実施の形態６に係る推奨カポ位置決定処理の手順を示すフローチャートである。
【図３７】実施の形態７に係る推奨カポ位置決定処理の手順を示すフローチャートである。
【符号の説明】
【０１１８】
１      パーソナルコンピュータ
１Ａ    可搬型記録媒体
２      携帯電話機
３      サーバコンピュータ
１１    ＣＰＵ（制御部）
１５    記憶部
１５Ｐ  制御プログラム
１６    通信部
１８    時計部
２１    ＣＰＵ（制御部）
２３    入力部
２４    表示部
２５    記憶部
２５Ｐ  制御プログラム
２５１  ブラウザ
２５２  再生アプリケーション
２６    通信部
２８    マイク
２９    スピーカ
２１０  時計部
３１    ＣＰＵ
３５    記憶部
３６    通信部
１５１  曲データファイル
１５２  集計ファイル
１５３  コードファイル
１５４  推奨カポ位置ファイル
１５５  補助推奨カポ位置ファイル
２４１  ハイパーリンク
２４２  ハイパーリンク
２４３  ハイパーリンク
３５１  曲データファイル
３５４  推奨カポ位置ファイル
３５５  補助推奨カポ位置ファイル
Ｎ      通信網
【図１】
0005235517.tif 000002
【図２】
0005235517.tif 000003
【図３】
0005235517.tif 000004
【図４】
0005235517.tif 000005
【図５】
0005235517.tif 000006
【図６】
0005235517.tif 000007
【図７】
0005235517.tif 000008
【図８】
0005235517.tif 000009
【図９】
0005235517.tif 000010
【図１０】
0005235517.tif 000011
【図１１】
0005235517.tif 000012
【図１２】
0005235517.tif 000013
【図１３】
0005235517.tif 000014
【図１４】
0005235517.tif 000015
【図１５】
0005235517.tif 000016
【図１６】
0005235517.tif 000017
【図１７】
0005235517.tif 000018
【図１８】
0005235517.tif 000019
【図１９】
0005235517.tif 000020
【図２０】
0005235517.tif 000021
【図２１】
0005235517.tif 000022
【図２２】
0005235517.tif 000023
【図２３】
0005235517.tif 000024
【図２４】
0005235517.tif 000025
【図２５】
0005235517.tif 000026
【図２６】
0005235517.tif 000027
【図２７】
0005235517.tif 000028
【図２８】
0005235517.tif 000029
【図２９】
0005235517.tif 000030
【図３０】
0005235517.tif 000031
【図３１】
0005235517.tif 000032
【図３２】
0005235517.tif 000033
【図３３】
0005235517.tif 000034
【図３４】
0005235517.tif 000035
【図３５】
0005235517.tif 000036
【図３６】
0005235517.tif 000037
【図３７】
0005235517.tif 000038