説明

カラオケ装置

【課題】システムを複雑化させることなく、歌唱者が歌詞を正しく覚えているか否かを評価できるようにする。
【解決手段】CPU102は、手本音声データが表す手本音声の音声波形を複数のフレームに分割する。また、記憶部105に記憶された歌唱音声データが表す歌唱音声の音声波形を複数のフレームに分割する。次にCPU102は、手本音声の各フレームの音声波形と、歌唱音声の各フレームの音声波形との対応付けを行う。CPU102は、対応するフレーム間で音声波形のフォルマント周波数を比較し、手本音声と歌唱音声の一致/不一致を判断する。CPU102は、手本音声と歌唱音声が一致していないと判断した場合、手本音声データが表す音声に対応した歌詞をモニタ2に表示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、歌唱者の歌唱力を採点する技術に関する。
【背景技術】
【0002】
楽曲データに基づいて自動演奏を行うカラオケ装置の中には、マイクに入力された歌唱者の音声を解析し、歌唱者の歌唱力を採点するものがある。例えば、特許文献1に開示されたカラオケ装置は、マイクに入力された歌唱者の音声の文言を認識し、楽曲の歌詞の文言とどの程度一致しているかを評価する。このカラオケ装置によれば、歌唱者が歌詞を正しく覚えているか否かを評価することができる。
【特許文献1】特開平10−91172号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、特許文献1に開示されているカラオケ装置のように音声の文言を認識するためには、音声認識を行う必要がある。音声認識を行う場合、入力された音声を分析し、音声の音響特徴を抽出する。そして、辞書に記憶されている言葉の中から、言葉の音響特徴が入力音声の音響特徴に最も近い言葉を探して音声認識結果として出力する。ここで、言葉を正しく認識するには、辞書に記憶されている言葉が重要となり、正確に言葉を認識するには多くの言葉を辞書に記憶させておく必要がある。しかしながら、多くの言葉を辞書に記憶させると、多くの言葉の中から最も近い言葉を探し出すのに時間がかかることとなり、直ぐに評価結果を示すことができなくなる。また、カラオケで歌われる楽曲は、日本語だけでなく外国語の楽曲も多数ある。多数の言語について音声認識を行う場合には、言語毎に辞書を用意する必要があり、新たな言語の楽曲をカラオケ装置に追加する場合には、辞書も新たに用意しなければならず、システムが複雑化して簡単に楽曲を追加するのが難しくなるという問題が発生する。
【0004】
本発明は、上述した背景の下になされたものであり、その目的は、システムを複雑化させることなく、歌唱者が歌詞を正しく覚えているか否かを評価できるようにすることにある。
【課題を解決するための手段】
【0005】
上述した課題を解決するために本発明は、楽曲を歌詞通りに歌唱したときの手本音声を表す手本音声データを記憶した記憶手段と、歌唱者の歌唱音声が入力される音声入力手段と、前記手本音声データが表す手本音声を複数の音声区間に分割し、前記音声入力手段に入力された歌唱音声において、前記分割された各音声区間に対応する音声区間を特定する特定手段と、前記特定手段で特定された音声区間の歌唱音声と、該音声区間の歌唱音声に対応する手本音声とを比較して評価を行う評価手段と、前記評価手段の評価結果を表示する表示手段とを有するカラオケ装置を提供する。
【0006】
この態様においては、前記評価手段は、前記特定手段で特定された音声区間の歌唱音声と、該音声区間の歌唱音声に対応する手本音声との一致度を求め、求めた一致度により評価を行うようにしてもよい。
また、前記記憶手段は、前記楽曲の歌詞を表す歌詞データを記憶し、前記評価手段が求めた前記一致度が所定値未満である場合、前記一致度が所定値未満となった音声区間の音声に対応した歌詞を前記記憶手段に記憶された歌詞データが表す歌詞の中から特定する歌詞特定手段を有し、前記表示手段は、前記歌詞特定手段で特定された歌詞を表示するようにしてもよい。
また、前記評価手段は、前記歌唱音声のフォルマント周波数と前記手本音声のフォルマント周波数の一致度を求めるようにしてもよい。
【発明の効果】
【0007】
本発明によれば、システムを複雑化させることなく、歌唱者が歌詞を正しく覚えているか否かを評価することができる。
【発明を実施するための最良の形態】
【0008】
[実施形態の構成]
図1は本発明の実施形態に係わるカラオケ装置の外観を示した図である。同図に示したように、カラオケ装置1にはモニタ2、スピーカ3L、スピーカ3R、そしてマイク4が接続されている。カラオケ装置1は、リモコン装置5から送信される赤外線信号により遠隔操作される。
【0009】
図2は、カラオケ装置1のハードウェア構成を示したブロック図である。バス101に接続されている各部は、このバス101を介して各部間で通信を行う。CPU(Central Processing Unit)102は、RAM(Random Access Memory)104をワークエリアとして利用し、ROM(Read Only Memory)103に格納されている各種プログラムを実行することでカラオケ装置1の各部を制御する。また、RAM104には楽曲データを一時記憶する楽曲記憶領域が確保される。記憶部105はハードディスク装置を具備しており、後述する楽曲データやマイク4より入力された歌唱音声のデジタルデータ等の各種データを記憶する。
【0010】
通信部108は、楽曲データの配信元であるホストコンピュータ(図示略)から、例えばインターネットなどの通信ネットワーク(図示略)を介して楽曲データを受信し、受信した楽曲データをCPU102の制御のもと記憶部105へと転送する。なお、本実施形態においては、楽曲データは予め記憶部105に記憶されていてもよい。また、CD−ROMやDVD等の各種記録媒体を読み取る読み取り装置をカラオケ装置1に設け、各種記録媒体に記録された楽曲データを、この読み取り装置により読み取って記憶部105に転送して記憶させるようにしてもよい。
ここで、本実施形態において用いられる楽曲データの構造について説明する。本実施形態における楽曲データは、図3に示すように、ヘッダ、カラオケ演奏音の内容を表すWAVE形式のデータである楽音データ、楽曲の歌詞を間違えずに正しく歌ったときのお手本の音声の波形を表すWAVE形式の手本音声データ、および楽曲の歌詞を表す歌詞データを格納した歌詞テーブルとを有している。
【0011】
図4は、歌詞テーブルのフォーマットを例示した図である。歌詞テーブルにおいては、演奏される楽曲の歌詞を表す歌詞データと、楽音データに従って楽音が出力されたときに、この歌詞データが表す歌詞を発音すべき時間区間を示す時間区間データとが対応付けて格納される。
例えば、図4に示した歌詞テーブルにおいて、1行目の歌詞データは「かめれおんが」という歌詞を表しており、この歌詞データに対応付けられている時間区間データ「01:00−01:02」は、お手本の音声において、楽曲の演奏が開始されて1分経過した時点から1分2秒経過した時点までの間に、この歌詞「かめれおんが」が発音されることを示している。また、2行目の歌詞データは「やってきたー」という歌詞を表しており、この歌詞データに対応付けられている時間区間データ「01:03−01:06」は、お手本の音声において、楽曲の演奏が開始されて1分3秒経過した時点から1分6秒経過した時点までの間に、この歌詞「やってきたー」が発音されることを示している。
【0012】
マイク4は、入力される歌唱者の歌唱音声を音声信号に変換して出力する。マイク4から出力された音声信号は、音声処理用DSP(Digital Signal Processor)111とアンプ112とに入力される。音声処理用DSP111は、入力される音声信号をA/D変換し、歌唱音声を表す歌唱音声データを生成する。この歌唱音声データは、記憶部105に記憶され、手本音声データと比較されて歌唱者の歌唱力の採点に用いられる。
【0013】
入力部106は、カラオケ装置1にある操作パネルまたはリモコン装置5への入力操作により発せられる信号を検出し、この検出結果をCPU102へ出力する。表示制御部107は、CPU102の制御のもと映像や歌唱者の歌唱力の採点結果をモニタ2に表示する。
【0014】
音源装置109は供給される楽音データに対応する楽音信号を生成し、生成した楽音信号をカラオケ演奏音として効果用DSP110へ出力する。効果用DSP110は、音源装置109で生成された楽音信号に対してリバーブやエコー等の効果を付与する。効果を付与された楽音信号は、効果用DSP110によってD/A変換されてアンプ112へ出力される。アンプ112は、効果用DSP110から出力された楽音信号と、マイク4から出力された音声信号とを合成・増幅し、スピーカ3L、3Rへ出力する。これにより、楽曲のメロディと歌唱者の音声とがスピーカ3L、3Rから出力される。
【0015】
[実施形態の動作]
次に本実施形態の動作について説明する。まず、利用者がリモコン装置5を操作して楽曲を指定する操作を行うと、指定された楽曲の楽曲データがCPU102により記憶部105からRAM104の楽曲記憶領域へ転送される。CPU102は、この楽曲記憶領域に格納された楽曲データに含まれている各種データを順次読み出すことにより、カラオケ伴奏処理を実行する。
【0016】
具体的には、CPU102は、楽曲データに含まれている楽音データを読み出し、読み出した楽音データを音源装置109へ出力する。音源装置109は、供給される楽曲データに基づいて所定の音色の楽音信号を生成し、生成した楽音信号を効果用DSP110へ出力する。効果用DSP110においては、音源装置109から出力された楽音信号に対してリバーブやエコー等の効果が付与される。効果を付与された楽音信号は、効果用DSP110によってD/A変換されてアンプ112へ出力される。アンプ112は、効果用DSP110から出力された楽音信号を増幅してスピーカ3L、3Rへ出力する。これにより、楽曲のメロディがスピーカ3L、3Rから出力される。また、CPU102は、楽曲データを音源装置109へ供給して楽音の出力が開始されると、楽曲の出力が開始されてから経過した経過時間のカウントを開始する。
【0017】
一方、楽曲の再生に応じて、歌唱者が歌唱すると、歌唱者の音声がマイク4に入力され、マイク4から音声信号が出力される。音声処理用DSP111は、マイク4から出力された音声信号をA/D変換し、歌唱音声を表す歌唱音声データを生成する。この歌唱音声データは、記憶部105に記憶される。
【0018】
CPU102は、経過時間のカウントを続け、カウントした時間を時間区間の開始時間として含む時間区間を、歌詞テーブルにおいて検索する。そして、検索した時間区間と、検索した時間区間に対応付けて格納されている歌詞データを読み出す。例えば、カウントされた経過時間が01:00である場合、図4にした歌詞テーブルにおいては、1行目の時間区間「01:00−01:02」と歌詞データ「かめれおんが」が読み出される。
【0019】
CPU102は、時間区間を読み出すと、この時間区間においてマイク4に入力された音声と、この時間区間におけるお手本の音声とを比較し、歌唱者が歌詞を正しく歌ったか否かを判断する。具体的には、CPU102は、手本音声データが表す音声を解析し、図5に示したように、手本音声データが表す音声波形の時間軸において、読み出した時間区間(01:00−01:02)の間にある音声波形Aを抽出する。また、CPU102は、記憶された歌唱音声データを解析し、図5に示したように、歌唱音声データが表す時間軸において、読み出した時間区間の間にある音声波形Bを抽出する。そして、抽出した音声波形Aを、図6(a)に示したように所定の時間間隔(例えば、10ms)で区切って複数のフレームに分割する。また、抽出した音声波形Bを、図6(b)に示したように所定の時間間隔(例えば、10ms)で区切って複数のフレームに分割する。
【0020】
次にCPU102は、手本音声の各フレームの音声波形と、歌唱音声の各フレームの音声波形との対応付けをDP(Dynamic Programming)マッチング法を用いて行う。例えば、図6に例示した波形において、手本音声のフレームA1の音声波形と、歌唱音声のフレームB1の音声波形とが対応している場合、フレームA1とフレームB1とが対応付けされる。また、手本音声のフレームA2の音声波形と、歌唱音声のフレームB2ないしフレームB3の音声波形とが対応している場合、フレームA2とフレームB2ないしフレームB3とが対応付けされる。
【0021】
次にCPU102は、対応するフレーム間で音声波形の特徴を比較する。具体的には、CPU102は、手本音声の各フレームの音声波形毎に音声波形をフーリエ変換する。そしてCPU102は、フーリエ変換により得られた振幅スペクトルの対数を求め、それをフーリエ逆変換してフレームごとのスペクトル包絡を生成する。そしてCPU102は、得られたスペクトル包絡から第1フォルマントの周波数f11および第2フォルマントの周波数f12、第3フォルマントの周波数f13を抽出する。
また、CPU102は、手本音声の各フレームに対応付けされた歌唱者の音声のフレームの音声波形毎に、音声波形をフーリエ変換する。そしてCPU102は、フーリエ変換により得られた振幅スペクトルの対数を求め、それをフーリエ逆変換してフレームごとのスペクトル包絡を生成する。そしてCPU102は、得られたスペクトル包絡から第1フォルマントの周波数f21および第2フォルマントの周波数f22、第3フォルマントの周波数23を抽出する。
【0022】
例えば、CPU102は、手本音声のフレームA1のスペクトル包絡を生成し、このスペクトル包絡から第1〜第3フォルマントのフォルマント周波数f11〜f13を抽出する。そして、CPU102は、フレームA1に対応付けされているフレームB1の音声波形のスペクトル包絡を生成し、このスペクトル包絡から第1〜第3フォルマントのフォルマント周波数f21〜f23を抽出する。
また、CPU102は、手本音声のフレームA2のスペクトル包絡を生成し、このスペクトル包絡から第1〜第3フォルマントのフォルマント周波数f11〜f13を抽出する。そして、CPU102は、フレームA2に対応付けされているフレームB2ないしフレームB3の音声波形のスペクトル包絡を生成し、このスペクトル包絡から第1〜第3フォルマントのフォルマント周波数f21〜f23を抽出する。
【0023】
次にCPU102は、手本音声の各フレームから抽出したフォルマント周波数f11〜f13と、手本音声の各フレームに対応付けされたフレームから抽出したフォルマント周波数f21〜f23とを比較する。そして、CPU102は、対応する音声波形同士でフォルマント周波数f11とフォルマント周波数f21の差、フォルマント周波数f12とフォルマント周波数f22の差、フォルマント周波数f13とフォルマント周波数f23の差が、所定の値以上である場合には、フォルマント周波数が不一致であったことを示す不一致情報Dを手本音声のフレームに付加する。
例えば、CPU102は、フレームA1の音声波形のフォルマント周波数f11〜f13と、フレームB1の音声波形のフォルマント周波数とが一致している場合、対応するフレーム同士で音声が一致していると判断し、不一致情報DをフレームA1に付加しない。
一方、フレームA2のフォルマント周波数f11〜f13と、フレームB2ないしフレームB3の音声波形のフォルマント周波数f21〜f23とで、各周波数の差が所定値以上である場合には、フォルマント周波数が不一致であったことを示す不一致情報DをフレームA2に付加する。
【0024】
CPU102は、手本音声の各フレームの音声波形について、歌唱者の音声波形のフォルマント周波数との一致/不一致を判断すると、不一致情報Dが付加されたフレームの数Nをカウントする。次にCPU102は、分割した手本音声データのフレームの総数Mと、数Nの値とを比較し、数Nの値がフレーム総数Mの半分の以上である場合には、読み出した歌詞データが表す歌詞について、歌唱者の発音した歌詞と手本音声の歌詞とが異なると判断し、数Nの値がフレーム総数Mの半分未満である場合には、読み出した歌詞データが表す歌詞について、歌唱者の発音した歌詞と手本音声の歌詞とが同じであると判断する。例えば、手本音声データが表す「かめれおんが」という音声について、不一致情報の数Nがフレーム総数Mの半分未満である場合には、CPU102は、歌唱者の発音した歌詞と、手本音声の歌詞とが同じであると判断する。
なお、本実施形態においては、数Nの値がフレーム総数Mの半分以上である場合には、読み出した歌詞データが表す歌詞について、歌唱者の発音した歌詞と手本音声の歌詞とが異なると判断しているが、フレーム総数Mに対する数Nの割合が5割以外の所定の割合以上である場合に読み出した歌詞データが表す歌詞について、歌唱者の発音した歌詞と手本音声の歌詞とが異なると判断するようにしてもよい。
【0025】
CPU102は、手本音声と歌唱音声の比較に並行して経過時間のカウントを続け、カウントした経過時間が01:03になると、図4にした歌詞テーブルの2行目の時間区間「01:03−01:06」と歌詞データ「やってきたー」を読み出す。また、楽曲の再生に従って歌唱者がこの読み出した時間区間において歌唱を行うと、歌唱音声データが記憶部105に記憶される。ここで、例えば、歌唱者が歌詞を間違え、読み出された歌詞データ2が表す歌詞「やってきた」とは異なる「いってくる」という歌詞で歌唱者が歌唱を行うと、「いってくる」という音声を表す歌唱音声データが生成されて記憶部105に記憶される。
【0026】
次にCPU102は、この時間区間においてマイク4に入力された音声の波形と、この時間区間におけるお手本の音声の波形とを複数のフレームに分割する。そして、手本音声の各フレームの音声波形と、歌唱音声の各フレームの音声波形との対応付けを行い、対応付けられたフレーム間で音声波形のフォルマント周波数の比較を行う。そして、CPU102は、手本音声の各フレームの音声波形について、歌唱者の音声波形のフォルマント周波数との一致/不一致を判断し、不一致情報Dを付加した後、分割した手本音声データのフレーム総数Mと、不一致情報が付加されたフレームの数Nの値とを比較し、歌唱者が歌詞を正しく歌ったか否かを判断する。
【0027】
ここで、歌唱者は「やってきた」という歌詞に対し、「いってくる」と異なる歌詞で歌唱したため、手本音声の音声波形のフォルマント周波数と、歌唱者の音声波形のフォルマント周波数とを比較すると、フォルマント周波数が一致せず、不一致情報の数Nがフレーム総数M以上となる。CPU102は、数Nの値がフレーム総数Mの半分以上である場合には、読み出した歌詞データが表す歌詞について、歌唱者の発音した歌詞と手本音声の歌詞とが異なると判断し、読み出した歌詞データが表す歌詞「やってきた」を、表示制御部107を制御してモニタ2に表示させ、歌詞を間違った旨を報知する。
【0028】
以下、CPU102は楽曲の再生に伴って、上述したように、歌詞データおよび手本音声データの読み出し、歌唱者が歌唱した歌詞の正誤の判断を繰り返す。そして、全ての演奏イベントデータを読み出すとカラオケ伴奏処理を終了する。
【0029】
以上説明したように、本実施形態によれば、辞書を用いた音声認識を行わなくても、歌唱者が歌詞通りに歌唱したか否かを判断することができる。また、本実施形態では、歌詞どおりに正しく歌唱した音声のデータがあれば、歌詞通りに正しく歌唱したか否か評価することができるので、辞書を用いて言語認識を行う態様のようにシステムを複雑化させることなく、様々な言語の歌詞について、歌唱者が歌詞を正しく覚えているか否かを評価することができる。
【0030】
[変形例]
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。
【0031】
上述した実施形態においては、歌唱音声データが表す音声波形のピッチが手本音声データが表す音声波形のピッチとなるように、歌唱音声データが表す音声のピッチを補正するようにしてもよい。
【0032】
また、上述した実施形態においては、手本音声データが表す音声波形のピッチの周期的な変動を検出して手本となる音声にビブラートがかかっているか否かを判断し、ビブラートがかかっていると判断した場合、手本音声データが表す音声波形のピッチ変動と歌唱音声データが表す音声波形のピッチ変動との一致度を判断し、歌唱者が正しくビブラートをかけて歌唱しているか否かを判断するようにしてもよい。
また、手本音声データが表す音声波形のピッチ変動を検出して手本となる音声にしゃくりがあるか否かを判断し、しゃくりがあると判断した場合、手本音声データが表す音声波形のピッチ変動と歌唱音声データが表す音声波形のピッチ変動との一致度を判断し、歌唱者が正しくしゃくりを行って歌唱しているか否かを判断するようにしてもよい。
【0033】
また、上述した実施形態においては、複数のバンドパスフィルタによって、手本音声データが表す音声波形と歌唱音声データが表す音声波形とを複数の周波数帯域に分割し、周波数帯域毎に音声の特徴量の一致度を判断して歌詞の正否を判断するようにしてもよい。
【0034】
また、上述した実施形態においては、お手本の音声波形を表す手本音声データを記憶し、この手本音声データが表す音声波形を解析してフォルマント周波数の解析を行っているが、音声波形を複数のフレームに分割したときのフレーム毎のフォルマント周波数を予め記憶部105に記憶し、この記憶したフォルマント周波数と、歌唱者の音声波形の各フレームのフォルマント周波数とを比較して一致度を判断するようにしてもよい。
【0035】
上述した実施形態においては、歌唱者が楽曲を歌い終えた後に歌唱者が歌唱した歌詞の正誤の判断を行うようにしてもよい。また、上述した実施形態においては、歌唱者の発音した歌詞と手本音声の歌詞とが異なると判断した場合、歌詞を表示するのではなく、歌詞を間違った旨を知らせるメッセージや画像をモニタ2に表示するようにしてもよい。
【図面の簡単な説明】
【0036】
【図1】本発明の実施形態に係るカラオケ装置の外観図である。
【図2】同カラオケ装置のハードウェア構成を示したブロック図である。
【図3】同実施形態における楽曲データのフォーマットを例示した図である。
【図4】歌詞テーブルのフォーマットを例示した図である。
【図5】手本音声の波形と歌唱音声の波形とを例示した図である。
【図6】手本音声の波形と歌唱音声の波形とを複数のフレームに分割した時の図である。
【符号の説明】
【0037】
1・・・カラオケ装置、2・・・モニタ、3L,3R・・・スピーカ、4・・・マイク、5・・・リモコン装置、101・・・バス、102・・・CPU、103・・・ROM、104・・・RAM、105・・・記憶部、106・・・入力部、107・・・表示制御部、108・・・通信部、109・・・音源装置、110・・・効果用DSP、111・・・音声処理用DSP、112・・・アンプ

