(57)【要約】   【課題】  演奏者の自発的な演奏などを参照して、演奏者の状態を評価する。  【解決手段】  評価処理部１７は、演奏者の入力に基づいて生成された演奏データファイル２３中のレコードに基づいて、演奏者による入力されたノートの列であるメロディの特徴を表すメロディ特徴量を算出する。また、評価処理部１７は、算出されたメロディ特徴量と、メロディ特徴量ごとに、所定の性質のそれぞれについての重みを格納した評価係数テーブル２４中の係数とに基づいて、性質ごとの評価値を算出する。メロディ特徴量には、隣接するノート間の音高差に基づく進行のタイプにしたがった第１の特徴量、隣接するノート間の休符の割合である休符率を示す第２の特徴量、ノートの音長の種別ごとの偏り具合に基づくリズムの規則性を示す第３の特徴量、および／または、隣接するノートの音高差の偏り具合に基づく音程の規則性を示す第４の特徴量が含まれる。【選択図】  図１
2008242130.tif 000002
【特許請求の範囲】
【請求項１】
演奏者により入力されたノートの列であるメロディの特徴を表すメロディ特徴量ごとに、所定の性質のそれぞれについての重みを格納した評価係数テーブルを記憶した記憶装置と、
演奏者の入力に基づいて、当該入力されたノートに対応する楽音を発音する楽音生成手段と、
前記演奏者の入力に基づいて、入力されたノートの音高、発音開始時刻、音長および、次に発音すべきノートのレコードへのポインタを有するレコードを格納した演奏データファイルを生成して、前記記憶装置に記憶する演奏データ生成手段と、
前記演奏データファイル中のレコードに基づいて、前記メロディ特徴量を算出するメロディ特徴量算出手段と、
前記メロディ特徴量と、前記評価係数テーブル中の係数とに基づいて、前記性質ごとの評価値を算出する評価値算出手段と、を備えたことを特徴とする演奏評価システム。
【請求項２】
前記メロディ特徴量算出手段が、
隣接するノート間の音高差に基づく進行のタイプにしたがった第１の特徴量、隣接するノードの発音開始時刻および音長に基づき得られる休符の割合である休符率を示す第２の特徴量、前記ノートの音長の種別ごとの偏り具合に基づくリズムの規則性を示す第３の特徴量、および／または、隣接するノートの音高差の偏り具合に基づく音程の規則性を示す第４の特徴量を算出することを特徴とする請求項１に記載の演奏評価システム。
【請求項３】
前記メロディ特徴量算出手段が、
前記第１の特徴量として、隣接するノート間で３度以上の跳躍が存在した割合を示す跳躍率、２度の進行が存在した割合を示す順次進行率、同音が連続した割合を示す同音連打率、および／または、隣接するノート間の跳躍量の絶対値の総和に基づく、メロディが上向した割合を示す上向率を算出することを特徴とする請求項２に記載の演奏評価システム。
【請求項４】
前記メロディ特徴量算出手段が、
前記第３の特徴量を算出するために、ノートの音長の種別ごとに、ノートの存在数を示すカウント値を格納したリズムカウント配列を生成し、当該リズムカウント配列に格納されたカウント値に基づいて、前記リズムの規則性を示す特徴量を算出することを特徴とする請求項２または３に記載の演奏評価システム。
【請求項５】
前記メロディ特徴量算出手段が、
前記第４の特徴量を算出するために、ノート間の音高差の種別ごとに、その存在数を示すカウント値を格納した音高差カウント配列を生成し、当該音高差カウント配列に格納されたカウント値に基づいて、前記音程の規則性を示す特徴量を算出することを特徴とする請求項２ないし４の何れか一項に記載の演奏評価システム。
【請求項６】
前記評価値算出手段が、
前記特徴量Ｖａｌ［ｔ］（ただし、ｔは特徴量を特定するパラメータ）および前記評価係数テーブル中の係数Ｒ［ｔ］［ｍ］（ただし、ｔは特徴量を特定するパラメータ、ｍは性質を特定するパラメータ）に基づいて、評価値Ａｔｔｒ［ｍ］を
Ａｔｔｒ［ｍ］＝Σ（Ｒ［ｔ］［ｍ］×Ｖａｌ［ｔ］）
にしたがって算出することを特徴とする請求項１ないし５の何れか一項に記載の演奏評価システム。
【請求項７】
演奏者により入力されたノートの列であるメロディの特徴を表すメロディ特徴量ごとに、所定の性質のそれぞれについての重みを格納した評価係数テーブルを記憶した記憶装置を備えたコンピュータにおいて、前記コンピュータに、
演奏者の入力に基づいて、当該入力されたノートに対応する楽音を発音する楽音生成ステップと、
前記演奏者の入力に基づいて、入力されたノートの音高、発音開始時刻、音長および、次に発音すべきノートのレコードへのポインタを有するレコードを格納した演奏データファイルを生成して、前記記憶装置に記憶する演奏データ生成ステップと、
前記演奏データファイル中のレコードに基づいて、前記メロディ特徴量を算出するメロディ特徴量算出ステップと、
前記メロディ特徴量と、前記評価係数テーブル中の係数とに基づいて、前記性質ごとの評価値を算出する評価値算出ステップと、を実行させることを特徴とする演奏評価プログラム。
【請求項８】
前記メロディ特徴量算出ステップにおいて、前記コンピュータに、
隣接するノート間の音高差に基づく進行のタイプにしたがった第１の特徴量、隣接するノードの発音開始時刻および音長に基づき得られる休符の割合である休符率を示す第２の特徴量、前記ノートの音長の種別ごとの偏り具合に基づくリズムの規則性を示す第３の特徴量、および／または、隣接するノートの音高差の偏り具合に基づく音程の規則性を示す第４の特徴量を算出するステップを実行させることを特徴とする請求項７に記載の演奏評価プログラム。
【請求項９】
前記メロディ特徴量算出ステップにおいて、前記コンピュータに、
前記第１の特徴量として、隣接するノート間で３度以上の跳躍が存在した割合を示す跳躍率、２度の進行が存在した割合を示す順次進行率、同音が連続した割合を示す同音連打率、および／または、隣接するノート間の跳躍量の絶対値の総和に基づく、メロディが上向した割合を示す上向率を算出するステップを実行させることを特徴とする請求項８に記載の演奏評価プログラム。
【請求項１０】
前記メロディ特徴量算出ステップにおいて、前記コンピュータに、
前記第３の特徴量を算出するために、ノートの音長の種別ごとに、ノートの存在数を示すカウント値を格納したリズムカウント配列を生成し、当該リズムカウント配列に格納されたカウント値に基づいて、前記リズムの規則性を示す特徴量を算出するステップを実行させることを特徴とする請求項８または９に記載の演奏評価プログラム。
【請求項１１】
前記メロディ特徴量算出ステップにおいて、前記コンピュータに、
前記第４の特徴量を算出するために、ノート間の音高差の種別ごとに、その存在数を示すカウント値を格納した音高差カウント配列を生成し、当該音高差カウント配列に格納されたカウント値に基づいて、前記音程の規則性を示す特徴量を算出するステップを実行させることを特徴とする請求項８ないし１０の何れか一項に記載の演奏評価プログラム。
【請求項１２】
前記評価値算出ステップにおいて、前記コンピュータに、
前記特徴量Ｖａｌ［ｔ］（ただし、ｔは特徴量を特定するパラメータ）および前記評価係数テーブル中の係数Ｒ［ｔ］［ｍ］（ただし、ｔは特徴量を特定するパラメータ、ｍは性質を特定するパラメータ）に基づいて、評価値Ａｔｔｒ［ｍ］を
Ａｔｔｒ［ｍ］＝Σ（Ｒ［ｔ］［ｍ］×Ｖａｌ［ｔ］）
にしたがって算出するステップを実行させることを特徴とする請求項７ないし１１の何れか一項に記載の演奏評価プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏者による演奏を評価する演奏評価システムおよび演奏評価プログラムに関する。
【背景技術】
【０００２】
従来、演奏者の演奏レベルの向上を目的として、次に操作すべき鍵盤をＬＥＤ光などにより示すような機能（ナビゲート機能）がよく知られている。この技術を利用することで、演奏者は、楽器を独習することができるが、演奏者の演奏を客観的に評価することはできないという問題点があった。
【０００３】
そこで、たとえば、特許文献１には、模範演奏のデータ（基準データ）と演奏者の演奏に基づくデータ（被験データ）間で音符（ノート）のマッチングを実行して、ノート間のパラメータの差分を取得し、当該差分に基づいて演奏者による演奏内容を分析する分析装置が開示されている。
【０００４】
また、特許文献２には、楽曲を演奏する際の運指の難易性、単位時間当たりに鳴らす楽音の数、楽曲が備えた調性、変化音、リズムの変化の度合いなどを考慮して、演奏内容をあらわすデータを評価する分析装置が開示されている。
【特許文献１】特開平９−２３７０８８号公報
【特許文献２】特開２００２−３２３８９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した分析装置においては、基本的には、出題されたデータと、演奏者の演奏による演奏データとの間の差分が算出され、その差分から演奏内容についての分析が行われる。したがって、模範演奏のデータと同一の内容の演奏データとなるように演奏することが理想となる。
【０００６】
近年、脳の能力を活性化するためのトレーニング装置（ゲームソフトウェア）が提案されている（たとえば、「脳力トレーナー（登録商標）」）。このような装置においては、脳の活性化を目的とするための種々の工夫がなされている。
【０００７】
本発明は、音楽の演奏においても、単に模範演奏を模倣することを目的とするのではなく、脳の活性化を図るための機能、たとえば、演奏者の演奏を参照して、演奏者の状態を評価するシステム、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の目的は、演奏者により入力されたノートの列であるメロディの特徴を表すメロディ特徴量ごとに、所定の性質のそれぞれについての重みを格納した評価係数テーブルを記憶した記憶装置と、
演奏者の入力に基づいて、当該入力されたノートに対応する楽音を発音する楽音生成手段と、
前記演奏者の入力に基づいて、入力されたノートの音高、発音開始時刻、音長および、次に発音すべきノートのレコードへのポインタを有するレコードを格納した演奏データファイルを生成して、前記記憶装置に記憶する演奏データ生成手段と、
前記演奏データファイル中のレコードに基づいて、前記メロディ特徴量を算出するメロディ特徴量算出手段と、
前記メロディ特徴量と、前記評価係数テーブル中の係数とに基づいて、前記性質ごとの評価値を算出する評価値算出手段と、を備えたことを特徴とする演奏評価システムにより達成される。
【０００９】
好ましい実施態様においては、前記メロディ特徴量算出手段が、
隣接するノート間の音高差に基づく進行のタイプにしたがった第１の特徴量、隣接するノードの発音開始時刻および音長に基づき得られる休符の割合である休符率を示す第２の特徴量、前記ノートの音長の種別ごとの偏り具合に基づくリズムの規則性を示す第３の特徴量、および／または、隣接するノートの音高差の偏り具合に基づく音程の規則性を示す第４の特徴量を算出する。
【００１０】
より好ましい実施態様においては、前記メロディ特徴量算出手段が、
前記第１の特徴量として、隣接するノート間で３度以上の跳躍が存在した割合を示す跳躍率、２度の進行が存在した割合を示す順次進行率、同音が連続した割合を示す同音連打率、および／または、隣接するノート間の跳躍量の絶対値の総和に基づく、メロディが上向した割合を示す上向率を算出する。
【００１１】
別の好ましい実施態様においては、前記メロディ特徴量算出手段が、
前記第３の特徴量を算出するために、ノートの音長の種別ごとに、ノートの存在数を示すカウント値を格納したリズムカウント配列を生成し、当該リズムカウント配列に格納されたカウント値に基づいて、前記リズムの規則性を示す特徴量を算出する。
【００１２】
また、好ましい実施態様においては、前記メロディ特徴量算出手段が、
前記第４の特徴量を算出するために、ノート間の音高差の種別ごとに、その存在数を示すカウント値を格納した音高差カウント配列を生成し、当該音高差カウント配列に格納されたカウント値に基づいて、前記音程の規則性を示す特徴量を算出する。
【００１３】
さらい別の好ましい実施態様においては、前記評価値算出手段が、
前記特徴量Ｖａｌ［ｔ］（ただし、ｔは特徴量を特定するパラメータ）および前記評価係数テーブル中の係数Ｒ［ｔ］［ｍ］（ただし、ｔは特徴量を特定するパラメータ、ｍは性質を特定するパラメータ）に基づいて、評価値Ａｔｔｒ［ｍ］を
Ａｔｔｒ［ｍ］＝Σ（Ｒ［ｔ］［ｍ］×Ｖａｌ［ｔ］）
にしたがって算出する。
【００１４】
また、本発明の目的は、演奏者により入力されたノートの列であるメロディの特徴を表すメロディ特徴量ごとに、所定の性質のそれぞれについての重みを格納した評価係数テーブルを記憶した記憶装置を備えたコンピュータにおいて、前記コンピュータに、
演奏者の入力に基づいて、当該入力されたノートに対応する楽音を発音する楽音生成ステップと、
前記演奏者の入力に基づいて、入力されたノートの音高、発音開始時刻、音長および、次に発音すべきノートのレコードへのポインタを有するレコードを格納した演奏データファイルを生成して、前記記憶装置に記憶する演奏データ生成ステップと、
前記演奏データファイル中のレコードに基づいて、前記メロディ特徴量を算出するメロディ特徴量算出ステップと、
前記メロディ特徴量と、前記評価係数テーブル中の係数とに基づいて、前記性質ごとの評価値を算出する評価値算出ステップと、を実行させることを特徴とする演奏評価プログラムにより達成される。
【００１５】
好ましい実施態様においては、前記メロディ特徴量算出ステップにおいて、前記コンピュータに、
隣接するノート間の音高差に基づく進行のタイプにしたがった第１の特徴量、隣接するノードの発音開始時刻および音長に基づき得られる休符の割合である休符率を示す第２の特徴量、前記ノートの音長の種別ごとの偏り具合に基づくリズムの規則性を示す第３の特徴量、および／または、隣接するノートの音高差の偏り具合に基づく音程の規則性を示す第４の特徴量を算出するステップを実行させる。
【００１６】
より好ましい実施態様においては、前記メロディ特徴量算出ステップにおいて、前記コンピュータに、
前記第１の特徴量として、隣接するノート間で３度以上の跳躍が存在した割合を示す跳躍率、２度の進行が存在した割合を示す順次進行率、同音が連続した割合を示す同音連打率、および／または、隣接するノート間の跳躍量の絶対値の総和に基づく、メロディが上向した割合を示す上向率を算出するステップを実行させる。
【００１７】
別の好ましい実施態様においては、前記メロディ特徴量算出ステップにおいて、前記コンピュータに、
前記第３の特徴量を算出するために、ノートの音長の種別ごとに、ノートの存在数を示すカウント値を格納したリズムカウント配列を生成し、当該リズムカウント配列に格納されたカウント値に基づいて、前記リズムの規則性を示す特徴量を算出するステップを実行させる。
【００１８】
好ましい実施態様においては、前記メロディ特徴量算出ステップにおいて、前記コンピュータに、
前記第４の特徴量を算出するために、ノート間の音高差の種別ごとに、その存在数を示すカウント値を格納した音高差カウント配列を生成し、当該音高差カウント配列に格納されたカウント値に基づいて、前記音程の規則性を示す特徴量を算出するステップを実行させる。
【００１９】
さらに別の好ましい実施態様においては、前記評価値算出ステップにおいて、前記コンピュータに、
前記特徴量Ｖａｌ［ｔ］（ただし、ｔは特徴量を特定するパラメータ）および前記評価係数テーブル中の係数Ｒ［ｔ］［ｍ］（ただし、ｔは特徴量を特定するパラメータ、ｍは性質を特定するパラメータ）に基づいて、評価値Ａｔｔｒ［ｍ］を
Ａｔｔｒ［ｍ］＝Σ（Ｒ［ｔ］［ｍ］×Ｖａｌ［ｔ］）
にしたがって算出するステップを実行させる。
【発明の効果】
【００２０】
本発明によれば、演奏者の演奏を参照して、演奏者の状態を評価するシステム、および、プログラムを提供することが可能となる。
【発明を実施するための最良の形態】
【００２１】
以下、添付図面を参照して、本発明の実施の形態について説明する。図１は、本発明の実施の形態にかかる演奏評価装置の構成を示すブロックダイヤグラムである。図１に示すように、本実施の形態にかかる演奏評価装置１０は、鍵盤を含む入力装置１１、表示装置１２、鍵盤の押鍵操作および後述する出題データに基づく楽音を再生する再生処理部１３、出題データを生成する出題データ生成部１４、演奏者による押鍵操作に基づいて演奏データを生成する演奏データ生成部１５、種々のデータおよびパラメータを記憶する記憶装置１６、出題データや演奏データに基づいて、演奏者の演奏に対する評価値を算出する評価処理部１７、並びに、出題データ、演奏データ、評価結果などを表示するための画像データを生成する描画処理部１８を有している。
記憶装置１６は、一連の出題データを記憶する出題データファイル２１、出題データを決定するためのパラメータを記憶する出題パラメータファイル２２、演奏者による演奏（押鍵操作）に基づく演奏データを記憶する演奏データファイル２３、評価処理部１７による評価値演算のために使用する係数を記憶する評価係数テーブル２４、和音構成音の情報を記憶した和音構成音データベース（ＤＢ）２５、リズムパターンの情報を記憶したリズムパターンＤＢ２６、および、評価処理部１７による処理結果（評価結果）を記憶する評価結果ファイル２７を含む。
【００２２】
出題データ生成部１４は、出題パラメータファイル２２に記憶されたパラメータや演奏者の入力装置１１の操作に基づいて、出題データファイル２１から１組の出題データを読み出して、再生処理部１３に与える。再生処理部１３により、出題データに基づく楽音が生成され、たとえば、スピーカから出力される。
【００２３】
また、評価処理部１７は、演奏データファイル２３に記憶された演奏データ、或いは演奏データと出題データファイル２１に記憶された出題データとに基づく評価値を算出する。その際に、評価係数テーブル２４、和音構成音ＤＢ２５およびリズムパターンＤＢ２６が参照される。
【００２４】
図２は、本実施の形態にかかる演奏評価装置のハードウェア構成を示すブロックダイヤグラムである。図２に示すように、演奏評価装置１０のハードウェアは、ＣＰＵ３０、ＲＯＭ３２、ＲＡＭ３４、入力装置１１、表示装置１２およびサウンドシステム４０を含む。図２から理解できるように、本実施の形態にかかる演奏評価装置１０は、通常のパーソナルコンピュータにより実現され得る。ＣＰＵ３０は、システム制御、出題データや演奏データの生成、評価演算、表示装置の画面上に表示すべき画像データの生成などの処理を実行する。ＲＯＭ３２は、プログラムや、プログラムの実行の際に使用される定数などを記憶する。ＲＡＭ３４は、プログラムの実行の過程で必要な変数、入力データ、出力データなどを一時的に記憶する。
【００２５】
入力装置１１は、鍵盤、キーボードやマウスを含み、演奏者の押鍵操作に基づく押鍵情報、演奏評価装置の出題データの選択などの種々の指示の情報をＣＰＵ３０に与える。表示装置１２の画面上には、評価処理結果、出題データに基づく楽譜などを含む画像データが表示される。サウンドシステム４０は、楽音生成回路、増幅器、スピーカなどを含み、ＣＰＵ３０からの指示や出題データおよび演奏データにしたがって、所定の楽音を生成して、楽音に基づく音響信号を出力する。
【００２６】
図１に示す再生処理部１３の機能は、ＣＰＵ３０およびサウンドシステム４０の楽音生成回路により実現される。出題データ生成部１４、演奏データ生成部１５、評価処理部１７、描画処理部１８の機能は、主としてＣＰＵ３０により実現される。また、記憶装置１６は、たとえば、ＲＯＭ３２やＲＡＭ３４に相当する。或いは、演奏評価装置１０のハードウェアとしてハードディスク装置が含まれる場合には、記憶装置１６は、当該ハードディスク装置にも相当する。
【００２７】
本実施の形態にかかる演奏評価装置１０においては、たとえば演奏評価装置１０のＲＯＭ３２に記憶されたプログラムが、コンピュータを、出題データ生成部１４、演奏データ生成部１５、評価処理部１７、描画処理部１８として機能させる。
【００２８】
図３は、本実施の形態にかかる演奏評価装置の一般フローを示すフローチャートである。一般フローにおいては、演奏評価装置１０の種々の構成部分が初期化された後（ステップ３０１）、演奏者の入力装置１１の操作によって、出題データ生成部１４が、出題データファイル２１から所定の出題データを読み込み（ステップ３０２）、また、出題条件にしたがって、条件フラグがセットされる（ステップ３０３）。
【００２９】
本発明において、出題データには、時間軸方向の音列のデータ、或いは、同時に発音される複数の音（つまり和音構成音）のデータが含まれる。また、時間軸方向の音列には、音程の無いリズムのみの列が含まれる。第１の実施の形態においては、出題データを、リズムのデータおよび和音のデータとする。また、音列やリズムのみの列における１つの音の要素をノートと称する。
【００３０】
したがって、第１の実施の形態において、演奏者は、リズム或いは和音の何れかの種別の出題を求めることになる。また、本実施の形態において、出題に対する回答として、「補間」と「応答」が存在する。「補間」モードにおいては、出題例の音列や和音に、演奏者が演奏したノートを加えたものが回答となる。また、「応答」モードにおいては、出題例の音列や和音を再生した後、演奏者の押鍵操作により入力された音列や和音が回答となる。
【００３１】
図２２（ａ）〜（ｃ）は、メロディ、和音、リズムについて、「補間」モードにおける出題例と、それに対する２つの回答例とを示している。図２２（ａ）では、出題例に対して、回答例１では、１拍目の裏拍のタイミングで、「Ｇ」のノートを加えることで、回答としている。また、回答例２では、同じタイミングで、「Ｄ」のノートを加えることで回答としている。図２２（ｂ）では、「Ｃ」および「Ｇ」の和音の出題例に対して、回答例１では、「Ｆ」のノートを加えることで回答としている。また、回答例２では、「Ｄ」のノートを加えることで回答としている。さらに、図２２（ｃ）でも、出題例に、所望のタイミングでノート（この場合には、音程はなく単なるリズム）を加えることで回答例が得られている。
【００３２】
図２３（ａ）〜（ｃ）は、メロディ、和音、リズムについて、「応答」モードにおける出題例と、それに対する２つの回答例とを示している。図２３（ａ）〜（ｃ）に示すように、「応答」モードでは、演奏者は、出題例を聴いた上で、所望の音列や和音を回答とすることができる。
【００３３】
ステップ３０３において設定される条件フラグには、「和音」或いは「リズム」を示す出題種別と、「補間」モードか「応答」モードかを示すモード種別が含まれる。次いで、出題種別およびモード種別にしたがって、出題データが生成され、再生が開始される（ステップ３０４）。ステップ３０４によって出題中であることを示すフラグがセットされる。出題データの実際の再生は、後述するインタラプトルーチンにて行われる。インタラプトルーチンにおいては、ステップ３０４でセットされたフラグを参照して出題中であるか否かを判断することができる。
【００３４】
また、演奏者による押鍵操作（ユーザ演奏）を受け付けて、演奏データ生成部１５は演奏データを生成して演奏データファイル２３に格納する（ステップ３０５）。ステップ３０４、３０５の処理は演奏者による演奏が終了するまで繰り返される（ステップ３０６参照）。
【００３５】
演奏者による演奏が終了すると（ステップ３０６でＹｅｓ）、評価処理部１７が評価処理を実行して、演奏者の演奏に基づく演奏データ、或いは、演奏データおよび出題された出題データに基づいて、評価値を算出する。ここに、「補間」モードにおいては演奏データおよび出題データに基づいて評価値が算出され、「応答」モードにおいては演奏データのみに基づいて評価値が算出される。評価処理部１７によって得られた評価結果は、評価結果ファイル２７に記憶されるとともに、表示装置１２の画面上に表示される。
【００３６】
図４は、本実施の形態にかかるインタラプトルーチンのフローチャートである。インタラプトルーチンは、一般フローと並列して実行され、処理終了となるまで（ステップ４０１でＹｅｓ）、出題データに基づく楽音の発音、および、演奏者の押鍵操作に基づく楽音の発音を行う。出題中であれば（ステップ４０２でＹｅｓ）、発音が終了となるまで（ステップ４０３参照）、再生処理部１３が出題データに基づいて、楽音を生成して出力するとともに（ステップ４０４）、描画処理部１８が出題データに基づく楽譜の画像を生成して表示装置１２の画面上に表示する（ステップ４０５）。
【００３７】
演奏者による回答中、つまり、演奏者が演奏中であれば（ステップ４０６でＹｅｓ）、発音が終了となるまで（ステップ４０７参照）、以下の処理が実行される。演奏データ生成部１５が、ユーザの押鍵操作にしたがって演奏データを生成する（ステップ４０８）。後述するように、演奏データは、１つのノートについて、少なくとも、音高（Ｐｉｔ）、発音開始時刻（Ｔｉｍｅ）、音長（Ｇａｔｅ）を含む。リズムに関するノートについては、音高（Ｐｉｔ）にリズムであることを示す値を割り当てればよい。したがって、ユーザの押鍵操作に応じて、音高（Ｐｉｔ）、発音開始時刻（Ｔｉｍｅ）および音長（Ｇａｔｅ）が取得される。これらの情報が、演奏データのレコードを構成する。
【００３８】
「補間」モードであれば（ステップ４０９でＹｅｓ）、再生処理部１３が演奏者の押鍵操作に基づいて、楽音を生成して出力するとともに（ステップ４１０）、描画処理部１８が演奏データに基づく楽譜の画像を生成して表示装置１２の画面上に表示する（ステップ４１１）。
【００３９】
図５は、本実施の形態にかかる出題データおよび演奏データの構成例を示す図である。図５に示すように、本実施の形態においては、１つのレコードによって、１つの音の要素が表される（符号５０１、５０２参照）。各レコードは、音高（Ｐｉｔ）、発音開始時刻（Ｔｉｍｅ）、音長（Ｇａｔｅ）、コードフラグ（ＣｈｏＦｌｇ）、次のノートに関するレコードへのポインタ（＊ｎｅｘｔ）、前のノートに関するレコードへのポインタ（＊ｐｒｅｖ）を有する。コードフラグは、一連のノートが和音構成音であることを示すために利用される。たとえば、発音開始時刻が同一でコードフラグが「１」であるようなレコードのノートは１つの和音を構成する。また、音高（Ｐｉｔ）は、たとえば鍵番号に相当する。
【００４０】
以下、図３のステップ３０７の評価処理についてより詳細に説明する。図６および図７は、本実施の形態にかかる評価処理における前処理の例を示すフローチャートである。前処理においては、「リズム」或いは「和音」の出題種別の何れかで、演奏データのノートの配列（「応答」モードの場合）或いは演奏データおよび出題データのノートの配列（「補間」モードの場合）を生成する。
【００４１】
図６に示すように、評価処理部１７は、配列中の要素の位置を示すパラメータ「ｎ」を「０」に初期化する（ステップ６０１）。次いで、出題種別が「リズム」であるか否かが判断される（ステップ６０２）。出題種別が「リズム」である場合には（ステップ６０２でＹｅｓ）、演奏データのレコードが終了するまで（ステップ６０３でＹｅｓ）、ステップ６０４〜６０６の処理が繰り返される。なお、以下の処理で、「ｎｅ」とは演奏データのレコードを指定するポインタである。たとえば、ｎｅ［０］は演奏データの最初（０番）のレコードを示し、ｎｅ［１］は演奏データの次（１番）のレコードを示す。
【００４２】
評価処理部１７は、ａ＝（ｎｅ［ｎ］のＴｉｍｅ）／（Ｒｅｓ／２）を算出する（ステップ６０７）。ここで、ｎｅ［ｎ］は、演奏データ中のｎ番のノートのレコードを示す。また、「Ｒｅｓ」は本実施の形態における分解能を意味し、たとえば、（Ｒｅｓ／２）は８分音符に相当する。値「ａ」により、ｎｅ［ｎ］に関するノートが、８分音符単位で、何番の位置にあるかが決定される。次いで、評価処理部１７は、ユーザリズム配列ＵＲｈｙの「ａ」番の位置（ＵＲｈｙ［ａ］）に「１」を格納して（ステップ６０５）、パラメータ「ｎ」をインクリメントする（ステップ６０６）。
【００４３】
「補間」モードである場合には（ステップ６０７でＹｅｓ）、上記演奏データに加えて、出題データのノートに関する情報を、ユーザリズム配列ＵＲｈｙに格納する必要があるため、ステップ６０８〜６１２の処理を実行する。
【００４４】
より具体的には、評価処理部１７は、配列中の要素の位置を示すパラメータ「ｎ」を「０」に初期化する（ステップ６０８）。評価処理部１７は、出題データのレコードが終了するまで（ステップ６０９でＹｅｓ）、ステップ６１０〜６１２の処理が繰り返す。なお、以下の処理で、「ｍｅ」とは出題データのレコードを指定するポインタである。たとえば、ｍｅ［０］は出題データの最初（０番）のレコードを示し、ｍｅ［１］は出題データの次（１番）のレコードを示す。
【００４５】
評価処理部１７は、ａ＝（ｍｅ［ｎ］のＴｉｍｅ）／（Ｒｅｓ／２）を算出する（ステップ６１０）。ここで、ｍｅ［ｎ］は、出題データ中のｍ番のノートのレコードを示す。また、「Ｒｅｓ」は本実施の形態における分解能を意味し、たとえば、（Ｒｅｓ／２）は８分音符に相当する。値「ａ」により、ｍｅ［ｎ］に関するノートが、８分音符単位で、何番の位置にあるかが決定される。次いで、評価処理部１７は、ユーザリズム配列ＵＲｈｙの「ａ」番の位置（ＵＲｈｙ［ａ］）に「１」を格納して（ステップ６１１）、パラメータ「ｎ」をインクリメントする（ステップ６１２）。
【００４６】
このようにして、出題種別が「リズム」のときに、「応答」モードであれば、演奏データに基づいて、演奏者が押鍵したタイミングで「１」がセットされているような配列ＵＲｈｙを得ることができ、また、「補間」モードであれば、出題データおよび演奏データに基づいて、出題データにおいて発音されるタイミングおよび演奏者が押鍵したタイミングで「１」がセットされているような配列ＵＲｈｙを得ることができる。
【００４７】
次に、出題種別として「和音」が選択されている場合（ステップ６０２でＮｏ）について説明する。ステップ６０２でＮｏと判断された場合には、演奏データのレコードが終了するまで（ステップ７０１でＹｅｓ）、ステップ７０２〜７０４の処理が繰り返される。
【００４８】
評価処理部１７は、ａ＝（（ｎｅ［ｎ］のＰｉｔ）  ｍｏｄ１２）を算出する（ステップ７０２）。ここで、ｎｅ［ｎ］は、演奏データ中のｎ番のノートのレコードを示す。したがって、値「ａ」は、演奏データ中のノートの音名を示す。たとえば、「Ｐｉｔ」の値「０」が、「Ｃ」音であるとすれば、「ａ」＝０〜１１は、それぞれ、「Ｃ」音〜「Ｈ」音を示す。
【００４９】
評価処理部１７は、ユーザ和音配列ＵＣｈｏの「ａ」番の位置（ＵＣｈｏ［ａ］）に「１」を格納して（ステップ７０３）、パラメータ「ｎ」をインクリメントする（ステップ７０４）。
【００５０】
「補間」モードである場合には（ステップ７０５でＹｅｓ）、上記演奏データに加えて、出題データのノートに関する情報を、ユーザ和音配列ＵＣｈｏに格納するする必要があるため、ステップ７０６〜７１０の処理を実行する。
【００５１】
より具体的には、評価処理部１７は、配列中の要素の位置を示すパラメータ「ｎ」を「０」に初期化する（ステップ７０６）。評価処理部１７は、出題データのレコードが終了するまで（ステップ７０７でＹｅｓ）、ステップ７０８〜７１０の処理が繰り返す。
【００５２】
評価処理部１７は、ａ＝（（ｍｅ［ｎ］のＰｉｔ）  ｍｏｄ１２）を算出する（ステップ７０８）。ここで、ｍｅ［ｎ］は、出題データ中のｎ番のノートのレコードを示す。したがって、値「ａ」は、出題データ中のノートの音名を示す。たとえば、音高「Ｐｉｔ」の値「０」が、「Ｃ」音であるとすれば、「ａ」＝０〜１１は、それぞれ、「Ｃ」音〜「Ｈ音」を示す。
【００５３】
評価処理部１７は、ユーザ和音配列ＵＣｈｏの「ａ」番の位置（ＵＣｈｏ［ａ］）に「１」を格納して（ステップ７０９）、パラメータ「ｎ」をインクリメントする（ステップ７１０）。
【００５４】
図８（ａ）は、図２２（ｂ）の出題例、回答例１および回答例２のそれぞれに基づいて生成されたユーザ和音配列ＵＣｈｏの例を示す。配列８００〜８０２は、それぞれ、出題例、回答例１および回答例２に相当する。
【００５５】
配列８００においては、「Ｃ」のノートに相当する第０番の要素、および、「Ｇ」のノートに相当する第７番の要素に「１」が格納されている。配列８０１においては、さらに、「Ｆ」のノートに相当する第５番の要素に「１」が格納されている。その一方、配列８０２においては、「Ｄ」のノートに相当する第２番の要素に「１」が格納されている。
【００５６】
図８（ｂ）は、図２２（ｃ）の出題例、回答例１および回答例２のそれぞれに基づいて生成されたユーザリズム配列ＵＲｈｙの例を示す。配列８１０〜８１２は、それぞれ、出題例、回答例１および回答例２に相当する。本実施の形態においては、音長にかかわらず、８分音符の単位でオンされた（押鍵された）位置に相当する要素に「１」が格納されている。
【００５７】
配列８１０においては、第１拍目の先頭に相当する第０番の要素、および、第３拍目の先頭に相当する第４番の要素に「１」が格納されている。配列８１１においては、さらに、第２拍目の裏拍に相当する第３番の要素に「１」が格納されている。その一方、配列８１２においては、第３拍目の裏拍に相当する第５番の要素に「１」が格納されている。
【００５８】
次に、前処理に引き続いて実行される一致度算出処理について説明する。図９および図１０は、本実施の形態にかかる一致度算出処理の例を示すフローチャートである。
【００５９】
まず、リズム種別や和音種別を示すパラメータ「ｔ」が「０」に初期化される（ステップ９０１）。次いで、出題種別が「リズム」であるか否かが判断される（ステップ９０２）。ステップ９０２でＹｅｓと判断された場合には、全ての種別のリズムパターンについて処理が終了するまで（ステップ９０３参照）、ステップ９０４〜ステップ９０９が実行される。
【００６０】
評価処理部１７は、ユーザリズム配列ＵＲｈｙ中の要素の位置を示すパラメータ「ｎ」を「０」に初期化して（ステップ９０４）、ユーザリズム配列ＵＲｈｙの全ての要素について処理が終了するまで（ステップ９０５参照）、ステップ９０６〜９０８を繰り返す。より詳細には、評価処理部１７は、ユーザリズム配列ＵＲｈｙの第ｎ番の要素（ＵＲｈｙ［ｎ］）が、後述するリズム配列Ｒｈｙ［ｔ］［ｎ］と一致するか否かを判断する（ステップ９０６）。
【００６１】
図１１（ａ）は、リズム配列Ｒｈｙ［ｔ］［ｎ］を説明する図である。図１１（ａ）に示す配列群（符号１１００参照）が、図１のリズムパターンＤＢ２６に相当する。図１１（ａ）に示すように、リズムパターンＤＢ２６においては、リズム種別ごとに、８つの要素をもつ配列が含まれる。本実施の形態では、ｔ＝０〜４の５つのリズム種別のリズムパターンが設けられ、５つのリズム配列Ｒｈｙ［ｔ］［ｎ］がリズムパターンＤＢ２６を構成する。
【００６２】
リズム種別「ロック」の配列Ｒｈｙ［０］［ｎ］（図１１（ｂ）の符号１１１０参照）では、第１拍目の先頭と、第３拍目の先頭および裏拍が「１」、つまり「オン」であるようなリズムパターンを示す。また、リズム種別「ポップス」の配列Ｒｈｙ［１］［ｎ］（図１１（ｃ）の符号１１２０参照）では、第１拍目の先頭、第２拍目の裏拍および第３拍目の先頭が「１」、つまり「オン」であるようなリズムパターンを示している。
【００６３】
リズム配列Ｒｈｙは上述した構成であるため、ステップ９０６は、ユーザリズム配列ＵＲｈｙの第ｎ番の要素（ＵＲｈｙ［ｎ］）が、第ｔ番のリズム種別のリズムパターン配列の第ｎ番の要素（Ｒｈｙ［ｔ］［ｎ］）が一致するか否かを判断していることになる。ステップ９０６でＹｅｓと判断された場合には、評価処理部１７は、一致度を示す一致カウンタＶａｌ［ｔ］をカウントアップする（ステップ９０７）。なお、この一致カウンタＶａｌ［ｔ］も初期値は「０」となっている。その後、ユーザリズム配列ＵＲｈｙ中の要素の位置を示すパラメータ「ｎ」がインクリメントされる（ステップ９０８）。
【００６４】
図１１（ｂ）においては、リズム種別「ロック」の配列Ｒｈｙ［０］［ｎ］と、ユーザリズム配列ＵＲｈｙ［ｎ］（符号１１１１参照）とが比較される。ここでは、実線の矢印で示した要素（第０番の要素、第１番の要素、第２番の要素、第４番の要素、第６番の要素および第７番の要素）が一致している。したがって、ｎ＝０、ｎ＝１、ｎ＝２、ｎ＝４、ｎ＝６およびｎ＝７のときに、ステップ９０６でＹｅｓと判断され、Ｖａｌ［ｔ（＝０）］がカウントアップされるため、Ｖａｌ［０］＝６となる。
【００６５】
また、図１１（ｃ）においては、リズム種別「ポップス」の配列Ｒｈｙ［１］［ｎ］と、ユーザリズム配列ＵＲｈｙ［ｎ］（符号１１１１参照）とが比較される。ここでは、実線の矢印で示した要素（第０番の要素〜第７番の要素）が一致している。したがって、ｎ＝０〜ｎ＝７のときにステップ９０６でＹｅｓと判断され、Ｖａｌ［ｔ（＝１）］がカウントアップされるため、Ｖａｌ［１］＝８となる。
【００６６】
次に、出題種別が「和音」である場合（ステップ９０２でＮｏ）であった場合について説明する。図１０に示すように、評価処理部１７は、全ての種別の和音について処理が終了するまで（ステップ１００１参照）、以下のステップ１００２〜１０１３を実行する。
【００６７】
評価処理部１７は、和音の移調の度合いを示すパラメータ「ｒ」を「０」に初期化する（ステップ１００２）。全ての調性についての処理が終了するまで（ステップ１００３参照）、以下のステップ１００４〜１０１１が繰り返される。
【００６８】
評価処理部１７は、ユーザ和音配列ＵＣｈｏ中の要素の位置を示すパラメータ「ｎ」を「０」に初期化して（ステップ１００４）、ユーザ和音配列ＵＣｈｏの全ての要素について処理が終了するまで（ステップ１００５参照）、ステップ１００６〜１００８を繰り返す。より詳細には、評価処理部１７は、ユーザリズム配列ＵＣｈｏの第（（ｎ−ｒ＋１２）  ｍｏｄ１２）番の要素（ＵＲｈｙ（［ｎ−ｒ＋１２］  ｍｏｄ１２））が、和音配列Ｃｈｏ［ｔ］［ｎ］と一致するか否かを判断する（ステップ１００６）。
【００６９】
図１２（ａ）は、和音配列Ｃｈｏ［ｔ］［ｎ］を説明する図である。図１２（ａ）に示す配列群（符号１２００参照）が、図１の和音構成音ＤＢ２５に相当する。図１２（ａ）に示すように、和音構成音ＤＢ２５においては、和音種別ごとに、１２の要素をもつ配列が含まれる。本実施の形態では、ｔ＝０〜５の６つの和音種別の和音構成音が用意され、６つの和音配列Ｃｈｏ［ｔ］［ｎ］が和音構成音ＤＢ２５を構成する。
【００７０】
和音配列Ｃｈｏにおいては、第０番の要素〜第１１番の要素は、それぞれ、調性を「Ｃ」と考えたときの「Ｃ」音〜「Ｂ」音に相当する。たとえば、  和音種別「ｍａｊｏｒ」の配列Ｃｈｏ［０］［ｎ］（図１１（ｂ）の符号１２１０参照）は、調性を「Ｃ」と考えたときの、第０番、第４番および第７番が「１」であるような和音構成音、つまり、「Ｃ」、「Ｅ」および「Ｇ」を含むことを示す。
【００７１】
また、ユーザ和音配列ＵＣｈｏの第（［ｎ−ｒ＋１２］  ｍｏｄ１２））番の要素とは以下の意味を有する。（［ｎ−ｒ＋１２］  ｍｏｄ１２））は、ｒ＝０のときには、（ｎ  ｍｏｄ１２）と一致する。つまり、ｎ＝０、１、・・・、１１について、（［ｎ−ｒ＋１２］  ｍｏｄ１２））＝０、１、・・・、１１となる。ｒ＝１のときには、ｎ＝０、１、・・・、１１について、（［ｎ−ｒ＋１２］  ｍｏｄ１２））＝１１、０、１、・・・、１０となる。同様に、ｒ＝２のときには、ｎ＝０、１、・・・、１１について、（［ｎ−ｒ＋１２］  ｍｏｄ１２））＝１０、１１、０、・・・、９となる。
【００７２】
したがって、ユーザ和音配列ＵＣｈｏ（［ｎ−ｒ＋１２］  ｍｏｄ１２）と、Ｃｈｏ［ｔ］［ｎ］とを比較するというのは、初期的（ｒ＝０）のときには、双方の配列の位置が一致した状態で両者の要素を比較することを意味し、「ｒ」が変化するのにしたがって、ユーザ和音配列ＵＣｈｏをシフトさせ、シフトされた状態で両者の要素を比較することを意味している（図１２（ｂ）参照）。
【００７３】
たとえば、ｒ＝０であれば、和音配列Ｃｈｏ［ｔ］［ｎ］（図１１（ｂ）の例であれば、和音配列Ｃｈｏ［０］［ｎ］：符号１２１０参照）と、ユーザ和音配列ＵＣｈｏ［ｎ］（符号１２１１参照）との間で対応する要素の一致が調べられる。ｒ＝１であれば、和音配列Ｃｈｏ［ｔ］［ｎ］と、ユーザ和音配列ＵＣｈｏ［ｎ］を「１」だけシフトして、右端の要素（符号１２１３参照）を左端に移動させた（符号１２１４参照）配列１２２１との間で対応する要素の一致が調べられる。さらに、ｒ＝２であれば、和音配列Ｃｈｏ［ｔ］［ｎ］と、ユーザ和音配列ＵＣｈｏ［ｎ］を「２」だけシフトして、右側の２つの要素（符号１２１５，１２１７参照）をそれぞれ左側に移動させた（符号１２１６、１２１８参照）配列１２３１との間で対応する要素の一致が調べられる。
【００７４】
ステップ１００６においてＹｅｓと判断された場合には、評価処理部１７は、一致度を示す一致カウンタＶａｌ［ｔ］をカウントアップする（ステップ１００７）。その後、評価処理部１７は、配列中の要素の位置を示すパラメータ「ｎ」をインクリメントする（ステップ１００８）。
【００７５】
ステップ１００５〜ステップ１００８において、「ｒ」で特定される調性での、和音配列Ｃｈｏ［ｔ］［ｎ］と、当該「ｒ」にしたがってシフトされたユーザ和音配列Ｕｃｈｏとの間での一致度が算出される。ステップ１００５でＹｅｓと判断された場合には、評価処理部１７は、今回のステップ１００５〜ステップ１００８の処理で得られた一致カウンタＶａｌ［ｔ］と、以前のステップ１００５〜ステップ１００８の処理で得られた一致カウンタの最大値Ｖｍａｘとを比較して、Ｖａｌ［ｔ］≧Ｖｍａｘであるか否かを判断する（ステップ１００９）。今回の処理の一致カウンタＶａｌ［ｔ］の値がＶｍａｘより大きければ（ステップ１００９でＹｅｓ）、Ｖｍａｘの値をＶａｌ［ｔ］の値に書き換える（ステップ１０１０）。
【００７６】
次いで、評価処理部１７は、「ｒ」をインクリメントして（ステップ１０１１）、インクリメントされた「ｒ」に基づく調性で、和音配列Ｃｈｏ［ｔ］［ｎ］と、当該インクリメントされた「ｒ」にしたがってシフトされたユーザ和音配列Ｕｃｈｏとの間での一致度を算出する（ステップ１００３〜１０１１）。
【００７７】
全ての調性について、つまり、ｒ＝０〜１１のそれぞれについてステップ１００４〜１０１１の処理が終了すると（ステップ１００３でＹｅｓ）、評価処理部１７は、保持されていたＶｍａｘの値を一致カウンタＶａｌ［ｔ］の値とする（ステップ１０１２）。つまり、全ての調性について処理した結果、最も大きかった一致カウンタの値が、ある種別の和音と、ユーザ和音配列ＵＣｈｏとの間での一致度を示す値となる。以下、Ｖａｌ［ｔ］を一致度とも称する。その後、次の種別の和音についての処理を実行するために、評価処理部１７は、「ｔ」をインクリメントする（ステップ１０１３）。
【００７８】
次いで、評価処理部１７は、リズム種別或いは和音種別のそれぞれについて得られた一致度Ｖａｌ［ｔ］の値を利用して、評価値を算出する。図１３は、本実施の形態にかかる評価値算出処理の例を示すフローチャートである。本実施の形態においては、複数の性質の各々についての評価値を算出することとしている。より具体的には、本実施の形態においては、「安定性」、「積極性」および「明るさ」のそれぞれについて評価値を算出する。
【００７９】
図１３に示すように、評価処理部１７は、上記性質の種別を特定するためのパラメータ「ｍ」を「０」に初期化し（ステップ１３０１）、全ての種別の性質について処理が終了するまで（ステップ１３０２参照）、以下のステップ１３０３〜ステップ１３０７を繰り返す。
【００８０】
評価処理部１７は、リズム種別或いは和音種別を特定するためのパラメータである「ｔ」を「０」に初期化して（ステップ１３０３）、全ての種別のリズム或いは和音についての処理が終了するまで（ステップ１３０４）、ステップ１３０５〜１３０６を繰り返す。評価処理部１７は、パラメータ「ｍ」で特定される種別の性質の評価値Ｇ［ｍ］に、評価係数テーブル（図１の符号２４参照）の要素Ｒ［ｔ］［ｍ］と一致度Ｖａｌ［ｔ］との積を加えたものを、新たな評価値Ｇ［ｍ］とする（Ｇ［ｍ］＝Ｇ［ｍ］＋Ｒ［ｔ］［ｍ］×Ｖａｌ［ｔ］：ステップ１３０５）。その後、評価処理部１７は、リズム種別或いは和音種別を特定するパラメータ「ｔ」をインクリメントする（ステップ１３０６）。
【００８１】
以下、第１の実施の形態にかかる評価係数テーブルについて説明する。図１４は、出題種別が「リズム」であるときの、評価係数テーブルを示す図である。図１４に示すように、評価係数テーブル１４００においては、リズム種別ごとに、「安定性」、「積極性」、「明るさ」のそれぞれに対する重み（係数）が格納されている。たとえば、リズム種別「ロック」について、「安定性：６０」、「積極性：１００」および「明るさ：１００」という重みの組を得ることができる（符号１４０１参照）。他のリズム種別についても同様に、「安定性」、「積極性」、「明るさ」のそれぞれに対する重みの組を得ることができる。
【００８２】
図１５は、出題種別が「和音」であるときの、評価係数テーブルを示す図である。図１５に示すように、評価係数テーブル１５００においては、和音種別ごとに、「安定性」、「積極性」、「明るさ」のそれぞれに対する重み（係数）が格納されている。たとえば、和音種別「ｍａｊｏｒ」について、「安定性：１００」、「積極性：５０」および「明るさ：１００」という重みの組を得ることができる（符号１５０１参照）。他の和音種別についても同様に、「安定性」、「積極性」、「明るさ」のそれぞれに対する重みの組を得ることができる。
【００８３】
つまり、得られる評価値Ｇ［ｍ］は、リズム種別或いは和音種別ごとの一致度Ｖａｌ［ｔ］と、リズム種別或いは和音種別ごとの、ある性質に関する重みとの積の総和
Ｇ［ｍ］＝Σ（Ｒ［ｔ］［ｍ］×Ｖａｌ［ｔ］）
を意味する。
【００８４】
パラメータ［ｍ］で特定されるある性質に関して、全てのリズム種別或いは和音種別で、ステップ１３０５、１３０６の処理が終了すれば（ステップ１３０４でＹｅｓ）、評価処理部１７は、「ｍ」をインクリメントして（ステップ１３０５）、次の性質に関する評価値Ｇ［ｍ］を算出する。
【００８５】
算出された評価値Ｇ［ｍ］は、評価結果ファイル２７に記憶され、また、描画処理部１８によって評価値Ｇ［ｍ］を含む画像が生成され、表示装置１２の画面上に表示される。
【００８６】
本実施の形態によれば、出題例（出題データ）に基づいて演奏者が押鍵した演奏データ、或いは、出題データおよび演奏データから、リズム種別のそれぞれ、或いは、和音種別のそれぞれについて一致度が算出される。また、各リズム種別或いは各和音種別について、複数の性質のそれぞれの重みを格納した評価係数テーブルが記憶装置中に設けられる。各性質に関して、リズム種別ごとの重みと当該リズム種別についての一致度との積の総和、或いは、和音種別ごとの重みと当該和音種別についての一致度の積の総和を、当該性質についての評価値とする。このようにして、演奏者による演奏に基づいて、その演奏がどのようなリズム或いは和音になっているかを判断して、その判断に基づいて、当該演奏によりわかる演奏者の性質を評価値として得ることができる。また、「補間」モードおよび「応答」モードの２つのモードを選択できることで、演奏者が望む形態で演奏データの入力が可能となる。
【００８７】
また、本実施の形態によれば、演奏者による演奏から、演奏者の表現意図を評価して、評価結果を、性質ごとの評価値として提示する。本実施の形態においては、多次元的な（複数の）性質についての評価値を算出できる。これにより、演奏者に、性質ごとの評価値を意識させ、より活発な表現、活発な思考を引き出すことを可能とする。
【００８８】
さらに、本実施の形態によれば、和音種別の各々について、音名ごとに、当該和音種別ごとに定められた第１の和音構成音を構成するノートの有無を示す和音配列Ｃｈｏと、演奏データ、或いは、演奏データおよび出願データに基づく第２の和音構成音のノートの各々に対応する音名について、ノートの有無を示す値を格納したユーザ和音配列ＵＣｈｏとの間で、配列中の要素を比較して一致度を算出している。２つの配列の要素を比較することで容易に一致度を得ることが可能となる。
【００８９】
さらに、本実施の形態では、ある和音種別について、ユーザ和音配列ＵＣｈｏを調性にしたがってシフトして、シフトされたユーザ和音配列中の要素と、和音配列Ｃｈｏの要素とを比較することで、調性ごとの一致度を算出している。調性ごとの一致度のうち最も値の大きいものを、その和音種別についての一致度とすることができる。このように構成することで、特定の調性に依存しない適切な一致度を得ることができる。
【００９０】
また、本実施の形態によれば、リズム種別の各々について、リズム種別の各々について、所定のタイミング（たとえば８分音符のタイミング）で、リズム種別ごとに定められた第１のリズムパターンを構成するノートの有無を示すリズム配列Ｒｈｙと、演奏データ、或いは、演奏データおよび出題データに基づく第２のリズムパターンを構成するノートの発音タイミングに相当する位置に、ノートの有無を示す値を格納するユーザリズム配列ＵＲｈｙとの間で、配列中の要素を比較して一致度を算出している。２つの配列の要素を比較することで容易に一致度を得ることが可能となる。
【００９１】
さらに、前記実施の形態においては、一致度Ｖａｌ［ｔ］（ただし、ｔは和音種別、リズム種別を示すパラメータ）および評価係数テーブル中の係数Ｒ［ｔ］［ｍ］（ただし、ｔは和音種別、リズム種別を示すパラメータ、ｍは性質を特定するパラメータ）に基づいて、評価値Ｇ［ｍ］を
Ｇ［ｍ］＝Σ（Ｒ［ｔ］［ｍ］×Ｖａｌ［ｔ］）
に基づいて算出している。したがって、ある性質についての評価値は、重みを与えられた一致度の総和となり、全ての和音種別およびリズム種別の一致度を考慮したものとなる。
【００９２】
次に、本発明の第２の実施の形態について説明する。第１の実施の形態では、リズム或いは和音を出題して、演奏者が、出題にノートを補間し、或いは、出題に応答するようなリズムの音列や和音を演奏していた。第２の実施の形態では、演奏者がメロディ（音程付きの単音の音列）を入力して、演奏されたメロディに基づいて評価値を算出するように構成している。
【００９３】
第２の実施の形態においては、演奏者は、出題例を聴くことなく自由に押鍵操作してメロディを入力することができる。或いは、「応答」モードの下で、メロディの出題例を聴いた上で、所望のメロディを入力するようにしても良い。
【００９４】
第２の実施の形態においても、演奏者の押鍵操作にしたがって、演奏データ生成部１５が演奏データを生成して、演奏データファイル２３に記憶する。以下、演奏データファイル２３に記憶された演奏データを用いた評価処理部１７による評価値の算出について説明する。
【００９５】
図１６および図１７は、第２の実施の形態にかかるメロディ特徴量の算出処理の例を示すフローチャートである。
【００９６】
図１６に示すように、評価処理部１７は、演奏データを特定するためのパラメータ「ｎ」を初期化する（ステップ１６０１）。評価処理部１７は、演奏データのレコードが終了するまで（ステップ１６０２でＹｅｓ）、以下のステップ１６０３〜１６１４を実行する。
【００９７】
評価処理部１７は、ａ＝（ｍｅ［ｎ＋１］のＰｉｔ）−（ｍｅ［ｎ］のＰｉｔ）を算出する（ステップ１６０３）。なお、ｍｅ［ｎ］は、演奏データ中のｎ番のノートのレコードを示す。ステップ１６０３で算出される「ａ」は、処理対象となっているノートとその次のノートとの間の音高差に相当する。
【００９８】
次いで、評価処理部１７は、音高差「ａ」の絶対値｜ａ｜を参照して（ステップ１６０４）、｜ａ｜が「０」であれば、評価処理部１７は、Ｖａｌ［２］をインクリメントする（ステップ１６０５）。また、評価処理部１７は、｜ａ｜が「１」または「２」であればＶａｌ［１］をインクリメントし（ステップ１６０６）、｜ａ｜が「３」以上であればＶａｌ［０］をインクリメントする（ステップ１６０７）。
【００９９】
評価処理部１７は、ｂ＝（ｍｅ［ｎ＋１］のＴｉｍｅ）−（（ｍｅ［ｎ］のＴｉｍｅ）＋（ｍｅ［ｎ］のＧａｔｅ））を算出する(ステップ１６０８)。ステップ１６０８で算出される「ｂ」は、処理対象となるノートが消音してから、次のノートが発音するまでの時間差、つまり、休符の長さに相当する。
【０１００】
評価処理部１７は、「ｂ」が分解能「Ｒｅｓ」の１／４（本実施の形態では１６分音符に相当）より大きい場合には（ステップ１６０９でＹｅｓ）、Ｖａｌ［３］をインクリメントする。その後、評価処理部１７は、Ｖａｌ［４］に「ａ」を加えて新たなＶａｌ［４］とする（ステップ１６１１）。
【０１０１】
評価処理部１７は、配列ＧＣｎｔ［（ｍｅ［ｎ］のＧａｔｅ／Ｑｕｎｉｔ）］をインクリメントする（ステップ１６１２）。配列ＧＣｎｔ［ｋ］には、演奏者による演奏データにおいて、所定の音長のノートがそれぞれどのくらいあったかを示すカウント値が格納される。Ｑｕｎｉｔはノートの音長の単位を決定するためのパラメータであり、Ｑｕｎｉｔ＝１６分音符とすれば、１６符音符がｋ個分の音長のノートがいくつあったかを示すことができる。
【０１０２】
また、評価処理部１７は、配列ＩＣｎｔ［｜ａ｜］をインクリメントする(ステップ１６１３)。配列ＩＣｎｔ［｜ａ｜］には、連続するノートにおける跳躍の度合いをそれぞれ示すカウント値が格納される。たとえば、ＩＣｎｔ［０］は、同音連打の数を表す。また、ＩＣｎｔ［１]は半音進行の数を示す。
【０１０３】
その後、評価処理部１７はパラメータｎをインクリメントして（ステップ１６１４）、ステップ１６０２に戻る。ステップ１６０２においてＹｅｓと判断された場合には、評価処理部は、Ｖａｌ［０］／ｎを新たにＶａｌ［０］に（ステップ１７０１）、Ｖａｌ［１］／ｎを新たにＶａｌ［１］に（ステップ１７０２）、Ｖａｌ［２］／ｎを新たにＶａｌ［２］に（ステップ１７０３）、Ｖａｌ［３］／ｎを新たにＶａｌ［３］に（ステップ１７０４）、Ｖａｌ［４］／ｎを新たにＶａｌ［４］に更新する（ステップ１７０５）。ここで「ｎ」はノートの総数であり、それぞれのＶａｌ［ｐ］をノートの総数「ｎ」で除算することで、Ｖａｌ［ｐ］は率を表すものとなる。以下、算出されたＶａｌ［ｐ］をメロディ特徴量と称する。
【０１０４】
さらに、ステップ１６１２およびステップ１６１３で得られた配列ＧＣｎｔおよびＩＣｎｔに基づいて、さらに他のメロディ特徴量Ｖａｌ［５］およびＶａｌ［６］が算出される。図１９に示すように、評価処理部１７は、配列の要素を特定するためのパラメータｎを初期化し（ステップ１９０１）、配列ＧＣｎｔ中の全ての要素について（ステップ１９０２参照）、以下のステップ１９０３〜１９０５を実行する。
【０１０５】
より詳細には、評価処理部１７は、処理対象となるＧＣｎｔ［ｎ］と、以前の処理において保持されていたＧＣｍａｘと比較して、ＧＣｍａｘ＜ＧＣｎｔ［ｎ]であれば（ステップ１９０３でＹｅｓ）、ＧＣｎｔ［ｎ］を新たなＧＣｍａｘとする（ステップ１９０４）。その後、評価処理部１７はパラメータ「ｎ」をインクリメントしてステップ１９０２に戻る。
【０１０６】
ステップ１９０２でＹｅｓと判断された場合には、評価処理部１７は、パラメータ「ｎ」を再度「０」に初期化する（ステップ１９０６）。次いで、評価処理部１７は、配列ＩＣｎｔ中の全ての要素について（ステップ１９０７参照）、以下のステップ１９０８〜１９１０を実行する。
【０１０７】
より詳細には、評価処理部１７は、処理対象となるＩＣｎｔ［ｎ］と、以前の処理において保持されていたＩＣｍａｘとを比較して、ＩＣｍａｘ＜ＩＣｎｔ［ｎ］であれば（ステップ１９０８でＹｅｓ）、ＩＣｎｔ［ｎ］を新たなＩＣｍａｘとする（ステップ１９０９）。評価処理部１７は、パラメータ「ｎ」をインクリメントして（ステップ１９１０）、ステップ１９０７に戻る。
【０１０８】
次に、メロディ特徴量Ｖａｌ［ｐ］（ｐ＝０〜６）についてより詳細に説明する。図１８（ａ）はある演奏データに基づく楽譜の例、図１８（ｂ）は当該楽譜についての情報を表として表した図である。
【０１０９】
図１８（ｂ）に示すように、表１８００において、第１音（音名＝Ｃ）の音長（Ｇａｔｅ）が８分音符であり、次のノートとの音高差が、音高「Ｐｉｔ」に基づくと「７」であるため、跳躍進行であることがわかる（符号１８０１参照）。同様に、第２音（音名＝Ｃ）の音長が８分音符であり、次のノートとの音高差が、音高「Ｐｉｔ」に基づくと「−３」であるため、同様に跳躍進行であることがわかる（符号１８０２参照）。このように、隣接するノートとの間でどのように進行するか、或いは、隣接するノートとの間に音符が存在するかなどを調べることができる。
【０１１０】
本実施の形態においては、上述した処理で算出した特徴量Ｖａｌ［ｐ］（ｐ＝０〜６）は、以下のような意味を持つ。
【０１１１】
Ｖａｌ［０］：跳躍率
Ｖａｌ［１］：順次進行率
Ｖａｌ［２］：同音連打率
図１６のステップ１６０３〜１６０６で、隣接するノート間の音高差が算出され、音高差によりＶａｌ［０］〜［２］のいずれかがインクリメントされている。その後、値をノーの総数「ｎ」で除すること（符号１７０１〜１７０３）により、それぞれの割合を得ることができる。
【０１１２】
Ｖａｌ［３］：休符率
休符率は、図１６のステップ１６０８〜１６１０で求めたものがベースとなっている。
【０１１３】
Ｖａｌ［４］：上向度
上向度は、図１６のステップ１６１１に示すように、隣接するノートの間の音高差を符号付きで加算したものを、図１７のステップ１７０５に示すように、ノートの総数「ｎ」で除している。
【０１１４】
Ｖａｌ［５］：規則性向（リズム）
規則性向（リズム）は、一番頻度の多い音長を有したノートの数の、ノートの総数「ｎ」に対する割合を示す（図２０のステップ２００１参照）。
【０１１５】
Ｖａｌ［６］：規則性向（音程）
規則性向（音程）は、一番頻度の多い、隣接するノート間の音高差の絶対値の、ノートの総数「ｎ」に対する割合を示す（図２０のステップ２００２参照）。
【０１１６】
ここで、Ｖａｌ［０］（跳躍率）、Ｖａｌ［１］（順次進行率）、Ｖａｌ［２］（同音連打率）およびＶａｌ［４］（上向度）は、隣接するノート間の音高差に基づく進行のタイプにしたがった第１の特徴量ということができる。Ｖａｌ［３］（休符率）は、一定の長さの休符が含まれる割合を示す第２の特徴量ということができる。Ｖａｌ［５］（規則性向（リズム）は、前記ノートの音長の種別ごとの偏り具合に基づくリズムの規則性を示す第３の特徴量ということができる。Ｖａｌ［６］（規則性向（音程））は、隣接するノートの音高差の偏り具合に基づく音程の規則性を示す第４特徴量ということができる。
【０１１７】
本実施の形態においては、第１〜第４の特徴量を算出することで、種々の面から、ユーザの押鍵操作により入力されたメロディの特徴と捕らえることができる。
【０１１８】
評価処理部１７の処理に戻ると、図２０に示すように、評価処理部１７は、Ｖａｌ［５］およびＶａｌ［６］をノートの総数「ｎ」でそれぞれ除して、これらの特徴量がノート総数「ｎ」に対する割合を表すものとする。
【０１１９】
以下のステップ２００３〜２００９によって、第２の実施の形態において、複数の性質の各々についての評価値を算出している。より具体的には、第２の実施の形態では、「強さ性」、「積極性」、「安定性」、「メッセージ性」および「論理性」のそれぞれについての評価値を算出する。
【０１２０】
図２０に示すように、評価処理部１７は、上記性質の種別を特定するためのパラメータ「ｍ」を「０」に初期化し（ステップ２００３）、全ての種別の性質について処理が終了するまで（ステップ２００４参照）、以下のステップ２００５〜ステップ２００９を実行する。
【０１２１】
評価処理部１７は、特徴量を特定するパラメータ「ｔ」を「０」に初期化して、全ての特徴量についての処理が終了するまで（ステップ２００６でＹｅｓ）、ステップ２００７、２００８を繰り返す。
【０１２２】
評価部１７は、パラメータ［ｍ］で特定される種別の性質の評価値Ａｔｔｒ［ｍ］に、評価係数テーブルの要素Ｒ［ｔ］［ｍ］と特徴量Ｖａｌ［ｔ］との積を加えたものを、新たな評価値Ａｔｔｒ［ｍ］とする（ステップ２００７）。その後、評価処理部１７は、特徴量を特定するパラメータ「ｔ」をインクリメントする（ステップ２００８）。
【０１２３】
以下、第２の実施の形態にかかる評価係数テーブルについて説明する。図２１は、第２の実施の形態にかかる評価係数テーブルを示す図である。図２１に示すように、評価係数テーブル２１００においては、「強さ性」、「積極性」、「安定性」、「メッセージ性」、「論理性」のそれぞれに対する重み（係数）が格納されている。たとえば、跳躍率（Ｖａｌ［０］）については、「強さ性：６０」、「積極性：２０」、「安定性：２０」、「メッセージ性：２０」および「論理性：２０」という重みの組を得ることができる（符号２１０１参照）。また、順次進行率（Ｖａｌ［１］）については、「強さ性：２０」、「積極性：３０」、「安定性：８０」、「メッセージ性：３０」および「論理性：５０」という重みの組を得ることができる（符号２２０１参照）。他の特徴量についても同様に、「強さ性」、「積極性」、「安定性」、「メッセージ性」、「論理性」のそれぞれに対する重みの組を得ることができる。
【０１２４】
したがって、得られる評価値Ａｔｔｒ［ｍ］は、当該特徴量Ｖａｌ［ｔ］と、ある性質に関する重みとの積の総和
Ａｔｔｒ［ｍ］＝Σ（Ｒ［ｔ］［ｍ］×Ｖａｌ［ｔ］）
を意味する。
【０１２５】
パラメータ［ｍ］で特定されるある性質に関して、全ての特徴量で、ステップ２００６、２００７の処理が終了すれば（ステップ２００６でＹｅｓ）、評価処理部１７は、「ｍ」をインクリメントして（ステップ２００９）、次の性質に関する評価値Ａｔｔｒ［ｍ］を算出する。
【０１２６】
算出された評価値Ａｔｔｒ［ｍ］は、評価結果ファイル２７に記憶され、また、描画処理部１８によって評価値Ａｔｔｒ［ｍ］を含む画像が生成され、表示装置１２の画面上に表示される。
【０１２７】
本実施の形態によれば、演奏者が押鍵した演奏データから、メロディ特徴量が算出される。また、各メロディ特徴量について、複数の性質のそれぞれの重みを格納した評価係数テーブルが記憶装置中に設けられ。各性質に関して、メロディ特徴量との積の総和を、当該性質についての評価値とする。このようにして、演奏者による演奏に基づいて、演奏されたメロディの構造を判断して、その判断に基づいて、当該演奏によりわかる演奏者の性質を評価値として得ることができる。
【０１２８】
また、本実施の形態によれば、演奏者による演奏から、演奏者の表現意図を評価して、評価結果を、性質ごとの評価値として提示する。本実施の形態においては、多次元的な（複数の）性質についての評価値を算出できる。これにより、演奏者に、性質ごとの評価値を意識させ、より活発な表現、活発な思考を引き出すことを可能とする。
【０１２９】
さらに、本実施の形態によれば、Ｖａｌ［５］（第３の特徴量）を算出するために、ノートの音長の種別ごとに、ノートの存在数を示すカウント値を格納したリズムカウント配列ＧＣｎｔを生成し、当該リズムカウント配列ＧＣｎｔに格納されたカウント値に基づいて、最もカウント値の大きい音長の割合を、Ｖａｌ［５］として算出している。また、Ｖａｌ［６］（第４の特徴量）を算出するために、ノート間の音高差の種別ごとに、その存在数を示すカウント値を格納した音高差カウント配列ＩＣｎｔを生成し、当該音高差カウント配列ＩＣｎｔに格納されたカウント値に基づいて、最もカウント値の大きな音高差の割合を、Ｖａｌ［６］として算出している。このように、このようなリズムおよび音程の規則性向を算出することで、簡単な演算でメロディの傾向を適切に表すことができる。
【０１３０】
また、本実施の形態によれば、特徴量Ｖａｌ［ｔ］（ただし、ｔは特徴量を特定するパラメータ）および前記評価係数テーブル中の係数Ｒ［ｔ］［ｍ］（ただし、ｔは特徴量を特定するパラメータ、ｍは性質を特定するパラメータ）に基づいて、評価値Ａｔｔｒ［ｍ］を
Ａｔｔｒ［ｍ］＝Σ（Ｒ［ｔ］［ｍ］×Ｖａｌ［ｔ］）
に基づいて算出している。したがって、ある性質についての評価値は、重みを与えられた特徴量の総和となり、全ての種別の特徴量を考慮したものとなる。
【０１３１】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【０１３２】
たとえば、第２の実施の形態においても、「補間」モードによって、一定の音列を出題データとして出力して、その一部に演奏者が押鍵操作して、メロディを補間するような構成として、出題データおよび補間データに基づいて、メロディ特徴量を算出しても良い。
【０１３３】
また、演奏者の鍵盤での押鍵操作に基づいて演奏データを生成するだけでなく、他の入力装置（キーボードやタッチパネル）の入力に基づいて演奏データを生成しても良い。
【０１３４】
また、第１の実施の形態においては、性質として「安定性」、「積極性」、「明るさ」を採用し、また、第２の実施の形態においては、性質として、「強さ性」、「積極性」、「安定性」、「メッセージ性」および「論理性」を採用している。しかしながら、性質は上述したものに限定されるものではない。
【図面の簡単な説明】
【０１３５】
【図１】図１は、本発明の実施の形態にかかる演奏評価装置の構成を示すブロックダイヤグラムである。
【図２】図２は、本実施の形態にかかる演奏評価装置のハードウェア構成を示すブロックダイヤグラムである。
【図３】図３は、本実施の形態にかかる演奏評価装置の一般フローを示すフローチャートである。
【図４】図４は、本実施の形態にかかるインタラプトルーチンのフローチャートである。
【図５】図５は、本実施の形態にかかる出題データおよび演奏データの構成例を示す図である。
【図６】図６は、本実施の形態にかかる評価処理における前処理の例を示すフローチャートである。
【図７】図７は、本実施の形態にかかる評価処理における前処理の例を示すフローチャートである。
【図８】図８（ａ）は、図２２（ｂ）の出題例、回答例１および回答例２に基づいて生成されたユーザ和音配列ＵＣｈｏの例を示す図、図８（ｂ）は、図２２（ｃ）の出題例、回答例１および回答例２に基づいて生成されたユーザリズム配列ＵＲｈｙの例を示す図である。
【図９】図９は、本実施の形態にかかる一致度算出処理の例を示すフローチャートである。
【図１０】図１０は、本実施の形態にかかる一致度算出処理の例を示すフローチャートである。
【図１１】図１１（ａ）は、リズム配列Ｒｈｙ［ｔ］［ｎ］を説明する図、図１１（ｂ）、（ｃ）は、一致度の算出をより具体的に説明する図である。
【図１２】図１２（ａ）は、和音配列Ｃｈｏ［ｔ］［ｎ］を説明する図、図１２（ｂは、一致度の算出をより具体的に説明する図である。
【図１３】図１３は、本実施の形態にかかる評価値算出処理の例を示すフローチャートである。
【図１４】図１４は、出題種別が「リズム」であるときの、評価係数テーブルを示す図である。
【図１５】図１５は、出題種別が「和音」であるときの、評価係数テーブルを示す図である。
【図１６】図１６は、第２の実施の形態にかかるメロディ特徴量の算出処理の例を示すフローチャートである。
【図１７】図１７は、第２の実施の形態にかかるメロディ特徴量の算出処理の例を示すフローチャートである。
【図１８】図１８（ａ）はある演奏データに基づく楽譜の例、図１８（ｂ）は当該楽譜についての情報を表として表した図である。
【図１９】図１９は、本実施の形態にかかるメロディ特徴量の算出処理の例を示すフローチャートである。
【図２０】図２０は、本実施の形態にかかるメロディ特徴量算出処理の続きおよび評価値の算出処理の例を示すフローチャートである。
【図２１】図２１は、第２の実施の形態にかかる評価係数テーブルを示す図である。
【図２２】図２２（ａ）〜（ｃ）は、メロディ、和音、リズムについて、「補間」モードにおける出題例と、それに対する２つの回答例とを示す図である。
【図２３】図２３（ａ）〜（ｃ）は、メロディ、和音、リズムについて、「応答」モードにおける出題例と、それに対する２つの回答例とを示す図である。
【符号の説明】
【０１３６】
１０        演奏評価装置
１１        入力装置
１２        表示装置
１３        再生処理部
１４        出題データ生成部
１５        演奏データ生成部
１６        記憶装置
１７        評価処理部
１８        描画処理部
２１        出題データファイル
２２        出題パラメータファイル
２３        演奏データファイル
２４        評価係数テーブル
２５        和音構成音ＤＢ
２６        リズムパターンＤＢ
２７        評価結果ファイル
【図１】
2008242130.tif 000003
【図２】
2008242130.tif 000004
【図３】
2008242130.tif 000005
【図４】
2008242130.tif 000006
【図５】
2008242130.tif 000007
【図６】
2008242130.tif 000008
【図７】
2008242130.tif 000009
【図８】
2008242130.tif 000010
【図９】
2008242130.tif 000011
【図１０】
2008242130.tif 000012
【図１１】
2008242130.tif 000013
【図１２】
2008242130.tif 000014
【図１３】
2008242130.tif 000015
【図１４】
2008242130.tif 000016
【図１５】
2008242130.tif 000017
【図１６】
2008242130.tif 000018
【図１７】
2008242130.tif 000019
【図１９】
2008242130.tif 000020
【図２０】
2008242130.tif 000021
【図２１】
2008242130.tif 000022
【図１８】
2008242130.tif 000023
【図２２】
2008242130.tif 000024
【図２３】
2008242130.tif 000025