説明

歌唱音高差特定装置、及びプログラム

【課題】ユーザにとって歌唱しやすい推奨曲を決定したり、歌唱の上手さを正確に採点したりするために用いる情報を生成することが可能な技術の提供。
【解決手段】歌唱音高差特定処理では、歌唱遷移区間抽出処理(S160)にて抽出した歌唱遷移区間f0vtそれぞれを、対応する音高遷移モデル曲線f0modelに照合して、音高遷移スコアtscを導出する(S170)。それらの導出した音高遷移スコアtscを音高差区分毎に集計し(S190)、その集計した集計遷移スコアmtscが規定値以上である歌唱可能音高差区分ITM1、即ち、ユーザが歌唱可能な音高差区分を特定する(S210)。その後、特定構成音の音高差が、歌唱可能音高差区分ITM1の範囲内である楽曲を推奨曲としてユーザに提案したり、歌唱可能音高差区分ITM1の最大音高差が大きいほど大きな値となる重みを採点結果に付与する(S220)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、推奨曲の提案や採点の実行といったカラオケ装置が有する機能の実施に用いられる情報を生成する歌唱音高差特定装置、及びプログラムに関する。
【背景技術】
【0002】
従来より、伴奏音楽に合わせてユーザが歌唱を楽しむカラオケ装置において、ユーザが歌唱可能であると推定した楽曲を推奨曲として提案するものや、ユーザの歌唱の上手さを採点するものが知られている。
【0003】
一般的に、これらのカラオケ装置では、推奨曲を提案する際には、ユーザにとって歌唱しやすい楽曲を推奨曲として提案することが、採点を実行する際には、多くの人が納得するように採点結果を導出することが求められている。
【0004】
これに対し、例えば、推奨曲を提案する際に、ユーザが歌唱可能な音域内において、構成音の音高が遷移する楽曲を推奨曲として選択することが提案されている(例えば、特許文献1参照)。また、採点を実行する際に、歌唱音声についての基本周波数と、予め用意された基準値との一致度合いが高いほど優れた結果となるように採点すること(以下、基本採点とする)に加えて、歌唱者が歌唱可能な音域には重みを付与した採点結果を導出することが提案されている(例えば、特許文献2参照)。
【0005】
つまり、特許文献1や、特許文献2に記載のカラオケ装置では、ユーザが歌唱可能な音域(以下、歌唱音域と称す)を用いて、推奨曲を決定したり、基本採点の結果に付加する重みを導出している。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−107313号公報
【特許文献2】特許第3290945号
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、歌唱のしやすさや、歌唱の上手さは、歌唱音域のみによって決定されるものではなく、その他の様々な歌唱能力によっても変わる。
【0008】
しかしながら、特許文献1、2に記載されたカラオケ装置では、ユーザが有している歌唱能力のうち、歌唱音域のみを用いて、推奨曲の決定や、歌唱の上手さを採点(評価)するため、ユーザにとって十分に歌唱しやすい楽曲を推奨曲としたり、ユーザの歌唱の上手さを正確に採点したりすることができないという問題があった。
【0009】
そこで、本発明は、ユーザにとって歌唱しやすい推奨曲を決定したり、歌唱の上手さを正確に採点したりするために用いる情報を生成することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するためになされた本発明は、各楽曲を構成する構成音それぞれの音高及び音価を表す楽曲データに従って楽曲を演奏するカラオケ装置にて用いられる歌唱音高差特定装置である。
【0011】
その本発明の歌唱音高差特定装置では、音声信号取得手段が、カラオケ装置にて楽曲の演奏中に入力された音声(以下、音声信号とする)を、その音声を発したユーザ及び演奏中の楽曲を識別するための識別情報と対応付けて取得し、歌唱データ生成手段が、その取得した音声信号を周波数解析することで、音高の遷移を表す歌唱データを生成する。
【0012】
そして、遷移区間特定手段が、その生成された歌唱データの中で、遷移元音に対する歌唱区間の終端(以下、区間終端とする)から、到達音に対する歌唱区間の始端(以下、区間始端とする)までの歌唱区間(以下、歌唱遷移区間と称す)を特定する。ただし、ここで言う到達音とは、識別情報から特定される楽曲中にて音高が切り替わるように連続する2つの構成音(以下、特定構成音と称す)のうち、音高が切り替わった後に到達する構成音であり、ここで言う遷移元音とは、特定構成音のうちの他方(音高が切り替わる前の遷移元となる構成音)である。
【0013】
さらに、その特定された歌唱遷移区間それぞれについて、遷移値導出手段が、歌唱遷移区間と、音高遷移モデルとの一致度合いが高いほど大きな値となる音高遷移値を導出する。ただし、ここで言う音高遷移モデルとは、遷移元音に対応する音高から到達音に対応する音高へと発声音高を理想的に遷移させた時の遷移態様である。
【0014】
このようにして導出された音高遷移値を、歌唱音高差特定手段が、それぞれの歌唱遷移区間での音高差毎に集計し、その集計結果(以下、集計遷移値とする)が規定値以上である音高差を、識別情報から特定されるユーザが歌唱可能な音高差として特定する。
【0015】
このような本発明の歌唱音高差特定装置によれば、ユーザが歌唱可能な音高差、即ち、ユーザが歌唱可能な音程を特定することができる。
【0016】
特に、ユーザが無理をして発声した状態では、遷移元音に対応する音高から到達音に対応する音高への音高推移を滑らか(スムーズ)に歌唱することが困難であることから、本発明の歌唱音高差特定装置によれば、ユーザが無理をすることなく歌唱可能な音高差を特定することができる。
【0017】
そして、本発明の歌唱音高差特定装置を有したカラオケ装置において、連続する2つの構成音の音高差が、主として、特定した歌唱可能な音高差の範囲内である楽曲を推奨曲としてユーザに提案するようにすれば、ユーザにカラオケをより楽しませることができる。また、本発明の歌唱音高差特定装置を有したカラオケ装置において、特定した歌唱可能な音高差が大きいほど大きな値となる重みを、基本採点の結果に付与すれば、ユーザの歌唱の上手さをより正確に採点することができる。
【0018】
ところで、一般的には、遷移元音の音高と到達音の音高との音高差(以下、構成音間音高差と称す)が大きいと、楽曲中における遷移元音の終端から到達音の始端までの間の区間(以下、特定区間とする)を滑らかに歌唱することは困難となる。しかし、構成音間音高差が大きかったとしても、特定区間の時間長が長いほど、特定区間を滑らかに歌唱することは容易となる。
【0019】
すなわち、構成音間音高差が同一であっても、特定区間の時間長によって、ユーザが歌唱可能であるか否かが異なる。
【0020】
このため、本発明において、歌唱音高差特定手段は、請求項2に記載のように、音高遷移値を、それぞれの歌唱遷移区間の区間長毎に分類して集計するように構成されていることが望ましい。
【0021】
このように構成された歌唱音高差特定装置によれば、ユーザが歌唱可能な音高差を、歌唱区間の時間長毎に特定することができる。つまり、このように構成された歌唱音高差特定装置によれば、ユーザの歌唱能力を詳細に特定することができる。
【0022】
また、通常、一つの楽曲における構成音間音高差の分布は、それぞれの楽曲によって大きく異なっているため、特定の構成音間音高差が多く含まれた楽曲のみをユーザが歌唱した場合、その特定の構成音間音高差に対する集計遷移値が大きな値となってしまう。
【0023】
したがって、本発明の歌唱音高差特定装置においては、集計遷移値を正規化することが望ましい。
【0024】
このように、集計遷移値を正規化した場合、正規化された集計遷移値の分布は、図9に示すように、歌唱の上手な(即ち、歌唱能力が高い)ユーザであれば、各音高差それぞれでの集計結果(即ち、正規化された集計遷移値)にバラつきがなくなり、全ての音高差において、集計結果が最大値に近い値となる。一方、歌唱の下手な(即ち、歌唱能力が低い)ユーザであれば、各音高差それぞれでの集計結果(即ち、正規化された集計遷移値)にバラつきが生じ、歌唱可能な音高差における集計結果と、歌唱不可能な音高差における集計結果との間の差が大きくなる。
【0025】
したがって、請求項3に記載のように、歌唱音高差特定手段にて用いる規定値を、集計遷移値の最大値に対して予め規定された割合とすれば、ユーザのレベル(技量)に応じて、ユーザが歌唱可能である音高差を適切に特定することができる。
【0026】
ところで、本発明において、遷移区間特定手段は、請求項4に記載のように、分散値導出手段が、歌唱データに対して、時間の進行に沿って連続するように予め設定された区間長を有する時間窓を複数設定し、その設定された時間窓それぞれについて、時間窓内における歌唱データの分散である分散値を導出し、始終端特定手段が、その導出された分散値のうち、互いに連続する時間窓に対する分散値の差分を導出し、その差分が最小及び最大となる2つの時間窓の中心それぞれを、区間終端及び区間始端として特定するように構成されていても良い。
【0027】
このように構成された遷移区間特定手段において、分散値導出手段は、特に、切替区間特定手段が、歌唱データにて、遷移元音に対する歌唱区間、到達音に対する歌唱区間、及びそれらの両歌唱区間に挟まれた歌唱区間からなる切替区間を特定し、その特定した切替区間内に対して複数の時間窓を設定するように構成されていても良い。そして、歌唱区間を特定する方法は、識別情報から特定される楽曲データを取得し、歌唱データと楽曲データとを照合することでも良い。
【0028】
なお、本発明は、カラオケ装置にて用いられるコンピュータに実行されるプログラムであっても良い。
【0029】
この場合、本発明のプログラムは、請求項5に記載のように、音声信号取得手順にて、音声信号を識別情報と対応付けて取得し、その取得された音声信号を、歌唱データ生成手順にて周波数解析することで、音高の遷移を表す歌唱データを生成すると共に、その生成した歌唱データの中で、区間終端から区間始端までの歌唱区間を、遷移区間特定手順にて歌唱遷移区間として特定する。これと共に、特定された歌唱遷移区間それぞれについて、遷移値導出手順にて、歌唱遷移区間と、音高遷移モデルとの一致度合いが高いほど大きな値となる音高遷移値を導出し、その導出された音高遷移値を、歌唱音高差特定手順にて、それぞれの歌唱遷移区間での音高差毎に集計し、その集計結果が規定値以上である音高差を、識別情報から特定されるユーザが歌唱可能な音高差として特定するようになされている必要がある。
【0030】
つまり、請求項5に記載されたプログラムは、請求項1に記載された歌唱音高差特定装置を構成する各手段を、コンピュータに実現させるためになされたものである。したがって、コンピュータに各手順を実行させることで、請求項1に記載された歌唱音高差特定装置と同様の効果を得ることができる。
【0031】
なお、このようなプログラムであれば、例えば、DVD−ROM、CD−ROM、ハードディスク等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータにロードさせて起動することや、必要に応じて通信回線を介してコンピュータに取得させて起動することにより用いることができる。
【図面の簡単な説明】
【0032】
【図1】カラオケシステムの概略構成を示すブロック図である。
【図2】歌唱音高差特定処理の処理手順を示すフローチャートである。
【図3】歌唱遷移区間抽出処理の処理手順を示すフローチャートである。
【図4】歌唱音高差特定処理の処理内容を模式的に示した図面である。
【図5】歌唱音高差特定処理の処理内容を模式的に示した図面である。
【図6】歌唱遷移区間抽出処理の処理内容を模式的に示した図面である。
【図7】歌唱遷移区間抽出処理の処理内容を模式的に示した図面である。
【図8】歌唱音高差特定処理の処理内容を模式的に示した図面である。
【図9】正規化された集計遷移値について(請求項3に係る発明の概要)について示した説明図である。
【発明を実施するための形態】
【0033】
以下に本発明の実施形態を図面と共に説明する。
【0034】
まず、図1は、カラオケ用に予め加工された楽曲(以下、カラオケ楽曲とする)の演奏に応じてユーザが歌唱するためのカラオケシステムの概略構成を示すブロック図である。
【0035】
〈カラオケシステム全体の構成〉
図1に示すように、カラオケシステム1は、ユーザから指定されたカラオケ楽曲の再生を行うカラオケ装置20と、カラオケ楽曲の再生に必要なデータである楽曲データをカラオケ装置20に配信するサーバ30とを備え、それらカラオケ装置20とサーバ30とはネットワーク(例えば、専用回線や、WAN等)を介して接続されている。つまり、カラオケシステム1は、いわゆる通信カラオケシステムとして構成されたものである。
【0036】
このうち、サーバ30は、カラオケ楽曲の演奏に必要な処理プログラム(以下、カラオケ処理プログラムと称す)及び楽曲データを格納する記憶装置(図示せず)と、ROM,RAM,CPUを少なくとも有した周知のマイクロコンピュータ(図示せず)とを中心に構成された情報処理装置からなる周知のカラオケサービス用サーバ装置である。
【0037】
つまり、サーバ30は、カラオケシステム1(より正確には、カラオケ装置20)を使用したユーザに関する情報(以下、ユーザ情報とする)や、カラオケ装置20から送信されたカラオケ採点の結果等を一元管理すると共に、カラオケ装置20からの要求に対して楽曲データやカラオケ処理プログラムを送信するように構成されている。
【0038】
ところで、楽曲データは、カラオケ楽曲それぞれについて予め用意され、例えば、MIDI(Musical Instrument Digital Interface)フォーマットにて記述された周知のカラオケ再生用データである。
【0039】
したがって、楽曲データは、カラオケ楽曲に関するデータである楽曲情報と、ユーザが歌唱すべき旋律に関するデータであるガイドメロディと、そのカラオケ楽曲の歌詞に関するデータである歌詞情報とから構成されている。
【0040】
そして、楽曲情報には、カラオケ楽曲を特定するための曲番号データと、曲名を示す曲名データと、そのカラオケ楽曲の演奏時間を示す時間データとが含まれている。
【0041】
また、ガイドメロディは、カラオケ楽曲の旋律を形成する各構成音の音高、及び音価から構成されている。具体的に、本実施形態のガイドメロディは、各構成音それぞれの楽音出力開始時間及び楽音出力終了時間が、それぞれの構成音の音高と共に表されている。ただし、ここで言う楽音出力開始時間とは、その構成音の出力を開始するまでのカラオケ楽曲の演奏開始からの時間であり、楽音出力終了時間とは、その構成音の出力を終了するまでのカラオケ楽曲の演奏開始からの時間である。
【0042】
〈カラオケ装置について〉
次に、カラオケ装置20の構成について説明する。
【0043】
このカラオケ装置20は、サーバ30との間でデータ通信を実行するための通信部22と、通信部22を介してサーバ30から取得したカラオケ処理プログラム及び楽曲データを記憶する記憶部21と、各種画像を表示するための表示部23と、ユーザからの指示を受け付ける操作受付部24とを備えている。さらに、カラオケ装置20は、音声を入力するためのマイクロホン26と、音声を出力するためのスピーカ27と、マイクロホン26やスピーカ27を介した音声の入出力を制御する音声入出力部25と、カラオケ装置20を構成する各部21,22,23,24,25を制御する制御部28とを備えている。
【0044】
このうち、通信部22は、カラオケ装置20をネットワーク(例えば、専用回線や、WAN)に接続して外部と通信を行うための通信インタフェースであり、サーバ30に各種データを出力すると共に、サーバ30から各種データや処理プログラムを取得する。
【0045】
そして、表示部23は、例えば、液晶ディスプレイ等から構成された表示装置であり、操作受付部24は、例えば、複数のキースイッチ等から構成された入力装置や、周知のリモコンを介して入力された指示を受け付ける受信装置などからなる。
【0046】
また、音声入出力部25は、マイクロホン26を介して入力された音声(アナログ信号)をデジタル信号に変換し、そのデジタル信号を制御部28に入力するAD変換器として構成されている。これと共に、音声入出力部25は、スピーカ27からの音声の出力を制御するように構成されている。なお、以下では、マイクロホン26を介して入力され、デジタル信号に変換された音声を音声データと称す。
【0047】
さらに、記憶部21は、電源が切断されても記憶内容を保持すると共に記憶内容を読み書き可能に構成された記憶装置(例えば、ハードディスクドライブ)である。その記憶部21は、カラオケ処理プログラムを格納するプログラム格納領域と、楽曲データを記憶する楽曲データ格納領域と、音声データを記憶する特定用データ格納領域とを備えている。なお、特定用データ格納領域は、予め規定された規定数(例えば、5曲分)分のカラオケ楽曲に対する音声データを格納する音声データ格納領域が、予め設定されたユーザ数(例えば、5人分)分だけ用意されたものである。
【0048】
次に、制御部28は、電源が切断されても記憶内容を保持する必要のあるプログラムやデータを格納するROM28aと、プログラムやデータを一時的に格納するRAM28bと、ROM28aやRAM28bに記憶されたプログラムやデータに従って、カラオケ装置20を構成する各部21,22,23,24,25に対する制御及び各種演算を実行するCPU28cとを少なくとも有した周知のマイクロコンピュータを中心に構成されている。
【0049】
なお、RAM28bには、記憶部21からカラオケ処理プログラムが読み込まれ、CPU28cは、RAM28bに記憶したカラオケ処理プログラムに従って各処理を実行する。
【0050】
そのカラオケ処理プログラムとして、操作受付部24を介して指定されたカラオケ楽曲を演奏(再生)する共に、表示部23に歌詞を表示する周知のカラオケ演奏処理を実行するためのカラオケ演奏処理プログラムがある。また、カラオケ処理プログラムとして、カラオケ楽曲の演奏中にマイクロホン26を介して入力される音声から抽出した歌唱の音程やテンポを採点基準(即ち、ガイドメロディ)と照合し、その適合度合いを点数化することで採点結果とする周知の採点処理を実行するための採点処理プログラムがある。
【0051】
この他、カラオケ処理プログラムとして、ユーザ情報(例えば、氏名、性別、識別番号(ID)、年齢)を操作受付部24を介して受け付けるユーザ情報処理を実行するためのユーザ情報処理プログラムがある。また、カラオケ処理プログラムとして、カラオケ楽曲の演奏中に生成されるデータ(例えば、音声データ)や、カラオケ装置20を使用した時の履歴を、記憶部21またはサーバ30に蓄積する蓄積処理を実行するための蓄積処理プログラムがある。
【0052】
また、カラオケ処理プログラムとして、記憶部21の特定用データ格納領域に格納された音声データに基づいて、ユーザが歌唱可能な音高差(以下、歌唱音高差とする)を特定する歌唱音高差特定処理を実行するための音高差特定処理プログラムがある。つまり、CPU28cが歌唱音高差特定処理を実行することにより、カラオケ装置20(より正確には、制御部28)が、本発明の歌唱音高差特定装置として機能する。
【0053】
〈カラオケシステム1の動作について〉
次に、カラオケシステム1の作用(動作)について説明する。
【0054】
カラオケシステム1が使用される場合、カラオケ装置20(より正確には制御部28)では、ユーザ情報処理プログラムを実行して、当該カラオケ装置20を利用するユーザの人数分のユーザ情報を受け付け、その受け付けたユーザ情報それぞれを各音声データ格納領域と対応付ける。
【0055】
さらに、カラオケ装置20では、カラオケ演奏処理プログラムを実行することで、ユーザに指定されたカラオケ楽曲を演奏する共に、そのカラオケ楽曲の歌詞を表示部23に表示する。ただし、制御部28は、各カラオケ楽曲の演奏が開始される前には、操作受付部24を介してユーザ情報を取得する。
【0056】
そして、カラオケ楽曲の演奏が開始されると、その時に演奏されているカラオケ楽曲(以下、該当カラオケ楽曲と称す)に応じてユーザが歌唱する。そして、該当カラオケ楽曲の演奏が終了すると、制御部28では、CPU28cが蓄積処理プログラムを実行して、ユーザの歌唱音声から生成した音声データを、該当カラオケ楽曲の曲番号データと対応付けた上で(以下、音声データと、曲番号データとが対応付けられたデータを対応データとも称す)、音声データ格納領域に格納する。ただし、対応データが格納される音声データ格納領域は、該当カラオケ楽曲に対して歌唱を実行したユーザのユーザ情報が対応付けられたものである。これにより、音声データと、曲番号データと、ユーザ情報とが対応付けられることになる。
【0057】
以降、カラオケ装置20は、カラオケ演奏処理プログラムの実行から、音声データ格納領域に音声データを格納するまでの一連のサイクルを、ユーザがカラオケ楽曲の指定を終了するまで繰り返す。
【0058】
〈歌唱音高差特定処理〉
次に、CPU28cが実行する歌唱音高差特定処理について説明する。
【0059】
ここで、図2は、歌唱音高差特定処理の処理手順を示したフローチャートである。
【0060】
この歌唱音高差特定処理は、記憶部21の音声データ格納領域に規定数の音声データが格納された場合、即ち、一人のユーザが規定数分のカラオケ楽曲を歌唱した場合に起動されるものである。
【0061】
図2に示すように、歌唱音高差特定処理が起動されると、まず、S110にて、記憶部21の音声データ格納領域に格納されている全音声データのうち、一つの音声データを取得する。すなわち、図4(A)に示すように、カラオケ楽曲の演奏(即ち、演奏時間の進行)に沿って信号レベルが変化する音声信号を、音声データとして取得する。
【0062】
続く、S120では、演奏時間の進行に沿って連続するように設定された基準時間窓m毎に、S110で取得した音声データを抽出して、その抽出した音声データ毎に周波数解析(本実施形態では、FFT(Fast Fourier Transform))する。これにより、周波数解析の結果として、各基準時間窓m内での音声データの周波数スペクトル(即ち、周波数成分の分布)が、設定された基準時間窓mの数分だけ生成される。なお、基準時間窓mは、予め規定された時間長Tw(例えば、数十ms)を有した期間であり、添え字mは、基準時間窓のインデックス番号(したがって、mは、1以上の自然数)を表す。
【0063】
さらに、S130では、S120での周波数解析の結果(周波数スペクトル)に基づいて、本発明の歌唱データに相当する基本周波数遷移f0v(m)を導出する。
【0064】
具体的に、本実施形態におけるS130では、櫛型形状で表される調波構造モデルを予め用意し、その調波構造モデルと、各周波数スペクトルとを照合する周知の手法を用いて、基準時間窓mにおける基本周波数f0を周波数スペクトルから検出する。そして、その検出した基本周波数f0を、基準時間窓mの時間遷移、即ち、該当カラオケ楽曲の演奏時間の進行に従って、基本周波数遷移f0v(m)としてまとめる。
【0065】
これにより、図4(B)に示すような、該当カラオケ楽曲をユーザが歌唱した時の基本周波数f0の時間遷移を表す基本周波数遷移f0v(m)が導出される。
【0066】
続くS140では、S110で取得した音声データと対応付けられている曲番号データに従って、その曲番号データに対応するカラオケ楽曲のガイドメロディを記憶部21から取得する。
【0067】
そして、S150では、S130で導出された基本周波数遷移f0v(m)と、S140にて取得したガイドメロディとを照合することにより、時間遅延量tl(k)を導出する。
【0068】
ただし、時間遅延量tl(k)とは、音高が切り替わるように連続し、かつ歌詞が対応付けられた2つの構成音(以下、特定構成音と称す)のうち、音高が切り替わった後に到達する構成音(以下、到達音と称す)に対する発声遅れ時間を表すものである。なお、以下では、特定構成音のうち、音高が切り替わる前の遷移元となる構成音を遷移元音と称す。
【0069】
ここで、本実施形態における時間遅延量tl(k)の算出方法について詳しく説明する。ただし、本実施形態において、kは、該当する構成音(ここでは、到達音)の演奏の順番を表すものであり、該当カラオケ楽曲の演奏開始から、k番目に演奏されることを表している。よって、kは、構成音の総数を最大値とした自然数である。
【0070】
まず、ガイドメロディによって表された全ての構成音の音高の時間変化(即ち、ガイドメロディによる旋律)をガイドメロディ音高とする。
【0071】
そして、図4(C)に示すように、基本周波数遷移f0v(m)にガイドメロディ音高を照合することで、基本周波数遷移f0v(m)中において、構成音kに対する発声を開始したとみなせるタイミング(以下、構成音歌唱開始タイミングと称す)を検出する。なお、基本周波数遷移f0v(m)にガイドメロディ音高を照合する手法としては、特開2005−107330号公報に記載された手法を用いれば良い。
【0072】
さらに、その検出した構成音歌唱開始タイミングと、構成音kについての楽音出力開始時刻st(k)との差を時間遅延量tl(k)として算出する。
【0073】
このように、ガイドメロディ音高と基本周波数遷移f0v(m)との照合から、時間遅延量tl(k)の算出までの一連の流れを、カラオケ楽曲の時間進行に従って(即ち、kが1から最大となるまで、kを順次増加させながら)繰り返す。これにより、全ての構成音歌唱開始タイミングが検出され、それら全構成音歌唱開始タイミングについての時間遅延量tl(k)が求められる。
【0074】
続くS160では、基本周波数遷移f0v(m)の中で、遷移元音に対する区間の終端(以下、区間終端とする)、及び到達音に対する区間の始端(以下、区間始端とする)を特定すると共に、それらの特定した区間終端から区間始端までの間の連続する区間を歌唱遷移区間f0vt(m)として抽出する歌唱遷移区間抽出処理を実行する。
【0075】
〈歌唱遷移区間抽出処理〉
ここで、歌唱遷移区間抽出処理について詳細に説明する。
【0076】
なお、図3は、歌唱遷移区間抽出処理の処理手順を示したフローチャートであり、図6,7は、歌唱遷移区間抽出処理の処理内容を示した模式図である。
【0077】
この歌唱遷移区間抽出処理は、歌唱音高差特定処理のS160にて起動されると、図3に示すように、まず、S400にて、先に検出した全ての構成音歌唱開始タイミングの中で、一つの構成音歌唱開始タイミングを含む基準時間窓(以下、探査中心時間窓と称す)m0(k)を、下記(1)式に従って導出する。
【0078】
【数1】