【特許請求の範囲】
【請求項1】
楽曲を歌詞通りに歌唱したときの手本音声を表す手本音声データを記憶した記憶手段と、
歌唱者の歌唱音声が入力される音声入力手段と、
前記手本音声データが表す手本音声を複数の音声区間に分割し、前記音声入力手段に入力された歌唱音声において、前記分割された各音声区間に対応する音声区間を特定する特定手段と、
前記特定手段で特定された音声区間の歌唱音声と、該音声区間の歌唱音声に対応する手本音声とを比較して評価を行う評価手段と、
前記評価手段の評価結果を表示する表示手段と
を有するカラオケ装置。
【請求項2】
前記評価手段は、前記特定手段で特定された音声区間の歌唱音声と、該音声区間の歌唱音声に対応する手本音声との一致度を求め、求めた一致度により評価を行うこと
を特徴とする請求項1に記載のカラオケ装置。
【請求項3】
前記記憶手段は、前記楽曲の歌詞を表す歌詞データを記憶し、
前記評価手段が求めた前記一致度が所定値未満である場合、前記一致度が所定値未満となった音声区間の音声に対応した歌詞を前記記憶手段に記憶された歌詞データが表す歌詞の中から特定する歌詞特定手段を有し、
前記表示手段は、前記歌詞特定手段で特定された歌詞を表示すること
を特徴とする請求項2に記載のカラオケ装置。
【請求項4】
前記評価手段は、前記歌唱音声のフォルマント周波数と前記手本音声のフォルマント周波数の一致度を求めることを特徴とする請求項2に記載のカラオケ装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate