JP2009169103A - 練習支援装置 - Google Patents
練習支援装置 Download PDFInfo
- Publication number
- JP2009169103A JP2009169103A JP2008007098A JP2008007098A JP2009169103A JP 2009169103 A JP2009169103 A JP 2009169103A JP 2008007098 A JP2008007098 A JP 2008007098A JP 2008007098 A JP2008007098 A JP 2008007098A JP 2009169103 A JP2009169103 A JP 2009169103A
- Authority
- JP
- Japan
- Prior art keywords
- section
- voice data
- pitch
- voice
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Reverberation, Karaoke And Other Acoustics (AREA)
Abstract
【課題】歌唱者が自身の歌唱をどのように修正すればよいかを聴覚的に認識することのできる技術を提供する。
【解決手段】カラオケ装置1のCPU11は、模範音声データと練習者音声データとを区切データの示す区間毎に時間軸方向に対応付ける。このとき、CPU11は、区切データの示す区間内の模範音声データと、区切データの示す区間よりも大きい区間内の練習者音声データとの対応付けを行う。次いで、CPU11は、対応付け結果に応じて、練習者音声データのピッチを、当該ピッチに対応する模範音声データのピッチに一致させるようにシフトするとともに、練習者音声データの区間(音節)の区間長を、当該区間に対応する模範音声データの区間の区間長に一致させるように、当該区間を時間軸方向に圧縮又は伸長する。音声処理部18はCPU11から供給される練習者音声データをアナログ信号に変換し、スピーカ19から放音させる。
【選択図】図1
【解決手段】カラオケ装置1のCPU11は、模範音声データと練習者音声データとを区切データの示す区間毎に時間軸方向に対応付ける。このとき、CPU11は、区切データの示す区間内の模範音声データと、区切データの示す区間よりも大きい区間内の練習者音声データとの対応付けを行う。次いで、CPU11は、対応付け結果に応じて、練習者音声データのピッチを、当該ピッチに対応する模範音声データのピッチに一致させるようにシフトするとともに、練習者音声データの区間(音節)の区間長を、当該区間に対応する模範音声データの区間の区間長に一致させるように、当該区間を時間軸方向に圧縮又は伸長する。音声処理部18はCPU11から供給される練習者音声データをアナログ信号に変換し、スピーカ19から放音させる。
【選択図】図1
Description
本発明は、練習支援装置に関する。
近年、カラオケ装置において、歌唱者の歌唱の巧拙を採点するための方法が種々提案されている。例えば、特許文献1には、ユーザ入力の音声信号に基づく音声データから、所定のフレーム毎のピッチを抽出し、フレーム毎に抽出されたピッチと、楽音データに基づく音高とを比較し、ユーザの音声のピッチの正確さを判定する方法が提案されている。このように歌唱の巧拙を採点するカラオケ装置においては、採点結果である点数を画面に表示するものが一般的である。
特開2005−128372号公報
ところで、歌唱者が自身の歌唱のどの部分をどのように修正すればよいかが音で認識できれば好適である。しかしながら、従来の採点方法においては、点数が表示されるだけであるため、歌唱者は自身の歌唱をどのように修正すればよいかを音で認識することはできなかった。これは楽曲の歌唱に限らず、楽器の演奏についても同様である。また、これは歌唱や演奏に限らず、語学学習の際の発音練習等についても同様である。
本発明は上述した背景の下になされたものであり、練習者が自身の歌唱、演奏又は発音をどのように修正すればよいかを聴覚的に認識することのできる技術を提供することを目的とする。
本発明は上述した背景の下になされたものであり、練習者が自身の歌唱、演奏又は発音をどのように修正すればよいかを聴覚的に認識することのできる技術を提供することを目的とする。
上述した課題を解決するため、本発明は、模範音声データを記憶するとともに、該模範音声データにおける時間軸方向の区切位置を示す区切情報を記憶する記憶手段と、前記記憶手段に記憶された区切情報の示す区切位置で区切られる第1の区間のそれぞれについて、該第1の区間を含む第2の区間を特定する区間特定手段と、前記第1の区間のそれぞれについて、該第1の区間内の模範音声データと該第1の区間について前記区間特定手段によって特定された第2の区間内の練習者音声データとを時間軸方向に対応付ける対応付手段と、前記対応付手段の対応付け結果に応じて、前記第1の区間のそれぞれについて、該第1の区間の模範音声データに対応する前記練習者音声データの区間を第3の区間として特定する対応区間特定手段と、前記対応付手段の対応付け結果に応じて、前記練習者音声データのピッチを、当該ピッチに対応する前記模範音声データのピッチに一致させるようにシフトするピッチシフト手段と、前記対応付手段の対応付け結果に応じて、前記練習者音声データにおける前記第3の区間の区間長を、当該第3の区間に対応する模範音声データの前記第1の区間の区間長に一致させるように、当該第3の区間を時間軸方向に圧縮又は伸長するタイムストレッチ手段と、前記ピッチシフト手段によりピッチをシフトされるとともに前記タイムストレッチ手段により時間軸方向に圧縮又は伸長された練習者音声データを放音手段に出力する出力手段とを備えることを特徴とする練習支援装置を提供する。
本発明の好ましい態様において、前記模範音声データの前記第1の区間の区間長と該第1の区間に対応する前記練習者音声データの前記第3の区間の区間長との比を算出する区間長比算出手段と、前記区間長比算出手段により算出された比に応じて、区間毎の模範音声と練習者音声の対応箇所を所定時間長のフレーム単位で特定する対応箇所特定手段とを備え、前記ピッチシフト手段は、前記対応箇所特定手段の特定結果に応じて、前記練習者音声データの示す練習者音声のピッチを、当該ピッチに対応する模範音声のピッチに一致させるようにシフトしてもよい。
また、本発明の更に好ましい態様において、前記記憶手段は、該記憶手段に記憶された区切情報に対応する第2の区切情報を記憶し、前記区間特定手段は、前記記憶手段に記憶された区切情報に対応する第2の区切情報の示す区切り位置で区切られる区間を前記第2の区間として特定してもよい。
また、本発明の別の好ましい態様において、前記練習者音声データのテンポを検出するテンポ検出手段を備え、前記区間特定手段は、前記記憶手段に記憶された区切情報の示す区切位置を前記テンポ検出手段によって検出されたテンポに応じて変更したときの区間を前記第2の区間として特定してもよい。
また、本発明の更に好ましい態様において、前記対応付手段は、前記第1の区間のそれぞれについて、該第1の区間内の模範音声データと該第1の区間について前記区間特定手段によって特定された第2の区間内の練習者音声データとを時間軸方向に対応付け、該対応付け結果が予め定められた条件を満たさない場合に、該第2の区間を時間軸方向に拡張し、拡張した第2の区間内の練習者音声データと該第1の区間内の模範音声データとの対応付けを行ってもよい。
また、本発明の別の好ましい態様において、前記記憶手段は、該記憶手段に記憶された区切情報の少なくともいずれか一つについて、該区切情報と他の区切情報との対応関係を記憶し、前記対応付手段は、前記第1の区間のそれぞれについて、該第1の区間内の模範音声データと該第1の区間について前記区間特定手段によって特定された第2の区間内の練習者音声データとを時間軸方向に対応付け、該対応付手段による対応付け結果が予め定められた条件を満たさない場合に、該第1の区間に対応する他の第1の区間を前記記憶手段に記憶された対応関係を参照して特定し、特定した他の第1の区間内の模範音声データと該第2の区間内の練習者音声データとの対応付けを行ってもよい。
また、本発明の更に好ましい態様において、前記ピッチシフト手段は、前記対応箇所特定手段の特定結果に応じて、前記模範音声のピッチに対応する練習者音声のピッチが検出されたフレームにおいては、検出されたピッチを当該ピッチに対応する模範音声のピッチに一致させるようにシフトし、一方、ピッチが検出されなかったフレームにおいては、当該フレームに近接するフレームのピッチで当該フレームのピッチを補間してもよい。
本発明によれば、練習者が自身の歌唱、演奏又は発音をどのように修正すればよいかを聴覚的に認識することができる。
次に、この発明を実施するための最良の形態を説明する。
<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が出力するアナログ音声信号をA/D変換によりデジタル音声データに変換してCPU11に出力する。スピーカ19は、音声処理部18で、デジタル音声データからD/A変換されて出力されるアナログ音声信号に応じた強度で放音する。
<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が出力するアナログ音声信号をA/D変換によりデジタル音声データに変換してCPU11に出力する。スピーカ19は、音声処理部18で、デジタル音声データからD/A変換されて出力されるアナログ音声信号に応じた強度で放音する。
なお、この実施形態では、マイクロフォン17とスピーカ19とがカラオケ装置1に含まれている場合について説明するが、音声処理部18に入力端子及び出力端子を設け、オーディオケーブルを介してその入力端子に外部マイクロフォンを接続するとしても良く、同様に、オーディオケーブルを介してその出力端子に外部スピーカを接続するとしても良い。また、この実施形態では、マイクロフォン17から音声処理部18へ入力される音声信号及び音声処理部18からスピーカ19へ出力される音声信号がアナログ音声信号である場合について説明するが、デジタル音声データを入出力するようにしても良い。このような場合には、音声処理部18にてA/D変換やD/A変換を行う必要はない。表示部15、操作部16についても同様であり、カラオケ装置1に内蔵される形式であってもよく、外付けされる形式であってもよい。
記憶部14の伴奏・歌詞データ記憶領域14aには、楽曲の伴奏を行う各種楽器の演奏音が楽曲の進行に伴って記された伴奏データと、楽曲の歌詞を示す歌詞データとが関連付けられて記憶されている。伴奏データは、例えばMIDI(Musical Instruments Digital Interface)形式などのデータ形式であり、練習者がカラオケ歌唱する際に再生される。歌詞データは、そのカラオケ歌唱の際に歌詞テロップとして表示部15に表示される。
模範音声データ記憶領域14cには、例えばWAVE形式やMP3(MPEG1 Audio Layer-3)形式などの音声データであって、伴奏データによって表される伴奏に従って歌唱者が歌唱した音声(以下、模範音声)を表す音声データ(以下、模範音声データ)が記憶されている。
区切データ記憶領域14bには、模範音声データ記憶領域14cに記憶された模範音声データの示す模範音声に含まれる音節(区間)毎の区切り位置を示す区切データが記憶されている。本実施形態においては、この区切データは、各区間の開始時刻を示す情報である。記憶部14の練習者音声データ記憶領域14dには、マイクロフォン17から音声処理部18を経てA/D変換された音声データが、例えばWAVE形式やMP3形式で、伴奏開始からの経過時間を表す情報と共に時系列に記憶される。この音声データは、練習者の音声(以下、練習者音声)を表す音声データであるから、以下では、練習者音声データという。
次に、図2に示すブロック図を参照しながら、カラオケ装置1のソフトウェア構成について説明する。図2に示した基礎分析部111、ピッチシフト指示情報生成部112、タイムストレッチ指示情報生成部113、加工処理部114及び出力部115は、CPU11がROM12又は記憶部14に記憶されたコンピュータプログラムを実行することによって実現される。なお、図中の矢印は、データの流れを概略的に示したものである。
図2において、基礎分析部111は、模範音声データ記憶領域14cから読み出された模範音声データと、練習者音声データ記憶領域14dから読み出された練習者音声データとを、それぞれ所定時間長のフレーム単位で各音声データのピッチ及びスペクトルを検出する。スペクトルの検出にはFFT(Fast Fourier Transform)が用いられる。基礎分析部111によって検出された模範音声データのピッチと練習者音声データのピッチは、ピッチシフト指示情報生成部112に出力される。
また、基礎分析部111は、検出したスペクトルに基づいて模範音声データと練習者音声データとを時間軸方向に対応付ける。模範音声と練習者音声とは時間的に前後にずれている可能性がある。例えば、練習者が発音タイミングを間違えて歌唱した場合や、または、模範となる歌唱者が歌い始めや歌い終わりを意図的にずらして歌唱した場合などは、模範音声と練習者音声とは時間的に前後にずれている。このように模範音声と練習者音声とが時間的に前後にずれている場合であっても、両者を対応付けられるようにするため、練習者音声データの時間軸を伸縮させる時間正規化(DTW:Dynamic Time Warping)を行い、両者の時間軸を合わせる。
このとき、基礎分析部111は、区切データ記憶領域14bに記憶された区切データの示す区切位置で区切られる区間(以下「基準区間」という)を処理単位として対応付け処理を行う。このとき、基礎分析部111は、各基準区間内の模範音声データと、基準区間を含む区間、すなわち基準区間よりも大きい区間(以下「オーバーラップ区間」という)内の練習者音声データとの対応付けを行う。
図3は、対応付け処理の処理単位となる基準区間とオーバーラップ区間との関係を説明するための図である。図において、区間ci(i=1,2,…)は、基準区間(模範音声データを区切データ記憶領域14bに記憶された区切データの示す区切位置で区切った際の各区間)を示している。また、区間diは、オーバーラップ区間を示している。図示のように、基礎分析部111は、基準区間ciを前後に予め定められた時間長ずつ広げた区間をオーバーラップ区間diとして用いる。図示のように、オーバーラップ区間diは基準区間ciを含み、また、それぞれのオーバーラップ区間diは、隣接するオーバーラップ区間diと互いにオーバーラップする関係となっている。
図3は、対応付け処理の処理単位となる基準区間とオーバーラップ区間との関係を説明するための図である。図において、区間ci(i=1,2,…)は、基準区間(模範音声データを区切データ記憶領域14bに記憶された区切データの示す区切位置で区切った際の各区間)を示している。また、区間diは、オーバーラップ区間を示している。図示のように、基礎分析部111は、基準区間ciを前後に予め定められた時間長ずつ広げた区間をオーバーラップ区間diとして用いる。図示のように、オーバーラップ区間diは基準区間ciを含み、また、それぞれのオーバーラップ区間diは、隣接するオーバーラップ区間diと互いにオーバーラップする関係となっている。
基礎分析部111は、基準区間内の模範音声データと、オーバーラップ区間内の練習者音声データとの対応付けを行う。具体的には、図3に示す例においては、基準区間c1内の模範音声データとオーバーラップ区間d1内の練習者音声データとが対応付けられ、基準区間c2内の模範音声データとオーバーラップ区間d2内の練習者音声データとが対応付けられる。
さて、上述の時間正規化(DTW)を行うための手法としては、この実施形態ではDP(Dynamic Programming:動的計画法)を用いる。ここで、このDTWの具体的な処理の内容の一例について、図4を参照しつつ説明する。
基礎分析部111は、図4に示すような座標平面(以下、DPプレーンという)をRAM13に形成する。このDPプレーンの縦軸は、模範音声データの各フレームのスペクトルの絶対値の対数に逆フーリエ変換をかけて得られるパラメータに対応しており、横軸は、練習者音声データの各フレームから得たスペクトルの絶対値の対数に逆フーリエ変換をかけて得られるパラメータ(ケプストラム)に対応している。図4において、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マッチングスコアの累算値が最も小さくなる経路は、練習者音声データの各フレームの時間軸を模範音声データの時間軸に合わせて伸縮する際における伸縮の尺度として参酌される。
基礎分析部111は、図4に示すような座標平面(以下、DPプレーンという)をRAM13に形成する。このDPプレーンの縦軸は、模範音声データの各フレームのスペクトルの絶対値の対数に逆フーリエ変換をかけて得られるパラメータに対応しており、横軸は、練習者音声データの各フレームから得たスペクトルの絶対値の対数に逆フーリエ変換をかけて得られるパラメータ(ケプストラム)に対応している。図4において、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マッチングスコアの累算値が最も小さくなる経路は、練習者音声データの各フレームの時間軸を模範音声データの時間軸に合わせて伸縮する際における伸縮の尺度として参酌される。
そして、基礎分析部111は、DPマッチングスコアの累算値が最小となる経路をDPプレーン上から特定し、特定した経路の内容に応じて練習者音声データの時間軸を伸縮する処理であるアライメント処理を行う。具体的には、DPプレーン上から特定された経路上の各格子点のDPマッチングスコアが時間軸上の位置を同じくするフレームから得たパラメータのユークリッド距離を表わすものとなるように、練習者音声データの各フレームのタイムスタンプの内容を書き換えた上で、時間軸上の位置を同じくする各フレームを組として順次対応付けていく。例えば、図4に示すDPプレーン上に記された経路においては、a1とb1により位置決めされる始点からその右上のa2とb2により位置決めされる格子点に進んでいることが分かる。この場合、a2とb2のフレームの時間軸上の位置は当初から同じであるので、b2のフレームのタイムスタンプの内容を書き換える必要はない。更に、この経路においては、a2とb2により位置決めされる格子点からその右のa2とb3により位置決めされる格子点に進んでいることが分かる。この場合、b2のフレームだけでなくb3のフレームもa2のフレームと時間軸上の位置を同じくする必要があるので、b3のフレームと対を成していたタイムスタンプをフレーム一つ分だけ早いものと置き換える。この結果、a2のフレームとb2及びb3のフレームが時間軸上の位置を同じくするフレームの組として対応付けられることになる。このようなタイムスタンプの置き換えとフレームの対応付けがb1からbnに至る全フレーム区間について行われる。これにより、練習者音声の発音タイミングと模範音声の発音タイミングとがずれていたとしても、合わせられた時間軸上の位置を同じくするフレーム(音素)どうしを対応付けることができる。
以上がDPマッチングの仕組みである。
以上がDPマッチングの仕組みである。
上述したように、模範音声と練習者音声とは時間的に前後にずれている可能性がある。模範音声と練習者音声とが時間的に前後にずれている場合であっても、模範音声に対応付ける練習者音声のオーバーラップ区間をオーバーラップさせることで、マッチング処理の処理精度を向上させることができる。
図5は練習者音声と模範音声との対応付けの一例を示す図であり、図5(a)は練習者音声のピッチの時間的変化を示すグラフの一例を示すものであり、同図(b)は模範音声のピッチの時間的変化を示すグラフの一例を示すものである。図においては、練習者音声の発音タイミングt11と模範音声の発音タイミングt21とが対応付けられ、練習者音声の発音タイミングt12と模範音声の発音タイミングt22とが対応付けられた様子を示している。
基礎分析部111によって検出された対応箇所は、ピッチシフト指示情報生成部112に出力されるとともに、とタイムストレッチ指示情報生成部113に出力される。
基礎分析部111によって検出された対応箇所は、ピッチシフト指示情報生成部112に出力されるとともに、とタイムストレッチ指示情報生成部113に出力される。
ピッチシフト指示情報生成部112は、模範音声データのピッチ、練習者音声データのピッチ、模範音声と練習者音声の対応箇所及び区切データに基づいて、練習者音声データのピッチと当該ピッチに対応する箇所における模範音声データのピッチとのピッチ差を示すピッチシフト指示情報を生成する。ピッチシフト指示情報生成部112によって生成されたピッチシフト指示情報は、加工処理部114に出力される。
タイムストレッチ指示情報生成部113は、基礎分析部111により検出された対応箇所と区切データとに基づいて、フレーム毎のタイムストレッチをかける程度を示すタイムストレッチ指示情報を生成する。タイムストレッチ指示情報生成部113により生成されたタイムストレッチ指示情報は、加工処理部114に出力される。
加工処理部114は、ピッチシフト指示情報生成部112により生成されたピッチシフト指示情報に基づいて練習者音声データのピッチをシフトするとともに、タイムストレッチ指示情報生成部113により生成されたタイムストレッチ指示情報に基づいて練習者音声データに対してタイムストレッチ処理を施し、練習者音声加工データを生成する。加工処理部114により生成された練習者音声加工データは、出力部115に出力される。
出力部115は、加工処理部114により生成された練習者音声加工データを音声処理部18に出力する。
出力部115は、加工処理部114により生成された練習者音声加工データを音声処理部18に出力する。
<B:動作>
次に、図6に示すフローチャートを参照しつつ、カラオケ装置1の動作を説明する。
練習者は、カラオケ装置1の操作部16を操作して、歌唱したい楽曲を選択する操作を行い、楽曲の再生を指示する。操作部16は操作された内容に応じた信号をCPU11へ出力し、CPU11は、操作部16から供給される信号に応じて、カラオケ伴奏を開始する(ステップS1)。すなわち、CPU11は、伴奏・歌詞データ記憶領域14aから伴奏データを読み出して音声処理部18に供給し、音声処理部18は、伴奏データをアナログ信号に変換し、スピーカ19に供給して放音させる。また、CPU11は、伴奏・歌詞データ記憶領域14aから歌詞データを読み出して歌詞テロップを表示部15に表示させる。
練習者は、スピーカ19から放音される伴奏に合わせて歌唱を行う。このとき、練習者の音声はマイクロフォン17によって収音されて音声信号に変換され、音声処理部18へと出力される。音声処理部18によってA/D変換された練習者音声データは、伴奏開始からの経過時間を表す情報と共に、練習者音声データ記憶領域14dに時系列に記憶(録音)されていく(ステップS2)。
次に、図6に示すフローチャートを参照しつつ、カラオケ装置1の動作を説明する。
練習者は、カラオケ装置1の操作部16を操作して、歌唱したい楽曲を選択する操作を行い、楽曲の再生を指示する。操作部16は操作された内容に応じた信号をCPU11へ出力し、CPU11は、操作部16から供給される信号に応じて、カラオケ伴奏を開始する(ステップS1)。すなわち、CPU11は、伴奏・歌詞データ記憶領域14aから伴奏データを読み出して音声処理部18に供給し、音声処理部18は、伴奏データをアナログ信号に変換し、スピーカ19に供給して放音させる。また、CPU11は、伴奏・歌詞データ記憶領域14aから歌詞データを読み出して歌詞テロップを表示部15に表示させる。
練習者は、スピーカ19から放音される伴奏に合わせて歌唱を行う。このとき、練習者の音声はマイクロフォン17によって収音されて音声信号に変換され、音声処理部18へと出力される。音声処理部18によってA/D変換された練習者音声データは、伴奏開始からの経過時間を表す情報と共に、練習者音声データ記憶領域14dに時系列に記憶(録音)されていく(ステップS2)。
伴奏データの再生が終了すると、CPU11は、練習者音声データ記憶領域14dに記憶された練習者音声データと、模範音声データ記憶領域14cに予め記憶されている模範音声データに対して、上述した基礎分析部111の処理を行う。つまり、CPU11は、練習者音声データを所定時間長のフレーム単位でピッチ及びスペクトルを算出するとともに(ステップS3)、模範音声データを所定時間長のフレーム単位でピッチ及びスペクトルを算出する(ステップS4)。次いで、CPU11は、模範音声のスペクトルと練習者音声のスペクトルとに基づいて、練習者音声データの時間軸と模範音声データの時間軸とを合わせ、その時間軸上の位置を同じくする音どうしを対応付けることによって両者の対応箇所を検出する(ステップS5)。
次いで、CPU11は、上述したピッチシフト指示情報生成部112の処理を行う。つまり、CPU11は、模範音声データのピッチ、練習者音声データのピッチ、模範音声と練習者音声の対応箇所及び区切データに基づいてピッチシフト指示情報を生成する(ステップS6)。
ここで、ステップS6に示すピッチシフト指示情報生成処理の詳細について、図7に示すフローチャートを参照しつつ以下に説明する。
図7において、CPU11は、まず、ステップS5の処理によって検出された模範音声と練習者音声の対応関係に基づいて、区切データ記憶領域14bに記憶された区切データの示す各区間の開始時刻に対応する時刻を算出し、模範音声の区間(基準区間(第1の区間))の区間長とその区間に対応する練習者音声の区間(第3の区間)の区間長との比を算出する(ステップS61)。すなわち、CPU11は、区切データ記憶領域14bに記憶された区切データとステップS5の処理によって検出された模範音声データと練習者音声データの対応関係に応じて、模範音声と練習者音声とを区間毎に対応付け、各区間毎に、模範音声の区間長と練習者音声の区間長との比を算出する。
図7において、CPU11は、まず、ステップS5の処理によって検出された模範音声と練習者音声の対応関係に基づいて、区切データ記憶領域14bに記憶された区切データの示す各区間の開始時刻に対応する時刻を算出し、模範音声の区間(基準区間(第1の区間))の区間長とその区間に対応する練習者音声の区間(第3の区間)の区間長との比を算出する(ステップS61)。すなわち、CPU11は、区切データ記憶領域14bに記憶された区切データとステップS5の処理によって検出された模範音声データと練習者音声データの対応関係に応じて、模範音声と練習者音声とを区間毎に対応付け、各区間毎に、模範音声の区間長と練習者音声の区間長との比を算出する。
ここで、ステップS61に示す処理の具体例について、図8を参照しつつ以下に説明する。図8において、グラフG1は、模範音声のピッチの時間的な変化を示すグラフの一例であり、グラフG2は、練習者音声のピッチの時間的な変化を示すグラフの一例である。区切データ記憶領域14bに記憶された区切データの示す区間毎の区切り位置(区間の開始時刻)が、図8のt1,t2の位置である場合には、CPU11は、ステップS5において検出された対応関係に基づいて、練習者音声において区切データの示す区切り位置と対応する位置t21,t22を算出する。次いで、CPU11は、t1〜t2の区間長T1と、t21〜t22の区間長T2との比を算出する。
次いで、CPU11は、練習者音声に含まれる各ピッチ要素について、そのピッチ要素の区間における位置を算出する(ステップS62)。次いで、CPU11は、ステップS61で算出した比に応じて、区間毎の模範音声と練習者音声の対応箇所をフレーム単位で特定し、ステップS62で算出された練習者音声の各ピッチ要素の位置に対応する位置(時刻)に模範音声のピッチ要素があるか否かを判定する(ステップS63)。具体的には、例えば、CPU11は、ステップS61で算出した比で比例配分することによって、ステップS62で算出した各ピッチ要素の位置に対応する模範音声の位置を特定する。具体的には、例えば、図8に示す例において、練習者音声におけるピッチ要素の位置p1に対応する模範音声の位置をp2とすると、
T1:T2=(p1−t1):(p2−t21)
であるから、
p2=t21+T2/T1(p1−t1)
として算出される。
T1:T2=(p1−t1):(p2−t21)
であるから、
p2=t21+T2/T1(p1−t1)
として算出される。
ステップS63において、模範音声の区間中の対応する位置にピッチ要素があると判定された場合、すなわち、練習者音声において特定された位置に対応する模範音声の位置でピッチが検出された場合には(ステップS63;YES)、CPU11は、対応する模範音声のピッチ要素のピッチを算出する(ステップS64)。一方、模範音声の区間中の対応する位置にピッチ要素がないと判定された場合には(ステップS63;NO)、CPU11は、模範音声においてステップS63で特定されたフレームに近接するフレームのピッチで当該フレームのピッチを補間する(ステップS65)。この補間処理は、例えば線形補間などによって行う。
次いで、CPU11は、ステップS64又はステップS65で算出されたピッチと練習者音声のピッチ要素との差値が閾値以上であるか否かを判定する(ステップS66)。閾値以上であると判定された場合には(ステップS66;YES)、CPU11は、その差値を示す情報をピッチシフト指示情報として生成し、生成したピッチシフト指示情報を出力する(ステップS67)。一方、ステップS66において、閾値未満であると判定された場合には、CPU11は、ピッチシフト指示情報を生成せずに、ステップS68の処理に進む。次いで、CPU11は、次のピッチ要素があるか否かを判定し(ステップS68)、次のピッチ要素があると判定された場合には(ステップS68;YES)、CPU11は、ステップS62の処理に戻って、次のピッチ要素について上述したステップS62からステップS67の処理を実行する。一方、次のピッチ要素がないと判断された場合には(ステップS68;NO)、CPU11は、そのまま処理を終了する。
ところで、歌唱音声の場合は、持続される同じ発音の部分(例えばフレーズの末尾部分等)が存在する。この持続部分では発音内容が同じであるため、模範音声と練習者音声との対応箇所の検出結果をそのままアライメント(対応付け)すると、例えば図9の時刻t221〜t222の区間に示されるように、グラフG21によって示される模範音声とグラフG22によって示される練習者音声とのアライメント先がばらつく場合がある。このような場合には、単純にアライメント先のピッチを参照してピッチシフトを行うと、加工後のピッチは、図9のグラフG23に示されるような、模範音声のピッチのなめらかな変化を反映できないものとなってしまう場合があった。これに対し本実施形態においては、CPU11が区切データ記憶領域14bに記憶された区切データを用いて、区間長の比に応じて対応付けを行うから、図8のグラフG3に示すような、模範音声のなめらかな変化を反映したピッチシフト処理を施すことができる。
また、音節の区切りのみが記憶されており、音素の区切りが記憶されていない場合、音声のピッチの抽出状況を以って、発音内容の対応をつけてもよい。これは、持続される母音部分はピッチが抽出されるのに対して、子音部分はピッチが抽出されないことが多いためである。
また、音節の区切りのみが記憶されており、音素の区切りが記憶されていない場合、音声のピッチの抽出状況を以って、発音内容の対応をつけてもよい。これは、持続される母音部分はピッチが抽出されるのに対して、子音部分はピッチが抽出されないことが多いためである。
図6の説明に戻る。ピッチシフト指示情報生成処理(ステップS6)に次いで、CPU11は、上述したタイムストレッチ指示情報生成部113の処理を行う。すなわち、CPU11は、対応箇所と区切データとに基づいて、タイムストレッチ指示情報をフレーム毎に生成する(ステップS7)。
次いで、CPU11は、上述した加工処理部114の処理を行う。つまり、CPU11は、練習者音声データ記憶領域14dに記憶された練習者音声データのピッチを、ピッチシフト指示情報に基づいて、練習者音声のピッチを模範音声のピッチに一致させるようにシフトするとともに、タイムストレッチ指示情報に基づいて、練習者音声の発音時間(第3の区間の区間長)を模範音声の発音時間(基準区間(第1の区間)の区間長)に一致させるように、練習者音声データを時間軸方向に圧縮又は伸長し、練習者音声加工データを生成する(ステップS8)。
なお、ステップS8においては、CPU11は、ピッチシフト処理を行った後にタイムストレッチ処理を行うようにしてもよく、または、タイムストレッチ処理を施した後にピッチシフト処理を行うようにしてもよい。または、練習者音声データに対して時系列に、ピッチシフト処理とタイムストレッチ処理とを並行して行うようにしてもよい。
なお、ステップS8においては、CPU11は、ピッチシフト処理を行った後にタイムストレッチ処理を行うようにしてもよく、または、タイムストレッチ処理を施した後にピッチシフト処理を行うようにしてもよい。または、練習者音声データに対して時系列に、ピッチシフト処理とタイムストレッチ処理とを並行して行うようにしてもよい。
CPU11は、生成された練習者音声加工データを音声処理部18に出力する(ステップS9)。音声処理部18は、練習者音声加工データをアナログ信号に変換し、スピーカ19から放音させる。
このように、練習者音声データに対してピッチシフト処理を施すことによって、音の高さをほんのわずかに連続的に上下させ、震えるような音色を出すいわゆる「ビブラート」や、目的の音より低い音から発音し、音程を滑らかに目的の音に近づけていくいわゆる「しゃくり」など、模範音声で用いられている様々な技法を練習者音声に反映させることができる。また、練習者音声データに対してタイムストレッチ処理を施すことによって、練習者の発音タイミングのずれを補正したり、または、模範音声において歌い始めや歌い終わりを意図的にずらすいわゆる「つっこみ」や「ため」などの技法が用いられている場合であっても、それらの技法を練習者音声に反映させることができる。出力される音声の声質は練習者の音声の声質と同様であるから、練習者は、放音される音声を聴くことで、自身が正しく歌った場合のイメージを持つことができる。
また、この実施形態によれば、CPU11が、DPマッチング処理を行う際に、模範音声と練習者音声のマッチングをとるための対象フレーズ(区間)をオーバーラップさせるから、これにより、模範音声と練習者音声のマッチングをとる際に生ずるタイミングずれを考慮し、練習者が楽曲の進行を極端にずらした場合にも対応することができる。
<C:変形例>
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。以下にその一例を示す。
(1)上述した実施形態においては、練習者の歌唱練習を支援する場合を例に挙げて説明したが、これに限らず、練習者の楽器演奏の練習や語学学習などの発音練習を支援するようにしてもよい。楽器演奏の練習の場合には、伴奏・歌詞データ記憶領域14aには、練習したい楽器(例えばギター)以外の楽器(例えばベースやドラム)の演奏データが記憶されており、模範音声データ記憶領域14cには、模範となる模範演奏データが記憶されており、練習者音声データ記憶領域14dには、練習者の演奏音を表す演奏データが記憶される。練習者は練習したい楽器を演奏し、その演奏音はマイクロフォン17によって収音されて音声信号に変換され、音声処理部18でデジタル信号に変換されて練習者音声データ記憶領域14dに記憶される。また、区切データ記憶領域14bには、模範音声データの表す演奏音に含まれる各音の開始時刻や終了時刻などの音の区切り位置を示す情報が記憶される。CPU11は、これらのデータに基づき、上記と同様の処理を経て練習者音声加工データを生成して放音する。
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。以下にその一例を示す。
(1)上述した実施形態においては、練習者の歌唱練習を支援する場合を例に挙げて説明したが、これに限らず、練習者の楽器演奏の練習や語学学習などの発音練習を支援するようにしてもよい。楽器演奏の練習の場合には、伴奏・歌詞データ記憶領域14aには、練習したい楽器(例えばギター)以外の楽器(例えばベースやドラム)の演奏データが記憶されており、模範音声データ記憶領域14cには、模範となる模範演奏データが記憶されており、練習者音声データ記憶領域14dには、練習者の演奏音を表す演奏データが記憶される。練習者は練習したい楽器を演奏し、その演奏音はマイクロフォン17によって収音されて音声信号に変換され、音声処理部18でデジタル信号に変換されて練習者音声データ記憶領域14dに記憶される。また、区切データ記憶領域14bには、模範音声データの表す演奏音に含まれる各音の開始時刻や終了時刻などの音の区切り位置を示す情報が記憶される。CPU11は、これらのデータに基づき、上記と同様の処理を経て練習者音声加工データを生成して放音する。
(2)上述した実施形態では、練習者音声データを記憶する際には歌詞を表示し、さらに伴奏データを再生しながら練習者に歌唱させる、所謂カラオケ歌唱を行うようにしていたが、これは必ずしも必要ではない。つまり、練習者が歌詞の表示や伴奏データの再生が無いままで歌唱し、これを録音して練習者加工データを生成するようにしてもよい。
(3)上述した実施形態においては、模範音声データを模範音声データ記憶領域14cに記憶させて、カラオケ装置1のCPU11が記憶部14から模範音声データを読み出すようにしたが、これに代えて、通信ネットワークを介して模範音声データを受信するようにしてもよい。
または、模範音声データそのものを記憶しておくようにせず、模範音声のピッチやスペクトルを示すデータを記憶させておくようにしてもよい。この場合は、カラオケ装置のCPUは、模範音声のピッチ、スペクトルの算出処理を行わず、記憶部に記憶されたピッチデータやスペクトルデータに基づいて、対応箇所の検出やピッチシフト処理、タイムストレッチ処理を施す。
また、上述した実施形態では、マイクロフォン17で練習者の音声を収音して音声処理部18が練習者音声データを生成するようにしたが、これに代えて、通信ネットワークを介して練習者音声データを受信するようにしてもよく、または、USB(Universal Serial Bus)等のインタフェースを介して練習者音声データを入力するようにしてもよい。要するに、カラオケ装置のCPUに練習者音声データを入力するものであればどのようなものであってもよい。
または、模範音声データそのものを記憶しておくようにせず、模範音声のピッチやスペクトルを示すデータを記憶させておくようにしてもよい。この場合は、カラオケ装置のCPUは、模範音声のピッチ、スペクトルの算出処理を行わず、記憶部に記憶されたピッチデータやスペクトルデータに基づいて、対応箇所の検出やピッチシフト処理、タイムストレッチ処理を施す。
また、上述した実施形態では、マイクロフォン17で練習者の音声を収音して音声処理部18が練習者音声データを生成するようにしたが、これに代えて、通信ネットワークを介して練習者音声データを受信するようにしてもよく、または、USB(Universal Serial Bus)等のインタフェースを介して練習者音声データを入力するようにしてもよい。要するに、カラオケ装置のCPUに練習者音声データを入力するものであればどのようなものであってもよい。
(4)上述した実施形態においては、音節毎の開始時刻を示す情報を区切情報として用いたが、区切情報は音節毎の開始時刻を示す情報に限らず、音節毎の開始時刻と終了時刻とを示す情報であってもよく、または、例えば予め定められた音符単位の開始時刻または終了時刻を示す情報であってもよい。要するに、音節、音符、フレーズなどの予め定められた区間の区切り位置を示す情報であればどのようなものであってもよい。
(5)また、歌唱を行う場合においては、自分の音域に合わないなどの理由により、キーコントロールを行って歌唱を行う場合がある。この場合、正しい音声のキーが変わってくることから、ユーザにフィードバックする音声もキーコントロール後のキーに変える必要がある。この場合は、CPUは、操作部を介してキーコントロールの内容を示すキーコントロールデータの入力を受け付け、入力されたキーコントロールデータの示す内容に応じて模範音声データのピッチをシフトし、ピッチをシフトした模範音声データを記憶部に記憶しておいてもよい。
または、CPU11がピッチシフト指示情報を生成する処理において、CPU11が、操作部16を介してキーコントロールの内容を示すキーコントロールデータの入力を受け付け(図2に鎖線で図示)、入力されたキーコントロールデータの示す内容をピッチシフト指示情報に算入するようにしてもよい。具体的には、CPU11が、模範音声と練習者音声のピッチの差値とキーコントロールデータの示す値との和を、ピッチシフト指示情報として生成してもよい。
また、タイムストレッチ処理についても同様であり、CPU11がタイムストレッチ指示情報を生成する処理において、CPU11が、操作部16を介してテンポコントロールの内容を示すテンポコントロールデータの入力を受け付け(図2に鎖線で図示)、入力されたテンポコントロールデータの示す内容に応じて、模範音声データを時間軸方向に圧縮又は伸長するタイムストレッチ処理を行い、タイムストレッチ処理が施された模範音声データと練習者音声データとに応じて、タイムストレッチ指示情報を生成してもよい。
また、タイムストレッチ処理についても同様であり、CPU11がタイムストレッチ指示情報を生成する処理において、CPU11が、操作部16を介してテンポコントロールの内容を示すテンポコントロールデータの入力を受け付け(図2に鎖線で図示)、入力されたテンポコントロールデータの示す内容に応じて、模範音声データを時間軸方向に圧縮又は伸長するタイムストレッチ処理を行い、タイムストレッチ処理が施された模範音声データと練習者音声データとに応じて、タイムストレッチ指示情報を生成してもよい。
(6)上述した実施形態においては、CPU11がピッチシフト指示情報を生成するか否かの判定において、図7のステップS66に示したように、予め定められた閾値と比較して判定を行うようにしたが、これに限らず、ピッチシフト指示情報を生成するか否かの判定を行わない構成としてもよい。
(7)上述した実施形態では、カラオケ装置1が、図2に示した機能の全てを実現するようになっていた。これに対し、通信ネットワークで接続された2以上の装置が上記機能を分担するようにし、それら複数の装置を備えるシステムが同実施形態のカラオケ装置1を実現するようにしてもよい。例えば、マイクロフォンやスピーカ、表示装置及び入力装置を備えるコンピュータ装置と、基礎分析部111、ピッチシフト指示情報生成部112、タイムストレッチ指示情報生成部113、加工処理部114及び出力部115を実現するサーバ装置とが通信ネットワークで接続されたシステムとして構成されていてもよい。この場合は、コンピュータ装置が、マイクロフォンから入力された音声を音声データに変換してサーバ装置に送信し、サーバ装置が、受信した音声データと模範音声データ及び区切データとに基づいて練習者音声データを加工し、生成された練習者音声加工データをコンピュータ装置に送信するようにすればよい。
(8)上述の実施形態におけるカラオケ装置1のCPU11によって実行されるプログラムは、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどの、コンピュータが読取可能な記録媒体に記録した状態で提供し得る。また、インターネットのようなネットワーク経由でカラオケ装置1にダウンロードさせることも可能である。
上述した実施形態におけるカラオケ装置1のCPU11によって実行されるプログラムの概要は以下のとおりである。
「模範音声データを記憶するとともに、該模範音声データにおける時間軸方向の区切位置を示す区切情報を記憶する記憶手段を備えるコンピュータに、前記記憶手段に記憶された区切情報の示す区切位置で区切られる第1の区間のそれぞれについて、該第1の区間を含む第2の区間を特定する区間特定機能と、前記第1の区間のそれぞれについて、該第1の区間内の模範音声データと該第1の区間について前記区間特定機能により特定された第2の区間内の練習者音声データとを時間軸方向に対応付ける対応付機能と、前記対応付機能の対応付け結果に応じて、前記第1の区間のそれぞれについて、該第1の区間の模範音声データに対応する前記練習者音声データの区間を第3の区間として特定する対応区間特定機能と、前記対応付機能の対応付け結果に応じて、前記練習者音声データのピッチを、当該ピッチに対応する前記模範音声データのピッチに一致させるようにシフトするピッチシフト機能と、前記対応付機能の対応付け結果に応じて、前記練習者音声データにおける前記第3の区間の区間長を、当該第3の区間に対応する模範音声データの前記第1の区間の区間長に一致させるように、当該第3の区間を時間軸方向に圧縮又は伸長するタイムストレッチ機能と、前記ピッチシフト機能によりピッチをシフトされるとともに前記タイムストレッチ機能により時間軸方向に圧縮又は伸長された練習者音声データを放音手段に出力する出力機能とを実現させるプログラム。」
上述した実施形態におけるカラオケ装置1のCPU11によって実行されるプログラムの概要は以下のとおりである。
「模範音声データを記憶するとともに、該模範音声データにおける時間軸方向の区切位置を示す区切情報を記憶する記憶手段を備えるコンピュータに、前記記憶手段に記憶された区切情報の示す区切位置で区切られる第1の区間のそれぞれについて、該第1の区間を含む第2の区間を特定する区間特定機能と、前記第1の区間のそれぞれについて、該第1の区間内の模範音声データと該第1の区間について前記区間特定機能により特定された第2の区間内の練習者音声データとを時間軸方向に対応付ける対応付機能と、前記対応付機能の対応付け結果に応じて、前記第1の区間のそれぞれについて、該第1の区間の模範音声データに対応する前記練習者音声データの区間を第3の区間として特定する対応区間特定機能と、前記対応付機能の対応付け結果に応じて、前記練習者音声データのピッチを、当該ピッチに対応する前記模範音声データのピッチに一致させるようにシフトするピッチシフト機能と、前記対応付機能の対応付け結果に応じて、前記練習者音声データにおける前記第3の区間の区間長を、当該第3の区間に対応する模範音声データの前記第1の区間の区間長に一致させるように、当該第3の区間を時間軸方向に圧縮又は伸長するタイムストレッチ機能と、前記ピッチシフト機能によりピッチをシフトされるとともに前記タイムストレッチ機能により時間軸方向に圧縮又は伸長された練習者音声データを放音手段に出力する出力機能とを実現させるプログラム。」
また、上述した実施形態におけるカラオケ装置1の制御方法としての概要をまとめると、以下のとおりである。
「模範音声データを記憶するとともに、該模範音声データにおける時間軸方向の区切位置を示す区切情報を記憶する記憶手段と、制御手段とを備えた練習支援装置の制御方法であって、前記制御手段が、前記記憶手段に記憶された区切情報の示す区切位置で区切られる第1の区間のそれぞれについて、該第1の区間を含む第2の区間を特定するステップと、前記制御手段が、前記第1の区間のそれぞれについて、該第1の区間内の模範音声データと該第1の区間について特定された第2の区間内の練習者音声データとを時間軸方向に対応付けるステップと、前記制御手段が、対応付け結果に応じて、前記第1の区間のそれぞれについて、該第1の区間の模範音声データに対応する前記練習者音声データの区間を第3の区間として特定するステップと、前記制御手段が、対応付け結果に応じて、前記練習者音声データのピッチを、当該ピッチに対応する前記模範音声データのピッチに一致させるようにシフトするステップと、前記制御手段が、対応付け結果に応じて、前記練習者音声データにおける前記第3の区間の区間長を、当該第3の区間に対応する模範音声データの前記第1の区間の区間長に一致させるように、当該第3の区間を時間軸方向に圧縮又は伸長するステップと、前記制御手段が、ピッチをシフトされるとともに時間軸方向に圧縮又は伸長された練習者音声データを放音手段に出力するステップとを備えることを特徴とする制御方法。」
「模範音声データを記憶するとともに、該模範音声データにおける時間軸方向の区切位置を示す区切情報を記憶する記憶手段と、制御手段とを備えた練習支援装置の制御方法であって、前記制御手段が、前記記憶手段に記憶された区切情報の示す区切位置で区切られる第1の区間のそれぞれについて、該第1の区間を含む第2の区間を特定するステップと、前記制御手段が、前記第1の区間のそれぞれについて、該第1の区間内の模範音声データと該第1の区間について特定された第2の区間内の練習者音声データとを時間軸方向に対応付けるステップと、前記制御手段が、対応付け結果に応じて、前記第1の区間のそれぞれについて、該第1の区間の模範音声データに対応する前記練習者音声データの区間を第3の区間として特定するステップと、前記制御手段が、対応付け結果に応じて、前記練習者音声データのピッチを、当該ピッチに対応する前記模範音声データのピッチに一致させるようにシフトするステップと、前記制御手段が、対応付け結果に応じて、前記練習者音声データにおける前記第3の区間の区間長を、当該第3の区間に対応する模範音声データの前記第1の区間の区間長に一致させるように、当該第3の区間を時間軸方向に圧縮又は伸長するステップと、前記制御手段が、ピッチをシフトされるとともに時間軸方向に圧縮又は伸長された練習者音声データを放音手段に出力するステップとを備えることを特徴とする制御方法。」
(9)上述の実施形態では、オーバーラップ区間として、基準区間を前後に予め定められた時間長ずつ広げた区間を用いた。オーバーラップ区間の特定方法はこれに限らず、基準区間を含む区間であればどのようなものであってもよい。例えば、区切データ記憶領域14bに記憶された区切データに対応する練習者区切データを記憶部14に予め記憶させておき、CPU11が、区切データに対応する練習者区切データの示す区切位置で区切られる区間をオーバーラップ区間として特定するようにしてもよい。練習者区切データとしては、具体的には、例えば、楽曲の流れにおいて歌唱者がテンポずれを起こし易い箇所や、一呼吸前に飛び出してしまいやすい箇所、間延びしてしまう箇所等、歌唱者の歌唱ずれが生じうると考えられる箇所において、区切位置をずらすためのデータを用いてもよい。この場合、CPU11が、予め記憶された練習者区切データに応じたオーバーラップ区間を用いてマッチング処理を行うことによって、歌唱者の歌唱のテンポずれ等によってタイミングずれが生じた場合であっても、マッチングの処理精度を向上させることができる。
また、CPU11が、練習者音声データからテンポを検出し、検出したテンポに応じてオーバーラップ区間を動的に変更するようにしてもよい。この場合は、CPU11が、区切データ記憶領域14bに記憶された区切データの示す区切位置を、検出したテンポに応じて変更した場合に示される区間をオーバーラップ区間として用いればよい。練習者音声データのテンポの検出としては、例えば、CPU11が、フレーム単位でのマッチング結果を用いて、対応箇所の両者の時間的な差分からテンポを算出するようにしてもよく、また、例えば、CPU11が練習者音声データに対してビート検出処理を行い、検出されたビートからテンポを検出するようにしてもよい。
(10)上述の実施形態において、CPU11が、マッチング処理を行った際に、マッチング結果が著しく悪い場合には、オーバーラップ区間を広げてマッチング処理をやり直すようにしてもよい。すなわち、CPU11が、基準区間内の模範音声データとオーバーラップ区間内の練習者音声データとを時間軸方向に対応付け、対応付け結果が予め定められた条件を満たさない場合に、オーバーラップ区間を拡張し、拡張したオーバーラップ区間内の練習者音声データと基準区間内の模範音声データとの対応付けを行うようにしてもよい。
また、歌唱者がフレーズを飛ばして歌唱してしまう場合等、歌唱位置を誤って歌唱してしまう場合があり得る。このような場合に対応するために、例えば、サビ部分の区間を示す区切データを複数関連付けておき、マッチング結果が著しく悪い場合には、その区間に関連付けられた他の区間の模範音声データを用いてマッチング処理を行うようにしてもよい。すなわち、区切データ記憶領域14bに記憶された区切データの少なくともいずれか一つについて、その区切データと他の区切データとの対応関係を記憶部14に予め記憶しておき、CPU11が、基準区間内の模範音声データとオーバーラップ区間内の練習者音声データとを時間軸方向に対応付け、対応付け結果が予め定められた条件を満たさない場合に、その基準区間に対応する他の基準区間を記憶部14に記憶された対応関係を参照して特定し、特定した他の基準区間の模範音声データを用いてマッチング処理をやり直すようにしてもよい。この態様によれば、歌唱者がフレーズを飛ばして歌唱した場合等であっても、マッチング処理の処理精度を向上させることができる。
1…カラオケ装置、11…CPU、12…ROM、13…RAM、14…記憶部、15…表示部、16…操作部、17…マイクロフォン、18…音声処理部、19…スピーカ。
Claims (7)
- 模範音声データを記憶するとともに、該模範音声データにおける時間軸方向の区切位置を示す区切情報を記憶する記憶手段と、
前記記憶手段に記憶された区切情報の示す区切位置で区切られる第1の区間のそれぞれについて、該第1の区間を含む第2の区間を特定する区間特定手段と、
前記第1の区間のそれぞれについて、該第1の区間内の模範音声データと該第1の区間について前記区間特定手段によって特定された第2の区間内の練習者音声データとを時間軸方向に対応付ける対応付手段と、
前記対応付手段の対応付け結果に応じて、前記第1の区間のそれぞれについて、該第1の区間の模範音声データに対応する前記練習者音声データの区間を第3の区間として特定する対応区間特定手段と、
前記対応付手段の対応付け結果に応じて、前記練習者音声データのピッチを、当該ピッチに対応する前記模範音声データのピッチに一致させるようにシフトするピッチシフト手段と、
前記対応付手段の対応付け結果に応じて、前記練習者音声データにおける前記第3の区間の区間長を、当該第3の区間に対応する模範音声データの前記第1の区間の区間長に一致させるように、当該第3の区間を時間軸方向に圧縮又は伸長するタイムストレッチ手段と、
前記ピッチシフト手段によりピッチをシフトされるとともに前記タイムストレッチ手段により時間軸方向に圧縮又は伸長された練習者音声データを放音手段に出力する出力手段と
を備えることを特徴とする練習支援装置。 - 前記模範音声データの前記第1の区間の区間長と該第1の区間に対応する前記練習者音声データの前記第3の区間の区間長との比を算出する区間長比算出手段と、
前記区間長比算出手段により算出された比に応じて、区間毎の模範音声と練習者音声の対応箇所を所定時間長のフレーム単位で特定する対応箇所特定手段とを備え、
前記ピッチシフト手段は、前記対応箇所特定手段の特定結果に応じて、前記練習者音声データの示す練習者音声のピッチを、当該ピッチに対応する模範音声のピッチに一致させるようにシフトする
ことを特徴とする請求項1に記載の練習支援装置。 - 前記記憶手段は、該記憶手段に記憶された区切情報に対応する第2の区切情報を記憶し、
前記区間特定手段は、前記記憶手段に記憶された区切情報に対応する第2の区切情報の示す区切り位置で区切られる区間を前記第2の区間として特定する
ことを特徴とする請求項1又は2に記載の練習支援装置。 - 前記練習者音声データのテンポを検出するテンポ検出手段
を備え、
前記区間特定手段は、前記記憶手段に記憶された区切情報の示す区切位置を前記テンポ検出手段によって検出されたテンポに応じて変更したときの区間を前記第2の区間として特定する
ことを特徴とする請求項1又は2に記載の練習支援装置。 - 前記対応付手段は、前記第1の区間のそれぞれについて、該第1の区間内の模範音声データと該第1の区間について前記区間特定手段によって特定された第2の区間内の練習者音声データとを時間軸方向に対応付け、該対応付け結果が予め定められた条件を満たさない場合に、該第2の区間を時間軸方向に拡張し、拡張した第2の区間内の練習者音声データと該第1の区間内の模範音声データとの対応付けを行う
ことを特徴とする請求項1乃至4のいずれか1項に記載の練習支援装置。 - 前記記憶手段は、該記憶手段に記憶された区切情報の少なくともいずれか一つについて、該区切情報と他の区切情報との対応関係を記憶し、
前記対応付手段は、前記第1の区間のそれぞれについて、該第1の区間内の模範音声データと該第1の区間について前記区間特定手段によって特定された第2の区間内の練習者音声データとを時間軸方向に対応付け、該対応付手段による対応付け結果が予め定められた条件を満たさない場合に、該第1の区間に対応する他の第1の区間を前記記憶手段に記憶された対応関係を参照して特定し、特定した他の第1の区間内の模範音声データと該第2の区間内の練習者音声データとの対応付けを行う
ことを特徴とする請求項1乃至4のいずれか1項に記載の練習支援装置。 - 前記ピッチシフト手段は、前記対応箇所特定手段の特定結果に応じて、前記模範音声のピッチに対応する練習者音声のピッチが検出されたフレームにおいては、検出されたピッチを当該ピッチに対応する模範音声のピッチに一致させるようにシフトし、一方、ピッチが検出されなかったフレームにおいては、当該フレームに近接するフレームのピッチで当該フレームのピッチを補間する
ことを特徴とする請求項2に記載の練習支援装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008007098A JP2009169103A (ja) | 2008-01-16 | 2008-01-16 | 練習支援装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008007098A JP2009169103A (ja) | 2008-01-16 | 2008-01-16 | 練習支援装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009169103A true JP2009169103A (ja) | 2009-07-30 |
Family
ID=40970338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008007098A Pending JP2009169103A (ja) | 2008-01-16 | 2008-01-16 | 練習支援装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009169103A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010085656A (ja) * | 2008-09-30 | 2010-04-15 | Brother Ind Ltd | 音域特定システム、プログラム |
WO2015020025A1 (ja) * | 2013-08-09 | 2015-02-12 | ヤマハ株式会社 | 音高補正装置及び音高補正方法 |
JP2017040858A (ja) * | 2015-08-21 | 2017-02-23 | ヤマハ株式会社 | アライメント装置およびプログラム |
JP2019505832A (ja) * | 2015-12-10 | 2019-02-28 | ガイディド ナレッジ アイピー ピーティーワイ リミテッド | パフォーマンスモニタリングハードウェアによるユーザパフォーマンスのモニタリングに基づいてスキルトレーニングデータのリアルタイム適応配信を可能にするように構成されるフレームワーク及び方法 |
JP2019136493A (ja) * | 2018-02-12 | 2019-08-22 | 龍飛 莊 | 運動の採点方法、システム及びプログラム |
-
2008
- 2008-01-16 JP JP2008007098A patent/JP2009169103A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010085656A (ja) * | 2008-09-30 | 2010-04-15 | Brother Ind Ltd | 音域特定システム、プログラム |
WO2015020025A1 (ja) * | 2013-08-09 | 2015-02-12 | ヤマハ株式会社 | 音高補正装置及び音高補正方法 |
JP2015034923A (ja) * | 2013-08-09 | 2015-02-19 | ヤマハ株式会社 | 音高補正装置 |
JP2017040858A (ja) * | 2015-08-21 | 2017-02-23 | ヤマハ株式会社 | アライメント装置およびプログラム |
JP2019505832A (ja) * | 2015-12-10 | 2019-02-28 | ガイディド ナレッジ アイピー ピーティーワイ リミテッド | パフォーマンスモニタリングハードウェアによるユーザパフォーマンスのモニタリングに基づいてスキルトレーニングデータのリアルタイム適応配信を可能にするように構成されるフレームワーク及び方法 |
US11074826B2 (en) | 2015-12-10 | 2021-07-27 | Rlt Ip Ltd | Frameworks and methodologies configured to enable real-time adaptive delivery of skills training data based on monitoring of user performance via performance monitoring hardware |
JP2019136493A (ja) * | 2018-02-12 | 2019-08-22 | 龍飛 莊 | 運動の採点方法、システム及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4124247B2 (ja) | 楽曲練習支援装置、制御方法及びプログラム | |
US7579541B2 (en) | Automatic page sequencing and other feedback action based on analysis of audio performance data | |
JP2008026622A (ja) | 評価装置 | |
WO2019058942A1 (ja) | 再生制御方法、再生制御装置およびプログラム | |
JP2007256617A (ja) | 楽曲練習装置および楽曲練習システム | |
JP4479701B2 (ja) | 楽曲練習支援装置、動的時間整合モジュールおよびプログラム | |
JP2007232750A (ja) | カラオケ装置、制御方法およびプログラム | |
JP2007310204A (ja) | 楽曲練習支援装置、制御方法及びプログラム | |
JP2006276693A (ja) | 歌唱評価表示装置およびプログラム | |
JP5151245B2 (ja) | データ再生装置、データ再生方法およびプログラム | |
JP2008225117A (ja) | ピッチ表示制御装置 | |
JP4748568B2 (ja) | 歌唱練習システムおよび歌唱練習システム用プログラム | |
JP2009169103A (ja) | 練習支援装置 | |
JP2007233077A (ja) | 評価装置、制御方法及びプログラム | |
JP4913638B2 (ja) | 評価装置及びカラオケ装置 | |
JP2008039833A (ja) | 音声評価装置 | |
JP4839967B2 (ja) | 指導装置及びプログラム | |
JP2008197270A (ja) | データ再生装置、データ再生方法およびプログラム | |
JP2008040260A (ja) | 楽曲練習支援装置、動的時間整合モジュールおよびプログラム | |
JP2005249844A (ja) | 演奏指示装置および演奏指示プログラム | |
JP4891135B2 (ja) | 評価装置 | |
JP3430814B2 (ja) | カラオケ装置 | |
JP4618704B2 (ja) | コード練習装置 | |
JP4048249B2 (ja) | カラオケ装置 | |
JP4501874B2 (ja) | 楽曲練習装置 |