(57)【要約】【課題】整合性の高い、最善という保証のある演奏上の表現判定を行うことができる音声信号処理装置を提供する。【解決手段】歌唱の複数の表現態様をそれぞれ１つの状態としてモデル化し、音声信号を２５ｍｓ毎に分割した各フレームの特徴パラメータに基づき、１フレームまたは連続する複数フレームが特定の状態の区間である確率を所定の観測区間にわたって算出し、この確率に基づいて所定の観測区間における状態推移の最適経路を決定することにより、前記音声信号の表現態様とその区間を判定する表現判定処理を行う。【選択図】図１
2007004153.tif 000002
【特許請求の範囲】
【請求項１】
楽音を演奏または歌唱した音声信号を入力する音声信号入力部と、
入力された音声信号を所定時間毎のフレームに分割し、各フレーム毎に該音声信号の特徴パラメータを検出する特徴パラメータ検出部と、
演奏または歌唱の複数の表現態様をそれぞれ１つの状態としてモデル化し、前記各フレームの特徴パラメータに基づき、１フレームまたは連続する複数フレームが特定の状態の区間である確率を所定の観測区間にわたって算出し、この確率に基づいて所定の観測区間における状態推移の最適経路を決定することにより、前記音声信号の表現態様とその区間を判定する表現判定処理を行う表現判定部と、
を備えた音声信号処理装置。
【請求項２】
前記表現判定部は、前記表現判定処理として、さらに、表現態様が確定した区間について、前記特徴パラメータに基づいてさらに判定を行い、該表現態様の詳細内容を判定する請求項１に記載の音声信号処理装置。
【請求項３】
前記特徴パラメータ検出部により検出された特徴パラメータを記憶するバッファを備え、
前記表現判定部は、楽曲の途中で、楽曲の一部区間について前記表現判定処理を行い、前記バッファは、前記楽曲の一部区間分の記憶容量を有するものである前記請求項１または請求項２に記載の音声信号処理装置。
【請求項４】
前記表現判定部は、入力された音声信号における前記楽音の遷移点を検出し、この遷移点で前記表現判定処理を実行する請求項３に記載の音声信号処理装置。
【請求項５】
前記表現判定部は、前記最適経路の決定を、Ｖｉｔｅｒｂｉアルゴリズムを用いて行う請求項１乃至請求項４のいずれかに記載の音声信号処理装置。
【請求項６】
楽音を演奏または歌唱した音声信号を入力する音声信号入力手順と、
入力された音声信号を所定時間毎のフレームに分割し、各フレーム毎に該音声信号の特徴パラメータを検出する特徴パラメータ検出手順と、
演奏または歌唱の複数の表現態様をそれぞれ１つの状態としてモデル化し、前記各フレームの特徴パラメータに基づき、１フレームまたは連続する複数フレームが特定の状態の区間である確率を所定の観測区間にわたって算出し、この確率に基づいて所定の観測区間における状態推移の最適経路を決定することにより、前記音声信号の表現態様とその区間を判定する表現判定手順と、
を行うことを特徴とする音声信号処理方法。
【請求項７】
信号処理装置に、
楽音を演奏または歌唱した音声信号を入力する音声信号入力手順と、
入力された音声信号を所定時間毎のフレームに分割し、各フレーム毎に該音声信号の特徴パラメータを検出する特徴パラメータ検出手順と、
演奏または歌唱の複数の表現態様をそれぞれ１つの状態としてモデル化し、前記各フレームの特徴パラメータに基づき、１フレームまたは連続する複数フレームが特定の状態の区間である確率を所定の観測区間にわたって算出し、この確率に基づいて所定の観測区間における状態推移の最適経路を決定することにより、前記音声信号の表現態様とその区間を判定する表現判定手順と、
を実行させることを特徴とする音声信号処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音声信号として入力された演奏や歌唱の表現態様を検出する音声信号処理装置、音声信号処理方法および音声信号処理プログラムに関する。
【背景技術】
【０００２】
歌唱情報や演奏データなどの楽音データと基準メロディとを照合して、音の始まりや持続，終わりを判定する音楽評価装置は種々提案されている（たとえば特許文献１）。
【特許文献１】特開平３−２４２７００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上記従来の装置では、モデルを想定せず、その場その場での楽音がこのような特徴を示すからこのような表現であるという判定をするので、前後関係からして整合しないような判定をすることがある。また、判定結果が何らかの基準に照らして最善のものであるという保証がないという問題点があった。
【０００４】
この発明では、音声認識においてよく行われる手法を採用することで、より整合性の高い、また最善という保証のある判定を行うことができる音声信号処理装置、音声信号処理方法および音声信号処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
請求項１の発明は、楽音を演奏または歌唱した音声信号を入力する音声信号入力部と、入力された音声信号を所定時間毎のフレームに分割し、各フレーム毎に該音声信号の特徴パラメータを検出する特徴パラメータ検出部と、検出した特徴パラメータを記憶するバッファと、演奏または歌唱の複数の表現態様をそれぞれ１つの状態としてモデル化し、前記各フレームの特徴パラメータに基づき、１フレームまたは連続する複数フレームが特定の状態の区間である確率を所定の観測区間にわたって算出し、この確率に基づいて所定の観測区間における状態推移の最適経路を決定することにより、前記音声信号の表現態様とその区間を判定する表現判定処理を行う表現判定部と、を備えたことを特徴とする。
【０００６】
請求項２の発明は、前記表現判定部は、前記表現判定処理として、さらに、表現態様が確定した区間について、前記特徴パラメータに基づいてさらに判定を行い、該表現態様の詳細内容を判定することを特徴とする。
【０００７】
請求項３の発明は、前記表現判定部は、楽曲の途中で、楽曲の一部区間について前記表現判定処理を行い、前記バッファは、前記楽曲の一部区間分の記憶容量を有するものであることを特徴とする。
【０００８】
請求項４の発明は、前記表現判定部は、入力された音声信号における前記楽音の遷移点を検出し、この遷移点で前記表現判定処理を実行することを特徴とする。
【０００９】
請求項５の発明は、前記表現判定部は、前記最適経路の決定を、Ｖｉｔｅｒｂｉアルゴリズムを用いて行うことを特徴とする。
【００１０】
請求項６の発明は、楽音を演奏または歌唱した音声信号を入力する音声信号入力手順と、入力された音声信号を所定時間毎のフレームに分割し、各フレーム毎に該音声信号の特徴パラメータを検出する特徴パラメータ検出手順と、演奏または歌唱の複数の表現態様をそれぞれ１つの状態としてモデル化し、前記各フレームの特徴パラメータに基づき、１フレームまたは連続する複数フレームが特定の状態の区間である確率を所定の観測区間にわたって算出し、この確率に基づいて所定の観測区間における状態推移の最適経路を決定することにより、前記音声信号の表現態様とその区間を判定する表現判定手順と、を行う音声信号処理方法である。
【００１１】
請求項７の発明は、信号処理装置に、楽音を演奏または歌唱した音声信号を入力する音声信号入力手順と、入力された音声信号を所定時間毎のフレームに分割し、各フレーム毎に該音声信号の特徴パラメータを検出する特徴パラメータ検出手順と、演奏または歌唱の複数の表現態様をそれぞれ１つの状態としてモデル化し、前記各フレームの特徴パラメータに基づき、１フレームまたは連続する複数フレームが特定の状態の区間である確率を所定の観測区間にわたって算出し、この確率に基づいて所定の観測区間における状態推移の最適経路を決定することにより、前記音声信号の表現態様とその区間を判定する表現判定手順と、を実行させる音声信号処理プログラムである。
【００１２】
本願の発明では、まず基準となるメロディ情報から、表現推移モデルを生成する。入力楽音から、ピッチ、音量、スペクトル変化度などの特徴を逐次求める。それらの値から所定のルールで表現の推移する確率，推移せずに留まる確率を算出する。この確率に基づき、表現推移モデルにおいて、もっとも確率の高い表現推移経路を選択する。そして表現の推移の位置を確定し、さらに各表現における特徴的な傾向をラベル付けする。とくに，確定した区間の確率計算結果を次々捨てるデータ構造をとることでストリーム処理を実現する。
【発明の効果】
【００１３】
これにより、この発明によれば、前後の状態を観測しつつ、各区間で最も確率の高い状態判定を行うことが可能になる。
【発明を実施するための最良の形態】
【００１４】
≪実施形態の概要≫
図面を参照してこの発明の実施形態である音声信号処理装置を適用したカラオケ装置について説明する。このカラオケ装置では、カラオケ曲を歌唱した歌唱音声信号（楽音信号）を入力し、この楽音信号からビブラートやしゃくりなどの表現態様（表現タイプ）を検出するものである。
【００１５】
この実施形態では、複数の表現態様を的確に検出するために、以下のような手順を用いている。複数の表現態様をそれぞれ１つの状態としてモデル化し、隠れマルコフモデル（ＨＭＭ）である表現推移モデルを構成する。図１は、この表現推移モデルを示す図である。同図に示すように基準メロディデータとして示した音符Ｆを１つの観測区間とした場合には、当該観測区間に対応する表現態様（状態）は７つ検出される(i.,e, silence, attack, sustain, vibrato,release, silence,transition)。しかし、同図では、各音符毎に連続して表現態様が検出されるため、１２の表現態様（状態）が検出されている。つまり、音符ＦとＥの間にあるsilenceとtransitionは、音符ＦとＥで共通に表されている。
【００１６】
図２は、各状態を縦方向に配列し、横方向にフレームを時系列に配列した表現推移モデルにおける状態推移の一例を示す図である。この図では各状態（各表現態様）の持続確率をコスト確率Ｐcost(n) として表し、各状態のコスト確率の積（対数和）が最も大きくなる経路を決定する。
【００１７】
コスト確率は、特定のフレームから後続の特定のフレームまでの各フレームに含まれる特徴パラメータに表現態様判定ルールをあてはめて求める。このコスト確率の計算を、各状態において、開始フレームから終了フレームまでの全てのフレームの組み合わせについて求め、このコスト確率群のなかから最も積が大きくなる経路を選択すればよい。
【００１８】
ただし、この実施形態では、Viterbiアルゴリズムを用いて最適経路を探索するため、開始から終了フレームまでの全てのフレームの組み合わせについてコスト確率を求める必要はない。
【００１９】
≪本発明を適用したカラオケ装置の構成≫
図３は、同カラオケ装置１の構成を概略的に示すブロック図である。カラオケ装置１は、歌唱者の歌唱音声を集音するためのマイクロホン２およびカラオケ演奏の楽曲を放音するためのスピーカ３を接続している。
【００２０】
そして、カラオケ装置１は、カラオケ楽曲を再生するための自動演奏部１１、マイクロホン２から入力された歌唱音声信号をデジタル化するＡＤ（Analog/Digital）コンバータ１２、および、デジタル化された歌唱音声信号（歌唱音声データ）から種々の表現態様を検出するための各種機能部であるＦＦＴ処理部１３、特徴パラメータ取得部１４、特徴パラメータバッファ１５、ルール記憶部１６、リファレンスバッファ１７、表現判定部１８を備えている。
【００２１】
自動演奏部１１は、カラオケ楽曲データを記憶する記憶部や、このカラオケ楽曲データを演奏するシーケンサ，音源等を備えており、ユーザの操作を受け付ける操作部等も有している。自動演奏部１１は、マイクロホン２からＡＤコンバータ１２を介して入力された歌唱者の歌唱音声信号と自動演奏したカラオケ演奏音とを合成してスピーカ３に入力する。
【００２２】
ＡＤコンバータ１２は、接続端子１２ａに接続されたマイク２から、入力されたアナログの歌唱音声信号をデジタルデータに変換してＦＦＴ処理部１３および特徴パラメータ取得部１４に入力する。ＦＦＴ処理部１３では、入力されたサンプリングデータ列である歌唱音声データを２５ｍｓｅｃ毎に分割して高速フーリエ変換（ＦＦＴ）する。なお、高速フーリエ変換時には、有限の時間窓による誤差スペクトルを抑制するためにサンプリングデータ列に窓関数を掛ける。このＦＦＴによって得られた周波数スペクトルは、ＦＦＴ処理部１３から特徴パラメータ取得部１４に入力される。
【００２３】
特徴パラメータ取得部１４は、例えばＣＰＵ等で実現される。特徴パラメータ取得部１４には、ＡＤコンバータ１２から直接時間領域の信号波形である歌唱音声データが入力されるとともに、ＦＦＴ処理部１３から周波数領域の情報である周波数スペクトルが入力される。特徴パラメータ取得部１４は、これら歌唱音声データおよびその周波数スペクトルから、歌唱音声の種々の特徴を表す複数の特徴パラメータを取得する。この特徴パラメータの取得は、上記２５ｍｓのフレームごとに行われる。
【００２４】
図４は、図３に示す特徴パラメータ取得部１４の構成をより詳細に示したブロック図である。特徴パラメータ取得部１４は、ＡＤコンバータ１２から入力された歌唱音声データから時間領域の特徴パラメータを割り出す時間領域情報取得部１４１およびＦＦＴ処理部１３から入力された周波数スペクトルから周波数領域の特徴パラメータを割り出す周波数領域情報取得部１４２を備えている。
【００２５】
時間領域情報取得部１４１は、入力された歌唱音声データをＦＦＴ処理部１３と同期した２５ｍｓｅｃ間隔のフレームに分割し、各フレームごとに時間領域の特徴パラメータを取得する。時間領域情報取得部１４１が取得する特徴パラメータは、以下のとおりである。
【００２６】
ゼロクロスタイミング：Zero crossing
エネルギー：Energy
エネルギ変化度：Delta energy
持続時間（デユレーション）：Duration
ピッチ間隔：Pitch interval
ピッチ傾斜：Pitch slope
ピッチ範囲：Pitch range
ピッチ安定度：Pitch stability
等である。時間領域情報取得部１４１は、上記パラメータの平均および偏差も必要に応じて取得する。なお、英語表記は、各特徴パラメータの図４における表記を示す。
【００２７】
周波数領域情報取得部１４２は、ＦＦＴ処理部１３から入力された２５ｍｓの波形の周波数スペクトルから周波数領域の特徴パラメータを取得する。周波数領域情報取得部１４２が取得する特徴パラメータは、以下のとおりである。
【００２８】
低音領域エネルギ：LF energy
高音領域エネルギ：HF energy
フィルタバンク（４０要素）：Filter bank
ケプストラム（２４要素）：Cepstrum
スペクトル平滑度：Spectral flatness
フィルタバンク変化度：Delta filter bank
ケプストラム変化度：Delta cepstrum
音色変化度：Delta timbre
ピッチ：Pitch
ピッチ変化度：Delta pitch
ビブラート深さ：Vibrato depth
ビブラート速さ：Vibrato rate
倍音周波数：Harmonic frequency
倍音レベル：Harmonic amplitude
倍音位相：Harmonic phase
倍音安定度：Harmonic stability
純音度：Sinusoidality
等である。なお、英語表記は、各特徴パラメータの図４における表記を表す。
【００２９】
上記ピッチは、音声信号の基本周波数から取得され、エネルギーは音声信号の音量の瞬時値から取得される。ビブラートについては、上記エネルギーおよびピッチの時間変動を正弦関数で近似し、当該近似された正弦波の周波数をビブラート速さ(Vibrato rate)として取得し、当該近似された正弦波の最大振幅をビブラート深さ(Vibrato depth)として取得する。
【００３０】
音色変化度は、振幅スペクトルの対数を逆フーリエ変換を行なった値（ケプストラム）に関する、フレーム間の変化量を示す値であり、周波数スペクトルの変化を良く表しているパラメータである。この音色変化度を特徴パラメータとして後述する判定に用いることにより、状態の遷移による音の変化をよりよく検出することかできる。とくに、音色変化度の特徴パラメータにより、他の特徴パラメータで検出が困難な「母音」から「母音」への音の変化をよく検出することができる。
【００３１】
時間領域情報取得部１４１および周波数領域情報取得部１４２で取得された特徴パラメータは、特徴パラメータバッファ１５に入力される。
【００３２】
特徴パラメータバッファ１５は、入力された特徴パラメータに時間情報を付して記憶する。この時間情報は、特徴パラメータの元データであるフレームの時間軸上の位置を表す情報である。特徴パラメータバッファ１５は、最新の数秒分の特徴パラメータのみを記憶し、古い特徴パラメータは破棄する。記憶時間は、後述の表現判定部１８が繰り返し実行する特徴判定処理を1回実行するのに要する時間程度にすればよい。これにより、特徴パラメータバッファ１５は、全曲分の特徴パラメータを記憶する必要がなくなり、メモリ容量を効果的に小さくすることができる。
【００３３】
ルール記憶部１６は、表現判定部１８が行う表現判定処理に用いられる各種ルールを記憶する記憶部である。どのようなルールを記憶しているかは、表現判定部１８の説明において述べる。
【００３４】
リファレンスバッファ１７には、自動演奏部１１からカラオケ曲（楽曲データ）の演奏に同期した基準メロディデータが入力される。この基準メロディデータは、歌唱をガイドするためのガイドメロディデータを用いればよい。リファレンスバッファ１７は、この基準メロディデータを表現判定部１８が繰り返し実行する特徴判定処理を1回実行するのに要する時間程度の量記憶し、古いデータは破棄してゆく。
【００３５】
表現判定部１８は、基準メロディデータの１音ごとにその音に対する表現態様をモデル化したＨＭＭを構成し、各音のなかで表現態様がどのように推移するかを判定する。表現判定部１８は、表現態様の判定が確定するごとに、後述の採点部１９にその判定した表現態様に関する表現態様情報を入力する。表現態様情報は、その表現態様の種類を示す情報と、その表現態様の開始タイミングおよび終了タイミングを含む。
【００３６】
採点部１９には、表現判定部１８から表現態様情報が入力されるとともに、自動演奏部１１から基準メロディデータが入力される。採点部１９は、入力された表現態様情報を基準メロディ上に位置づけることにより、表現態様が歌唱のどの位置で行われたかを判断し、これに基づいて歌唱を採点評価する。採点部１９は、この評価を例えば１００点を満点として採点し、採点結果を表示部２０に入力する。表示部２０は、歌唱者に採点結果を表示する。この採点処理は、短い歌唱区間（たとえば１０秒程度）ごとにリアルタイムに行ってもよく、カラオケ曲が終了したのち、全体として行ってもよい。また、短い歌唱区間ごとにリアルタイムに行いつつ、歌唱終了ののち総合的に評価するようにしてもよい。
【００３７】
≪表現判定処理の説明≫
以下、表現判定部１８で実行される表現判定処理について説明する。この表現判定処理においては、基準メロディデータの1音ごとにその音に含まれるＨＭＭの状態としての表現態様（表現タイプ）に加えて、各表現態様のなかでさらに詳細な特徴を表す表現ラベル（詳細特徴）を決定する。この表現判定部１８が決定する表現態様と各表現態様の表現ラベル（括弧書きで示す）は以下のとおりである。
【００３８】
アタック：Attack
（normal / scoop up / scoop fry）
サスティン：Sustain
（normal, fall down）
ビブラート：Vibrato
（normal）
リリース：Release
（normal,fall down）
トランジション：Transition
（normal, portamento, scoopup/down, staccato）。
【００３９】
表現判定部１８は、基準メロディデータの個々の音について上記表現態様の推移を判定するための表現推移モデルを生成する。上掲の図１は、この表現推移モデルの例を示す図である。
【００４０】
表現判定部１８には、あらかじめ、１つの音の中で表現態様の推移が生じる条件が登録されており、この推移の条件に基づいて図１に示すような表現推移モデルを生成する。この条件は、以下のようである。
【００４１】
たとえば、「無音(silence) のあとの音は常にアタックで始まる。」、「無音以外の状態からアタックへ移行することはない。」、「フレーズの最後の音すなわち無音の直前の音は、常にリリースで終わる。」、「リリースから無音以外の状態へ移行することはない。」などである。また、連続する２音の間で行われる表現態様の推移は２とおりである。１つは「リリース→無音→アタック」、もう１つは、「トランジション」である。なお、１音の途中には、サスティンと、ビブラートという表現を途中にもつことができる。
【００４２】
なお、図１には、２音分の表現推移モデルを記載しているが、表現判定部１８は、各判定サイクルにおいて、そのときの観測区間に属する１音または複数音に対応する表現推移モデルを「無音」状態および「トランジション」状態で連結して生成する。
【００４３】
表現判定部１８は、適当なタイミング毎に表現判定処理を繰り返せばよいが、基準メロディデータにおける音の遷移タイミングに表現判定処理を実行すれば、少なくとも２音にまたがって表現態様の推移を判定することができる。この場合、１回の表現判定処理の観測区間は、前記遷移タイミングの前後１秒ずつの２秒程度とすればよい。
【００４４】
同図において、状態の遷移は、左端の無音からスタートし、発音の開始は、必ずアタックである。そして、矢印で示す状態遷移の方向に遷移する。この推移により、アタックで開始した楽音の発音は；
サスティン、ビブラートの一方または両方を経由してリリースで終了する（通常の歌唱）
アタックののち、直接リリースに遷移して終了する（弾けるような歌唱）
アタック、サスティンまたはビブラートからトランジションを経由して次の楽音につながる（レガート，ポルタメント等）
という複数種類の遷移をとることができる。
【００４５】
表現判定部１８で実行される判定は、１つのフレームまたは複数の連続したフレームについて、そのフレームを含む区間がどの表現態様であるかを求め、および、そのフレームを含む区間がその表現態様の開始タイミングから終了タイミングとして適切か否かの確率（すなわち、区間の長さが適切か否かの確率）を求め、観測区間全体として最も確率の高い表現態様の推移およびその遷移タイミングを決定するという手法で実行される。
【００４６】
したがって、判定ルールもフレーム単位で特徴パラメータを評価するのではなく、連続するフレーム列にどのような特徴があれば（どのような傾向を示していれば）、連続するフレーム列がある表現態様として判定される確率が高くなるかを記述したものになっている。確率値は、０．０〜１．０までの間の実数値で表現される。
【００４７】
判定ルールの設定には、当該判定に必要とされる測定の誤差がしばしばガウス分布を成すことから、ガウス分布
gaussian(mean,var) = exp(-0.5* ((mean - x)/var) ^ 2)
を使うことが合理的である。あるいは、主に計算量の節約の観点から、たとえば折線（近似直線）で判定ルールを表現するようにしても良く、ファジー論理の考え方で判定ルールを表現するように構成しても良い。さらにまた、ガウス分布と折線（近似直線）とファジー論理を区分的に組み合わせるように構成してもよい。
【００４８】
さらに、複数のルールで求められる確率を組み合わせて最終的な確率を求めるようにしてもよい。その方法として、たとえば、各ルールで得られた確率の積をとるようにする。
【００４９】
以下に記載する判定ルールは、人が常識や経験則に基づいて設定したヒューリスティックルールであるが、機械学習によるものであってもよい。
【００５０】
●  無音(Silence)に関する判定ルール
・全フレーム中の有音フレームの割合に応じて確率を下げる。
【００５１】
これは、有音フレームの割合に対して平均値が０であるガウス分布などの確率分布を規定し、入力音声から測定された有音フレームの割合に応じた確率を求めるという意味である。
【００５２】
最初のフレームから１０フレーム（１０フレームなければ全フレームの前半分のフレーム) について有音フレームが３以上だったら確率を下げる。これは、最初のフレームから１０フレームに含まれる有音フレーム数に対して平均値が３であるガウス分布等の確率分布を規定し、有音フレーム数の測定値に基づいて確率を求めるという意味である。
【００５３】
最後のフレームから１０フレーム（１０フレームなければ全フレームの後半分のフレーム）について有音フレームが３以上だったら確率を下げる。
【００５４】
これは、最後のフレームから１０フレームに含まれる有音フレーム数に対して平均値が３であるガウン分布等の確率分布を規定し、有音フレーム数の測定値に基づいて確率を求めるという意味である。
【００５５】
上記３つの確率の乗算値を算出し、その算出結果を無音態様のコスト確率とする。
【００５６】
●  アタックに関する判定ルール
・持続時間
測定対象の有音区間の長さが、あらかじめ設定した閾値より短い場合は、確率は低いとする。
【００５７】
たとえば、上記閾値として６フレームを設定し、有音区間の長さがそれより大きい場合は１．０、小さい場合はgaussian(6, 1.8)として確率を定めるように計算する。
【００５８】
・ピッチ
判定区間の最後のフレームにおいて、ピッチが存在していること。
【００５９】
この場合、確率分布のとる値は、「１」または「０」のいずれかになる。つまり、この条件を満たせば、確率は１となる。
【００６０】
・エネルギー
判定区間の先頭部分で、エネルギーが低いこと。
【００６１】
判定区間の先頭部分で、エネルギー増分が大きいこと。
【００６２】
判定区間の末尾部分で、エネルギー増分が小さいこと。
【００６３】
これらは、エネルギーの値に応じたガウス分布等の確率分布を規定して、測定値に応じた確率を求めるという意味である。各条件を満たすほど、各確率は大きくなる。
【００６４】
なお、先頭部分は先頭の数フレームを意味し、末尾部分は末尾の数フレームを意味する。以下同様の意味である。
【００６５】
・ピッチ変化度
判定区間の末尾部分で、ピッチ変動は小さいこと。
【００６６】
これは、ピッチ変化度の値に応じたガウス分布等の確率分布を規定して、測定値に応じた確率を求めるという意味である。この条件を満たすほど、確率は大きくなる。
【００６７】
・音色変化度
区間の先頭部分で、音色変化度が大きいこと。
【００６８】
これは、音色変化度の値に応じたガウス分布等の確率分布を規定して、測定値に応じた確率を求めるという意味である。この条件を満たすほど、確率は大きくなる。
【００６９】
・ビブラート
判定区間にビブラートが存在しないこと。
【００７０】
この場合、確率分布のとる値は、「１」または「０」のいずれかになる。つまり、この条件を満たせば、確率は１となる。
【００７１】
以上の持続時間、ピッチ、エネルギー、ピッチ変化度、音色変化度、および、ビブラートに関して算出された複数の確率の乗算値を算出し、その算出結果をアタック態様のコスト確率とする。
【００７２】
◆  アタックの表現ラベル付けルール(normal/scoop-fry/scoop-up)
判定区間の先頭部分でピッチ変動が小さい場合は、アタックの表現態様にnormalとラベルをつける。
【００７３】
判定区間の先頭部分でピッチ変動が大きい場合は以下のようにアタックの表現態様にラベルをつける；
判定区間の先頭部分で有音フレームの数が少なければ、アタックの表現態様にSCOOP-FRY(非常に弱い発声からのしゃくり)とラベルをつける。
【００７４】
判定区間の先頭部分で有音フレームの数が多ければ、アタックの表現態様にSCOOP-UP(通常の発声でのしゃくり)とラベルをつける。
【００７５】
●  リリースに関する判定ルール
・持続時間
判定対象の有音区間の長さが、あらかじめ設定した閾値より短い場合は、確率は低いとする。
【００７６】
たとえば、上記閾値として4フレームを設定し、区間の長さがそれより大きい場合は1.0、小さい場合はgaussian(4,1.2)として確率を定める。
【００７７】
また一般に、有音区間が長くなるとリリースであると判定する確率は低い。
【００７８】
これを表現するのに、たとえば、gaussian(0, c)（cは、２秒にあたるフレーム数を与える、たとえば毎秒４０フレーム処理の場合８０)を利用する。
【００７９】
・ピッチ
判定区間のさらに前、すなわち過去２フレームに、ピッチがあること。この場合、確率分布のとる値は、「１」または「０」となる。これに対して、過去２フレームにピッチがない場合は確率は０となる。
【００８０】
・エネルギー
判定区間の末尾部分で、エネルギーが低いこと。
【００８１】
判定区間の末尾部分で、エネルギーが大幅に減少していること。
【００８２】
判定区間の先頭部分で、エネルギーの増大は小さいこと。
【００８３】
判定区間中、エネルギーが増大することは少ないこと。
【００８４】
これらは、エネルギーの値に応じたガウス分布等の確率分布を規定して、測定値に応じた確率を求めるという意味である。この条件を満たすほど、確率は大きくなる。
【００８５】
・ピッチ変化度
判定区間の先頭部分で、ピッチの変化度は小さいこと。
【００８６】
これは、ピッチ変化度の値に応じたガウス分布等の確率分布を規定して、測定値に応じた確率を求めるという意味である。この条件を満たすほど、確率は大きくなる。
【００８７】
・音色変化度
判定区間の末尾部分で、音色変化度が大きいこと。
【００８８】
これは、音色変化度の値に応じたガウス分布等の確率分布を規定して、測定値に応じた確率を求めるという意味である。この条件を満たすほど、確率は大きくなる。
【００８９】
・倍音安定度
判定区間の先頭部分では、倍音安定度は低いこと。
【００９０】
これは、倍音安定度の値に応じたガウス分布等の確率分布を規定して、測定値に応じた確率を求めるという意味である。この条件を満たすほど、確率は大きくなる。
【００９１】
・ビブラート
判定区間にビブラートは少ないこと（ビブラートの速度が遅くおよびビブラートの深さが浅いこと）。
【００９２】
これは、ビブラート（ビブラートの速度およびビブラートの深さ）の値に応じたガウス分布等の確率分布を規定して、測定値に応じた確率を求めるという意味である。この条件を満たすほど、確率は大きくなる。
【００９３】
◆  リリースの表現ラベル付けルール(fall-down)
・リリースの表現ラベルがfall-downかどうか判定するため,あらたにfall-downとラベル付けする確率を計算する。
【００９４】
判定区間の長さが、設定した最短値より短ければ、リリースの表現ラベルをfall-downではなくnormalと確定する。
【００９５】
判定区間の長さが、設定した最短値よりも長い場合つぎの判定に進む。
【００９６】
判定区間の前半部分における最高ピッチと判定区間の後半部分における最低ピッチとの差が小さい場合、リリースの表現ラベルがfall-downである可能性は低いので、fall-downとラベル付けする確率を下げる。
【００９７】
当該区間の先頭（先頭フレーム）から、もっとも末尾側の有音フレームまでについて、ピッチの近似直線をもとめた場合、その傾きが負であればリリースの表現ラベルがfall-downである可能性が高いので、fall-downとラベル付けする確率を上げる。
【００９８】
以上の結果、fall-downとラベル付けする確率が、設定した値より高ければ、当該区間にfall-downとラベルをつけて終わる。一方、fall-downとラベル付けする確率が、設定した値より低いければ、当該区間にnormalとラベルをつけて終わる。
【００９９】
●  トランジションに関する判定ルール
・持続時間
判定対象の有音区間の長さが、設定した最短値より長いこと。
【０１００】
この場合、確率分布のとる値は、「１」または「０」のいずれかになる。つまり、この条件を満たせば、確率は１となる。
【０１０１】
・スタッカート
判定区間の前半半分において無音とみなせる部分が存在すれば、スタッカートとみなす。スタッカートは、(release-silence-attackではなく)トランジションタイプとしてあつかう。
【０１０２】
・ピッチ
判定区間の先頭からさらに過去2つのフレームはピッチありであること。
【０１０３】
判定区間の先頭フレームにピッチがあること。
【０１０４】
判定区間の末尾のフレームはピッチありであること。
【０１０５】
判定区間の末尾からさらに後続の（将来）２つのフレームが参照できる場合には、それらについてピッチがあること。
【０１０６】
これらの場合、確率分布のとる値は、「１」または「０」のいずれかになる。つまり、この条件を満たせば、確率は１となる。
【０１０７】
・エネルギー
判定区間の先頭部分と末尾部分のいずれにも、設定した最小値より大きいエネルギーがあること。
【０１０８】
・ビブラート
判定区間にビブラートは少ないこと（ビブラートの速度が遅くおよびビブラートの深さが浅いこと）。
【０１０９】
これは、ビブラート（ビブラートの速度およびビブラートの深さ）の値に応じたガウス分布等の確率分布を規定して、測定値に応じた確率を求めるという意味である。この条件を満たすほど、確率は大きくなる。
【０１１０】
・倍音安定度
判定区間の長さが設定した最短値より長く、かつ対象区間の先頭部分において安定度が高い場合は、確率を下げる。
【０１１１】
判定区間の長さが設定した最短値より長く、かつ対象区間の末尾部分において安定度が高い場合は、確率を下げる。
【０１１２】
安定度が高い状態が長く続き、かつ区間内にスタッカートがないときは、確率を下げる。
【０１１３】
・音程
判定区間内に存在すると想定される、遷移の前の音と遷移の後の音について、平均ピッチをそれぞれ求めてその幅を算出する。
【０１１４】
その値と、基準メロディ情報での対応する２音の音程とを比べ、両者が近いほどよい。
【０１１５】
・ピッチ変化度
判定区間の両端部分において、ピッチ変化度は低いこと。
【０１１６】
これは、ピッチ変化度の値に応じたガウス分布等の確率分布を規定して、測定値に応じた確率を求めるという意味である。この条件を満たすほど、確率は大きくなる。
【０１１７】
以上の持続時間、ピッチ、エネルギー、ビブラート、倍音安定度、音程およびピッチ変化度に関して算出された複数の確率の乗算値を算出し、その算出結果をトランジション態様のコスト確率とする。
【０１１８】
◆  トランジションのラベル付け計算と最終結果計算
・scoop-up (しゃくりあげ)の判定は次のように確率を別途計算して行なう。
【０１１９】
遷移の後の音の長さが、設定した最小値より短いか、または長くてかつ、遷移の後の音の、始まりの部分に、ピッチが安定している区間が存在すること。
【０１２０】
判定区間全体の平均ピッチと、末尾部分でのピッチとの差が半音以上あること。
【０１２１】
遷移の後の音の、安定するまでの部分には、６０以上ピッチずれがないこと。
【０１２２】
判定区間の、末尾部分は、安定度が低いこと。
【０１２３】
判定区間の末尾部分には、ビブラートが少ないこと。
【０１２４】
各条件を満たすほど、各確率は大きくなる。算出された複数の確率の乗算値を算出し、その算出結果が、設定した最小値より高くなれば、トランジションの表現ラベルにscoop-upとラベル付けする。
【０１２５】
・ポルタメントの判定は次のように確率を別途計算して行なう。
【０１２６】
遷移の前の音の長さが、設定した最小値より長いこと。
【０１２７】
遷移の後の音の部分は安定していること。
【０１２８】
遷移の前の音の部分は、ピッチ変化度が大きいこと。
【０１２９】
遷移の前の音の部分で、ピッチの変動幅が1半音以上あること。
【０１３０】
遷移の前の音の部分で、無声フレームがあったら確率を下げること。
【０１３１】
以上の判定の後、scoop-upやportamentoに該当せず、normalに該当する場合には；
ピッチ変化が、設定した正の値より大きくかつスタッカートが存在していれば、トランジションの表現ラベルにstaccato-normal-upとラベル付けする。
【０１３２】
そうでなければ、トランジションの表現ラベルにnormal-upとラベル付けする。
【０１３３】
ピッチ変化が、設定した負の値より小さくかつスタッカートが存在していれば、トランジションの表現ラベルにstaccato-normal-downとラベル付けする。
【０１３４】
そうでなければ、トランジションの表現ラベルにnormal-downとラベル付けする。
【０１３５】
●  サスティンに関する判定ルール
・持続時間
判定対象となる区間の長さが、あらかじめ設定した閾値より短い場合は、確率は低いとする。
【０１３６】
これは、持続時間の値に応じたガウス分布等の確率分布を規定して、測定値に応じた確率を求めるという意味である。この条件を満たすほど、確率は大きくなる。
【０１３７】
・ピッチ
判定区間の最初のフレームにピッチがあること。
【０１３８】
判定区間の最後のフレームにピッチがあること。
【０１３９】
判定区間の末尾からさらに後続の（将来）２つのフレームがもし参照できるなら、それらについてピッチがあること。
【０１４０】
・ピッチ変化度
対象区間の先頭において、大きなピッチ変化はないこと。
【０１４１】
・エネルギー
設定した最小の値より大きい値であること。
【０１４２】
エネルギーの値が安定していること。
【０１４３】
これは、エネルギーの値に応じたガウス分布等の確率分布を規定して、測定値に応じた確率を求めるという意味である。この条件を満たすほど、確率は大きくなる。
【０１４４】
・音色変化度
音色変化度が、あらかじめ設定した範囲の中にあること。
【０１４５】
これは、音色変化度の値に応じたガウス分布等の確率分布を規定して、測定値に応じた確率を求めるという意味である。この条件を満たすほど、確率は大きくなる。
【０１４６】
・ビブラート
判定区間にビブラートが少ないこと。
【０１４７】
この場合、確率分布のとる値は、「１」または「０」のいずれかになる。つまり、この条件を満たせば、確率は１となる。
【０１４８】
◆  サスティンの表現ラベル付けルール
・ラベルはnormal のみであるが、そのnormalらしさの確率は次のルールで計算して最終結果に反映する。
【０１４９】
ピッチは安定していること。
【０１５０】
判定区間全体でのピッチの近似直線の傾きが０に近いこと。
【０１５１】
●ビブラートに関する判定ルール
・持続時間
判定対象となる有音区間の長さが、あらかじめ設定した閾値より短い場合は、確率は低いとする。
【０１５２】
これは、持続時間の値に応じたガウス分布等の確率分布を規定して、測定値に応じた確率を求めるという意味である。この条件を満たすほど、確率は大きくなる。
【０１５３】
・ピッチ
判定区間の最初のフレームにピッチがあること。
【０１５４】
判定区間の最後のフレームにピッチがあること。
【０１５５】
判定区間の末尾からさらに後続の（将来）２つのフレームが参照できる場合には、それらについてピッチがあること。
【０１５６】
これらの場合、確率分布のとる値は、「１」または「０」のいずれかになる。つまり、この条件を満たせば、確率は１となる。
【０１５７】
・エネルギー
設定した最小の値より大きい値であること。
【０１５８】
これは、エネルギーの値に応じたガウス分布等の確率分布を規定して、測定値に応じた確率を求めるという意味である。この条件を満たすほど、確率は大きくなる。
【０１５９】
・音色変化度
音色の変化度が、あらかじめ設定した範囲の中にあること。
【０１６０】
この場合、確率分布のとる値は、「１」または「０」のいずれかになる。つまり、この条件を満たせば、確率は１となる。
【０１６１】
・ピッチ変化度
判定区間の中でもとめたピッチ変化度の最大、最小について、
最大値が、設定した下限値より大きいこと。
【０１６２】
最小値が、設定した上限値より小さいこと。
【０１６３】
これらの場合、確率分布のとる値は、「１」または「０」のいずれかになる。つまり、この条件を満たせば、確率は１となる。
【０１６４】
・ビブラート
判定区間にビブラートが多いこと。
【０１６５】
これは、ビブラートの値に応じたガウス分布等の確率分布を規定して、測定値に応じた確率を求めるという意味である。この条件を満たすほど、確率は大きくなる。
【０１６６】
以上の持続時間、ピッチ、エネルギー、音色変化度、ピッチ変化度およびビブラートに関して算出された複数の確率の乗算値を算出し、その算出結果をビブラート態様のコスト確率とする。
【０１６７】
なお、確率分布はガウス分布に限られるものではなく、直線近似したガウス分布でもよい。
【０１６８】
次に、図５，図６を参照して表現判定および最適ルート検索の手法について説明する。
【０１６９】
図６は、ラティス(lattice)図上にViterbiアルゴリズムで検索した表現推移の最適ルートを記載した図である。各節点（フレーム）での確率は、演奏の冒頭から始まってその節点に到達する最善の経路を与える。ここで、確率として二通りのものを考える。ひとつは、TransitionProbability (遷移確率) P trans, もうひとつはCost Probability(コスト確率）Pcostである。この実施形態では、計算を容易化するため、全ての節点において全ての分岐に対する遷移確率を全て１とする。したがって、全体の確率は。コスト確率だけで決まることになる。
【０１７０】
遷移確率が全て１であるため、たとえば図２に示した経路の確率は；
P = Pcost(1) Pcost(2) Pcost(3)Pcost(4)
で与えられる。
【０１７１】
コスト確率は、各節点（フレーム）においてそのフレームを終了フレームとして、それ以前の０〜ｎ個のフレーム列である状態が持続する場合の確率として、ｎ個与えられる。コスト確率は、前記すべてのルールの確率の積で与えられる。
【０１７２】
観測区間全体の分析の後、Viterbi行列のバックトラック法を実行して、もっとも確率の高い経路を判定する。
【０１７３】
図５は、無音(silence), アタック(attack),トランジション(transition) , ビブラート(vibrato), リリース(release), 無音(silence)という表現推移の経路が、もっとも確率の高いものとして選ばれている例を示す図である。なお、図６は、上記のうちトランジションまでの様子をViterbi行列で示したものである。
【０１７４】
このようにして、表現態様の経路が確定すると、つぎに、それぞれの表現態様について、もっとも可能性の高いラベルの判定を行なう。この判定も、上述したヒューリスティックルールに基づいて計算される。
【０１７５】
図５の上段に、最終的な表現タイプの開始と終了の正確な時刻位置を示す。そしてアタックはscoop up (しゃくり)、遷移はnormal、ビブラートは regular, リリースは fall down とそれぞれラベルがつけられている。
【０１７６】
上記の表現判定処理は、２秒程度の観測区間について行ってもよいが、曲の終了後、全体にわたって判定してもよい。
【０１７７】
≪リアルタイム化の工夫≫
表現判定処理については、上述したが、これを２秒程度ごとにリアルタイムに、とくに、歌唱音声の（リファレンスとずれた）実際の音の遷移点を検出するスコアマッチングを行いながら表現を判定するためには、さらに以下のような動作をすることが好ましい。
【０１７８】
すなわち、ここでは、「スコアマッチングによってある音の始まり（または終了）が確定するたびに、終了した音に関して、もっとも確率の高い表現推移の経路を確定する。」という処理を行う。
【０１７９】
図７，図８を参照してこの処理手順について説明する。
【０１８０】
図７において、基準メロディの１番目の音の始まった時刻は既知であるが、その持続時間（終了点）は未確定であり、１番目の音区間は未確定である。ただし、この音における最初の表現態様のみアタック(Attack)であると判定することができる。これは、フレーズの最初の音すなわち無音の直後の音であるためである。
【０１８１】
図８は、スコアマッチングの結果、基準メロディにおける２番目の音の始まりを確定した時点の状況を示している。この状態で、１番目の音の範囲内で、最も確率の高い経路を決定する。その結果、アタック(attack:scoop-up),ビブラート(vibrato:normal), トランジション(transition)という経路（表現態様）が確定する。
【０１８２】
ただし、Transitionの持続時間とラベルはまだ確定できない。これは、さらに次の音の中で終了点が決定されるからである。よって、スコアマッチングによって次の音の持続時間が確定してから、transitionの持続時間（終了点）とラベルの判定を行う。
【０１８３】
このように、２秒程度の観測区間内で全ての区間の表現態様を確定するのではなく、スコアマッチングによって実際の持続時間が確定した音について順次、表現態様を判定してゆくことにより、より高い精度でリアルタイムな表現態様の判定を行うことができる。
【０１８４】
以上詳細に説明したように、本実施の形態によれば、まず基準となるメロディ情報から、表現推移モデルを生成する。入力楽音から、ピッチ，音量，スペクトル変化度などの特徴パラメータを逐次検出する。それらの値から所定のルールで表現の推移する確率，推移せずに留まる確率を算出する。この確率に基づき、表現推移モデルにおいて、最も確率の高い表現推移経路を選択する。そして表現の推移の位置（区間の長さ）を確定し、さらに各表現における特徴的な傾向をラベル付けする。これにより、入力された楽音信号から歌唱または演奏の表現態様および表現推移をより正確に検出することができる。これを、たとえばカラオケ装置にすれば、歌唱の採点をより正確に行うことができる。
【０１８５】
また、確定した区間の確率計算結果を次々捨てるデータ構造をとることで、ストリーム処理を実現する。これにより、入力された音声信号から歌唱または演奏の表現態様および表現推移をより正確にリアルタイムで検出することができる。
【０１８６】
なお、この実施形態は、音声信号処理装置をカラオケ装置１に適用した例を示したが、本発明の適用はこれに限定されない。入力された演奏音声の表現を判定する装置であればどのような装置に適用することも可能である。また、入力する音声は歌唱に限定されず、楽器の演奏音であってもよい。
【図面の簡単な説明】
【０１８７】
【図１】本発明による表現判定処理に用いる基準メロディデータと表現推移モデルとを示す図である。
【図２】各状態を縦方向に配列し、横方向にフレームを時系列に配列した表現推移モデルにおける状態推移の一例を示す図である。
【図３】音声信号処理装置としてのカラオケ装置の構成を概略的に示すブロック図である。
【図４】同カラオケ装置の特徴パラメータ取得部の構成をより詳細に示すブロック図である。
【図５】同カラオケ装置が実行する表現判定処理を表現推移モデルで説明した図である。
【図６】前記表現判定処理を説明する図である。
【図７】前記表現判定処理をリアルタイムで行う場合の処理を説明する図である。
【図８】前記表現判定処理をリアルタイムで行う場合の処理を説明する図である。
【符号の説明】
【０１８８】
１−カラオケ装置
１２ａ−接続端子
１３−ＦＦＴ処理部
１４−特徴パラメータ取得部
１５−特徴パラメータバッファ
１７−リファレンスバッファ
１８−表現判定部
【図１】
2007004153.tif 000003
【図２】
2007004153.tif 000004
【図３】
2007004153.tif 000005
【図４】
2007004153.tif 000006
【図５】
2007004153.tif 000007
【図６】
2007004153.tif 000008
【図７】
2007004153.tif 000009
【図８】
2007004153.tif 000010