説明

楽曲練習支援装置

【課題】歌唱者が自身の歌唱をどのように修正すればよいかを聴覚的に認識することのできる技術を提供する。
【解決手段】カラオケ装置1のCPU11は、模範音声データ記憶領域14cに記憶された模範音声データと、入力された練習者音声データとを時間軸方向に対応付ける。次いで、CPU11は、対応付け結果に応じて、練習者音声データのピッチを、当該ピッチに対応する模範音声データのピッチに一致させるようにシフトするとともに、練習者音声データの区間(音節)の区間長を、当該区間に対応する模範音声データの区間の区間長に一致させるように、当該区間を時間軸方向に圧縮又は伸長し、練習者音声データを音声処理部18に出力する。音声処理部18はCPU11から供給される練習者音声データをアナログ信号に変換し、スピーカ19から放音させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、楽曲練習支援装置に関する。
【背景技術】
【0002】
近年、カラオケ装置において、歌唱者の歌唱の巧拙を採点するための方法が種々提案されている。例えば、特許文献1には、ユーザ入力の音声信号に基づく音声データから、所定のフレーム毎のピッチを抽出し、フレーム毎に抽出されたピッチと、楽音データに基づく音高とを比較し、ユーザの音声のピッチの正確さを判定する方法が提案されている。このように歌唱の巧拙を採点するカラオケ装置においては、採点結果である点数を画面に表示するものが一般的である。
【特許文献1】特開2005−128372号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、歌唱者が自身の歌唱のどの部分をどのように修正すればよいかが音で認識できれば好適である。しかしながら、従来の採点方法においては、点数が表示されるだけであるため、歌唱者は自身の歌唱をどのように修正すればよいかを音で認識することはできなかった。これは楽曲の歌唱に限らず、楽器の演奏についても同様である。
本発明は上述した背景の下になされたものであり、歌唱者が自身の歌唱をどのように修正すればよいかを聴覚的に認識することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【0004】
本発明の好適な態様である楽曲練習支援装置は、予め記憶された模範音声データと入力された練習者音声データとを時間軸方向に対応付ける対応付手段と、前記対応付手段の対応付け結果に応じて、前記練習者音声データのピッチを、当該ピッチに対応する前記模範音声データのピッチに一致させるようにシフトするピッチシフト手段と、前記対応付手段の対応付け結果に応じて、前記練習者音声データにおいて時間軸方向に予め定められた区間の区間長を、当該区間に対応する模範音声データの区間の区間長に一致させるように、当該区間を時間軸方向に圧縮又は伸長するタイムストレッチ手段と、前記ピッチシフト手段によりピッチをシフトされるとともに前記タイムストレッチ手段により時間軸方向に圧縮又は伸長された練習者音声データを放音手段に出力する出力手段とを備える。
この態様において、前記模範音声データにおいて時間軸方向に予め定められた区間毎の区切り位置を示す区切り情報を記憶する記憶手段と、前記記憶手段に記憶された区切り情報と前記対応付手段の対応付け結果とに応じて、前記模範音声データと前記練習者音声データとを前記区間毎に対応付け、各区間毎に、前記模範音声の区間長と前記練習者音声の区間長との比を算出する区間長比算出手段と、前記区間長比算出手段により算出された比に応じて、区間毎の模範音声と練習者音声の対応箇所を所定時間長のフレーム単位で特定する対応箇所特定手段とを備え、前記ピッチシフト手段は、前記対応箇所特定手段の特定結果に応じて、前記入力された音声データの示す練習者音声のピッチを、当該ピッチに対応する模範音声のピッチに一致させるようにシフトしてもよい。
この態様において、前記ピッチシフト手段は、前記対応箇所特定手段の特定結果に応じて、前記模範音声のピッチに対応する練習者音声のピッチが検出されたフレームにおいては、検出されたピッチを当該ピッチに対応する模範音声のピッチに一致させるようにシフトし、一方、ピッチが検出されなかったフレームにおいては、当該フレームに近接するフレームのピッチで当該フレームのピッチを補間してもよい。
【発明の効果】
【0005】
本発明によれば、歌唱者が自身の歌唱をどのように修正すればよいかを聴覚的に認識することができる。
【発明を実施するための最良の形態】
【0006】
次に、この発明を実施するための最良の形態を説明する。
<A:構成>
図1は、この発明の一実施形態である楽曲練習支援装置としてのカラオケ装置1のハードウェア構成を例示したブロック図である。CPU(Central Processing Unit)11は、ROM(Read Only Memory)12または記憶部14に記憶されているコンピュータプログラムを読み出してRAM(Random Access Memory)13にロードし、これを実行することにより、カラオケ装置1の各部を制御する。記憶部14は、例えばハードディスクなどの大容量の記憶手段であり、伴奏・歌詞データ記憶領域14aと、区切データ記憶領域14bと、模範音声データ記憶領域14cと、練習者音声データ記憶領域14dとを有している。表示部15は、例えば液晶ディスプレイなどであり、CPU11の制御の下で、カラオケ装置1を操作するためのメニュー画面や、背景画像に歌詞テロップが重ねられたカラオケ画面などの各種画面を表示する。操作部16は、各種のキーを備えており、押下されたキーに対応した信号をCPU11へ出力する。マイクロフォン17は、練習者が発声した音声を収音し、音声信号(アナログデータ)を出力する。音声処理部18は、マイクロフォン17が出力する音声信号(アナログデータ)をデジタルデータに変換してCPU11に出力する。スピーカ19は、音声処理部18から出力される音声を放音する。
【0007】
記憶部14の伴奏・歌詞データ記憶領域14aには、楽曲の伴奏を行う各種楽器の演奏音が楽曲の進行に伴って記された伴奏データと、楽曲の歌詞を示す歌詞データとが関連付けられて記憶されている。伴奏データは、例えばMIDI(Musical Instruments Digital Interface)形式などのデータ形式であり、練習者がカラオケ歌唱する際に再生される。歌詞データは、そのカラオケ歌唱の際に歌詞テロップとして表示部15に表示される。
【0008】
模範音声データ記憶領域14cには、例えばWAVE形式やMP3(MPEG1 Audio Layer-3)形式などの音声データであって、伴奏データによって表される伴奏に従って歌唱者が歌唱した音声(以下、模範音声)を表す音声データ(以下、模範音声データ)が記憶されている。
【0009】
区切データ記憶領域14bには、模範音声データ記憶領域14cに記憶された模範音声データの示す模範音声に含まれる音節(区間)毎の区切り位置を示す区切データが記憶されている。本実施形態においては、この区切データは、各区間の開始時刻を示す情報である。記憶部14の練習者音声データ記憶領域14dには、マイクロフォン17から音声処理部18を経てA/D変換された音声データが、例えばWAVE形式やMP3形式で、伴奏開始からの経過時間を表す情報と共に時系列に記憶される。この音声データは、練習者の音声(以下、練習者音声)を表す音声データであるから、以下では、練習者音声データという。
【0010】
次に、図2に示すブロック図を参照しながら、カラオケ装置1のソフトウェア構成について説明する。図2に示した基礎分析部111、ピッチシフト指示情報生成部112、タイムストレッチ指示情報生成部113、加工処理部114及び出力部115は、CPU11がROM12又は記憶部14に記憶されたコンピュータプログラムを実行することによって実現される。なお、図中の矢印は、データの流れを概略的に示したものである。
【0011】
図2において、基礎分析部111は、模範音声データ記憶領域14cから読み出された模範音声データと、練習者音声データ記憶領域14dから読み出された練習者音声データとを、それぞれ所定時間長のフレーム単位で各音声データのピッチ及びスペクトルを検出する。スペクトルの検出にはFFT(Fast Fourier Transform)が用いられる。基礎分析部111によって検出された模範音声データのピッチと練習者音声データのピッチは、ピッチシフト指示情報生成部112に出力される。
また、基礎分析部111は、検出したスペクトルに基づいて、両者の対応関係を求める。模範音声と練習者音声とは時間的に前後にずれている可能性がある。例えば、練習者が発音タイミングを間違えて歌唱した場合や、または、模範となる歌唱者が歌い始めや歌い終わりを意図的にずらして歌唱した場合などは、模範音声と練習者音声とは時間的に前後にずれている。このように模範音声と練習者音声とが時間的に前後にずれている場合であっても、両者を対応付けられるようにするため、練習者音声データの時間軸を伸縮させる時間正規化(DTW:Dynamic Time Warping)を行い、両者の時間軸を合わせる。このDTWを行うための手法としては、この実施形態ではDP(Dynamic Programming:動的計画法)を用いる。具体的には以下のような処理となる。
【0012】
基礎分析部111は、図3に示すような座標平面(以下、DPプレーンという)をRAM13に形成する。このDPプレーンの縦軸は、模範音声データの各フレームのスペクトルの絶対値の対数に逆フーリエ変換をかけて得られるパラメータに対応しており、横軸は、練習者音声データの各フレームから得たスペクトルの絶対値の対数に逆フーリエ変換をかけて得られるパラメータ(ケプストラム)に対応している。図3において、a1、a2、a3・・・anは、模範音声データの各フレームを時間軸に従って並べたものであり、b1、b2、b3・・・bnは、練習者音声データの各フレームを時間軸に従って並べたものである。縦軸のa1、a2、a3・・・anの間隔と横軸のb1、b2、b3・・・bnの間隔は、いずれもフレームの時間長と対応している。このDPプレーンにおける各格子点の各々には、a1、a2、a3・・・の各パラメータと、b1、b2、b3・・・の各パラメータのユークリッド距離を夫々示す値であるDPマッチングスコアが対応付けられている。例えば、a1とb1とにより位置決めされる格子点には、模範音声データの一連のフレームのうち最初のフレームから得たパラメータと練習者音声データの一連のフレームのうち最初のフレームから得たパラメータのユークリッド距離を示す値が対応付けられることになる。基礎分析部111は、このような構造を成すDPプレーンを形成した後、a1とb1とにより位置決めされる格子点(始端)からanとbnとにより位置決めされる格子点(終端)に至る全経路を探索し、探索した各経路毎に、その始端から終端までの間に辿る各格子点のDPマッチングスコアを累算して行き、最小の累算値を求める。このDPマッチングスコアの累算値が最も小さくなる経路は、練習者音声データの各フレームの時間軸を模範音声データの時間軸に合わせて伸縮する際における伸縮の尺度として参酌される。
【0013】
そして、基礎分析部111は、DPマッチングスコアの累算値が最小となる経路をDPプレーン上から特定し、特定した経路の内容に応じて練習者音声データの時間軸を伸縮する処理であるアライメント処理を行う。具体的には、DPプレーン上から特定された経路上の各格子点のDPマッチングスコアが時間軸上の位置を同じくするフレームから得たパラメータのユークリッド距離を表わすものとなるように、練習者音声データの各フレームのタイムスタンプの内容を書き換えた上で、時間軸上の位置を同じくする各フレームを組として順次対応付けていく。例えば、図3に示すDPプレーン上に記された経路においては、a1とb1により位置決めされる始点からその右上のa2とb2により位置決めされる格子点に進んでいることが分かる。この場合、a2とb2のフレームの時間軸上の位置は当初から同じであるので、b2のフレームのタイムスタンプの内容を書き換える必要はない。更に、この経路においては、a2とb2により位置決めされる格子点からその右のa2とb3により位置決めされる格子点に進んでいることが分かる。この場合、b2のフレームだけでなくb3のフレームもa2のフレームと時間軸上の位置を同じくする必要があるので、b3のフレームと対を成していたタイムスタンプをフレーム一つ分だけ早いものと置き換える。この結果、a2のフレームとb2及びb3のフレームが時間軸上の位置を同じくするフレームの組として対応付けられることになる。このようなタイムスタンプの置き換えとフレームの対応付けがb1からbnに至る全フレーム区間について行われる。これにより、練習者音声の発音タイミングと模範音声の発音タイミングとがずれていたとしても、合わせられた時間軸上の位置を同じくするフレーム(音素)どうしを対応付けることができる。
以上がDPマッチングの仕組みである。
【0014】
図4は練習者音声と模範音声との対応付けの一例を示す図であり、図4(a)は練習者音声のピッチの時間的変化を示すグラフの一例を示すものであり、同図(b)は模範音声のピッチの時間的変化を示すグラフの一例を示すものである。図においては、練習者音声の発音タイミングt11と模範音声の発音タイミングt21とが対応付けられ、練習者音声の発音タイミングt12と模範音声の発音タイミングt22とが対応付けられた様子を示している。
基礎分析部111によって検出された対応箇所は、ピッチシフト指示情報生成部112に出力されるとともに、とタイムストレッチ指示情報生成部113に出力される。
【0015】
ピッチシフト指示情報生成部112は、模範音声データのピッチ、練習者音声データのピッチ、模範音声と練習者音声の対応箇所及び区切データに基づいて、練習者音声データのピッチと当該ピッチに対応する箇所における模範音声データのピッチとのピッチ差を示すピッチシフト指示情報を生成する。ピッチシフト指示情報生成部112によって生成されたピッチシフト指示情報は、加工処理部114に出力される。
【0016】
タイムストレッチ指示情報生成部113は、基礎分析部111により検出された対応箇所と区切データとに基づいて、フレーム毎のタイムストレッチをかける程度を示すタイムストレッチ指示情報を生成する。タイムストレッチ指示情報生成部113により生成されたタイムストレッチ指示情報は、加工処理部114に出力される。
【0017】
加工処理部114は、ピッチシフト指示情報生成部112により生成されたピッチシフト指示情報に基づいて練習者音声データのピッチをシフトするとともに、タイムストレッチ指示情報生成部113により生成されたタイムストレッチ指示情報に基づいて練習者音声データに対してタイムストレッチ処理を施し、練習者音声加工データを生成する。加工処理部114により生成された練習者音声加工データは、出力部115に出力される。
出力部115は、加工処理部114により生成された練習者音声加工データを音声処理部18に出力する。
【0018】
<B:動作>
次に、図5に示すフローチャートを参照しつつ、カラオケ装置1の動作を説明する。
練習者は、カラオケ装置1の操作部16を操作して、歌唱したい楽曲を選択する操作を行い、楽曲の再生を指示する。操作部16は操作された内容に応じた信号をCPU11へ出力し、CPU11は、操作部16から供給される信号に応じて、カラオケ伴奏を開始する(ステップS1)。すなわち、CPU11は、伴奏・歌詞データ記憶領域14aから伴奏データを読み出して音声処理部18に供給し、音声処理部18は、伴奏データをアナログ信号に変換し、スピーカ19に供給して放音させる。また、CPU11は、伴奏・歌詞データ記憶領域14aから歌詞データを読み出して歌詞テロップを表示部15に表示させる。
練習者は、スピーカ19から放音される伴奏に合わせて歌唱を行う。このとき、練習者の音声はマイクロフォン17によって収音されて音声信号に変換され、音声処理部18へと出力される。音声処理部18によってA/D変換された練習者音声データは、伴奏開始からの経過時間を表す情報と共に、練習者音声データ記憶領域14dに時系列に記憶(録音)されていく(ステップS2)。
【0019】
伴奏データの再生が終了すると、CPU11は、練習者音声データ記憶領域14dに記憶された練習者音声データと、模範音声データ記憶領域14cに予め記憶されている模範音声データに対して、上述した基礎分析部111の処理を行う。つまり、CPU11は、練習者音声データを所定時間長のフレーム単位でピッチ及びスペクトルを算出するとともに(ステップS3)、模範音声データを所定時間長のフレーム単位でピッチ及びスペクトルを算出する(ステップS4)。次いで、CPU11は、模範音声のスペクトルと練習者音声のスペクトルとに基づいて、練習者音声データの時間軸と模範音声データの時間軸とを合わせ、その時間軸上の位置を同じくする音どうしを対応付けることによって両者の対応箇所を検出する(ステップS5)。
【0020】
次いで、CPU11は、上述したピッチシフト指示情報生成部112の処理を行う。つまり、CPU11は、模範音声データのピッチ、練習者音声データのピッチ、模範音声と練習者音声の対応箇所及び区切データに基づいてピッチシフト指示情報を生成する(ステップS6)。
【0021】
ここで、ステップS6に示すピッチシフト指示情報生成処理の詳細について、図6に示すフローチャートを参照しつつ以下に説明する。
図6において、CPU11は、まず、ステップS5の処理によって検出された模範音声と練習者音声の対応関係に基づいて、区切データ記憶領域14bに記憶された区切データの示す各区間の開始時刻に対応する時刻を算出し、模範音声の区間の区間長とその区間に対応する練習者音声の区間の区間長との比を算出する(ステップS61)。すなわち、CPU11は、区切データ記憶領域14bに記憶された区切データとステップS5の処理によって検出された模範音声データと練習者音声データの対応関係に応じて、模範音声と練習者音声とを区間毎に対応付け、各区間毎に、模範音声の区間長と練習者音声の区間長との比を算出する。
【0022】
ここで、ステップS61に示す処理の具体例について、図7を参照しつつ以下に説明する。図7において、グラフG1は、模範音声のピッチの時間的な変化を示すグラフの一例であり、グラフG2は、練習者音声のピッチの時間的な変化を示すグラフの一例である。区切データ記憶領域14bに記憶された区切データの示す区間毎の区切り位置(区間の開始時刻)が、図7のt1,t2の位置である場合には、CPU11は、ステップS5において検出された対応関係に基づいて、練習者音声において区切データの示す区切り位置と対応する位置t21,t22を算出する。次いで、CPU11は、t1〜t2の区間長T1と、t21〜t22の区間長T2との比を算出する。
【0023】
次いで、CPU11は、練習者音声に含まれる各ピッチ要素について、そのピッチ要素の区間における位置を算出する(ステップS62)。次いで、CPU11は、ステップS61で算出した比に応じて、区間毎の模範音声と練習者音声の対応箇所をフレーム単位で特定し、ステップS62で算出された練習者音声の各ピッチ要素の位置に対応する位置(時刻)に模範音声のピッチ要素があるか否かを判定する(ステップS63)。具体的には、例えば、CPU11は、ステップS61で算出した比で比例配分することによって、ステップS62で算出した各ピッチ要素の位置に対応する模範音声の位置を特定する。具体的には、例えば、図7に示す例において、練習者音声におけるピッチ要素の位置p1に対応する模範音声の位置をp2とすると、
T1:T2=(p1−t1):(p2−t21)
であるから、
p2=t21+T2/T1(p1−t1)
として算出される。
【0024】
ステップS63において、模範音声の区間中の対応する位置にピッチ要素があると判定された場合、すなわち、練習者音声において特定された位置に対応する模範音声の位置でピッチが検出された場合には(ステップS63;YES)、CPU11は、対応する模範音声のピッチ要素のピッチを算出する(ステップS64)。一方、模範音声の区間中の対応する位置にピッチ要素がないと判定された場合には(ステップS63;NO)、CPU11は、模範音声においてステップS63で特定されたフレームに近接するフレームのピッチで当該フレームのピッチを補間する(ステップS65)。この補間処理は、例えば線形補間などによって行う。
【0025】
次いで、CPU11は、ステップS64又はステップS65で算出されたピッチと練習者音声のピッチ要素との差値が閾値以上であるか否かを判定する(ステップS66)。閾値以上であると判定された場合には(ステップS66;YES)、CPU11は、その差値を示す情報をピッチシフト指示情報として生成し、生成したピッチシフト指示情報を出力する(ステップS67)。一方、ステップS66において、閾値未満であると判定された場合には、CPU11は、ピッチシフト指示情報を生成せずに、ステップS68の処理に進む。次いで、CPU11は、次のピッチ要素があるか否かを判定し(ステップS68)、次のピッチ要素があると判定された場合には(ステップS68;YES)、CPU11は、ステップS62の処理に戻って、次のピッチ要素について上述したステップS62からステップS67の処理を実行する。一方、次のピッチ要素がないと判断された場合には(ステップS68;NO)、CPU11は、そのまま処理を終了する。
【0026】
ところで、歌唱音声の場合は、持続される同じ発音の部分(例えばフレーズの末尾部分等)が存在する。この持続部分では発音内容が同じであるため、模範音声と練習者音声との対応箇所の検出結果をそのままアライメント(対応付け)すると、例えば図8の時刻t221〜t222の区間に示されるように、グラフG21によって示される模範音声とグラフG22によって示される練習者音声とのアライメント先がばらつく場合がある。このような場合には、単純にアライメント先のピッチを参照してピッチシフトを行うと、加工後のピッチは、図8のグラフG23に示されるような、模範音声のピッチのなめらかな変化を反映できないものとなってしまう場合があった。これに対し本実施形態においては、CPU11が区切データ記憶領域14bに記憶された区切データを用いて、区間長の比に応じて対応付けを行うから、図7のグラフG3に示すような、模範音声のなめらかな変化を反映したピッチシフト処理を施すことができる。
また、音節の区切りのみが記憶されており、音素の区切りが記憶されていない場合、音声のピッチの抽出状況を以って、発音内容の対応をつけてもよい。これは、持続される母音部分はピッチが抽出されるのに対して、子音部分はピッチが抽出されないことが多いためである。
【0027】
図5の説明に戻る。ピッチシフト指示情報生成処理(ステップS6)に次いで、CPU11は、上述したタイムストレッチ指示情報生成部113の処理を行う。すなわち、CPU11は、対応箇所と区切データとに基づいて、タイムストレッチ指示情報をフレーム毎に生成する(ステップS7)。
【0028】
次いで、CPU11は、上述した加工処理部114の処理を行う。つまり、CPU11は、練習者音声データ記憶領域14dに記憶された練習者音声データのピッチを、ピッチシフト指示情報に基づいて、練習者音声のピッチを模範音声のピッチに一致させるようにシフトするとともに、タイムストレッチ指示情報に基づいて、練習者音声の発音時間を模範音声の発音時間に一致させるように、練習者音声データを時間軸方向に圧縮又は伸長すし、練習者音声加工データを生成する(ステップS8)。
なお、ステップS8においては、CPU11は、ピッチシフト処理を行った後にタイムストレッチ処理を行うようにしてもよく、または、タイムストレッチ処理を施した後にピッチシフト処理を行うようにしてもよい。または、練習者音声データに対して時系列に、ピッチシフト処理とタイムストレッチ処理とを並行して行うようにしてもよい。
【0029】
CPU11は、生成された練習者音声加工データを音声処理部18に出力する(ステップS9)。音声処理部18は、練習者音声加工データをアナログ信号に変換し、スピーカ19から放音させる。
【0030】
このように、練習者音声データに対してピッチシフト処理を施すことによって、音の高さをほんのわずかに連続的に上下させ、震えるような音色を出すいわゆる「ビブラート」や、目的の音より低い音から発音し、音程を滑らかに目的の音に近づけていくいわゆる「しゃくり」など、模範音声で用いられている様々な技法を練習者音声に反映させることができる。また、練習者音声データに対してタイムストレッチ処理を施すことによって、練習者の発音タイミングのずれを補正したり、または、模範音声において歌い始めや歌い終わりを意図的にずらすいわゆる「つっこみ」や「ため」などの技法が用いられている場合であっても、それらの技法を練習者音声に反映させることができる。出力される音声の声質は練習者の音声の声質と同様であるから、練習者は、放音される音声を聴くことで、自身が正しく歌った場合のイメージを持つことができる。
【0031】
<C:変形例>
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。以下にその一例を示す。
(1)上述した実施形態においては、練習者の歌唱練習を支援する場合を例に挙げて説明したが、これに限らず、練習者の楽器演奏の練習を支援するようにしてもよい。この場合、伴奏・歌詞データ記憶領域14aには、練習したい楽器(例えばギター)以外の楽器(例えばベースやドラム)の演奏データが記憶されており、模範音声データ記憶領域14cには、模範となる模範演奏データが記憶されており、練習者音声データ記憶領域14dには、練習者の演奏音を表す演奏データが記憶される。練習者は練習したい楽器を演奏し、その演奏音はマイクロフォン17によって収音されて音声信号に変換され、音声処理部18でデジタル信号に変換されて練習者音声データ記憶領域14dに記憶される。また、区切データ記憶領域14bには、模範音声データの表す演奏音に含まれる各音の開始時刻や終了時刻などの音の区切り位置を示す情報が記憶される。CPU11は、これらのデータに基づき、上記と同様の処理を経て練習者音声加工データを生成して放音する。
【0032】
(2)上述した実施形態では、練習者音声データを記憶する際には歌詞を表示し、さらに伴奏データを再生しながら練習者に歌唱させる、所謂カラオケ歌唱を行うようにしていたが、これは必ずしも必要ではない。つまり、練習者が歌詞の表示や伴奏データの再生が無いままで歌唱し、これを録音して練習者加工データを生成するようにしてもよい。
【0033】
(3)上述した実施形態においては、模範音声データを模範音声データ記憶領域14cに記憶させて、カラオケ装置1のCPU11が記憶部14から模範音声データを読み出すようにしたが、これに代えて、通信ネットワークを介して模範音声データを受信するようにしてもよい。
または、模範音声データそのものを記憶しておくようにせず、模範音声のピッチやスペクトルを示すデータを記憶させておくようにしてもよい。この場合は、カラオケ装置のCPUは、模範音声のピッチ、スペクトルの算出処理を行わず、記憶部に記憶されたピッチデータやスペクトルデータに基づいて、対応箇所の検出やピッチシフト処理、タイムストレッチ処理を施す。
また、上述した実施形態では、マイクロフォン17で練習者の音声を収音して音声処理部18が練習者音声データを生成するようにしたが、これに代えて、通信ネットワークを介して練習者音声データを受信するようにしてもよく、または、USB(Universal Serial Bus)等のインタフェースを介して練習者音声データを入力するようにしてもよい。要するに、カラオケ装置のCPUに練習者音声データを入力するものであればどのようなものであってもよい。
【0034】
(4)上述した実施形態においては、音節毎の開始時刻を示す情報を区切り情報として用いたが、区切り情報は音節毎の開始時刻を示す情報に限らず、音節毎の開始時刻と終了時刻とを示す情報であってもよく、または、例えば予め定められた音符単位の開始時刻または終了時刻を示す情報であってもよい。要するに、音節、音符、フレーズなどの予め定められた区間の区切り位置を示す情報であればどのようなものであってもよい。
【0035】
(5)また、歌唱を行う場合においては、自分の音域に合わないなどの理由により、キーコントロールを行って歌唱を行う場合がある。この場合、正しい音声のキーが変わってくることから、ユーザにフィードバックする音声もキーコントロール後のキーに変える必要がある。この場合は、CPUは、操作部を介してキーコントロールの内容を示すキーコントロールデータの入力を受け付け、入力されたキーコントロールデータの示す内容に応じて模範音声データのピッチをシフトし、ピッチをシフトした模範音声データを記憶部に記憶しておいてもよい。
【0036】
または、CPU11がピッチシフト指示情報を生成する処理において、CPU11が、操作部16を介してキーコントロールの内容を示すキーコントロールデータの入力を受け付け(図2に鎖線で図示)、入力されたキーコントロールデータの示す内容をピッチシフト指示情報に算入するようにしてもよい。具体的には、CPU11が、模範音声と練習者音声のピッチの差値とキーコントロールデータの示す値との和を、ピッチシフト指示情報として生成してもよい。
また、タイムストレッチ処理についても同様であり、CPU11がタイムストレッチ指示情報を生成する処理において、CPU11が、操作部16を介してテンポコントロールの内容を示すテンポコントロールデータの入力を受け付け(図2に鎖線で図示)、入力されたテンポコントロールデータの示す内容に応じて、模範音声データを時間軸方向に圧縮又は伸長するタイムストレッチ処理を行い、タイムストレッチ処理が施された模範音声データと練習者音声データとに応じて、タイムストレッチ指示情報を生成してもよい。
【0037】
(6)上述した実施形態においては、CPU11がピッチシフト指示情報を生成するか否かの判定において、図6のステップS66に示したように、予め定められた閾値と比較して判定を行うようにしたが、これに限らず、ピッチシフト指示情報を生成するか否かの判定を行わない構成としてもよい。
【0038】
(7)上述した実施形態では、カラオケ装置1が、図2に示した機能の全てを実現するようになっていた。これに対し、通信ネットワークで接続された2以上の装置が上記機能を分担するようにし、それら複数の装置を備えるシステムが同実施形態のカラオケ装置1を実現するようにしてもよい。例えば、マイクロフォンやスピーカ、表示装置及び入力装置を備えるコンピュータ装置と、基礎分析部111、ピッチシフト指示情報生成部112、タイムストレッチ指示情報生成部113、加工処理部114及び出力115を実現するサーバ装置とが通信ネットワークで接続されたシステムとして構成されていてもよい。この場合は、コンピュータ装置が、マイクロフォンから入力された音声を音声データに変換してサーバ装置に送信し、サーバ装置が、受信した音声データと模範音声データ及び区切データとに基づいて練習者音声データを加工し、生成された練習者音声加工データをコンピュータ装置に送信するようにすればよい。
【0039】
(8)上述した実施形態におけるカラオケ装置1のCPU11によって実行されるプログラムは、磁気テープ、磁気ディスク、フレキシブルディスク、光記録媒体、光磁気記録媒体、CD(Compact Disk)−ROM、DVD(Digital Versatile Disk)、RAMなどの記録媒体に記憶した状態で提供し得る。また、インターネットのようなネットワーク経由でカラオケ装置1にダウンロードさせることも可能である。
上述した実施形態におけるカラオケ装置1のCPU11によって実行されるプログラムの概要は以下のとおりである。
「コンピュータに、予め記憶された模範音声データと入力された練習者音声データとを時間軸方向に対応付ける対応付機能と、前記対応付機能の対応付け結果に応じて、前記練習者音声データのピッチを、当該ピッチに対応する前記模範音声データのピッチに一致させるようにシフトするピッチシフト機能と、前記対応付機能の対応付け結果に応じて、前記練習者音声データにおいて時間軸方向に予め定められた区間の区間長を、当該区間に対応する模範音声データの区間の区間長に一致させるように、当該区間を時間軸方向に圧縮又は伸長するタイムストレッチ機能と、前記ピッチシフト機能によりピッチをシフトされるとともに前記タイムストレッチ機能により時間軸方向に圧縮又は伸長された練習者音声データを放音手段に出力する出力機能とを実現させるプログラム。」
【0040】
また、上述した実施形態におけるカラオケ装置1の制御方法としての概要をまとめると、以下のとおりである。
「制御手段を備えた楽曲練習支援装置の制御方法であって、前記制御手段が、予め記憶された模範音声データと入力された練習者音声データとを時間軸方向に対応付けるステップと、前記制御手段が、対応付け結果に応じて、前記練習者音声データのピッチを、当該ピッチに対応する前記模範音声データのピッチに一致させるようにシフトするステップと、前記制御手段が、対応付け結果に応じて、前記練習者音声データにおいて時間軸方向に予め定められた区間の区間長を、当該区間に対応する模範音声データの区間の区間長に一致させるように、当該区間を時間軸方向に圧縮または伸長するステップと、前記制御手段が、ピッチをシフトされるとともに時間軸方向に圧縮又は伸長された練習者音声データを放音手段に出力するステップとを備えることを特徴とする制御方法。」
【図面の簡単な説明】
【0041】
【図1】カラオケ装置のハードウェア構成の一例を示すブロック図である。
【図2】カラオケ装置のソフトウェア構成の一例を示すブロック図である。
【図3】DPマッチングを示す図である。
【図4】模範音声と練習者音声の対応関係の一例を示す図である。
【図5】カラオケ装置のCPUが行う処理の流れを示すフローチャートである。
【図6】カラオケ装置のCPUが行う処理の流れを示すフローチャートである。
【図7】模範音声と練習者音声の対応関係の一例を示す図である。
【図8】模範音声と練習者音声の対応関係の一例を示す図である。
【符号の説明】
【0042】
1…カラオケ装置、11…CPU、12…ROM、13…RAM、14…記憶部、15…表示部、16…操作部、17…マイクロフォン、18…音声処理部、19…スピーカ。

【特許請求の範囲】
【請求項1】
予め記憶された模範音声データと入力された練習者音声データとを時間軸方向に対応付ける対応付手段と、
前記対応付手段の対応付け結果に応じて、前記練習者音声データのピッチを、当該ピッチに対応する前記模範音声データのピッチに一致させるようにシフトするピッチシフト手段と、
前記対応付手段の対応付け結果に応じて、前記練習者音声データにおいて時間軸方向に予め定められた区間の区間長を、当該区間に対応する模範音声データの区間の区間長に一致させるように、当該区間を時間軸方向に圧縮又は伸長するタイムストレッチ手段と、
前記ピッチシフト手段によりピッチをシフトされるとともに前記タイムストレッチ手段により時間軸方向に圧縮又は伸長された練習者音声データを放音手段に出力する出力手段と
を備えることを特徴とする楽曲練習支援装置。
【請求項2】
前記模範音声データにおいて時間軸方向に予め定められた区間毎の区切り位置を示す区切り情報を記憶する記憶手段と、
前記記憶手段に記憶された区切り情報と前記対応付手段の対応付け結果とに応じて、前記模範音声データと前記練習者音声データとを前記区間毎に対応付け、各区間毎に、前記模範音声の区間長と前記練習者音声の区間長との比を算出する区間長比算出手段と、
前記区間長比算出手段により算出された比に応じて、区間毎の模範音声と練習者音声の対応箇所を所定時間長のフレーム単位で特定する対応箇所特定手段とを備え、
前記ピッチシフト手段は、前記対応箇所特定手段の特定結果に応じて、前記入力された音声データの示す練習者音声のピッチを、当該ピッチに対応する模範音声のピッチに一致させるようにシフトする
ことを特徴とする請求項1に記載の楽曲練習支援装置。
【請求項3】
前記ピッチシフト手段は、前記対応箇所特定手段の特定結果に応じて、前記模範音声のピッチに対応する練習者音声のピッチが検出されたフレームにおいては、検出されたピッチを当該ピッチに対応する模範音声のピッチに一致させるようにシフトし、一方、ピッチが検出されなかったフレームにおいては、当該フレームに近接するフレームのピッチで当該フレームのピッチを補間する
ことを特徴とする請求項2に記載の楽曲練習支援装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate