(57)【要約】【課題】歌唱者が自身の歌唱をどのように修正すればよいかを聴覚的に認識することのできる技術を提供する。【解決手段】カラオケ装置１のＣＰＵ１１は、模範音声データ記憶領域１４ｃに記憶された模範音声データと、入力された練習者音声データとを時間軸方向に対応付ける。次いで、ＣＰＵ１１は、対応付け結果に応じて、練習者音声データのピッチを、当該ピッチに対応する模範音声データのピッチに一致させるようにシフトするとともに、練習者音声データの区間（音節）の区間長を、当該区間に対応する模範音声データの区間の区間長に一致させるように、当該区間を時間軸方向に圧縮又は伸長し、練習者音声データを音声処理部１８に出力する。音声処理部１８はＣＰＵ１１から供給される練習者音声データをアナログ信号に変換し、スピーカ１９から放音させる。【選択図】図１
2008015195.tif 000002
【特許請求の範囲】
【請求項１】
予め記憶された模範音声データと入力された練習者音声データとを時間軸方向に対応付ける対応付手段と、
前記対応付手段の対応付け結果に応じて、前記練習者音声データのピッチを、当該ピッチに対応する前記模範音声データのピッチに一致させるようにシフトするピッチシフト手段と、
前記対応付手段の対応付け結果に応じて、前記練習者音声データにおいて時間軸方向に予め定められた区間の区間長を、当該区間に対応する模範音声データの区間の区間長に一致させるように、当該区間を時間軸方向に圧縮又は伸長するタイムストレッチ手段と、
前記ピッチシフト手段によりピッチをシフトされるとともに前記タイムストレッチ手段により時間軸方向に圧縮又は伸長された練習者音声データを放音手段に出力する出力手段と
を備えることを特徴とする楽曲練習支援装置。
【請求項２】
前記模範音声データにおいて時間軸方向に予め定められた区間毎の区切り位置を示す区切り情報を記憶する記憶手段と、
前記記憶手段に記憶された区切り情報と前記対応付手段の対応付け結果とに応じて、前記模範音声データと前記練習者音声データとを前記区間毎に対応付け、各区間毎に、前記模範音声の区間長と前記練習者音声の区間長との比を算出する区間長比算出手段と、
前記区間長比算出手段により算出された比に応じて、区間毎の模範音声と練習者音声の対応箇所を所定時間長のフレーム単位で特定する対応箇所特定手段とを備え、
前記ピッチシフト手段は、前記対応箇所特定手段の特定結果に応じて、前記入力された音声データの示す練習者音声のピッチを、当該ピッチに対応する模範音声のピッチに一致させるようにシフトする
ことを特徴とする請求項１に記載の楽曲練習支援装置。
【請求項３】
前記ピッチシフト手段は、前記対応箇所特定手段の特定結果に応じて、前記模範音声のピッチに対応する練習者音声のピッチが検出されたフレームにおいては、検出されたピッチを当該ピッチに対応する模範音声のピッチに一致させるようにシフトし、一方、ピッチが検出されなかったフレームにおいては、当該フレームに近接するフレームのピッチで当該フレームのピッチを補間する
ことを特徴とする請求項２に記載の楽曲練習支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲練習支援装置に関する。
【背景技術】
【０００２】
近年、カラオケ装置において、歌唱者の歌唱の巧拙を採点するための方法が種々提案されている。例えば、特許文献１には、ユーザ入力の音声信号に基づく音声データから、所定のフレーム毎のピッチを抽出し、フレーム毎に抽出されたピッチと、楽音データに基づく音高とを比較し、ユーザの音声のピッチの正確さを判定する方法が提案されている。このように歌唱の巧拙を採点するカラオケ装置においては、採点結果である点数を画面に表示するものが一般的である。
【特許文献１】特開２００５−１２８３７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、歌唱者が自身の歌唱のどの部分をどのように修正すればよいかが音で認識できれば好適である。しかしながら、従来の採点方法においては、点数が表示されるだけであるため、歌唱者は自身の歌唱をどのように修正すればよいかを音で認識することはできなかった。これは楽曲の歌唱に限らず、楽器の演奏についても同様である。
本発明は上述した背景の下になされたものであり、歌唱者が自身の歌唱をどのように修正すればよいかを聴覚的に認識することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００４】
本発明の好適な態様である楽曲練習支援装置は、予め記憶された模範音声データと入力された練習者音声データとを時間軸方向に対応付ける対応付手段と、前記対応付手段の対応付け結果に応じて、前記練習者音声データのピッチを、当該ピッチに対応する前記模範音声データのピッチに一致させるようにシフトするピッチシフト手段と、前記対応付手段の対応付け結果に応じて、前記練習者音声データにおいて時間軸方向に予め定められた区間の区間長を、当該区間に対応する模範音声データの区間の区間長に一致させるように、当該区間を時間軸方向に圧縮又は伸長するタイムストレッチ手段と、前記ピッチシフト手段によりピッチをシフトされるとともに前記タイムストレッチ手段により時間軸方向に圧縮又は伸長された練習者音声データを放音手段に出力する出力手段とを備える。
この態様において、前記模範音声データにおいて時間軸方向に予め定められた区間毎の区切り位置を示す区切り情報を記憶する記憶手段と、前記記憶手段に記憶された区切り情報と前記対応付手段の対応付け結果とに応じて、前記模範音声データと前記練習者音声データとを前記区間毎に対応付け、各区間毎に、前記模範音声の区間長と前記練習者音声の区間長との比を算出する区間長比算出手段と、前記区間長比算出手段により算出された比に応じて、区間毎の模範音声と練習者音声の対応箇所を所定時間長のフレーム単位で特定する対応箇所特定手段とを備え、前記ピッチシフト手段は、前記対応箇所特定手段の特定結果に応じて、前記入力された音声データの示す練習者音声のピッチを、当該ピッチに対応する模範音声のピッチに一致させるようにシフトしてもよい。
この態様において、前記ピッチシフト手段は、前記対応箇所特定手段の特定結果に応じて、前記模範音声のピッチに対応する練習者音声のピッチが検出されたフレームにおいては、検出されたピッチを当該ピッチに対応する模範音声のピッチに一致させるようにシフトし、一方、ピッチが検出されなかったフレームにおいては、当該フレームに近接するフレームのピッチで当該フレームのピッチを補間してもよい。
【発明の効果】
【０００５】
本発明によれば、歌唱者が自身の歌唱をどのように修正すればよいかを聴覚的に認識することができる。
【発明を実施するための最良の形態】
【０００６】
次に、この発明を実施するための最良の形態を説明する。
＜Ａ：構成＞
図１は、この発明の一実施形態である楽曲練習支援装置としてのカラオケ装置１のハードウェア構成を例示したブロック図である。ＣＰＵ（Central Processing Unit）１１は、ＲＯＭ（Read Only Memory）１２または記憶部１４に記憶されているコンピュータプログラムを読み出してＲＡＭ（Random Access Memory）１３にロードし、これを実行することにより、カラオケ装置１の各部を制御する。記憶部１４は、例えばハードディスクなどの大容量の記憶手段であり、伴奏・歌詞データ記憶領域１４ａと、区切データ記憶領域１４ｂと、模範音声データ記憶領域１４ｃと、練習者音声データ記憶領域１４ｄとを有している。表示部１５は、例えば液晶ディスプレイなどであり、ＣＰＵ１１の制御の下で、カラオケ装置１を操作するためのメニュー画面や、背景画像に歌詞テロップが重ねられたカラオケ画面などの各種画面を表示する。操作部１６は、各種のキーを備えており、押下されたキーに対応した信号をＣＰＵ１１へ出力する。マイクロフォン１７は、練習者が発声した音声を収音し、音声信号（アナログデータ）を出力する。音声処理部１８は、マイクロフォン１７が出力する音声信号（アナログデータ）をデジタルデータに変換してＣＰＵ１１に出力する。スピーカ１９は、音声処理部１８から出力される音声を放音する。
【０００７】
記憶部１４の伴奏・歌詞データ記憶領域１４ａには、楽曲の伴奏を行う各種楽器の演奏音が楽曲の進行に伴って記された伴奏データと、楽曲の歌詞を示す歌詞データとが関連付けられて記憶されている。伴奏データは、例えばＭＩＤＩ（Musical Instruments Digital Interface）形式などのデータ形式であり、練習者がカラオケ歌唱する際に再生される。歌詞データは、そのカラオケ歌唱の際に歌詞テロップとして表示部１５に表示される。
【０００８】
模範音声データ記憶領域１４ｃには、例えばＷＡＶＥ形式やＭＰ３（MPEG1 Audio Layer-3）形式などの音声データであって、伴奏データによって表される伴奏に従って歌唱者が歌唱した音声（以下、模範音声）を表す音声データ（以下、模範音声データ）が記憶されている。
【０００９】
区切データ記憶領域１４ｂには、模範音声データ記憶領域１４ｃに記憶された模範音声データの示す模範音声に含まれる音節（区間）毎の区切り位置を示す区切データが記憶されている。本実施形態においては、この区切データは、各区間の開始時刻を示す情報である。記憶部１４の練習者音声データ記憶領域１４ｄには、マイクロフォン１７から音声処理部１８を経てＡ／Ｄ変換された音声データが、例えばＷＡＶＥ形式やＭＰ３形式で、伴奏開始からの経過時間を表す情報と共に時系列に記憶される。この音声データは、練習者の音声（以下、練習者音声）を表す音声データであるから、以下では、練習者音声データという。
【００１０】
次に、図２に示すブロック図を参照しながら、カラオケ装置１のソフトウェア構成について説明する。図２に示した基礎分析部１１１、ピッチシフト指示情報生成部１１２、タイムストレッチ指示情報生成部１１３、加工処理部１１４及び出力部１１５は、ＣＰＵ１１がＲＯＭ１２又は記憶部１４に記憶されたコンピュータプログラムを実行することによって実現される。なお、図中の矢印は、データの流れを概略的に示したものである。
【００１１】
図２において、基礎分析部１１１は、模範音声データ記憶領域１４ｃから読み出された模範音声データと、練習者音声データ記憶領域１４ｄから読み出された練習者音声データとを、それぞれ所定時間長のフレーム単位で各音声データのピッチ及びスペクトルを検出する。スペクトルの検出にはＦＦＴ（Fast Fourier Transform）が用いられる。基礎分析部１１１によって検出された模範音声データのピッチと練習者音声データのピッチは、ピッチシフト指示情報生成部１１２に出力される。
また、基礎分析部１１１は、検出したスペクトルに基づいて、両者の対応関係を求める。模範音声と練習者音声とは時間的に前後にずれている可能性がある。例えば、練習者が発音タイミングを間違えて歌唱した場合や、または、模範となる歌唱者が歌い始めや歌い終わりを意図的にずらして歌唱した場合などは、模範音声と練習者音声とは時間的に前後にずれている。このように模範音声と練習者音声とが時間的に前後にずれている場合であっても、両者を対応付けられるようにするため、練習者音声データの時間軸を伸縮させる時間正規化（ＤＴＷ：Dynamic Time Warping）を行い、両者の時間軸を合わせる。このＤＴＷを行うための手法としては、この実施形態ではＤＰ（Dynamic Programming：動的計画法）を用いる。具体的には以下のような処理となる。
【００１２】
基礎分析部１１１は、図３に示すような座標平面（以下、ＤＰプレーンという）をＲＡＭ１３に形成する。このＤＰプレーンの縦軸は、模範音声データの各フレームのスペクトルの絶対値の対数に逆フーリエ変換をかけて得られるパラメータに対応しており、横軸は、練習者音声データの各フレームから得たスペクトルの絶対値の対数に逆フーリエ変換をかけて得られるパラメータ（ケプストラム）に対応している。図３において、ａ１、ａ２、ａ３・・・ａｎは、模範音声データの各フレームを時間軸に従って並べたものであり、ｂ１、ｂ２、ｂ３・・・ｂｎは、練習者音声データの各フレームを時間軸に従って並べたものである。縦軸のａ１、ａ２、ａ３・・・ａｎの間隔と横軸のｂ１、ｂ２、ｂ３・・・ｂｎの間隔は、いずれもフレームの時間長と対応している。このＤＰプレーンにおける各格子点の各々には、ａ１、ａ２、ａ３・・・の各パラメータと、ｂ１、ｂ２、ｂ３・・・の各パラメータのユークリッド距離を夫々示す値であるＤＰマッチングスコアが対応付けられている。例えば、ａ１とｂ１とにより位置決めされる格子点には、模範音声データの一連のフレームのうち最初のフレームから得たパラメータと練習者音声データの一連のフレームのうち最初のフレームから得たパラメータのユークリッド距離を示す値が対応付けられることになる。基礎分析部１１１は、このような構造を成すＤＰプレーンを形成した後、ａ１とｂ１とにより位置決めされる格子点（始端）からａｎとｂｎとにより位置決めされる格子点（終端）に至る全経路を探索し、探索した各経路毎に、その始端から終端までの間に辿る各格子点のＤＰマッチングスコアを累算して行き、最小の累算値を求める。このＤＰマッチングスコアの累算値が最も小さくなる経路は、練習者音声データの各フレームの時間軸を模範音声データの時間軸に合わせて伸縮する際における伸縮の尺度として参酌される。
【００１３】
そして、基礎分析部１１１は、ＤＰマッチングスコアの累算値が最小となる経路をＤＰプレーン上から特定し、特定した経路の内容に応じて練習者音声データの時間軸を伸縮する処理であるアライメント処理を行う。具体的には、ＤＰプレーン上から特定された経路上の各格子点のＤＰマッチングスコアが時間軸上の位置を同じくするフレームから得たパラメータのユークリッド距離を表わすものとなるように、練習者音声データの各フレームのタイムスタンプの内容を書き換えた上で、時間軸上の位置を同じくする各フレームを組として順次対応付けていく。例えば、図３に示すＤＰプレーン上に記された経路においては、ａ１とｂ１により位置決めされる始点からその右上のａ２とｂ２により位置決めされる格子点に進んでいることが分かる。この場合、ａ２とｂ２のフレームの時間軸上の位置は当初から同じであるので、ｂ２のフレームのタイムスタンプの内容を書き換える必要はない。更に、この経路においては、ａ２とｂ２により位置決めされる格子点からその右のａ２とｂ３により位置決めされる格子点に進んでいることが分かる。この場合、ｂ２のフレームだけでなくｂ３のフレームもａ２のフレームと時間軸上の位置を同じくする必要があるので、ｂ３のフレームと対を成していたタイムスタンプをフレーム一つ分だけ早いものと置き換える。この結果、ａ２のフレームとｂ２及びｂ３のフレームが時間軸上の位置を同じくするフレームの組として対応付けられることになる。このようなタイムスタンプの置き換えとフレームの対応付けがｂ１からｂｎに至る全フレーム区間について行われる。これにより、練習者音声の発音タイミングと模範音声の発音タイミングとがずれていたとしても、合わせられた時間軸上の位置を同じくするフレーム（音素）どうしを対応付けることができる。
以上がＤＰマッチングの仕組みである。
【００１４】
図４は練習者音声と模範音声との対応付けの一例を示す図であり、図４（ａ）は練習者音声のピッチの時間的変化を示すグラフの一例を示すものであり、同図（ｂ）は模範音声のピッチの時間的変化を示すグラフの一例を示すものである。図においては、練習者音声の発音タイミングｔ１１と模範音声の発音タイミングｔ２１とが対応付けられ、練習者音声の発音タイミングｔ１２と模範音声の発音タイミングｔ２２とが対応付けられた様子を示している。
基礎分析部１１１によって検出された対応箇所は、ピッチシフト指示情報生成部１１２に出力されるとともに、とタイムストレッチ指示情報生成部１１３に出力される。
【００１５】
ピッチシフト指示情報生成部１１２は、模範音声データのピッチ、練習者音声データのピッチ、模範音声と練習者音声の対応箇所及び区切データに基づいて、練習者音声データのピッチと当該ピッチに対応する箇所における模範音声データのピッチとのピッチ差を示すピッチシフト指示情報を生成する。ピッチシフト指示情報生成部１１２によって生成されたピッチシフト指示情報は、加工処理部１１４に出力される。
【００１６】
タイムストレッチ指示情報生成部１１３は、基礎分析部１１１により検出された対応箇所と区切データとに基づいて、フレーム毎のタイムストレッチをかける程度を示すタイムストレッチ指示情報を生成する。タイムストレッチ指示情報生成部１１３により生成されたタイムストレッチ指示情報は、加工処理部１１４に出力される。
【００１７】
加工処理部１１４は、ピッチシフト指示情報生成部１１２により生成されたピッチシフト指示情報に基づいて練習者音声データのピッチをシフトするとともに、タイムストレッチ指示情報生成部１１３により生成されたタイムストレッチ指示情報に基づいて練習者音声データに対してタイムストレッチ処理を施し、練習者音声加工データを生成する。加工処理部１１４により生成された練習者音声加工データは、出力部１１５に出力される。
出力部１１５は、加工処理部１１４により生成された練習者音声加工データを音声処理部１８に出力する。
【００１８】
＜Ｂ：動作＞
次に、図５に示すフローチャートを参照しつつ、カラオケ装置１の動作を説明する。
練習者は、カラオケ装置１の操作部１６を操作して、歌唱したい楽曲を選択する操作を行い、楽曲の再生を指示する。操作部１６は操作された内容に応じた信号をＣＰＵ１１へ出力し、ＣＰＵ１１は、操作部１６から供給される信号に応じて、カラオケ伴奏を開始する（ステップＳ１）。すなわち、ＣＰＵ１１は、伴奏・歌詞データ記憶領域１４ａから伴奏データを読み出して音声処理部１８に供給し、音声処理部１８は、伴奏データをアナログ信号に変換し、スピーカ１９に供給して放音させる。また、ＣＰＵ１１は、伴奏・歌詞データ記憶領域１４ａから歌詞データを読み出して歌詞テロップを表示部１５に表示させる。
練習者は、スピーカ１９から放音される伴奏に合わせて歌唱を行う。このとき、練習者の音声はマイクロフォン１７によって収音されて音声信号に変換され、音声処理部１８へと出力される。音声処理部１８によってＡ／Ｄ変換された練習者音声データは、伴奏開始からの経過時間を表す情報と共に、練習者音声データ記憶領域１４ｄに時系列に記憶（録音）されていく（ステップＳ２）。
【００１９】
伴奏データの再生が終了すると、ＣＰＵ１１は、練習者音声データ記憶領域１４ｄに記憶された練習者音声データと、模範音声データ記憶領域１４ｃに予め記憶されている模範音声データに対して、上述した基礎分析部１１１の処理を行う。つまり、ＣＰＵ１１は、練習者音声データを所定時間長のフレーム単位でピッチ及びスペクトルを算出するとともに（ステップＳ３）、模範音声データを所定時間長のフレーム単位でピッチ及びスペクトルを算出する（ステップＳ４）。次いで、ＣＰＵ１１は、模範音声のスペクトルと練習者音声のスペクトルとに基づいて、練習者音声データの時間軸と模範音声データの時間軸とを合わせ、その時間軸上の位置を同じくする音どうしを対応付けることによって両者の対応箇所を検出する（ステップＳ５）。
【００２０】
次いで、ＣＰＵ１１は、上述したピッチシフト指示情報生成部１１２の処理を行う。つまり、ＣＰＵ１１は、模範音声データのピッチ、練習者音声データのピッチ、模範音声と練習者音声の対応箇所及び区切データに基づいてピッチシフト指示情報を生成する（ステップＳ６）。
【００２１】
ここで、ステップＳ６に示すピッチシフト指示情報生成処理の詳細について、図６に示すフローチャートを参照しつつ以下に説明する。
図６において、ＣＰＵ１１は、まず、ステップＳ５の処理によって検出された模範音声と練習者音声の対応関係に基づいて、区切データ記憶領域１４ｂに記憶された区切データの示す各区間の開始時刻に対応する時刻を算出し、模範音声の区間の区間長とその区間に対応する練習者音声の区間の区間長との比を算出する（ステップＳ６１）。すなわち、ＣＰＵ１１は、区切データ記憶領域１４ｂに記憶された区切データとステップＳ５の処理によって検出された模範音声データと練習者音声データの対応関係に応じて、模範音声と練習者音声とを区間毎に対応付け、各区間毎に、模範音声の区間長と練習者音声の区間長との比を算出する。
【００２２】
ここで、ステップＳ６１に示す処理の具体例について、図７を参照しつつ以下に説明する。図７において、グラフＧ１は、模範音声のピッチの時間的な変化を示すグラフの一例であり、グラフＧ２は、練習者音声のピッチの時間的な変化を示すグラフの一例である。区切データ記憶領域１４ｂに記憶された区切データの示す区間毎の区切り位置（区間の開始時刻）が、図７のｔ１，ｔ２の位置である場合には、ＣＰＵ１１は、ステップＳ５において検出された対応関係に基づいて、練習者音声において区切データの示す区切り位置と対応する位置ｔ２１，ｔ２２を算出する。次いで、ＣＰＵ１１は、ｔ１〜ｔ２の区間長Ｔ１と、ｔ２１〜ｔ２２の区間長Ｔ２との比を算出する。
【００２３】
次いで、ＣＰＵ１１は、練習者音声に含まれる各ピッチ要素について、そのピッチ要素の区間における位置を算出する（ステップＳ６２）。次いで、ＣＰＵ１１は、ステップＳ６１で算出した比に応じて、区間毎の模範音声と練習者音声の対応箇所をフレーム単位で特定し、ステップＳ６２で算出された練習者音声の各ピッチ要素の位置に対応する位置（時刻）に模範音声のピッチ要素があるか否かを判定する（ステップＳ６３）。具体的には、例えば、ＣＰＵ１１は、ステップＳ６１で算出した比で比例配分することによって、ステップＳ６２で算出した各ピッチ要素の位置に対応する模範音声の位置を特定する。具体的には、例えば、図７に示す例において、練習者音声におけるピッチ要素の位置ｐ１に対応する模範音声の位置をｐ２とすると、
Ｔ１：Ｔ２＝（ｐ１−ｔ１）：（ｐ２−ｔ２１）
であるから、
ｐ２＝ｔ２１＋Ｔ２／Ｔ１（ｐ１−ｔ１）
として算出される。
【００２４】
ステップＳ６３において、模範音声の区間中の対応する位置にピッチ要素があると判定された場合、すなわち、練習者音声において特定された位置に対応する模範音声の位置でピッチが検出された場合には（ステップＳ６３；ＹＥＳ）、ＣＰＵ１１は、対応する模範音声のピッチ要素のピッチを算出する（ステップＳ６４）。一方、模範音声の区間中の対応する位置にピッチ要素がないと判定された場合には（ステップＳ６３；ＮＯ）、ＣＰＵ１１は、模範音声においてステップＳ６３で特定されたフレームに近接するフレームのピッチで当該フレームのピッチを補間する（ステップＳ６５）。この補間処理は、例えば線形補間などによって行う。
【００２５】
次いで、ＣＰＵ１１は、ステップＳ６４又はステップＳ６５で算出されたピッチと練習者音声のピッチ要素との差値が閾値以上であるか否かを判定する（ステップＳ６６）。閾値以上であると判定された場合には（ステップＳ６６；ＹＥＳ）、ＣＰＵ１１は、その差値を示す情報をピッチシフト指示情報として生成し、生成したピッチシフト指示情報を出力する（ステップＳ６７）。一方、ステップＳ６６において、閾値未満であると判定された場合には、ＣＰＵ１１は、ピッチシフト指示情報を生成せずに、ステップＳ６８の処理に進む。次いで、ＣＰＵ１１は、次のピッチ要素があるか否かを判定し（ステップＳ６８）、次のピッチ要素があると判定された場合には（ステップＳ６８；ＹＥＳ）、ＣＰＵ１１は、ステップＳ６２の処理に戻って、次のピッチ要素について上述したステップＳ６２からステップＳ６７の処理を実行する。一方、次のピッチ要素がないと判断された場合には（ステップＳ６８；ＮＯ）、ＣＰＵ１１は、そのまま処理を終了する。
【００２６】
ところで、歌唱音声の場合は、持続される同じ発音の部分（例えばフレーズの末尾部分等）が存在する。この持続部分では発音内容が同じであるため、模範音声と練習者音声との対応箇所の検出結果をそのままアライメント（対応付け）すると、例えば図８の時刻ｔ２２１〜ｔ２２２の区間に示されるように、グラフＧ２１によって示される模範音声とグラフＧ２２によって示される練習者音声とのアライメント先がばらつく場合がある。このような場合には、単純にアライメント先のピッチを参照してピッチシフトを行うと、加工後のピッチは、図８のグラフＧ２３に示されるような、模範音声のピッチのなめらかな変化を反映できないものとなってしまう場合があった。これに対し本実施形態においては、ＣＰＵ１１が区切データ記憶領域１４ｂに記憶された区切データを用いて、区間長の比に応じて対応付けを行うから、図７のグラフＧ３に示すような、模範音声のなめらかな変化を反映したピッチシフト処理を施すことができる。
また、音節の区切りのみが記憶されており、音素の区切りが記憶されていない場合、音声のピッチの抽出状況を以って、発音内容の対応をつけてもよい。これは、持続される母音部分はピッチが抽出されるのに対して、子音部分はピッチが抽出されないことが多いためである。
【００２７】
図５の説明に戻る。ピッチシフト指示情報生成処理（ステップＳ６）に次いで、ＣＰＵ１１は、上述したタイムストレッチ指示情報生成部１１３の処理を行う。すなわち、ＣＰＵ１１は、対応箇所と区切データとに基づいて、タイムストレッチ指示情報をフレーム毎に生成する（ステップＳ７）。
【００２８】
次いで、ＣＰＵ１１は、上述した加工処理部１１４の処理を行う。つまり、ＣＰＵ１１は、練習者音声データ記憶領域１４ｄに記憶された練習者音声データのピッチを、ピッチシフト指示情報に基づいて、練習者音声のピッチを模範音声のピッチに一致させるようにシフトするとともに、タイムストレッチ指示情報に基づいて、練習者音声の発音時間を模範音声の発音時間に一致させるように、練習者音声データを時間軸方向に圧縮又は伸長すし、練習者音声加工データを生成する（ステップＳ８）。
なお、ステップＳ８においては、ＣＰＵ１１は、ピッチシフト処理を行った後にタイムストレッチ処理を行うようにしてもよく、または、タイムストレッチ処理を施した後にピッチシフト処理を行うようにしてもよい。または、練習者音声データに対して時系列に、ピッチシフト処理とタイムストレッチ処理とを並行して行うようにしてもよい。
【００２９】
ＣＰＵ１１は、生成された練習者音声加工データを音声処理部１８に出力する（ステップＳ９）。音声処理部１８は、練習者音声加工データをアナログ信号に変換し、スピーカ１９から放音させる。
【００３０】
このように、練習者音声データに対してピッチシフト処理を施すことによって、音の高さをほんのわずかに連続的に上下させ、震えるような音色を出すいわゆる「ビブラート」や、目的の音より低い音から発音し、音程を滑らかに目的の音に近づけていくいわゆる「しゃくり」など、模範音声で用いられている様々な技法を練習者音声に反映させることができる。また、練習者音声データに対してタイムストレッチ処理を施すことによって、練習者の発音タイミングのずれを補正したり、または、模範音声において歌い始めや歌い終わりを意図的にずらすいわゆる「つっこみ」や「ため」などの技法が用いられている場合であっても、それらの技法を練習者音声に反映させることができる。出力される音声の声質は練習者の音声の声質と同様であるから、練習者は、放音される音声を聴くことで、自身が正しく歌った場合のイメージを持つことができる。
【００３１】
＜Ｃ：変形例＞
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。以下にその一例を示す。
（１）上述した実施形態においては、練習者の歌唱練習を支援する場合を例に挙げて説明したが、これに限らず、練習者の楽器演奏の練習を支援するようにしてもよい。この場合、伴奏・歌詞データ記憶領域１４ａには、練習したい楽器（例えばギター）以外の楽器（例えばベースやドラム）の演奏データが記憶されており、模範音声データ記憶領域１４ｃには、模範となる模範演奏データが記憶されており、練習者音声データ記憶領域１４ｄには、練習者の演奏音を表す演奏データが記憶される。練習者は練習したい楽器を演奏し、その演奏音はマイクロフォン１７によって収音されて音声信号に変換され、音声処理部１８でデジタル信号に変換されて練習者音声データ記憶領域１４ｄに記憶される。また、区切データ記憶領域１４ｂには、模範音声データの表す演奏音に含まれる各音の開始時刻や終了時刻などの音の区切り位置を示す情報が記憶される。ＣＰＵ１１は、これらのデータに基づき、上記と同様の処理を経て練習者音声加工データを生成して放音する。
【００３２】
（２）上述した実施形態では、練習者音声データを記憶する際には歌詞を表示し、さらに伴奏データを再生しながら練習者に歌唱させる、所謂カラオケ歌唱を行うようにしていたが、これは必ずしも必要ではない。つまり、練習者が歌詞の表示や伴奏データの再生が無いままで歌唱し、これを録音して練習者加工データを生成するようにしてもよい。
【００３３】
（３）上述した実施形態においては、模範音声データを模範音声データ記憶領域１４ｃに記憶させて、カラオケ装置１のＣＰＵ１１が記憶部１４から模範音声データを読み出すようにしたが、これに代えて、通信ネットワークを介して模範音声データを受信するようにしてもよい。
または、模範音声データそのものを記憶しておくようにせず、模範音声のピッチやスペクトルを示すデータを記憶させておくようにしてもよい。この場合は、カラオケ装置のＣＰＵは、模範音声のピッチ、スペクトルの算出処理を行わず、記憶部に記憶されたピッチデータやスペクトルデータに基づいて、対応箇所の検出やピッチシフト処理、タイムストレッチ処理を施す。
また、上述した実施形態では、マイクロフォン１７で練習者の音声を収音して音声処理部１８が練習者音声データを生成するようにしたが、これに代えて、通信ネットワークを介して練習者音声データを受信するようにしてもよく、または、ＵＳＢ（Universal Serial Bus）等のインタフェースを介して練習者音声データを入力するようにしてもよい。要するに、カラオケ装置のＣＰＵに練習者音声データを入力するものであればどのようなものであってもよい。
【００３４】
（４）上述した実施形態においては、音節毎の開始時刻を示す情報を区切り情報として用いたが、区切り情報は音節毎の開始時刻を示す情報に限らず、音節毎の開始時刻と終了時刻とを示す情報であってもよく、または、例えば予め定められた音符単位の開始時刻または終了時刻を示す情報であってもよい。要するに、音節、音符、フレーズなどの予め定められた区間の区切り位置を示す情報であればどのようなものであってもよい。
【００３５】
（５）また、歌唱を行う場合においては、自分の音域に合わないなどの理由により、キーコントロールを行って歌唱を行う場合がある。この場合、正しい音声のキーが変わってくることから、ユーザにフィードバックする音声もキーコントロール後のキーに変える必要がある。この場合は、ＣＰＵは、操作部を介してキーコントロールの内容を示すキーコントロールデータの入力を受け付け、入力されたキーコントロールデータの示す内容に応じて模範音声データのピッチをシフトし、ピッチをシフトした模範音声データを記憶部に記憶しておいてもよい。
【００３６】
または、ＣＰＵ１１がピッチシフト指示情報を生成する処理において、ＣＰＵ１１が、操作部１６を介してキーコントロールの内容を示すキーコントロールデータの入力を受け付け（図２に鎖線で図示）、入力されたキーコントロールデータの示す内容をピッチシフト指示情報に算入するようにしてもよい。具体的には、ＣＰＵ１１が、模範音声と練習者音声のピッチの差値とキーコントロールデータの示す値との和を、ピッチシフト指示情報として生成してもよい。
また、タイムストレッチ処理についても同様であり、ＣＰＵ１１がタイムストレッチ指示情報を生成する処理において、ＣＰＵ１１が、操作部１６を介してテンポコントロールの内容を示すテンポコントロールデータの入力を受け付け（図２に鎖線で図示）、入力されたテンポコントロールデータの示す内容に応じて、模範音声データを時間軸方向に圧縮又は伸長するタイムストレッチ処理を行い、タイムストレッチ処理が施された模範音声データと練習者音声データとに応じて、タイムストレッチ指示情報を生成してもよい。
【００３７】
（６）上述した実施形態においては、ＣＰＵ１１がピッチシフト指示情報を生成するか否かの判定において、図６のステップＳ６６に示したように、予め定められた閾値と比較して判定を行うようにしたが、これに限らず、ピッチシフト指示情報を生成するか否かの判定を行わない構成としてもよい。
【００３８】
（７）上述した実施形態では、カラオケ装置１が、図２に示した機能の全てを実現するようになっていた。これに対し、通信ネットワークで接続された２以上の装置が上記機能を分担するようにし、それら複数の装置を備えるシステムが同実施形態のカラオケ装置１を実現するようにしてもよい。例えば、マイクロフォンやスピーカ、表示装置及び入力装置を備えるコンピュータ装置と、基礎分析部１１１、ピッチシフト指示情報生成部１１２、タイムストレッチ指示情報生成部１１３、加工処理部１１４及び出力１１５を実現するサーバ装置とが通信ネットワークで接続されたシステムとして構成されていてもよい。この場合は、コンピュータ装置が、マイクロフォンから入力された音声を音声データに変換してサーバ装置に送信し、サーバ装置が、受信した音声データと模範音声データ及び区切データとに基づいて練習者音声データを加工し、生成された練習者音声加工データをコンピュータ装置に送信するようにすればよい。
【００３９】
（８）上述した実施形態におけるカラオケ装置１のＣＰＵ１１によって実行されるプログラムは、磁気テープ、磁気ディスク、フレキシブルディスク、光記録媒体、光磁気記録媒体、ＣＤ（Compact Disk）−ＲＯＭ、ＤＶＤ（Digital Versatile Disk）、ＲＡＭなどの記録媒体に記憶した状態で提供し得る。また、インターネットのようなネットワーク経由でカラオケ装置１にダウンロードさせることも可能である。
上述した実施形態におけるカラオケ装置１のＣＰＵ１１によって実行されるプログラムの概要は以下のとおりである。
「コンピュータに、予め記憶された模範音声データと入力された練習者音声データとを時間軸方向に対応付ける対応付機能と、前記対応付機能の対応付け結果に応じて、前記練習者音声データのピッチを、当該ピッチに対応する前記模範音声データのピッチに一致させるようにシフトするピッチシフト機能と、前記対応付機能の対応付け結果に応じて、前記練習者音声データにおいて時間軸方向に予め定められた区間の区間長を、当該区間に対応する模範音声データの区間の区間長に一致させるように、当該区間を時間軸方向に圧縮又は伸長するタイムストレッチ機能と、前記ピッチシフト機能によりピッチをシフトされるとともに前記タイムストレッチ機能により時間軸方向に圧縮又は伸長された練習者音声データを放音手段に出力する出力機能とを実現させるプログラム。」
【００４０】
また、上述した実施形態におけるカラオケ装置１の制御方法としての概要をまとめると、以下のとおりである。
「制御手段を備えた楽曲練習支援装置の制御方法であって、前記制御手段が、予め記憶された模範音声データと入力された練習者音声データとを時間軸方向に対応付けるステップと、前記制御手段が、対応付け結果に応じて、前記練習者音声データのピッチを、当該ピッチに対応する前記模範音声データのピッチに一致させるようにシフトするステップと、前記制御手段が、対応付け結果に応じて、前記練習者音声データにおいて時間軸方向に予め定められた区間の区間長を、当該区間に対応する模範音声データの区間の区間長に一致させるように、当該区間を時間軸方向に圧縮または伸長するステップと、前記制御手段が、ピッチをシフトされるとともに時間軸方向に圧縮又は伸長された練習者音声データを放音手段に出力するステップとを備えることを特徴とする制御方法。」
【図面の簡単な説明】
【００４１】
【図１】カラオケ装置のハードウェア構成の一例を示すブロック図である。
【図２】カラオケ装置のソフトウェア構成の一例を示すブロック図である。
【図３】ＤＰマッチングを示す図である。
【図４】模範音声と練習者音声の対応関係の一例を示す図である。
【図５】カラオケ装置のＣＰＵが行う処理の流れを示すフローチャートである。
【図６】カラオケ装置のＣＰＵが行う処理の流れを示すフローチャートである。
【図７】模範音声と練習者音声の対応関係の一例を示す図である。
【図８】模範音声と練習者音声の対応関係の一例を示す図である。
【符号の説明】
【００４２】
１…カラオケ装置、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…記憶部、１５…表示部、１６…操作部、１７…マイクロフォン、１８…音声処理部、１９…スピーカ。
【図１】
2008015195.tif 000003
【図２】
2008015195.tif 000004
【図３】
2008015195.tif 000005
【図４】
2008015195.tif 000006
【図５】
2008015195.tif 000007
【図６】
2008015195.tif 000008
【図７】
2008015195.tif 000009
【図８】
2008015195.tif 000010