ただし、(1)式において、roundは、整数値への丸めを意味する。
【0079】
そして、S410では、基本周波数遷移f0v(m)に対して、予め規定された区間の長さ(以下、窓区間長と称す)を有した一つの分析時間窓#pを設定する。なお、本実施形態において、窓区間長は、2M+1であり、Mは、基準時間窓mの個数である。
【0080】
具体的に、その分析時間窓#pは、窓区間長の中心(即ち、中心となる基準時間窓m)が規定中心値となるように設定される。ただし、その規定中心値は、初期値として、探査中心時間窓m0(k)が設定されている。つまり、本歌唱遷移区間抽出処理が起動されて最初にS410へと進んだ場合、分析時間窓#pの窓区間長の中心は、探査中心時間窓m0(k)となる。
【0081】
ただし、ここで言う#pは、分析時間窓のインデックス番号であり、探査中心時間窓m0(k)を原点として、負(マイナス)の値から正の値までをとる。
【0082】
さらに、S420では、S410にて設定された分析時間窓#p内の基本周波数遷移f0v(m)に対する分散値vf0(#p)を、下記(2)式により導出する。ただし、(2)式において、mf0(#p)は、分析時間窓#p内での基本周波数遷移f0v(m)の平均値であり、下記(3)式により導出されるものである。
【0083】
【数2】

続いて、S430では、互いに連続する分析時間窓#pに対する分散値vf0(#p)の差分を、下記(4)式により求める。以下、(4)式にて求められる値を分散値差分dvf0(#p)と称す。
【0084】
【数3】

続く、S440では、今サイクルのS430で導出した分散値差分(以下、今分散値差分と称す)dvf0(#p)を記憶する。以下、前サイクルのS430にて導出された分散値差分dvf0(#p)を、前分散値差分dvf0と称す。
【0085】
そして、S450では、今分散値差分dvf0(#p)の絶対値が、予め規定された許容値未満であるか否かを判定する。そして、判定の結果、今分散値差分dvf0(#p)の絶対値が許容値未満であれば、即ち、今分散値差分dvf0(#p)が0とみなせる場合には、S460へと進む。
【0086】
そのS460では、前分散値差分dvf0の絶対値が許容値以上であるか否かを判定する。そして、判定の結果、前分散値差分dvf0の絶対値が許容値以上であれば、即ち、前分散値差分dvf0が0とみなせない場合には、S470へと進む。
【0087】
そのS470では、変極回数カウンタをインクリメントして、S480へと進む。ただし、変極回数カウンタの初期値は、0である。
【0088】
そのS480では、変極回数カウンタが2以上であるか否かを判定し、その判定の結果、変極回数カウンタが2未満であれば、S490へと進む。
【0089】
なお、S450での判定の結果、今分散値差分dvf0(#p)の絶対値が許容値以上である場合や、S460での判定の結果、前分散値差分dvf0の絶対値が許容値未満である場合にも、S490へと進む。
【0090】
そのS490では、規定中心値を、今サイクルにて設定されている規定中心値から、基準時間窓mをp個(ただし、p≦M)だけずらして設定する。これにより、次にS410へと戻った際に、窓区間長の中心について、基準時間窓mがp個分だけ変位された分析時間窓#pが設定される。
【0091】
ただし、本実施形態のS490では、変極回数カウンタが0である時には、規定中心値を、基本周波数遷移f0v(m)の時間進行において、時間の進行方向とは反対の方向に沿って変位させる。また、変極カウンタが1である時には、規定中心値を、基本周波数遷移f0v(m)の時間進行において、時間の進行方向に沿って変位させる。
【0092】
ここで、S410からS490の処理(以下、特定処理と称す)を繰り返した時の動作を説明する。
【0093】
まず、図6(A)に示すように、変極回数カウンタが0である時に特定処理を繰り返すと、探査中心時間窓m0(k)を基準として、基本周波数遷移f0v(m)における時間の進行とは反対の方向に沿って(図6(A)中の左方向へと)、分析時間窓#pが設定される。なお、この時に、S410にて設定される分析時間窓のインデックス番号#pは、分析時間窓#pが設定される毎に、値を減少させる(値は、マイナス方向に大きくなる)。
【0094】
一方、変極回数カウンタが1である時に特定処理を繰り返すと、探査中心時間窓m0(k)を基準として、基本周波数遷移f0v(m)における時間の進行に沿って(図6(A)中の右方向へと)、分析時間窓#pが設定される。なお、この時に、S410にて設定される分析時間窓のインデックス番号#pは、分析時間窓#pが設定される毎に、値を増加する(値は、プラス方向に大きくなる)。
【0095】
そして、S410にて設定される分析時間窓#pは、窓区間長の中心が、pずつ変位されることから、特定処理を繰り返すことで、少なくとも互いに隣接する複数の分析時間窓#pが設定される。
【0096】
さらに、特定処理を繰り返す際にS420にて導出される分散値vf0(#p)は、図6(B)に示すように、遷移元音から到達音へと歌唱音高が遷移する区間(以下、遷移区間と称す)内でのものであれば、分析時間窓#p毎の変化は小さいものの、値自体は大きなものとなる。一方、遷移元音及び到達音の歌唱音高に対する区間(以下、定常区間と称す)内でのものであれば、分析時間窓#p毎の変化は小さいものの、値自体は大きなものとなる。
【0097】
したがって、特定処理を繰り返す際にS430にて導出される分散値差分dvf0(#p)は、図7(A)に示すように、定常区間内及び遷移区間内でのものであれば、その値自体が0とみなせる。一方、定常区間から遷移区間への切り替わりや、遷移区間から定常区間への切り替わりでは、その値自体が0とはみなすことができない。
【0098】
つまり、分散値差分dvf0は、定常区間から遷移区間への切り替わりにて極大値となり、遷移区間から定常区間への切り替わりにて極小値となる。このため、本実施形態では、S450,S460にて、今分散値差分dvf0(#p)の絶対値が許容値未満であるか否か、及び前分散値差分dvf0の絶対値が許容値以上であるか否かを判定して、分散値差分dvf0(#p)が極値となったか否かを判定している。
【0099】
言い換えれば、特定処理を繰り返す際に、変極回数カウンタが2以上となると、分散値差分dvf0(#p)から、2つの極値が検出されたことになる。
【0100】
ここで、図3へと戻り、S480での判定の結果、変極回数カウンタが2以上であれば、S500へと進む。そのS500では、区間終端に対応する基準時間窓(以下、区間終端窓mfin(k−1)とする)、及び区間始端に対応する基準時間窓(以下、区間始端窓mst(k)とする)を検出する。
【0101】
具体的に、本実施形態のS500では、図7(A)に示すように、分散値差分dvf0(#p)が極大値となった分析時間窓#pに対応する規定中心値を区間終端とし、分散値差分dvf0(#p)が極小値となった分析時間窓#pに対応する規定中心値を区間始端とする。このため、区間終端となった規定中心値から探索中心時間窓m0(k)までの間の基準時間窓mの個数をpbとし、区間始端となった規定中心値から探索中心時間窓m0(k)までの間の基準時間窓mの個数をpfとする。すると、区間終端窓mfin(k−1)は、mfin(k−1)=m0(k)−pbにて表され、区間始端窓mst(k)は、mst(k)=m0(k)+pfにて表される。
【0102】
なお、極大値及び極小値を検出する手法としては、S440にて記憶された全ての分散値差分の中で、値が最大または最小となるものを、それぞれ、極大値及び極小値とすればよい。
【0103】
続いて、S510では、遷移元音に対する区間についての歌唱音高f0(k−1)、到達音に対する区間についての歌唱音高f0(k)を、それぞれ下記(5)式,(6)式に従って導出すると共に、それらの歌唱音高の音高差f0d(k)を下記(7)式に従って導出する。
【0104】
【数4】

つまり、音高差f0d(k)は、歌唱音高f0(k−1)と歌唱音高f0(k)との比を、半音で量子化したものであり、いわゆる音程として表されたものである。
【0105】
また、S520では、区間終端窓mfin(k−1)、及び区間始端窓mst(k)それぞれの該当カラオケ楽曲の演奏開始からの時間を、下記(8),(9)式に従って導出する。
【0106】
【数5】

これと共に、S520では、区間終端窓mfin(k−1)から区間始端窓mst(k)までの期間長を遷移期間trt(k)として、下記(10)式に従って導出する。
【0107】
【数6】

ただし、(10)式にて導出される遷移期間trt(k)は、基準時間窓mの個数によって表されている。
【0108】
続く、S530では、S510にて導出した音高差f0d(k)と、S470にて導出した遷移期間trt(k)とを記憶する。
【0109】
そして、S540では、下記(11)式に従って、基本周波数遷移f0v(m)において、先のS520にて導出した遷移期間trt(k)に対応する区間を歌唱遷移区間f0vt(m)として抽出する。ただし、(11)式中のmmは、1からtrt(k)までの基準時間窓mである。
【0110】
【数7】

そして、その後、歌唱音高差特定処理のS170へと戻る。
【0111】
つまり、歌唱遷移区間抽出処理では、図7(B)に示すように、遷移元音に対する歌唱区間、到達音に対する歌唱区間、及びそれらの歌唱区間に挟まれた歌唱区間の中から、区間終端窓mfin(k−1)と区間始端窓mst(k)とを特定する。そして、特定した区間終端窓mfin(k−1)から区間始端窓mst(k)までの間の期間を遷移期間trt(k)として導出する。これと共に、基本周波数遷移f0v(m)中にて、遷移期間trt(k)に対応する区間を歌唱遷移区間f0vt(m)として抽出している。
【0112】
ここで、歌唱音高差特定処理(即ち、図2)のS170へと戻る。
【0113】
そのS170では、歌唱遷移区間抽出処理にて抽出した歌唱遷移区間f0vt(m)と、遷移元音から到達音への発声音高の理想的な遷移態様を表す音高遷移モデルとの類似度合いを、下記(12)式から(15)式に従って求める。以下、このS170で導出した類似度合いを、音高遷移スコアtsc(m)とする。
【0114】
ここで、音高遷移スコアtsc(m)を導出する具体的な手法について説明する。
【0115】
なお、本実施形態における音高遷移モデルは、遷移元音から到達音への音高の遷移が正確、かつ滑らか(スムーズ)に聞こえるように、下記(12)式にて表された時間関数である。以下、下記(12)式にて表される音高遷移モデルを、音高遷移モデル曲線f0model(m)と称す。
【0116】
【数8】

つまり、音高遷移モデル曲線f0model(m)は、照合すべき歌唱遷移区間f0vt(m)それぞれの時間長に従って変動するものである。ただし、M0は、遷移期間trt(k)を表す。
【0117】
そして、図5(A)に示すように、音高遷移モデル曲線f0model(m)を、歌唱遷移区間f0vt(m)に照合することで、音高遷移スコアtsc(m)を導出する。この音高遷移モデル曲線f0model(m)と、歌唱遷移区間f0vt(m)との照合は、下記(13)式により実行される。
【0118】
【数9】

ただし、(13)式中のMVVOは、歌唱遷移区間f0vt(m)の平均値を示し、下記(14)式に従って導出され、(13)式中のMVMOは、音高遷移モデル曲線f0model(m)の平均値を示し、下記(15)式に従って導出される。
【0119】
【数10】

つまり、音高遷移スコアtsc(k)は、歌唱遷移区間f0vt(m)と、音高遷移モデル曲線f0model(m)と類似度合いが高いほど(即ち、音高遷移が滑らかな(スムーズな)ほど)大きな値となる。
【0120】
続くS180では、S150にて算出した全ての時間遅延量tl(k)に対応する歌唱遷移区間f0vt(m)を抽出して、音高遷移モデル曲線f0model(m)との照合を実施したか否かを判定する。その判定の結果、照合を実施済でなければ、S160へと戻り、全ての時間遅延量tl(k)に対応する歌唱遷移区間f0vt(m)を抽出して、音高遷移モデル曲線f0model(m)との照合を実施するまで、S160,S170を繰り返す。一方、判定の結果、実施済であれば、S190へと進む。
【0121】
そのS190では、S170にて導出した音高遷移スコアtsc(k)それぞれを、下記(16)式に従って集計する。以下、(16)式にて集計した結果を、集計遷移スコアmtsc(trt,f0d)とする。
【0122】
なお、(16)式中のk'は、音高差f0d(k)、及び遷移期間trt(k)が同一分類区分中に含まれる構成音(以下、同一構成音と称す)を表す識別番号(上述したk番目や、k+1番目に相当)の集合であり、K0は、同一構成音の総数である。
【0123】
【数11】

つまり、この集計遷移スコアmtsc(trt,f0d)は、S170にて導出された音高遷移スコアtsc(m)を、音高差f0d(k)、及び遷移期間trt(k)が同一である分類区分(以下、音高差区分(trt,f0d)と称す。)毎に集計したものである。したがって、集計遷移スコアmtsc(trt,f0d)をマップ化した集計遷移スコア分布は、図5(B)に示すように、音高差f0d(k)、遷移期間trt(k)、集計遷移スコアmtsc(trt,f0d)をそれぞれの軸とした3次元のマトリクスとなる。ただし、図5(B)では、集計遷移スコア(trt,f0d)の大きさを色の濃淡を用いて示した。
【0124】
なお、本実施形態では、S180へと進んだ回数が二回目以降である場合、そのサイクル(即ち、今回のS190)にて導出したmtsc(trt,f0d)を、前サイクルにて(即ち、前回のS190以前に)導出されたmtsc(trt,f0d)に積算する。つまり、最終的に生成された集計遷移スコア(trt、f0d)には、各音声データから導出される集計遷移スコアmtsc(trt,f0d)が全て積算されている。
【0125】
さらに、S200にて、記憶部21の音声データ格納領域に格納されている全ての音声データに対して、S110からS190までの処理(ここでは、規定処理と称す)を実行したか否かを判定する。
【0126】
その判定の結果、全ての音声データに対して規定処理を実行していなければ、S110へと戻り、そのS110にて、記憶部21の音声データ格納領域に格納されている全音声データの中から、規定処理を未実行である音声データを取得して、S120へと進む。一方、S200での判定の結果、全ての音声データに対して規定処理を実行済であれば、S210へと進む。
【0127】
そして、S210では、各音高差区分(trt,f0d)における集計遷移スコアmtsc(trt、f0d)それぞれが規定値以上であるか否かを、(17)式により判定する。
【0128】
【数12】

つまり、集計遷移スコアmtsc(trt,f0d)が規定値以上であれば、その音高差区分(trt,f0d)を歌唱可能音高差区分ITM1(trt,f0d)として判別する。一方、集計遷移スコアmtsc(trt,f0d)が規定値未満であれば、その音高差区分(trt,f0d)を歌唱不能音高差区分ITM0(trt,f0d)として判別する。
【0129】
なお、本実施形態における規定値は、集計遷移スコアmtsc(trt,f0d)の最大値Max_tscに対して予め規定された割合A(例えば、最大値の半分や、1/3等)である(規定値=Max_tsc×A)。
【0130】
続く、S220では、S210で特定した歌唱可能音高差区分ITM1(trt,f0d)を利用した処理(以下、特定音高差利用処理)を実行する。
【0131】
具体的に、本実施形態では、S210で特定した歌唱可能音高差区分ITM1(trt,f0d)、及び歌唱不能音高差区分ITM0(trt,f0d)に基づいて、結果マトリクスITM(trt,f0d)を生成し、その生成した結果マトリクスITM(trt,f0d)を表示部23に表示する。これと共に、結果マトリクスITM(trt,f0d)を、対応するユーザ情報と対応付けて記憶部21及びサーバ30に記憶する。
【0132】
この結果マトリクスITM(trt,f0d)は、図8に示すように、歌唱可能音高差区分ITM1(trt,f0d)、歌唱不能音高差区分ITM0(trt,f0d)それぞれを、各音高差区分(trt,f0d)の並びに沿って配置したものである。
【0133】
さらに、本実施形態の特定音高差利用処理では、特定構成音の音高差が、主として、歌唱可能音高差区分ITM1(trt,f0d)の範囲内である楽曲を推奨曲としてユーザに提案する。これと共に、特定音高差利用処理では、歌唱可能音高差区分ITM1(trt,f0d)の最大音高差f0dが大きいほど大きな値となる重みを、採点処理による採点結果に付与する。
【0134】
そして、その後、本歌唱音高差特定処理を終了する。
【0135】
つまり、本実施形態の歌唱音高差特定処理では、歌唱遷移区間抽出処理にて抽出した歌唱遷移区間f0vt(m)それぞれを、対応する音高遷移モデル曲線f0model(m)に照合して、音高遷移スコアtsc(k)を導出する。さらに、それらの導出した音高遷移スコアtsc(k)を音高差区分(trt,f0d)毎に集計した集計遷移スコアmtsc(trt,f0d)が規定値以上であるか否かを判定する。そして、その判定結果に従って、歌唱可能音高差区分ITM1(trt,f0d)、即ち、ユーザが歌唱可能な音高差区分を特定している。
[実施形態の効果]
以上説明したように、本実施形態のカラオケ装置20によれば、ユーザが歌唱可能な音高差、即ち、ユーザが歌唱可能な音程を特定することができる。
【0136】
特に、本実施形態のカラオケ装置20によれば、集計遷移スコアmtsc(trt,f0d)を、音高差f0d(k)毎かつ遷移期間trt(k)毎に集計しているため、ユーザが歌唱可能な音高差f0dを、遷移期間trtの時間長毎に特定することができる。
【0137】
つまり、カラオケ装置20によれば、ユーザの歌唱能力を詳細に特定することができる。
【0138】
なお、ユーザが無理をして発声した状態では、遷移期間trtでの音高推移を滑らか(スムーズ)に歌唱することは困難である。しかし、このような場合、本実施形態のカラオケ装置20では、音高遷移スコアtsc(k)が小さな値として導出する。
【0139】
したがって、本実施形態のカラオケ装置20によれば、ユーザが無理をすること無く歌唱可能な音高差f0dを特定することができる。
【0140】
そして、本実施形態のカラオケ装置20では、特定構成音の音高差が、主として、歌唱可能音高差区分ITM1(trt,f0d)の範囲内である楽曲を推奨曲としてユーザに提案したり、歌唱可能音高差区分ITM1(trt,f0d)の最大音高差f0dが大きいほど大きな値となる重みを、採点処理による採点結果に付与したりしている。
【0141】
この結果、本実施形態のカラオケ装置20によれば、推奨曲をユーザに歌唱させることで、カラオケをより楽しませることができ、また、ユーザの歌唱の上手さをより正確に採点したりすることができる。
[その他の実施形態]
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、様々な態様にて実施することが可能である。
【0142】
例えば、上記実施形態のカラオケシステム1は、一つのカラオケ装置20と一つのサーバ30とが接続されたものであったが、カラオケシステム1は、これに限るものではなく、複数のカラオケ装置20と一つのサーバ30とが接続されたものでも良いし、複数のカラオケ装置20と複数のサーバ30とが接続されたものでも良い。
【0143】
また、上記実施形態の歌唱遷移区間抽出処理では、互いに連続する分析時間窓に対する分散値差分dvf0(#p)が極大または極小となる基準時間窓mを、区間終端mfin(k−1)及び区間始端mst(k)として導出したが、区間終端mfin(k−1)及び区間始端mst(k)を導出する方法は、これに限るものではない。例えば、遷移元音及び到達音それぞれについて安定して歌唱している区間を特定し、それらの区間の終端,始端に対応する基準時間窓mをそれぞれ区間終端mfin(k−1)及び区間始端mst(k)としても良い。
【0144】
なお、上記実施形態における音高差特定処理では、音高差f0d(k)と遷移期間trt(k)とに従って、音高遷移スコアtsc(k)を集計したが、音高遷移スコアtsc(k)の集計方法は、これに限るものではなく、音高差f0d(k)のみに従って、音高遷移スコアtsc(k)を集計しても良い。
[実施形態と本発明との対応関係]
次に、上記実施形態と、特許請求の範囲との対応関係について説明する。
【0145】
上記実施形態の音高差特定処理におけるS110を実行することで得られる機能が、本発明の音声信号取得手段に相当し、S120,S130を実行することで得られる機能が、歌唱データ生成手段に相当する。さらに、音高差特定処理のS160を実行することで得られる機能が、遷移区間特定手段に相当し、S170を実行することで得られる機能が、遷移値導出手段に相当する。また、音高差特定処理におけるS190,S210を実行することで得られる機能が、音高差特定手段に相当する。
【0146】
なお、音高差特定処理のS160を実行することで得られる機能のうち、歌唱遷移区間抽出処理におけるS410,S420を実行することで得られる機能が、本発明の分散値導出手段に相当し、S430,S450〜S480,S500を実行することで得られる機能が、本発明の始終端特定手段に相当する。
【符号の説明】
【0147】
1…カラオケシステム 20…カラオケ装置 21…記憶部 22…通信部 23…表示部 24…操作受付部 25…音声入出力部 26…マイクロホン 27…スピーカ 28…制御部 30…サーバ

【特許請求の範囲】
【請求項1】
各楽曲を構成する構成音それぞれの音高及び音価を表す楽曲データに従って前記楽曲を演奏するカラオケ装置にて用いられる歌唱音高差特定装置であって、
前記カラオケ装置にて楽曲の演奏中に入力された音声を音声信号として、その音声を発したユーザ及び演奏中の楽曲を識別するための識別情報と対応付けて、前記音声信号を取得する音声信号取得手段と、
前記音声信号取得手段で取得された音声信号を周波数解析することで、音高の遷移を表す歌唱データを生成する歌唱データ生成手段と、
前記識別情報から特定される楽曲中にて音高が切り替わるように連続する2つの構成音のうち、前記音高が切り替わった後に到達する構成音を到達音とし、前記音高が切り替わる前の遷移元となる構成音を遷移元音とし、前記歌唱データ生成手段で生成された歌唱データの中で、前記遷移元音に対する歌唱区間の終端である区間終端から、前記到達音に対する歌唱区間の始端である区間始端までの歌唱区間を歌唱遷移区間として特定する遷移区間特定手段と、
前記遷移元音に対応する音高から前記到達音に対応する音高へと発声音高を理想的に遷移させた時の遷移態様を音高遷移モデルとし、前記遷移区間特定手段で特定された歌唱遷移区間それぞれについて、前記歌唱遷移区間と、前記音高遷移モデルとの一致度合いが高いほど大きな値となる音高遷移値を導出する遷移値導出手段と、
前記遷移値導出手段で導出された音高遷移値を、それぞれの歌唱遷移区間での音高差毎に集計し、その集計結果である集計遷移値が予め規定された規定値以上である音高差を、前記識別情報から特定されるユーザが歌唱可能な音高差として特定する歌唱音高差特定手段と
を備えることを特徴とする歌唱音高差特定装置。
【請求項2】
前記歌唱音高差特定手段は、
前記音高遷移値を、それぞれの歌唱遷移区間の区間長毎に分類して集計することを特徴とする請求項1に記載の歌唱音高差特定装置。
【請求項3】
前記歌唱音高差特定手段は、
前記集計遷移値を正規化すると共に、
その正規化された前記集計遷移値の最大値に対して予め規定された割合を前記規定値とすることを特徴とする請求項1または請求項2に記載の歌唱音高差特定装置。
【請求項4】
前記遷移区間特定手段は、
前記歌唱データにて、前記遷移元音に対する歌唱区間、前記到達音に対する歌唱区間、及びそれらの両歌唱区間に挟まれた歌唱区間からなる切替区間内にて、時間の進行に沿って連続するように、予め設定された区間長を有する時間窓を複数設定し、その設定された時間窓それぞれについて、前記時間窓内における歌唱データの分散である分散値を導出する分散値導出手段と、
前記分散値導出手段で導出された分散値のうち、互いに連続する時間窓に対する分散値の差分を導出し、その差分が最小及び最大となる2つの時間窓の中心それぞれを、前記区間終端及び前記区間始端として特定する始終端特定手段と
を備える請求項1ないし請求項3のいずれかに記載の歌唱音高差特定装置。
【請求項5】
各楽曲を構成する構成音それぞれの音高及び音価を表す楽曲データに従って前記楽曲を演奏するカラオケ装置にて用いられるコンピュータに実行されるプログラムであって、
前記カラオケ装置にて楽曲の演奏中に入力された音声を音声信号として、その音声を発したユーザ及び演奏中の楽曲を識別するための識別情報と対応付けて、前記音声信号を取得する音声信号取得手順と、
前記音声信号取得手順で取得された音声信号を周波数解析することで、音高の遷移を表す歌唱データを生成する歌唱データ生成手順と、
前記識別情報から特定される楽曲中にて音高が切り替わるように連続する2つの構成音のうち、前記音高が切り替わった後に到達する構成音を到達音とし、前記音高が切り替わる前の遷移元となる構成音を遷移元音とし、前記歌唱データ生成手順で生成された歌唱データの中で、前記遷移元音に対する歌唱区間の終端である区間終端から、前記到達音に対する歌唱区間の始端である区間始端までの歌唱区間を歌唱遷移区間として特定する遷移区間特定手順と、
前記遷移元音に対応する音高から前記到達音に対応する音高へと発声音高を理想的に遷移させた時の遷移態様を音高遷移モデルとし、前記遷移区間特定手順で特定された歌唱遷移区間それぞれについて、前記歌唱遷移区間と、前記音高遷移モデルとの一致度合いが高いほど大きな値となる音高遷移値を導出する遷移値導出手順と、
前記遷移値導出手順で導出された音高遷移値を、それぞれの歌唱遷移区間での音高差毎に集計し、その集計結果である集計遷移値が予め規定された規定値以上である音高差を、前記識別情報から特定されるユーザが歌唱可能な音高差として特定する歌唱音高差特定手順と
を前記コンピュータに実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図7】
image rotate

【図9】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図8】
image rotate


【公開番号】特開2010−186032(P2010−186032A)
【公開日】平成22年8月26日(2010.8.26)
【国際特許分類】
【出願番号】特願2009−29886(P2009−29886)
【出願日】平成21年2月12日(2009.2.12)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】