(58)【調査した分野】(Int.Cl.,DB名)
前記生成部は、ピッチの時間的な変化を表すピッチテンプレートとタイミング列を表すリズムテンプレートを前記評価項目毎に記憶する記憶部から、前記評価項目特定部により特定された評価項目に対応するリズムテンプレート及びピッチテンプレートを前記記憶部から読み出し、読み出したリズムテンプレートにより示されるノートの発音タイミングの列に従ったノートの列であって、各ノートのピッチが前記読み出したピッチテンプレートにより示されるピッチの時間的な変化に従ったピッチであるノートの列で構成される楽曲を表す楽曲データを生成する
ことを特徴とする請求項1に記載の楽曲練習支援装置。
【発明を実施するための形態】
【0012】
<実施形態>
<構成>
図1は、本発明の実施形態に係る歌唱練習支援システム100の構成の一例を示したブロック図である。歌唱練習支援システム100は、歌唱指導エンジン10と、記憶部20と、歌唱指導作曲エンジン30と、ネットワーク40と、サーバ50と、シーケンサ60と、マイク80と、スピーカ81とを有する。歌唱指導作曲エンジン30とサーバ50とは、ネットワーク40により接続されている。歌唱指導エンジン10は、マイク80によって収音された歌唱者の歌唱音声と、歌唱者が歌唱すべき歌唱音程とを比較し、比較結果に応じた評価を行う。記憶部20は、各種のデータを記憶するための記憶手段であり、例えばHDD(Hard Disk Drive)や不揮発性メモリである。サーバ50は、これまでの歌唱の指導履歴を表す指導履歴データを記憶する指導履歴データ記憶領域51を有している。
【0013】
歌唱指導作曲エンジン30は、歌唱指導エンジン10の評価結果に従って歌唱練習のための楽曲(以下「歌唱指導曲」という)を示すデータ(以下「歌唱指導曲データ」という)を動的に生成する。この実施形態では、歌唱指導エンジン10が、特定した歌唱者のピッチを、音程・音程跳躍、リズム、表現力の3つの項目について評価し、歌唱指導作曲エンジン30が各項目の練習に適した歌唱指導曲データを生成する。歌唱指導曲データは、例えばMIDI(Musical Instrument Digital Interface)形式のデータである。歌唱指導作曲エンジン30は、生成した歌唱指導曲データをシーケンサ60に出力する。ネットワーク40は、LANやインターネット等の通信ネットワークである。サーバ50は、歌唱指導作曲エンジン30による歌唱指導曲データの生成履歴を蓄積する指導履歴データ記憶領域51を有している。サーバ50は、ネットワーク40を介して歌唱指導作曲エンジン30と接続されている。シーケンサ60は、歌唱指導作曲エンジン30から供給される歌唱指導曲データを再生する。
【0014】
記憶部20は、楽曲情報データ記憶領域21と、作曲用テンプレートデータ記憶領域22と、伴奏データ記憶領域23とを備えている。楽曲情報データ記憶領域21には、「曲番号」、「曲名」、「歌手名」、「ジャンル」、及び「伴奏データ」、「GMデータ」といった複数の項目からなる楽曲データレコードが複数記憶されている。「曲番号」は、楽曲を一意に識別するための番号であり、例えば4桁の親番号と2桁の枝番号とからなる。「曲名」は、各楽曲の名称を表す。「歌手名」は、各楽曲の歌い手の名称を表す。「ジャンル」は、予め決められた分類基準で分類された複数のジャンルのうち、各楽曲の属する音楽のジャンルを表す。「伴奏データ」は、各楽曲の伴奏データを表す。「GMデータ」は、各楽曲のボーカルパートのメロディを示すデータ、すなわち、歌唱すべき構成音の内容を指定するデータであるガイドメロディデータ(以下「GMデータ」という)を表す。GMデータは、歌唱ピッチ評価エンジン12が歌唱者による歌唱の巧拙を評価する際に比較の基準として用いられる。GMデータは、例えば、MIDI形式により記述されている。なお、伴奏データとGMデータはデータそのものが楽曲情報データ記憶領域21に記憶されているに限らず、伴奏データやGMデータの格納場所を表すアドレスが楽曲情報データ記憶領域に記憶されている構成であってもよい。
【0015】
作曲用テンプレートデータ記憶領域22には、歌唱指導作曲エンジン30が歌唱指導曲データを生成する際に用いられるリズムやメロディのテンプレートが複数記憶されている。作曲用テンプレートデータ記憶領域22には、ノートの発音タイミングの列を表すリズムテンプレートが評価項目毎に記憶されているとともに、ピッチの時間的な変化を表すピッチテンプレートが評価項目毎に記憶されている。なお、以下の説明においては、説明の便宜上、リズムテンプレートとピッチテンプレートとを各々区別する必要がない場合には、これらを「テンプレート」と称して説明する。
【0016】
伴奏データ記憶領域23には、歌唱指導作曲エンジン30が歌唱指導曲データを生成する際に用いられる、伴奏音を表す伴奏データが、作曲用テンプレートデータ記憶領域22に記憶されたテンプレートに対応付けて記憶されている。伴奏データとテンプレートとは、1対1で対応付けられていてもよく、また、複数対複数で対応付けられていてもよい。
【0017】
次いで、歌唱指導エンジン10の構成について説明する。歌唱ピッチ特定エンジン11はマイク80によって収音された音声の波形を表す音声データを取得し、取得した音声データにより示される音の特徴を特定する。歌唱ピッチ特定エンジン11は、本発明に係る音データ取得部の一例であるとともに、本発明に係る特徴特定部の一例である。歌唱ピッチ特定エンジン11は、マイク80によって収音された歌唱者の音声を表すデータ(以下「歌唱音声データ」という)を解析し、歌唱音声データにより示される音のピッチを特定する。歌唱ピッチ特定エンジン11は、特定したピッチを表すデータ(以下「ピッチデータ」という)を、歌唱ピッチ評価エンジン12、タイミング評価エンジン15、及び歌唱技法評価エンジン17に出力する。ピッチデータの一例を
図2の実線P1で示すが、図示のように時間軸に沿って各時刻のピッチを示す。
【0018】
歌唱ピッチ評価エンジン12と音程・音程跳躍評価エンジン13は、歌唱ピッチ特定エンジン11により特定されたピッチに基づき、歌唱音声データにより示される音を、「音程」と「音程跳躍」の評価項目について評価する。音程跳躍とは、隣り合う2つのノート間でピッチが大きく変化することをいう。この実施形態では、まず、歌唱ピッチ評価エンジン12が、歌唱ピッチ特定エンジン11で特定された歌唱ピッチと、楽曲情報データ記憶領域21に記憶されたGMデータの示すピッチとを比較してノート毎に音程評価を行い、評価結果を表す評価値を記憶部20の所定の記憶領域に記録する。
【0019】
ここで、
図2を用いて歌唱ピッチ評価エンジン12による評価内容の一例を説明する。実線P1は歌唱ピッチ特定エンジン11で特定された歌唱ピッチを表し、ノートN1,ノートN2,ノートN3,…は、GMデータの表すピッチ(すなわち歌唱者が歌唱すべき歌唱音程)を表す。歌唱ピッチ評価エンジン12は、歌唱ピッチ特定エンジン11で特定された歌唱ピッチと、GMデータのピッチとを比較し、両者の差分に応じて評価を行う。評価結果を表す評価値は、例えば、あるノートにおいて、両者のピッチの差が予め定められた許容範囲内に収まっていれば100点(すなわち減点なし)とし、両者のピッチの差が上記範囲内に収まらない部分の期間が、GMデータにおいてこのノートにおける音長の半分に渡っていれば50点である、といった具合であってもよい。
【0020】
図2に示す例では、歌唱ピッチ評価エンジン12は、歌唱ピッチ特定エンジン11で特定された歌唱ピッチと、GMデータのピッチとの差分が大きいほど低い評価となるように評価を行う。具体的には、ノートN1については、差分が小さいため「90点」という評価がなされ、ノートN2については差分が大きいため「20点」という評価がなされ、ノートN3については差分がそれほど大きくないため「70点」という評価がなされている。
【0021】
音程・音程跳躍評価エンジン13は、ノート毎の歌唱ピッチ評価エンジン12の音程得点結果及びあるノートから次のノートへの音程の跳躍についての得点結果を音程跳躍の評価値として記録する。音程・音程跳躍評価エンジン13は、カラオケ楽曲の演奏終了後に結果を集計し、音程得点および音程跳躍得点が閾値以下の箇所における評価値を音程跳躍の評価項目の評価値として歌唱指導選定エンジン14に通知する。
【0022】
図3は、音程・音程跳躍評価エンジン13による評価内容の一例を説明するための図である。
図3に示す例では、音程・音程跳躍評価エンジン13は、ノート単位の採点結果を音階(Scale)毎に集計し(
図3の(a)参照)、集計結果が閾値以下の音階を歌唱指導選定エンジン14に通知する。なお、
図3(a)に示す例では、当該楽曲においては、音階A#3のノートが2回、音階D4のノートが3回、音階D#4のノートが4回出現したことを示している。「Total」の欄には、音階毎の採点結果の平均値が評価値として記録される。また、音程・音程跳躍評価エンジン13は、連続する2つのノートの採点結果を音程の跳躍量毎に集計し(
図3の(b)参照)、集計結果が閾値以下の音程跳躍を歌唱指導選定エンジン14に通知する。
図3の(b)に示す例では、当該楽曲には、音階A#3から音階D#4に飛躍する連続したノート、例えば、
図2に示す「ノートN1からノートN2」の関係にあるノートの組みが2組あり、音階D#4から音階D4に飛躍する連続したノート、例えば、
図2に示す「ノートN2からノートN3」の関係にあるノートの組みが3組ある場合を示している。「Total」の欄には、跳躍量毎の採点結果の平均値が評価値として記録される。
【0023】
タイミング評価エンジン15とリズム評価エンジン16は、歌唱ピッチ特定エンジン11により特定されたピッチに基づき、歌唱音声データにより示される音を、「表拍」、「裏拍」、「3連符」、「16分音符」といった、リズムに関する評価項目毎に評価する。この実施形態では、まず、タイミング評価エンジン15が、歌唱ピッチ特定エンジン11で特定された歌唱ピッチとGMデータによって示される拍タイミング(すなわち歌唱者が歌唱すべき拍タイミング)とを比較し、ノート毎にタイミングを評価して採点を行う。
【0024】
図4は、タイミング評価エンジン15による評価内容の一例を示す図である。
図4において、横軸は時刻を示し、縦軸はピッチを示す。
図4に示す例では、ノートN3の歌唱タイミングが走り気味であるため(実線P1がノートN3の音階に達するタイミングの方がノートN3の発音タイミングよりもやや早い)、ノートN3のリズムの得点(評価値)が低くなっている。
【0025】
リズム評価エンジン16は、タイミング評価エンジン15による採点結果を小節内の表拍や裏拍、3連符、16分音符といった評価項目毎に分類し、評価値として記録する。このとき、リズム評価エンジン16は、対象ノートが表拍と16分音符の双方に該当した場合等には、双方に記憶する。リズム評価エンジン16は、楽曲演奏後に結果を集計し、評価値が閾値以下の評価項目を歌唱指導選定エンジン14に通知する。
【0026】
図5は、リズム評価エンジン16による評価内容の一例を説明するための図である。
図5に示すように、リズム評価エンジン16は、ノート単位の採点結果を、「表拍」、「裏拍」、「3連符」、「16分音符」、といったリズムの種類(評価項目)毎に集計する。
図5に示す例では、ノートN1,ノートN2,ノートN4が表拍として記録され、ノートN3が裏拍として記録される例を示している。
【0027】
歌唱技法評価エンジン17と表現力評価エンジン18とは、歌唱ピッチ特定エンジン11により特定されたピッチに基づき、歌唱音声データにより示される音を、歌唱技法毎に評価する。この実施形態では、歌唱技法評価エンジン17は、歌唱ピッチの変化により歌唱技法を特定し、ノート毎に歌唱技法を評価し、評価結果を表す評価値を記録する。この実施形態では、歌唱技法評価エンジン17は、「ビブラート」、「しゃくり」、「こぶし」、「フォール」の各歌唱技法が用いられているノートを特定する。「ビブラート」については、歌唱技法評価エンジン17は、歌唱ピッチの時間的な変化のパターンを解析し、中心となるピッチの上下に所定の範囲内でピッチが連続的に変動している区間を特定し、特定した区間を含むノートを「ビブラート」が用いられているノートとする。「ビブラート」については、歌唱技法評価エンジン17は、ピッチ変動の一様性と深さ、持続時間を評価し採点する。
【0028】
「しゃくり」については、歌唱技法評価エンジン17は、歌唱ピッチの時間的な変化のパターンを解析し、フレーズ冒頭で低いピッチから目的のピッチに連続的にピッチが変化する区間を特定し、特定した区間を含むノートを「しゃくり」が用いられているノートとする。「しゃくり」については、歌唱技法評価エンジン17は、ピッチの変動幅と変動時間を評価し採点する。
【0029】
「フォール」については、歌唱技法評価エンジン17は、歌唱ピッチの時間的な変化のパターンを解析し、フレーズの終わりで一定のピッチで長く伸ばすロングトーンから低いピッチに連続的にピッチが変化する区間を特定し、特定した区間を含むノートを「フォール」が用いられているノートとする。「フォール」については、歌唱技法評価エンジン17は、ピッチの変動幅と変動時間を評価し採点する。
【0030】
「こぶし」については、歌唱技法評価エンジン17は、歌唱ピッチの時間的な変化のパターンを解析し、フレーズ中に短時間でピッチが上下する区間を特定し、特定した区間を含むノートを「こぶし」が用いられている区間とする。「こぶし」については、歌唱技法評価エンジン17は、ピッチの変動幅と変動時間を評価し採点する。
【0031】
図6は、歌唱技法評価エンジン17の処理内容の一例を説明するための図である。
図6に示す例では、ノートN1でしゃくり、ノートN3でビブラートが特定され歌唱技法の採点が行われる。
【0032】
表現力評価エンジン18は、歌唱技法評価エンジン17で取得した歌唱技法の評価値を、各歌唱技法を挿入すべきノート毎に分類し表現力の評価値として記録する。表現力評価エンジン18は、楽曲演奏後に結果を集計し、評価値が閾値以下の歌唱技法を、歌唱指導選定エンジン14に通知する。
【0033】
図7は、表現力評価エンジン18の処理内容の一例を示す図である。
図7に示す例では、ノートN1がしゃくり、ノートN3がビブラートに分類され記録される。歌唱ピッチ評価エンジン12、音程・音程跳躍評価エンジン13、タイミング評価エンジン15、リズム評価エンジン16、歌唱技法評価エンジン17、及び表現力評価エンジン18は、本発明に係る評価部の一例である。
【0034】
歌唱指導選定エンジン14は、音程・音程跳躍評価エンジン13、リズム評価エンジン16、表現力評価エンジン18の評価結果が予め定められた条件を満たす評価項目を1又は複数特定する。歌唱指導選定エンジン14は、本発明に係る評価項目特定部の一例である。この実施形態では、歌唱指導選定エンジン14は、音程・音程跳躍評価エンジン13、リズム評価エンジン16、表現力評価エンジン18の通知結果に所定の重み付けを行い、重み付け結果に従って優先順位を決定し、1つ以上の歌唱指導選定の結果を歌唱指導作曲エンジン30へ通知する。この実施形態では、歌唱指導選定エンジン14は、サーバ50から指導履歴データを取得し、取得結果に応じて重み付け係数を動的に変更する。
【0035】
図8は、歌唱指導選定エンジン14の処理内容の一例を説明するための図であり、
図9は、優先順位の算出方法の一例を示す図である。
図8に示すように、複数の項目について優先順位がつけられる。この実施形態では、歌唱指導選定エンジン14は、
図9に示すように、音程・音程跳躍評価エンジン13、リズム評価エンジン16、表現力評価エンジン18によって通知された評価項目毎の評価値を100から減算した値に対して評価項目毎の重み付け係数を乗算し、乗算結果の値が大きい順に優先順位を決定する。なお、優先順位の決定の態様はこれに限らず、例えば、歌唱指導選定エンジン14は、重み付け係数を用いることなく、評価項目毎の評価値が小さい順に優先順位を決定するようにしてもよい。歌唱指導選定エンジン14が評価項目毎の評価値に従って優先順位を決定するものであればどのような態様であってもよい。
図9に示す例では、「A#3からD#4の音程跳躍」の評価項目の優先順位が最も高く、次いで、「裏拍」の評価項目が2番目、「D#4の音程」の評価項目の優先順位が3番目となる。
【0036】
歌唱指導選定エンジン14は、複数の項目について、優先順位の高い順に1以上の評価項目を選定し、選定結果を歌唱指導作曲エンジン30へ通知する。なお、優先順位の高い順に何番目までの評価項目を選定するかは、設計等に応じて適宜変更可能である。この実施形態では、優先順位の高い項目2つが歌唱指導作曲エンジン30に通知される。
図9に示す例では、「音程跳躍」と「裏拍」の2項目が歌唱指導作曲エンジン30に通知される。
【0037】
歌唱指導作曲エンジン30は、歌唱指導選定エンジン14の通知に対応したリズムテンプレート及びピッチテンプレートを記憶部20から読み出してメロディデータを作成し、対応した伴奏と合わせることで歌唱指導曲データを生成する。
【0038】
図10は、歌唱指導作曲エンジン30の構成の一例を示すブロック図である。図において、テンプレート読出部31は、歌唱指導選定エンジン14により特定された評価項目に対応するリズムテンプレート及びピッチテンプレートを作曲用テンプレートデータ記憶領域22から読み出す。テンプレート読出部31は、本発明に係る読出部の一例である。テンプレート読出部31は、歌唱ピッチ評価エンジン12で参照されたGMデータに対応するジャンルのテンプレートを読み出す。このとき、テンプレート読出部31は、歌唱指導選定エンジン14によって歌唱技法の評価項目が特定された場合は、ビブラートの場合にはロングノート、こぶしの場合には装飾音符を含んだテンプレートといったように、歌唱技法を入れやすいテンプレートを選択して読み出す。すなわち、歌唱技法の評価項目については、各歌唱技法と、その歌唱技法を練習しやすいノートを含んだテンプレートが予め対応付けられている。
【0039】
歌唱指導選定エンジン14により特定された評価項目に対応するリズムテンプレートが複数ある場合には、テンプレート読出部31は、対応する複数のリズムテンプレートのなかから予め定められたアルゴリズムに従っていずれかを選択し、選択したリズムテンプレートを読み出す。より具体的には、例えば、テンプレート読出部31は、対応する複数のリズムテンプレートのなかから予め定められたランダム関数に従っていずれかを選択してもよく、また、例えば、リズムテンプレートに識別子を予め付与しておき、識別子の昇順又は降順に選択してもよい。また、テンプレート読出部31が選択して読み出すリズムテンプレートは1に限らず、複数であってもよい。ピッチテンプレートについても同様であり、歌唱指導選定エンジン14により特定された評価項目に対応するピッチテンプレートが複数ある場合には、テンプレート読出部31は、対応する複数のピッチテンプレートのなかから予め定められたアルゴリズムに従っていずれかを選択し、選択したテンプレートを読み出す。また、テンプレート読出部31が選択して読み出すピッチテンプレートは1に限らず、複数であってもよい。
【0040】
メロディリズム生成部32とメロディピッチ生成部33とは、テンプレート読出部31により読み出されたリズムテンプレートとピッチテンプレートとを用いて歌唱指導曲データを生成する。より具体的には、メロディリズム生成部32とメロディピッチ生成部33とは、テンプレート読出部31により読み出されたリズムテンプレートにより示されるノートの発音タイミングの列に従ったノートの列であって、各ノートのピッチがテンプレート読出部31により読み出されたピッチテンプレートにより示されるピッチの時間的な変化に従ったピッチであるノートの列で構成される楽曲を表す歌唱指導曲データを生成する。メロディリズム生成部32とメロディピッチ生成部33とは、本発明に係る楽曲データ生成部の一例である。この実施形態では、メロディリズム生成部32は、テンプレート読出部31によって読み出されたリズムテンプレートに従ってノートの発音タイミングの列を表すリズムデータを生成する。メロディピッチ生成部33は、テンプレート読出部31によって読み出されたピッチテンプレートに従ってノートの列で構成されるメロディデータ(楽曲データ)を生成する。
【0041】
図11はリズムテンプレート及びピッチテンプレートの内容の一例を示す図である。上述したように、リズムテンプレートは、ノートの発音タイミングの列を表すデータであり、ピッチテンプレートは、ピッチの時間的な変化を表すデータである。この実施形態では、
図11に示すように、楽曲のジャンル(ポップス、演歌、ジャズ、サンバ、等)毎に、複数のリズムテンプレート及びピッチテンプレートが記憶されている。なお、リズムテンプレートやピッチテンプレートは、ジャンル毎に限らず、テンポ毎に記憶されていてもよい。更に、複数のジャンルのそれぞれについて、リズムテンプレートとして、評価項目が「表拍」、「裏拍」、「3連符」、「16分音符」といった、それぞれのリズムテンプレートが、項目毎に複数記憶されている。「表拍」のリズムテンプレートRT11,…は、表拍のリズムに従ったノートの発音タイミング(発音開始タイミング、発音終了タイミング(又は発音時間長))の列を表すデータである。「裏拍」のリズムテンプレートRT21,…は、裏拍のリズムに従ったノートの発音タイミングの列を表すデータである。「3連符」のリズムテンプレートRT31,…は、「3連符」に対応する複数のリズムテンプレートであり、3連符を含む発音タイミング列を表すデータである。「16分音符」のリズムテンプレートRT41,…は、「16分音符」16分音符を含む発音タイミングの列を表すデータである。
【0042】
また、
図11に示すように、複数のジャンルのそれぞれについて、評価項目が「音程跳躍」のピッチテンプレートPT51,…や、「装飾音符」のピッチテンプレートPT61,…が記憶されている。「音程跳躍」のピッチテンプレートPT51,…は、隣り合う4分音符の音高差(ピッチ差)が大きい(予め定められた閾値以上である)箇所を含むピッチの時間的変化を表すデータである。「装飾音符」のピッチテンプレートPT61,…は、装飾音符を含むピッチの時間的変化を表すデータである。この実施形態では、
図11に示すように、ピッチテンプレートPT51,…、PT61,…は、4分音符を単位としてピッチの時間的な変化が表現されている。
【0043】
テンプレートの読み出しについては、テンプレート読出部31は、歌唱指導選定エンジン14の通知結果に加え、歌唱した楽曲のジャンル(ポップス、演歌、ジャズ、サンバ等)や、テンポ、これまでの指導履歴を加味し、条件に一致するものからランダムに選択する。
【0044】
ここで、メロディリズム生成部32とメロディピッチ生成部33の処理の内容について、
図12乃至
図15を参照しつつ説明する。
図12の(a)は、メロディリズム生成部32により生成されるリズムデータの内容の一例を示す図である。メロディリズム生成部32は、テンプレート読出部31により読み出されたリズムテンプレートによって示されるノートの列を表すリズムデータを生成する。
図12の(a)は、「裏拍」の評価項目に対応するリズムテンプレートRT21(
図11参照)が読み出された場合に生成されるリズムデータの内容の一例を示す図である。
図12の(a)に示す例では、ノートN101,ノートN102,ノートN103,ノートN104,ノートN105,…を表すリズムデータが生成される。
【0045】
次いで、メロディピッチ生成部33は、メロディリズム生成部32によって生成されたリズムデータを構成する各ノートのピッチを、テンプレート読出部31により読み出されたピッチテンプレートに従って特定する。ここで、テンプレート読出部31によって
図11に例示したリズムテンプレートRT21とピッチテンプレートPT51とが読み出された場合の動作について説明する。
図12の(b)は、ピッチテンプレートPT51により表されるピッチの時間的な変化を模式的に表した図である。
図12の(b)において、横軸は時刻を示し、縦軸はピッチを示す。図示のように、ピッチテンプレートPT51は、ピッチの時間的な変化を4分音符単位で表している。
【0046】
メロディピッチ生成部33は、リズムテンプレートにより示される各ノートについて、ピッチテンプレートにおいて時間軸方向に対応するピッチを各ノートのピッチとして特定する。
図12の(c)は、リズムテンプレートRT21に含まれる各ノートのピッチを、ピッチテンプレートPT51に従って特定した場合の各ノートを模式的に示す図である。
図12の(c)において横軸は時刻を示し、縦軸はピッチを示す。
図12の(c)に示す例では、ノートN101,ノートN104のピッチとしてピッチp1が特定され、ノートN102,ノートN103,ノートN105のピッチとしてピッチp2が特定される。
【0047】
図12の(c)に示すように、メロディピッチ生成部33は、リズムテンプレートによって示される各ノートのピッチとして、ピッチテンプレートにおいて各ノートに対応する時間軸方向における時刻におけるピッチを特定する。このとき、リズムテンプレートによって示されるノートに対応するピッチが複数の場合があり得る。具体的には、例えば、リズムテンプレートによって示されるノートが2分音符であり、この2分音符のノートに対応するピッチテンプレートの2つの4分音符のノートのピッチがそれぞれ異なる場合等である。このような場合には、メロディピッチ生成部33は、時間軸方向において先に現れるピッチをそのノートのピッチとして特定してもよい。なお、メロディピッチ生成部33による各ノートのピッチの特定方法は、上述した態様に限定されるものではなく、他の態様であってもよい。例えば、メロディピッチ生成部33は、リズムテンプレートにより示されるノートと、ピッチテンプレートにより示されるノートとを、1対1で対応付けることによって、発音タイミングとピッチとが特定されたノートの列を生成するようにしてもよい。要は、メロディピッチ生成部33は、リズムテンプレートにより示されるノートの発音タイミングの列に従ったノートの列であって、各ノートのピッチがピッチテンプレートにより示されるピッチの時間的な変化に従ったピッチであるノートの列を生成するものであればどのようなものであってもよい。
【0048】
図13は、リズムテンプレートRT21とピッチテンプレートPT51により生成されたメロディデータを示す図であり、
図12の(c)に模式的に示したノートの列を楽譜として図示したものである。すなわち、
図13は、メロディリズム生成部32で生成された「裏拍」を含むリズムデータに対し、「A#3からD#4の音程跳躍」を含んだピッチパターンが付加されたメロディデータが生成されている。
【0049】
図14及び
図15は、
図11に示すリズムテンプレートRT11とピッチテンプレートPT61とを用いてメロディデータを生成する場合の処理の内容を説明するための図である。
図14の(a)は、「表拍」を含むリズムテンプレートRT11が選択され、メロディリズム生成部32によりリズムデータが生成される場合を例示している。
【0050】
図14の(b)は、ピッチテンプレートPT61により表されるピッチの時間的な変化を模式的に表した図であり、
図14の(c)は、リズムテンプレートRT11に含まれる各ノートのピッチを、ピッチテンプレートPT61に従って特定した場合の各ノートを模式的に示す図である。
図14の(b),(c)において、横軸は時刻を示し、縦軸はピッチを示す。メロディピッチ生成部33がピッチテンプレートPT61を用いてメロディデータを生成する処理は、
図12及び
図13について説明した処理と同様である。
図14の(c)に示す例では、ノートN201,ノートN204のピッチとしてピッチp1が特定され、ノートN202,ノートN203,ノートN205のピッチとしてピッチp2が特定される。
【0051】
図15は、リズムテンプレートRT11とピッチテンプレートPT61により生成されたメロディデータを示す図であり、
図14の(c)に模式的に示したノートの列を楽譜として図示したものである。
図15に示す例では、メロディリズム生成部32で生成された「表拍」を含むリズムデータに対し、「こぶし」を挿入すべき装飾音符(ノートN203)を含んだピッチパターンが付加されている。以上のようにしてメロディデータが生成される。
【0052】
ところで、テンプレート読出部31によって複数のリズムテンプレートが読み出された場合には、メロディリズム生成部32は、例えば、複数のリズムテンプレートを順番に用いてリズムデータを生成してもよい。具体的には、例えば、テンプレート読出部31によって3つのリズムテンプレートRT11,RT12,RT13が読み出された場合には、メロディリズム生成部32は、3つのリズムテンプレートRT11,RT12,RT13を繋げたものをリズムデータとして生成してもよい。ピッチテンプレートについても同様であり、テンプレート読出部31によって複数のピッチテンプレートが読み出された場合には、メロディピッチ生成部33は、複数のピッチテンプレートを順に用いてメロディデータを生成してもよい。また、読み出されたリズムテンプレートの数とピッチテンプレートの数とが異なる場合には、メロディリズム生成部32又はメロディピッチ生成部33は、少ない方のテンプレートを複数繰り返して用いることによってリズムテンプレートの時間長とピッチテンプレートの時間長をそろえてもよい。
【0053】
伴奏読出部34は、テンプレート読出部31によって読み出されたテンプレートに対応する伴奏データを、伴奏データ記憶領域23から読み出す。このとき、テンプレート読出部31によって読み出されたテンプレートに対応する伴奏データが複数存在する場合は、伴奏読出部34は、例えば、予め定められたランダム関数に従っていずれかの伴奏データを選択して読み出してもよく、また、例えば、伴奏データが読み出された回数を履歴として記憶部20に記憶しておき、読み出された回数が少ない伴奏データを選択して読み出してもよい。伴奏データの選択の態様は設計等に応じて適宜変更可能である。メロディピッチ生成部33により生成されたメロディデータと、伴奏読出部34により読み出された伴奏データとは、加算器35により合成され、シーケンサ60に出力される。シーケンサ60は、歌唱指導作曲エンジン30から供給される歌唱指導曲データを再生し、スピーカ81から歌唱指導曲を放音させる。
【0054】
図16は、本実施形態に係る歌唱指導機能を備えたカラオケ装置1のハードウェア構成の一例を示すブロック図である。カラオケ装置1は本発明に係る楽曲練習支援装置の一例である。カラオケ装置1は、CPU2、ROM3、RAM4、表示部5、操作部6、音声処理部7、マイク80、スピーカ81、及び記憶部20を有し、これら各部がバス9を介して接続されている。CPU2が、ROM3や記憶部20に記憶されているコンピュータプログラムを読み出しRAM4にロードして実行することにより、
図1に示す歌唱指導エンジン10、歌唱指導作曲エンジン30、及びシーケンサ60の各部が実現される。
【0055】
操作部6は、各種の操作子を備え、歌唱者による操作内容を表す操作信号をCPU2に出力する。表示部5は、例えば液晶パネルを備え、CPU2による制御の下、各カラオケ楽曲に応じた歌詞テロップや背景映像等の各種画像を表示する。マイク80は、収音した音声を表すアナログの音声信号を音声処理部7に出力する。音声処理部7は、A/D(Analog / Digital)コンバータを有し、マイク80が出力したアナログの音声信号をデジタルの音声データに変換して出力し、CPU2はこれを取得する。また、音声処理部7は、D/A(Digital / Analog)コンバータを有し、CPU2から受け取ったデジタルの音声データをアナログの音声信号に変換してスピーカ81に出力する。スピーカ81は、音声処理部7から受け取ったアナログの音声信号に基づく音を放音する。なお、
図16においては音声処理部7を図示しているが、
図1においては図面が煩雑になるのを防ぐため、音声処理部7の図示を省略している。
【0056】
なお、この実施形態では、マイク80とスピーカ81とがカラオケ装置1に含まれている場合について説明するが、音声処理部7に入力端子及び出力端子を設け、オーディオケーブルを介してその入力端子に外部マイクを接続する構成としても良く、同様に、オーディオケーブルを介してその出力端子に外部スピーカを接続するとしても良い。また、この実施形態では、マイク80からスピーカ81へ出力されるオーディオ信号がアナログオーディオ信号である場合について説明するが、デジタルオーディオデータを入出力するようにしても良い。このような場合には、音声処理部7にてA/D変換やD/A変換を行う必要はない。操作部6や表示部5についても同様であり、外部出力端子を設け、外部もモニタを接続する構成としてもよい。
【0057】
歌詞データ記憶領域24には、各楽曲の歌詞を示す歌詞データ及び歌詞の背景に表示される背景映像を表す背景映像データが記憶されている。歌詞データによって示される歌詞は、カラオケ歌唱の際に、楽曲の進行に伴って歌詞テロップとして表示部5に表示される。また、背景映像データによって表される背景映像は、カラオケ歌唱の際に楽曲の進行に伴って歌詞テロップの背景として表示部5に表示される。
【0058】
<動作>
図17A,
図17Bは、本実施形態の処理の流れを示すフロー図である。操作部6を介して歌唱者により楽曲がリクエストされると(ステップS101)、CPU2は、記憶部20からリクエストされた楽曲の検索を行う。具体的には、CPU2は、楽曲情報データ記憶領域21及び歌詞データ記憶領域24の各々から、選択された楽曲の曲番号または曲名をキーにして、その楽曲に関するデータを検索し、検索結果のデータをRAMに読み込む。
【0059】
次いで、CPU2は、RAMに記憶された伴奏データ、映像データ及びGMデータに基づいて、カラオケ楽曲の再生を行う(ステップS102)。具体的には、CPU2は、伴奏データ及びGMデータに基づく音声をスピーカ81から放音させるとともに、映像データに基づく映像を表示部5に表示させる。
【0060】
歌唱者によって歌唱が開始されると(ステップS103)、CPU2は、マイク80によって収音された歌唱者の歌唱音声が音声処理部7によってデジタルのデータに変換されたものである歌唱音声データを、記憶部20の所定の領域に記憶させる。CPU2は、歌唱音声データを分析し(ステップS104)、歌唱音声データのピッチを特定する。
【0061】
CPU2は、歌唱音声データの分析結果に従って、音程・音程跳躍評価処理(ステップS105)、タイミング評価処理(ステップS106)、表現力評価処理(ステップS107)を行う。すなわち、CPU2は、上述した音程・音程跳躍評価エンジン13、リズム評価エンジン16、表現力評価エンジン18の処理を行う。
【0062】
歌唱者が歌唱を終え(ステップS108)、カラオケ楽曲の再生が終了する(ステップS109)と、CPU2は、歌唱音声データから特定されたピッチと、GMデータによって示されるピッチとの差分に従って歌唱者の歌唱音声を評価し、評価結果を表示部5に表示する(ステップS110)。
【0063】
次いで、CPU2は、上述の歌唱指導選定エンジン14の処理を行う。すなわち、歌唱指導選定エンジン14は、サーバ50から指導履歴データを取得し(ステップS111)、取得した指導履歴データに従って歌唱指導の選定係数(重み付け係数)を動的に変更(調整)する(ステップS112)。具体的には、歌唱指導選定エンジン14は、ネットワーク40上のサーバ50から、歌唱者のこれまでの指導履歴を表す指導履歴データを取得し、取得結果に応じて重み付け係数を変更し指導内容が偏らないように動的に調整する。より具体的には、例えば、歌唱指導選定エンジン14は、指導履歴データを参照して、これまでに歌唱指導曲データが生成された回数を評価項目毎に集計し、集計結果が大きい(すなわち歌唱指導曲データが生成された回数が多い)ほど重み付け係数の値が小さくなるようにしてもよい。このようにすることにより、これまでにあまり練習を行っていない評価項目の優先度を高くすることができる。なお、重み付け係数の変更の態様は上述したものに限らない。例えば、歌唱指導選定エンジン14は、予め定められたランダム関数に従って評価項目毎の重み付け係数の値を動的に変更してもよい。また、重み付け係数の値を動的に変更する構成とせず、評価項目毎の重み付け係数を予め設定しておくようにしてもよい。
【0064】
次いで、歌唱指導選定エンジン14は、音程・音程跳躍評価エンジン13、リズム評価エンジン16、及び表現力評価エンジン18から評価結果を取得し(ステップS113)、歌唱指導内容(各評価項目)の優先順位を算出する(ステップS114)。歌唱指導選定エンジン14は、算出した優先順位に従って歌唱指導内容(歌唱指導曲データを生成するための評価項目)を選定する(ステップS115)。
【0065】
次いで、CPU2は、上述のテンプレート読出部31の処理を行う。すなわち、テンプレート読出部31は、再生された楽曲のジャンル、テンポ情報を取得する(ステップS116)とともに、歌唱指導選定エンジン14から歌唱指導選定結果(選定された評価項目)を示す情報を取得する(ステップS117)。テンプレート読出部31は、ステップS116、及びステップS117の取得結果に従って、リズムテンプレート及びピッチテンプレートを選定する(ステップS119)。
【0066】
リズムテンプレート及びピッチテンプレートを選定すると、CPU2は、メロディリズム生成部32、メロディピッチ生成部33、及び伴奏読出部34の処理を行う。すなわち、メロディピッチ生成部33は、テンプレート読出部31により読み出されたリズムテンプレートを取得する(ステップS120)。また、メロディピッチ生成部33は、テンプレート読出部31により読み出されたピッチテンプレートを取得する(ステップS121)。また、伴奏読出部34は、テンプレート読出部31により読み出されたテンプレートに対応する伴奏データを取得する(ステップS122)。
【0067】
メロディリズム生成部32は、取得したリズムテンプレートに従ってリズムデータを生成する(ステップS123)。メロディピッチ生成部33は、メロディリズム生成部32により生成されたリズムデータに対して、取得したピッチテンプレートに従ったピッチを付加してメロディデータを生成する(ステップS124)。歌唱指導作曲エンジン30の加算器35は、メロディピッチ生成部33により生成されたメロディデータと伴奏読出部34により読み出された伴奏データとを合成し(ステップS125)、歌唱指導曲データを生成する(ステップS126)。
【0068】
歌唱指導曲データの生成処理を終えると、CPU2は、歌唱指導を行うか否かを歌唱者に選択させる処理を行う(ステップS127)。この処理は、例えば、CPU2が、歌唱指導を行うか否かを選択するための画面を表示部5に表示させてもよい。歌唱者は、操作部6を操作して歌唱指導を行うか否かを選択する。歌唱者によって歌唱指導を行わないと選択された場合には(ステップS127;NO)、CPU2は、そのまま処理を終了する。一方、ステップS127において、歌唱指導を行うと選択された場合には(ステップS127;YES)、CPU2は、歌唱指導を開始する(ステップS128)。すなわち、シーケンサ60が、歌唱指導作曲エンジン30によって生成された歌唱指導曲データを再生する。
【0069】
歌唱者は、再生される歌唱指導曲に合わせて、例えば「ラ・ラ・ラ…」といった発音で歌唱の練習を行う。歌唱指導曲の再生を終えると、CPU2は、歌唱音声データを分析した後(ステップS129)、歌唱指導を終了し(ステップS130)、歌唱評価結果を表示部5に表示する(ステップS131)。
【0070】
以上説明したように本実施形態では、CPU2は、歌唱者の歌唱音声のピッチとGMデータのピッチとを比較し、比較結果に応じて歌唱者の歌唱音声を複数の評価項目について評価する。CPU2は、評価結果を音程や音程跳躍等の評価項目毎に分類集計し、評価値が予め定められた条件を満たす評価項目を歌唱者が不得手な項目と判定する。CPU2は、不得手と判定した評価項目を集中的に練習可能な歌唱指導曲を動的に生成し、歌唱者に提供する。これにより、決まりきったワンパターンな歌唱練習曲ではなく、様々なメロディやリズムのバリエーションにとんだ歌唱指導曲を歌唱者に提供することができる。また、CPU2は、ジャンル毎に設けられたテンプレートを用いて歌唱指導曲データを生成するから、ジャンルによる独特なリズムやテンポの練習、同じ練習で歌唱者を飽きさせない指導を行うことができる。
【0071】
<変形例>
以上の実施形態は次のように変形可能である。尚、以下の変形例は適宜組み合わせて実施しても良い。また、上記実施形態と以下の変形例を組み合わせて実施しても良い。
【0072】
<変形例1>
上述の実施形態では、歌唱ピッチ特定エンジン11が、マイク80によって収音された音声のピッチを特定したが、本発明に係る特徴特定部が特定する音声の特徴は音声のピッチに限らない。音声の特徴は、例えば、音声の音量や、FFT(Fast Fourier Transform)などを用いて得られる周波数分析結果、特定の倍音のパワーの変動、特定の倍音と基音のパワーの比率、倍音成分のパワーの合計と基音パワーの比率、SN比率、ラウドネス(音量を聴覚の周波数特性に合わせて補正した値。「A特性音圧レベル」、「サウンドレベル」とも呼ばれる。)等であってもよく、音声の特徴を表すものであればどのようなものであってもよい。特定される特徴を用いて音声が評価される構成であればよい。音声のピッチ以外の特徴を用いて評価を行うことにより、評価処理の精度を上げることができる場合がある。
【0073】
<変形例2>
上述の実施形態では、カラオケ装置1のCPU2は、「音程」、「音程跳躍」、「表拍」、「裏拍」、「3連符」、「16分音符」、「ビブラート」、「しゃくり」、「こぶし」、「フォール」といった評価項目について評価を行ったが、評価項目は上述したものに限らない。例えば、トレモロ、ため、ファルセットといった評価項目について評価を行ってもよい。また、本発明に係る「評価項目」には、「音階D#4」や、「音階D4」、といったひとつの音階や、「音階A#3から音階D#4」といった特定の音階から特定の音階への音階跳躍も含まれる。「音階D#4」と「音階D4」とをそれぞれ異なる評価項目として扱ってもよく、また、「音階」という評価項目にひとくくりとして扱う構成としてもよい。
【0074】
<変形例3>
上述の実施形態では、歌唱指導選定エンジン14は、評価項目毎に重み付け係数を予め設定しておき、評価項目毎の評価値に重み付け係数を乗算し、乗算結果に従って2つの評価項目を特定したが、評価項目の特定の態様はこれに限らない。例えば、歌唱指導選定エンジン14が、評価項目毎の評価値に対して評価項目毎の重み付け係数を乗算し、乗算結果が最も小さい評価項目を特定してもよい。また、他の例として、例えば、歌唱指導選定エンジン14は、音程の評価値が低い音階を評価値の低い順に下から3つ特定する、といったように、評価項目毎の評価値が予め定められた閾値以下である評価項目を特定してもよい。要は、歌唱指導選定エンジン14は、評価値が予め定められた条件を満たす評価項目を1又は複数選択するものであればどのようなものであってもよい。この態様においても、上述の実施形態と同様に、歌唱者の不得意な評価項目が選定されるから、歌唱者は自身が不得意な項目について歌唱の練習を行うことができる。
【0075】
<変形例4>
上述の実施形態では、テンプレート読出部31は、歌唱指導選定エンジン14により特定された評価項目に対応するリズムテンプレートとピッチテンプレートとを作曲用テンプレートデータ記憶領域22から読み出したが、これに限らず、リズムテンプレートとピッチテンプレートとのいずれか一方を読み出すようにしてもよい。例えば、歌唱指導選定エンジン14により特定された評価項目に対応するテンプレートがリズムテンプレートのみである場合には、テンプレート読出部31はリズムテンプレートのみを読み出すようにしてもよい。この場合は、歌唱指導作曲エンジン30は、テンプレート読出部31によって読み出されたリズムテンプレートと、予め定められたピッチテンプレートとを用いて歌唱指導曲データを生成してもよく、リズムテンプレートのみが読み出される場合における各ノートのピッチの決定方法は任意である。要は、歌唱指導作曲エンジン30は、テンプレート読出部31によって読み出されたリズムテンプレートにより示されるノートの発音タイミングの列に従ったノートの列で構成される楽曲を表す歌唱指導曲データを生成するものであればどのようなものであってもよい。また、例えばドラムの練習曲等を生成する場合には、歌唱指導作曲エンジン30が、楽曲を構成する各ノートのピッチを特定せずに、各ノートの発音タイミングのみが特定されたメロディデータを生成してもよい。この態様によれば、ピッチテンプレートを用いることなくメロディデータを生成することができる。
【0076】
また、他の例として、例えば、歌唱指導選定エンジン14により特定された評価項目に対応するテンプレートがピッチテンプレートのみである場合には、テンプレート読出部31はピッチテンプレートのみを読み出すようにしてもよい。この場合は、歌唱指導作曲エンジン30は、テンプレート読出部31によって読み出されたピッチテンプレートと、予め定められたリズムテンプレートとを用いて歌唱指導曲データを生成してもよく、ピッチテンプレートのみが読み出される場合における各ノートの発音タイミングの決定方法は任意である。要は、歌唱指導作曲エンジン30は、テンプレート読出部31によって読み出されたピッチテンプレートにより示されるピッチの時間的な変化に従ったノートの列で構成される楽曲を表すメロディデータを生成するものであればどのようなものであってもよい。また、上述の実施形態では、リズムテンプレートとピッチテンプレートとを作曲用テンプレートデータ記憶領域22に記憶させておく構成としたが、リズムテンプレートを記憶する構成とせず、ピッチテンプレートのみを記憶させておく構成としてもよい。また、ピッチテンプレートを記憶する構成とせず、リズムテンプレートのみを作曲用テンプレートデータ記憶領域22に記憶させておく構成としてもよい。
【0077】
また、他の例として、ピッチテンプレートとリズムテンプレートとをそれぞれ個別に用いる構成とせず、発音タイミングとピッチとを示すノート列を表すテンプレート(すなわちリズムテンプレートとピッチテンプレートとが一体となったテンプレート)を用いる構成としてもよい。この場合も、上述の実施形態と同様に、作曲用テンプレートデータ記憶領域22に、テンプレートを評価項目毎に記憶しておく構成とし、テンプレート読出部31が、歌唱指導選定エンジン14により特定された評価項目に対応するテンプレートを読み出すようにすればよい。本発明に係るピッチテンプレートは、少なくともピッチの時間的な変化を表すデータであればよく、本発明に係るピッチテンプレートには、発音タイミングとピッチとの両方を示すノート列のデータも含まれる。
【0078】
また、上述の実施形態では、4分音符に対応する単位時間長毎のピッチを表すピッチテンプレートを用いたが、ピッチテンプレートはこれに限らない。例えば、8部音符を単位時間長としてピッチの時間的な変化を表すピッチテンプレートを用いてもよく、ピッチの時間的な変化が表されたものであればどのもようなものであってもよい。
【0079】
<変形例5>
上述の実施形態では、歌唱指導作曲エンジン30は、メロディピッチ生成部33により生成されたメロディデータと伴奏データとを合成した歌唱指導曲データを生成し、シーケンサ60に出力したが、メロディデータと伴奏データとを合成する構成とせず、メロディピッチ生成部33により生成されたメロディデータのみを出力する構成としてもよい。この態様においても、上述の実施形態と同様に、歌唱者は、再生されるメロディデータにあわせて歌唱の練習を行うことができる。
【0080】
また、上述の実施形態では、伴奏データをテンプレートに対応付けて記憶する構成としたが、これに限らない。例えば、伴奏データをジャンル毎に記憶する構成としてもよい。この場合は、伴奏読出部34は、歌唱ピッチ評価エンジン12で参照されたGMデータのジャンル種別に対応する伴奏データを読み出して出力すればよい。この態様によれば、楽曲のジャンルにあった伴奏データを用いて歌唱指導曲データを生成することができる。
【0081】
<変形例6>
上述の実施形態において、リズムテンプレートとピッチテンプレートとを対応付けて記憶しておく構成とし、テンプレート読出部31が、互いに対応するリズムテンプレートとピッチテンプレートとを読み出す構成としてもよい。この態様によれば、互いに対応するリズムテンプレートとピッチテンプレートを用いるため、より自然が楽曲を生成することができる。
上述の実施形態において、難易度毎にテンプレートを用意してもよい。この場合、作曲用テンプレートデータ記憶領域22には、リズムテンプレート及びピッチテンプレートが、評価項目毎、かつ難易度毎に記憶される。この場合、テンプレート読出部31は、歌唱指導選定エンジン14により特定された評価項目毎の評価値に応じて難易度を選定し、選定した難易度に対応するリズムテンプレート及びピッチテンプレートを作曲用テンプレートデータ記憶領域22から読み出す。この態様によれば、歌唱者の歌唱の巧拙に応じたテンプレートを用いて歌唱指導曲データを生成することができる。
【0082】
また、上述の実施形態において、歌唱者のこれまでの指導履歴により歌唱可能な声域を分析し、不得手な音程を徐々に無くすことで声域を広げる歌唱指導をしてもよい。具体的には、例えば、用いられる音域がそれぞれ異なるピッチテンプレートを作曲用テンプレートデータ記憶領域22に記憶しておき、テンプレート読出部31が、指導履歴データ記憶領域51に記憶された指導履歴データに従って、練習する毎に音域が徐々に広がるようにピッチテンプレートを読み出す構成としてもよい。この態様によれば、歌唱者の不得手な音程を徐々に無くすことで声域を広げる歌唱指導を行うことができる。
【0083】
<変形例7>
上述の実施形態では、CPU2は、生成した歌唱指導曲データを再生したが、これに限らず、歌唱指導曲データを、外部接続された記憶装置に出力するようにしてもよく、また、例えば、通信ネットワークを介して接続されたサーバ装置へ送信することによって歌唱指導曲データを出力するようにしてもよい。この態様によれば、カラオケ装置1によって生成された歌唱指導曲データを、他の装置で再生することができる。
【0084】
また、上述の実施形態では、歌唱指導作曲エンジン30がその都度歌唱指導曲データをその都度生成したが、歌唱指導曲データを記憶する歌唱指導データ記憶領域を記憶部20に設ける構成とし、歌唱指導選定エンジン14により選定された評価項目に対応する歌唱指導曲データを上記記憶領域から読み出して再生する構成としてもよい。この態様によれば、歌唱指導曲データをその都度生成する必要がなくなり、歌唱指導作曲エンジン30の処理負荷を下げることができる。
【0085】
<変形例8>
上述の実施形態において、リズムテンプレートやピッチテンプレートに加えて、歌詞を表す歌詞テンプレートを作曲用テンプレートデータ記憶領域22に記憶しておく構成とし、テンプレート読出部31が、リズムテンプレートやピッチテンプレートを読み出す際に、歌詞テンプレートもあわせて読み出し、読み出した歌詞テンプレートの表す歌詞を表示部5等に表示する構成としてもよい。この場合、歌詞テンプレートはリズムテンプレートに対応付けて記憶する構成とし、テンプレート読出部31によって読み出されたリズムテンプレートに対応する歌詞テンプレートを用いてもよい。この態様によれば、歌詞のある歌唱指導曲を歌唱者に提示することができる。
【0086】
また、上述の実施形態において、合成歌唱音を生成する歌唱合成エンジン70(
図1に鎖線で図示)を設ける構成とし、歌唱指導時に模範となる歌唱合成音を再生してもよい。すなわち、歌唱合成エンジン70が、模範となる歌唱音声と歌唱指導曲データの表す音とを合成し、合成された音をシーケンサ60に出力することによって再生してもよい。この場合、歌唱合成エンジン70は、例えば「ラ・ラ・ラ…」といった、予め定められた音素列を用いて歌唱合成音を生成してもよく、また、例えば、上述した歌詞テンプレートを用いて、読み出された歌詞テンプレートの表す歌詞に対応する歌唱合成音を生成してもよい。この態様によれば、歌唱指導時に模範となる歌唱合成音を歌唱者に提示することができる。
【0087】
<変形例9>
上述の実施形態において、CPU2が、歌唱指導を行った後に、再度歌唱評価を行ってもよい。より具体的には、
図17のステップS131の処理を終えた後に、ステップS110の処理に戻り、再度、歌唱評価処理(ステップS110)や、歌唱指導曲生成処理(ステップS111乃至ステップS126)を行ってもよい。この態様によれば、歌唱指導後の歌唱音声について再度歌唱評価を行うことができる。
【0088】
また、上述の実施形態では、カラオケ装置1のCPU2が、歌唱指導曲データを生成した後に、歌唱指導を行うか否かを歌唱者に選択される構成としたが、処理の順序はこれに限定されるものではなく、歌唱指導を行うか否かを歌唱者に選択させ、歌唱者によって歌唱指導を行うと選択された場合にのみ、CPU2が、歌唱指導曲データを生成する構成としてもよい。この態様によれば、歌唱者が歌唱指導を望まない場合には歌唱指導曲データを生成しないため、CPU2の処理負荷を軽減することができる。
【0089】
また、上述の実施形態では、CPU2が、歌唱が行われている最中にリアルタイムで採点処理を行ったが、これに限らず、CPU2が、歌唱音声データを予め定められた記憶領域に記憶しておき、歌唱が終了した後で採点を行ってもよい。この態様によれば、カラオケ伴奏の再生中には採点処理を行わないため、カラオケ伴奏の再生中におけるCPU2の処理負荷が軽減される。
【0090】
<変形例10>
また、上述の実施形態では、CPU2は、歌唱者が歌唱練習を行うための歌唱指導曲データを生成したが、楽器の演奏を行う演奏者が演奏練習を行うための演奏指導曲データを生成してもよい。本実施形態にいう「音声」には、人間が発生した音声や楽器の演奏音といった種々の音響が含まれる。
【0091】
<変形例11>
上述の実施形態において、通信ネットワークで接続された2以上の装置が、上記実施形態のカラオケ装置1に係る機能を分担するようにし、それら複数の装置を備えるシステムが同実施形態のカラオケ装置1を実現するようにしてもよい。例えば、
図1に示した歌唱指導エンジン10と、記憶部20と、歌唱指導作曲エンジン30等を備える第1のコンピュータ装置と、シーケンサ60やスピーカ等を備える第2のコンピュータ装置とが通信ネットワークで接続されたシステムとして構成されていてもよい。この場合は、例えば、第1のコンピュータ装置が、歌唱指導曲データを生成して第2のコンピュータ装置に送信し、第2のコンピュータ装置が、受信した歌唱指導曲データを再生してスピーカから放音する構成としてもよい。
【0092】
<変形例12>
上述の実施形態では、CPU2がROM3又は記憶部20に記憶されたコンピュータプログラムを読み出して実行することによって
図1に示す歌唱指導エンジン10、歌唱指導作曲エンジン30、及びシーケンサ60が実現されたが、CPUに限らず、MPU(Micro-Processing Unit)や、DSP(Digital Signal Processor)等の他の制御部によって実現される構成であってもよい。また、歌唱指導エンジン10、歌唱指導作曲エンジン30、及びシーケンサ60は、CPU等の制御部によりソフトウェアとして実現されるに限らず、カラオケ装置1は、
図1に示される機能要素の各々に対応する専用のハードウェア(回路)を有していてもよい。
【0093】
<変形例13>
本発明は、楽曲練習支援装置以外にも、これらを実現するための方法や、コンピュータに楽曲練習支援機能を実現させるためのプログラムとしても把握される。かかるプログラムは、これを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等を介して、コンピュータにダウンロードさせ、これをインストールして利用させるなどの形態でも提供されたりする。この態様によれば、家庭のPC(Personal Computer)や携帯端末等(スマートフォンを含む)で、上述した実施形態に係るサービスを提供できる。
【0094】
<変形例14>
上述の実施形態では、歌唱指導作曲エンジン30が、歌唱指導選定エンジン14により選定された評価項目に応じて歌唱指導曲データを生成したが、歌唱指導曲データを生成するに限らず、予め記憶された歌唱指導曲データを読み出す構成であってもよい。この態様について
図18を参照しつつ説明する。
図18は、この態様におけるシステム構成の一例を示すブロック図であり、上述した実施形態において
図1に示したブロック図に対応するものである。
図18に示すシステムが
図1に示したシステムと異なる点は、作曲用テンプレートデータ記憶領域22と伴奏データ記憶領域23に代えて、歌唱指導曲データ記憶領域25を有している点と、歌唱指導作曲エンジン30に代えて歌唱指導選曲エンジン30Aを有している点であり、他の構成要素については上述した実施形態において
図1に示したそれと同様である。そこで、以下の説明においては、上述した実施形態と同様の構成要素については同じ符号を付して適宜その説明を省略する。
【0095】
歌唱指導曲データ記憶領域25には、歌唱指導曲データが評価項目に対応付けて予め記憶されている。歌唱指導曲データは、上述の実施形態における歌唱指導曲データと同様である。この態様においては、歌唱指導選定エンジン14は、優先順位が最も高い評価項目を選定し、歌唱指導選曲エンジン30Aは、歌唱指導選定エンジン14によって選定された評価項目に対応付けて記憶された歌唱指導曲データを、歌唱指導曲データ記憶領域25から読み出し、シーケンサ60に供給して再生させる。なお、この態様では、歌唱指導曲データを評価項目に対応付けて記憶する構成としたが、歌唱指導曲データに代えて、ノートの列で構成されるメロディデータを評価項目に対応付けて記憶しておく構成とし、歌唱指導選曲エンジン30Aが、歌唱指導選定エンジン14によって選定された評価項目に対応するメロディデータを読み出して再生するようにしてもよい。この態様によれば、歌唱指導曲データやメロディデータを生成する必要がない。
【0096】
<変形例15>
上述の実施形態では、歌唱指導作曲エンジン30が、歌唱指導選定エンジン14により選定された評価項目に対応するテンプレートを用いて歌唱指導曲データを生成したが、歌唱指導曲データの生成態様はこれに限らない。例えば、歌唱指導作曲エンジン30が、楽譜に対して評価項目毎にそれぞれ異なる学習処理を行って学習した音符の確率分布よりメロディデータを生成し、生成したメロディデータを分析し対応した伴奏音とあわせることで歌唱指導曲データを生成してもよい。この場合、歌唱指導作曲エンジン30が、ランダム関数に従って第一の音符をランダムに生成し、第二以降の音符を、1つあるいは複数個前に生成した音符が生成された上で評価項目毎に予め定めた確率分布に従って生成する構成としてもよい。ここで、歌唱指導作曲エンジン30は、生成した音符列に対し、同様に学習した確率分布に従い音高を付加してもよい。音符の確率分布を学習する際に音楽ジャンルを限定する、あるいは、確率分布に従い音符を生成する際に音楽的規則を加えることで特定ジャンル風の歌唱指導曲データを生成するようにしてもよい。要は、歌唱指導作曲エンジン30は、特定された評価項目に応じた生成態様で楽曲データを生成するものであればどのようなものであってもよい。